MSTP基础配置

实验组网:

1685929880897

1685929641484

实验步骤:

根据上图中的信息,进行配置PC机的ip和子网掩码,然后保存应用

配置交换机S1的Vlan

//在交换机S1上创建VLAN 10与20,并将连接PC的端口配置成为Access类型接口,划入相应VLAN。交换机间的接口配置成为Trunk接口,允许所有VLAN 通过。
<Huawei>system-view
[Huawei]sysname S1
[S1]vlan batch 10 20 
[S1]interface Ethernet0/0/3 
[S1-Ethernet0/0/3]port link-type access 
[S1-Ethernet0/0/3]port default vlan 10
[S1-Ethernet0/0/3]interface Ethernet0/0/1
[S1-Ethernet0/0/1]port link-type trunk 
[S1-Ethernet0/0/1]port trunk allow-pass vlan all
[S1-Ethernet0/0/1]interface Ethernet0/0/2
[S1-Ethernet0/0/2]port link-type trunk
[S1-Ethernet0/0/2]port trunk allow-pass vlan all

配置交换机S2的Vlan

//在交换机S1上创建VLAN 10与20,并将连接PC的端口配置成为Access类型接口,划入相应VLAN。交换机间的接口配置成为Trunk接口,允许所有VLAN 通过。
<Huawei>system-view
[Huawei]sysname S1
[S1]vlan batch 10 20 
[S1]interface Ethernet0/0/3 
[S1-Ethernet0/0/3]port link-type access 
[S1-Ethernet0/0/3]port default vlan 10
[S1-Ethernet0/0/3]interface Ethernet0/0/1
[S1-Ethernet0/0/1]port link-type trunk 
[S1-Ethernet0/0/1]port trunk allow-pass vlan all
[S1-Ethernet0/0/1]interface Ethernet0/0/2
[S1-Ethernet0/0/2]port link-type trunk
[S1-Ethernet0/0/2]port trunk allow-pass vlan all

配置交换机S3的Vlan

//在交换机S3上创建VLAN 10与20,并将连接PC的端口配置成为Access类型接口,划入相应VLAN。交换机间的接口配置成为Trunk接口,允许所有VLAN 通过。
<Huawei>system-view
[Huawei]sysname S3
[S3]vlan batch 10 20
[S3]interface Ethernet0/0/3
[S3-Ethernet0/0/3]port link-type access 
[S3-Ethernet0/0/3]port default vlan 10
[S3-Ethernet0/0/3]interface Ethernet0/0/4
[S3-Ethernet0/0/4]port link-type access 
[S3-Ethernet0/0/4]port default vlan 20
[S3-Ethernet0/0/4]interface Eth0/0/1 
[S3-Ethernet0/0/1]port link-type trunk 
[S3-Ethernet0/0/1]port trunk allow-pass vlan all
[S3-Ethernet0/0/1]interface Ethernet0/0/2
[S3-Ethernet0/0/2]port link-type trunk 
[S3-Ethernet0/0/2]port trunk allow-pass vlan al

理解MSTP的运行机制及验证单实例

当网络管理员按照设计搭建完公司二层网络后,启动设备。在华为交换机上默认即运行MSTP协议。

检查S1 STP状态信息在S1上使用stp root primary命令设置为根桥,然后使用命令display stp检查生成树的状态和统计信息

可以观察到,在CIST全局信息中,显示目前STP模式为MSTP,根交换机为S1自身,另外还有交换机各个接口上的STP信息。

1685931155396

检查S1 STP摘要信息

使用命令display stp brief检查S1上生成树的状态和统计的摘要信息

可以观察到,此时S1上的端口都为指定端口,且都处于转发状态,为根交换机。

1685931298819

检查S2 STP摘要信息

在S1上使用stp root secondary命令设置为次优根桥,然后使用命令display stp brief检查S2上生成树的状态和统计的摘要信息。

1685931382611

检查S3 STP摘要信息

使用命令display stp brief检查S3上生成树的状态和统计的摘要信息。

1685931472094

可以观察到,S3上的E 0/0/2为替代端口,处于丢弃状态。

MSTID,即MSTP的实例ID,三台交换机上目前都为0,即在默认情况下,所有VLAN都处于MSTP实例0中。

假如网络管理员配置STP模式为RSTP,最终选举出来的根交换机及被阻塞的端口等结果将和目前MSTP的选举结果一致,即在MSTP的单个实例中,选举规则与RSTP一致,端口角色与状态与RSTP也一致。

在PC2、PC4上发包

PC2:ping 192.168.10.1 -t

PC4:ping 192.168.20.1 -t

在S3的e0/0/1抓包

可以观察到,目前VLAN 10和VLAN 20的数据包都从S2的接口E 0/0/1转发

1685931956583

在S3的E0/0/2抓包

1685932111395

可以观察到,在S3的E 0/0/2接口上,没有任何数据包转发,只接收到上行接口周期发送的BPDU。

