MSTP替换(或对接)CISCO的PVST+指导
CISCO生成树协议介绍
CISCO交换机所支持的生成树协议类型分别有:PVST(Per VLAN Spanning Tree)、PVST+(Per VLAN Spanning Tree Plus)、Rapid-PVST+(Rapid Per VLAN Spanning Tree Plus)、MISTP(Multi Instance Spanning Tree Protocol)和MST(Multiple Spanning Tree)。使用IOS 12.2及之后版本的catalyst系列交换机,支持PVST+、Rapid-PVST+和MST三种类型生成树协议。这几种生成树协议的某些BPDU报文采用其私有的报文格式,与IEEE标准的BPDU报文格式不一样。
PVST协议可以简单地理解为在每一个VLAN上运行一个普通的STP协议,不同VLAN之间的STP状态和计算完全独立,虽然没有类似MSTP协议中实例的概念,但也可以完成对不同VLAN的数据进行负载分担。PVST协议报文除了在数据帧内会带有VLAN信息以外,最主要的是PVST协议的BPDU报文目的MAC地址是01-00-0C-CC-CC-CD,因此该协议无法与采用IEEE标准生成树协议的设备进行互通。
PVST+协议是在PVST协议的基础上衍生出来的,PVST协议一样采用STP的机制,同样无法做到快速迁移,但可以根据实际的网络情况配置PortFast、UplinkFast以及BackboneFast特性,来实现快速迁移。PVST+协议相对于PVST协议最大的改进是:提供了与标准生成树协议互通的能力。对于一个Access接口,PVST+协议会发送标准格式的BPDU报文(目的MAC地址为01-80-C2-00-00-00);对于一个Trunk接口,PVST+协议仅会在VLAN 1中发送标准格式的BPDU报文(目的MAC地址为01-80-C2-00-00-00),而在其他允许通过的VLAN中仍然发送其私有格式的BPDU报文(目的MAC地址为01-00-0C-CC-CC-CD)。
在PVST+协议的基础上衍生出了Rapid-PVST+协议,Rapid-PVST+协议相对于PVST+协议,采用了RSTP的机制,支持快速迁移特性。
MST协议具有VLAN与实例的映射关系,也有域的概念,可以理解为标准的MSTP协议。同时,MST协议的BPDU报文格式与IEEE标准的规定完全一致。但由于华为和CISCO两个厂家采用不同的密钥来生成MSTP的摘要信息,因此两个厂商的交换机发送的BPDU报文中的摘要信息不同。默认情况下,由于摘要信息不同,MSTP协议与MST协议只能进行域间互通。(要完成MSTP域内互通,则必须要在连接Cisco交换机的华为交换机上,以及连接Cisco交换机的华为交换机的端口上使能“摘要侦听”功能。)
MSTP替换(或对接)PVST+方案
PVST+是CISCO私有协议,华为交换机不直接支持协议对接,只能通过MSTP或者RSTP和PVST+互通。下面给出了三种MSTP替换(或对接)PVST+的方案。
方案一:华为设备与CISCO-PVST+设备互通(根桥在MSTP侧)
调整合适的优先级,确保CISCO-PVST+的VLAN 1的根桥在MSTI侧,此时阻塞点在CISCO-PVST+侧。如图3-4所示。由于CISCO-PVST+在Trunk接口上只有VLAN 1才会发送标准的RSTP报文,所以MSTP或者RSTP的VLAN 1对应的实例生成树(CST)和PVST+的VLAN1能完全实现互通(蓝色线)。同时华为设备将非VLAN 1的报文直接从其它端口广播出去,从而CISCO-PVST+设备能够收到PVST+报文并且实现阻塞(橙色线),正因为不同的VLAN的阻塞口可以在不同的端口上面,所以此时互通的时候还能实现VLAN的负载分担。
- 方案二:华为设备与CISCO-PVST+设备互通(根桥在PVST+侧)
调整CISCO-PVST+所有的VLAN生成树的优先级,确保根桥在CISCO-PVST+侧,此时阻塞点在MSTI侧,由于MSTI对所有的VLAN的转发状态均相同,所以也会阻塞非VLAN 1的业务数据报文。另外非VLAN 1的PVST+报文也会被阻塞,故在PVST+侧不会因为收到广播的PVST+报文而阻塞导致非VLAN 1业务数据不通。如图3-5所示,阻塞点在MSTI互通端口上。
- 方案三:华为交换机Smart Link双归到CISCO PVST网络
CISCO交换机作为汇聚层双核心(运行PVST系列协议),华为交换机作为接入交换机双归CISCO交换机,这是一种常见的对接场景。在该场景中,就可以直接应用Smart Link技术,如图3-6所示。
方案 |
收敛性能 |
是否负载分担 |
---|---|---|
方案一:华为设备与CISCO-PVST+设备互通(根桥在MSTP侧) |
约30秒 |
是 |
方案二:华为设备与CISCO-PVST+设备互通(根桥在PVST+侧) |
较高,秒级 |
否 |
方案三:华为交换机Smart Link双归到CISCO PVST网络 |
最高,百毫秒级 |
是 |
- 满足Smart Link双归的场景,则优先选择方案三。
- 不满足Smart Link双归的场景时
- 如果希望负载分担,则优先选择方案一。
- 如果希望收敛性能较高或根桥在CISCO设备上且不允许修改,则优先选择方案二。
典型组网案例
根据上面的三种方案,分别给出对应的典型组网案例。
注:以下涉及CISCO设备接口名称的内容只是用作标注,具体接口的名称以CISCO设备为准。
案例一:华为设备与CISCO-PVST+设备互通(根桥在MSTP侧)
- 网络拓扑
- 配置需求
华为设备使用MSTP或者RSTP接入,且需要实现负载分担,则必须将华为设备设置成根桥。如果是MSTP接入,互通端口会自动切换到RSTP模式,所以MSTP、RSTP分别和CISCO-PVST+对接的效果是一样的。如图3-7所示,华为设备使用MSTP接入,互通端口G1/0/1和G1/0/2自动切换到RSTP模式。此时VLAN 1的阻塞点在CISCO的G1/0/2端口上,VLAN 30的阻塞点在CISCO的G1/0/1端口上。
- 配置要点
- CISCO设备:CISCO交换机整网采用相同的路径开销算法,且必须保证VLAN 1的桥优先级比华为CST的优先级低,其它VLAN根据需求进行优先级配置。
- 华为设备:华为交换机整网采用相同的路径开销算法,且必须保证CST的优先级比CISCO的VLAN 1的桥优先级高。
- 保证所有的VLAN生成树都以华为交换机作为根桥。
- 华为设备必须将STP的模式设置成MSTP或者RSTP模式,不能设置成STP模式。
- 由于CISCO的NATIVE VLAN没有带TAG,所以必须保证华为的PVID和CISCO的NATIVE VLAN一致。
- 配置文件摘要
- CISCO设备:
spanning-tree mode rapid-pvst spanning-tree logging spanning-tree extend system-id spanning-tree vlan 1 priority 4096 spanning-tree pathcost method long ! interface GigabitEthernet1/0/1 switchport trunk encapsulation dot1q switchport trunk allowed vlan 1,30 switchport mode trunk end ! interface GigabitEthernet1/0/2 switchport trunk encapsulation dot1q switchport trunk allowed vlan 1,30 switchport mode trunk spanning-tree vlan 30 port-priority 48 end
- 华为设备:
# stp root primary # interface GE1/0/1 port link-type trunk port trunk allow-pass vlan 30 # interface GE1/0/2 port link-type trunk port trunk allow-pass vlan 30 #
- CISCO设备:
案例二:华为设备与CISCO-PVST+设备互通(根桥在PVST+侧)
- 网络拓扑
- 配置需求
华为设备使用MSTP或者RSTP接入,且不需要实现负载分担,则可将CISCO-PVST+设备设置成根桥。如果是MSTP接入,互通端口会自动切换到RSTP模式,所以MSTP、RSTP分别和CISCO-PVST+对接的效果是一样的。如图3-8所示,华为设备使用MSTP接入,互通端口G1/0/1和G1/0/2自动切换到RSTP模式。此时VLAN 1阻塞点在华为设备的G1/0/1端口上,且同时阻塞了VLAN 30的业务数据报文导致VLAN 30的PVST+报文无法被广播转发,最终导致CISCO-PVST+的VLAN30的两个互通端口均是指定端口。华为设备的G1/0/2端口因为收不到VLAN 30的报文导致VLAN 30无法实现快速收敛。
- 配置要点
- CISCO设备:CISCO交换机整网采用相同的路径开销算法,且必须保证VLAN 1的桥优先级比华为CST的桥优先级高。
- 华为设备:华为交换机整网采用相同的路径开销算法,且必须保证CST的优先级比CISCO的VLAN 1的优先级低。
- 配置文件摘要
- CISCO设备:
spanning-tree mode rapid-pvst spanning-tree logging spanning-tree extend system-id spanning-tree vlan 1 priority 0 spanning-tree pathcost method long ! interface GigabitEthernet1/0/1 switchport trunk encapsulation dot1q switchport trunk allowed vlan 1,30 switchport mode trunk end ! interface GigabitEthernet1/0/2 switchport trunk encapsulation dot1q switchport trunk allowed vlan 1,30 switchport mode trunk end
- 华为设备:
# interface GE1/0/1 port link-type trunk port trunk allow-pass vlan 30 stp instance 0 cost 30000 # interface GE1/0/2 port link-type trunk port trunk allow-pass vlan 30 #
- CISCO设备:
案例三:华为交换机Smart Link双归到CISCO PVST网络
- 网络拓扑图3-9 华为交换机Smart Link双归到CISCO PVST网络
配置需求
华为交换机配置Smart Link,通过10GE1/0/1和10GE1/0/2双归到两台CISCO汇聚交换机,要求流量支持负载分担。正常工作时,VLAN 100的流量通过10GE1/0/1转发,VLAN 200的流量通过10GE1/0/2转发。
- 配置要点
- CISCO设备:CISCO交换机上与华为交换机互联的端口不需要做特殊配置,只要把VLAN 100和VLAN 200加入端口即可,CISCO交换机端口上是否使能PVST都没有关系。
- 华为设备:华为交换机上连接CISCO交换机的端口需加入PVST对应的VLAN,且端口均不能参与STP计算。
- 配置文件摘要
- CISCO设备:
略。
- 华为设备:
# stp region-configuration instance 1 vlan 100 instance 2 vlan 200 # interface 10GE1/0/1 port link-type trunk undo port trunk allow-pass vlan 1 port trunk allow-pass vlan 100 200 stp disable # interface 10GE1/0/2 port link-type trunk undo port trunk allow-pass vlan 1 port trunk allow-pass vlan 100 200 stp disable # smart-link group 1 load-balance instance 2 slave restore enable smart-link enable port 10GE1/0/1 master port 10GE1/0/2 slave timer wtr 30 #
- CISCO设备: