网络初级篇之RSTP(原理与配置)
一、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(原理与配置)的更多相关文章
- 网络初级篇之DHCP原理与配置(原理与实验)
一.什么是DHCP DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理.分配IP地址,使网络环境 ...
- 网络初级篇之VLAN间路由(原理与配置)
一.VLAN间的路由 由于VLAN隔离了二层广播域,也间接的隔离了各个VLAN之间的其他二层流量交换,这样导致属于不同VLAN之间的用户不能进行二层的通信.只能经过三层的路由转发才能将报文从一个VLA ...
- 网络初级篇之网络设备的FTP(原理与实验)
一.什么是FTP FTP就是文件传输协议.用于互联网双向传输.二.FTP的作用 控制文件下载空间在服务器复制文件从本地计算机或本地上传文件复制到服务器上的空间,主要的作用就是文件的传输,保 ...
- 网络初级篇之VLAN(原理)
一.早期网络的问题 1.若某时刻有多个节点同时试图发送数据,极易产生冲突域,这样使得网络传输效率大大降低. 2.从一节点发送的数据都会被送到各个节点,极易形成广播域,这样会使得产生太多的广播流量而耗费 ...
- 网络初级篇之STP(概念原理)
一.什么是STP 生成树协议(Spanning Tree Protocol,STP),是一种工作在OSI网络模型中的第二层(数据链路层)的通信协议,基本应用是防止交换机冗余链路产生的环路.用于确保以太 ...
- 网络初级篇之配置telnet登录网络设备(实验)
一.作用 在日常工作中,登录网络设备,对其进行配置主要有几种方式:console.Telnet与ssh.这样可以实现远程(只要网络可达)控制,极大的方便了工作.今天主要讲解一下配置Telnet ...
- 网络初级篇之OSPF(一)原理
一.OSPF是什么 Open Shortest Path First, 开放最短路径优先协议,是一种开源的使用最短路径优先(SPF)算法的内部网关协议(IGP).常用于路由器的动态选路. 二.OSPF ...
- 网络初级篇之STP(BPDU详解与STP故障恢复)
一.BPDU包含的参数 通过STP的原理,我们学习了红色部分的字段(根桥ID.根路径开销.桥ID.端口ID).现在讲解一下黄色部分的字段(类型.计时器.老化时间.访问时间) 1.(BPDU Type) ...
- Linux网络服务第二章DHCP原理与配置
1.笔记 服务端端口:67 客户端端口:68 dhcliemt -r:释放IP地址 dhcliemt -d:重新获取IP地址 :.,$ s/190.168.200 / 192.168.100 /g 从 ...
随机推荐
- File Zilla连接Ubuntu 失败
一.SFTP方式连接失败 站点配置 连接失败 二.FTP连接方式失败 站点配置 连接失败
- Go项目实战:打造高并发日志采集系统(五)
前情回顾 前文我们完成了如下功能1 根据配置文件启动多个协程监控日志,并启动协程监听配置文件.2 根据配置文件热更新,动态协调日志监控.3 编写测试代码,向文件中不断写入日志并备份日志,验证系统健壮性 ...
- VS2012编译php扩展
注意:用VS2015来做会比较好! 开发前准备工作:cygwinvisual studio 2012php编译后的程序 使用的是 xampp集成安装包,所以编译后的程序路径为D:\xampp ...
- ubantu使用小结
一.root账户问题 1.初始登录的时候root密码是随机的,自己改一个. 2.登录界面没有root选项 解决: #gedit /usr/share/lightdm/lightdm.conf.d/50 ...
- PHP学习(6)——代码重用与函数编写的一些注意事项
一个新的项目是这样创建的:它将已有的可重新利用的组件进行组合,并将新的开发难度降低到最小. 代码重用的好处:降低成本.提升可靠性和一致性. 1.使用require()和include()函数 使用一条 ...
- HTML5 a标签的down属性进行图片下载
a标签中的down属性时HTML5新增的属性,此属性指示浏览器下载URL而不是导航到URL,因此将提示用户将其保存为本地文件.目前该属性的兼容性如下: 具体代码实现: /* 主要原理:利用a标签的do ...
- golang break label 与goto label
本文链接:https://blog.csdn.net/itbsl/article/details/73380537 与其他语言一样,Go语言也支持label(标签)语法:分别是break label和 ...
- Kafka如何实现每秒上百万的高并发写入
Kafka是高吞吐低延迟的高并发.高性能的消息中间件,在大数据领域有极为广泛的运用.配置良好的Kafka集群甚至可以做到每秒几十万.上百万的超高并发写入. 那么Kafka到底是如何做到这么高的吞吐量和 ...
- 石子合并(直线版+环形版)&(朴素写法+四边形优化+GarsiaWachs算法)
石子合并-直线版 (点击此处查看题目) 朴素写法 最简单常见的写法就是通过枚举分割点,求出每个区间合并的最小花费,从而得到整个区间的最小花费,时间复杂度为O(n^3),核心代码如下: ; i < ...
- 基于从库+binlog方式恢复数据
基于从库+binlog方式恢复数据 将bkxt从库的全备份在rescs5上恢复一份,恢复到6306端口,用cmdb操作 恢复全备后执行如下操作 set global read_only=OFF; st ...