你了解Cisco的PVST、PVST+和Rapid-PVST+吗?

来源:互联网 发布:淘宝价格助手 编辑:程序博客网 时间:2024/06/08 10:43

     以下内容摘自笔者编著,一直全面热销的《Cisco/H3C交换机配置与管理完全手册》一书。

11.5 理解Cisco专有的PVSTPVST+Rapid-PVST+   
    在本章最前面就说到了,Cisco除了对IEEE发布的通用生成树标准提供支持外,它还自己针对这些公用生成树标准进行了改进,开发了对应版本的生成树技术——PVST、PVST+、Rapid-PVST+。在PVST+和Rapid-PVST+模式下,最多可支持128个生成树实例。

11.5.1 生成树技术发展历史回顾
   在正确认识Cisco所使用的生成树技术之前,先来简单回顾一下生成树技术截止目前为止的一些发展历程。
   最初的生成树技术就是IEEE802.1D标准形式发布的STP技术。它是把整个交换网络都当作一个生成树实例,也就是Common Spanning Tree,公共生成树(Cisco把它称之为“Mono Spanning Tree”,单生成树),要求整个交换网络不存在二层环路。这样一来,在STP技术中,网络中的所有VLAN共享同一个生成树实例,各VLAN使用802.1q中继模式。这种设计的最大不足就是不能通过冗余链路实现VLAN交互工程,即如果一条链路被阻塞了,也就是阻塞了所有VLAN通信在它上面通过。为了解决这一不足,Cisco建议采用它自己开发的PVST/PVST+生成树解决方案,为交换网络中的每个VLAN运行一个独立的生成树实例。这种解决方案使得每个VLAN使用不同的逻辑拓扑,可以明显地允许二层交互工程。但是这种解决方案也带来了不足,可以说是走到了原来的IEEE 802.1D STP的另一个极端,因为随着网络中VLAN数量的增长,PVST/PVST+方案浪费了大量的交换机资源,并且使得整个生成树管理变得十分复杂(因为网络中存在实例数一般都大于网络中活跃的VLAN数),最终就是因为每个VLAN有一个生成树实例,实例数太多。
   随着时间的推移,IEEE也没有闲着,也知道原来的IEEE 802.1D的以上不足,正在寻求解决方案。于是就发布了改进的生成树协议版本——RSTP(快速生成树协议)。此时Cisco也同步跟进,发布了针对RSTP的改进版Rapid-PVST+。因为在RSTP中,IEEE还是把整个交换网络当成一个生成树实例,尽管提高了二层收敛速度,但是在较大网络中,这种改善还不足以使得冗余链路上就可以自由地进行VLAN通信交互,还是会存在因端口状态转换延时而出现数据丢失现象。Cisco仍然坚持按照它自己的每个VLAN一个生成树实例方式,于是就出现了前面说到的Rapid-PVST+。但是Cisco同样知道自己的每VLAN生成树方案所带来的以上不足,于是它就开始考虑抛弃原来一直坚持的每VLAN生成树方案,开发一种称之为MISTPMultiple Instances Spanning Tree,多实例生成树)方案。但很快它就发现IEEE也已发布了类似的标准,那就是IEEE 802.1s MSTPMultiple Spanning Trees Protocol,多生成树协议)。因为两者的功能几乎一样,为了避免术语上的混淆,和一些小功能上差异,最终Cisco就宣布直接等同采用IEEE 802.1s MSTP,这是Cisco直接等同采用的第一个生成树技术。
   以上就是整个生成树技术的简单发展历程,从中可以看出Cisco是如何看待和使用这些生成树技术的。