此时S2与S3间的链路完全处于闲置状态,造成了资源的浪费,也导致了S1与S3间链路上数据转发任务繁重,易引起拥塞丢包。

为了能够有效的利用链路资源,可以通过配置MSTP的多实例来实现。 关闭PC上的ping测试。

配置MSTP多实例

//配置S1 MSTP域
使用命令stp region-configuration进入MST域视图。
[S1]stp region-configuration 
[S1-mst-region]
使用命令region-name 配置MST域名为huawei。
[S1-mst-region]region-name huawei
使用命令revision-level 配置MSTP的修订级别为1。
[S1-mst-region]revision-level 1
使用命令instance指定VLAN 10映射到MSTI 1,指定VLAN 20映射到MSTI 2。
[S1-mst-region]instance 1 vlan 10
[S1-mst-region]instance 2 vlan 20
使用命令active region-configuration 激活MST域配置。
[S1-mst-region]active region-configuration Info: This operation may take a few seconds. Please wait for a moment...done.
激活域后,配置S1为两个实例的根桥。
stp instance 1 root primary
stp instance 2 root primary
//配置S2 MSTP域
在S2上做同样配置,注意,在同一MST域中,必须具有相同域名,修订级别,以及VLAN到MSTI的映射关系。激活域后,配置S2为两个实例的次优根桥。
[S2]stp region-configuration 
[S2-mst-region]region-name huawei
[S2-mst-region]revision-level 1
[S2-mst-region]instance 1 vlan 10 
[S2-mst-region]instance 2 vlan 20
[S2-mst-region]active region-configuration 
//配置S3 MSTP域
在S3上做同样配置,注意,在同一MST域中,必须具有相同域名,修订级别,以及VLAN到MSTI的映射关系。 [S3]stp region-configuration  
[S3-mst-region]region-name huawei 
[S3-mst-region]revision-level 1 
[S3-mst-region]instance 1 vlan 10 
[S3-mst-region]instance 2 vlan 20 
[S3-mst-region]active region-configuration 

检查S1、S2、S3 MST域配置信息

1685934303959

1685934329465

1685934361190

在PC2、PC4进行发包,抓包s3的e0/0/1、e0/0/2

PC2:ping 192.168.10.1 -t

PC4:ping 192.168.20.1 -t

1685935028464

可以观察到,目前VLAN 10和VLAN 20的数据包仍然从E 0/0/1转发。

1685935093934

在S3的E 0/0/2接口上抓包观察。

可以观察到,在E 0/0/2接口上,仍然没有任何数据包转发,只有接收到的上行接口周期发送的BPDU。

关闭PC上的ping测试。

现在已经配置了MSTP多实例,但由于每个MSTP实例都是单独的一颗生成树,独立进行选举,所以在默认不变动任何生成树参数的情况下,其实每棵生成树的选举结果是一致的。

检查实例信息

1685935294606

在S1上使用命令display stp instance 0 brief检查默认实例0中的生成树状态和统计的摘要信息。

1685935604088

在S2上使用命令display stp instance 0 brief检查默认实例0中的生成树状态和统计的摘要信息

1685935333080

在S3上使用命令display stp instance 0 brief检查默认实例0中的生成树状态和统计的摘要信息。

1685935392008

在S1上使用命令display stp instance 1 brief检查实例1中的生成树状态和统计的摘要信息。

1685935660623

在S2上使用命令display stp instance 1 brief检查实例2中的生成树状态和统计的摘要信息。

1685935795613

可以观察到,在三个实例中,选举结果是一致的,都是S3的E 0/0/2接口处于Discarding状态。 现在要实现S2与S3间的链路被利用,可以在实例1中,保持目前生成树选举结果不变,即使得VLAN 10中的HR部门内的流量通过S1与S3间的链路转发。在实例2中,配置使得S2成为根交换机,阻塞S1与S3间的链路,即使得VLAN 20中的IT部门的流量通过S2与S3间的链路转发。

配置S2在实例2中为根

//在S2上使用命令stp instance priority配置其在实例2中的优先级为0,成为实例2中的根交换机。 
[S2]undo stp instance 2 root 
[S2]stp instance 2 priority 0

再次查看S1实例2的信息

1685936075072

再次检查S3实例2信息

1685936122910

可以观察到,此时S2成为了实例2中的根交换机,所有端口都为指定端口,而S3的E0/0/1接口为替代端口,即S1与S3间的链路现已阻塞。

在PC2、PC4上发包

PC2>ping 192.168.10.1 -t

PC4>ping 192.168.10.1 -t

抓S3的e0/0/1接口

1685936261194

可以观察到,目前VLAN 10的流量都从S3的E0/0/1接口转发。

抓S3的e0/0/2接口

1685936322042

可以观察到,目前VLAN 20的流量都从E0/0/2接口转发。 至此,完成了MSTP的多实例的配置,并达到了流量分担的目的,有效的利用了网络资源,也同时使得S3的两条上行可以互相备份。

最后修改:2023 年 06 月 05 日
如果觉得我的文章对你有用,请随意赞赏