RSTP的工作过程

RSTP简介:

生成树协议(STP)用于在网络中防止环路产生,但 STP 的收敛速度较慢。

RSTP(Rapid Spanning Tree Protocol )快速生成树协议:RSTP 是对 STP 的改进,它能在网络拓扑发生变化时更快地重新计算生成树,实现网络的快速收敛。

RSTP是STP的改进版本,消除环路的基本思想与STP一致,具备STP所有功能,兼容STP。

RSTP和STP的不同之处

  • 减少了端口状态;
  • 增加了端口角色;
  • BPDU格式和发送方式不同;
  • 能快速收敛网络拓扑。

RSTP的端口角色

|----------------------|---------------------------------------------|
| 端口角色 | 描述 |
| 根端口 Root Port | 非根交换机上到根交换机开销最小的端口,处于转发状态。 |
| 指定端口 Designated Port | 转发所连接的网段发往根交换机方向的数据; 从根交换机发往所连网段的数据,处于转发状态。 |
| 预备端口 Alternate Port | 根端口备份端口,不处于转发状态。 |
| 备份端口 Backup Port | 指定端口备份端口,不处于转发状态。 |

RSTP的P(Proposal)/A(Agreement)机制(请求/确认机制)

P/A机制 P:Proposal-协商 A:Agreement-同意

P/A机制要求两台交换设备之间链路必须是点对点的全双工模式,一旦P/A协商不成功,指定端口到转发状态就需要等待两个转发延时(30秒),协商过程与STP一样。

RSTP选举原理和STP本质上相同:选举根交换机->选举非根交换机上的根端口->选举指定端口->选举预备端口和备份端口。

但是RSTP在选举的过程中加入了"发起请求-回复同意"(P/A机制)这种确认机制,由于每个步骤有确认就不需要依赖计时器来保证网络拓扑无环后才去转发,只需要考虑BPDU发送报文并计算无环拓扑的时间(一般都是秒级)。解决了STP网络收敛慢问题。

总结:RSTP通过P/A机制来保证一个指定接口得以从丢弃状态快速进入转发状态,从而加速了生成 树的收敛速度。在P/A机制中,存在一个"同步状态",实际上就是将其他接口设置为丢弃状态,防止临时 环路产生。

RSTP快速收敛机制

1.P/A机制

2.根端口和指定端口的快速切换

  1. 直连链路故障,预备端口可快速切换成根端口并进入转发状态。

RSTP次优BPDU处理机制

预备端口快速切换为指定端口。

非直连链路故障,预备端口可快速切换成指定端口并进入转发状态。

STP中,当指定接口收到次优BPDU报文时,则立即发送自己的BPDU报文。而对于非指定接口而 言,收到次优BPDU报文后,将等待接口所保存的BPDU报文老化以后,再重新计算新的BPDU报文,并 且将新的BPDU报文发送出去。

RSTP中,无论接口角色是何种,只要接口收到了次优BPDU报文,则立即发送自己的BPDU报 文。

RSTP引入边缘端口

RSTP交换机连接终端的边缘端口可立即进入转发状态。

RSTP交换机连接终端的边缘端口可立即进入转发状态,边缘端口收到BPDU后,就丧失了边缘端口属性,成为普通STP端口,重新进行生成树计算(STP)。

RSTP的保护功能

BPDU保护

当边缘端口收到BPDU后,立即会变成普通端口。引发网络RSTP的重新收敛。

在不影响边缘端口正常发送BPDU效果的同时,来避免收到BPDU从而引发拓扑收敛问题。

当交换机激活该功能后,如果边缘端口收到了BPDU报文,则交换机立即将边缘端口关闭,同 时发送告警日志信息。

如果受保护的边缘端口因为收到BPDU,而被关闭,缺省情况下是不会自动恢复的,需要网络 管理员手工开启。

根保护

在STP网络中,如果根网桥角色发生变化,则一定会导致全网拓扑变更,并且业务流量收到影 响。

一般来说,会将根网桥设备的桥优先级设定为0,但是该措施不能保证该设备永远是根网桥, 毕竟根桥的角色是可强占的。

如果新加入的设备BID小于根网桥,则会引发根网桥角色变更,网络重新收敛。

部署根保护后,当根网桥设备收到更优的配置BPDU以后,会忽略这个BPDU报文,并且将接 口切换为丢弃状态。

环路保护

交换机的根接口和处于丢弃状态的替代端口都肯能出现该问题。

在网络正常时,这些接口会持续性收到BPDU报文。当网络出现单向故障,这些接口无法正常 收到BPDU报文,会导致最大生存时间超时,然后交换机会打开该接口,重新选举接口角色, 此时因为被阻塞的接口被打开,所以会存在环路隐患。

根端口激活该功能后--->如果长时间没有收到BPDU报文,则接口状态会切换为丢弃状态,并 将接口角色切换为指定接口。

替代端口激活该功能后--->接口角色切换为指定接口。接口状态保持在丢弃状态。

简述RSTP工作过程

当启动RSTP协议后,进入初始化状态先开始根桥的选举每台交换机都认为自己是根桥,与此同时所有端口都为指定端口并向外发送BPDU报文交换机通过比较收到BPDU和自己的BPDU来确定更优的根桥,此时的端口状态处于丢弃状态,然后RSTP会使用P/A机制加速端口状态的转变,此时根网桥的指定接口会发送P置位的的报文给根端口,除了根端口的其他端口都会置为阻塞状态,此时就不会产生环路,根端口会发送A置位的报文回给根网桥的指定端口此时的指定端口与另外一个路由器的根端口或者非指定端口的状态就会变为转发状态,然后另外端口与所连的路由器就会称为新的指点端口与非指定端口于此类推使用P/A机制来达到快速收敛,为了加快收敛除了P/A机制还有根端口与指定端口的快速切换,因为存在替代端口与备份端口当网络发生故障,端口收到次优BPDU就会立马转发自身BPDU,在连接PC与终端的交换机端口还可以设为边缘端口来不参与RSTP的工作过程

关于RSTP配置命令

|------------------------|---------------|
| 命令 | 说明 |
| stp mode rstp | 配置RSTP模式 |
| display stp | 显示RSTP配置信息和参数 |
| stp edged-port enable | 配置某个端口为边缘端口 |
| stp edged-port default | 配置所有端口为边缘端口 |
| stp edged-port disable | 禁用边缘端口 |

相关推荐
重生之我是数学王子14 分钟前
网络编程 UDP编程 Linux环境 C语言实现
linux·c语言·开发语言·网络·网络协议·udp
明月看潮生28 分钟前
青少年编程与数学 02-003 Go语言网络编程 10课题、HTTP/HTTPS协议
网络·青少年编程·golang·编程与数学
wanhengwangluo1 小时前
弹性裸金属服务器和传统裸金属服务器有什么区别?
运维·服务器
前端白袍1 小时前
计算机网络:简述LAN口模式下NAT和代理的区别
网络·计算机网络·php
爱蜜莉雅丶Emilia1 小时前
计算机网络 TCP/IP体系 数据链路层
网络·tcp/ip·计算机网络
Syclus2 小时前
成功解决WSL2上的Ubuntu22.04执行sudo apt-get update指令报错问题
linux·运维·服务器
weixin_442643422 小时前
FileLink如何帮助医疗行业实现安全且高效的跨网文件交换
网络·安全·web安全·filelink跨网文件交换
huaqiwangan2 小时前
什么是安全威胁情报?
网络·安全
Tassel_YUE2 小时前
网络自动化03:简单解释send_config_set方法并举例
网络·自动化·cocoa