生成树协议(STP PVST CST RSTP MSTP)笔记
生成树协议

3 STP
STP起源于DEC公司的“网桥到网桥”协议,后来,IEEE 802委员会制定了生成 树协议的规范802.1d。其作用是,在冗余链路中,解决网络环路问题。STP通过 生成树算法(SPA)生成一个没有环路的网络,当主要链路出现故障时,能够自 动切换到备份链路,保证网络的正常通信。 TEXT TEXT TEXT TEXT STP通过从软件层面修改网络物理拓扑结构,构建一个无环路的逻辑转发拓扑结 构,提高了网络的稳定性和减少网络故障的发生率。
2.网桥号 网桥号(Bridge ID)用于标识网络中的每一台交换机,它由两部分组成,2字节优先 级和6字节MAC组成。优先级从0-65535,缺省为32768。 3.根网桥 具有最小网桥号的交换机将被选举为根网桥,根网桥的所有端口都不会阻塞,并都处 于转发状态。 4.指定网桥 对交换机连接的每一个网段,都要选出一个指定网桥,指定网桥到根网桥的累计路径 花费最小,由指定网桥收发本网段的数据包。 5.根端口 整个网络中只有一个根网桥,根网桥上的端口都是指定端口,而不是根端口,而在非 根网桥上,需要选择一个根端口。根端口是指从交换机到根网桥累计路径花费最小的 端口,交换机通过根端口与根网桥通信。根端口(RP)设为转发状态。 6.指定端口 每个非根网桥为每个连接的网段选出一个指定端口,一个网段的指定端口指该网段到 根网桥累计路径花费最小的端口,根网桥上的端口都是指定端口。指定端口(DP)设 为转发状态。 7.非指定端口 除了根端口和指定端口之外的其他端口称为非指定端口,非指定端口将处于阻塞状态, 不转发任何用户数据。
冗余交换链路与生成树协议
LOGO
Contents
1 3
1交换机中的冗余链路
2
2 生成树协议概述
3
3 STP
STP(生成树协议讲解)

Alternate端口:端口的配置BPDU 在其所属链路上不是最优的,且端 口不是根端口
端口角色确定过程
SWA BID=0.MACA
100M Path cost = 200
1 Gig Path Cost = 20
2 Gig 聚合 Path cost = 18
– 桥优先级:高16位 (0~65535,默认32768) – 优先级(16bit) = 4Bit 桥优先级 + 12Bit 扩展系统ID – MAC地址:低48位
桥优先级
2字节
桥ID
桥MAC地址
6字节
路径开销(Path Cost)
路径开销用于衡量桥与桥之间路径 的优劣
STP中每条链路都具有开销值
SWC BID=32768.MACC
端口角色确定过程(续)
SWA BID=0.MACA
我是根桥 RPC=0
SWA是根桥 RPC=38
RPC=38
RPC=18
SWA是根桥 RPC=18
SWB BID=8192.MACB
SWA是根桥 RPC=218
SWC BID=32768.MACC
RPC=218
SWD BID=4096.MACD
端口角色确定过程(续)
SWA BID=0.MACA
SWB BID=8192.MACB
Root ID =0.MACA RPC=18
SWC BID=32768.MACC
SWD BID=4096.MACD
端口角色确定过程(续)
SWA BID=0.MACA
我是根桥 RPC=0
SWA是根桥 RPC=38
RPC=38
stprstpmstp详解

