• 生成树协议(Spanning Tree Protocol,STP)

    • STP

      • 为什么需要生成树

        • 冗余/备份是必须的,环路不可避免
      • 环路危害

        • 广播风暴
        • MAC地址学习错误/震荡/漂移 无法通信/重复数据帧接收
      • 什么是生成树STP

        • 在二层网路中,有选择性地阻塞环路中的某个接口来消除二层环路,·形成树状拓扑,避免了环路,同时还具备链路备份的功能, 当活动链路发生故障时,STP可以激活冗余链路,恢复网络的连通性。
      • 生成树类型

        • STP 广义上指所有生成树,狭义上指的是生成树的802.1D协议(STP)
        • STP 802.1D
        • RSTP 802.1W
        • MSTP 802.1S
        • PVST+ —>STP的改进 思科私有
        • Rapid PVST+ —>RSTP的改进 思科私有
      • BPDU Bridge Protocol Data Unit 桥协议数据单元

        • Root ID(根桥ID)

          • 由根网桥的优先级和48位的mac地址组成,优先级可人工配置,取值范围0-65535,缺省值为32768,优先级为4096的倍数,所以取值范围为0-61440,数值越小越优先
          • 交换机刚启动的时候Root ID=Bridge ID
        • Root Path Cost(RPC)根路径开销

          • 从发送网桥到根网桥的路径开销,即最短链路上所有开销的代数和
          • 端口的开销值和端口的带宽有关,带宽越高,花销越小
          • stp cost cost命令取决于路径开销计算方法:
          • 1. 使用华为的私有计算方法时, cost取值范围是1~200000。
          • 2. 使用IEEE 802.1d标准方法时, cost取值范围是1~65535。
          • 3. 使用IEEE 802.1t标准方法时, cost取值范围是1~200000000。
          • 华为设备默认使用IEEE 802.1t标准来计算路径开销

            • 10M—2000000
            • 100M-200000
            • 1000M-20000
            • 10G-2000
          • 思科默认 802.1d标准

            • 10M—100
            • 100M-19
            • 1000M-4
            • 10G-2
          • stp pathcost-standard { dot1d-1998 | dot1t | legacy }命令用来配置指定交换机上路径开销值的标准。
        • Bridge ID(BID)桥ID

          • 由网桥的优先级和48位的mac地址组成,优先级可人工配置,取值范围0-65535,缺省值为32768,优先级为4096的倍数,数值越小越优先
        • Port ID(PID)端口ID
        • 生成树的选举过程就是比较BPDU的优劣过程,数值越小越优
        • BPDU比较原则

          • 1、Root ID最小的为根桥
          • 2、如果Root ID一致,比较Root Path cost,值越小表示到根桥距离越近,根路径花销越小越优
          • 3、如果RID/Path Cost相同,比较Bridge ID,越小越优
          • 4、如果RID/Path Cost/Bridge ID相同,那么Port ID越小越优
        • BPDU在STP模式的类型

          • 配置BPDU 网络正常运行的时候
          • TCN 拓扑变化的时候发送BPDU
      • BPDU报文

        • BPDU字段包含的信息:
          Protocol ID   协议ID
          Version    STP版本(三种)
          STP(802.1D)传统生成树 值为0 RSTP(802.1W)快速生成树 值为2 MSTP(802.1S)多生成树 值为3
          Message Type 消息类型(常见的两种)
          配置BPDU:负责建立,维护STP拓扑 TCN BPDU:传达拓扑变更      
          Root ID    根桥ID
          Cost of Path  路径开销
          Bridge ID   桥ID
          Port ID     端口ID
          Message Age 当前消息年龄(STP每经过一台交换机,该字段+1,同步不同位置的设备根桥超时)
          Max Age 最大消息年龄(超过则代表根桥故障)
          Hello Time   问候时间(根桥通过不断发送STP维持自己的地位,Hello time 是发送的间隔时间)
          Forward Delay 端口从listening -> learning 或 learning -> forwarding 的转态需要时间
      • 生成树计算原理/选举原则

        • 根桥(Root) Root ID最小
        • 根端口RP(Root port)

          • 每个非根桥上选举一个根端口
          • 非根交换机去往根桥路径最优的端口
          • 一个运行生成树协议的交换机上最多只有一个根端口,根桥没有根端口
          • 比较交换机上所有接口收到的BPDU,RPC(小)—>BID(小)—>PID(小)
        • 指定端口DP(Design port)

          • 每个交换网段选举一个指定端口,每个网段有且只能有一个指定端口
          • 一般情况下, 根桥的每个端口都是指定端口。
          • 指定端口是交换机向所连网段转发配置BPDU的端口
          • 发出去的BPDU和对端发送的BPDU进行比较,发出去的优,表示此接口为DP,否则对端DP
        • 预备端口/阻塞端口AP(Alternater port

          • 一个端口既不是指定端口也不是根端口, 则此端口为预备端口。 预备端口将被阻塞。
      • 生成树端口角色.

        • 根端口 Root port :RP
        • 指定端口 designated port DP
        • 预备端口 Alternate / Blocking port
      • STP端口状态

        • 1.Disabled:禁用状态,不参与生成树计算,不发送任何报文,端口处于down状态
        • 2.Blocking(Discarding):阻塞状态,参与生成树计算,不接收或转发数据,接收但不发送BPDU,不进行MAC地址学习
        • 3.Listening:监听状态,不接收或转发数据,接收并发送BPDU,不进行MAC地址学习(在选举根桥、根端口、指定端口)
        • 4.Learning:学习状态,不接收或转发数据,接收并发送BPDU,开始MAC地址学习,在learning状态学习MAC,可以避免forwarding状态的时候由于未知单播而泛洪。
        • 5.Forwarding:接收并转发数据,接收并发送BPDU,进行MAC地址学习
        • 由于在网络中网络拓扑消息的传播需要一定时间的延时,为了避免在网络中产生临时环路,生成树协议规定不能从Blocking状态直接过渡到Forwarding,人工引入了两个状态 Listening、Learning
        • 从Listening状态到learning状态需要一个Forward delay=15s
        • 从Learning状态到Forwarding状态也需要一个Forward delay=15s
      • BPDU的定时器

        • BPDU报文中后四个值时定时器的值
        • 1、Hello Timer:根桥生成BPDU配置消息的周期,默认值为2秒
        • 2、Forward Delay:配置消息传播到全网的最大时延,默认为15秒
        • 3、Message Age:从根桥生成BPDU配置消息开始,到当前时间为止配置消息的存活时间
        • 4、Max Message Age:BPDU配置消息存活的最大时间,默认时间为20秒
      • STP拓扑变更收敛时间

        • 当拓扑发生变更以后,网络恢复到正常转发状态需要的时间 30-50s
        • STP:当网络拓扑发生变化时,下游交换机不断发送TCN BPDU报文给上游交换机, 上游设备接收到
        • TCN BPDU报文后发送TCA报文 ,表示确认,下游停止发送TCN。直到根交换机接收到TCN BPDU报文
        • 向全网发送TC BPDU ,收到TC BPDU的交换机如果MAC老化时间大于15s,将MAC地址表老化时间设为15s 。(华为收到TC 置位的BPDU直接删除MAC地址表)
        • 配置命令

          • 华为

            • stp enable//生成树开启,默认生成树已经开启
            • stp mode stp/RSTP/MSTP //修改生成树的模式,默认MSTP
            • stp priority X //修改根桥优先级,4096的倍数
            • [SW1-GigabitEthernet0/0/1]stp cost X
            • [SW1-GigabitEthernet0/0/1]stp port priority X //16的倍数
          • 思科配置

            • 默认生成树开启,模式是PVST+(per vlan STP)
            • spanning mode X ///修改生成树的模式
            • spanning-tree vlan 10 priority //修改根桥的优先级,4096的倍数
            • spanning-tree vlan 10 cost X//修改花销值
            • spanning-tree vlan 10 port-priority X//修改接口的优先级,16的倍数
        • 查看命令

          • 华为

            • display bridge mac-address //查看交换机MAC
            • display stp brief//查看生成树角色,状态
            • dis stp //查看生成树详细信息
          • 思科

            • show spanning brief
            • show mac-add //查看交换机MAC
    • RSTP

      • STP不足 收敛很慢:30s-50s
      • RSTP改进

        • 端口角色

          • 预备端口AP:根端口的备份
          • 备份端口BP:DP口的备份
          • 边缘端口:交换机下接PC机
        • 端口状态 变成三种 discarding、Learning、forwarding
        • P/A机制

          • Proposal/Agreement机制,其目的是使一个指定端口尽快进入Forwarding状态。
          • 指定端口通过与相连的网桥进行一次握手,快速进入转发状态。
          • P/A机制要求两台交换设备之间链路必须是点对点的全双工模式。
        • 拓扑变更优化

          • STP:当网络拓扑发生变化时,下游交换机不断发送TCN BPDU报文给上游交换机, 上游设备接收到TCN BPDU报文后发送TCA报文 ,表示确认,下游停止发送TCN。直到根交换机接收到TCN BPDU报文向全网发送TC BPDU ,收到TC BPDU的交换机如果MAC老化时间大于15s,将MAC地址表老化时间设为15s 。(华为收到TC 置位的BPDU直接删除MAC地址表)
          • TCN BPDU报文:用来向上游设备乃至根桥通知拓扑变化。上游设备指定接口处理此报文
          • TCA:是上游设备用来告知下游设备已经知道拓扑变化,通知下游设备停止发送TCN BPDU报文。
          • TC标记的配置BPDU报文主要是上游设备用来告知下游设备拓扑发生变化,请下游设备直接删除桥MAC地址表项,从而达到快速收敛的目的。
          • RSTP:当拓扑发生变更,变更点都可以发送TC报文,收到TC报文MAC地址清空。STP是Root才发TC报文。
      • RSTP保护机制

        • BPDU保护(思科:BPDU Guard)

          • 华为配置

            • system-view
            • stp bpdu-protection
            • Error-down auto-recoverycause bpdu-protection interval 30 //error-down接口
            • 自动恢复,否则就是手动undo shutdown
          • 思科配置

            • (1)全局(作用范围是PortFast的端口,就是在配置了PortFast后再在全局下配置BPDU Guard才会生效):

              • switch(config)#spanning-tree portfast bpduguard default
            • (2)接口下启动(无需在这个接口下配置PortFast),则无论是正常端口还是portfast端口,到BPDU后都会变成errodisable。接口下配置:

              • Switch(config-if)#spanning-tree bpduguard ?
              • disable Disable BPDU guard for this interface
              • enable Enable BPDU guard for this interface
            • errdisable recovery cause all
            • errdisable recovery interval 30errordisable接口自动恢复,否则就是手动
            • shutdown/no shutdown
        • BPDU Filter

          • 应用场景
            对于运行生成树协议的网络,当通过命令stp edged-port enable将当前端口配置成边
            缘端口,该端口便不再参与生成树计算,从而帮助加快网络拓扑的收敛时间以及加强
            网络的稳定性。可是端口仍然会发送BPDU报文,这可能导致BPDU报文发送到其他网
            络,引起其他网络产生震荡。
            通过在该端口上配置命令stp bpdu-filter enable便可解决此问题。在网络边缘设备
            上配置该命令,使边缘端口不处理、不发送BPDU报文,该端口即为BPDU filter端口。
          • 华为

            • 接口配置

              • 接口下启用BPDU Filter特性,此接口会忽略收到的BPDU数据报文,也不会发送任何BPDU数据报文。(但是抓包的时候可以收到,即设备不会处理此数据报文))
              • [Huawei-GigabitEthernet0/0/1]stp bpdu-filter enable
            • 全局配置

              • 全局启用BPDU Filter特性,作用于配置了edged port的接口,如果此接口收到了BPDU,那么此edged port将处于error-down
              • [Huawei]stp bpdu-filter default
          • 思科

            • 接口配置

              • 接口下启用BPDU Filter特性,此接口会忽略收到的BPDU数据报文,也不会发送任何BPDU数据报文。
              • Switch(config-if)#spanning-tree bpdufiter enable
            • 全局配置

              • 全局启用BPDU Filter特性,作用于配置了Portfast但没有单独配置BPDU Filter特性的接口,如果此接口收到了BPDU,那么它们不在处于Portfast状态,BPDU Filter特性也会被禁用,接口恢复生成树计算。
              • Switch(config)#spanning-tree portfast bpdufiter default
          • 若同时配置了BPDU Guard和BPDU Filter,则BPDU Filter生效
        • 根桥保护

          • 华为配置

            • Interface G0/0/0 //指定端口配置
            • stp root-protection
          • 思科配置

            • Switch(config-if)#spanning-tree guard root
        • TC-BPDU泛洪保护

          • System-view
          • stp tc-protection
          • stp tc-protection threshold 6
      • RSTP配置

        • stp enable
          Stp mode rstp //设置生成树模式,思科spanning-tree mode rstp
          stp bpdu-protection
          interface GigabitEthernet0/0/3
          stp edged-port enable
          interface GigabitEthernet0/0/4
          stp edged-port enable //设置边缘端口,思科spanning-tree portfast
        • stp root primary //设置设备成为主根
        • 思科查看:

          • show spanning summary
          • show spanning ?
    • MSTP

      • RSTP不足 无法分流,所有vlan一棵树
      • 相同MST域的条件

        • 都启动了MSTP。
        • 具有相同的域名。
        • 具有相同的VLAN到生成树实例映射配置。
        • 具有相同的MSTP修订级别配置
      • 配置

        • 华为:
          stp enable // 默认开启
          stp mode mstp //默认生成树模式
          stp region-configuration
          region-name hcip
          instance 10 vlan 10
          instance 20 vlan 20
          active region-configuration
          stp instance 10 priority 0
          stp instance 20 priority 4096
        • 思科:
          config)#spanning-tree mode mst //启用MST,默认为PVST+
          (config)#spanning-tree mst configuration //进入MST配置模式
          (config-mst)#name ccnp //实例Name
          (config-mst)#instance 10 vlan 10
          (config-mst)#instance 20 vlan 20
          (config)#spanning-tree mst 10 port-priority 0
          或者
          (config)#spanning-tree mst 10 root primary
          (config)#spanning-tree mst 20 root secondary

          stp instance 1 cost 20000 #设置实例开销

