详解 RSTP 和 MSTP 的网络实战

368次阅读  |  发布于3年以前

学习网络最重要的步骤之一,就是敲实验。通过动手做实验,可以把抽象的知识变得具体化,也能快速掌握其中的原理和使用场景,还能学会网络设备的实操命令。

之前写过一篇《[图解 RSTP 和 MSTP] 》的文章,但是篇幅有限,只描述了技术原理,现在专门写一篇网络实验,便于更好的理解 RSTP 和 MSTP 相关内容。

RSTP 功能

替代接口

我们用 3 台交换机搭建一个网络环境,部署 RSTP 对网络进行破环,验证 RSTP 新增的替代接口角色。替代接口是根接口的备份。

实验拓扑

实验要求

三台交换机( SW )配置 RSTP 功能,在 SWC 上使用命令查看替代接口。

操作步骤
  1. 三台 SW 按照网络拓扑图,对相应的接口进行连接。SW 默认的生成树工作模式是 MSTP 。

2 . 在三台交换机上分别配置工作模式从默认的 MSTP 改成 RSTP ,并且启动 STP 功能。stp mode 命令用来修改交换机的工作模式。

功能验证
  1. 在设备上使用 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/1ALTE(即 Alternate )表示替代接口。接口状态符合预期,实验成功!

3 . 还可以抓包查看替代接口的 BPDU 报文,详细分析字段代表的含义,深入理解 RSTP 。

备份接口

RSTP 新增了备份接口角色,是指定接口的备份,搭建网络实验进行验证。

实验拓扑

实验要求

在替代接口的实验拓扑基础上,新增一台 HUB ,连接 SWC 的两个接口,使用命令查看备份接口

操作步骤
  1. 按照网络拓扑图,新增一台 HUB ,并连接相应的接口。对应 SWC 来说,它的 Ethernet0/0/1Ethernet0/0/2 接口形成环路,RSTP 能够检测到,并在两个接口中选择一个阻塞。
功能验证
  1. 在 SWC 中,Ethernet0/0/1 接口的接口 ID 更小,成为指定接口,而 Ethernet0/0/2 接口成为备份接口,备份接口被阻塞。在 SWC 上使用 display stp brief 命令查看接口状态,接口状态符合预期,实验成功!

边缘接口

RSTP 新增的边缘接口角色不参与生成树的计算,当边缘接口开启后,立即切换到转发状态并开始收发流量,而不用

实验拓扑

实验要求
操作步骤
  1. 新增 PC1 ,连接 SWC 的 Ethernet0/0/1 接口。
  2. 在 SWC 的 Ethernet0/0/2 接口使用命令 stp edged-port enable 配置成边缘接口。新增 PC2 连接 Ethernet0/0/2 接口。

功能验证
  1. 新增 PC1 时,使用display stp brief 命令查看 SWC 的 Ethernet0/0/1 接口状态。未配置边缘接口时,接口状态从 DiscardingLearning 15秒时间,Learning 再到 Forwarding 15秒时间。

2 . 新增 PC2 时,使用display stp brief 命令查看 SWC 的 Ethernet0/0/2 接口状态。配置边缘接口时,接口直接切换到 Forwarding 状态并开始收发数据,而不用经历 Forward Delay 时间。

RSTP 保护功能

BPDU 保护( BPDU Protection )

边缘接口收到 BPDU 后,会变成一个普通 RSTP 接口,可能会引发网络中的 RSTP 重新计算,对网络造成影响。

为了防止误接交换机或 BPDU 攻击对网络造成影响,可开启 BPDU 保护功能解决问题。如果边缘接口收到 BPDU ,那么交换机立马把接口关闭,同时触发告警。

实验拓扑

实验说明

对比未开启 BPDU 保护功能和开启 BPDU 保护功能的区别。

操作步骤
  1. 未开启 BPDU 保护时:在替代接口的实验拓扑基础上,SWC 的 Ethernet0/0/1 接口开启了边缘接口功能,未开启 BPDU 保护功能。新增一台 SWD 连接 SWC 的 Ethernet0/0/1 接口。SWD 的 MAC最优,在 SWC 上使用 display stp briefdisplay stp 命令查看,根桥从 SWB 变成了 SWD ,所有接口状态也发生相应变化。

2 . 开启 BPDU 保护时:在 SWC 执行 stp bpdu-protection 命令,即所有边缘接口开启 BPDU 保护功能,立马产生告警信息。在 SWC 上使用 display stp briefdisplay stp 命令查看,根桥又从 SWD 变成了 SWB ,Ethernet0/0/1 接口关闭。

