小乔 发表于 2017-11-30 11:11:32

网络环路杀手-生成树(STP/RSTP/MSTP)实例介绍

本帖最后由 小乔 于 2017-11-30 12:10 编辑

以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路。但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及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(Multiple Spanning Tree Protocol)。生成树协议中,MSTP兼容RSTP、STP,RSTP兼容STP。三种生成树协议的比较如表1所示。 表1 三种生成树协议的比较

生成树协议
特点
应用场景

STP

[*]形成一棵无环路的树,解决广播风暴并实现冗余备份。
[*]收敛速度较慢。

无需区分用户或业务流量,所有VLAN共享一棵生成树。

RSTP

[*]形成一棵无环路的树,解决广播风暴并实现冗余备份。
[*]收敛速度快。


MSTP

[*]形成多棵无环路的树,解决广播风暴并实现冗余备份。
[*]收敛速度快。
[*]多棵生成树在VLAN间实现负载均衡,不同VLAN的流量按照不同的路径转发。

需要区分用户或业务流量,并实现负载分担。不同的VLAN通过不同的生成树转发流量,每棵生成树之间相互独立。



STP
组网需求在一个复杂的网络中,网络规划者由于冗余备份的需要,一般都倾向于在设备之间部署多条物理链路,其中一条作主用链路,其他链路作备份。这样就难免会形成环形网络,若网络中存在环路,可能会引起广播风暴和MAC表项被破坏。
网络规划者规划好网络后,可以在网络中部署STP协议预防环路。当网络中存在环路,STP通过阻塞某个端口以达到破除环路的目的。如图1所示,当前网络中存在环路,SwitchA、SwitchB、SwitchC和SwitchD都运行STP,通过彼此交互信息发现网络中的环路,并有选择的对某个端口进行阻塞,最终将环形网络结构修剪成无环路的树形网络结构,从而防止报文在环形网络中不断循环,避免设备由于重复接收相同的报文造成处理能力下降。
图1 配置STP功能组网图

配置思路
在处于环形网络中的交换设备上配置STP基本功能,包括:
配置环网中的设备生成树协议工作在STP模式。
配置根桥和备份根桥设备。
配置端口的路径开销值,实现将该端口阻塞。
使能STP,实现破除环路。

操作步骤
配置STP基本功能
配置环网中的设备生成树协议工作在STP模式
# 配置交换设备SwitchA的STP工作模式。

<HUAWEI> system-view
sysname SwitchA
stp mode stp# 配置交换设备SwitchB的STP工作模式。
<HUAWEI> system-view
sysname SwitchB
stp mode stp# 配置交换设备SwitchC的STP工作模式。
<HUAWEI> system-view
sysname SwitchC
stp mode stp# 配置交换设备SwitchD的STP工作模式。

<HUAWEI> system-view
sysname SwitchD
stp mode stp配置根桥和备份根桥设备
# 配置SwitchA为根桥。

stp root primary# 配置SwitchD为备份根桥。

stp root secondary配置端口的路径开销值,实现将该端口阻塞

说明:
端口路径开销值取值范围由路径开销计算方法决定,这里选择使用华为计算方法为例,配置将被阻塞端口的路径开销值为20000。

同一网络内所有交换设备的端口路径开销应使用相同的计算方法。

# 配置SwitchA的端口路径开销计算方法为华为计算方法。

stp pathcost-standard legacy# 配置SwitchB的端口路径开销计算方法为华为计算方法。

stp pathcost-standard legacy# 配置SwitchC的端口路径开销计算方法为华为计算方法。

stp pathcost-standard legacy# 配置SwitchC端口GigabitEthernet1/0/1端口路径开销值为20000。

interface gigabitethernet 1/0/1
stp cost 20000
quit# 配置SwitchD的端口路径开销计算方法为华为计算方法。

stp pathcost-standard legacy使能STP,实现破除环路

将与PC机相连的端口设置为边缘端口并使能端口的BPDU报文过滤功能

# 配置SwitchB端口GigabitEthernet1/0/2设置为边缘端口并使能端口的BPDU报文过滤功能。

interface gigabitethernet 1/0/2
stp edged-port enable
stp bpdu-filter enable
quit# 配置SwitchC端口GigabitEthernet1/0/2设置为边缘端口并使能端口的BPDU报文过滤功能。

interface gigabitethernet 1/0/2
stp edged-port enable
stp bpdu-filter enable
quit设备全局使能STP

# 设备SwitchA全局使能STP。

stp enable# 设备SwitchB全局使能STP。

stp enable# 设备SwitchC全局使能STP。

stp enable# 设备SwitchD全局使能STP。

stp enable
验证配置结果

经过以上配置,在网络计算稳定后,执行以下操作,验证配置结果。

# 在SwitchA上执行display stp brief命令,查看端口状态和端口的保护类型,结果如下:

display stp brief
MSTIDPort                        RoleSTP State   Protection
   0    GigabitEthernet1/0/1      DESIFORWARDING      NONE
   0    GigabitEthernet1/0/2      DESIFORWARDING      NONE将SwitchA配置为根桥后,与SwitchB、SwitchD相连的端口GigabitEthernet1/0/2和GigabitEthernet1/0/1在生成树计算中被选举为指定端口。

