PVST是解决在虚拟局域网上处理生成树的CISCO特有解决方案。今天和大家一起分享下这个技术,希望可以帮助大家理解Cisco PVST协议。
PVST为每个虚拟局域网运行单独的生成树实例。一般情况下PVST要求在交换机之间的中继链路上运行CISCO的ISL。
每个VLAN生成树(PVST)为每个在网络中配置的VLAN维护一个生成树实例。它使用ISL中继和允许一个VLAN中继当被其它VLANs的阻塞时将一些VLANs转发。
尽管PVST对待每个VLAN作为一个单独的网络,它有能力(在第2层)通过一些在主干和其它在另一个主干中的不引起生成树循环的Vlans中的一些VLANs来负载平衡通信。
Cisco除了对IEEE发布的通用生成树标准提供支持外,它还自己针对这些公用生成树标准进行了改进,开发了对应版本的生成树技术——PVST、PVST+、Rapid-PVST+。在PVST+和Rapid-PVST+模式下,最多可支持128个生成树实例。
最初的生成树技术就是IEEE以802.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就发布了改进的生成树版本:RSTP(快速生成树协议),但是在RSTP中,IEEE还是把整个交换网络当成一个生成树实例,尽管提高了二层收敛速度,但是在较大网络中,这种改善还不足以使得冗余链路上就可以自由地进行VLAN通信交互,还是会存在因端口状态转换延时而出现数据丢失现象。
Cisco知道自己的每VLAN生成树方案所带来的不足,于是它就开始开发一种称之为MISTP(Multiple Instances Spanning Tree,多实例生成树)方案。但很快它就发现IEEE也已发布了类似的标准,那就是IEEE 802.1s MSTP(Multiple Spanning Trees Protocol,多生成树协议)。
因为两者的功能几乎一样,为了避免术语上的混淆,和一些小功能上差异,最终Cisco就宣布直接等同采用IEEE 802.1s MSTP。
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的最大区别。
PVST中的VLAN中继是使用ISL,PVST BPDU的格式和STP/RSTP BPDU格式已经不一样,发送的目的地址也改成了Cisco保留地址01-00-0C-CC-CC-CD,而且在VLAN中继的情况下PVST BPDU被打上了ISL VLAN标签,所以,PVST协议并不兼容STP/RSTP协议。
比较一下CST、PVST、PVST+ 几个生成树技术,以区别他们的关系。
CST成为公共生成树,在生成树收敛的时候,不考虑网络中vlan的存在,只在网络中生成和维护单个生成树;还有一个要注意的是:所有CST的BPDU作为不带标记的帧通过本地vlan进行传输。
不足:
1.网络中的STP无法按照vlan的特殊需求,为vlan创建最优的STP路径,可能导致某些vlan存在次优路径。
2.冗余的端口被阻塞掉之后,在每个vlan中就无法转发数据,会导致无法实现网络流量的负载均衡。
PVST是cisco私有的技术,per-vlan即给网络中的每个vlan都创建一颗生成树,这样可以解决CST的问题,为不同vlan通过冗余连接进行负载平衡。
但是,是cisco的私有技术,只能通过cisco的中继链路ISL中继封装发送,这样协议的兼容性就差。
PVST+是cisco的另一个STP专利,但是与PVST不同,PVST+的诞生就是为了兼容其他版本的BPDU而产生的,它可以通过ISL封装与PVST互通,也可以不给BPDU封装与802.1Q互通。
IEEE颁发的STP、RSTP都属于单生成树实例的生成树协议,是把整个交换网络当成一个生成树,是基于端口的。而Cisco的PVST、PVST+、Rapid-PVST+则是多生成树实例的生成树协议,它是为交换网络中每个VLAN分配、维护着一个生成树实例,是基于VLAN的。
而MSTP、MISTP也是多生成树实例的生成树协议,但它们是把多个具有相同拓扑的VLAN放进一个生成树实例中,是基于实例的,与PVST、PVST+和Rapid-PVST+基于VLAN的多生成树是有本质区别的。
如果想了解更多关于这方面的技术,可以随时沟通,更多网络和IDC技术,尽在本站技术中心。