10 秒看完文章主要内容,试试你有多快。
STP 的弊端
上次有写过一篇《图解 STP 》的文章,里面有提到 STP 的功能是消除环路和链路备份,同时也发现 STP 的一些问题:
-
网络收敛速度慢:BPDU 的 Max Age 值是 20 秒,接口从侦听到学习状态和从学习到转发状态分别有一个 15 秒的转发延迟时间,因此一个接口从阻塞到转发状态需要 30 ~ 50 秒的时间,这段时间内接口无法正常使用。
-
接口状态不合理:STP 接口的禁用、阻塞、侦听状态类似,功能高度重合。
-
拓扑变化依赖计时器:根交换机发送配置 BPDU 的 Hello Time 是 2 秒,非根交换机即使没收到 BPDU ,也要在 Max Age 的 20 秒后,才会重新计算 STP 。
什么是收敛?
收敛是指网络进入稳定状态。比如在 STP 中所有接口获得接口角色,进入转发或阻塞状态。收敛时间是指网络从发生变化到进入稳定状态的时间。
RSTP
鉴于 STP 的优缺点都很明显,弃之又觉得可惜,还是抢救一下吧。于是升级版的 RSTP 出现了,对 STP 进行了大量的改进。
RSTP 增加新的接口角色,其中的替代接口可在交换机的根接口失效时,立即成为新的根接口,获取新的路径到达根桥。RSTP 使用 P/A 机制,让指定接口能够快速进入转发状态,而不用像 STP 那样经过 Forward Delay 时间。RSTP 还新增边缘接口的概念,让交换机接入终端设备的接口立即进入转发状态。
RSTP 接口角色
RSTP 在 STP 的基础上增加了接口角色,4 种接口角色分别是:根接口( RP )、指定接口( DP )、替代接口( Alternate Port ,AP )和备份接口( Backup Port ,BP )。根接口和指定接口与 STP 中定义相同,对于 STP 的非根非指定接口,RSTP 将其分为两种,一种是替代接口,另一种是备份接口。
1、替代接口( Alternate Port ,AP )
替代接口就是根接口的备份,由于收到其它交换机发送的更优 BPDU 而被阻塞的接口。如果根接口发生故障,那么替代接口会成为新的根接口。接口切换过程中,无需延时,无需 BPDU 交互,立马进入到转发状态。
一台交换机如果是非根桥,那么它有且只有一个根接口,但是这台交换机可以没有替代接口,也可以有,当有替代接口时,可以有一个或多个。当交换机的根接口发生故障时,最优的替代接口将成为新的根接口。
如上图所示,SW1 是网络中的根桥,SW3 有两个接口接入到网络中,由于 G0/11 比 G0/12 到达根桥的 RPC 更小,G0/11 成为 SW3 的根接口。G0/12 收到 SW2 发送的 BPDU ,经过 SW3 计算后决定阻塞,成为 SW3 的替代接口。
2、备份接口( Backup Port ,BP )
备份接口也是指定接口的备份,备份接口是交换机收到了自己发送的 BPDU 而被阻塞的接口。如果一台交换机的多个接口在同一个物理网段内,其中一个选举为指定接口,其它接口选举为备份接口且处于丢弃状态,备份接口作为这个网段到达根桥的冗余接口。如果交换机的指定接口发生故障,最优的备份接口成为新的指定接口,为根交换机与这条链路提供另一条转发通道,实现与这个网段的数据交互。
备份接口通常在这两种情况下出现,一种是交换机的多个接口连接到一台集线器( Hub )上,但是集线器和共享网络几乎绝迹。另一种情况是同一台交换机的两个接口通过一条网线连接起来,这种通常是人为的误操作。因此备份接口比较少见。
如上图所示,SW1 是网络中的根桥,SW2 的 G0/11 和 G0/12 接口形成自环,RSTP 能够检测到这个环路,并在这两个接口中选择一个进行阻塞。由于 G0/11 接口的接口 ID 更小,成为 SW2 的指定接口,而 G0/12 接口成为备份接口,备份接口被阻塞。