HSRP特性互通技术白皮书
1 生成树原理介绍
生成树协议 MSTP 不同点 相同点 收敛速度 流量转发 通过实例与VLAN的映射,可以实现多棵生成树在VLAN间负载分担,不同VLAN的流量按照不同的路径转发。 应用场景 配置复杂度 需要区分用户或业务流高 量,并实现负载分担。不同的VLAN通过不同的生成树转发流量,每棵生成树之间相互独立。 RSTP STP 最慢 所有VLAN对应一棵无需区分用户或业务流低 生成树,所有VLAN量,所有VLAN共享一棵生低 的流量按照同样的成树。 路径转发。 表1-1 VBST/MSTP/RSTP/STP生成树协议比较
1.2.2 VBST应用场景
在网络部署中,为了提高网络可靠性,接入层交换机一般双归或多归接入到汇聚层交换机,其中一条作主用链路,其他作备用链路。但使用多条链路难免会在网络中产生环路,进而可能会引起广播风暴和MAC表项被破坏。同时,一台接入交换机通常需要接入不同VLAN的业务。
这种场景下,部署MSTP可同时解决环路和不同VLAN流量的负载分担问题,但MSTP的多实例和多进程概念比较抽象,且配置复杂,不易维护。
为此,可部署VBST。VBST在每个VLAN都独立形成一个生成树,不同VLAN内的流量沿着各自的生成树转发,即消除了环路,也实现了不同VLAN流量的负载分担。同时,对用户来说,VBST没有多实例、多进程的概念,更容易理解和接受,配置维护也简单。
文档版本2 (2013-04-28)
华为专有和保密信息 版权所有 ? 华为技术有限公司
5
HSRP特性互通技术白皮书
1 生成树原理介绍
图1-4 通过VBST实现流量的负载分担示意图
如上图所示,SwitchC和SwitchD是接入层交换机,SwitchA和SwitchB是汇聚层交换机,SwitchC和SwitchD分别双归接入到SwitchA和SwitchB。为了消除环路,同时使不同VLAN内的流量在各条链路上进行负载分担,在SwitchA~SwitchD上部署VBST,并将VLAN 10、VLAN 20的根桥设置为SwitchA;VLAN 30的根桥设置为SwitchB。
这样部署后,各交换机根据VLAN进行独立的破环,形成的生成树以及不同VLAN内的流量的转发路径如上图所示。从图中可以看出,VLAN 10、VLAN 20和VLAN 30内的流量分别沿着各自的生成树转发,这样,VLAN 10、20、30内的流量就分担在SwitchC-SwitchA、SwitchD-SwitchA和SwitchD<—>SwitchB上。
文档版本2 (2013-04-28)
华为专有和保密信息 版权所有 ? 华为技术有限公司
6
HSRP特性互通技术白皮书
2 互通性分析
2 2.1 互通性分析
互通性分析
PVST+是CISCO私有协议,华为交换机在V2R5及后续版本通过VBST协议可以实现与CISCO PVST+协议对接,其原理一致,均使用保留的组播MAC地址01-00-0C-CC-CC-CD,考虑到现网在运行的Huawei 设备还未能及时升级到V2R5版本,所以在和CISCO-PVST+对接的时候,还需要考虑其他的规避方式,综合起来,本章讨论仅限于STP和PVST+、RSTP和RPVST+的互通,以下对这两种情况不做区分;MSTP的互通没有问题,本章不做分析讨论。
互通的关键在于CISCO交换机端口在什么条件下会发出什么类型的协议报文,以及其链路开销算法和华为比较结果如何。
首先,STP/RSTP的收敛概念和PVST+/RPVST+不同:STP/RSTP的收敛是基于整个端口的,而PVST+/RPVST+的收敛是基于VLAN实例的,理解的角度不一样。
从技术理论上分析,STP和PVST+无论怎么混合组网,都是能收敛的。总的来说收敛结果有两类: 1、block端口在HUAWEI设备上。因为标准stp是基于端口阻塞的,所有数据报文(不区分VLAN)在block端口被丢弃,包括CISCO的PVST报文,所以这时候一个环只有一个阻塞口,在HUAWEI设备上。 基本收敛状态为: ? ?
CISCO设备上:所有端口stp forward状态,所有端口pvst forward状态 HUAWEI设备上:存在stp block端口、stp forward端口
2、block端口在CISCO设备上。CISCO交换机上认为标准stp报文是vlan1所在的pvst实例发出的,所以stp block端口只会阻塞vlan1实例(不阻塞整个端口),其他pvst报文正常通过该端口处理并转发,并在其所在vlan内计算收敛,所以这时候,一个环上会存在多个block端口(与端口上vlan实例数相等) 基本收敛状态为:
? CISCO设备上:存在vlan1的stp block端口、stp forward端口,其他vlan的pvst block端口、pvst forward端口 ?
HUAWEI设备上:所有端口forward状态(正常转发pvst报文和数据报文)
文档版本2 (2013-04-28)
华为专有和保密信息 版权所有 ? 华为技术有限公司
1
HSRP特性互通技术白皮书
2 互通性分析
2.2 PVST/VBST报文类型对比
2.2.1 CISCO PVST
CISCO设备配置了PVST+后(Rapid-PVST+同理),端口会发出PVST报文也会发出IEEE标准STP报文用以和支持IEEE标准STP的设备互通。
CISCO交换机端口在什么条件下发出哪种协议报文,只和该端口下的vlan配置有关。
从以下表格分析,可知CISCO收发标准STP协议报文的条件为:trunk类型端口加入vlan1,或者access类型端口。
举例总结如下表:
结果 (端口发出的报文) 条件 CISCO配置 分析 端口类型trunk; 端口加入vlan1和其他vlan vlan1里会发出两种interface GigabitEthernet0/1 bpdu报文:标准stp报文和pvst报文(由于vlan1switchport trunk allowed 为native vlan,vlan tagvlan 1,10,20 被剥掉) switchport mode trunk 其他vlan下发出pvst报文 标准stp报文 vlan1的pvst报文(untag) vlan10的pvst报文 vlan20的pvst报文 端口类型trunk; 端口加入vlan1和其他vlan; native vlan配置为vlan 10 interface GigabitEthernet0/1 vlan1里会发出两种switchport trunk native vlan bpdu报文:标准stp报文10 和带vlan1的pvst报文 switchport trunk allowed vlan 1,10,20 switchport mode trunk no spanning-tree vlan 1 ! vlan1的pvst功能去使interface GigabitEthernet0/1 能,所以不再发pvst报文,但仍会发出标准stpswitchport trunk allowed 报文 vlan 1,10,20 switchport mode trunk interface GigabitEthernet0/1 trunk端口只要不加入vlan1就不会发出标准switchport trunk allowed stp报文——即使这时vlan 10,20 端口的native vlan还是vlan1 switchport mode trunk 标准stp报文 vlan1的pvst报文 vlan10的pvst报文(互通时候标准stp收敛(untag) 状态在CISCO上体现为vlan1实例的状态) vlan20的pvst报文 端口类型trunk; 端口加入vlan1和其他vlan; 全局配置no spanning-tree vlan 1 vlan10的pvst报文 vlan20的pvst报文 端口类型trunk; 端口不加入vlan1 vlan10的pvst报文 vlan20的pvst报文 文档版本2 (2013-04-28)
华为专有和保密信息 版权所有 ? 华为技术有限公司
2
HSRP特性互通技术白皮书
2 互通性分析
interface GigabitEthernet0/1 端口类型access switchport acces vlan x switchport mode acces 无论acces vlan是哪个,端口都只发出标准stp标准stp报文 报文 表2-1 CISCO交换机PVST报文类型分析
2.2.2 Huawei VBST
结果 (端口发出的报文) 条件 Huawei配置 分析 端口类型trunk; 端口加入vlan1和其他vlan vlan1里会发出两种interface GigabitEthernet0/1 bpdu报文:标准stp报文和vbst报文(由于vlan1port link-type trunk 为 pvid vlan,vlan tag被剥掉) port trunk allow-pass vlan 10 20 其他vlan下发出vbst报文 标准stp报文 vlan1的vbst报文(untag) vlan10的vbst报文 vlan20的vbst报文 端口类型trunk; 端口加入vlan1和其他vlan; pvid vlan配置为vlan 10 interface GigabitEthernet0/1 vlan1里会发出两种标准stp报文 bpdu报文:标准stp报文port link-type trunk vlan1的vbst报文 和带vlan1的vbst报文 port trunk pvid vlan 10 vlan10的vbst报文(互通时候标准stp收敛(untag) port trunk allow-pass vlan 状态在Huawei上体现为vlan1实例的状态) 10 20 vlan20的vbst报文 stp vlan 1 disable 端口类型trunk; 端口加入vlan1和其他vlan; 全局配置stp vlan 1 disable # vlan1的vbst功能去使能,所以不再发vbst报port link-type trunk 文和 stp报文 interface GigabitEthernet0/1 port trunk allow-pass vlan 10 20 interface GigabitEthernet0/1 vlan10的vbst报文 vlan20的vbst报文 端口类型trunk; 端口不加入vlan1 端口只要不加入port link-type trunk trunk vlan1就不会发出标准 undo port trunk allow-pass stp报文——即使这时vlan 1 端口的pvid vlan还是vlan1 port trunk allow-pass vlan 10 20 vlan10的vbst报文 vlan20的vbst报文 文档版本2 (2013-04-28)
华为专有和保密信息 版权所有 ? 华为技术有限公司
3