首页 > 其他分享 >22 RSTP(Rapid STP/快速生成树)

22 RSTP(Rapid STP/快速生成树)

时间:2023-11-01 16:35:11浏览次数:31  
标签:状态 BPDU RSTP 22 端口 Rapid STP RST

随着局域网规模的不断增长,STP拓扑收敛速度慢的问题逐渐凸显,因此,IEEE在2001年发布了802.1W标准,定义了RSTP(Rapid Spanning Tree Protocol,快速生成树协议),RSTP在STP的基础上进行了改进,可实现网络拓扑的快速收敛。

STP不足之处

STP对计时器的依赖

初始化场景

STP采用计时器防止临时环路,当STP选举出端口角色后,即便角色为指定端口和根端口,仍然需要等待两个Forward Delay时间(30s)才能进入转发。

image

终端接入场景

在运行STP的环境下,终端或服务器接入后,由于端口需要从Disabled状态依次切换到Blocking 、 Listening 、Learning及Forwarding状态,此时主机A在接入后,需要等待两个Forward Delay时间才能访问网络服务。

image

STP重收敛过程慢

直连故障

被阻塞的端口会从Blocking状态,依次切换到Listening及Learning状态,最终进入Forwarding状态。直连链路故障,端口状态转换,延时30s后进入Forwarding状态。
image

非直连故障

由于被阻塞端口上不再收到更优的BPDU,因此20s后端口开始从Blocking状态依次切换到Listening、Learning及Forwarding状态。非直连故障会导致50s左右的恢复时间,等于Max Age加上2倍的Forward Delay时间。

image

STP的拓扑变更机制

STP的拓扑变更机制,需要先将拓扑变化信息传递给根桥,再由根桥向下游泛洪拓扑变化信息。

image

RSTP

IEEE 802.1W中定义的RSTP可以视为STP的改进版本,RSTP在许多方面对STP进行了优化,它的收敛速度更快,而且能够兼容STP。
RSTP对STP的改进:
通过端口角色的增补,简化了生成树协议的理解及部署;
端口状态的重新划分;
配置BPDU格式的改变,充分利用了STP协议报文中的Flag字段,明确了端口角色;
配置BPDU的处理发生变化;
快速收敛;
增加保护功能。

RSTP改进点:端口角色

通过端口角色的增补,简化了生成树协议的理解与部署。RSTP端口角色如下
根端口(RP)
指定端口(DP)
替代端口(Alternate Port)
备份端口(Backup Port)

替代端口(参考STP端口角色定义中的Non-Discaring Port):作为RP的替换端口
image

备份端口(防止自环的端口):作为DP的替换端口
image

其余端口根据STP端口角色定义的概念

RSTP改进点:端口状态

RSTP的状态规范缩减为3种,根据端口是否转发用户流量和学习MAC地址来划分,就是将STP的端口状态中的Disabled,Blocking,Listening合为一个Discarding:
Discarding状态:不转发用户流量也不学习MAC地址;
Learning状态:不转发用户流量但是学习MAC地址;
Forwarding状:既转发用户流量又学习MAC地址。

image

RSTP改进点:配置BPDU - RST BPDU

RSTP的配置BPDU充分利用了STP报文中的Flag字段,明确了端口角色。 除了保证和STP格式基本一致之外,RSTP作了如下变化:
Type字段:配置BPDU类型不再是0而是2,所以运行STP的设备收到RSTP的配置BPDU时会丢弃。
Flag字段:使用了原来保留的中间6位,这样改变的配置BPDU叫做RST BPDU。

image

bit 7:TCA,表示拓扑变化确认;
bit 6:Agreement,表示同意,用于P/A机制;
bit 5:Forwarding,表示转发状态;
bit 4:Learning,表示学习状态;
bit 3和bit 2:表示端口角色,00表示未知端口,01表示替代或备份端口,10表示
根端口,11表示指定端口;
bit 1:Proposal,表示提议,用于P/A机制;
bit 0:TC,表示拓扑变化。

RSTP改进点:配置BPDU的处理

RSTP对配置BPDU的发送方式进行了改进, 在拓扑稳定后,无论非根桥设备是否接收到根桥传来的配置BPDU报文,非根桥设备仍然按照Hello Time规定的时间间隔发送配置BPDU,该行为完全由每台设备自主进行。在运行生成树算法的网络中,如果交换设备在配置的超时时间内没有收到上游交换设备发送的BPDU,就认为上游交换设备已经出现故障,本设备会重新进行生成树计算。如果一个端口在超时时间(即三个周期,超时时间=Hello Time×3)内没有收到上游设备发送过来的配置BPDU,那么该设备认为与此邻居之间的协商失败。STP需要先等待一个MaxAge。

image

RSTP改进点:次优BPDU处理