11.5.2 Cisco PVST 

   Cisco自己开发的最早生成树协议版本就是对应IEEE 802.1D标准STP技术的PVST(Per-VLAN Spanning Tree,每VLAN生成树)。从它的名称上就可以看出,它不再像STP那样把整个交换网络当成一个生成树实例,而是为每个VLAN当作一个生成树实例。在IEEE 802.1D标准STP方案中,它只定义了一个CST(通用生成树),假设整个桥接网络中仅一个生成树实例,这样就要求整个网络无环路。而在PVST中,每个VLAN一个生成树实例,只要每个VLAN内部无环路就可以,不考虑其他VLAN拓扑。这是它与IEEE 802.1D STP的最大区别。
   在IEEE 802.1D STP中,如图11-28所示的拓扑中,A与D1、D2的两条连接链路中同一时刻中肯定只有一条链路是活跃的,而另一条链路是被阻塞的,因为在STP中是把整个交换网络看成一个生成树实例,不允许在这个实例中出现环路。而在PVST中允许一个VLAN的中继信息在被其他VLAN阻塞时可以为另一些VLAN的中继信息进行转发。因为PVST把每个VLAN作为一个独立的网络,所以它有能力通过在一条中继链路上转发一些VLAN通信,而在另一条中继链路上转发另一些VLAN通信而实现二层负载均衡。此时的图11-28中就变成了图11-29所示了。

       

   另外,PVST中的VLAN中继是使用ISLPVST BPDU的格式和STP/RSTP BPDU格式已经不一样,发送的目的地址也改成了Cisco保留地址01-00-0C-CC-CC-CD,而且在VLAN中继的情况下PVST BPDU被打上了ISL VLAN标签,所以,PVST协议并不兼容STP/RSTP协议。

 

 


11.5.3 Cisco PVST+Rapid-PVST+   
      PVST+Per-VLAN Spanning Tree Plus,增强型PVST)是使用通用的802.1Q中继协议来实现PVST功能的,是PVST的改进版本。虽然它支持了通用的802.1Q中继,但它仍不能在非Cisco设备上支持。
