您当前的位置:首页 > 电脑百科 > 网络技术 > 网络知识

快速生成树协议—RSTP

时间:2022-09-21 15:45:25  来源:今日头条  作者:阿豪的笔记

STP协议虽然能够解决环路问题,但是收敛速度慢,影响了用户通信质量。IEEE于2001年发布的802.1w标准定义了快速生成树协议RSTP(Rapid Spanning-Tree Protocol),RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。

RSTP相关概念

RSTP端口角色

如图所示,RSTP的端口角色共有4种:根端口、指定端口、Alternate端口和Backup端口,与STP相比,新增加了Backup和Alternate 2种端口角色。

 角色

描述

Backup

Backup端口作为指定端口的备份,提供了另外一条从根桥到非根桥的备份链路。

Alternate

Alternate端口作为根端口的备份端口,提供了从指定桥到根桥的另一条备份路径。

RSTP选举原理和STP类似:选举根交换机-选举非根交换机上的根端口-选举指定端口-选举预备端口和备份端口。

端口状态

不同于STP的5种端口状态,RSTP将端口状态缩减为3种。

STP

RSTP

端口角色

数据转发情况

Disabled

Discarding

Disable

不转发用户流量也不学习mac地址

Blocking

Discarding

Alternate端口

Backup端口

Listening

Discarding

根端口

指定端口

Learning

Learning

根端口

指定端口

不转发用户流量,但是学习MAC地址

Forwarding

Forwarding

根端口

指定端口

既转发用户流量又学习MAC地址

RST BPDU

除了部分参数不同,RST  BPDU报文和STP的BPDU报文类似。

1. BPDU Type用来区分STP的BPDU报文和RST BPDU报文。

  • STP的配置BPDU报文的BPDU Type值为0(0x00)。

  • TCN BPDU报文的BPDU Type值为128 (0x80)。

  • RST BPDU报文的BPDU Type值为2 (0x02)。

2. Flags字段,使用了原来保留的中间6位

  • STP的BPDU报文的Flags字段中只定义了拓扑变化TC标志和拓扑变化确认TCA标志,其他字段保留。

  • 在RST BPDU报文的Flags字段里,除了TC和TCA,还使用了其他字段。包括P/A进程字段和定义端口角色以及端口状态的字段。

3. 发送BPDU的方式不同

  • STP中,当网络拓扑稳定后,根桥按照Hello Timer规定的时间间隔发送配置BPDU报文,非根桥设备只有在收到上游设备发来的配置BPDU报文后,才会触发发出配置BPDU报文。

  • RSTP种,当网络拓扑稳定后,无论非根桥设备是否接收到根桥传来的配置BPDU报文,都会按照Hello Timer规定的时间间隔发送配置BPDU。

RSTP对STP的改进

RSTP主要在以下五个场景对STP进行了优化

场景一初始状态收敛

STP从初始状态到完全收敛至少需经过30s:

 

事实上对于STP,指定端口的选择可以很快完成,主要的速度瓶颈在于:为了避免环路,必须等待足够长的时间,使全网的端口状态全部确定后,所有端口才能进行转发。

RSTP改进:P/A机制 

RSTP在选举的过程中加入了“发起请求-回复同意”(P/A机制)确认机制,P/A机制要求两台交换设备之间链路必须是点对点的全双工模式,其目的是使一个指定端口尽快进入Forwarding状态。

SW1和SW2之间新添加了一条新链路,链路模式为点对点全双工,P/A机制协商过程如下:

  1. 交换机SWA和SWB都发送Proposal置位的BPDU,并把发送P消息的端口变成DP口,同时接口处在Discarding状态。

  2. SWA和SWB根据收到的对端BPDU参数,选举端口角色,由于SWA的优先级高,选举结果为SWA的P0口为DP,SWB的P1口为RP。

  3. SWB开始进行端口状态同步,将交换机上除边缘端口外的所有端口全部置为Discarding状态,以保证RP端口进入Forwarding时没有环路存在。

  4. SWB完成同步后,P1端口状态可安全进入Forwarding并通告Agreement置位的BPDU报文给SWA。

  5. SWA上的P0端口收到Agreement置位的BPDU后,状态立即变为Forwarding。

  6. SWB继续向已经同步为DP/Discarding端口发送Proposal置位的BPDU,在下游各设备间继续进行新的P/A协商过程,直至计算到网络边缘。

场景二:根端口切换

STP为了确保拓扑变化信息已经扩散到全网,且所有设备都已完成拓扑更新,新的根端口需等待计时器超时后才能进入转发。

如下图所示,SWC与SWA的直连链路down掉,其BP端口切换成RP端口并进入转发状态至少需要经过30s。

 

RSTP改进:根端口快速切换机制