# 在SwitchB上执行display stp interface gigabitethernet 1/0/1 brief命令,查看端口GigabitEthernet1/0/1状态,结果如下:

display stp interface gigabitethernet 1/0/1 brief
MSTIDPort                        RoleSTP State   Protection
   0    GigabitEthernet1/0/1      DESIFORWARDING      NONE      端口GigabitEthernet1/0/1在生成树选举中成为指定端口,处于FORWARDING状态。

# 在SwitchC上执行display stp brief命令,查看端口状态,结果如下:

display stp brief
MSTIDPort                        RoleSTP State   Protection
   0    GigabitEthernet1/0/1      ALTEDISCARDING      NONE   
   0    GigabitEthernet1/0/3      ROOTFORWARDING      NONE      端口GigabitEthernet1/0/3在生成树选举中成为根端口,处于FORWARDING状态。

端口GigabitEthernet1/0/1在生成树选举中成为Alternate端口,处于DISCARDING状态。


配置文件
SwitchA的配置文件

#
sysname SwitchA
#
stp mode stp
stp instance 0 root primary
stp pathcost-standard legacy
#
returnSwitchB的配置文件

#
sysname SwitchB   
#
stp mode stp   
stp pathcost-standard legacy
#
interface GigabitEthernet1/0/2   
stp bpdu-filter enable                                                                                                            
stp edged-port enable
#
return                  SwitchC的配置文件

#
sysname SwitchC
#
stp mode stp
stp pathcost-standard legacy
#
interface GigabitEthernet1/0/1         
stp instance 0 cost 20000
#
interface GigabitEthernet1/0/2   
stp bpdu-filter enable                                                                                                            
stp edged-port enable
#
return         SwitchD的配置文件

#
sysname SwitchD
#
stp mode stp
stp instance 0 root secondary      
stp pathcost-standard legacy
#   
return

RSTP
组网需求
在一个复杂的网络中,网络规划者由于冗余备份的需要,一般都倾向于在设备之间部署多条物理链路,其中一条作主用链路,其他链路作备份。这样就难免会形成环形网络,若网络中存在环路,可能会引起广播风暴和MAC表项被破坏。

网络规划者规划好网络后,可以在网络中部署RSTP协议预防环路。当网络中存在环路,RSTP通过阻塞某个端口以达到破除环路的目的。如图1所示,当前网络中存在环路,SwitchA、SwitchB、SwitchC和SwitchD都运行RSTP,通过彼此交互信息发现网络中的环路,并有选择的对某个端口进行阻塞,最终将环形网络结构修剪成无环路的树形网络结构,从而防止报文在环形网络中不断循环,避免设备由于重复接收相同的报文造成处理能力下降。

图1 配置RSTP功能组网图

配置思路
采用以下思路配置RSTP功能:
在处于环形网络中的交换设备上配置RSTP基本功能,包括:
配置环网中的设备生成树协议工作在RSTP模式。

配置根桥和备份根桥设备。

配置端口的路径开销值,实现将该端口阻塞。

使能RSTP,实现破除环路。

配置保护功能,实现对设备或链路的保护。例如:在根桥设备的指定端口配置根保护功能。

操作步骤
配置RSTP基本功能

配置环网中的设备生成树协议工作在RSTP模式

# 配置SwitchA的RSTP工作模式。

<HUAWEI> system-view
sysname SwitchA
stp mode rstp# 配置交换设备SwitchB的RSTP工作模式。

<HUAWEI> system-view
sysname SwitchB
stp mode rstp# 配置交换设备SwitchC的RSTP工作模式。

<HUAWEI> system-view
sysname SwitchC
stp mode rstp# 配置交换设备SwitchD的RSTP工作模式。

<HUAWEI> system-view
sysname SwitchD
stp mode rstp配置根桥和备份根桥设备

# 配置SwitchA为根桥。

stp root primary# 配置SwitchD为备份根桥。

stp root secondary配置端口的路径开销值,实现将该端口阻塞

说明:
端口路径开销值取值范围由路径开销计算方法决定,这里选择使用华为计算方法为例,配置将被阻塞端口的路径开销值为20000。

同一网络内所有交换设备的端口路径开销应使用相同的计算方法。

# 配置SwitchA的端口路径开销计算方法为华为计算方法。

stp pathcost-standard legacy# 配置SwitchB的端口路径开销计算方法为华为计算方法。

stp pathcost-standard legacy# 配置SwitchC的端口路径开销计算方法为华为计算方法。

stp pathcost-standard legacy# 配置SwitchC端口GigabitEthernet1/0/1端口路径开销值为20000。

interface gigabitethernet 1/0/1
stp cost 20000
quit# 配置SwitchD的端口路径开销计算方法为华为计算方法。

stp pathcost-standard legacy使能RSTP,实现破除环路

将与PC机相连的端口设置为边缘端口并使能端口的BPDU报文过滤功能

# 配置SwitchB端口GigabitEthernet1/0/2为边缘端口并使能端口的BPDU报文过滤功能。

interface gigabitethernet 1/0/2
stp edged-port enable
stp bpdu-filter enable
quit# 配置SwitchC端口GigabitEthernet1/0/2为边缘端口并使能端口的BPDU报文过滤功能。

interface gigabitethernet 1/0/2
stp edged-port enable
stp bpdu-filter enable
quit设备全局使能RSTP

