PS:本篇仅挑选作者认为重要的模块,并不全面仅供复习参考,具体请自行查阅相关书籍。设有H3CNE-H3CTE学习博客专栏,敬请关注。
RSTP:快速生成树协议
RSTP是从STP发展而来,实现的基本思想一致
RSTP具备STP的所有功能,可以兼容STP运行
RSTP和STP有所不同:
减少了端口状态
增加了端口角色
BPDU格式及发送方式不同
当交换网络拓扑结构发生变化时, RSTP可以更快地恢复网络的连通性
RSTP的端口状态:
RSTP将端口状态缩减为三个:
1.Discarding
2.Learning
3.Forwarding
RSTP新增端口角色:
1.Alternate:替代口,备份RP口
2.Backup:备份口,备份DP口
替代口和备份口正常都处于Discarding状态
RSTP协议下 只有配置BPDU消息,取消了TCN BPDU消息!!!
RSTP BPDU格式:
和STP相比不同之处有:
1.Protocol Version ID变为2
2.BPDU Type变为2
3.使用了Flags字段的全部8位
4.增加Version 1 Length字段
1.网桥自行从指定端口发送RSTP BPDU,不需要等待来自根桥的RST BPDU。发送周期为Hello Time
2.RST BPDU老化时间为3个连续的Hello Time(默认2s)时长
3.阻塞状态的端口可以立即对收到的低优先级的RST BPDU做出回应,发送自己保留的BPDU
STP中端口需要等待两个Forward Delay时长才能进入转发状态,如果想缩短收敛时间只能手工配置Forward Delay为较小的值,但是这样可能会影响网络的稳定性
RSTP提出了快速收敛机制,包括
1.边缘端口机制
2.根端口快速切换机制
3.指定端口快速切换机制
RSTP协议中:人为把那些连接到终端且开启了RSTP功能的端口定义为边缘端口
(1)边缘端口连接终端立刻进入转发状态
(2)边缘端口误连STP交换机,边缘端口收到BPDU,变为非边缘端口
(3)边缘端口down掉,不会导致STP收敛
指定端口快速切换:
指定端口可以通过与相连的网桥进行一次握手,快速进入转发状态。
握手请求报文:Proposal
握手回应报文:Agreement
P/A机制条件:握手必须在点到点链路进行
交换机A--------------------------------------------------交换机B
如果A的端口角色被判定为DP口
-------------------proposal提议消息---------------->>
B的端口能判定是RP口
<<<-------------Agreement同意消息---------------
A的DP口立刻进入转发
RSTP拓扑改变处理机制:
拓扑改变触发条件:
只有非边缘端口转变为Forwarding状态时,产生拓扑改变
拓扑改变处理:
在两倍Hello时间内向所有其它指定端口和根端口发送TC置位BPDU报文。
清除除接收到TC报文的端口之外的所有指定端口和根端口学习的MAC地址
RSTP和STP的兼容运行:
RSTP的端口连续三次接收到版本为STP的BPDU,则端口协议将切换到STP协议
切换到STP协议的RSTP端口将丧失快速收敛特性。
出现STP与RSTP混用的情况,建议将STP设备放在网络边缘。
运行STP的网桥移除后,由RSTP模式切换到STP模式的端口仍将运行在STP模式
RSTP配置:
华为:dot1t 华三:私有 思科:dot1d
配置端口的优先级:
端口ID由两部分组成:
PortPriority(0-255,默认128)+PortIndex
通过命令配置可以改变端口优先级
[H3C-Ethernet0/1] stp port priority port-priority
配置端口的Hello Time:
Hello Time的配置需要注意:
较长的Hello Time可以降低生成树计算的消耗
过长的Hello Time会导致对链路故障的反应迟缓
较短的Hello Time可以增强生成树的健壮性
过短的Hello Time会导致频繁发送配置消息,加重CPU和网络负担
配置命令为:
[H3C] stp timer hello centiseconds
配置端口的Max Age:
Max Age的配置需要注意:
过长的Max Age会导致链路故障不能被及时发现
过短的Max Age可能会在网络拥塞的时候使交换机误认为链路故障,造成频繁的生成树重新计算
配置命令为:
[H3C] stp timer max-age centiseconds
配置端口的Forward Delay:
Forward Delay的配置需要注意:
过长的Forward Delay会导致生成树的收敛太慢
过短的Forward Delay可能会在拓扑改变的时候,引入暂时的路径环路
配置命令为:
[H3C] stp timer forward-delay centiseconds
配置网络直径:
网络直径:
任意两台终端设备之间通过的交换机数目的最大值
改变网络直径会间接影响到Max Age和Forward Delay这两个参数的值,这种方法比直接手工配置两个参数更为可靠。
所以当网络中加入交换机可以通过改变网络直径参数来达到适应网络状况的目的。
配置命令为:
[H3C] stp bridge-diameter bridgenum
配置端口为边缘端口:
[H3C-Ethernet0/1 ] stp edged-port
全局或端口视图执行mCheck操作:用于端口自动从stp切换成rstp
[H3C] stp global mcheck
[H3C-Ethernet0/1 ] stp mcheck