生成树协议配置与管理STP——4

来源:互联网 发布:叉车考试什么软件 编辑:程序博客网 时间:2024/06/05 05:48

MSTP配置

华为S系列交换机的MSTP相关参数缺省配置


    一、MSTP基本功能主要配置任务

MSTP可以把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立,实现不同VLAN流量的分离,达到网络负载均衡的目的。

通过给交换设备配置MSTP的工作模式、配置域并激活后,启动MSTP,MSTP便开始进行生成树计算,将网络修剪成树状,破坏环路。如需认为干预生成树计算结果,可进行手工配置:手动配置指定根桥和备份根桥设备,配置交换设备在指定生成树实例中的优先级数值,配置端口在指定生成树实例中的路径开销数值,配置端口在指定生成树实例中的优先级数值。

1、配置MSTP工作模式

就是指定交换设备工作在MSTP协议下。MSTP兼容STP和RSTP,缺省情况下,交换设备的工作模式为MSTP。因为STP和MSTP不能互相识别报文,而MSTP和RSTP可以互相识别报文,所以如果设备工作在MSTP工作模式下就会设置所有与运行STP的交换设备直接相连的端口工作在STP模式下,其他端口工作在MSTP模式下,实现运行不同生成树协议的设备之间的互通。

2、配置并激活MST域

MST域是由交换网络中的多台交换设备以及他们之间的网段所构成。这些交换设备启动MSTP后,具有相同域名、相同VLAN到生成树映射配置和相同MSTP修订级别配置,并且物理上直接相连。一个交换网络可以存在多个MST域,用户可以通过MSTP配置命令把多台交换设备划分在同一个MST域内。

3、(可选)配置根桥和备份根桥

可以通过生成树计算来自动确定生成树的根桥,也可手动配置设备为指定生成树的根桥或备份根桥。在一棵生成树中,生效的根桥只有一个:当两台或两台以上的设备被指定为同一颗生成树的根桥时,系统将选择MAC地址最小的设备作为根桥。

可以在每棵生成树中指定多个备份根桥。当根桥出现故障或被关机时,备份根桥可以取代根桥成为指定生成树的根桥;但此时如果配置了新的根桥,则备份桥不会成为根桥;如果配置了多个备份根桥,则MAC地址最小的备份根桥将成为指定生成树的根桥。

设备在各生成树中的角色互相独立,一台交换设备在作为一棵生成树的根桥或备份根桥的同时也可以作为其他生成树的根桥或备份根桥;但在同一棵生成树中,一台设备不能即作为根桥,又作为备份根桥。

4、(可选)配置交换设备在指定生成树实例中的优先级

在一个生成树实例中有且仅有一个根桥,它是该生成树实例的逻辑中心。在进行根桥的选择时,一般会希望选择性能高、网络层次高的交换设备作为根桥。但这样的设备优先级不一定高。

5、(可选)配置端口在指定生成树实例中的路径开销

路径开销是一个端口量,是MSTP协议用于选择链路的参考值。端口的路径开销是生成树计算的重要依据,在不同生成树实例中为同一端口配置不同的路径开销值,可以使不同VLAN的流量沿不同的物理链路转发,实现VLAN的负载分担功能。

6、(可选)配置端口在指定生成树实例中的优先级

在参与MSTP生成树计算时,对于处在生成树实例中的交换设备端口,其优先级的高低会影响到是否被选举为指定端口。如希望将生成树实例中的某交换设备的端口阻塞从而破坏环路,则可将其端口优先级值设置比缺省值大。

7、启用MSTP

当交换设备配置MSTP基本功能后,必须使能设备MSTP功能,MSTP相关配置才能生效。

8、配置收敛方式

当生成树的拓扑结构发生改变时,和它建立映射关系的VLAN的转发路径也将发生变化。此时,交换设备的ARP表中与这些VLAN相关的表项也需要更新。根据对ARP表项的处理方式不同,MSTP的收敛方式分为fast和Normal两种:

(1)fast:ARP表将需要更新的表项直接删除。

(2)normal:ARP表中将需要更新的表项快速老化。

二、配置MSTP基本功能

MSTP可阻塞二层网络中的冗余链路,将网络修剪成树状,同时MSTP引入多实例,通过将不同VLAN映射到不同实例中,实现不同VLAN的流量负载分担。MSTP的基本配置思路如下:

(1)在环形网络中,划分MST域,在域中配置不同的MSTI。

(2)为各个MSTI选出其中的一个交换设备作为根桥。

(3)在各个MSTI中计算出其他交换设备到根桥的最短路径,为每个非根桥设备选举一个根端口。

(4)在各个MSTI中通过端口ID为每个连接选举出一个指定端口。






三、MSTP多进程基本功能及主要配置任务

在二层单接环和二层双接环混合组网环境下,交换设备同时承载二三层业务。为了实现不同的环完成不同的业务,可在该组网上部署MSTP多进程,实现不同环上的生成树协议进行独立计算,互不影响。

如下图网络中,SwitchA、SwitchB和SwitchC之间通过二层链路相连,并同时启动MSTP协议。环上的CE设备只支持STP/RSTP协议并且存在多个接入环,不同的接入环在SwitchA和SwitchB上通过不同的端口接入。


SwitchA和SwitchB之间的链路也是二层链路,并运行MSTP协议,但SwitchA和SwitchB之间的链路是多接入环的共享链路,它与其他接入环链路的不同在于:共享链路上的端口需要参与多个接入环和多个MSTP进程的计算,这样SwitchA和SwitchB之间的MSTP协议报文就需要能区分是来自哪个进程的MSTP协议报文。

此外,共享链路上的同一个端口同时参与多个MSTP进程的计算,多个MSTP进程中都会计算出端口状态,这样端口就可能同时存在多个状态,从而无法决定采用哪个生成树的状态。要注意的是,虽然共享链路上的端口参与了多个MSTP进程的状态计算,但是该共享链路只具有MSTP进程0的状态,不会影响其他MSTP进程。

MSTP的多进程功能实现了各个环之间的MSTP独立运行,每个MSTP进程可以管理设备上的部分端口,即设备的二层端口资源被多个MSTP进程分割管理,每个MSTP进程上都运行标准的MSTP协议。在配置MSTP多进程基本功能之前,需完成MST域配置并激活。

MSTP多进程下的基本功能配置,需要创建多个MSTP进程,然后在对应进程下为对应的MSTI配置MSTP基本功能,而且必须先完成上面介绍的单进程下的MSTP工作模式和MST域名并激活配置。

(1)创建MSTP进程。进程的ID是识别MSTP多进程的唯一标识。MSTP设备将端口绑定在进程中,设备将以进程为边界进行MSTP协议计算,不在此进程内的端口将不参与此进程的协议计算。需要在与多个接入环相连接的设备上进行MSTP进程创建配置。

(2)配置端口加入MSTP进程。通过将端口加入MSTP进程中,可使其参与MSTP协议计算。使能MSTP功能的设备与接入环相连的链路叫做接入链路,多个接入环公用的链路叫做共享链路。共享链路上的端口需要参与多个接入环和多个MSTP进程的计算,所以需要加入过个MSTP进程。

(3)(可选)配置根桥和备份根桥。可以通过计算自动确定生成树的根桥,也可手动配置设备为指定MSTP进程下的指定MSTI配置根桥或备份根桥。

(4)(可选)配置交换设备在指定生成树实例中的优先级。可以为各交换设备配置在指定MSTP进程下的指定MSTI中的桥优先级,以便参与在指定MSTI中的根桥选举。

(5)(可选)配置端口在指定生成树实例中的路径开销。同样可以为各运行MSTP协议的端口配置在指定MSTP进程下的指定MSTI中的路径开销,以便参与在指定MSTI中的根端口的选举。