当一个端口收到上游的指定桥发来的RST BPDU报文时,该端口会将自身缓存的RST BPDU与收到的RST BPDU进行比较。如果该端口缓存的RST BPDU优于收到的RST BPDU,那么该端口会直接丢弃收到的RST BPDU,立即回应自身缓存的RST BPDU,从而加快收敛速度。

image

RSTP改进点:根端口/指定端口快速切换

如果网络中一个根端口失效,那么网络中最优的Alternate端口将成为根端口,进入Forwarding状态。因为通过这个Alternate端口连接的网段上必然有个指定端口可以通往根桥。

image

如果网络中一指定端口失效,那么网络中最优的Backup端口将成为指定端口,进入Forwarding状态。因为Backup端口作为指定端口的备份,提供了另一条从根桥到相应网段的备份通路。

image

RSTP改进点:边缘端口快速收敛机制

在RSTP里面,如果某一个端口位于整个网络的边缘,即不再与其他交换设备连接,而是直接与终端设备直连,这种端口可以设置为边缘端口。边缘端口不参与RSTP计算,可以由Discarding直接进入Forwarding状态。但是一旦边缘端口收到配置BPDU,就丧失了边端口属性,成为普通STP端口,并重新进行生成树计算,从而引起网络震荡。

image

RSTP改进点8:快速收敛机制(Proposal/Agreement机制)

通过阻塞自己的非根端口来保证不会出现环路。而使用P/A机制加快了上游端口进入Forwarding状态的速度。

P/A机制图解

SW2与SW1互联的端口收到更优的RST BPDU后,马上意识到自己将成为根端口,而不是指定端口,停止发送RST BPDU。SW1的指定端口进入Discarding状态,发送Proposal位置位的RST BPSU。

image

SW2收到根桥发送来的Proposal位置位的RST BPDU,开始将自己的所有端口进入同步状态。各端口同步后,SW2的下游端口同步过程:替代端口,状态不变;边缘端口,不参与计算;阻塞非边缘指定
端口。

image

SW1收到的Agreement位置位的RST BPDU是对刚刚自己发出的 Proposal 的回应 , 于是指定端口马上进入Forwarding状态。

image

RSTP改进点:拓扑变更机制

在RSTP中检测拓扑是否发生变化只有一个标准:一个非边缘端口迁移到Forwarding状态。一旦检测到拓扑发生变化,为本交换设备的所有非边缘指定端口和根端口启动一个TC While Timer,该计时器值是Hello Time的两倍。在这个时间内,清空状态发生变化的端口上学习到的MAC地址。同时,由非边缘指定端口和根端口向外发送RST BPDU,其中TC置位。一旦TC While Timer超时,则停止发送RST BPDU。 其他交换设备接收到RST BPDU后,清空所有端口(除了收到RST BPDU的端口和边缘端口)学习到MAC地址,然后也为自己所有的非边缘指定端口和根端口启动TC While Timer,重复上述过程。

image

RSTP改进点:保护功能1

正常情况下,边缘端口不会收到RST BPDU。如果有人伪造RST BPDU恶意攻击交换设备,当边缘端口接收到RST BPDU时,交换设备会自动将边缘端口设置为非边缘端口,并重新进行生成树计算,从而引起网络震荡。 交换设备上启动了BPDU保护功能后,如果边缘端口收到RST BPDU,边缘端口将被error-down,但是边缘端口属性不变,同时通知网管系统。

image

RSTP改进点:保护功能2(根保护)

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

image

RSTP改进点:保护功能3(TC防护/默认开启)

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

image

RSTP的工作流程

每一台交换机启动RSTP后,都认为自己是“根桥”,并且发送RST BPDU且Proposal置位。 所有端口都为指定端口,处于Discarding状态。

image

SW2收到更优的RST BPDU后,经比较认为SW1才是当前根桥,此时SW2的端口将成为根端口,而不是指定端口,停止发送RST BPDU。SW1的端口进入Discarding状态,发送Proposal位置位的RST BPDU。SW2收到后阻塞除边缘端口以外的所有其他端口 (该过程称为同步过程)。SW2的各端口同步后,根端口立即进入Forwarding状态,并向SW1返回Agreement位置位的RST BPDU。SW1 收 到 该 报 文 后 , 会 让 指 定 端 口 立 即 进 入Forwarding状态。

image

下游链路的设备互联端口会进行新一轮的P/A协商。SW2的下游端口设置为指定端口,持续发送Proposal位置位的RST BPDU。SW3的下游端口收到该BPDU后,发现不是本设备收到的最优BPDU,则会忽略,不会发送Agreement位置位的RST BPDU。 SW2的下游端口一直收不到Agreement位置位的回应报文,等待2倍的Forward Delay后,进入转发状态。

image

RSTP命令

