您的当前位置:首页正文

网络拓扑实例02:MSTP功能

2023-09-03 来源:个人技术集锦
⽹络拓扑实例02:MSTP功能

组⽹图形MSTP简介

以太⽹交换⽹络中为了进⾏链路备份,提⾼⽹络可靠性,通常会使⽤冗余链路。但是使⽤冗余链路会在交换⽹络上产⽣环路,引发⼴播风暴以及MAC地址表不稳定等故障现象,从⽽导致⽤户通信质量较差,甚⾄通信中断。为解决交换⽹络中的环路问题,提出了⽣成树协议STP(Spanning Tree Protocol)。STP(Spanning Tree Protocol)是⽤来解决⽹络中环路问题的协议。运⾏该协议的设备通过彼此交互信息⽽发现⽹络中的环路,并对某些端⼝进⾏阻塞以消除环路。

与众多协议的发展过程⼀样,⽣成树协议也是随着⽹络的发展⽽不断更新的,从最初的IEEE 802.1D中定义的STP到IEEE 802.1W中定义的快速⽣成树协议RSTP(Rapid Spanning Tree Protocol),再到最新的IEEE 802.1S中定义的多⽣成树协议MSTP(MultipleSpanning Tree Protocol)。

⽣成树协议中,MSTP兼容RSTP、STP,RSTP兼容STP。三种⽣成树协议的⽐较如表1所⽰。

表1 三种⽣成树协议的⽐较⽣成树协议STP特点形成⼀棵⽆环路的树,解决⼴播风暴并实现冗余备份。收敛速度较慢。RSTP()形成⼀棵⽆环路的树,解决⼴播风暴并实现冗余备份。收敛速度快。形成多棵⽆环路的树,解决⼴播风暴并实现冗余备份。收敛速度快。多棵⽣成树在VLAN间实现负载均衡,不同VLAN的流量按照不同的路径转发。需要区分⽤户或业务流量,并实现负载分担。不同的VLAN通过不同的⽣成树转发流量,每棵⽣成树之间相互独⽴。应⽤场景⽆需区分⽤户或业务流量,所有VLAN共享⼀棵⽣成树。MSTP组⽹需求

在⼀个复杂的⽹络中,由于冗余备份的需要,⽹络规划者⼀般都倾向于在设备之间部署多条物理链路,其中⼀条作为主⽤链路,其他作为备份链路。这样就难免会形成环路,若⽹络中存在环路,可能会引起⼴播风暴和MAC表项被破坏。为此,可以在⽹络中部署MSTP协议预防环路。MSTP可阻塞⼆层⽹络中的冗余链路,将⽹络修剪成树状,达到消除环路的⽬的。

如图1所⽰,SwitchA、SwitchB、SwitchC和SwitchD都运⾏MSTP。为实现VLAN2~VLAN10和VLAN11~VLAN20的流量负载分担,MSTP引⼊了多实例。MSTP可设置VLAN映射表,把VLAN和⽣成树实例相关联。配置思路

在处于环形⽹络中的交换设备上配置MSTP基本功能。

配置保护功能,实现对设备或链路的保护。例如:在各实例的根桥设备指定端⼝配置根保护功能。配置设备的⼆层转发功能。

说明:

设备配置根保护功能后,如果根桥和备份根桥之间的链路down了,则配置根保护的端⼝状态会因为根保护功能⽣效直接变成discarding状态。为了提⾼可靠性,建议根桥和备份根桥之间的链路绑定Eth-Trunk。

操作步骤

配置MSTP基本功能

  a.配置SwitchA、SwitchB、SwitchC和SwitchD到域名为RG1的域内,创建实例MSTI1和实例MSTI2  # 配置实例1的根桥SwitchA的MST域。

1 system-view2 [HUAWEI] sysname SwitchA

3 [SwitchA] stp region-configuration

4 [SwitchA-mst-region] region-name RG1 //配置域名为RG1。

5 [SwitchA-mst-region] instance 1 vlan 2 to 10 //将VLAN 2⾄VLAN 10映射到实例1上。6 [SwitchA-mst-region] instance 2 vlan 11 to 20 //将VLAN 11⾄VLAN 20映射到实例2上。7 [SwitchA-mst-region] active region-configuration //激活MST域的配置。8 [SwitchA-mst-region] quit

  # 配置实例2的根桥SwitchB的MST域。

1 system-view2 [HUAWEI] sysname SwitchB

3 [SwitchB] stp region-configuration

4 [SwitchB-mst-region] region-name RG1 //配置域名为RG1。