# 设备SwitchA全局使能RSTP。

stp enable# 设备SwitchB全局使能RSTP。

stp enable# 设备SwitchC全局使能RSTP。

stp enable# 设备SwitchD全局使能RSTP。

stp enable
配置保护功能,如在根桥设备的指定端口配置根保护功能

# 在SwitchA端口GigabitEthernet1/0/1上配置根保护功能。

interface gigabitethernet 1/0/1
stp root-protection
quit# 在SwitchA端口GigabitEthernet1/0/2上配置根保护功能。

interface gigabitethernet 1/0/2
stp root-protection
quit
验证配置结果

经过以上配置,在网络计算稳定后,执行以下操作,验证配置结果。

# 在SwitchA上执行display stp brief命令,查看端口状态和端口的保护类型,结果如下:

display stp brief
MSTIDPort                        RoleSTP State   Protection
   0    GigabitEthernet1/0/1      DESIFORWARDING      ROOT
   0    GigabitEthernet1/0/2      DESIFORWARDING      ROOT将SwitchA配置为根桥后,与SwitchB、SwitchD相连的端口GigabitEthernet1/0/2和GigabitEthernet1/0/1在生成树计算中被选举为指定端口,并在指定端口上配置根保护功能。

# 在SwitchB上执行display stp interface gigabitethernet 1/0/1 brief命令,查看端口GigabitEthernet1/0/1状态,结果如下:

display stp interface gigabitethernet 1/0/1 brief
MSTIDPort                        RoleSTP State   Protection
   0    GigabitEthernet1/0/1      DESIFORWARDING      NONE      端口GigabitEthernet1/0/1在生成树选举中成为指定端口,处于FORWARDING状态。

# 在SwitchC上执行display stp brief命令,查看端口状态,结果如下:

display stp brief
MSTIDPort                        RoleSTP State   Protection
   0    GigabitEthernet1/0/1      ALTEDISCARDING      NONE   
   0    GigabitEthernet1/0/2      DESIFORWARDING      NONE   
   0    GigabitEthernet1/0/3      ROOTFORWARDING      NONE   端口GE1/0/1在生成树选举中成为Alternate端口,处于DISCARDING状态。

端口GE1/0/3在生成树选举中成为根端口,处于FORWARDING状态。


配置文件
SwitchA的配置文件

#
sysname SwitchA               
#                              
stp mode rstp                  
stp instance 0 root primary   
stp pathcost-standard legacy
#                              
interface GigabitEthernet1/0/1
stp root-protection            
#                              
interface GigabitEthernet1/0/2
stp root-protection            
#
returnSwitchB的配置文件

#                              
sysname SwitchB               
#                              
stp mode rstp                  
stp pathcost-standard legacy
#                           
interface GigabitEthernet1/0/2      
stp bpdu-filter enable
stp edged-port enable
#                              
return                  SwitchC的配置文件

#                              
sysname SwitchC                                 
#                              
stp mode rstp                  
stp pathcost-standard legacy
#                              
interface GigabitEthernet1/0/1      
stp instance 0 cost 20000      
#                              
interface GigabitEthernet1/0/2      
stp bpdu-filter enable
stp edged-port enable
#                              
return         SwitchD的配置文件

#                              
sysname SwitchD                        
#                              
stp mode rstp                  
stp instance 0 root secondary   
stp pathcost-standard legacy
#                              
return


MSTP
组网需求
在一个复杂的网络中,由于冗余备份的需要,网络规划者一般都倾向于在设备之间部署多条物理链路,其中一条作为主用链路,其他作为备份链路。这样就难免会形成环路,若网络中存在环路,可能会引起广播风暴和MAC表项被破坏。为此,可以在网络中部署MSTP协议预防环路。MSTP可阻塞二层网络中的冗余链路,将网络修剪成树状,达到消除环路的目的。
如图1所示,SwitchA、SwitchB、SwitchC和SwitchD都运行MSTP。为实现VLAN2~VLAN10和VLAN11~VLAN20的流量负载分担,MSTP引入了多实例。MSTP可设置VLAN映射表,把VLAN和生成树实例相关联。
图1 配置MSTP功能组网图




配置思路
采用以下思路配置MSTP功能:

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

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

说明:
设备配置根保护功能后,如果根桥和备份根桥之间的链路down了,则配置根保护的端口状态会因为根保护功能生效直接变成discarding状态。

为了提高可靠性,建议根桥和备份根桥之间的链路绑定Eth-Trunk。

配置设备的二层转发功能。

操作步骤
配置MSTP基本功能

配置SwitchA、SwitchB、SwitchC和SwitchD到域名为RG1的域内,创建实例MSTI1和实例MSTI2

说明:
当两台交换设备的以下配置都相同时,这两台交换设备属于同一个MST域。
MST域的域名。

多生成树实例和VLAN的映射关系。

MST域的修订级别。

# 配置实例1的根桥SwitchA的MST域。

<HUAWEI> system-view
sysname SwitchA
stp region-configuration
region-name RG1 //配置域名为RG1。
instance 1 vlan 2 to 10 //将VLAN 2至VLAN 10映射到实例1上。
instance 2 vlan 11 to 20 //将VLAN 11至VLAN 20映射到实例2上。
active region-configuration //激活MST域的配置。
quit# 配置实例2的根桥SwitchB的MST域。

