一、RSTP的产生

  前面的文章写到了当网络拓扑发生变化时,STP的收敛速度大约需要花费30秒-50秒的时间才会继续转发数据。这样在实际生产环境中花费的时间是非常长的,这样RSTP(快速生成树协议)便应运而生。

二、RSTP与STP的区别

  1、端口角色的区别

  

  在RSTP中,新增两个两个端口角色(Backup与Alternate)。其中,Backup端口作为非桥设备的备份指定端口。Alternate端口作为非桥设备的备份根端口。正常情况下,Alternate端口与Backup端口作为Disabeld状态。当非根桥设备上的根端口或指定端口出现问题时,会立马启用最为新的根端口或指定端口。

  2、特殊的“指定”端口

  在RSTP中,将特殊的指定端口改为边缘端口。边缘端口一般情况下是桥设备与主机的连接端口,不会接收到配置BPDU报文,也不参与RSTP的运算。如果 RSTP 边缘端口接收到 BPDU,则该端口立刻丧失边缘端口的属性,而成为普通的生成树端口。可以直接由Disabeld(关闭)状态直接转换为Forwarding(转发)状态(不经历端口状态改变的延时) 。

三、STP配置BPDU报文中的Flags字段在RSTP中得到应用。

  

四、RSTP收敛过程。

  1、选举根桥。

  开始时,所有的桥设备都认为自己是根桥,所有的端口都处于Discarding状态,端口角色为指定端口。并向外发送自己的RST BPDU。当桥设备的一个端口收到来自其他桥设备发送的RST BPDU,该桥设备就会与自身的RST BPDU做一个对比。若本身的RST BPDU比收到的RST BPDU更优,就会将其丢弃,同时会回复自身的RST BPDU。若收到的RST BPDU比自身的RST BPDU更优,就会停止发送RST BPDU,将收到的RST BPDU替换成原来自己本身的RST BPDU,接收桥设置所有的下游所有指定端口为Discarding状态,如果下游端口是Alternate或者边缘端口,则端口状态保持不变。

  2、选举根端口

  当桥设备下游端口全部为Discarding状态后,此桥会向根桥发送一个回复RST BPDU。此BPDU中Flags字段内设置了Agreenment标记位和端口角色。此过程中,按照STP的根端口选举方式选举的根端口立刻由Discarding状态变为Forwarding状态。

  3、选举指定段口

  与STP的指定端口选举方式一致。当上游桥设备接收到Agreement置位的BPDU后,指定端口的状态立刻由Discarding状态变为Forwarding状态。端口角色变为指定端口。

  4、阻塞端口

  当选择出根端口与指定端口后,剩余的所有非边缘端口全部为Discarding状态,作为根端口的备份与指定端口的备份。一般情况下为阻塞状态。

注:①边缘端口一般情况下是桥设备与主机的连接端口,不会接收到配置BPDU报文,也不参与RSTP的运算。如果 RSTP 边缘端口接收到 BPDU,则该端口立刻丧失边缘端口的属   性,而成为普通的生成树端口。

  ②当拓扑稳定之后,无论非根桥交换机是否接收来自根桥的BPDU,非根桥交换机都会按照Hello Time时间间隔(默认2秒)向外发送配置BPDU。

五、故障

  在RSTP中,当桥设备在3次Hello Time的时间内(共6秒)没有收到上游交换机发送的BPDU,便会认为与上游桥设备通信失败,这时会向外发送TC BPDU,通知上游桥设备清除其MAC地址表项,当上游桥设备接收到TC BPDU后,会清除除接收端口之外的端口的MAC地址表项并继续向外发送此TC BPDU。在此期间故障或检测到故障的桥设备会重新进行RSTP计算,来确定根端口及其他端口。

六、RSTP可与STP兼容

  两者是可以兼容的,但是不推荐。因为这样因为STP的原因导致RSTP收敛速度变慢,从而失去RSTP的快速性。

七、RSTP的三种“保护”

  1、环路的保护。

  与STP一样,由于有阻塞端口的存在,这样使得桥设备之间既保持了网络拓扑的环路、桥设备之间的冗余与安全性,又避免了类似于广播风暴这样的环路带来的问题。

  2、边缘端口的保护。

  边缘端口是会收到BPDU报文,也不会不参与RSTP计算的。当边缘端口收到恶意攻击,收到了BPDU报文,生成树便会重新进行计算,从而引起网络的震荡。面对这一问题,可设置边缘端口保护,当边缘端口接收到BPDU报文时,会立刻关闭此端口,可设置为自动恢复或者需要由管理员进行手动恢复。

  3、根保护

  在生成树中,根桥的配置BPDU是最优的,但是也不排除会有错误配置或者恶意攻击,从而发送更优的配置BPDU,从而使得生成树的重新计算而引起的网络震荡、流量拥塞。所以有了根保护的功能解决此问题。

  根保护是通过维持指定端口角色而进行对根桥的保护。一旦启用了此功能的指定端口接收到优先级更高的配置BPDU时,端口状态会立刻进入Discarding(STP中Listening)状态,不转发数据。在一段时间内(通常为两倍的Forward Delay)端口没用再次收到更优的配置BPDU,端口就会恢复为Forwarding状态。

  根保护功能仅仅在指定端口生效,不能配置在边缘端口或者阻塞端口上。

