学习网络最重要的步骤之一,就是敲实验。通过动手做实验,可以把抽象的知识变得具体化,也能快速掌握其中的原理和使用场景,还能学会网络设备的实操命令。
之前写过一篇《[图解 RSTP 和 MSTP] 》的文章,但是篇幅有限,只描述了技术原理,现在专门写一篇网络实验,便于更好的理解 RSTP 和 MSTP 相关内容。
我们用 3 台交换机搭建一个网络环境,部署 RSTP 对网络进行破环,验证 RSTP 新增的替代接口角色。替代接口是根接口的备份。
三台交换机( SW )配置 RSTP 功能,在 SWC 上使用命令查看替代接口。
2 . 在三台交换机上分别配置工作模式从默认的 MSTP 改成 RSTP ,并且启动 STP 功能。stp mode
命令用来修改交换机的工作模式。
display stp
命令查看 RSTP 状态 ,发现 SWB 的 MAC 地址最小,选举为根桥。SWB 的桥 ID 是 32768.4c1f-cc61-1681,其中 32768 是 SWB 的优先级值,4c1f-cc61-1681 是 SWB 的 MAC 地址。根桥的 MAC 地址是 SWB 的 MAC 地址,说明 SWB 就是根桥。2 . SWC 有两个接口接入网络,由于从 GE0/0/2 到达根桥的 RPC 更小,因此 GE0/0/2 成为 SWC 的根接口,GE0/0/1 成为替代接口。使用 display stp brief
命令查看 RSTP 接口的状态 。Role 为 ROOT 时表示根接口,Role 为 DESI(即 Designated )时表示指定接口,SWB 的 GigabitEthernet0/0/1 为 ALTE(即 Alternate )表示替代接口。接口状态符合预期,实验成功!
3 . 还可以抓包查看替代接口的 BPDU 报文,详细分析字段代表的含义,深入理解 RSTP 。
RSTP 新增了备份接口角色,是指定接口的备份,搭建网络实验进行验证。
在替代接口的实验拓扑基础上,新增一台 HUB ,连接 SWC 的两个接口,使用命令查看备份接口。
display stp brief
命令查看接口状态,接口状态符合预期,实验成功!RSTP 新增的边缘接口角色不参与生成树的计算,当边缘接口开启后,立即切换到转发状态并开始收发流量,而不用
stp edged-port enable
配置成边缘接口。新增 PC2 连接 Ethernet0/0/2 接口。display stp brief
命令查看 SWC 的 Ethernet0/0/1 接口状态。未配置边缘接口时,接口状态从 Discarding 到 Learning 15秒时间,Learning 再到 Forwarding 15秒时间。2 . 新增 PC2 时,使用display stp brief
命令查看 SWC 的 Ethernet0/0/2 接口状态。配置边缘接口时,接口直接切换到 Forwarding 状态并开始收发数据,而不用经历 Forward Delay 时间。
边缘接口收到 BPDU 后,会变成一个普通 RSTP 接口,可能会引发网络中的 RSTP 重新计算,对网络造成影响。
为了防止误接交换机或 BPDU 攻击对网络造成影响,可开启 BPDU 保护功能解决问题。如果边缘接口收到 BPDU ,那么交换机立马把接口关闭,同时触发告警。
对比未开启 BPDU 保护功能和开启 BPDU 保护功能的区别。
display stp brief
和 display stp
命令查看,根桥从 SWB 变成了 SWD ,所有接口状态也发生相应变化。2 . 开启 BPDU 保护时:在 SWC 执行 stp bpdu-protection
命令,即所有边缘接口开启 BPDU 保护功能,立马产生告警信息。在 SWC 上使用 display stp brief
和 display stp
命令查看,根桥又从 SWD 变成了 SWB ,Ethernet0/0/1 接口关闭。
undo shutdown
命令,或者使用 restart
命令恢复接口。完成收敛的 RSTP 网络中,如果根桥发生变化,那么势必导致 RSTP 重新计算,网络转发受到影响。通常会在根桥的指定接口开启根保护功能,如果收到更优的 BPDU ,就会丢弃这些 BPDU ,并把接口切换到丢弃状态。
在替代接口实验的基础上,新增一台 SWD ,接入到根桥 SWB 的 Ethernet0/0/1 接口,SWD 的 MAC 最优。
对比未开启根保护功能和开启根保护功能的区别。
display stp brief
和 display stp
命令查看,根桥从 SWB 变成了 SWD ,SWB 上的所有接口状态也发生相应变化。2 . 开启根保护时:在 SWB 的 Ethernet0/0/1 接口上使用 shutdown
命令关闭接口,然后使用 stp root-protection
命令配置接口的根保护功能,再使用 undo shutdown
命令开启接口。使用 display stp brief
和 display stp
命令查看,根桥是 SWB ,SWB 的 Ethernet0/0/1 接口变成丢弃状态,并且 Protection 字段显示为 ROOT 。
当链路出现单向故障或网络拥塞时,非根桥的根接口或替代接口收不到 BPDU ,导致交换机重新计算 RSTP ,接口会成为指定接口并切换成转发状态,发送流量,导致网络中出现环路。
我们可以使用环路保护功能来规避这个问题。在接口下使用 stp loop-protection
命令开启环路保护功能,这个接口可以是根接口,也可以是替代接口。配置完成后,使用 display stp brief
命令可以看到 Protection 字段显示为 LOOP 。接口没有收到 BPDU 后,会将接口调整为指定接口,并保持在丢弃状态,从而避免出现环路。
模拟器无法搭建网络环境,无实验内容。
网络拓扑出现变化,TC BPDU 会泛洪全网,TC BPDU 又会使交换机执行 MAC 地址删除操作,消耗交换机大量性能。
交换机使用 stp tc-protection
命令开启拓扑变更保护功能,交换机默认会在 2 秒内只处理 1 次 TC BPDU ,如果这段时间内,收到更多的 TC BPDU ,那么只能在 2 秒后才进行处理。
三台交换机构成一个三角的二层环路,部署 MSTP 可实现网络的无环化。
VLAN 2 - 10 在 SWA 和 SWC 之间的链路传输,VLAN 11 - 20 在 SWB 和 SWC 之间的链路传输。创建两个实例:Instance1 和 Instance2 ,将 VLAN2 至 10 映射到 Instance1 ,将 VLAN11 至 20 映射到 Instance2 ,其余 VLAN 保留在默认的 Instance0 里。
把 SWA 规划成 MSTI1 的主根桥,SWB 规划为次根桥,确保 VLAN2 至 10 的流量在 SWA 和 SWC 之间的链路传输。将 SWB 规划成 MSTI2 主根桥,SWA 规划为次根桥,确保 VLAN11 至 20 的流量在 SWB 和 SWC 之间的链路传输。
使用 stp region-configuration
命令进入设备的 MST 域视图,在这个视图下进行 MST 域的相关配置。region-name
命令用于修改 MST 域名,默认 MST 域名是设备的 MAC 地址。默认这些命令未生效,需要使用 active region-configuration
命令进行激活。stp instance 1 root primary
命令是将 SWA 设置为 MSTI1 的主根桥,stp instance 2 root secondary
命令是将 SWA 设置为 MSTI2 的次根桥。
2 . 对 SWB 进行配置。
3 . 对 SWC 进行配置。
完成所有交换机配置后,查看 SWC 的接口状态。
在 MSTI1 中,SWC 的 G0/0/2 接口处于丢弃状态,那么 MSTI1 的流量是在 SWA 和 SWC 的链路进行传输。在 MSTI2 中,SWC 的 G0/0/1 接口处于丢弃状态,那么 MSTI2 的流量是在 SWB 和 SWC 的链路进行传输。结果符合预期,实验成功!
交换机开启后,生成树协议有一些参数会有默认值,不用手动、自动生成的配置。具体参数默认值如下:
日常网络设备调试时,不仅要知道配置命令,还需要了解维护命令,才能完全正确使用 RSTP/MSTP 。
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8