<HUAWEI> system-view
sysname SwitchB
stp region-configuration
region-name RG1 //配置域名为RG1。
instance 1 vlan 2 to 10 //将VLAN 2至VLAN 10映射到实例1上。
instance 2 vlan 11 to 20 //将VLAN 11至VLAN 20映射到实例2上。
active region-configuration //激活MST域的配置。
quit# 配置接入交换机SwitchC的MST域。

<HUAWEI> system-view
sysname SwitchC
stp region-configuration
region-name RG1 //配置域名为RG1。
instance 1 vlan 2 to 10 //将VLAN 2至VLAN 10映射到实例1上。
instance 2 vlan 11 to 20 //将VLAN 11至VLAN 20映射到实例2上。
active region-configuration //激活MST域的配置。
quit# 配置接入交换机SwitchD的MST域。

<HUAWEI> system-view
sysname SwitchD
stp region-configuration
region-name RG1 //配置域名为RG1。
instance 1 vlan 2 to 10 //将VLAN 2至VLAN 10映射到实例1上。
instance 2 vlan 11 to 20 //将VLAN 11至VLAN 20映射到实例2上。
active region-configuration //激活MST域的配置。
quit在域RG1内,配置MSTI1与MSTI2的根桥与备份根桥

配置MSTI1的根桥与备份根桥

# 配置SwitchA为MSTI1的根桥。

stp instance 1 root primary# 配置SwitchB为MSTI1的备份根桥。

stp instance 1 root secondary配置MSTI2的根桥与备份根桥

# 配置SwitchB为MSTI2的根桥。

stp instance 2 root primary# 配置SwitchA为MSTI2的备份根桥。

stp instance 2 root secondary配置实例MSTI1和MSTI2中将要被阻塞端口的路径开销值大于缺省值

说明:
端口路径开销值取值范围由路径开销计算方法决定,这里选择使用华为计算方法为例,配置实例MSTI1和MSTI2中将被阻塞端口的路径开销值为20000。

同一网络内所有交换设备的端口路径开销应使用相同的计算方法。

# 配置实例1的根桥SwitchA的端口路径开销值的计算方法为华为计算方法。

stp pathcost-standard legacy# 配置实例2的根桥SwitchB的端口路径开销计算方法为华为计算方法。

stp pathcost-standard legacy# 配置接入交换机SwitchC的端口路径开销计算方法为华为计算方法,将端口GE1/0/2在实例MSTI2中的路径开销值配置为20000。

stp pathcost-standard legacy
interface gigabitethernet 1/0/2
stp instance 2 cost 20000
quit# 配置接入交换机SwitchD的端口路径开销计算方法为华为计算方法,将端口GE1/0/2在实例MSTI1中的路径开销值配置为20000。

stp pathcost-standard legacy
interface gigabitethernet 1/0/2
stp instance 1 cost 20000
quit使能MSTP,实现破除环路

设备全局使能MSTP

# 在实例1的根桥SwitchA上启动MSTP。

stp enable# 在实例2的根桥SwitchB上启动MSTP。

stp enable# 在接入交换机SwitchC上启动MSTP。

stp enable# 在接入交换机SwitchD上启动MSTP。

stp enable将与终端相连的端口设置为边缘端口并使能端口的BPDU报文过滤功能

# 配置SwitchC端口GE1/0/1设置为边缘端口并使能端口的BPDU报文过滤功能。

interface gigabitethernet 1/0/1
stp edged-port enable
stp bpdu-filter enable
quit# 配置SwitchD端口GE1/0/1设置为边缘端口并使能端口的BPDU报文过滤功能。

interface gigabitethernet 1/0/1
stp edged-port enable
stp bpdu-filter enable
quit
配置保护功能,如在各实例的根桥设备的指定端口配置根保护功能

# 在实例1根桥SwitchA端口GE1/0/1上启动根保护。

interface gigabitethernet 1/0/1
stp root-protection
quit# 在实例2根桥SwitchB端口GE1/0/1上启动根保护。

interface gigabitethernet 1/0/1
stp root-protection
quit
配置处于环网中的设备的二层转发功能

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

# 在实例1的根桥SwitchA上创建VLAN2~20。

vlan batch 2 to 20# 在实例2的根桥SwitchB上创建VLAN2~20。

vlan batch 2 to 20# 在接入交换机SwitchC上创建VLAN2~20。

vlan batch 2 to 20# 在接入交换机SwitchD上创建VLAN2~20。

vlan batch 2 to 20将交换设备上接入环路中的端口加入VLAN

# 将实例1的根桥SwitchA端口GE1/0/1加入VLAN。
**** Hidden Message *****




f1662 发表于 2017-11-30 12:16:29

{:6_290:}

f1662 发表于 2017-11-30 12:28:18

{:6_267:}

changnan 发表于 2017-11-30 13:57:00

顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

sy7527951 发表于 2017-11-30 17:53:37

支持一下~~

983570981@qq.co 发表于 2017-12-1 12:10:31

ddd

983570981@qq.co 发表于 2017-12-1 12:11:02

111

983570981@qq.co 发表于 2017-12-1 12:11:02

ddd