三、生成树协议(Spanning Tree Protocol,STP)相关推荐

  1. Spanning Tree Protocol介绍

    Spanning Tree Protocol(STP)主要是用在网桥上,用来避免网络回路,并制造冗余连接(也就是保证网络的可靠性). 这里只是一个大概的介绍,具体的还是要去看IEEE 的 802.1D ...

  2. 计算机网络之STP(Spanning Tree Protocol)生成树协议详解及其实验配置

    目录 1.STP概念 1.1  STP选举过程 1.1.1 根桥和根端口的选举 1.1.2 端口角色的选举 2.STP端口状态解释及转换 2.1 STP的五种端口状态 2.2 STP过程中的两种常见问 ...

  3. stp:spanning tree protocol 生成树基本原理

    作用:通过阻塞特定的接口实现冗余无环的网络. 注意:华为交换机默认开机就执行stp 协议. [ ]undo stp enable 关闭stp TTL:生存周期 三层防环 每过一个三层设备该数值会减1 ...

  4. 1.2生成树协议STP

    在一个网络项目中,不同的场景客户对网络有不同的要求.当我们需要一个网络变得可靠,减少故障影响的一个重要的方法就是"冗余".当网络出现单点故障时,冗余设备可以替代主设备的数据传输工作 ...

  5. STP协议(生成树协议)

    1.STP协议概述 生成树协议(spanning tree protocol),是一种工作在OSI网络模型中第二层(数据链路层)的通信协议,是一种由交换机运行的,基本应用是防止交换机冗余链路产生的环路 ...

  6. STP生成树协议:802.1D、PVST、PVST+、RSTP、MSTP;

    索引 STP802.1D 端口角色: 端口状态: 802.1D收敛时间: STP生成树选举: 生成树配置: 802.1D生成树的缺点 PVST -- Cisco私有生成树协议 PVST+ :在PVST ...

  7. 生成树协议三姐妹:STP、RSTP 和 MSTP,附思科和华为双厂商命令示例

    在计算机网络中,为了保证网络拓扑结构的稳定性和可靠性,需要采用一些协议进行网络的管理和控制.其中,STP.RSTP 和 MSTP 是三种常用的网络管理协议.本文将分别介绍这三种协议,并且使用华为.思科 ...

  8. 生成树协议(STP)原理与配置PVST+实现负载均衡

    交换网络环路的产生 在实际网络环境中,物理环路可以提高网络的可靠性,当一条线路断掉时,另一条线路仍然可以传输数据.但是,当交换机收到广播请求时,交换机就根据转发原理(交换机从除收到该广播帧之外的所有端 ...

  9. Cisco STP生成树协议

    BPDU bridge protocol data units 802.1d STP     802.1w RSTP 802.1s    MSTP STP spanning-tree protocol ...

  10. STP生成树协议(超详细小白也能看懂)

    目录 一.为什么要用STP 二.STP的作用 三.STP操作 四.STP名词解释: 五.生成树选举办法 六.生成树选举因素 七.根桥选举: 八.根端口的选举 九.端口状态 十.定时器 十一.故障恢复时 ...

最新文章

  1. JVM运行时数据区---堆(堆内存)
  2. php基础标签大全,HTML基础之HTML常用标签
  3. 介绍一种在ABAP内核态进行内表高效拷贝的方法,和对应的Java和JavaScript版本的伪实现
  4. iPhone将NSString转换编码集为gb2312或者gbk的方法
  5. python 数字转化excel行列_Python实现excel的列名称转数字、26进制(A-Z)与10进制互相转换...
  6. 原有磁盘上创建lvm_Centos7创建LVM磁盘管理
  7. 怪物猎人物语稀有9星_怪物猎人崛起武器怎么锻造 武器锻造机制介绍
  8. HTML-CSS常用元素居中对齐方法
  9. excel2007/2010中独立显示窗体的方式
  10. python兼职能挣多少钱-副业赚钱干货【4】Python程序员变现之路
  11. LR快捷键 之 图库模式
  12. hive优化——严格模式
  13. solid works定义样条曲线
  14. windows服务器系统发展史,从1.0到Win10:Windows操作系统进化史
  15. 看完这篇操作系统,和面试官扯皮就没问题了
  16. 哔哩哔哩php开发工作怎么样,[上海] [哔哩哔哩]-努力寻求[PHP /C++/Andro/iOS/前端开发工程师]-会是你吗?...
  17. 网络工程师的前景如何?未来是怎么样的?
  18. idea配置tomcat日志中文乱码,且修改后idea正常,但cmd窗口任然中文乱码解决方法
  19. Html定义网页背景色
  20. 腾讯地图实现地图找房功能

热门文章

  1. 贪心法LeetCode算法例子【总】
  2. matlab 拟合优度检验,卡方拟合优度检验在教学中的应用及Matlab实现_刘泽显
  3. VB学习记录——数组
  4. 大数据运维架构师培训(4):Oozie,Flume,Sqoop,Azkaban,Ranger
  5. 分析力学-清华大学基科班课件
  6. 设计师的配色理论:你真懂颜色了吗?
  7. 利用VScode 编写C51/stm32代码
  8. GauGAN (SPADE) 水记 (seg2img)
  9. 新浪微博、中关村、蘑菇街、微信、国美、苏宁等各大网站登录js解密例子!
  10. current,present,recent 都是现在的,都是形容词