(6)(可选)配置端口在指定生成树实例中的优先级。为各运行MSTP协议的端口配置在指定MSTP进程下的指定MSTI中的优先级值,以便参与在指定MSTI中的指定端口的选举。

(7)配置MSTP多进程的TC通告功能。配置MSTP多进程的TC通告功能后,当前MSTP进程在收到TC报文后,能够及时通告给其他指定MSTP进程中的实例,以便使其及时刷新MAC表项和ARP表项,从而保证业务不中断。这需要在与接入环相连接的设备上进行配置。

(8)启用MSTP。当交换设备配置MSTP多进程基本功能后,必须在指定进程视图下使能MSTP功能,该进程的MSTP相关配置才能生效。

四、配置MSTP多进程基本功能





五、配置影响MSTP拓扑收敛的参数

配置参数前,需完成MSTP基本功能配置。整个影响MSTP拓扑收敛的参数配置,主要也是网络直径、超时时间、定时器、影响带宽的最大连接数、端口的链路类型、端口的最大发送速率、执行MCheck操作、边缘端口和BPDU报文过滤功能等,与RSTP中的配置不同的只是原来在系统视图中的配置现在需要在对应的MSTP进程视图下进行配置,除了在全局模式下配置边缘端口和BPDU报文过滤功能。

在MSTP中还可以配置MST域内生成树的最大跳数。在MSTBPDU中包含一个记录该BPDU剩余生存跳数(CIST Remaining Hops)字段。MST域内生成树的最大跳数决定了生成树的网络规模大小。从而控制生成树的网络规模。

剩余生存跳数的计算方法如下:

(1)根桥设备发送的BPDU的剩余生存跳数为MST域的最大跳数。

(2)非根桥设备发送的BPDU的剩余生存跳数为MST域的最大跳数减去本桥设备距跟桥设备的跳数。

(3)如果交换设备收到的BPDU中携带的剩余生存跳数为0,则交换设备将该BPDU丢弃。配置MST域的最大跳数的方法是在对应MSTP进程视图或系统视图下使用stpmax-hops hop命令进行配置,取值范围为1~40的整数。缺省情况下,MST域内生成树的最大跳数为20。本配置仅需在ID非0的MSTP进程中进行。

示例:配置MST域内所有生成树的最大跳数为35

<Huawei>system-view

[Huawei]stp max-hops 35

    示例:配置MST域内MSTP进程10中的所有生成树的最大跳数为35。

<Huawei>system-view

[Huawei]stp process 10

[Huawei-mst-process-10]stp max-hops 35

六、配置MSTP保护功能

MSTP也支持RSTP所有的保护功能,包括BPDU保护功能、防TC-BPDU报文攻击保护功能、Root保护功能和环路保护功能。MSTP还提供了特有的共享链路保护功能。“共享链路保护功能”用在交换设备双归属接入网络的场景。当共享链路出现故障时,通过共享链路保护功能,使本设备的工作模式强制转换为RSTP,配合使用根保护功能,可以避免网络环路。


    七、配置MSTP支持和其他厂商设备互通的参数

为了实现与其他厂商设备的互通,需要在华为运行MSTP的设备上配置一些参数,以确保通信畅通。

(1)配置端口Proposal/Agreement机制的迁移方式。与RSTP一样,在华为S系列交换机的MSTP协议中也支持增强模式和普通模式两种端口Proposal/Agreement机制的迁移方式。

(2)配置端口收发MSTP协议的报文格式。MSTP协议报文存在两种格式,一种为dot1s,即IEEE802.1s规格的报文格式,另一种是华为私有legacy报文格式。

(3)使能摘要监听功能。当华为设备与其他厂商的设备互联时,在域名、修订级别、VLAN实例映射表全都一致的情况下,由于双方BPDU报文秘钥不一致,会导致两台设备不能正常互通,在这种情况下,需要在交换设备上使能摘要监听功能。可在MST域中的交换设备上通过配置实现华为设备的BPDU报文秘钥与其他厂商设备的BPDU报文秘钥一致。