baoma922 发表于 2017-12-4 09:57:28

感谢小乔分享

q466265670 发表于 2017-12-4 11:20:07

学习学习,感谢分享。

WPFLJY 发表于 2017-12-5 20:39:00

啊啊啊

guptmzh 发表于 2017-12-5 20:48:07

以太网交换网络中为了进行链路备份,提高网络可靠性,通常会使用冗余链路。但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及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(Multiple Spanning Tree Protocol)。
生成树协议中,MSTP兼容RSTP、STP,RSTP兼容STP。三种生成树协议的比较如表1所示。
表1 三种生成树协议的比较

生成树协议
        特点
        应用场景
STP
       

    形成一棵无环路的树,解决广播风暴并实现冗余备份。
    收敛速度较慢。


        无需区分用户或业务流量,所有VLAN共享一棵生成树。
RSTP
       

    形成一棵无环路的树,解决广播风暴并实现冗余备份。
    收敛速度快。


MSTP
       

    形成多棵无环路的树,解决广播风暴并实现冗余备份。
    收敛速度快。
    多棵生成树在VLAN间实现负载均衡,不同VLAN的流量按照不同的路径转发。


        需要区分用户或业务流量,并实现负载分担。不同的VLAN通过不同的生成树转发流量,每棵生成树之间相互独立。


STP
组网需求在一个复杂的网络中,网络规划者由于冗余备份的需要,一般都倾向于在设备之间部署多条物理链路,其中一条作主用链路,其他链路作备份。这样就难免会形成环形网络,若网络中存在环路,可能会引起广播风暴和MAC表项被破坏。
网络规划者规划好网络后,可以在网络中部署STP协议预防环路。当网络中存在环路,STP通过阻塞某个端口以达到破除环路的目的。如图1所示,当前网络中存在环路,SwitchA、SwitchB、SwitchC和SwitchD都运行STP,通过彼此交互信息发现网络中的环路,并有选择的对某个端口进行阻塞,最终将环形网络结构修剪成无环路的树形网络结构,从而防止报文在环形网络中不断循环,避免设备由于重复接收相同的报文造成处理能力下降。
图1 配置STP功能组网图

配置思路
在处于环形网络中的交换设备上配置STP基本功能,包括:
配置环网中的设备生成树协议工作在STP模式。
配置根桥和备份根桥设备。
配置端口的路径开销值,实现将该端口阻塞。
使能STP,实现破除环路。

操作步骤
配置STP基本功能
配置环网中的设备生成树协议工作在STP模式
# 配置交换设备SwitchA的STP工作模式。

<HUAWEI> system-view
sysname SwitchA
stp mode stp# 配置交换设备SwitchB的STP工作模式。
<HUAWEI> system-view
sysname SwitchB
stp mode stp# 配置交换设备SwitchC的STP工作模式。
<HUAWEI> system-view
sysname SwitchC
stp mode stp# 配置交换设备SwitchD的STP工作模式。

<HUAWEI> system-view
sysname SwitchD
stp mode stp配置根桥和备份根桥设备
# 配置SwitchA为根桥。

stp root primary# 配置SwitchD为备份根桥。

stp root secondary配置端口的路径开销值,实现将该端口阻塞

说明:
端口路径开销值取值范围由路径开销计算方法决定,这里选择使用华为计算方法为例,配置将被阻塞端口的路径开销值为20000。

同一网络内所有交换设备的端口路径开销应使用相同的计算方法。

# 配置SwitchA的端口路径开销计算方法为华为计算方法。

stp pathcost-standard legacy# 配置SwitchB的端口路径开销计算方法为华为计算方法。

stp pathcost-standard legacy# 配置SwitchC的端口路径开销计算方法为华为计算方法。

stp pathcost-standard legacy# 配置SwitchC端口GigabitEthernet1/0/1端口路径开销值为20000。

interface gigabitethernet 1/0/1
stp cost 20000
quit# 配置SwitchD的端口路径开销计算方法为华为计算方法。

stp pathcost-standard legacy使能STP,实现破除环路

将与PC机相连的端口设置为边缘端口并使能端口的BPDU报文过滤功能

# 配置SwitchB端口GigabitEthernet1/0/2设置为边缘端口并使能端口的BPDU报文过滤功能。

interface gigabitethernet 1/0/2
stp edged-port enable
stp bpdu-filter enable
quit# 配置SwitchC端口GigabitEthernet1/0/2设置为边缘端口并使能端口的BPDU报文过滤功能。

interface gigabitethernet 1/0/2
stp edged-port enable
stp bpdu-filter enable
quit设备全局使能STP

# 设备SwitchA全局使能STP。

stp enable# 设备SwitchB全局使能STP。

stp enable# 设备SwitchC全局使能STP。

stp enable# 设备SwitchD全局使能STP。

stp enable
验证配置结果

经过以上配置,在网络计算稳定后,执行以下操作,验证配置结果。

# 在SwitchA上执行display stp brief命令,查看端口状态和端口的保护类型,结果如下:

display stp brief
MSTIDPort                        RoleSTP State   Protection
   0    GigabitEthernet1/0/1      DESIFORWARDING      NONE
   0    GigabitEthernet1/0/2      DESIFORWARDING      NONE将SwitchA配置为根桥后,与SwitchB、SwitchD相连的端口GigabitEthernet1/0/2和GigabitEthernet1/0/1在生成树计算中被选举为指定端口。