设备上旧的根端口失效后,新的根端口需在保证无环的情况下才可以迁移到Forwarding状态。RSTP新增加AP端口角色,在AP端口选举的时候就考虑到该需求,故可立即进入转发状态

如下图所示,SWC与SWA的直连链路down掉,其AP端口切换成RP端口并进入转发状态可在秒级时间内完成收敛。

 

场景三:次优BPDU处理

在STP中,交换机除指定端口外的其他端口收到次优BPDU都不会做处理。

如下图所示,SWB与SWA的直连链路down掉,则SWC的BP端口切换成DP端口并进入转发状态大约需要50s。

RSTP改进:次优BPDU处理机制

RSTP处理次优BPDU报文不再依赖于任何定时器,会立即发送本地最优的BPDU给对端,从而加快了拓扑收敛。

如下图所示,SWB与SWA的直连链路down掉,SWC的AP端口切换成DP端口并进入转发状态可在秒级时间内完成。

 

 

场景四:运行STP的交换机连接用户终端

如图所示,运行STP的交换机连接终端的端口需要经过30才能进入转发状态。

 

RSTP改进:边缘端口的引入

在RSTP里面,如果某一个指定端口位于整个网络的边缘,即不再与其他交换设备连接,而是直接与终端设备直连,这种端口可设置为边缘端口。

边缘端口不参与RSTP运算,可以由Disable直接转到Forwarding状态,且不经历时延。但是一旦边缘端口收到配置BPDU,就丧失了边缘端口属性,成为普通STP端口,并重新进行生成树计算。

如下图所示,在交换机连接终端的端口设置为边缘端口,链路UP后端口可立即进入转发状态。

 

场景五:拓扑变更机制

运行STP协议时,当网络拓扑变更后,需先由变更点朝根桥方向发送TCN消息,收到该消息的上游交换机就会回复TCA消息进行确认;最后TCN消息到达根桥后,再由根桥发送TC消息通知设备删除桥MAC地址表项,机制复杂,效率低下。

 

RSTP改进:拓扑变更机制的优化

RSTP在网络发生拓扑变化时,变更点交换机直接向全网发送TC置位的BPDU报文,而不是先通知到根桥,然后由根桥向全网发送TC报文,这样在一定程度上节省了收敛时间。

 

一旦检测到拓扑发生变化,将进行如下处理:

  1. 为本交换设备的所有非边缘指定端口启动一个TC While Timer,该计时器值是Hello Time的两倍。

  2. 在这个时间内,清空状态发生变化的端口上学习到的MAC地址。同时,由这些端口向外发送RST BPDU,其中TC置位。一旦TC While Timer超时,则停止发送RST BPDU。

  3. 其他交换设备接收到RST BPDU后,清空除收到RST BPDU的端口外所有端口学习到MAC地址(边缘端口除外)。然后也为自己所有的非边缘指定端口和根端口启动TC While Timer,向外发送TC置位的RST BPDU。

  4. 重复上述过程,直至全网感知到该网络拓扑变化。

如下图所示,当SWB的E1端口出现故障时,RSTP的处理过程如下:

  1. SWB删除MAC地址表中E1端口所对应的表项

  2. SWB重新计算生成树,选举E2为新的根端口。

  3. 开启TC While 计时器,由SWB的E2口向外发送TC置位的RST BPDU,TC While Timer超时后,停止发送RST BPDU。

  4. SWC交换设备接收到TC置位的BPDU后,会清空E1口学习到的MAC地址

  5. 开启TC While计时器,由SWC的E1口向外发送TC置位的RST BPDU,TC While Timer超时后,停止发送RST BPDU。

  6. SWA交换设备接收到TC置位的BPDU后,会清空E1口学习到的MAC地址,RSTP拓扑收敛完成。

注意:

边缘端口down掉不会触发拓扑变更,故障恢复后也不会触发拓扑变更。

RSTP保护的保护功能

BPDU保护 

如图所示,有人伪造RST BPDU恶意攻击交换设备,当边缘端口接收到该报文时,会自动设置为非边缘端口,并重新进行生成树计算,引起网络震荡。

 

RSTP可以通过BPDU保护功能来规避此问题发生。交换机上启动了BPDU保护功能后,如果边缘端口收到RST BPDU,边缘端口将被error-down,边缘端口属性不变,同时通知网管系统,可有效的防止网络震荡 。

根保护 

如图所示,由于维护人员的错误配置或网络中的恶意攻击,网络中合法根桥有可能会收到优先级更高的RST BPDU,使得合法根桥失去根地位,从而引起网络拓扑结构的错误变动。这种不合法的拓扑变化,会导致原来应该通过高速链路的流量被牵引到低速链路上,造成网络拥塞。

 