stprstpmstp详解⼀ stp⽹络的冗余性设计主要包括两个⽅⾯:关键设备冗余,以及关键链路冗余。
如何在保证⽹络的冗余性情况下,消除⼆层环路,是本章的重点。
Stp(⽣成树协议)在802.1D中定义,RSTP(快速⽣成树协议)在802.1w中定义,MSTP(多⽣成树协议)在802.1s中定义。
1 STP基本概念(1)桥ID:每⼀台运⾏STP的交换机都拥有⼀个唯⼀的桥ID,该值⼀共8byte,包含16bit的优先级(⾼16bit)和48bit的桥MAC地址。
(2)根桥:STP的主要作⽤就是在整个交换⽹络中计算出⼀颗⽆环的STP树,其中树根即根桥很重要,STP的⼀系列计算均已根桥为参考点。
⼀个交换⽹络中只有⼀个根桥。
⽹络中最⼩桥ID的交换机将成为根桥,其次⽐较的是MAC地址,MAC地址最⼩的交换机将成为根桥。
(3)开销(Cost)与跟路径开销(Root Path Cost,RPC):每⼀个激活了Stp的接⼝都会维护⼀个Cost值,⽤来计算RPC。
接⼝的缺省Cost除了与其速率,⼯作模式有关,还与交换机使⽤STP Cost计算⽅法有关。
华为交换机⽀持3种STP cost计算⽅法,分别为IEEE802.1D-1998标准,IEEE802.1t标准,以及华为的私有计算⽅法。
⽹络中所有STP设备使⽤的Cost计算⽅法要⼀致。
2 STP的基本操作过程STP通过4个步骤来保证⽹络中不存在⼆层环路(1)在交换⽹络中选出⼀个根桥(Root Bridge,RB)对于⼀个交换⽹络⽽⾔,正常情况下只会存在⼀个根桥,根桥的地位具有可抢占性。
(2)在每个⾮根桥上选取⼀个根接⼝(Root Port,RP)在⼀个交换⽹络中除了根桥,其他交换机都是⾮根桥,STP将为每个⾮根桥选举⼀个根接⼝,所谓根接⼝,实际上就是⾮根桥上所有接⼝中收到最优BPDU的接⼝,可以理解为交换机在STP树上朝向根桥的接⼝。
⾮根桥可能会有⼀个或者多个接⼝接⼊同⼀个交换⽹络,STP将在这些接⼝中选举出⼀个根接⼝。
多生成树协议MSTP

多生成树协议MSTP按照PVST、PVST+等协议的规则,就应该每个VLAN一个生成树,而且是每隔2秒就会发送一个BPDU。
这对于一个有着上千个VLAN的网络来说,一方面这么多生成树维护起来比较困难,另一方面,为每个VLAN每隔2秒就发送一个BPDU,交换机也是难以承受的。
为了解决这一问题,Cisco就开发新的生成树技术--MST。
MSTP(Multiple Spanning Tree Protocol,多生成树协议)就是对网络中众多的VLAN进行分组,一些VLAN分到一个组里,另外一些VLAN分到另外一个组里。
这里的"组"就是后面讲的MST实例(Instance)。
每个实例一个生成树,BPDU是只对实例进行发送的,这样就可以既达到了负载均衡,又没有浪费带宽,因为不是每个VLAN一个生成树,这样所发送的BPDU数量明显减少了。
【注意】并不是所有的Cisco以太网交换机都支持MSTP,如运行CiscoIOS 12.1(14)EA1以前版本的Catalyst 3750、Catalyst 2950等早期系列交换机就不支持MST。
MSTP对应的标准是IEEE 802.1S。
MSTP把IEEE 802.1W标准中的RSTP(Rapid Spanning Tree Protocol,快速生成树协议)算法扩展到多生成树,在为多VLAN环境提供了快速收敛的同时也实现了负载均衡的功能。
MST比PVST+(对应IEEE 802.1D标准)收敛快,并且和802.1D、802.1W生成树,以及PVST+结构兼容。
MSTP允许通过中继来构建多个生成树,可以组合和关联多个VLAN到生成树实例(Spanning Tree Instance,SPI)。
每个实例可以有一个独立于其他生成树实例的拓扑结构。
这种新的架构为数据通信和负载均衡提供了多个转发路径。
也提供了网络容错机制,因为一个实例(也就是一个转发路径)的失效不会影响其他实例。
stp生成树协议配置命令步骤

stp生成树协议配置命令步骤STP(Spanning Tree Protocol)生成树协议的配置命令步骤如下:1. 进入交换机的全局配置模式:`enable`;2. 进入特定交换机的配置模式:`configure terminal`;3. 启用STP:`spanning-tree mode {pvst | rapid-pvst | mst}`。
其中,- pvst:使用协议版本的STP;- rapid-pvst:使用快速收敛版本的STP;- mst:使用多实例STP。
4. 配置生成树的根桥:`spanning-tree vlan <vlan-id> root {primary | secondary}`。
其中,- <vlan-id>:指定VLAN的ID;- primary:将当前交换机优先作为根桥;- secondary:将当前交换机作为备用的根桥。
5. 对于每个VLAN,指定较低的生成树根桥优先级:`spanning-tree vlan <vlan-id> priority <priority-value>`。
其中,- <vlan-id>:指定VLAN的ID;- <priority-value>:指定较低的优先级值。
6. 配置STP端口优先级:`spanning-tree port-priority <priority-value>`。
其中,- <priority-value>:指定较低的优先级值。
7. 配置生成树端口类型(非必需):`spanning-tree portfast`。
该命令可用于将端口快速切换到转发状态。
8. 应用配置:`end`。
Cisco的MSTP(多生成树)介绍