5 [SwitchB-mst-region] instance 1 vlan 2 to 10 //将VLAN 2⾄VLAN 10映射到实例1上。6 [SwitchB-mst-region] instance 2 vlan 11 to 20 //将VLAN 11⾄VLAN 20映射到实例2上。7 [SwitchB-mst-region] active region-configuration //激活MST域的配置。8 [SwitchB-mst-region] quit

  # 配置接⼊交换机SwitchC的MST域。

1 system-view2 [HUAWEI] sysname SwitchC3 [SwitchC] stp region-configuration

4 [SwitchC-mst-region] region-name RG1 //配置域名为RG1。

5 [SwitchC-mst-region] instance 1 vlan 2 to 10 //将VLAN 2⾄VLAN 10映射到实例1上。6 [SwitchC-mst-region] instance 2 vlan 11 to 20 //将VLAN 11⾄VLAN 20映射到实例2上。7 [SwitchC-mst-region] active region-configuration //激活MST域的配置。8 [SwitchC-mst-region] quit

  # 配置接⼊交换机SwitchD的MST域。

1 system-view2 [HUAWEI] sysname SwitchD3 [SwitchD] stp region-configuration

4 [SwitchD-mst-region] region-name RG1 //配置域名为RG1。

5 [SwitchD-mst-region] instance 1 vlan 2 to 10 //将VLAN 2⾄VLAN 10映射到实例1上。6 [SwitchD-mst-region] instance 2 vlan 11 to 20 //将VLAN 11⾄VLAN 20映射到实例2上。7 [SwitchD-mst-region] active region-configuration //激活MST域的配置。8 [SwitchD-mst-region] quit

  b.在域RG1内,配置MSTI1与MSTI2的根桥与备份根桥  配置MSTI1的根桥与备份根桥  # 配置SwitchA为MSTI1的根桥。

1 [SwitchA] stp instance 1 root primary

  # 配置SwitchB为MSTI1的备份根桥。

1 [SwitchB] stp instance 1 root secondary

  配置MSTI2的根桥与备份根桥  # 配置SwitchB为MSTI2的根桥。

1 [SwitchB] stp instance 2 root primary

  # 配置SwitchA为MSTI2的备份根桥。

1 [SwitchA] stp instance 2 root secondary

  c.配置实例MSTI1和MSTI2中将要被阻塞端⼝的路径开销值⼤于缺省值

说明:

•端⼝路径开销值取值范围由路径开销计算⽅法决定,这⾥选择使⽤华为计算⽅法为例,配置实例MSTI1和MSTI2中将被阻塞端⼝的路径开销值为20000。•同⼀⽹络内所有交换设备的端⼝路径开销应使⽤相同的计算⽅法。

  # 配置实例1的根桥SwitchA的端⼝路径开销。

1 [SwitchA] stp pathcost-standard legacy

  # 配置实例2的根桥SwitchB的端⼝路径开销。

1 [SwitchB] stp pathcost-standard legacy

  # 配置接⼊交换机SwitchC的端⼝路径开销,将端⼝GE0/0/2在实例MSTI2中的路径开销值配置为20000。

1 [SwitchC] stp pathcost-standard legacy2 [SwitchC] interface gigabitethernet 0/0/2

3 [SwitchC-GigabitEthernet0/0/2] stp instance 2 cost 200004 [SwitchC-GigabitEthernet0/0/2] quit

  # 配置接⼊交换机SwitchD的端⼝路径开销,将端⼝GE0/0/2在实例MSTI1中的路径开销值配置为20000。

1 [SwitchD] stp pathcost-standard legacy2 [SwitchD] interface gigabitethernet 0/0/2

3 [SwitchD-GigabitEthernet0/0/2] stp instance 1 cost 200004 [SwitchD-GigabitEthernet0/0/2] quit

  d.使能MSTP,实现破除环路  设备全局使能MSTP

  # 在SwitchA/B/C/D上启动MSTP。

1 [SwitchA] stp enable2

3 [SwitchB] stp enable4

5 [SwitchC] stp enable6

7 [SwitchD] stp enable

  将与终端相连的端⼝设置为边缘端⼝并使能端⼝的BPDU报⽂过滤功能

  # 配置SwitchC端⼝GE0/0/1设置为边缘端⼝并使能端⼝的BPDU报⽂过滤功能。

1 [SwitchC] interface gigabitethernet 0/0/1

2 [SwitchC-GigabitEthernet0/0/1] stp edged-port enable3 [SwitchC-GigabitEthernet0/0/1] stp bpdu-filter enable4 [SwitchC-GigabitEthernet0/0/1] quit

  # 配置SwitchD端⼝GE0/0/1设置为边缘端⼝并使能端⼝的BPDU报⽂过滤功能。

1 [SwitchD] interface gigabitethernet 0/0/1

