MSTP 多生成树协议

MSTP 多生成树协议

STP/RSTP 的局限性

  • 所有 vlan 共享一颗生成树
  • 无法实现不同 vlan 在多条 Trunk 链路上的分担
    • 二层链路负载均衡

STP/RSTP 的局限------次优二层路径

**次优二层路径(Suboptimal Layer 2 Path) 是指: ** 数据帧在交换网络中传输时,没有走 最优的、最短的或带宽最高的路径,而是走了 一条绕行的、效率较低的路径

说白了就是,其实 3700 --> 5700-B 才是最优路径,但是由于 STP 的原因,这条链路被堵塞了,只能走 3700 --> 5700-A --> 5700-B 这条路径,这条路径并不是最优的。

MSTP 的基本概念及优势

MSTP 的定义

  • MSTP(Multiple Spanning Tree,多生成树协议)
  • 基于实例计算出多颗生成树,实例间实现负载分担
  • MSTP 标准协议为 IEEE802.1s

MST 域

  • MST 域(MST Region):拥有相同 MST 配置标识的网桥构成的集合
    • 域名
    • 配置修订号
    • VLAN 与实例映射关系

CST、IST、CIST、总根和域根 -- 实例0

  • CST:公共生成树

    • 跨 MSTP 域的生成树
    • 负责在不同 MSTP 域之间构建无环路径
    • CST 是整个网络中的一棵生成树,不考虑 VLAN,只考虑域之间的连接
  • IST:内部生成树

    • 每个 MSTP 域内部的一棵生成树
    • 所有未被映射到其他 MST 实例的 VLAN 都默认属于 IST
    • IST 就是 MST Instance 0
    • IST 负责域内的生成树计算
  • CIST:公共与内部生成树

    • 整个网络中的一棵"主生成树"
    • 由所有 MSTP 域的 IST(即 Instance 0) 和 域之间的 CST 构成
    • CIST 是 MSTP 网络中的全局生成树
    • 所有 VLAN 如果未被映射到其他 MST 实例,都走 CIST 路径
  • 总根

    • CIST 的根桥(Root Bridge)
    • 是整个网络中 CIST 的"最高优先级桥"
    • 所有 MSTP 域都会选举出一个"通往总根"的路径
    • 通常由网络中优先级最高的交换机担任
  • 域根

    • 某个 MSTP 域中 CIST 的根桥
    • 在一个 MSTP 域内,CIST 的根桥就是域根
    • 域根是通往总根的"第一跳"
  • 实例0

    • MSTP 中的默认实例
    • 所有未被映射到其他 MST 实例的 VLAN 都属于 Instance 0
    • Instance 0 就是 IST(Internal Spanning Tree)
    • 所有 MSTP 域必须有一个 Instance 0
    • Instance 0 构成了整个网络的 CIST

MSTI和MSTI域根

  • MSTI:多生成树实例

    • MSTP 允许你将多个 VLAN 映射到一个 MSTI
    • 每个 MSTI 是一个独立的生成树,可以有自己独立的根桥、路径和拓扑
    • 这样就可以为不同的 VLAN 设置不同的转发路径,实现 负载均衡路径优化
  • MSTI域根

    • 每个 MSTI 在一个 MSTP 域中都有一个"域根"

    • 这个域根是该 MSTI 在该域中的根桥

    • 域根是通往"总根(CIST Root)"的入口

    • 与"总根"的区别

      总根(CIST Root) 整个网络 整个 MSTP 网络中 CIST 的根桥,全局唯一
      MSTI 域根(Regional Root) 每个 MSTP 域 每个 MSTI 在域内的根桥,域内唯一
  • MSTI 域根的作用

路径控制 每个 MSTI 可以有自己独立的根桥,实现路径优化
负载均衡 不同 MSTI 走不同路径,提高带宽利用率
域内转发 MSTI 域根是该 MSTI 在域内的"主控桥"
域间转发 域根负责将 MSTI 的流量传递给其他域

MSTP中的端口角色

  • Master端口

    • IST根桥在CIST上的根端口
  • 其他端口角色的定义和RSTP相同

MSTP工作原理

  • MSTP的BPDU格式

CIST的优先级向量

  • CIST优先级向量={RootID:ERPC:RRootID:IRPC:DesignateBridgeID:DesignatePortID:RcvPortID}

  • 比较原则:最小最优

    • 首先比较CIST总根ID
    • 其次比较CIST外部开销
    • 再次比较CIST域根ID
    • 再其次比较CIST内部路径开销
    • 再其次比较CIST指定桥ID
    • 再其次比较CIST指定端口ID
    • 最后比较CIST接收端口ID

MSTI的优先级向量

  • MSTI优先级向量={RRootID:IRPC:DesignateBridgeID:DesignatePortID:RcvPortID}
  • 比较原则:最小最优
    • 首先比较MSTI域根ID
    • 其次比较MSTI内部路径开销
    • 再其次比较MSTI指定桥ID
    • 再其次比较MSTI指定端口ID
    • 最后比较MSTI接收端口ID

MSTP计算方法

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

CST计算

IST计算

MSTI计算过程-Region1

MSTI计算过程-Region2

MSTP计算结果

MSTP计算结果及分析

MSTP的P/A机制

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

MSTP兼容性

MSTP和RSTP的互操作

  • RSTP桥将MSTP域看做一个桥ID为域根ID的RSTP桥
  • 实例0就是标准的RSTP,MSTP使用实例0与STP/RSTP对接

MSTP工作模式

典型配置案例

MSTP组网应用

  • MSTP单域多实例组网
    • 某局域网分为核心层、接入层两个层次,运行MSTP协议
    • SW1为实例0和实例1的根网桥,SW2为实例2的根网桥,实现局域网二层流量负载

MSTP基本配置 - 物理拓扑

MSTP基本配置 - 配置SWA的MST域参数

MSTP基本配置 - 设置RSTP点到点链路和边缘端口

MSTP基本配置 - 验证MSTP基本信息

保护机制

保护特性分类

  • BPDU保护
  • 根桥保护
  • 环路保护
  • TC保护

保护需求---边缘端口受到攻击

  • 如果一个边缘端口接收到配置消息,将从边缘端口转换成非边缘端口,从而导致生成树重新计算

BPDU保护机制

  • 启动了BPDU保护功能后,如果边缘端口收到了配置消息,MSTP就将这些端口关闭

根桥的错误切换

  • 合法根桥收到优先级更高的配置消息,失去根桥的地位,引起网络拓扑结构的变动

根桥保护机制

  • 对于设置了根保护功能的端口,一旦该端口收到某实例优先级更高的配置消息,立即将该实例端口设置为指定端口、侦听状态,不再转发报文

配置根桥保护

  • 根桥保护命令

环路的产生

  • 由于链路拥塞或者单向链路故障,端口会收不到上游设备的BPDU报文。此时下游设备重新选择端口角色,会导致环路的产生

环路保护机制

  • 配置了环路保护的端口,当接收不到上游设备发送的BPDU报文时,环路保护生效
  • 如果该端口参与了STP计算,则无论其角色如何,该端口在所有实例都将处于Discard ing状态

TC攻击

  • 在有伪造的TC-BPDU报文恶意攻击设备时,设备短时间内会收到很多的TC-BPDU报文,频繁的删除操作给设备带来的分担很大,给网络的稳定带来很大的隐患

TC保护机制

  • 设置设备在收到TC-BPDU报文后的10秒内,进行地址表项删除操作的最多次数
  • 监控在该时间段内收到的TC-BPDU报文数是否大于门限值