网络初级篇之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 从 ...
随机推荐
- SpringMVC,SpringBoot上传文件简洁代码
@RequestMapping("/updateAvatar.html") public String updateHeadUrl(MultipartFile avatar, Mo ...
- 5.Linux文件权限
Linux用户类别 root:这是系统特权用户类,他们都有访问root登录账号的权限 owner:这是实际拥有文件的用户 group:这是共享文件的组访问权的用户类的用户组名称 world:这是不属于 ...
- Centos7搭建主从DNS服务器
1.准备 例:两台192.168.11.10(主),192.168.11.11(从),域名www.test1.com # 主从DNS服务器均需要安装bind.bind-chroot.bind-util ...
- Linux 下使用 rar 进行压缩和解压缩
1. 下载安装文件 https://www.rarlab.com/download.htm 注意下载 64位的 2. 2019.8 时的下载命令为: wget https://www.rarlab. ...
- CSP 通信网络(201709-4)
问题描述 某国的军队由N个部门组成,为了提高安全性,部门之间建立了M条通路,每条通路只能单向传递信息,即一条从部门a到部门b的通路只能由a向b传递信息.信息可以通过中转的方式进行传递,即如果a能将信息 ...
- sqlalchemy定义mysql时间戳字段
update_time = Column(TIMESTAMP, nullable=False, comment='更新时间戳', server_default=text('CURRENT_TIMEST ...
- Tensorflow安装错误Cannot uninstall wrapt
解决办法:安装之前先执行:pip install wrapt --ignore-installed
- Keepalive+双主
一.建立3台服务器之间ssh互信在mydb1,mydb2,mydb3服务器上分别执行:ssh-keygen -t rsassh-copy-id -i .ssh/id_rsa.pub root@192. ...
- CSS和DOM入门
CSS补充: - position - background - hover - overflow - z-index - opacity 示例:输入框右边放置图标 JavaScript: 局部变量 ...
- Web前端开发JQuery框架
JQuery 是一个兼容多浏览器支持的JavaScript库,其核心理念是write less,do more(写得更少,做得更多),它是轻量级的js库,兼容CSS3还兼容各种浏览器,需要注意的是后续 ...