八、MSTP功能配置示例

如下图拓扑结构,SwitchA、B、C、D都运行MSTP。彼此相连形成了一个环网,因为在SwitchA与SwitchB之间,以及SwitchC与SwitchD之间都存在冗余链路。为实现VLAN2~VLAN10和VLAN11~VLAN20的流量负载分担,采用MSTP协议配置了两个MSTI,即MSTI1和MSTI2。


    1、配置思路

(1)在四台交换机创建一个相同的MST域,然后在这个MST域中创建两个MSTI(1和2),生成树拓扑如上图右边,把ID号为2~20的VLAN映射到MSTI1中,把ID号为11~20的VLAN映射到MSTI2中。

(2)为了实现两个MSTI无二层环路,在MSTI1中阻塞了SwitchD上的GE0/0/2端口,在MSTI2中阻塞了SwitchC上的GE0/0/2端口。

(3)配置MSTI的根桥为SwitchA,MSTI2的根桥为SwitchB,这样就实现了MSTI1中的VLAN2~VLAN10和MSTI2中的VLAN11~VLAN20的流量通过上行两条链路进行负载分担。

(4)最后在这台交换机上启用了MSTP协议,使以上配置生效。

(5)为了确保两个MSTI中的根桥不会发生变化,分别在SwitchA和SwitchB两指定端口上配置根保护功能。

(6)在各交换机上创建ID号为2~20的共19 个VLAN,配置各链路间端口的类型,并允许对应的VLAN通过。之所以要把VLAN的创建与配置放在最后,就是为了预防环路的发生,因为如果在启用MSTP协议前创建了这些VLAN,肯定会发生二层环路的,也起不到负载分担的目的。

2、具体配置步骤

(1)在4台交换机上分别创建一个相同的MST域(域名假设为RG1)、两个多生成树实例MSTI1和MSTI2,然后创建ID为2~10的VLAN映射到MSTI1的映射,创建ID为11~20的VLAN映射到MSTI2的映射。并激活MST域配置。

SwitchA上的MST域配置:

<Huawei>system-view

[Huawei]sysname SwitchA

[SwitchA]stp region-configuration

[SwitchA-mst-region]region-name RG1

[SwitchA-mst-region]instance 1 vlan 2 to 10

[SwitchA-mst-region]instance 2 vlan 11 to20

[SwitchA-mst-region]activeregion-configuration

[SwitchA-mst-region]quit

SwitchB上的MST域配置:

<Huawei>system-view

[Huawei]sysname SwitchB

[SwitchB]stp region-configuration

[SwitchB-mst-region]region-name RG1

[SwitchB-mst-region]instance 1 vlan 2 to 10

[SwitchB-mst-region]instance 2 vlan 11 to20

[SwitchB-mst-region]activeregion-configuration

[SwitchB-mst-region]quit

SwitchC上的MST域配置:

<Huawei>system-view

[Huawei]sysname SwitchC

[SwitchC]stp region-configuration

[SwitchC-mst-region]region-name RG1

[SwitchC-mst-region]instance 1 vlan 2 to 10

[SwitchC-mst-region]instance 2 vlan 11 to20

[SwitchC-mst-region]activeregion-configuration

[SwitchC-mst-region]quit

SwitchD上的MST域配置:

<Huawei>system-view

[Huawei]sysname SwitchD

[SwitchD]stp region-configuration

[SwitchD-mst-region]region-name RG1

[SwitchD-mst-region]instance 1 vlan 2 to 10

[SwitchD-mst-region]instance 2 vlan 11 to20

[SwitchD-mst-region]activeregion-configuration

[SwitchD-mst-region]quit

(2)配置MSTI1与MSTI2的根桥与备份根桥

[SwitchA]stp instance 1 root primary  #--配置SwitchA为MSTI1的根桥