# 在SwitchB上执行display stp interface gigabitethernet 1/0/1 brief命令,查看端口GigabitEthernet1/0/1状态,结果如下:

display stp interface gigabitethernet 1/0/1 brief
MSTIDPort                        RoleSTP State   Protection
   0    GigabitEthernet1/0/1      DESIFORWARDING      NONE      端口GigabitEthernet1/0/1在生成树选举中成为指定端口,处于FORWARDING状态。

# 在SwitchC上执行display stp brief命令,查看端口状态,结果如下:

display stp brief
MSTIDPort                        RoleSTP State   Protection
   0    GigabitEthernet1/0/1      ALTEDISCARDING      NONE   
   0    GigabitEthernet1/0/3      ROOTFORWARDING      NONE      端口GigabitEthernet1/0/3在生成树选举中成为根端口,处于FORWARDING状态。

端口GigabitEthernet1/0/1在生成树选举中成为Alternate端口,处于DISCARDING状态。


配置文件
SwitchA的配置文件

#
sysname SwitchA
#
stp mode stp
stp instance 0 root primary
stp pathcost-standard legacy
#
returnSwitchB的配置文件

#
sysname SwitchB   
#
stp mode stp   
stp pathcost-standard legacy
#
interface GigabitEthernet1/0/2   
stp bpdu-filter enable                                                                                                            
stp edged-port enable
#
return                  SwitchC的配置文件

#
sysname SwitchC
#
stp mode stp
stp pathcost-standard legacy
#
interface GigabitEthernet1/0/1         
stp instance 0 cost 20000
#
interface GigabitEthernet1/0/2   
stp bpdu-filter enable                                                                                                            
stp edged-port enable
#
return         SwitchD的配置文件

#
sysname SwitchD
#
stp mode stp
stp instance 0 root secondary      
stp pathcost-standard legacy
#   
return

RSTP
组网需求
在一个复杂的网络中,网络规划者由于冗余备份的需要,一般都倾向于在设备之间部署多条物理链路,其中一条作主用链路,其他链路作备份。这样就难免会形成环形网络,若网络中存在环路,可能会引起广播风暴和MAC表项被破坏。

网络规划者规划好网络后,可以在网络中部署RSTP协议预防环路。当网络中存在环路,RSTP通过阻塞某个端口以达到破除环路的目的。如图1所示,当前网络中存在环路,SwitchA、SwitchB、SwitchC和SwitchD都运行RSTP,通过彼此交互信息发现网络中的环路,并有选择的对某个端口进行阻塞,最终将环形网络结构修剪成无环路的树形网络结构,从而防止报文在环形网络中不断循环,避免设备由于重复接收相同的报文造成处理能力下降。

图1 配置RSTP功能组网图

配置思路
采用以下思路配置RSTP功能:
在处于环形网络中的交换设备上配置RSTP基本功能,包括:
配置环网中的设备生成树协议工作在RSTP模式。

配置根桥和备份根桥设备。

配置端口的路径开销值,实现将该端口阻塞。

使能RSTP,实现破除环路。

配置保护功能,实现对设备或链路的保护。例如:在根桥设备的指定端口配置根保护功能。

操作步骤
配置RSTP基本功能

配置环网中的设备生成树协议工作在RSTP模式

# 配置SwitchA的RSTP工作模式。

<HUAWEI> system-view
sysname SwitchA
stp mode rstp# 配置交换设备SwitchB的RSTP工作模式。

<HUAWEI> system-view
sysname SwitchB
stp mode rstp# 配置交换设备SwitchC的RSTP工作模式。

<HUAWEI> system-view
sysname SwitchC
stp mode rstp# 配置交换设备SwitchD的RSTP工作模式。

<HUAWEI> system-view
sysname SwitchD
stp mode rstp配置根桥和备份根桥设备

# 配置SwitchA为根桥。

stp root primary# 配置SwitchD为备份根桥。

stp root secondary配置端口的路径开销值,实现将该端口阻塞

说明:
端口路径开销值取值范围由路径开销计算方法决定,这里选择使用华为计算方法为例,配置将被阻塞端口的路径开销值为20000。

同一网络内所有交换设备的端口路径开销应使用相同的计算方法。

# 配置SwitchA的端口路径开销计算方法为华为计算方法。

stp pathcost-standard legacy# 配置SwitchB的端口路径开销计算方法为华为计算方法。

stp pathcost-standard legacy# 配置SwitchC的端口路径开销计算方法为华为计算方法。

stp pathcost-standard legacy# 配置SwitchC端口GigabitEthernet1/0/1端口路径开销值为20000。

interface gigabitethernet 1/0/1
stp cost 20000
quit# 配置SwitchD的端口路径开销计算方法为华为计算方法。

stp pathcost-standard legacy使能RSTP,实现破除环路

将与PC机相连的端口设置为边缘端口并使能端口的BPDU报文过滤功能

# 配置SwitchB端口GigabitEthernet1/0/2为边缘端口并使能端口的BPDU报文过滤功能。

interface gigabitethernet 1/0/2
stp edged-port enable
stp bpdu-filter enable
quit# 配置SwitchC端口GigabitEthernet1/0/2为边缘端口并使能端口的BPDU报文过滤功能。

