3.3 RSTP原理与配置

2016年4月14日 0 条评论 4.32k 次阅读 1 人点赞

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:

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

Sevenfal

这个人太懒什么东西都没留下

文章评论(0)