数通之STP、RSTP、MSTP

学习 数通

STP技术

  1. STP是用于在局域网中消除数据链路层物理环路的协议。
  2. 通过在桥之间交换BPDU,来保证设备完成生成树的计算过程

作用

  1. 通过阻断冗余链路来消除桥接网络中可能存在的路径环路
  2. 当前路径发生故障时,激活冗余备份链路,恢复网络连通性

原理

  • 在一组运STP的交换机中选出一个根网桥
  • 每个非根交换机选择一个根端口
  • 每个交换网段选择一个除根端口之外的转发端口—指定端口
  • 堵塞其他(非根非指定端口即阻塞端口)端口

BPDU参数

  1. 网桥ID由交换机的优先级与MAC地址组成
  2. 端口ID由发送端口的优先级与端口号组成。
  3. 路径开销衡量桥与桥之间路径的“优劣”,端口类型和带宽决定了该端口的路径开销。
  4. 根交换机的根路径开销为零。其他交换机收到BPDU后,把报文中的根路径开销加上接收端口路径开销,得到该端口的“根路径开销”,根路径开销反映了某端口到根交换机的“远近”
    2025-06-24T10:29:03.png

    BPDU的比较

  • 先比较根网桥ID,越小越好
  • 如果根网桥ID相等,根路径开销越小越好
  • 如果根网桥ID和根路径开销相等,发送网桥ID越小越好
  • 如果根网桥ID、根路径开销和发送网桥ID相等,发送端口ID越小越好

BPDU在网络中的中继过程

  • 网络起始,STP启动,交换机都认为自己是根网桥,发送BPDU2025-06-24T10:28:37.png
  • 网络稳定,根网桥发送BPDU,其他交换机中继根网桥的BPDU2025-06-24T10:28:24.png

    STP计时器

    2025-06-24T10:28:00.png

    STP端口判定

  • 选举根网桥,比较网桥ID,根网桥上的所有端口都是指定端口。
  • 选择根端口,依次比较根路径开销、发送方网桥ID、发送方端口ID。
  • 选择指定端口,依次比较根路径开销、发送方网桥ID、发送方端口ID.

STP端口状态

端口状态描 述
Disable端口没有启用此状态下端口不转发数据帧,不学习MAC地址表,不参与生成树计算。
Blocking阻塞状态此状态下端口不转发数据帧,不学习MAC地址表,此状态下端口接收并处理BPDU,但是不向外发送BPDU.
Listening侦听状态此状态下端口不转发数据帧,不学习MAC地址表,只参与生成树计算,接收并发送BPDU
Learning学习状态此状态下端口不转发数据帧,但是学习MAC地址表,参与计算生成树,接收并发送BPDU
Forwarding转发状态此状态下端口正常转发数据帧,学习MAC地址表,参与计算生成树,接收并发送BPDU

STP基本配置

  • Cisco:

    • Cisco交换机默认开启STP,只需配置根网桥优先级和边缘端口
    • 根网桥:spanning-tree vlan 1-4094 priority 0
    • 备份根网桥 :spanning-tree vlan 1-4094 priority 4096
    • interface xxx; spanning-tree portfast
  • 华为/华三

    • 华三交换机默认关闭STP,需要手工为每台交换机开启STP。开启STP后,默认协议为MSTP
    • 根网桥:stp priority 0;stp enable
    • 备份根网桥:stp priority 4096;stp enable
    • 接入层交换机:stp enable;interface xxx;stp edged-port enable

RSTP技术

STP技术的缺陷
STP技术在端口的状态转换需要消耗大量的时间,由Listening状态转换到Learning状态需要15s,再由Learning状态转换到Forwarding状态又需要15s。大量时间的消耗对于需要即时响应的如:电商,证券交易,带来的问题是毁灭性的。

概念

  1. 由STP发展而来,实现思想基本一致,且可以兼容STP运行
  2. 相对于STP来说,减少了端口状态(Discarding、Leaning、Forwarding),增加了端口角色(根端口、指定端口、Backup端口、边缘端口),BPDU格式及发送方式不同,且当网络拓扑发生变化时,能够更快的恢复。

RSTP中的BPDU

  1. 网桥自行从指定端口发送RST BPDU,不需要等待来自根桥的RST BPDU。发送周期为2sHello Time
  2. RST BPDU老化时间为3个连续的Hello Time时长
  3. 如果收到的BPDU优于本地存储的信息,接收端口会更新其存储的最佳信息。
  4. 如果收到的BPDU劣于或等于本地存储的信息,接收端口会忽略它。
  5. 阻塞状态的端口可以立即对收到的低优先级的RST BPDU做出回应

