STP能识别四种不同的拓扑变化事件,
而RSTP只有当非边界端口从非转发状态变为转发状态才认为发生了拓扑变化事件
因为刚变为转发状态的端口可以为一些mac地址提供比之前更好的路径,CAM表需要更新。失去转发端口不再是拓扑变化事件起因,因为之前通过该端口学习到的一系列MAC绝对不再可达。
以前使用TCN BPDU将拓扑变化信息一跳一跳转发给根,然后使根交换机发送设置了TC位的BPDU。
而RSTP会立即泛洪设置了TC位的BPDU。更具体地说,在端口上检测到拓扑变化(即非边界端口转换为转发状态),或在端口上学习到拓扑变化(在根端口或指定端口上接收到设置了TC位的BPDU)的交换机会执行如下操作。
 
*在除了检测到或学习到拓扑变化的端口外,其余所有区域非边界指定端口和根端口上设置所谓的tcWhile计时器值,时间为Hello时间加1秒(旧版本的RSTP将这个值设置为Hello时间的2倍)。
*立即清除这些端口上学习到的MAC地址。
*每隔Hello秒数,在这些端口上发送设置了TC标志位的BPDU,直到tcWhile计时器超时。
 
这样一来,通过设置了TC标志位的BPDU的方式,在生成树中快速泛洪有关拓扑变化的信息,并且能够让交换机立即清除CAM表(除了检测到或学习到拓扑变化的端口外,清除其他端口关联的MAC地址),因为它们指向了拓扑变化的方向,其中诸多MAC地址可能需要通过新的或更好的路径到达。
 
边界端口永远不会引发拓扑变化事件,这种端口学习到的MAC地址也并不会在交换机处理拓扑变化事件时被清除。

STP-9-处理RSTP中的拓扑变化的更多相关文章

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

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

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

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

  3. Mininet建立topology zoo中的拓扑

    以前用Mininet建立拓扑都是在别人的代码上进行需求上的修改,这次从头开始将topology zoo(http://www.topology-zoo.org/)中的拓扑用Mininet建立,不失一般 ...

  4. iOS: 使用KVO监听控制器中数组的变化

    一.介绍: KVO是一种能动态监听到属性值的改变的方式,使用场景非常广泛,这里我只讲如何监听控制器ViewController中数组的变化. 二.了解: 首先我们应该知道KVO是不能直接监听控制器Vi ...

  5. 解决WPF程序中ListBox ItemsSource变化时不重置ScrollBar的问题

    解决WPF程序中ListBox ItemsSource变化时不重置ScrollBar的问题 当我们改变ListBox的ItemsSource时,会发现这样一个问题:数据源变化时,虽然控件中的内容会跟着 ...

  6. python2.x 到 python3.x 中“url”部分变化

    这部分是笔者在亲身项目中遇到的一些变化,并不全,后面将会更新. (1) urllib.urlopen    改为:   urllib.request.urlopen (2) urllib2   删除 ...

  7. Swift: Swift中Selector的变化

    Swift中Selector变化 2.2 之前,使用字符串作为方法名称 //无参数 btn.addTarget(self, action: Selector("buttonPress&quo ...

  8. 【24】response对象以及Python3中的一些变化

    request.COOKIES    用来获取cookie response.write()      写的方法是response对象的 转自:博客园python3的变化 print 由一个语句(st ...

  9. Windows 8.1中WinRT的变化(二)——新增功能

    首先我们来看看现有控件中新增的功能: FlipView编程方式切换时支持平滑滚动: 在Windows8中,FlipView在用手触控翻页的时候是有动画效果的,但当我们使用键盘或代码编程翻页时,却没有这 ...

随机推荐

  1. win下发现两个有用的快捷键

    调出命令行工具:win+x然后a.默认是cmd的管理员模式,可以改成powershell. 从当前目录打开命令行:shift + 鼠标右键

  2. Hadoop- Wordcount程序原理及代码实现

    如果对Hadoop- MapReduce分布式计算框架原理还不熟悉的可以先了解一下它,因为本文的wordcount程序实现就是MapReduce分而治之最经典的一个范例. 单词计数(wordcount ...

  3. PHP相关安全配置【转】

    PHP是广泛使用的开源服务端脚本语言.通过HTTP或HTTPS协议,Apache Web服务允许用户访问文件或内容.服务端脚本语言的错误配置会导致各种问题.因此,PHP应该小心使用.以下是为系统管理员 ...

  4. ECMAScript Obejct 属性操作API

    Object 创建对象 我们有很多种方法创建一个对象,Object.create, Object.assign Object.create //字面量 var o = {}; // 等同于 var o ...

  5. 注意!!一定要谨慎使用c/c++原生指针

    使用指针,要非常小心,今天在做一个小游戏时,就碰到一个使用原生指针的问题,找了好几个小时,才定位到问题的所在,晕. 主要是顶层逻辑中引用了一个指针,而在业务逻辑中将此指针删除了.这种在代码量很少的情况 ...

  6. poj1733 Parity game[带权并查集or扩展域]

    地址 连通性判定问题.(具体参考lyd并查集专题该题的转化方法,反正我菜我没想出来).转化后就是一个经典的并查集问题了. 带权:要求两点奇偶性不同,即连边权为1,否则为0,压缩路径时不断异或,可以通过 ...

  7. 【Lintcode】046.Majority Number

    题目: Given an array of integers, the majority number is the number that occurs more than half of the ...

  8. 自己实现的vector

    #include <iostream> #include <memory> using std::cout; using std::endl; using std::alloc ...

  9. AtCoder Grand Contest 028 A:Two Abbreviations

    题目传送门:https://agc028.contest.atcoder.jp/tasks/agc028_a 题目翻译 给你两个串\(s\)与\(t\),长度分别为\(n,m\).问你存不存在一个串长 ...

  10. bzoj 2067 [Poi2004]SZN——二分+贪心

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2067 最少的线段可以贪心地想出来.(结果还是写错了)就是偶数孩子可以自己配对,奇数孩子要带一 ...