interface gigabitethernet 1/0/2
stp edged-port enable
stp bpdu-filter enable
quit设备全局使能RSTP

# 设备SwitchA全局使能RSTP。

stp enable# 设备SwitchB全局使能RSTP。

stp enable# 设备SwitchC全局使能RSTP。

stp enable# 设备SwitchD全局使能RSTP。

stp enable
配置保护功能,如在根桥设备的指定端口配置根保护功能

# 在SwitchA端口GigabitEthernet1/0/1上配置根保护功能。

interface gigabitethernet 1/0/1
stp root-protection
quit# 在SwitchA端口GigabitEthernet1/0/2上配置根保护功能。

interface gigabitethernet 1/0/2
stp root-protection
quit
验证配置结果

经过以上配置,在网络计算稳定后,执行以下操作,验证配置结果。

# 在SwitchA上执行display stp brief命令,查看端口状态和端口的保护类型,结果如下:

display stp brief
MSTIDPort                        RoleSTP State   Protection
   0    GigabitEthernet1/0/1      DESIFORWARDING      ROOT
   0    GigabitEthernet1/0/2      DESIFORWARDING      ROOT将SwitchA配置为根桥后,与SwitchB、SwitchD相连的端口GigabitEthernet1/0/2和GigabitEthernet1/0/1在生成树计算中被选举为指定端口,并在指定端口上配置根保护功能。

# 在SwitchB上执行display stp interface gigabitethernet 1/0/1 brief命令,查看端口GigabitEthernet1/0/1状态,结果如下:

display stp interface gigabitethernet 1/0/1 brief
MSTIDPort                        RoleSTP State   Protection
   0    GigabitEthernet1/0/1      DESIFORWARDING      NONE      端口GigabitEthernet1/0/1在生成树选举中成为指定端口,处于FORWARDING状态。

# 在SwitchC上执行display stp brief命令,查看端口状态,结果如下:

display stp brief
MSTIDPort                        RoleSTP State   Protection
   0    GigabitEthernet1/0/1      ALTEDISCARDING      NONE   
   0    GigabitEthernet1/0/2      DESIFORWARDING      NONE   
   0    GigabitEthernet1/0/3      ROOTFORWARDING      NONE   端口GE1/0/1在生成树选举中成为Alternate端口,处于DISCARDING状态。

端口GE1/0/3在生成树选举中成为根端口,处于FORWARDING状态。


配置文件
SwitchA的配置文件

#
sysname SwitchA               
#                              
stp mode rstp                  
stp instance 0 root primary   
stp pathcost-standard legacy
#                              
interface GigabitEthernet1/0/1
stp root-protection            
#                              
interface GigabitEthernet1/0/2
stp root-protection            
#
returnSwitchB的配置文件

#                              
sysname SwitchB               
#                              
stp mode rstp                  
stp pathcost-standard legacy
#                           
interface GigabitEthernet1/0/2      
stp bpdu-filter enable
stp edged-port enable
#                              
return                  SwitchC的配置文件

#                              
sysname SwitchC                                 
#                              
stp mode rstp                  
stp pathcost-standard legacy
#                              
interface GigabitEthernet1/0/1      
stp instance 0 cost 20000      
#                              
interface GigabitEthernet1/0/2      
stp bpdu-filter enable
stp edged-port enable
#                              
return         SwitchD的配置文件

#                              
sysname SwitchD                        
#                              
stp mode rstp                  
stp instance 0 root secondary   
stp pathcost-standard legacy
#                              
return


MSTP
组网需求
在一个复杂的网络中,由于冗余备份的需要,网络规划者一般都倾向于在设备之间部署多条物理链路,其中一条作为主用链路,其他作为备份链路。这样就难免会形成环路,若网络中存在环路,可能会引起广播风暴和MAC表项被破坏。为此,可以在网络中部署MSTP协议预防环路。MSTP可阻塞二层网络中的冗余链路,将网络修剪成树状,达到消除环路的目的。
如图1所示,SwitchA、SwitchB、SwitchC和SwitchD都运行MSTP。为实现VLAN2~VLAN10和VLAN11~VLAN20的流量负载分担,MSTP引入了多实例。MSTP可设置VLAN映射表,把VLAN和生成树实例相关联。
图1 配置MSTP功能组网图




配置思路
采用以下思路配置MSTP功能:

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

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

说明:
设备配置根保护功能后,如果根桥和备份根桥之间的链路down了,则配置根保护的端口状态会因为根保护功能生效直接变成discarding状态。

为了提高可靠性,建议根桥和备份根桥之间的链路绑定Eth-Trunk。

配置设备的二层转发功能。

操作步骤
配置MSTP基本功能

配置SwitchA、SwitchB、SwitchC和SwitchD到域名为RG1的域内,创建实例MSTI1和实例MSTI2

说明:
当两台交换设备的以下配置都相同时,这两台交换设备属于同一个MST域。
MST域的域名。

多生成树实例和VLAN的映射关系。

MST域的修订级别。

# 配置实例1的根桥SwitchA的MST域。