快速收敛原理

  1. 边缘端口机制:边缘端口可直接进入转发状态;边缘端口收到BPDU后,会转变为非边缘端口
  2. 指定端口快速切换机制:指定端口与相连的网桥进行一次握手,就能快速进入转发状态。

    握手请求报文:Proposal

    握手请求报文:Agreement

    P/A协商的过程:

    • SWA向SWB发送p置位的BPDU包。
    • 同步变量(阻塞除边缘端口以外的其他端口,防止出现环路)。
    • SWB向SWA发送A置位的BPDU包。
    • SWA收到A置位的BPDU包后,端口立即进入Forwarding状态
  3. 根端口快速切换机制:当根端口与指定端口down后,备用根端口会快速切换为根端口进入转发状态

拓扑改变处理机制

  1. RSTP拓扑改变触发条件只有非边缘端口转变为Forwarding状态时,才会产生拓扑改变
  2. 拓扑改变后在两倍Hello时间内向所有其它指定端口和根端口发送TC置位 BPDU报文,清除除接收到TC报文的端口之外的所有指定端口和根端口学习 的MAC地址

与STP的兼容性

  • RSTP的端口连续三次接收到版本为STP的BPDU,则端口协议将切换到STP协议
  • 运行STP的网桥移除后,由RSTP模式切换到STP模式的端口仍 将运行在STP模式

基本配置

  1. RSTP启动命令

    spanning-tree mode rapid-pvst #Cisco/ruijie
    sstp mode rstp #huawei/H3C
  2. 配置根桥/备份根桥

    主根桥:
    spanning-tree vlan <ID> root primary #Cisco/ruijie
    stp root primary #Huawei/H3C
    
    备份根桥:
    spanning-tree vlan <ID> root secondary  #Cisco/ruijie
    stp root secondary  #Huawei/H3C
  3. 手动设置桥优先级

    spanning-tree vlan <ID> priority <0-61440>  #Cisco/ruijie
    stp priority <0-61440>  #Huawei/H3C
  4. 边缘端口配置

    spanning-tree portfast #Cisco/ruijie
    stp edged-port enable #Huawei/H3C
  5. BPDU保护

    spanning-tree bpduguard enable #Cisco/ruijie
    stp bpdu-protectiong  #Huawei
    stp bpdu-protection enable #H3C

MSTP技术

STP技术和RSTP技术的缺陷
所有vlan共享一颗生成树,无法实现不同的vlan在多条Trunk链路上的负载均衡
  1. MSTP概念:通过构建多个逻辑生成树实例,实现不同VLAN流量在不同物理路径上的负载分担
  2. 端口角色中多加了一个Master端口是IST根桥在CIST上的根端口,其他端口角色与RSTP相同
优先级向量
CIST优先级向量(最小最优)
  1. 首先比较CIST总根ID
  2. 其次比较CIST外部路径开销
  3. 再次比较CIST域根ID
  4. 再其次比较CIST内部路径开销
  5. 再其次比较CIST指定桥ID
  6. 再其次比较CIST指定端口ID
  7. 最后比较CIST接收端口ID
MSTI优先级向量
  1. 首先比较MSTI域根ID
  2. 其次比较MSTI内部路径开销
  3. 再其次比较MSTI指定桥ID
  4. 再其次比较MSTI指定端口ID
  5. 最后比较MSTI接收端口ID

计算方法

  • CST/IST的计算和RSTP类似
  • MSTI的计算仅限于区域内
  • MSTI计算参数包含在IST BPDU中,和IST的计算同步完成

P/A机制

  • 上游桥发送的Proposal BPDU中,P标志位和A标志位都置位
  • 下游收到P标志位和A标志位都置位的Proposal BPDU,在将端 口同步后会回应Agreement BPDU,使得上游的指定端口快速 进入转发状态

基本配置

  1. 启用MSTP

    spanning-tree mode mst #Cisco/ruijie
    stp mode mstp  #Huawei/H3C
  2. MSTP域配置模式

    spanning-tree mst configuration #Cisco/ruijie
    stp region-configuration  #Huawei/H3C
  3. Region三要素

    #Cisco/ruijie
    name <Region_Name>  #域名
    revision <1-65535> #修订号
    instance <ID> vlan <vlan列表> #VLAN映射实例
    
    #Huawei/H3C
    Region_Name <name>  #域名
    revision-level <1-65535> #修订号
    instance <ID> vlan <List> #VLAN映射实例
  4. 激活

    #Cisco/ruijie
    exit(自动激活)
    
    #Huawei/H3C
    active region-configuration
  5. 指定实例根桥/备份根桥

    #Cisco/ruijie
    spanning-tree mst <ID> root primary  #主根桥
    spanning-tree mst <ID> root secondary  #备份根桥
    
    #Huawei/H3C
    stp instance <ID> root primary  #主根桥
    stp instance <ID> root secondary  #备份根桥
  6. 手动设置实例优先级

    #Cisco/ruijie
    spanning-tree mst <ID> priority <0-61440>
    
    #Huawei/H3C
    stp instance <ID> priority <0-61440>
    
    ps:优先级值必须是4096的倍数
  7. 边缘端口与BPDU保护与RSTP基本相同

新评论

称呼不能为空
邮箱格式不合法
网站格式不合法
内容不能为空