PS:本篇仅挑选作者认为重要的模块,并不全面仅供复习参考,具体请自行查阅相关书籍。设有H3CNE-H3CTE学习博客专栏,敬请关注。
STP/RSTP的局限:
所有VLAN共享一颗生成树
无法实现不同VLAN在多条Trunk链路上的负载分担
MSTP(Multiple Spanning Tree,多生成树协议)
基于实例计算出多颗生成树,实例间实现负载分担
MSTP的域(region):
域配置:域配置完全一致的MSTP交换机位于一个域
域配置三个参数:1.域名 2.修订级别 3.vlan和实例映射关系
多域MSTP方案中的STP树类型:
1.CIST树: Common and Internal Spanning Tree公共和内部生成树,交换网中 不同域的 所有MSTP交换机共同计算出的STP树
解决不同域相同vlan之间的通信
2.IST树:Internal Spanning Tree,内部生成树,某个域在CIST树上的片段
解决域内相同vlan之间的通信
3.MST树:某个域内 所有MSTP交换机计算出的STP树,不同域内的MST树相互不可见
解决域内相同vlan之间的通信
4.CST树:Common Spanning Tree,将 每个域看成一台完整的虚拟交换机,虚拟交换机之间计算出的STP树。
解决MSTP交换机和非MSTP交换机相同vlan的通信
在多域MSTP方案中:
总根:是CIST树的根
域根:IST树和MST树的域根是2个概念
(1)IST树的域根:是某个域 离 总根最近的交换机
(2)MSTP树的域根:可以单独定义
多域MSTP方案中 出现Master口: IST树域根上离总根最近的端口
示例:
不管是哪种树,都使用的是RSTP算法
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的P/A机制:
1.上游桥发送的Proposal BPDU中,P标志位和A标志位都置位 。(rstp中p置位即可)
2.下游收到P标志位和A标志位都置位的Proposal BPDU,在将端口同步后会回应Agreement BPDU,使得上游的指定端口快速进入转发状态
配置:
配置端口识别/发送MSTP报文格式:
[H3C-GigabitEthernet1/0/1] stp compliance { auto | dot1s | legacy } 默认是auto
在MSTP交换机上,会运用md5算法对域配置生成一个摘要,同域要保证域配置和域摘要相同,但是不同厂商md5算法不同,可能会导致同配置不同域,开启摘要侦听,收到对端设备发送的MSTP BPDU后会拷贝其中的配置摘要,在之后发送的MSTP BPDU中使用对端设备的配置摘要信息替换自身的配置摘要信息。
下游设备配置No Agreement Check 特性:
[SWB-Ethernet1/0/1] stp no-agreement-check
用于解决RSTP和MSTP之间BPDU中P/A位置位的差异。