翻译经典之《Cisco Lan Switching》第六章(十):Topology Change Process

【版权声明:原创翻译文章,翻译水平有限,错误在所难免,翻译作者对文章中存在的错误或遗漏所造成后果不承担任何责任,请谨慎转载。转载请保留本声明及出处:blog.csdn.net/shallnet ,下载该书英文版


既然TCN BPDU如此简单,那他怎么扮演如此重要的作用呢?在直接回答这个问题之前,先来看一个拓扑改变的微妙副作用。接下来的讨论引用了图6-17描述的情景。
Figure 6-17. TCN BPDUs are Required to Update Bridge Tables More Quickly
技术分享技术分享

设想Host-D正在和Host-E玩Doom游戏,正如早些在图6-12讨论的,那么数据流量就从Host-D直接经过Cat-B到达Host-E(第一步)。假设在Cat-B:Port-1/2上的以太网收发器出现故障,如之前所说,Cat-C:Port-1/2在50秒内接管指定端口的角色。但是,如果没有TCN BPDU,游戏会在另外250秒(4分10秒)持续中断。为什么会是这样呢?在出现故障之前,所有三个交换机的网桥地址表中MAC地址EE-EE-EE-EE-EE-EE的条目如下表6-7:
Table 6-7. Bridge Table Values Before Topology Change

Bridge Table

Port Associated with EE-EE-EE-EE-EE-EE

Cat-A

Port 1/1

Cat-B

Port 1/2

Cat-C

Port 1/1

        也就是说,在故障发生前,由于Cat-C:Port-1/2阻塞了,所有到Host-E的帧都必须以逆时钟方向传输。当Cat-B:Port-1/2出现故障时,Cat-C:Port-1/2成为指定端口,这就允许数据流量以顺时针方向传输到达Host-E。但是,三个交换机的网桥地址表仍然指向错误方向,事实上如果Host-E在网络中位置变了,网桥地址表仍然需要更新。一个方法是等待网桥地址表自然老化,但由于地址表默认老化时间是300秒,这就是前面计算的中断5分钟的不幸结果。
        TCN BPDU是一个公平简单的来改善收敛时间(允许我们继续玩Doom)方法。TCN BPDU和配置BPDU紧密配合如下:
  1. 网桥在两种情况下开始发送TCN BPDU:
  • 端口状态变为Forwarding状态并且至少有一个指定端口。
  • 端口从Forwarding状态或learning状态转变到Blocking状态。
        这些都是活动拓扑出现了变化需要通知根网桥的情景。假设当前的网桥不是根网桥,网桥就会通过从根端口发送TCN BPDU来开始通告处理,并且会持续每Hello Time发送TCN BPDU,直到TCN 消息被确认了(注:该Hello Time是本地配置的Hello time,而不是根网桥从配置BPDU分发下来的Hello Time)。
      2.  上游的网桥接收TCN BPDU。虽然一些网桥会接收到TCN BPDU(那些是直接连接到根端口链路上的),但仅仅指定端口接受并处理TCN BPDU。
      3.  上游的网桥在向下游发送(从指定端口发出)的下一个配置BPDU中设置拓扑改变确认标志。在上一步接收到TCN BPDU的确认将导致始发网桥终止发送TCN BPDU。
      4.  上游网桥从根端口传播TCN BPDU(TCN BPDU距离根网桥又更进一步了)。
      5.  重复第2步到第4步,直到根网桥接受到TCN BPDU。
      6.  根网桥在下一个发出去的配置BPDU中设置拓扑改变确认标志(为了向先前发送TCN BPDU的网桥进行确认 )和拓扑改变标志。
      7. 根网桥在所有发送的配置BPDU(转发时延 + Max Age秒(默认35秒))中继续设置拓扑改变标志。这个标志命令所有网桥缩短其地址表老化过程,使其从默认的300秒缩短到当前当前Forward Delay值(默认=15秒)。

图6-18总结了上面7步TCN过程对应bits的使用(步骤的序号是循环的):

Figure 6-18. Sequence of Flows in Topology Change Processes

技术分享

技术分享
        应用这些步骤到图6-17的拓扑图(为了简单起见图中并未展示这些步骤)中,Cat-B和Cat-C从其Port-1/1发送TCN BPDU(第一步),由于上游网桥是根网桥,第2步和第5步同时发生(允许跳过第3步和第4步)。在下一个发送的配置BPDU中,根网桥设置TCN ACK标志确认收到了从两个下游Catalyst交换机发来的TCN。Cat-A也会设置拓扑改变标志35秒的时间(假设使用默认Forwarding Delay和Max Age),以使网桥地址表更快更新(第6、7步)。所有三个交换机接受拓扑改变标志并在15秒内老化其地址表。
        注意缩短老化时间到15秒并非刷新所有地址表,仅仅加速老化过程。设备在15秒的老化时间内不会离开地址表而继续“保持通话”。但是,如果Host-D试图在20秒内发送一个帧到Host-E(假设Host-E已经不发数据包了),该帧将洪泛到交换机所有链路,因为EE-EE-EE-EE-EE-EE的MAC地址已经不在地址表中了。
        表6-8显示三个交换机在新的拓扑收敛并且数据流量也恢复之后MAC地址表中地址EE-EE-EE-EE-EE-EE的条目。

Table 6-8. Bridge Table Value after Topology Change

Bridge Table

Port Associated with EE-EE-EE-EE-EE-EE

Cat-A

Port 1/2

Cat-B

Port 1/1

Cat-C

Port 1/2

这时候,Host-D和Host-E重新建立连接,Doom Deathmaatch游戏可以恢复了。注意到TCN BPDU把故障时间从5分钟到50秒。

正如在之前“配置 BPDU”一节所述,两个Flag域都存入配置BPDU中同样的八位字节。这八位字节排列布局如图6-19所示。

Figure 6-19. Layout of Configuration BPDU Flag Fields

技术分享

如前面章节所述,TCA标志是由上游网桥设置以告知下游网桥停止发送TCN BPDU。TC 标志是由根网桥设置以将地址表老化时间周期从300秒缩短到Forward Delay秒。


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。