Cisco MSTP (多生成树) 介绍多生成树协议MSTP(Multiple Spanning Tree Protocol)是IEEE 802.1s中定义的一种新型生成树协议,它引入了“实例”(Instance)的概念。
简单的说,STP/RSTP是基于端口的,PVST+是基于VLAN 的,而MSTP就是基于实例的。
所谓实例就是多个VLAN的一个集合,通过多个VLAN捆绑到一个实例中去的方法可以节省通信开销和资源占用率。
MSTP各个实例拓扑的计算是独立的,在这些实例上就可以实现负载均衡。
在使用的时候可以把多个相同拓扑结构的VLAN映射到一个实例里,这些VLAN在端口上转发状态将取决于对应实例在MSTP里的状态。
MSTP的实例0具有特殊的作用,称为CIST,即公共与内部生成树,其他的实例称为MSTI,即多生成树实例。
MSTP协议引入了域的概念,域由域名、修订级别、VLAN与实例的映射关系组成,只有三者都一样的互联的交换机才认为在同一个域内。
缺省时,域名就是交换机的第一个MAC地址,修订级别等于0,所有的VLAN 都映射到实例0上。
在同一个域内的交换机将互相传播和接收不同生成树实例的配置消息,保证所有生成树实例的计算在全域内进行;而不同域的交换机仅仅互相传播和接收CIST生成树的配置消息,MSTP协议利用CIST保证全网络拓扑结构的无环路存在,也是利用CIST保持了同STP/RSTP的向上兼容,因此从外部来看,一个MSTP域就相当于一个交换机,对不同的域、STP、RSTP交换机是透明的。
MSTP相对于之前的各种生成树协议而言,优势非常明显。
MSTP具有VLAN认知能力,可以实现负载均衡,可以实现类似RSTP的端口状态快速切换,可以捆绑多个VLAN到一个实例中以降低资源占用率,并且可以很好地向下兼容STP/RSTP协议。
MSTP中的几个关键技术点:l 端口状态STP协议通过在交换机之间传递特殊的消息(这个消息称为BPDU,桥协议数据单元,又成为配置消息Configuration Message),并进行分布式的计算,来决定一个有环路的网络中,哪台交换机的哪个端口应该被阻塞(Discarding),用这种方法来剪切掉环路。
生成树协议比较

生成树协议比较一、STP生成树协议(802.1D)运行生成树协议的交换机上的端口,总是处于下面四个状态中的一个:1)阻塞:所有端口以阻塞状态启动以防止回路,由生成树确定哪个端口切换为转发状态,处于阻塞状态的端口不转发数据帧但可接受BPDU。
2)监听:不转发数据帧,但检测BPDU(临时状态)。
For personal use only in study and research; not for commercial use3)学习:不转发数据帧,但学习MAC 地址表(临时状态)。
4)转发:可以传送和接受数据数据帧。
在正常操作期间,端口处于转发或阻塞状态。
当检测到网络拓扑结构有变化时,交换机会自动进行状态转换,在这个期间端口暂时处于监听和学习状态。
For personal use only in study and research; not for commercial use生成树经过一段时间(默认值是50 秒左右)稳定之后,所有端口要么进入转发状态,要么进入阻塞状态。
STP BPDU 仍然会定时从各个网桥的指定端口发出,以维护链路的状态。
如果网络拓扑发生变化,生成树就会重新计算,端口状态也会随之改变。
当拓扑发生变化,新的配置消息要经过一定的时延才能传播到整个网络,这个时延称为Forward Delay,协议默认值是15 秒。
在所有网桥收到这个变化的消息之前,若旧拓扑结构中处于转发的端口还没有发现自己应该在新的拓扑中停止转发,则可能存在临时环路。
为了解决临时环路的问题,生成树使用了一种定时器策略,即在端口从阻塞状态到转发状态中间加上一个只学习MAC 地址但不参与转发的中间状态,两次状态切换的时间长度都是Forward Delay,这样就可以保证在拓扑变化的时候不会产生临时环路。
但是,这个看似良好的解决方案实际上带来的却是至少两倍Forward Delay 的收敛时间!默认情况下,交换机端口由阻塞状态到侦听状时间为20 秒二、RSTP生成树协议(802.1w)For personal use only in study and research; not for commercial use了解决STP 协议收敛时间长这个缺陷,在世纪之初IEEE 推出了802.1w 标准,作为对802.1D 标准的补充。
STP,RSTP,MSTP 详细解答

