网络技术
H3C网络技术
H3C 设备CLI(命令行)管理
H3C基础配置知识
H3C 设备型号概述
H3C网络端口基础信息与配置
H3C网络设备概述
HCL模拟器使用简介
H3C WX2540H 本地portal认证+本地用户认证实现web认证
网络的基本概念与定义
VLAN简介与配置
生成树配置
STP简介与配置
RSTP简介
MSTP基本概念
交换机FTP和TFTP操作
配置文件与升级
网络设备登录管理方式
网络设备文件系统操作
H3C MSR路由器出口双线负载均衡
策略路由配置
以太网链路聚合
DHCP中继
防火墙简单配置实验
华为_HCIP
认识设备-硬件架构与逻辑平面
路由基础-HCIP
OSPF路由基础概述
Router LSA详解
OSPF-Network LSA(二类LSA)与区域内路由计算
OSPF-区域间路由计算
计算机网络-OSPF防环机制
计算机网络-RIP动态路由协议简介
OSPF区域外部路由计算
OSPF特殊区域-Stub区域
计算机网络-NSSA区域与Totally NSSA区域
OSPF路由汇总
OSPF其它特性
IS-IS路由协议基础概念
IS-IS基础概念二
IS-IS邻接关系建立
IS-IS链路状态数据库同步
IS-IS路由计算
IPv6基础概念
IPv6缩写规范与地址分类
ICMPv6基础知识
ICMPv6之NDP协议
计算机网络-IPv6地址配置
DHCPv6基础概念
DHCPv6配置
IPv6路由配置
路由策略与路由工具
计算机网络-Filter-Policy过滤策略
Route-Policy路由策略
策略路由概念与应用
MQC策略简介与配置
流量过滤策略
BGP的背景与概述
BGP基本概念
BGP报文类型简介
BGP状态机制与对等体表项
BGP路由生成与路由表
BGP路由通告原则
BGP基础实验配置
BGP路由优选概述
BGP路由优选原则一Preferred-Value
BGP路由优选原则二-本地优先级
BGP路由优选原则三-路由类型
BGP路由优选原则四-AS_Path属性
BGP路由优选原则五-Origin属性优选
BGP路由优选原则六-优选MED属性值最小的路由
BGP路由优选原则七-EBGP优于IBGP
BGP路由优选原则八-优选IGP Cost值小的路由
BGP路由负载分担
BGP路由反射器与Cluster list选路原则
BGP路由优选原则九-优选Router ID小的设备通告的路由
计算机网络-IP组播基础
组播地址与组播网络组成
组播数据转发原理与RPF
组播分发树与组播协议
IGMP协议简介
IGMPv1工作原理
IGMPv2工作原理简介
IGMPv3的工作原理
IGMP Snooping特性
计算机网络-PIM协议基础概念
PIM-DM密集模式工作原理
基于PIM-DM+IGMP的组播实验配置
PIM-SM(ASM)基础
PIM-SM(SSM)基本原理
PIM-SM组播实验
BFD检测机制
BFD配置实验
VRRP基础概念
VRRP工作原理与选举过程
VRRP主备切换与主备回切
VRRP基础实验一
RSTP基础概念
RSTP工作原理与P/A机制
MSTP概述
MSTP基础概念
MSTP工作原理概述
MSTP基础实验一(单域多实例)
计算机网络-VPN虚拟专用网络概述
计算机网络-GRE(通用路由封装协议)简介
GRE-动态路由协议实验
IPSec VPN基本概念
IPSec VPN工作原理
IPSec VPN基础实验一(主模式)
GRE Over IPSec实验
计算机网络-L2TP VPN基础概念与原理
L2TP VPN基础实验配置
L2TP Over IPSec基础实验
SSH理论基础
VRF基本概念
MPLS基础概念
MPLS转发原理
MPLS静态标签实验
计算机网络-LDP标签分发协议
LDP工作原理-LDP会话建立
LDP标签发布与管理
VPN实例应用于交换机带外管理接口
H3C V7防火墙IPSECVPN配置(主模式配置)
网络设备拨号设置
网络地址分类与子网划分
防火墙区域以及安全策略配置(命令行版)
H3C V7 IPSEC_VPN配置(野蛮模式配置)
华为_HCIA
路由基础
以太网交换基础
VLAN的原理与配置
VLAN间通信
STP生成树简介
华为VRP系统简介
NAT网络地址转换
ACL访问控制列表
AAA的原理与配置
DHCP配置
链路聚合原理与配置
PPP与PPPoE协议
OSPF路由基础
无线通信基础原理
无线组网基本概念
无线网络配置原理与步骤
典型无线组网实验配置
网络设备防火墙是什么?
防火墙工作原理与安全策略
华为VRP系统基础命令配置
本文档使用 MrDoc 发布
-
+
首页
RSTP基础概念
## 一、STP概念复习 在之前的学习中我们已经学习了STP的概念与作用。参考文章:[计算机网络-生成树基础](https://mp.weixin.qq.com/s?__biz=MzU1Mjc0NTI0NQ==&mid=2247484917&idx=1&sn=ae524d9aff5dea7c221448918deb7ebc&chksm=fbfc2587cc8bac91fea3deb9735b36b513cc5f391cfb4ae74ffdd2647bebac7b29a7418f6364#rd) **STP(Spanning Tree Protocol,生成树协议)** 是一种用于在局域网中消除数据链路层物理环路的协议。主要作用是防止交换机冗余链路产生的环路,确保以太网中无环路的逻辑拓扑结构,从而避免了广播风暴和MAC地址表震荡等问题,提高了网络的可靠性和稳定性。 STP工作原理:    STP的不足: - STP没有细致区分端口状态和端口角色,不利于初学者学习及部署。 - 从用户角度来讲,Listening、Learning和Blocking状态并没有区别,都同样不转发用户流量。 - 从使用和配置角度来讲,端口之间最本质的区别并不在于端口状态,而是在于端口扮演的角色。 - STP算法是被动的算法,依赖定时器等待的方式判断拓扑变化,收敛速度慢。 - STP算法要求在稳定的拓扑中,根桥主动发出配置BPDU报文,而其他设备再进行处理,最终传遍整个STP网络。    总结来说就是STP在网络规模较小,或者对网络实时性要求不高的情况下适用,但是对于网络规模大或者要求响应迅速的网络不太适应。 ## 二、RSTP基本概念 随着局域网规模的不断增长,STP拓扑收敛速度慢的问题逐渐凸显,因此,IEEE在2001年发布了802.1W标准,定义了**RSTP(Rapid Spanning Tree Protocol,快速生成树协议)**,RSTP在STP的基础上进行了改进,可实现网络拓扑的快速收敛。 RSTP对STP的改进: - 通过端口角色的增补,简化了生成树协议的理解及部署; - 端口状态的重新划分; - 配置BPDU格式的改变,充分利用了STP协议报文中的Flag字段,明确了端口角色; - 配置BPDU的处理发生变化; - 快速收敛; - 增加保护功能。 RSTP可以兼容STP:RSTP可以和STP互操作,但是此时会丧失快速收敛等RSTP优势。 ## 三、RSTP的改进 ### 3.1 端口角色 STP中定义了三种端口角色:**指定端口**,**根端口**和**预备端口**。 - 指定端口是交换机向所连网段转发配置BPDU的端口,每个网段有且只能有一个指定端口。一般情况下,根桥的每个端口总是指定端口。 - 根端口是非根交换机去往根桥路径最优的端口。在一个运行STP协议的交换机上最多只有一个根端口,但根桥上没有根端口。 - 如果一个端口既不是指定端口也不是根端口,则此端口为预备端口。预备端口将被阻塞。 RSTP通过端口角色的增补,简化了生成树协议的理解与部署。RSTP的端口角色共有4种:**根端口**、**指定端口**、**Alternate端口**和**Backup端口**。 - 根端口和指定端口与STP中定义一致。 - Alternate端口就是由于学习到其它网桥发送的配置BPDU报文而阻塞的端口,它提供了从指定桥到根的另一条可切换路径,作为根端口的备份端口。 - Backup端口就是由于学习到自己发送的配置BPDU报文而阻塞的端口,它作为指定端口的备份,提供了另一条从根桥到相应网段的备份通路。  不同之处在于具体定义了STP中模糊的预备端口,分为Alternate端口和Backup端口对根端口和指定端口进行备份。 ### 3.2 端口状态 STP对于端口状态划分为5种:Forwarding:转发状态、Learning:学习状态、Listening:侦听状态、Blocking:阻塞状态Disabled:禁用状态。  RSTP的状态规范缩减为3种,根据端口是否转发用户流量和学习MAC地址来划分: - Discarding状态:不转发用户流量也不学习MAC地址; - Learning状态:不转发用户流量但是学习MAC地址; - Forwarding状:既转发用户流量又学习MAC地址。 只从转发流量和学习MAC的方面进行划分即可。 端口状态对比: |STP端口状态 |RSTP端口状态 |端口在拓扑中的角色| |---|---|---| |Forwarding| Forwarding| 包括根端口、指定端口| |Learning| Learning| 包括根端口、指定端口| |Listening| Discarding| 包括根端口、指定端口| |Blocking| Discarding| 包括Alternate端口、Backup端口| |Disabled| Discarding| 包括Disable端口| RSTP对STP的端口状态进行了简化和明确定义。 ### 3.3 配置BPDU - RST BPDU RSTP的配置BPDU充分利用了STP报文中的Flag字段,明确了端口角色。 除了保证和STP格式基本一致之外,RSTP作了如下变化: - Type字段:配置BPDU类型不再是0而是2,所以运行STP的设备收到RSTP的配置BPDU时会丢弃。 - Flag字段:使用了原来保留的中间6位,这样改变的配置BPDU叫做RST BPDU。  STP中BPDU Type指示本BPDU的类型,若值为0x00,则表示本报文为配置BPDU;若值为0x80,则为TCN BPDU ,Flags标志位总共8bit,只使用了最低和最高位用于拓扑变更和拓扑变更确认,RSTP现在使用了中间的6位用来表示端口状态和PA机制等。 标志,1 Byte,包括: - 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,表示拓扑变化。 ### 3.4 配置BPDU的处理 RSTP针对BPDU报文处理进行了一些优化以加快收敛。 1、BPDU发送方式 STP拓扑稳定后,根桥按照Hello Time规定的时间间隔发送配置BPDU。其他非根桥设备在收到上游设备发送过来的配置BPDU后,才会触发发出配置BPDU,此方式使得STP计算复杂且缓慢。 RSTP在拓扑稳定后,无论非根桥设备是否接收到根桥传来的配置BPDU报文,非根桥设备仍然按照Hello Time规定的时间间隔发送配置BPDU,该行为完全由每台设备自主进行。  就是原来只有根桥更新之后才会往下游的交换机发送BPDU更新,导致的收敛缓慢。现在各个非根桥交换机也可以发送配置BPDU报文,收敛较快。 2、BPDU超时时间 在STP中,当端口出现故障没有接收到配置BPDU需要等待Max Age计时器(20 s)超时,然后才会重新泛洪选举根桥。 RSTP中,如果一个端口在超时时间(即三个周期,超时时间=Hello Time×3)内没有收到上游设备发送过来的配置BPDU,那么该设备认为与此邻居之间的协商失败。  这个机制可以实现故障的快速感知和收敛。 3、处理次优BPDU STP:只有指定端口会立即处理次优BPDU,其他端口会忽略次优BPDU,等到Max Age计时器超时后,缓存的次优BPDU才会老化,然后发送自身更优的BPDU,进行新一轮的拓扑收敛。 RSTP:处理次优BPDU报文不再依赖于任何定时器(即不再依赖于BPDU老化)解决拓扑收敛,同时RSTP的任何端口角色都会处理次优BPDU,从而加快了拓扑收敛。  简单说就是更快的收敛时间加上非根端口处理次优配置BPDU报文加速拓扑收敛。 ### 3.5 快速收敛机制 1、根端口快速切换 如果网络中一个根端口失效,那么网络中最优的Alternate端口将成为根端口,进入Forwarding状态。因为通过这个Alternate端口连接的网段上必然有个指定端口可以通往根桥。  2、指定端口快速切换 如果网络中一指定端口失效,那么网络中最优的Backup端口将成为指定端口,进入Forwarding状态。因为Backup端口作为指定端口的备份,提供了另一条从根桥到相应网段的备份通路。  3、边缘端口 (Edge Port) 在RSTP里面,如果某一个端口位于整个网络的边缘,即不再与其他交换设备连接,而是直接与终端设备直连,这种端口可以设置为边缘端口。 边缘端口不参与RSTP计算,可以由Discarding直接进入Forwarding状态。  4、Proposal/Agreement机制(P/A机制)  RSTP通过P/A机制加快了上游端口进入Forwarding状态的速度。 在RSTP中,当一个端口被选举成为指定端口之后,会先进入Discarding状态,再通过P/A机制快速进入Forwarding状态。 在**STP**中,该端口至少要等待一个**Forward Delay(Learning)15s** 时间才会进入到Forwarding状态。 也就是STP选举成为指定端口后从Disabled状态到Listening状态再经过Forward Delay(15 s)时间才能切换到Forwarding状态进行业务转发,时间比较长,在RSTP中通过P/A机制指定端口可以快速切换到转发状态。 ### 3.6 拓扑变更机制 在RSTP中检测拓扑是否发生变化只有一个标准:一个非边缘端口迁移到Forwarding状态。 在STP中,如果拓扑发生了变化,需要先向根桥传递TCN BPDU,再由根桥来通知拓扑变更,泛洪TC置位的配置BPDU。  一旦检测到拓扑发生变化,将进行如下处理: - 为本交换设备的所有非边缘指定端口和根端口启动一个TC While Timer,该计时器值是Hello Time的两倍。在这个时间内,清空所有端口上学习到的MAC地址。 - 同时,由非边缘指定端口和根端口向外发送RST BPDU,其中TC置位。一旦TC While Timer超时,则停止发送RST BPDU。 - 其他交换设备接收到RST BPDU后,清空所有端口(除了收到RST BPDU的端口和边缘端口)学习到MAC地址,然后也为自己所有的非边缘指定端口和根端口启动TC While Timer,重复上述过程。 在链路发生故障时,经过6s时间BPDU超时,然后SW3的预备端口切换为根端口,然后启动定时器在4s内清空除了接收BPDU端口和边缘端口的MAC地址表,理论上就是每隔4s经过一个设备最终实现全网RST BPDU泛洪。 ### 3.7 保护功能 RSTP提供了几层保护机制。 1、边缘BPDU保护  正常情况下,边缘端口不会收到RST BPDU。如果有人伪造RST BPDU恶意攻击交换设备,当边缘端口接收到RST BPDU时,交换设备会自动将边缘端口设置为非边缘端口,并重新进行生成树计算,从而引起网络震荡。 交换设备上启动了BPDU保护功能后,如果边缘端口收到RST BPDU,边缘端口将被error-down,但是边缘端口属性不变,同时通知网管系统。 在进行网络规划时提前规划边缘端口,加快收敛,边缘BPDU保护功能防止恶意通过边缘端口进行攻击发生。 2、根保护(Root保护)  对于启用根保护功能的指定端口,其端口角色只能保持为指定端口。 一旦启用根保护功能的指定端口收到优先级更高的RST BPDU时,端口将进入Discarding状态,不再转发报文。经过一段时间(通常为两倍的Forward Delay),如果端口一直没有再收到优先级较高的RST BPDU,端口会自动恢复到正常的Forwarding状态。 根保护功能确保了根桥的角色不会因为一些网络问题而改变,防止出现根桥角色变动导致网络震荡。 3、环路保护  在运行RSTP的网络中,根端口状态是依靠不断接收来自上游交换设备的RST BPDU维持。当由于链路拥塞或者单向链路故障导致根端口收不到来自上游交换设备的RST BPDU时,此时交换设备会重新选择根端口。 如图所示,当SW1和SW3之间的链路发生单向链路故障时,SW3由于根端口在超时时间内收不到来自上游设备的BPDU报文,Alternate端口切换成根端口,根端口切换成指定端口,从而形成了环路。 在启动了环路保护功能后,如果根端口或Alternate端口长时间收不到来自上游设备的BPDU报文时,则向网管发出通知信息(此时根端口会进入Discarding状态,角色切换为指定端口),而Alternate端口则会一直保持在Discarding状态(角色也会切换为指定端口),不转发报文,从而不会在网络中形成环路。 4、防TC-BPDU攻击  交换设备在接收到TC置位的RST BPDU报文后,会执行MAC地址表项的删除操作。如果有人伪造TC置位的RST BPDU报文恶意攻击交换设备时,交换设备短时间内会收到很多RST BPDU报文,频繁的删除操作会给设备造成很大的负担,给网络的稳定带来很大隐患。 启用防TC-BPDU报文攻击功能后,在单位时间内,交换设备处理TC BPDU报文的次数可配置。 如果在单位时间内,交换设备在收到TC BPDU报文数量大于配置的阈值,那么设备只会处理阈值指定的次数。 对于其他超出阈值的TC BPDU报文,定时器到期后设备只对其统一处理一次。这样可以避免频繁的删除MAC地址表项,从而达到保护设备的目的。 简单说就是配置清理MAC表处理的阈值,防止频繁删除MAC表项。 总结:复习了一些前面学习的STP内容。STP用于防止局域网环路以及提供冗余,但是因为端口角色、端口状态、BPDU处理机制等收敛速度较慢,在现在的大型网络中影响较大。RSTP在STP基础上增补了端口角色与精简了端口状态,通过**Alternate端口、Backup端口**实现快速切换,**更短的BPDU超时时间**、**边缘端口**、**P/A机制**实现指定端口快速转发数据。更加快速的拓扑变更机制可以在短时间实现RST BPDU全网泛洪收敛,提供了**边缘BPDU保护**、**根保护**、**环路保护**和**防TC攻击机制。**
Chuck
2024年10月12日 15:32
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码