[SwitchB]stp instance 1 root secondary #--配置SwitchB为MSTI1的备份根桥

[SwitchB]stp instance 2 root primary

[SwitchA]stp instance 2 root secondary

(3)配置MSTI1和MSTI2中要被阻塞的端口,以便消除二层环路。

因为示例中其他端口都采用对应类型端口的缺省路径开销值,所以要阻塞某端口只需把它的路径开销值配置大于缺省值即可。

端口路径开销值取值范围由路径开销计算方法决定,这里以华为私有计算方法为例。

[SwitchA]stp pathcost-standard legacy  #--配置采用华为的私有端口路径开销计算方法

[SwitchB] stp pathcost-standard legacy

[SwitchC] stp pathcost-standard legacy

[SwitchC]interface gigabitethernet 0/0/2

[SwitchC-Gigabitethernet0/0/2]stp instance2  cost 20000 #--讲端口GE0/0/2在实例MSTI2中的路径开销值配置为20000

[SwitchC-Gigabitethernet0/0/2]quit

[SwitchD] stp pathcost-standard legacy

[SwitchD]interface gigabitethernet 0/0/2

[SwitchD-Gigabitethernet0/0/2]stp instance1 cost 20000

[SwitchD-Gigabitethernet0/0/2]quit

    (4)在4台交换机上全局使能MSTP,使以上MSTP配置生效,消除二层环路。

[SwitchA]stp enable

[SwitchB]stp enable

[SwitchC]stp enable

[SwitchD]stp enable

    (5)将与终端PC相连的端口去使能MSTP

[SwitchC] interface gigabitethernet 0/0/1

[SwitchC-Gigabitethernet0/0/1]stp disable

[SwitchC-Gigabitethernet0/0/1]quit

 

[SwitchD] interface gigabitethernet 0/0/1

[SwitchD-Gigabitethernet0/0/1]stp disable

[SwitchD-Gigabitethernet0/0/1]quit

    (6)在两实例的根桥设备的指定端口上配置根保护功能

[SwitchA] interface gigabitethernet 0/0/1

[SwitchA-Gigabitethernet0/0/1]stproot-protection

[SwitchA-Gigabitethernet0/0/1]quit

 

[SwitchB] interface gigabitethernet 0/0/1

[SwitchB-Gigabitethernet0/0/1]stproot-protection

[SwitchB-Gigabitethernet0/0/1]quit

    (7)最后在各交换机上创建ID号为2~20的共19个VLAN,然后把4台交换机间的直连链路的端口配置为Trunk类型,并允许这19个VLAN通过。把连接PC的链路端口设置为Access类型,加入对应的VLAN。

SwitchA上的配置:

[SwitchA]vlan batch 2 to 20

[SwitchA]interface gigabitethernet 0/0/1

[SwitchA-Gigabitethernet0/0/1]portlink-type trunk

[SwitchA-Gigabitethernet0/0/1]port trunkallow-pass vlan 2 to 20

[SwitchA-Gigabitethernet0/0/1]quit

[SwitchA]interface gigabitethernet 0/0/2

[SwitchA-Gigabitethernet0/0/2]portlink-type trunk

[SwitchA-Gigabitethernet0/0/2]port trunkallow-pass vlan 2 to 20

[SwitchA-Gigabitethernet0/0/2]quit

SwitchB上的配置:

[SwitchB]vlan batch 2 to 20

[SwitchB]interface gigabitethernet 0/0/1

[SwitchB-Gigabitethernet0/0/1]portlink-type trunk

[SwitchB-Gigabitethernet0/0/1]port trunkallow-pass vlan 2 to 20

[SwitchB-Gigabitethernet0/0/1]quit

[SwitchB]interface gigabitethernet 0/0/2

[SwitchB-Gigabitethernet0/0/2]portlink-type trunk

[SwitchB-Gigabitethernet0/0/2]port trunkallow-pass vlan 2 to 20

[SwitchB-Gigabitethernet0/0/2]quit