网络初级篇之RSTP(原理与配置)的更多相关文章

  1. 网络初级篇之DHCP原理与配置(原理与实验)

    一.什么是DHCP DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理.分配IP地址,使网络环境 ...

  2. 网络初级篇之VLAN间路由(原理与配置)

    一.VLAN间的路由 由于VLAN隔离了二层广播域,也间接的隔离了各个VLAN之间的其他二层流量交换,这样导致属于不同VLAN之间的用户不能进行二层的通信.只能经过三层的路由转发才能将报文从一个VLA ...

  3. 网络初级篇之网络设备的FTP(原理与实验)

    一.什么是FTP    FTP就是文件传输协议.用于互联网双向传输.二.FTP的作用    控制文件下载空间在服务器复制文件从本地计算机或本地上传文件复制到服务器上的空间,主要的作用就是文件的传输,保 ...

  4. 网络初级篇之VLAN(原理)

    一.早期网络的问题 1.若某时刻有多个节点同时试图发送数据,极易产生冲突域,这样使得网络传输效率大大降低. 2.从一节点发送的数据都会被送到各个节点,极易形成广播域,这样会使得产生太多的广播流量而耗费 ...

  5. 网络初级篇之STP(概念原理)

    一.什么是STP 生成树协议(Spanning Tree Protocol,STP),是一种工作在OSI网络模型中的第二层(数据链路层)的通信协议,基本应用是防止交换机冗余链路产生的环路.用于确保以太 ...

  6. 网络初级篇之配置telnet登录网络设备(实验)

    一.作用     在日常工作中,登录网络设备,对其进行配置主要有几种方式:console.Telnet与ssh.这样可以实现远程(只要网络可达)控制,极大的方便了工作.今天主要讲解一下配置Telnet ...

  7. 网络初级篇之OSPF(一)原理

    一.OSPF是什么 Open Shortest Path First, 开放最短路径优先协议,是一种开源的使用最短路径优先(SPF)算法的内部网关协议(IGP).常用于路由器的动态选路. 二.OSPF ...

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

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

  9. Linux网络服务第二章DHCP原理与配置

    1.笔记 服务端端口:67 客户端端口:68 dhcliemt -r:释放IP地址 dhcliemt -d:重新获取IP地址 :.,$ s/190.168.200 / 192.168.100 /g 从 ...

随机推荐

  1. 树莓派实现摄像头监控(使用motion和mjpg-streamer)

    购买raspBerryCarmen,大概20元, 启动树莓派,安装: `sudo apt install motion` 配置/etc/motion/motion.conf, `sudo vim /e ...

  2. 使用vue-lbsmap快速开发地图应用/GPSBD

    vue-lbsmap是一款基于vue的WebGIS地图插件,经过我们多年实际项目应用中积累的技术,打造的灵活.易用.数据驱动型插件,可以帮助您快速开展地图业务层的应用开发,完全免费 <!DOCT ...

  3. Tool.js(javascript帮助类)

    //string.format $.format = function (source, params) { ) return function () { var args = $.makeArray ...

  4. City Road

    题目描述 从前有一个叫做”H湖”的地方,”H湖”的居民生活在不同的小岛上,当他们想去其他的小岛时都要通过划小船或者小岛之间的桥来实现.现在政府想实现”H湖”的全畅通!(不一定有直接的桥相连,只要互相间 ...

  5. ZOJ Problem Set - 1007

    1.参考这个吧,一道数学公式题,还没看懂...好像需要把公式变形出来,先略过. http://dengbaoleng.iteye.com/blog/1504940

  6. Linux札记

    1. tar.gz 压缩命令:tar  -zcvf   压缩文件名.tar.gz   被压缩文件名 解压命令:tar  -zxvf   压缩文件名.tar.gz

  7. 【LOJ】#3119. 「CTS2019 | CTSC2019」随机立方体

    题解 用容斥,算至少K个极大值的方案数 我们先钦定每一维的K个数出来,然后再算上排列顺序是 \(w_{k} = \binom{n}{k}\binom{m}{k}\binom{l}{k}(k!)^3\) ...

  8. 洛谷P1603 斯诺登的密码(水题

    不知道什么时候打开的,随手做掉了,没什么用...大概又熟悉了一下map吧...大概........一开始还因为没读清题没把非正规的英文表示数字存进去wa了...orz最近状态不行 题目描述 题目描述 ...

  9. Petya and Construction Set(图的构造) Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises)

    题意:https://codeforc.es/contest/1214/problem/E 有2n个点,每个2*i和2*i-1的距离必须是Di(<=n),现在让你构造这个树. 思路: 因为Di小 ...

  10. tp5 post接到的json被转义 问题解决

    今天做项目的时候前端需要可以保存可变数据, 然后原样返回给前端 接口 $data =input('post.');//用户唯一标识$goods = $data['goods']; $shopcuxia ...