<HUAWEI> system-view
sysname SwitchA
stp region-configuration
region-name RG1 //配置域名为RG1。
instance 1 vlan 2 to 10 //将VLAN 2至VLAN 10映射到实例1上。
instance 2 vlan 11 to 20 //将VLAN 11至VLAN 20映射到实例2上。
active region-configuration //激活MST域的配置。
quit# 配置实例2的根桥SwitchB的MST域。

<HUAWEI> system-view
sysname SwitchB
stp region-configuration
region-name RG1 //配置域名为RG1。
instance 1 vlan 2 to 10 //将VLAN 2至VLAN 10映射到实例1上。
instance 2 vlan 11 to 20 //将VLAN 11至VLAN 20映射到实例2上。
active region-configuration //激活MST域的配置。
quit# 配置接入交换机SwitchC的MST域。

<HUAWEI> system-view
sysname SwitchC
stp region-configuration
region-name RG1 //配置域名为RG1。
instance 1 vlan 2 to 10 //将VLAN 2至VLAN 10映射到实例1上。
instance 2 vlan 11 to 20 //将VLAN 11至VLAN 20映射到实例2上。
active region-configuration //激活MST域的配置。
quit# 配置接入交换机SwitchD的MST域。

<HUAWEI> system-view
sysname SwitchD
stp region-configuration
region-name RG1 //配置域名为RG1。
instance 1 vlan 2 to 10 //将VLAN 2至VLAN 10映射到实例1上。
instance 2 vlan 11 to 20 //将VLAN 11至VLAN 20映射到实例2上。
active region-configuration //激活MST域的配置。
quit在域RG1内,配置MSTI1与MSTI2的根桥与备份根桥

配置MSTI1的根桥与备份根桥

# 配置SwitchA为MSTI1的根桥。

stp instance 1 root primary# 配置SwitchB为MSTI1的备份根桥。

stp instance 1 root secondary配置MSTI2的根桥与备份根桥

# 配置SwitchB为MSTI2的根桥。

stp instance 2 root primary# 配置SwitchA为MSTI2的备份根桥。

stp instance 2 root secondary配置实例MSTI1和MSTI2中将要被阻塞端口的路径开销值大于缺省值

说明:
端口路径开销值取值范围由路径开销计算方法决定,这里选择使用华为计算方法为例,配置实例MSTI1和MSTI2中将被阻塞端口的路径开销值为20000。

同一网络内所有交换设备的端口路径开销应使用相同的计算方法。

# 配置实例1的根桥SwitchA的端口路径开销值的计算方法为华为计算方法。

stp pathcost-standard legacy# 配置实例2的根桥SwitchB的端口路径开销计算方法为华为计算方法。

stp pathcost-standard legacy# 配置接入交换机SwitchC的端口路径开销计算方法为华为计算方法,将端口GE1/0/2在实例MSTI2中的路径开销值配置为20000。

stp pathcost-standard legacy
interface gigabitethernet 1/0/2
stp instance 2 cost 20000
quit# 配置接入交换机SwitchD的端口路径开销计算方法为华为计算方法,将端口GE1/0/2在实例MSTI1中的路径开销值配置为20000。

stp pathcost-standard legacy
interface gigabitethernet 1/0/2
stp instance 1 cost 20000
quit使能MSTP,实现破除环路

设备全局使能MSTP

# 在实例1的根桥SwitchA上启动MSTP。

stp enable# 在实例2的根桥SwitchB上启动MSTP。

stp enable# 在接入交换机SwitchC上启动MSTP。

stp enable# 在接入交换机SwitchD上启动MSTP。

stp enable将与终端相连的端口设置为边缘端口并使能端口的BPDU报文过滤功能

# 配置SwitchC端口GE1/0/1设置为边缘端口并使能端口的BPDU报文过滤功能。

interface gigabitethernet 1/0/1
stp edged-port enable
stp bpdu-filter enable
quit# 配置SwitchD端口GE1/0/1设置为边缘端口并使能端口的BPDU报文过滤功能。

interface gigabitethernet 1/0/1
stp edged-port enable
stp bpdu-filter enable
quit
配置保护功能,如在各实例的根桥设备的指定端口配置根保护功能

# 在实例1根桥SwitchA端口GE1/0/1上启动根保护。

interface gigabitethernet 1/0/1
stp root-protection
quit# 在实例2根桥SwitchB端口GE1/0/1上启动根保护。

interface gigabitethernet 1/0/1
stp root-protection
quit
配置处于环网中的设备的二层转发功能

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

# 在实例1的根桥SwitchA上创建VLAN2~20。

vlan batch 2 to 20# 在实例2的根桥SwitchB上创建VLAN2~20。

vlan batch 2 to 20# 在接入交换机SwitchC上创建VLAN2~20。

vlan batch 2 to 20# 在接入交换机SwitchD上创建VLAN2~20。

vlan batch 2 to 20将交换设备上接入环路中的端口加入VLAN

# 将实例1的根桥SwitchA端口GE1/0/1加入VLAN。

WPFLJY 发表于 2017-12-5 21:10:37

123

WPFLJY 发表于 2017-12-5 21:10:51

{:1_1:}

zines 发表于 2017-12-6 11:42:10

谢谢楼主分享。
页: [1] 2 3 4 5 6 7
查看完整版本: 网络环路杀手-生成树(STP/RSTP/MSTP)实例介绍