SwitchC上的配置:

[SwitchC]vlan batch 2 to 20

[SwitchC]interface gigabitethernet 0/0/1

[SwitchC-Gigabitethernet0/0/1]portlink-type access

[SwitchC-Gigabitethernet0/0/1]port defaultvlan 2

[SwitchC-Gigabitethernet0/0/1]quit

[SwitchC]interface gigabitethernet 0/0/2

[SwitchC-Gigabitethernet0/0/2]portlink-type trunk

[SwitchC-Gigabitethernet0/0/2]port trunkallow-pass vlan 2 to 20

[SwitchC-Gigabitethernet0/0/2]quit

[SwitchC]interface gigabitethernet 0/0/3

[SwitchC-Gigabitethernet0/0/3]portlink-type trunk

[SwitchC-Gigabitethernet0/0/3]port trunkallow-pass vlan 2 to 20

[SwitchC-Gigabitethernet0/0/3]quit

SwitchD上的配置:

[SwitchD]vlan batch 2 to 20

[SwitchD]interface gigabitethernet 0/0/1

[SwitchD-Gigabitethernet0/0/1]portlink-type access

[SwitchD-Gigabitethernet0/0/1]port defaultvlan 11

[SwitchD-Gigabitethernet0/0/1]quit

[SwitchD]interface gigabitethernet 0/0/2

[SwitchD-Gigabitethernet0/0/2]portlink-type trunk

[SwitchD-Gigabitethernet0/0/2]port trunkallow-pass vlan 2 to 20

[SwitchD-Gigabitethernet0/0/2]quit

[SwitchD]interface gigabitethernet 0/0/3

[SwitchD-Gigabitethernet0/0/3]portlink-type trunk

[SwitchD-Gigabitethernet0/0/3]port trunkallow-pass vlan 2 to 20

[SwitchD-Gigabitethernet0/0/3]quit

    经过配置后,在网络稳定后。在SwitchA上执行display stp brief命令可查看端口状态和端口的保护类型。


可以看出,在MSTI1中,由于SwitchA是根桥,其GE0/0/2和GE0/0/1端口成为指定端口,其中在GE0/0/1端口上配置了根保护;在MSTI2中,SwitchA为非根桥,其GE0/0/1端口成为指定端口,端口GE0/0/2端口成为根端口。

在SwitchC上执行displaystp interface brief命令


可看出在SwitchC的GE0/0/3端口在MSTI1和MSTI2中均为根端口,GE0/0/2端口在MSTI2中被阻塞,在MSTI1中被计算为指定端口。

    在SwitchD上执行displaystp interface brief命令


GE0/0/3在MSTI1和MSTI2中均为根端口,GE0/0/2端口在MSTI1中被阻塞,在MSTI2中被计算为指定端口。

STP/RSTP/MSTP配置管理

    1、使用displaystp [process process-id] [instance instance-id] [interface interface-typeinterface-number | slot slot-id] [brief]命令查看生成树的状态和统计信息。

2、使用displaystp  [process process-id] [instanceinstance-id] topology-change 命令查看STP/RSTP/MSTP拓扑变化相关的统计信息。

3、使用displaystp [process process-id] [instance instance-id] [interface interface-typeinterface-number | slot slot-id] tc-bpdu statistic 命令查看端口TC/TCN报文收发计数。

4、使用displaystp [process process-id] global命令查看生成树协议的全局概要信息。

5、使用displaystp [process process-id] region-configuration [digest]命令查看交换设备上当前生效的MST域配置信息,包括域名、域的修订级别、VLAN与生成树实例的映射关系以及配置的摘要。本命令仅适用于MSTP协议。

6、使用displaystp  [process process-id] bridge {root |local}命令查看桥的生成树状态详细信息。

7、resetstp  [interface interface-typeinterface-number] statistics命令可清除生成树的统计信息。

8、reset stperror packet statistics命令清除生成树协议的错误报文计数。


原创粉丝点击