Rapid-PVST+又是在PVST+RSTP两种协议基础上开发的,可以在每个VLAN中有一个快速生成树(RST)实例,支持RSTP特性。
    经过改进的PVST+和Rapid-PVST+协议在VLAN 1上运行的是普通STP协议,在其他VLAN上运行PVST协议。因为改用了802.1Q中继,所以PVST+协议可以与STP/RSTP互通,在VLAN 1上生成树状态按照STP协议计算;在其他VLAN上,普通交换机只会把PVST BPDU当作多播报文按照VLAN号进行转发。但这并不影响环路的消除,只是有可能VLAN 1和其他VLAN的根桥状态可能不一致。
    图11-30中所有中继链路的默认VLANVLAN 1(也就是各中继端口的PVID=1),并且都同时允许VLAN 10VLAN 20的通信。假设AD1都是运行STP(或RSTP)协议,而D2运行的是PVST+(或Rapid-PVST+)协议。这样一来,对于VLAN 1来说,如果D1是根桥,则D2的中继端口1就会被阻塞,因为它比端口2到达D1的开销大。而对于VLAN 10VLAN 20,因为AD1都是运行STP,所以也都属于同一个生成树实例中,而在D2中运行的是PVST+,所以每个VLAN都有一个生成树实例。在D2发出的PVST BDPU只能自己看到,所以在这两个VLAN上都把D2当作是根桥。VLAN 10VLAN 20发出的PVST BPDU会同时被D1A转发,这时D2肯定会检测到这种环路,然后可能会在中继端口2上阻塞VLAN 10VLAN 20,但仍保留VLAN 1的通信,同时还将在中继端口1上保留VLAN 10VLAN 20的通信,最终实现了PVTS+(或Rapid-PVST+)与STP(或者RSTP)的兼容。


    另外,由于在PVSTPVST+Rapid-PVST+中,每个VLAN都有一棵独立的生成树,还可实现二层负载均衡。在图11-31中,四台交换机都运行PVST+(或Rapid-PVST+)协议,并且各条中继链路都允许VLAN 1VLAN 10VLAN 20的通信通过,并且各中继端口的PVID=1

 



    现假设D1是所有VLAN的根桥,然后通过VLAN中继修剪配置可以使得D4的中继端口1和中继端口2分别阻塞VLAN 10VLAN 20的流量,但D4的中继端口1仍然可以承载VLAN 20的流量,中继端口2所在链路也可以承载VLAN 10的流量,这样就实现了二层的链路备份和负载均衡功能。这在STPRSTP生成树技术中是无法实现的,因为在这两种生成树协议中,整个交换网络都视作一个生成树,自然就不会允许在D4中两个端口同时活跃,以达到消除二层环路的目的。但是在PVSTPVST+Rapid-PVST+生成树技术中,每个VLAN自己维护着一个虚拟的生成树实例,根本不考虑其他VLAN,只要在一个VLAN内部不会出现二层环路就可以了。如在D4的两个中继端口上只要限制部分VLAN(如VLAN 10或者VLAN 20 )流量,则既可以达到消除二层环路的目的,又可以实现负载均衡的目的。当然也可以在D4的两个中继端口的某一个中全部禁止VLAN 10VLAN 20的流量也可以实现消除环路目的。这样的话,本实例就与上面的图11-30的示例一样了,但这样不能实现负载均衡。

 



     【经验之谈】IEEE颁发的STP、RSTP都属于单生成树实例的生成树协议,是把整个交换网络当成一个生成树,是基于端口的。而Cisco的PVST、PVST+、Rapid-PVST+则是多生成树实例的生成树协议,它是为交换网络中每个VLAN分配、维护着一个生成树实例,是基于VLAN的。而下面将要介绍的MSTP、MISTP也是多生成树实例的生成树协议,但它们是把多个具有相同拓扑的VLAN放进一个生成树实例中,是基于实例的,与PVST、PVST+和Rapid-PVST+基于VLAN的多生成树是有本质区别的。
    图11-32是PVST+(或者Rapid-PVST+)进行负载均衡的另一个示例。带有1000他VLAN的交换机A与交换机D1和D2进行冗余连接。在这种情况下,连接到交换机A上的用户和管理通常是想通过上行的两条链路来实现负载均衡,如一条链路承担偶数VLAN用户的负载,另一条链路承担奇数VLAN中的负载,或者是一条承担1~500号VLAN中的负载,另一条承担501~1000号VLAN的负载。

 


      在以上方案中,还可以使每条链路分担一半VLAN中的负载。为了达到这个目的,要选举D1交换机作为501~1000号VLAN的根交换机,而D2则作为1~500号VLAN中的根交换机。在这种方案中,每个VLAN维护着一个生成树实例,也就是说,1000个实例实际上维护着两个逻辑拓扑,因为每个交换机上的物理拓扑链路就两条。很显然,这对于交换机的CPU和网络带宽资源来说是一种浪费。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一个月的宝宝放不下怎么办 宝宝被吓了发烧怎么办 体内火气重睡不着觉怎么办 宝宝睡觉一直翻身发出声音怎么办 严重失眠怎么办整夜睡不着觉 腿疼得睡不着觉怎么办 19岁晚上睡不着该怎么办 工作累的想哭怎么办 心累迷茫想哭怎么办 白天很累晚上又睡不着怎么办 发型睡觉压乱了怎么办 通宵一夜第二天怎么办 夏天了腿脚还凉怎么办 咖啡色三天了月经还是下不来怎么办 睡觉姿势不对腰疼怎么办 来月经吃了香瓜怎么办 减肥期间晚上有饭局怎么办 减肥期间遇到晚上聚餐怎么办 婴儿脸不向上睡怎么办 睡觉压奶了疼怎么办 堵奶了挤不下来怎么办 孕36周胎儿腿短怎么办 孕晚期胎儿腿短怎么办 孕晚期宝宝腿短怎么办 手劳累过度麻痛怎么办 大人发烧40不退怎么办? 颈椎扯的脑袋疼怎么办 孕妇颈椎痛导致失眠怎么办 做完运动脊椎中间痛怎么办? 阴虛阴虚火旺怎么办 脸一躺下就丑怎么办 身体淤堵的厉害怎么办 怀孕晚期脚肿了怎么办 宝宝感冒咳嗽流鼻涕流泪怎么办 孕晚期睡觉习惯面朝右怎么办 鼻涕一直不停的流怎么办 宝宝一直流清鼻涕怎么办 感冒了眼睛酸胀流泪怎么办 五个月宝宝感冒流鼻涕怎么办 六个月宝宝感冒流鼻涕怎么办 一岁宝宝感冒咳嗽流鼻涕怎么办