STP 由于收敛速度慢,影响通信质量,(一般都是15~50s)。
IEEE 于2001年发布的802.1w 定义了快速生成树协议RSTP (Rapid Spanning-Tree Protocol),在STP 的基础上进行了改进,实现网络拓扑快速收敛。
端口概念
角色 | 描述 |
Backup Port | 作为指定端口的备份,提供了另外一条从根桥到非根桥的备份链路。 |
Alternat Port | 作为根端口的备份端口,提供了从指定桥到根桥的另一条备份路径。 |
Edge Port | 位于网络边缘的指定端口被称为边缘端口,与用户终端设备连接,不参与任何交换设备连接。 不接手配置BPDU,不参与RSTP 运算,可以由Discarding 直接进入Forwarding。 但是 一旦边缘端口接收到了配置BPDU,就丧失边缘端口属性,称为普通STP 端口, 并且重新进行生成树计算,引起网络震荡。(配置边缘端口保护) |
端口状态
STP | RSTP | 端口角色 |
Disable | Discarding | Disable |
Blocking | Discarding | Alternate、Backup端口 |
Listening | Discarding | 根端口、指定端口 |
Learning | Learning | 根端口、指定端口 |
Forwarding | Forwarding | 根端口、指定端口 |
RSTP 把STP 的5种端口状态简化成了3种。
1、Discarding 既不转发也不学习。
2、Learning 不转发,但是学习mac地址。
3、Forwarding 既转发,也学习。
RST BPDU:
BPDU Type 用来区分是stp 的BPDU还是 RST
STP的值是0(0x00),TCN BPDU 的值为128(0x80)
RST的值是2(0x02)
在STP中Flags字段只定义了TC(拓扑变化Topology Change)和TCA(拓扑变化确认ToPology Change Acknowledge),其他字段保留。
RSTP则使用了此Flags位更多的标识。
关于发送配置BPDU 的区别:
STP中 根桥按照Hello Time 的时间间隔发送配置BPDU ,其他非根桥设备收到配置BPDU 后才会触发发送配置BPDU 。
RSTP中 无论是否收到上游设备发送的配置BPDU,非根桥设备都会按照Hello Time的时间间隔发送配置BPDU ,由非根桥设备自主发送,不受根桥控制。
RSTP的收敛过程:
• 初始状态都认为自己是根桥,所有端口为指定端口,处理Discarding状态,发送配置 RST BPDU。
• RST BPDU 中的Proposal 置位,与接收到的对端BPDU 对比优先级,如果自己优,则丢弃对端BPDU ,将Proposal 置位的本地BPDU 到对端。
• 使用同步机制来实现角色端口的协商,当收到置位RST BPDU 且优先级高于时,交换机设置所有下游端口为Discarding 状态,但是Alternat和Edge端口不变。
• 确认下游端口为Discarding 状态后,设备发送RST BPDU 回复上游设备发送的Proposal 消息,在此过程中,端口被确认为根端口,报文中Flags 字段里面设置Agreement标记位和根端口角色。
• 上游交换机收到Agreement 置位的RST BPDU 后指定端口立即进入Forwarding 状态,下游网段进行同样的协商端口角色。
拓扑变化:
链路故障/根桥失效
在STP 中交换机需要等待Max Age(20s)时间后才确认出了故障
在RSTP 中交换机端口连续3次Hello Time(2s)规定的时间内没有收到上游RST BPDU 就确认出了故障。
当发生链路故障,交换机经过3次Hello Time 检测到故障后,立即清除连接此链路的所有端口上的mac地址表项,接下来协商端口状态,拓扑变化通知报文会随着Agreement 和TC 置位为1 的RST BPDU 一起转发,通知上游设备清除所有其他端口的mac地址表项,除了收到TC 置位的端口,图中红叉表示被清除mac地址表项的端口。
RSTP 和STP 的兼容:
运行RSTP 的设备在某端口上收到STP 的BPDU 时会等待2 个Hello Time的时间后把该端口设置为STP 工作模式。
STP会忽略RST BPDU。
配置:
• 需要在所有运行RSTP 的设备上配置RSTP
stp mode rstp
• 边缘端口(STP,RSTP)
stp edge-port enable(针对端口)
stp edge-port disable
stp edge-port default(所有端口都设置成边缘端口)
• 根保护
stp root-protection(针对根桥上的指定端口,一旦启用而且收到了更高优先级的BPDU ,端口会停止转发报文进入Listening 状态,经过?时间后如果没有继续收到则恢复到原来状态。不能配置在边缘端口以及启用了环路保护功能的端口)
• 边缘端口保护
[huawei]stp bpdu-protection
• 环路保护
交换机通过持续收到上游设备的BPDU 来维护根端口和阻塞端口的状态,由于链路拥塞或者单向链路故障,交换机不能收到上游设备的BPDU,则重新选举根端口,最初的根端口会变成指定端口,阻塞端口进入转发,这样就可能导致网络环路,
当启用了环路保护之后,如果没有收到上游交换机发送的BPDU,则根端口会进入阻塞,阻塞端口仍然阻塞。
stp loop-protection(针对接口)
查看
display stp interface
P/A机制
http://www.zhihu.com/question/35495673
文章评论(0)