事实上,即使拓扑已经稳定,STP也从未停止工作,对每个收到的BPDU,交换机都会重新计算自己对于根桥,RP,DP的选择。在稳定的拓扑中,交换机收到的BPDU不变,因此对这些BPDU的处理会一遍一遍产生相同的结果。与RIP比较像。
 
STP的拓扑可能会随时发生变化,而STP需要对此做出适当响应。
 
交换机在检测到拓扑变化后,便开始生成有相应更新内容的BPDU,并将信息传播给邻居。邻居照常对每个收到的BPDU进行重新计算,并根据一般STP规则进一步转发这个BPDU。最终收敛到新的拓扑。
 
当STP重新收敛到一个新的活跃拓扑时,有些CAM条目可能是无效的(CAM是cisco术语,一般指mac地址表,交换表或桥接表)。STP不是查找去往某mac的最短路径协议,所以不能期望它来给CAM填充正确的条目。它能做的是让不用的条目永久超时。
 
更新CAM时会发生以下两件事:
1.通知所有交换机将不用的CAM条目永久超时;
2.每台交换机需要使用一个短计时器来使CAM条目超时,这个短计时器与转发延迟计时器等长(默认为)秒。
 
拓扑发生变化时,与这种变化相关的信息必须被传播到拓扑中的所有交换机上。因此,检测到拓扑变化的交换机必须通知根交换机,再由根交换机通知拓扑中的所有交换机。如下:
 
 

6.图中第六步,根会生成设置了拓扑变化(TC)位的BPDU,命令所有交换机将CAM条目的老化时间缩短为转发延迟的时间
 
当STP重新收敛到一个新的稳定拓扑时,一些曾经为阻塞状态的端口可能会被选举为DP或RP,所以这些端口需要变为转发状态。然而,如果立即从阻塞状态转换为转发状态,可能会带来产生环路的风险。为使端口能转换为转发状态,同时避免产生临时环路,交换机首先会把阻塞状态的端口变为监听状态,然后变为学习状态,每个状态持续的时间由转发延迟计时器来定义(默认15秒)。下表为 IEEE 802.1D 生成树端口状态:
 

最新文章

  1. 78. Android之 RxJava 详解
  2. thinkphp模板引擎
  3. python 之redis
  4. 利用Chrome插件向指定页面植入js,劫持 XSS
  5. 腾讯优测干货精选| 安卓开发新技能Get -常用必备小工具汇总
  6. Linux系统常用命令 __转载的
  7. magento 常用的函数
  8. 一些VR延迟优化方法
  9. htm、html、shtml区别
  10. BFC与IFC
  11. 可重入与线程安全(大多数Qt类是可重入,非线程安全的)
  12. Python学习笔记五,函数及其参数
  13. Week8(10月31日):并发
  14. 大数据时代的精准数据挖掘——使用R语言
  15. Substring (nyoj 308)
  16. css3制作3d旋转相册
  17. FZU 2086 餐厅点餐(枚举)
  18. JavaWeb之html
  19. 深入理解 path-to-regexp.js 及源码分析
  20. cve-2018-4878漏洞复现

热门文章

  1. var与变量提升
  2. 微信小程序开发:学习笔记[9]——本地数据缓存
  3. 【bzoj2286】[Sdoi2011]消耗战
  4. Codeforces Round #417 (Div. 2) B. Sagheer, the Hausmeister —— DP
  5. Appium——adb 启动问题Invalid argument: cannot open transport registration socketpair could not read ok from ADB Server failed to start daemon * error: cannot connect to daemon
  6. FFMPEG more samples than frame size (avcodec_encode_audio2) 的解决方案
  7. jmeter解压后启动jmeter.bat报错:Not able to find java executable or version
  8. UVA-11892(组合游戏)
  9. HihoCoder 1638 : 小Hi的天平 (2-sat+并查集)
  10. bzoj4430