事实上,即使拓扑已经稳定,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 生成树端口状态:
 

STP-3-收敛到新的STP拓扑的更多相关文章

  1. 网络初级篇之STP(BPDU详解与STP故障恢复)

    一.BPDU包含的参数 通过STP的原理,我们学习了红色部分的字段(根桥ID.根路径开销.桥ID.端口ID).现在讲解一下黄色部分的字段(类型.计时器.老化时间.访问时间) 1.(BPDU Type) ...

  2. Cisco基础(三):HSRP配置、三层交换配置HSRP、STP的配置、三层交换配置STP

    一.HSRP配置 目标: 在企业网络到外部的连接方案中,要求不高的条件下可以是单出口.一旦该出口线路出现问题,整个企业网络就不能连接到外网了.为了使得企业网络到外网连接的高可用性,可以设置两个以上的出 ...

  3. Spring Boot 2.3.0 新特性Redis 拓扑动态感应

    本文为原创文章.欢迎任何形式的转载,但请务必注明出处 冷冷https://lltx.github.io. Spring Boot 2.3 新特性优雅停机详解 Spring Boot 2.3 新特性分层 ...

  4. STP概述简介及生成树算法

    目录: STP概述 STP简介 生成树算法 选择根网桥 选择根端口 选择指定端口 BPDU(桥协议数据单元) STP利用BPDU选择根网桥 STP的收敛 VLAN与STP关系 MSTP多生成树协议华为 ...

  5. STP、生成树的算法

    STP.生成树的算法       一.STP        1)STP概述        2)交换网络环路的产生        3)STP简介        4)STP的工作原理        5)S ...

  6. STP(生成树)的概述和工作原理

    一.STP的简介 二.STP的概述 三.STP的工作原理 四.生成树的算法 五.BPDU(桥协议数据单元) 六.STP收敛 TP简介 STP - Spanning Tree Protocol(生成树协 ...

  7. HCNA Routing&Switching之STP端口状态、计时器以及拓扑变化

    前文我们了解了STP选举规则相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15131999.html:今天我们来聊一聊STP的端口状态.计时器.端口状 ...

  8. STP协议树配置

    STP协议树作用 为了提高网络可靠性,交换网络中通常会使用冗余链路. 然而,冗余链路会给交换网络带来环路风险 并导致广播风暴以及MAC地址表不稳定等问题进而会影响到用户的通信质量. 生成树协议STP( ...

  9. STP 生成树协议 RSTP 快速生成树

    STP(Spanning Tree Protocol)是生成树协议的英文缩写 该协议可应用于在网络中建立树形拓扑,消除网络中的环路,并且可以通过一定的方法实现路径冗余,但不是一定可以实现路径冗余.生成 ...

随机推荐

  1. UITextField 对键盘一些常用属性 记录一下

    autocapitalizationType            设置键盘自动大小写的属性     UITextAutocapitalizationTypeNone autocorrectionTy ...

  2. android——实现多语言支持

    我们知道,建好一个android 的项目后,默认的res下面 有layout.values.drawable等目录.这些都是程序默认的资源文件目录,如果要实现多语言版本的话,我们就要添加要实现语言的对 ...

  3. Eclipse配置python环境

    主要分为四步 1.安装java环境 2.在Eclipse下安装Pydev 1)启动 Eclipse,利用 Eclipse Update Manager 安装 PyDev.在 Eclipse 菜单栏中找 ...

  4. php的CURL使用及例子

    使用PHP的cURL库可以简单和有效地去抓网页.你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了.无论是你想从从一个链接上取部分数据,或是取一个XML文件并把 ...

  5. datagrid 行号问题综合

    1.datagrid 左侧行号设置宽度 : 到 easyui.css 中修改 .datagrid-cell-rownumber 中 width 的宽度.

  6. codeforces 669A A. Little Artem and Presents(水题)

    题目链接: A. Little Artem and Presents time limit per test 2 seconds memory limit per test 256 megabytes ...

  7. hadoop2.X集群安装与应用

    可参考此文档:hadoop(2.x)以hadoop2.2为例完全分布式最新高可靠安装文档(非常详细)http://www.aboutyun.com/thread-7684-1-1.html 步骤一:下 ...

  8. 大数据 云计算 AI

  9. CS231n 2016 通关 第五、六章 Batch Normalization 作业

    BN层在实际中应用广泛. 上一次总结了使得训练变得简单的方法,比如SGD+momentum RMSProp Adam,BN是另外的方法. cell 1 依旧是初始化设置 cell 2 读取cifar- ...

  10. 使用jdk获取网页

    参考:https://www.zhihu.com/question/30626103 由于例子比较老了,现在的百度抓不到完整的页面了 import java.io.BufferedReader; im ...