码迷,mamicode.com
首页 > 其他好文 > 详细

RSTP快速生成树协议之(一):STP协议的不足

时间:2021-04-13 12:41:31      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:带来   ima   生成树   listen   二层   质量   back   重复   png   

RSTP快速生成树协议之(一)STP协议的不足

  STP协议的不足

  STP协议虽然能够解决环路问题,但是由于网络拓扑收敛较慢,影响了用户通信质量,而且如果网络中的拓扑结构频繁变化,网络也会随之频繁失去连通性,从而导致用户通信频繁中断,这也是用户无法忍受的。

  由于STP的不足,IEEE于2001年发布的802.1w标准定义了RSTP。RSTP在STP基础上进行了诸多改进优化,使得协议更加清晰、规范,同时也实现了二层网络拓扑的快速收敛。那STP协议具体存在哪些不足呢?RSTP协议是如何在STP协议的基础上进行优化的呢?本节笔记主要着重讲述STP协议中都带来了哪些不足。

  注:下面的拓扑图中,如无特意标注,DP代表指定端口,RP代表根端口,BP代表阻塞端口(Block Port)或备份端口(Backup Port)。由于BP可能有两种释义,所以会在下文中特地注明是哪种端口

 

 

  问题一:设备运行STP初始化环境收敛时间长

  STP从初始状态到完全收敛至少需经过30s

  技术图片

 

  在前面的随笔中介绍的STP协议介绍时也有提到,STP算法是采用被动等待计时器超时的方式来判断已收集全网所有的BPDU,进而再进行计算。

  ①在STP运行的初始时间点,交换机之间会相互发送,监听BPDU,并计算生成树,其中端口状态会先从Discarding到Listening。

  ②STP为避免临时环路,必须等待足够长的时间(即确保BPDU能同步发送至全网各节点)确保全网的端口状态全部确定,才能进入转发。此时端口状态从Listening到Learning,大约需要15秒的时间

  ③在STP进入转发前还需根据收到的用户流量构建MAC地址表,仍需等待计时器超时才能进入转发。此时端口状态从Learning到Forwarding,大约需要15秒的时间

  所以端口要从阻塞到转发,从Discarding到Forwarding,是需要总共经历30秒的时间,才能完成收敛。

 

 

 

  问题二:交换机有BP端口,RP端口down的场景

  直连链路down掉,其BP端口切换成RP端口并进入转发状态至少需要经过30秒。 

  技术图片

 

  当SWC检测到其与根桥失去连接,根端口(RP)down的时候,它会将自己的阻塞端口(BP)重新选举为根端口。为确保拓扑变化信息已经扩散到全网,且所有设备都已完成拓扑更新,故SWC的新的根端口还需等待计时器超时后才能进入转发。

  SWC要将阻塞端口变成新的根端口,从开始的blocking(阻塞)状态,并经过2个Forward Delay时间30秒)才进入转发状态

 

 

 

  问题三:交换机无BP端口,RP端口down的场景

  SWB与SWA的直连链路down掉,则SWC的BP端口切换成DP端口并进入转发状态大约需要50秒

技术图片

  由上图,SWB检测到其与根桥连接的根端口(RP)失效,其运作方式如下:

  ①SWB会以自己为根桥开始向SWC的阻塞端口(Blocked Port)发送配置BPDU。

  ②SWC还可以通过根端口(RP)收到根桥的BPDU  ,而阻塞端口(BP)收到BPDU则不会作处理,因为此时SWB发来的BPDU是次优的(SWB的优先级比SWA低)。STP中,交换机除指定端口外的其他端口收到次优BPDU都不会做处理

  ③一开始没有发生故障时,SWC的阻塞端口(BP)会定期收到关于根桥的BPDU,而等待了BPDU的老化时间(Max Age),端口缓存的BPDU超时后(大约需要20秒的时间)后,这个阻塞端口(BP)才会开始重新进行收敛。

  ④重新进行收敛,端口还要等待并经过2个Forward Delay时间30秒)才进入转发状态。

  综上所述,从产生故障到拓扑收敛,总共至少需要50秒的时间

 

 

  问题四:运行STP的交换机连接用户终端的场景

  交换机连接终端的链路进入转发需要经过30s

  技术图片

  STP中,连接终端的链路也要进行生成树计算,且链路进入转发需等待2个Forward Delay时间30秒)。而事实上,只要保证该端口下连接的是终端设备就不会出现环路,即没有必要进行STP计算和等待计时器超时

 

 

  问题五:STP的拓扑变更机制

  在之前的STP笔记中也有提到,当局域网中某台交换机突然感应到拓扑发生了更改,会想上游交换机发送TCN BPDU报文,当时给出的例子只有三台交换机,那么如果是多台交换机的情况下,STP协议又是怎么应对的呢?

 技术图片

 

   

  拓扑变更处理过程:

  ①在网络拓扑发生变化后,下游设备会不间断地向上游设备发送TCN BPDU报文。

  ②上游设备收到下游设备发来的TCN BPDU报文后,只有指定端口处理TCN BPDU报文。其它端口也有可能收到TCN BPDU报文,但不会处理。

  ③上游设备会把配置BPDU报文中的Flags的TCA位设置1,然后发送给下游设备,告知下游设备停止发送TCN BPDU报文。

  ④上游设备复制一份TCN BPDU报文,向根桥方向发送。

  ⑤重复上述步骤,直到根桥收到TCN BPDU报文。

  ⑥根桥把配置BPDU报文中的Flags的TC位置1后发送,通知下游设备直接删除桥MAC地址表项。

  可以看出,当发生拓扑变更时,STP需要逐层将TCN BPDU发送到根桥,并向下游回复TCA消息,最后再由根桥向下发送TC消息,通知设备删除MAC地址表项,在交换网络设备数量不断增大的今天,STP的机制愈显复杂,致使效率低下

 

 

  以上就是STP具有的问题,那么下一节将会继续讨论RSTP协议相对于STP协议来说,其用了什么方法来解决现有的问题,以及都作出了哪些改进。

 

RSTP快速生成树协议之(一):STP协议的不足

标签:带来   ima   生成树   listen   二层   质量   back   重复   png   

原文地址:https://www.cnblogs.com/zylSec/p/14651273.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!