//在交换机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
//在交换机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 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协议。
检查S1 STP状态信息在S1上使用stp root primary命令设置为根桥,然后使用命令display stp检查生成树的状态和统计信息
可以观察到,在CIST全局信息中,显示目前STP模式为MSTP,根交换机为S1自身,另外还有交换机各个接口上的STP信息。
使用命令display stp brief检查S1上生成树的状态和统计的摘要信息
可以观察到,此时S1上的端口都为指定端口,且都处于转发状态,为根交换机。
在S1上使用stp root secondary命令设置为次优根桥,然后使用命令display stp brief检查S2上生成树的状态和统计的摘要信息。
使用命令display stp brief检查S3上生成树的状态和统计的摘要信息。
可以观察到,S3上的E 0/0/2为替代端口,处于丢弃状态。
MSTID,即MSTP的实例ID,三台交换机上目前都为0,即在默认情况下,所有VLAN都处于MSTP实例0中。
假如网络管理员配置STP模式为RSTP,最终选举出来的根交换机及被阻塞的端口等结果将和目前MSTP的选举结果一致,即在MSTP的单个实例中,选举规则与RSTP一致,端口角色与状态与RSTP也一致。
PC2:ping 192.168.10.1 -t
PC4:ping 192.168.20.1 -t
可以观察到,目前VLAN 10和VLAN 20的数据包都从S2的接口E 0/0/1转发
可以观察到,在S3的E 0/0/2接口上,没有任何数据包转发,只接收到上行接口周期发送的BPDU。
此时S2与S3间的链路完全处于闲置状态,造成了资源的浪费,也导致了S1与S3间链路上数据转发任务繁重,易引起拥塞丢包。
为了能够有效的利用链路资源,可以通过配置MSTP的多实例来实现。 关闭PC上的ping测试。
//配置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
PC2:ping 192.168.10.1 -t
PC4:ping 192.168.20.1 -t
可以观察到,目前VLAN 10和VLAN 20的数据包仍然从E 0/0/1转发。
在S3的E 0/0/2接口上抓包观察。
可以观察到,在E 0/0/2接口上,仍然没有任何数据包转发,只有接收到的上行接口周期发送的BPDU。
关闭PC上的ping测试。
现在已经配置了MSTP多实例,但由于每个MSTP实例都是单独的一颗生成树,独立进行选举,所以在默认不变动任何生成树参数的情况下,其实每棵生成树的选举结果是一致的。
在S1上使用命令display stp instance 0 brief检查默认实例0中的生成树状态和统计的摘要信息。
在S2上使用命令display stp instance 0 brief检查默认实例0中的生成树状态和统计的摘要信息
在S3上使用命令display stp instance 0 brief检查默认实例0中的生成树状态和统计的摘要信息。
在S1上使用命令display stp instance 1 brief检查实例1中的生成树状态和统计的摘要信息。
在S2上使用命令display stp instance 1 brief检查实例2中的生成树状态和统计的摘要信息。
可以观察到,在三个实例中,选举结果是一致的,都是S3的E 0/0/2接口处于Discarding状态。 现在要实现S2与S3间的链路被利用,可以在实例1中,保持目前生成树选举结果不变,即使得VLAN 10中的HR部门内的流量通过S1与S3间的链路转发。在实例2中,配置使得S2成为根交换机,阻塞S1与S3间的链路,即使得VLAN 20中的IT部门的流量通过S2与S3间的链路转发。
//在S2上使用命令stp instance priority配置其在实例2中的优先级为0,成为实例2中的根交换机。
[S2]undo stp instance 2 root
[S2]stp instance 2 priority 0
再次查看S1实例2的信息
再次检查S3实例2信息
可以观察到,此时S2成为了实例2中的根交换机,所有端口都为指定端口,而S3的E0/0/1接口为替代端口,即S1与S3间的链路现已阻塞。
PC2>ping 192.168.10.1 -t
PC4>ping 192.168.10.1 -t
抓S3的e0/0/1接口
可以观察到,目前VLAN 10的流量都从S3的E0/0/1接口转发。
抓S3的e0/0/2接口
可以观察到,目前VLAN 20的流量都从E0/0/2接口转发。 至此,完成了MSTP的多实例的配置,并达到了流量分担的目的,有效的利用了网络资源,也同时使得S3的两条上行可以互相备份。