此时可以在SWC连接SWD的端口上,配置根保护。对于启用Root保护功能的指定端口,其端口角色只能保持为指定端口。一旦启用Root保护功能的指定端口收到优先级更高的RST BPDU时,端口状态将进入Discarding状态,不再转发报文。在经过一段时间(通常为两倍的Forward Delay),如果端口一直没有再收到优先级较高的RST BPDU,端口会自动恢复到正常的Forwarding状态。

 

TC-BPDU泛洪保护

交换设备在接收到TC BPDU报文后,会执行MAC地址表项和ARP表项的删除操作。如果有人伪造TC BPDU报文恶意攻击交换设备时,交换设备短时间内会收到很多TC BPDU报文,频繁的删除操作会给设备造成很大的负担,给网络的稳定带来很大隐患。

启用防TC-BPDU报文攻击功能后,在单位时间内,交换设备处理TC BPDU报文的次数可配置。如果在单位时间内,交换设备在收到TC BPDU报文数量大于配置的阈值,那么设备只会处理阈值指定的次数。对于其他超出阈值的TC BPDU报文,定时器到期后设备只对其统一处理一次。这样可以避免频繁的删除MAC地址表项和ARP表项,从而达到保护设备的目的。

STP兼容

RSTP可以和STP互相兼容,当同一个网段里既有运行STP的交换机又有运行RSTP的交换机时,STP交换机会忽略接收到的RST BPDU,而RSTP交换机在某端口上接收到STP BPDU时,会等待两个Hello Time时间之后,把自己的端口转换到STP工作模式,此后便发送STP BPDU,这样就实现了兼容性操作。

在这种STP和RSTP混合使用的场景中,RSTP会失去其快速收敛的优势,而STP慢速收敛的缺点会暴露出来,所以不推荐使用这种做法。

RSTP配置案例

如图所示,SWA、SWB和SWC组成了一个环形的交换网络,为了消除环路对网络的影响,故使交换机都运行RSTP,最终将环形网络结构修剪成无环路的树形网络结构。

操作步骤

SWA配置:

[SwitchA] stp enable

[SwitchA] stp mode rstp

[SwitchA] stp root primary

SWB配置:

[SwitchB] stp enable

[SwitchB] stp mode rstp

[SwitchB] stp bpdu-protection

[SwitchB] interface GigabitEthe.NET0/0/4

[SwitchB-GigabitEthernet0/0/4]  stp edged-port enable

SWC配置:

[SwitchC]  stp enable

[SwitchC]  stp mode rstp

[SwitchC]  stp bpdu-protection

[SwitchC]  interface GigabitEthernet0/0/4

[SwitchC-GigabitEthernet0/0/4] stp edged-port enable

验证配置结果

在SWA上查看生成树信息:

在SWB上查看生成树信息:

在SWC上查看生成树信息:



Tags:   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
STP协议虽然能够解决环路问题,但是收敛速度慢,影响了用户通信质量。IEEE于2001年发布的802.1w标准定义了快速生成树协议RSTP(Rapid Spanning-Tree Protocol),RSTP在STP基础上进行...【详细内容】
2022-09-21  Tags:   点击:(0)  评论:(0)  加入收藏
前面可以通过ImagPullPolicy和ImageullSecrets指定下载镜像的策略,ServiceAccount也可以基于spec.imagePullSecret字段附带一个由下载镜像专用的Secret资源组成的列表,用于在...【详细内容】
2022-09-21  Tags:   点击:(0)  评论:(0)  加入收藏
package.json 是前端每个项目都有的 json 文件,位于项目的根目录。许多脚手架在搭建项目时也会自动帮我们自动初始化好 package.json。package.json 里面有许许多多的配置,与...【详细内容】
2022-09-21  Tags:   点击:(3)  评论:(0)  加入收藏
美国谷歌旗下视频网站“YouTube”20日宣布,2023年起采用将短视频“YouTube Shorts”的广告收入分配给制作者的机制。在中资短视频APP“TikTok”(抖音海外版)受年轻人等青睐的背...【详细内容】
2022-09-21  Tags:   点击:(0)  评论:(0)  加入收藏
前言现在市面上对APP的安全合规管控越来越严格了,也就要求了APP在上架之前一定要做合规检测和加固处理。对APP就是加固的好处,可以提高APP的安全性,提高APP被逆向分析破解的门...【详细内容】
2022-09-21  Tags:   点击:(0)  评论:(0)  加入收藏
钉钉小程序官方文档:文档 - 钉钉开放平台吐槽一下,当时文档很不友好(2019年年底前),还会出现打不开的情况,可能现在会好一些吧???踩过很多坑,边调研边开发模式,技术栈uni-app+TS,以下主...【详细内容】
2022-09-21  Tags:   点击:(0)  评论:(0)  加入收藏
华为的Mate50系列新机正式于今日开售,虽然该机全系都不支持5G网络,但按照华为目前的影响力,有没有5G也完全没有影响。该机在配置上此次采用了之前从未有过的昆仑玻璃,称其是首个...【详细内容】
2022-09-21  Tags:   点击:(1)  评论:(0)  加入收藏
注意事项1.单独使用的时候,++和--无论是放在变量的前边还是后边,结果是一样的。 例子: a++ //两个结果一样...【详细内容】
2022-09-21  Tags:   点击:(2)  评论:(0)  加入收藏
串口作为单片机开发的一个常用的外设,应用范围非常广。大部分时候,串口需要接收处理的数据长度是不定的。那么怎么才能判断一帧数据是否结束呢,今天就以STM32单片机为例,介绍几...【详细内容】
2022-09-21  Tags:   点击:(1)  评论:(0)  加入收藏
一、关联分析关联分析,也叫作“购物篮分析”,是一种通过研究用户消费数据,将不同商品之间进行关联,并挖掘二者之间联系的分析方法。关联分析目的是找到事务间的关联性,用以指导决...【详细内容】
2022-09-21  Tags:   点击:(2)  评论:(0)  加入收藏
▌简易百科推荐
STP协议虽然能够解决环路问题,但是收敛速度慢,影响了用户通信质量。IEEE于2001年发布的802.1w标准定义了快速生成树协议RSTP(Rapid Spanning-Tree Protocol),RSTP在STP基础上进行...【详细内容】
2022-09-21  阿豪的笔记  今日头条  Tags:   点击:(0)  评论:(0)  加入收藏
以太网技术目前在全球互联的因特网中始终占据主导地位,但在高带宽、低延时的专有网络中却透露出许多弊端。随着网络融合概念的兴起,在IETF发布了的DCB(Data Center Bridging)...【详细内容】
2022-09-19  光头两毛五  今日头条  Tags:RoCE   点击:(12)  评论:(0)  加入收藏
试想一个问题,我们人类可以有多少种识别自己的方式?可以通过身份证来识别,可以通过社保卡号来识别,也可以通过驾驶证来识别,尽管有多种识别方式,但在特定的环境下,某种识别方法会比...【详细内容】
2022-09-14  互联共商    Tags:DNS   点击:(33)  评论:(0)  加入收藏
应网友要求我特意整理了内网和外网的一些区别,希望对各位有所帮助:1. 内网相对于外网而言,主要指在小范围内的计算机互联网络。这个 “小范围” 可以是一个家庭,一个公司或一个...【详细内容】
2022-09-14  科技资料库    Tags:内网   点击:(12)  评论:(0)  加入收藏
随着 5G 手机的普及,相信大多数消费者已经感受到高速率、低时延的移动网络连接是怎样的体验,简单来说,就是“用了就回不去了”,不过,5G 的使用场景通常是在室外,在家里有 Wi-Fi 的...【详细内容】
2022-09-14    IT之家   Tags:Wi-Fi 6   点击:(11)  评论:(0)  加入收藏
如果你厌倦了那些老古董的DNS服务,那么可以试试Coredns, 因为Caddy出色的插件设计, 所以Coredns的骨架基于caddy构建, 也就继承了良好的扩展性, 又因为Go语言是一门开发效率...【详细内容】
2022-09-13  邓big胖  今日头条  Tags:CoreDNS   点击:(17)  评论:(0)  加入收藏
法国云提供商OVHcloud推出了一项self-IP服务,允许客户在发生中断时重复使用现有的公共IPv4块作为故障转移地址。名为BYOIP的“自带IP导入”服务允许客户通过其OVHcloud控制面...【详细内容】
2022-09-08  慕先生科技馆    Tags:OVHcloud   点击:(32)  评论:(0)  加入收藏
1.常规的网络交互过程是从客户端发起网络请求,用户态的应用程序(浏览器)会生成 HTTP 请求报文、并通过 DNS 协议查找到对应的远端 IP 地址。2.在套接字生成之后进入内核态,浏览...【详细内容】
2022-09-06  微笑橙子mR  今日头条  Tags:IP数据包   点击:(35)  评论:(0)  加入收藏
在三类云资源(计算、存储和网络)中,网络似乎最经得起云原生非功能性需求的考验。例如,计算弹性是通过虚拟机、容器和编配器合理分配的,并通过 CI/CD 管道进行管理。网络在实现方面似乎缺乏弹性。在本文中,我们将试图通过云...【详细内容】
2022-09-06  InfoQ   企鹅号  Tags:SDN   点击:(27)  评论:(0)  加入收藏
先说串口之前写过一篇UART,通用串行异步通讯协议,感兴趣可以参考一下《 我打赌!你还不会UART 》; 因为UART没有时钟信号,无法控制何时发送数据,也无法保证双发按照完全相同的速度...【详细内容】
2022-09-05  嵌入式胖胖  今日头条  Tags:SPI协议   点击:(23)  评论:(0)  加入收藏
相关文章
    无相关信息
站内最新
站内热门
站内头条