成品拓扑下载链接:MSTP多实例树基础配置案例
背景介绍:
在一个复杂的网络中,由于冗余备份的需要,网络规划者一般都倾向于在设备之间部署多条物理链路,其中一条作为主用链路,其他作为备份链路。这样就难免会形成环路,若网络中存在环路,可能会引起广播风暴和 MAC 表项被破坏。为此,可以在网络中部署 MSTP 协议预防环路。MSTP 可阻塞二层网络中的冗余链路,将网络修剪成树状,达到消除环路的目的。
如图 1 所示,SwitchA、SwitchB、SwitchC 和 SwitchD 都运行 MSTP。为实现 VLAN2~VLAN10和VLAN11~VLAN20的流量负载分担,MSTP 引入了多实例。MSTP 可设置 VLAN 映射表,把VLAN 和生成树实例相关联。
配置思路
1. 在处于环形网络中的交换设备上配置 MSTP 基本功能。
2. 配置处于环网中的设备的二层转发功能
操作步骤
1. 配置 MSTP 基本功能
a. 配置 SwitchA、SwitchB、SwitchC和SwitchD到域名为huawei的域内,创建实例 MSTI和实例 MSTI2
# 配置 SwitchA 的 MST 域。
<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] stp region-configuration
[SwitchA-mst-region] region-name huawei
[SwitchA-mst-region] instance 1 vlan 2 to 10
[SwitchA-mst-region] instance 2 vlan 11 to 20
[SwitchA-mst-region] active region-configuration
[SwitchA-mst-region] quit
# 配置 SwitchB 的 MST 域。
<HUAWEI> system-view
[HUAWEI] sysname SwitchB
[SwitchB] stp region-configuration
[SwitchB-mst-region] region-name huawei
[SwitchB-mst-region] instance 1 vlan 2 to 10
[SwitchB-mst-region] instance 2 vlan 11 to 20
[SwitchB-mst-region] active region-configuration
[SwitchB-mst-region] quit
# 配置 SwitchC 的 MST 域。
<HUAWEI> system-view
[HUAWEI] sysname SwitchC
[SwitchC] stp region-configuration
[SwitchC-mst-region] region-name huawei
[SwitchC-mst-region] instance 1 vlan 2 to 10
[SwitchC-mst-region] instance 2 vlan 11 to 20
[SwitchC-mst-region] active region-configuration
[SwitchC-mst-region] quit
# 配置 SwitchD 的 MST 域。
<HUAWEI> system-view
[HUAWEI] sysname SwitchD
[SwitchD] stp region-configuration
[SwitchD-mst-region] region-name huawei
[SwitchD-mst-region] instance 1 vlan 2 to 10
[SwitchD-mst-region] instance 2 vlan 11 to 20
[SwitchD-mst-region] active region-configuration
[SwitchD-mst-region] quit
b. 在域 huawei 内,配置 MSTI1 与 MSTI2 的根桥与备份根桥
- 配置 MSTI1 的根桥与备份根桥
# 配置 SwitchA 为 MSTI1 的根桥。
[SwitchA] stp instance 1 root primary
# 配置 SwitchB 为 MSTI1 的备份根桥。
[SwitchB] stp instance 1 root secondary
- 配置 MSTI2 的根桥与备份根桥
# 配置 SwitchB 为 MSTI2 的根桥。
[SwitchB] stp instance 2 root primary
# 配置 SwitchA 为 MSTI2 的备份根桥。
[SwitchA] stp instance 2 root secondary
c. 配置实例 MSTI1 和 MSTI2 中将要被阻塞端口的路径开销值大于缺省值
# 配置 SwitchC 的端口路径开销计算方法为华为计算方法,将端口 GE0/0/2 在实例MSTI2 中的路径开销值配置为 20000。
[SwitchC] interface gigabitethernet 0/0/2
[SwitchC-GigabitEthernet0/0/2] stp instance 2 cost 20000
[SwitchC-GigabitEthernet0/0/2] quit
# 配置 SwitchD 的端口路径开销计算方法为华为计算方法,将端口 GE0/0/2 在实例MSTI1 中的路径开销值配置为 20000。
[SwitchD] interface gigabitethernet 0/0/2
[SwitchD-GigabitEthernet0/0/2] stp instance 1 cost 20000
[SwitchD-GigabitEthernet0/0/2] quit
2. 配置处于环网中的设备的二层转发功能
a. 在交换设备 SwitchA、SwitchB、SwitchC 和 SwitchD 上创建 VLAN2~20
# 在 SwitchA 上创建 VLAN2~20。
[SwitchA] vlan batch 2 to 20
# 在 SwitchB 上创建 VLAN2~20。
[SwitchB] vlan batch 2 to 20
# 在 SwitchC 上创建 VLAN2~20。
[SwitchC] vlan batch 2 to 20
# 在 SwitchD 上创建 VLAN2~20。
[SwitchD] vlan batch 2 to 20
b. 将交换设备上接入环路中的端口加入 VLAN
# 将 SwitchA 端口 GE0/0/1 加入 VLAN。
[SwitchA] interface gigabitethernet 0/0/1
[SwitchA-GigabitEthernet0/0/1] port link-type trunk
[SwitchA-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 to 20
[SwitchA-GigabitEthernet0/0/1] quit
# 将 SwitchA 端口 GE0/0/2 加入 VLAN。
[SwitchA] interface gigabitethernet 0/0/2
[SwitchA-GigabitEthernet0/0/2] port link-type trunk
[SwitchA-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 20
[SwitchA-GigabitEthernet0/0/2] quit
# 将 SwitchA 端口 GE0/0/1 加入 VLAN。
[SwitchA] interface gigabitethernet 0/0/3
[SwitchA-GigabitEthernet0/0/1] port link-type access
[SwitchA-GigabitEthernet0/0/1] port default vlan 11
[SwitchA-GigabitEthernet0/0/1] quit
# 将 SwitchB 端口 GE0/0/1 加入 VLAN。
[SwitchB] interface gigabitethernet 0/0/1
[SwitchB-GigabitEthernet0/0/1] port link-type trunk
[SwitchB-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 to 20
[SwitchB-GigabitEthernet0/0/1] quit
# 将 SwitchB 端口 GE0/0/2 加入 VLAN。
[SwitchB] interface gigabitethernet 0/0/2
[SwitchB-GigabitEthernet0/0/2] port link-type trunk
[SwitchB-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 20
[SwitchB-GigabitEthernet0/0/2] quit
# 将 SwitchB 端口 GE0/0/1 加入 VLAN。
[SwitchB] interface gigabitethernet 0/0/1
[SwitchB-GigabitEthernet0/0/1] port link-type access
[SwitchB-GigabitEthernet0/0/1] port default vlan 2
[SwitchB-GigabitEthernet0/0/1] quit
# 将 SwitchC 端口 GE0/0/1 加入 VLAN。
[SwitchC] interface gigabitethernet 0/0/1
[SwitchC-GigabitEthernet0/0/1] port link-type access
[SwitchC-GigabitEthernet0/0/1] port default vlan 2
[SwitchC-GigabitEthernet0/0/1] quit
# 将 SwitchC 端口 GE0/0/2 加入 VLAN。
[SwitchC] interface gigabitethernet 0/0/2
[SwitchC-GigabitEthernet0/0/2] port link-type trunk
[SwitchC-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 20
[SwitchC-GigabitEthernet0/0/2] quit
# 将 SwitchC 端口 GE0/0/3 加入 VLAN。
[SwitchC] interface gigabitethernet 0/0/3
[SwitchC-GigabitEthernet0/0/3] port link-type trunk
[SwitchC-GigabitEthernet0/0/3] port trunk allow-pass vlan 2 to 20
[SwitchC-GigabitEthernet0/0/3] quit
# 将 SwitchD 端口 GE0/0/1 加入 VLAN。
[SwitchD] interface gigabitethernet 0/0/1
[SwitchD-GigabitEthernet0/0/1] port link-type access
[SwitchD-GigabitEthernet0/0/1] port default vlan 11
[SwitchD-GigabitEthernet0/0/1] quit
# 将 SwitchD 端口 GE0/0/2 加入 VLAN。
[SwitchD] interface gigabitethernet 0/0/2
[SwitchD-GigabitEthernet0/0/2] port link-type trunk
[SwitchD-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 20
[SwitchD-GigabitEthernet0/0/2] quit
# 将 SwitchD 端口 GE0/0/3 加入 VLAN。
[SwitchD] interface gigabitethernet 0/0/3
[SwitchD-GigabitEthernet0/0/3] port link-type trunk
[SwitchD-GigabitEthernet0/0/3] port trunk allow-pass vlan 2 to 20
[SwitchD-GigabitEthernet0/0/3] quit
结果验证
注:本配置举例以实例 1 和实例 2 为例,因此不用关注实例 0 中端口的状态。
# 在 SwitchA上执display stp brief命令,查看端口状态,结果如下:
在 MSTI1 中,由于SwitchA是根桥,SwitchA的端口GE0/0/2和GE0/0/1成为指定端口。在 MSTI2 中,SwitchA 的端口 GE0/0/1 成为指定端口,端口 GE0/0/2 成为根端口。
# 在 SwitchB 上执行 display stp brief 命令,结果如下:
在 MSTI2 中,由于SwitchB是根桥,端口GE0/0/1 和 GE0/0/2 在 MSTI2 中成为指定端口。
在 MSTI1 中,SwitchB 的端口 GE0/0/1 成为指定端口,端口 GE0/0/2 成为根端口。
# 在 SwitchC 上执行 display stp interface brief 命令,结果如下:
SwitchC 的端口GE0/0/3在MSTI1和MSTI2 中为根端口。SwitchC 的另一个端口 GE0/0/2,在MSTI2 中被阻塞,在 MSTI1 中被计算为指定端口。
# 在 SwitchD 上执行 display stp interface brief 命令,结果如下:
SwitchD 的端口 GE0/0/3在MSTI1和 MSTI2 中为根端口。SwitchD 的另一个端口 GE0/0/2,
在MSTI1 中被阻塞,在 MSTI2 中被计算为指定端口。