Huawei] stp mode { stp | rstp | mstp }
[Huawei] stp root primary
[Huawei] stp root Secondary
[Huawei] stp priority priority
[Huawei] stp pathcost-standard { dot1d-1998 | dot1t | legacy }
[Huawei-GigabitEthernet0/0/1] stp cost cost
[Huawei-GigabitEthernet0/0/1] stp priority priority
[Huawei-GigabitEthernet0/0/1] stp edged-port enable
[Huawei] stp bpdu-protection
[Huawei-GigabitEthernet0/0/1] stp root-protection
[Huawei-GigabitEthernet0/0/1] stp loop-protection
Huawei] stp tc-protection interval interval-value
[Huawei] stp tc-protection threshold threshold

标签:状态,BPDU,RSTP,22,端口,Rapid,STP,RST
From: https://www.cnblogs.com/Metkey/p/17783168.html

相关文章

  • 2022 CSPJ
     直接模拟即可,注意特判#include<iostream>#include<cstdio>#include<ctime>#include<cstdlib>#include<cmath>#include<cstring>#include<algorithm>#definemaxn200010#defineLLlonglongusingnamespacestd;intmain(){......
  • Visual Studio 2022使用总结
    如何让新建的文件默认为utf8编码点击扩展,管理扩展,搜索utf8,选择ForceUTF-8(WithBOM)2022,安装后重启即可。注意:这里还有一个NoBOM版本,但是该版本的编码在VisualStudio2022下输出中文会报错。经历:我在windows下写好的cpp文件,在linux编译后运行发现中文乱码,后来发现linux显......
  • 【Redis】Ubuntu22.04安装Redis
    Redis数据库安装前言:最近想要学习用Python控制Redis的方法,但是Redis官网是不支持Windows直接安装的,各种大佬的Windows移植版本也比较老,虽然够用,但是也希望使用官网版本。网上的各种安装教程或多或少都存在一点问题,这里我针对我所使用的服务器版本安装Redis服务进行整理,若与我采......
  • 【专题】2022年中国财税数字化行业研究报告PDF合集分享(附原数据表)
    数字化是复杂系统中的一个重要驱动因素,它得到了技术进步的支持。随着以大数据、物联网、云计算、人工智能等为代表的数字技术的不断成长和成熟,企业必须应对的内外部环境发生了翻天覆地的变化。新的全球生产力革命的一个关键驱动因素是数字智能化。企业的采购、生产、经营、销售等商......
  • C#编程工具Visual Studio2022新特性(持续。。。)
    VS从2017年开始变动比较大,目前最新的版本是2022年版,框架也比之前的高级一丢丢,如果是老用户,可能对它的新特性还不是很习惯,跟着我一起对VS2022新特性进行深入探索:一、之前的编码模板的改变(对比)在VS2022中如果要切换到旧版本模板呢,你可以在创建项目时选择“.NETFramework”项目......
  • 国产蓝牙PHY6222支持BLE5.2参数特性介绍支持MESH/透传/定位
    特性:封装;QFN32工作电压范围1.8v至3.6v嵌入式buckdc-dc和ldos电池监视器关断电流0.3uA睡眠电流1uA4.7mA的接受电流为3.3V4.7mA的0db的发射功率为3.3vMCU:<60uA/MHz支持ble2mbps协议BLE5.1可兼容BLE5.0支持mash组网传输速率-90dBm125khz传输速率-103dBm温度:-40℃~125......
  • 【专题】2022新消费增长洞察报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34074近年来,随着中国消费升级的趋势,新兴消费品牌在市场上逐渐崭露头角。这些品牌以挑战者的身份进入市场,通过创新的供应链、产品和营销策略,以用户为核心满足新的消费需求,实现了短期内的强劲增长和销售规模的快速扩张。然而,经济环境、疫情冲击和激烈......
  • 【专题】2022年中国新消费白皮书报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34074近年来,随着中国消费升级的趋势,新兴消费品牌在市场上逐渐崭露头角。这些品牌以挑战者的身份进入市场,通过创新的供应链、产品和营销策略,以用户为核心满足新的消费需求,实现了短期内的强劲增长和销售规模的快速扩张。然而,经济环境、疫情冲击和激烈......
  • 【专题】2022中国新消费发展洞察暨品牌力榜单报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34074近年来,随着中国消费升级的趋势,新兴消费品牌在市场上逐渐崭露头角。这些品牌以挑战者的身份进入市场,通过创新的供应链、产品和营销策略,以用户为核心满足新的消费需求,实现了短期内的强劲增长和销售规模的快速扩张。然而,经济环境、疫情冲击和激烈......
  • 【专题】2022年中国新消费产业数字化研究报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34074近年来,随着中国消费升级的趋势,新兴消费品牌在市场上逐渐崭露头角。这些品牌以挑战者的身份进入市场,通过创新的供应链、产品和营销策略,以用户为核心满足新的消费需求,实现了短期内的强劲增长和销售规模的快速扩张。然而,经济环境、疫情冲击和激烈......