2 [SwitchD-GigabitEthernet0/0/1] stp edged-port enable3 [SwitchD-GigabitEthernet0/0/1] stp bpdu-filter enable4 [SwitchD-GigabitEthernet0/0/1] quit

配置保护功能,如在各实例的根桥设备的指定端⼝配置根保护功能  # 在实例1根桥SwitchA端⼝GE0/0/1上启动根保护。

1 [SwitchA] interface gigabitethernet 0/0/1

2 [SwitchA-GigabitEthernet0/0/1] stp root-protection3 [SwitchA-GigabitEthernet0/0/1] quit

  # 在实例2根桥SwitchB端⼝GE0/0/1上启动根保护。

1 [SwitchB] interface gigabitethernet 0/0/1

2 [SwitchB-GigabitEthernet0/0/1] stp root-protection3 [SwitchB-GigabitEthernet0/0/1] quit

配置处于环⽹中的设备的⼆层转发功能

  在交换设备SwitchA、SwitchB、SwitchC和SwitchD上创建VLAN2~20

1 [SwitchA] vlan batch 2 to 202

3 [SwitchB] vlan batch 2 to 204

5 [SwitchC] vlan batch 2 to 206

7 [SwitchD] vlan batch 2 to 20

  将交换设备上接⼊环路中的端⼝加⼊VLAN  # 将实例1的根桥SwitchA端⼝GE0/0/1加⼊VLAN。

1 [SwitchA] interface gigabitethernet 0/0/1

2 [SwitchA-GigabitEthernet0/0/1] port link-type trunk

