STP并不是已经淘汰不用,实际上不少厂家目前还仅支持STP。STP的最大缺点就是他的收敛时间太长,对于现在网络要求靠可靠性来说,这是不允许的,快速生成树的目的就是加快以太网环路故障收敛的速度。  

5.新的拓扑改变机制

  如图8-23所示,STP的拓扑变化是先将TCN发送到根桥,再由根桥将TC发送给所有网桥。

  SW-4发送自己的拓扑变化通知(TCN)位传递给根桥,根桥发送TC位的BPDU给所有的其他网桥,通知拓扑变化。

  1)拓扑改变检测

  在RSTP中,只有非边缘端口进入转发状态时,才引起拓扑的改变,端口改变到其他状态不引起拓扑改变(不产生TC),但RSTP网桥检测到拓扑改变,发生以下动作:

  非边缘的指定端口和根端口启动一个等于两倍Hello Time的TC等待计数器。

  泛洪MAC地址到所有的端口上。

  只要TC等待计时器在端口中运行,该端口发送的带有TC位的BPDU,在计时器激活期间,根端口也发送BPDU信息。

  2)拓扑改变传播

  当一个网桥收到带有拓扑改变(TC)标志为BPDU,按照以下两种方式进行处理:

  清除交换机上所有端口学来的MAC地址除了拓扑改变收来的MAC地址。

  启动拓扑改变(TC)等待计数器,发送带有TC标志位的BPDU到所有的指定端口和根端口。

  通过这样的机制,SW-4的TCN通过一步快速泛洪到整个网络中,如图8-24所示,无须经过根桥。

  快速生成树协议(RSTP)

  (点击查看大图)图8-23 STP拓扑改变过程

  快速生成树协议(RSTP)

  图8-24 RSTP拓扑改变过程

  6.RSTP的兼容性

  STP无法知道RSTP中BPDU 带有的版本为2,其本身的版本为0,但是RSTP可以识别版本为0的STP,一旦RSTP的端口接着是STP的设备,该端口将使用STP的BPDU和TCN来运行,以保证RSTP和STP的互操作性。

  对于Cisco的每VLAN生成树(PVRST+),由于Cisco新的设备全部支持多生成树,同时Cisco的每VLAN生成树的私有性,理论上和RSTP没有太多的区别,这里不再详细介绍。

  7.RSTP的配置

  RSTP的配置,由于Cisco默认是开启STP。可以使用 spanning-tree mode rapid-pvst 命令,配置Cisco交换机的快速每VLAN生成树,其他的配置和STP配置一样。

  Cisco的快速生成树(PVRST+)已经增强了802.1Q协议,支持在同一Trunk的链路中,阻断某些VLAN,同时开通某些VLAN。

  可能有的厂家的设备,默认是开启单VLAN的快速生成树。在配置时,参看相关手册进行配置。


4)备份端口

  如果一个端口收到同一个网桥的更好 BPDU,那么这个端口成为备份端。当两个端口被一个点到点链路的一个环路连在一起时,或者当一个交换机有两个或多个到共享局域网段的连接时,一个备份端口才能存在。

  如图8-19所示,SW-1的P1和P2口同时接入到以太网的同一网段,P1为指定端口,P2 优先级低,则P2端口为备份端口。

  快速生成树协议(RSTP)

  图8-18 替换端口的选择

  快速生成树协议(RSTP)

  图8-19 备份端口的选择

  5)禁用端口

  在快速生成树协议应用的网络运行中不担当任何角色。

  2.BPDU更新与变化

  RSTP添加标志位,如图8-20所示。在STP中,标志位只有0为TC和7为TCA使用,RSTP使用其中保留的6位。另外,RSTP在BPDU指定了端口的角色和端口状态,并且采用提议/同意的控制机制。

  快速生成树协议(RSTP)

  1)间隔发送BPDU

  STP的非根桥仅传递根桥生成的BPDU;RSTP的网桥不管是否收到来自根桥的BPDU,它每隔Hello time(默认2秒)时间发送本身的BPDU配置信息。

  2)快速的老化信息

  STP必须等到20秒的老花时间到时,才能更新BPDU;RSTP采用心跳的机制,当一台网桥在连续三次没有收到BPDU的情况下,网桥认为邻居的根和指定根已经丢失,立即老化自己的BPDU配置信息。

  3)接受下级的BPDU

  与Cisco专有的Backbone Fast的特性类似,RSTP接受下级的BPDU。如图8-21所示,如果一台网桥从它的指定根桥收到下级信息,立即接受并覆盖原先的BPDU配置信息。

  快速生成树协议(RSTP)

  因为交换机SW-2知道根桥还在,立即发送BPDU的包含根桥信息给SW-1,SW-1停止发送BPDU,同时接受连接SW-2的端口为新的根端口。