功能分析
  1. 边缘接口收到 BPDU 后,变成一个普通 RSTP 接口,由于 SWD 的 MAC 最小,RSTP 重新计算,SWD 成为根桥,所有交换机的接口状态进行相应改变,产生网络震荡。
  2. 边缘接口开启 BPDU 保护功能后,收到 BPDU 就会把接口关闭,同时产生告警。
  3. 边缘接口关闭后不会自动恢复,需要在接口上执行 undo shutdown 命令,或者使用 restart 命令恢复接口。

根保护( Root Protection )

完成收敛的 RSTP 网络中,如果根桥发生变化,那么势必导致 RSTP 重新计算,网络转发受到影响。通常会在根桥的指定接口开启根保护功能,如果收到更优的 BPDU ,就会丢弃这些 BPDU ,并把接口切换到丢弃状态。

在替代接口实验的基础上,新增一台 SWD ,接入到根桥 SWB 的 Ethernet0/0/1 接口,SWD 的 MAC 最优。

实验拓扑

实验说明

对比未开启根保护功能和开启根保护功能的区别。

操作步骤
  1. 未开启根保护时:在替代接口的实验拓扑基础上,新增一台 SWD 连接 SWB 的 Ethernet0/0/1 接口。SWD 的 MAC 地址最优,在 SWB 上使用 display stp briefdisplay stp 命令查看,根桥从 SWB 变成了 SWD ,SWB 上的所有接口状态也发生相应变化。

2 . 开启根保护时:在 SWB 的 Ethernet0/0/1 接口上使用 shutdown 命令关闭接口,然后使用 stp root-protection 命令配置接口的根保护功能,再使用 undo shutdown 命令开启接口。使用 display stp briefdisplay stp 命令查看,根桥是 SWB ,SWB 的 Ethernet0/0/1 接口变成丢弃状态,并且 Protection 字段显示为 ROOT

功能分析
  1. 未开启根保护时,mac 地址更优的 SWD 接入 SWB 的 Ethernet0/0/1 接口后,RSTP 重新计算,SWD 成为根桥,接口状态进行相应改变,并产生网络震荡。
  2. SWB 的 Ethernet0/0/1 接口开启根保护后,会忽略收到的 SWD 的更优 BPDU ,并把接口切换到丢弃状态。

环路保护( Loop Protection )

当链路出现单向故障或网络拥塞时,非根桥的根接口或替代接口收不到 BPDU ,导致交换机重新计算 RSTP ,接口会成为指定接口并切换成转发状态,发送流量,导致网络中出现环路。

我们可以使用环路保护功能来规避这个问题。在接口下使用 stp loop-protection 命令开启环路保护功能,这个接口可以是根接口,也可以是替代接口。配置完成后,使用 display stp brief 命令可以看到 Protection 字段显示为 LOOP 。接口没有收到 BPDU 后,会将接口调整为指定接口,并保持在丢弃状态,从而避免出现环路。

模拟器无法搭建网络环境,无实验内容。

拓扑变更保护( TC Protection )

网络拓扑出现变化,TC BPDU 会泛洪全网,TC BPDU 又会使交换机执行 MAC 地址删除操作,消耗交换机大量性能。

交换机使用 stp tc-protection 命令开启拓扑变更保护功能,交换机默认会在 2 秒内只处理 1 次 TC BPDU ,如果这段时间内,收到更多的 TC BPDU ,那么只能在 2 秒后才进行处理。

MSTP 功能

MSTP 多实例

三台交换机构成一个三角的二层环路,部署 MSTP 可实现网络的无环化。

实验拓扑

实验要求

VLAN 2 - 10 在 SWA 和 SWC 之间的链路传输,VLAN 11 - 20 在 SWB 和 SWC 之间的链路传输。创建两个实例:Instance1Instance2 ,将 VLAN2 至 10 映射到 Instance1 ,将 VLAN11 至 20 映射到 Instance2 ,其余 VLAN 保留在默认的 Instance0 里。

把 SWA 规划成 MSTI1 的主根桥,SWB 规划为次根桥,确保 VLAN2 至 10 的流量在 SWA 和 SWC 之间的链路传输。将 SWB 规划成 MSTI2 主根桥,SWA 规划为次根桥,确保 VLAN11 至 20 的流量在 SWB 和 SWC 之间的链路传输。

操作步骤
  1. 对 SWA 进行配置。

使用 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 命令

日常网络设备调试时,不仅要知道配置命令,还需要了解维护命令,才能完全正确使用 RSTP/MSTP 。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8