3 [SwitchA-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 to 204 [SwitchA-GigabitEthernet0/0/1] quit

  # 将实例1的根桥SwitchA端⼝Eth-Trunk1加⼊VLAN。

1 [SwitchA] interface Eth-Trunk 1

2 [SwitchA-Eth-Trunk1] trunkport gigabitethernet 0/0/23 [SwitchA-Eth-Trunk1] trunkport gigabitethernet 0/0/34 [SwitchA-Eth-Trunk1] port link-type trunk

5 [SwitchA-Eth-Trunk1] port trunk allow-pass vlan 2 to 206 [SwitchA-Eth-Trunk1] quit

  # 将实例2的根桥SwitchB端⼝GE0/0/1加⼊VLAN。

1 [SwitchB] interface gigabitethernet 0/0/1

2 [SwitchB-GigabitEthernet0/0/1] port link-type trunk

3 [SwitchB-GigabitEthernet0/0/1] port trunk allow-pass vlan 2 to 204 [SwitchB-GigabitEthernet0/0/1] quit

  # 将实例2的根桥SwitchB端⼝Eth-Trunk1加⼊VLAN。

1 [SwitchB] interface Eth-Trunk 1

2 [SwitchB-Eth-Trunk1] trunkport gigabitethernet 0/0/23 [SwitchB-Eth-Trunk1] trunkport gigabitethernet 0/0/34 [SwitchB-Eth-Trunk1] port link-type trunk

5 [SwitchB-Eth-Trunk1] port trunk allow-pass vlan 2 to 206 [SwitchB-Eth-Trunk1] quit

  # 将接⼊交换机SwitchC端⼝GE0/0/1加⼊VLAN。

1 [SwitchC] interface gigabitethernet 0/0/1

2 [SwitchC-GigabitEthernet0/0/1] port link-type access3 [SwitchC-GigabitEthernet0/0/1] port default vlan 24 [SwitchC-GigabitEthernet0/0/1] quit

  # 将接⼊交换机SwitchC端⼝GE0/0/2加⼊VLAN。

1 [SwitchC] interface gigabitethernet 0/0/2

2 [SwitchC-GigabitEthernet0/0/2] port link-type trunk

3 [SwitchC-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 204 [SwitchC-GigabitEthernet0/0/2] quit

  # 将接⼊交换机SwitchC端⼝GE0/0/3加⼊VLAN。

1 [SwitchC] interface gigabitethernet 0/0/3

2 [SwitchC-GigabitEthernet0/0/3] port link-type trunk

3 [SwitchC-GigabitEthernet0/0/3] port trunk allow-pass vlan 2 to 204 [SwitchC-GigabitEthernet0/0/3] quit

  # 将接⼊交换机SwitchD端⼝GE0/0/1加⼊VLAN。

1 [SwitchD] interface gigabitethernet 0/0/1

2 [SwitchD-GigabitEthernet0/0/1] port link-type access3 [SwitchD-GigabitEthernet0/0/1] port default vlan 114 [SwitchD-GigabitEthernet0/0/1] quit

  # 将接⼊交换机SwitchD端⼝GE0/0/2加⼊VLAN。

1 [SwitchD] interface gigabitethernet 0/0/2

2 [SwitchD-GigabitEthernet0/0/2] port link-type trunk

3 [SwitchD-GigabitEthernet0/0/2] port trunk allow-pass vlan 2 to 204 [SwitchD-GigabitEthernet0/0/2] quit

  # 将接⼊交换机SwitchD端⼝GE0/0/3加⼊VLAN。

1 [SwitchD] interface gigabitethernet 0/0/3

2 [SwitchD-GigabitEthernet0/0/3] port link-type trunk

3 [SwitchD-GigabitEthernet0/0/3] port trunk allow-pass vlan 2 to 204 [SwitchD-GigabitEthernet0/0/3] quit

验证配置结果

说明:

本配置举例以实例1和实例2为例,因此不⽤关注实例0中端⼝的状态。

  # 在实例1的根桥SwitchA上执⾏display stp brief命令,查看端⼝状态和端⼝的保护类型,结果如下:

1 [SwitchA] display stp brief

2 MSTID Port Role STP State Protection3 0 GigabitEthernet0/0/1 DESI FORWARDING ROOT4 0 Eth-Trunk1 DESI FORWARDING NONE5 1 GigabitEthernet0/0/1 DESI FORWARDING ROOT6 1 Eth-Trunk1 DESI FORWARDING NONE7 2 GigabitEthernet0/0/1 DESI FORWARDING ROOT8 2 Eth-Trunk1 ROOT FORWARDING NONE

  在MSTI1中,由于SwitchA是根桥,SwitchA的端⼝Eth-Trunk1和GE0/0/1成为指定端⼝。在MSTI2中,SwitchA的端⼝GE0/0/1成为指定端⼝,端⼝Eth-Trunk1成为根端⼝。

  # 在实例2的根桥SwitchB上执⾏display stp brief命令,结果如下:

1 [SwitchB] display stp brief

2 MSTID Port Role STP State Protection3 0 GigabitEthernet0/0/1 DESI FORWARDING ROOT4 0 Eth-Trunk1 ROOT FORWARDING NONE5 1 GigabitEthernet0/0/1 DESI FORWARDING ROOT6 1 Eth-Trunk1 ROOT FORWARDING NONE7 2 GigabitEthernet0/0/1 DESI FORWARDING ROOT8 2 Eth-Trunk1 DESI FORWARDING NONE

  在MSTI2中,由于SwitchB是根桥,端⼝GE0/0/1和Eth-Trunk1在MSTI2中成为指定端⼝。在MSTI1中,SwitchB的端⼝GE0/0/1成为指定端⼝,端⼝Eth-Trunk1成为根端⼝。

  # 在接⼊交换机SwitchC上执⾏display stp interface brief命令,结果如下:

1 [SwitchC] display stp interface gigabitethernet 0/0/3 brief

2 MSTID Port Role STP State Protection3 0 GigabitEthernet0/0/3 ROOT FORWARDING NONE4 1 GigabitEthernet0/0/3 ROOT FORWARDING NONE5 2 GigabitEthernet0/0/3 ROOT FORWARDING NONE1 [SwitchC] display stp interface gigabitethernet 0/0/2 brief

2 MSTID Port Role STP State Protection3 0 GigabitEthernet0/0/2 DESI FORWARDING NONE4 1 GigabitEthernet0/0/2 DESI FORWARDING NONE5 2 GigabitEthernet0/0/2 ALTE DISCARDING NONE

  SwitchC的端⼝GE0/0/3在MSTI1和MSTI2中为根端⼝。SwitchC的另⼀个端⼝GE0/0/2,在MSTI2中被阻塞,在MSTI1中被计算为指定端⼝。

  # 在接⼊交换机SwitchD上执⾏display stp interface brief命令,结果如下:

1 [SwitchD] display stp interface gigabitethernet 0/0/3 brief

2 MSTID Port Role STP State Protection3 0 GigabitEthernet0/0/3 ROOT FORWARDING NONE4 1 GigabitEthernet0/0/3 ROOT FORWARDING NONE5 2 GigabitEthernet0/0/3 ROOT FORWARDING NONE1 [SwitchD] display stp interface gigabitethernet 0/0/2 brief

2 MSTID Port Role STP State Protection3 0 GigabitEthernet0/0/2 ALTE DISCARDING NONE4 1 GigabitEthernet0/0/2 ALTE DISCARDING NONE5 2 GigabitEthernet0/0/2 DESI FORWARDING NONE

  SwitchD的端⼝GE0/0/3在MSTI1和MSTI2中为根端⼝。SwitchD的另⼀个端⼝GE0/0/2,在MSTI1中被阻塞,在MSTI2中被计算为指定端⼝。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top