3.快速转换到转发状态

  STP 的网络端口从阻断到转发状态,如果想快速收敛的话,需要修改默认的转发延迟和老化时间定时器;RSTP可以快速收敛而不依赖于定时器,这些快速的收敛主要依赖边缘端口和点到点的链路来实现。

  1)边缘端口

  一个边缘端口就像一个Port Fast-enabled端口,并且只在连接了一个单独的末端站点的端口上启用他。但他和Port Fast-enabled 不一样,他不产生拓扑改变,但当他收到BPDU时,自动成为生成树端口,Cisco交换机的配置也是采用Port Fast-enabled方式配置。

  2)点到点链路

  两台交换机之间的链路只有一根链路,同时端口之间的连接为全双工,这样的链路类型叫点到点链路。对于半双工的链路叫共享端口。链路类型交换机自己检查,也可人为修改。

  4.提议/同意握手机制

  RSTP使用提议/同意握手机制来完成端口的快速收敛。下面以图8-22中的变化为例说明。

  快速生成树协议(RSTP)

  假设SW-1有一条新的链路连接到根桥。链路起来时,根桥的P0口和SW-1的P1口同时进入指定阻断状态,而且P0和P1同时发布带有提议标志位的RSTP BPDU ①,同时P1成为新的根端口。

  SW-1开始同步新的消息给其他的端口,P2为替换端口,同步中保持不变,P3为指定端口,同步中必须阻断P3、P4为边缘端口,同步中保持不变 ②;SW-1 通过新的根端口P1给根桥发送一个提议BPDU同意消息,将标志位有提议给为同意,P0和P1握手成功③,P0和P1直接进入转发状态;这时P3端口为指定端口,还处于阻断状态,同样按照P0和P1的提议/同意握手机制,SW-1和SW-2快速进入转发状态。

  提议/同意握手机制收敛很快,状态转变中无须依赖任何定时器;如果指定阻断端口发送提议消息后没有收到同意消息,此时进入STP的监听、学习机制,这种可能出现在对方网桥不知道RSTP的BPDU,或者端口是关闭状态。

 

5.新的拓扑改变机制

  如图8-23所示,STP的拓扑变化是先将TCN发送到根桥,再由根桥将TC发送给所有网桥。

  SW-4发送自己的拓扑变化通知(TCN)位传递给根桥,根桥发送TC位的BPDU给所有的其他网桥,通知拓扑变化。

  1)拓扑改变检测

  在RSTP中,只有非边缘端口进入转发状态时,才引起拓扑的改变,端口改变到其他状态不引起拓扑改变(不产生TC),但RSTP网桥检测到拓扑改变,发生以下动作:

  非边缘的指定端口和根端口启动一个等于两倍Hello Time的TC等待计数器。

  泛洪MAC地址到所有的端口上。

  只要TC等待计时器在端口中运行,该端口发送的带有TC位的BPDU,在计时器激活期间,根端口也发送BPDU信息。

  2)拓扑改变传播

  当一个网桥收到带有拓扑改变(TC)标志为BPDU,按照以下两种方式进行处理:

  清除交换机上所有端口学来的MAC地址除了拓扑改变收来的MAC地址。

  启动拓扑改变(TC)等待计数器,发送带有TC标志位的BPDU到所有的指定端口和根端口。

  通过这样的机制,SW-4的TCN通过一步快速泛洪到整个网络中,如图8-24所示,无须经过根桥。

  快速生成树协议(RSTP)

  (点击查看大图)图8-23 STP拓扑改变过程

  快速生成树协议(RSTP)

  图8-24 RSTP拓扑改变过程

  6.RSTP的兼容性

  STP无法知道RSTP中BPDU 带有的版本为2,其本身的版本为0,但是RSTP可以识别版本为0的STP,一旦RSTP的端口接着是STP的设备,该端口将使用STP的BPDU和TCN来运行,以保证RSTP和STP的互操作性。

  对于Cisco的每VLAN生成树(PVRST+),由于Cisco新的设备全部支持多生成树,同时Cisco的每VLAN生成树的私有性,理论上和RSTP没有太多的区别,这里不再详细介绍。

  7.RSTP的配置

  RSTP的配置,由于Cisco默认是开启STP。可以使用 spanning-tree mode rapid-pvst 命令,配置Cisco交换机的快速每VLAN生成树,其他的配置和STP配置一样。

  Cisco的快速生成树(PVRST+)已经增强了802.1Q协议,支持在同一Trunk的链路中,阻断某些VLAN,同时开通某些VLAN。

  可能有的厂家的设备,默认是开启单VLAN的快速生成树。在配置时,参看相关手册进行配置。