15
STP定时器 定时器
Hello时间 Hello时间是发送配置 时间: 时间是发送配置BPDU的时间间隔,默认为 秒,控制着根交换 的时间间隔, 时间 时间是发送配置 的时间间隔 默认为2秒 机生成配置BPDU。其它网桥收到后就立即扩散此 机生成配置 。其它网桥收到后就立即扩散此BPDU。如果 秒没有收到根网 。如果20秒没有收到根网 桥的BPDU或根网桥停止发送 或根网桥停止发送BPDU,则该网桥宣布保存的 桥的 或根网桥停止发送 ,则该网桥宣布保存的BPDU无效并开始寻找 无效并开始寻找 新的根端口。 新的根端口。 转发延迟:是网桥花费在侦听和学习状态的时间长度,默认15秒 转发延迟:是网桥花费在侦听和学习状态的时间长度,默认 秒。 最大生存时间:是一个控制在BPDU被网桥丢弃之前被保存多长时间的 被网桥丢弃之前被保存多长时间的STP定时 最大生存时间:是一个控制在 被网桥丢弃之前被保存多长时间的 定时 默认20秒 器,默认20秒。 三个定时器的值应符合以下两个关系: 三个定时器的值应符合以下两个关系: 1、2 (Bridge Forward Delay — 1.0 seconds) >= Bridge Max Age 、 2、Bridge Max Age >= 2 (Bridge Hello Time + 1.0 seconds)
6
链路开销短整形计算方法
7
链路开销长整形计算方法
8
3,端口ID ,端口 用来决定到根交换机的路径。它由两个字节构成, 用来决定到根交换机的路径。它由两个字节构成,包括优先 级和端口号。其中6位表示优先级,8位表示端口号。优先级 级和端口号。其中 位表示优先级, 位表示端口号。 位表示优先级 位表示端口号 是一个可配置的STP参数,在大多数交换机上为 参数, 是一个可配置的 参数 在大多数交换机上为0-240,默认 , 为128。端口号是用来列举端口的数字标志。 。端口号是用来列举端口的数字标志。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
生成树协议(STP PVST CST RSTP MSTP)笔记和其他协议一样,生成树协议也是随着网络的不断发展而不断更新换代的。
本文按照技术发展的主线,介绍了生成树协议的发展历程、近期热点和未来的发展方向。
生成树协议是一种二层管理协议,它通过有选择性地阻塞网络冗余链路来达到消除网络二层环路的目的,同时具备链路的备份功能。
由于生成树协议本身比较小,所以并不像路由协议那样广为人知。
但是它却掌管着端口的转发大权—“小树枝抖一抖,上层协议就得另谋生路”。
真实情况也确实如此,特别是在和别的协议一起运行的时候,生成树就有可能断了其他协议的报文通路,造成种种奇怪的现象。
生成树协议和其他协议一样,是随着网络的不断发展而不断更新换代的。
本文标题中的“生成树协议”是一个广义的概念,并不是特指IEEE 802.1D中定义的STP协议,而是包括STP以及各种在STP基础上经过改进了的生成树协议。
在生成树协议发展过程中,老的缺陷不断被克服,新的特性不断被开发出来。
按照大功能点的改进情况,我们可以粗略地把生成树协议的发展过程划分成三代,下面一一道来。
开天辟地的第一代生成树协议:STP/RSTP在网络发展初期,透明网桥是一个不得不提的重要角色。
它比只会放大和广播信号的集线器聪明得多。
它会悄悄把发向它的数据帧的源MAC地址和端口号记录下来,下次碰到这个目的MAC 地址的报文就只从记录中的端口号发送出去,除非目的MAC地址没有记录在案或者目的MAC地址本身就是多播地址才会向所有端口发送。
通过透明网桥,不同的局域网之间可以实现互通,网络可操作的范围得以扩大,而且由于透明网桥具备MAC地址学习功能而不会像Hub那样造成网络报文冲撞泛滥。
但是,金无足赤,透明网桥也有它的缺陷,它的缺陷就在于它的透明传输。
透明网桥并不能像路由器那样知道报文可以经过多少次转发,一旦网络存在环路就会造成报文在环路内不断循环和增生,甚至造成恐怖的“广播风暴”。
之所以用“恐怖”二字是因为在这种情况下,网络将变得不可用,而且在大型网络中故障不好定位,所以广播风暴是二层网络中灾难性的故障。
在这种大环境下,扮演着救世主角色的STP(Spanning TreeProtocol)协议来到人间,其中以IEEE的802.1D版本最为流行。
图1 生成树工作过程示意图STP协议的基本思想十分简单。
大家知道,自然界中生长的树是不会出现环路的,如果网络也能够像一棵树一样生长就不会出现环路。
于是,STP协议中定义了根桥(RootBridge)、根端口(RootPort)、指定端口(DesignatedPort)、路径开销(PathCost)等概念,目的就在于通过构造一棵自然树的方法达到裁剪冗余环路的目的,同时实现链路备份和路径最优化。
用于构造这棵树的算法称为生成树算法SPA(Spanning TreeAlgorithm)。
要实现这些功能,网桥之间必须要进行一些信息的交流,这些信息交流单元就称为配置消息BPDU(BridgeProtocol Data Unit)。
STP BPDU是一种二层报文,目的MAC是多播地址01-80-C2-00-00-00,所有支持STP协议的网桥都会接收并处理收到的BPDU报文。
该报文的数据区里携带了用于生成树计算的所有有用信息。
要了解生成树协议的工作过程也不难,首先进行根桥的选举。
选举的依据是网桥优先级和网桥MAC地址组合成的桥ID(Bridge ID),桥ID最小的网桥将成为网络中的根桥。
在图1所示的网络中,各网桥都以默认配置启动,在网桥优先级都一样(默认优先级是32768)的情况下,MAC地址最小的网桥成为根桥,例如图1中的SW1,它的所有端口的角色都成为指定端口,进入转发状态。
接下来,其他网桥将各自选择一条“最粗壮”的树枝作为到根桥的路径,相应端口的角色就成为根端口。
假设图1中SW2和SW2、SW3之间的链路是千兆GE链路,SW1和SW3之间的链路是百兆FE链路,SW3从端口1到根桥的路径开销的默认值是19,而从端口2经过SW2到根桥的路径开销是4+4=8,所以端口2成为根端口,进入转发状态。
同理,SW2的端口2成为根端口,端口1成为指定端口,进入转发状态。
根桥和根端口都确定之后一棵树就生成了,如图中实线所示。
下面的任务是裁剪冗余的环路。
这个工作是通过阻塞非根桥上相应端口来实现的,例如SW3的端口1的角色成为禁用端口,进入阻塞状态(图中用“×”表示)。
生成树经过一段时间(默认值是30秒左右)稳定之后,所有端口要么进入转发状态,要么进入阻塞状态。
STPBPDU仍然会定时从各个网桥的指定端口发出,以维护链路的状态。
如果网络拓扑发生变化,生成树就会重新计算,端口状态也会随之改变。
当然生成树协议还有很多内容,在这里不可能一一介绍。
之所以花这么多笔墨介绍生成树的基本原理是因为它太“基本”了,其他各种改进型的生成树协议都是以此为基础的,基本思想和概念都大同小异。
STP协议给透明网桥带来了新生。
但是,随着应用的深入和网络技术的发展,它的缺点在应用中也被暴露了出来。
STP协议的缺陷主要表现在收敛速度上。
当拓扑发生变化,新的配置消息要经过一定的时延才能传播到整个网络,这个时延称为For ward Delay,协议默认值是15秒。
在所有网桥收到这个变化的消息之前,若旧拓扑结构中处于转发的端口还没有发现自己应该在新的拓扑中停止转发,则可能存在临时环路。
为了解决临时环路的问题,生成树使用了一种定时器策略,即在端口从阻塞状态到转发状态中间加上一个只学习MAC地址但不参与转发的中间状态,两次状态切换的时间长度都是Forward Delay,这样就可以保证在拓扑变化的时候不会产生临时环路。
但是,这个看似良好的解决方案实际上带来的却是至少两倍Forward Delay的收敛时间!为了解决STP协议的这个缺陷,在世纪之初IEEE推出了802.1w标准,作为对802.1D标准的补充。
在IEEE 802.1w标准里定义了快速生成树协议RSTP(Rapid Spanning Tree Protocol)。
R STP协议在STP协议基础上做了三点重要改进,使得收敛速度快得多(最快1秒以内)。
第一点改进:为根端口和指定端口设置了快速切换用的替换端口(Alternate Port)和备份端口(Backup Port)两种角色,当根端口/指定端口失效的情况下,替换端口/备份端口就会无时延地进入转发状态。
图2中所有网桥都运行RSTP协议,SW1是根桥,假设SW2的端口1是根端口,端口2将能够识别这种拓扑结构,成为根端口的替换端口,进入阻塞状态。
当端口1所在链路失效的情况下,端口2就能够立即进入转发状态,无需等待两倍Forward Delay时间。
图2 RSTP冗余链路快速切换示意图第二点改进:在只连接了两个交换端口的点对点链路中,指定端口只需与下游网桥进行一次握手就可以无时延地进入转发状态。
如果是连接了三个以上网桥的共享链路,下游网桥是不会响应上游指定端口发出的握手请求的,只能等待两倍Forward Delay时间进入转发状态。
第三点改进:直接与终端相连而不是把其他网桥相连的端口定义为边缘端口(Edge Port)。
边缘端口可以直接进入转发状态,不需要任何延时。
由于网桥无法知道端口是否是直接与终端相连,所以需要人工配置。
可见,RSTP协议相对于STP协议的确改进了很多。
为了支持这些改进,BPDU的格式做了一些修改,但RSTP协议仍然向下兼容STP协议,可以混合组网。
虽然如此,RSTP和STP一样同属于单生成树SST(SingleSpanning Tree),有它自身的诸多缺陷,主要表现在三个方面。
第一点缺陷:由于整个交换网络只有一棵生成树,在网络规模比较大的时候会导致较长的收敛时间,拓扑改变的影响面也较大。
第二点缺陷:近些年IEEE802.1Q大行其道,逐渐成为交换机的标准协议。
在网络结构对称的情况下,单生成树也没什么大碍。
但是,在网络结构不对称的时候,单生成树就会影响网络的连通性。
图3 非对称网络示意图图3中假设SW1是根桥,实线链路是VLAN 10,虚线链路是802.1Q的Trunk链路,Trunk了VLAN 10和VLAN 20.当SW2的Trunk端口被阻塞的时候,显然SW1和SW2之间VLAN 20的通路就被切断了。
第三点缺陷:当链路被阻塞后将不承载任何流量,造成了带宽的极大浪费,这在环行城域网的情况下比较明显。
图4 SST带宽利用率低下示意图图4中假设SW1是根桥,SW4的一个端口被阻塞。
在这种情况下,SW2和SW4之间铺设的光纤将不承载任何流量,所有SW2和SW4之间的业务流量都将经过SW1和SW3转发,增加了其他几条链路的负担。
这些缺陷都是单生成树SST无法克服的,于是支持VLAN的多生成树协议出现了。
聪明伶俐的第二代生成树协议:PVST/PVST+每个VLAN都生成一棵树是一种比较直接,而且最简单的解决方法。
它能够保证每一个VLAN 都不存在环路。
但是由于种种原因,以这种方式工作的生成树协议并没有形成标准,而是各个厂商各有一套,尤其是以Cisco的VLAN生成树PVST(Per VLAN Spanning Tree)为代表。
为了携带更多的信息,PVSTBPDU的格式和STP/RSTPBPDU格式已经不一样,发送的目的地址也改成了Cisco保留地址01-00-0C-CC-CC-CD,而且在VLAN Trunk的情况下PVST BPDU被打上了802.1Q VLAN标签。
所以,PVST协议并不兼容STP/RSTP协议。
Cisco很快又推出了经过改进的PVST+协议,并成为了交换机产品的默认生成树协议。
经过改进的PVST+协议在VLAN 1上运行的是普通STP协议,在其他VLAN上运行PVST协议。
PVST+协议可以与STP/RSTP互通,在VLAN 1上生成树状态按照STP协议计算。
在其他VLAN上,普通交换机只会把PVST BPDU当作多播报文按照VLAN号进行转发。
但这并不影响环路的消除,只是有可能VLAN 1和其他VLAN的根桥状态可能不一致。
图5 PVST+与SST对接示意图图5中所有链路默认VLAN是VLAN 1,并且都Trunk了VLAN 10和VLAN 20.SW1和SW3运行单生成树SST协议,而SW2运行PVST+协议。
在VLAN 1上,可能SW1是根桥,SW2的端口1被阻塞。
在VLAN 10和VLAN 20上,SW2只能看到自己的PVSTBPDU,所以在这两个VLAN上它认为自己是根桥。
VLAN 10和VLAN 20的PVST BPDU会被SW1和SW3转发,所以SW2检测到这种环路后,会在端口2上阻塞VLAN 10和VLAN 20.这就是PVST+协议提供的STP/RSTP兼容性。