26-MSTP
本章节下载: 26-MSTP (648.93 KB)
生成树协议是一种二层管理协议,它通过选择性地阻塞网络中的冗余链路来消除二层环路,同时还具备链路备份的功能。
与众多协议的发展过程一样,生成树协议也是随着网络的发展而不断更新的,从最初的STP(Spanning Tree Protocol,生成树协议)到RSTP(Rapid Spanning Tree Protocol,快速生成树协议),再到最新的MSTP(Multiple Spanning Tree Protocol,多生成树协议)。本文将渐进式地对STP、RSTP和MSTP各自的特点及其关系进行介绍。
STP由IEEE制定的802.1D标准定义,用于在局域网中消除数据链路层物理环路的协议。运行该协议的设备通过彼此交互报文发现网络中的环路,并有选择的对某些端口进行阻塞,最终将环路网络结构修剪成无环路的树型网络结构,从而防止报文在环路网络中不断增生和无限循环,避免主机由于重复接收相同的报文造成的报文处理能力下降的问题发生。
STP包含了两个含义:狭义的STP是指IEEE 802.1D中定义的STP协议;广义的STP是指包括IEEE 802.1D定义的STP协议,以及各种在它的基础上经过改进的生成树协议。
STP采用的协议报文是BPDU(Bridge Protocol Data Unit,桥协议数据单元),也称为配置消息。
STP通过在设备之间传递BPDU来确定网络的拓扑结构。BPDU中包含了足够的信息来保证设备完成生成树的计算过程。
BPDU在STP协议中分为两类:
· 配置BPDU(Configuration BPDU):用于进行生成树计算和维护生成树拓扑的报文。
· TCN BPDU(Topology Change Notification BPDU,拓扑变化通知BPDU):当拓扑结构发生变化时,用于通知相关设备网络拓扑结构发生变化的报文。
(1) 根桥
树形的网络结构必须有树根,于是STP引入了根桥(Root Bridge)的概念。根桥在全网中只有一个,而且根桥会根据网络拓扑的变化而改变,因此根桥并不是固定的。
在网络初始化过程中,所有设备都视自己为根桥,生成各自的配置BPDU并周期性地向外发送;但当网络拓扑稳定以后,只有根桥设备才会向外发送配置BPDU,其它设备则对其进行转发。
(2) 根端口
所谓根端口,是指一个非根桥的设备上离根桥最近的端口。根端口负责与根桥进行通信。非根桥设备上有且只有一个根端口,根桥上没有根端口。
(3) 指定桥与指定端口
指定桥与指定端口的含义,请参见表1-1的说明。
分类 |
指定桥 |
指定端口 |
对于一台设备而言 |
与本机直接相连并且负责向本机转发配置消息的设备 |
指定桥向本机转发配置消息的端口 |
对于一个局域网而言 |
负责向本网段转发配置消息的设备 |
指定桥向本网段转发配置消息的端口 |
指定桥与指定端口如图1-1所示,AP1、AP2、BP1、BP2、CP1、CP2分别表示Device A、Device B、Device C的端口。
· Device A通过端口AP1向Device B转发配置消息,则Device B的指定桥就是Device A,指定端口就是Device A的端口AP1;
· 与局域网LAN相连的有两台设备:Device B和Device C,如果Device B负责向LAN转发配置消息,则LAN的指定桥就是Device B,指定端口就是Device B的BP2。
根桥上的所有端口都是指定端口。
(4) 路径开销
路径开销是STP协议用于选择链路的参考值。STP协议通过计算路径开销,选择较为“强壮”的链路,阻塞多余的链路,将网络修剪成无环路的树型网络结构。
STP通过在设备之间传递BPDU来确定网络的拓扑结构。配置消息中包含了足够的信息来保证设备完成生成树的计算过程,其中包含的几个重要信息如下:
· 根桥ID:由根桥的优先级和MAC地址组成;
· 指定桥ID:由指定桥的优先级和MAC地址组成;
· 指定端口ID:由指定端口的优先级和端口名称组成;
· Message Age:配置消息在网络中传播的生存期;
· Max Age:配置消息在设备中能够保存的最大生存期;
· Hello Time:配置消息发送的周期;
· Forward Delay:端口状态迁移的延时。
为描述方便,在下面的描述及举例中仅考虑配置消息的其中四项内容:
· 根桥ID(以设备的优先级表示);
· 根路径开销;
· 指定桥ID(以设备的优先级表示);
· 指定端口ID(以端口名称表示)。
(1) STP算法实现的具体过程
· 初始状态
各台设备的各个端口在初始时会生成以自己为根桥的配置消息,根路径开销为0,指定桥ID为自身设备ID,指定端口为本端口。
· 最优配置消息的选择
各台设备都向外发送自己的配置消息,同时也会收到其他设备发送的配置消息。
最优配置消息的选择过程如表1-2所示。
步骤 |
内容 |
1 |
每个端口收到配置消息后的处理过程如下: · 当端口收到的配置消息比本端口配置消息的优先级低时,设备会将接收到的配置消息丢弃,对该端口的配置消息不作任何处理 · 当端口收到的配置消息比本端口配置消息的优先级高时,设备就用接收到的配置消息中的内容替换该端口的配置消息中的内容 |
2 |
设备将所有端口的配置消息进行比较,选出优先级最高的配置消息 |
配置消息的比较原则如下:
· 根桥ID较小的配置消息优先级高;
· 若根桥ID相同,则比较根路径开销,比较方法为:用配置消息中的根路径开销加上本端口对应的路径开销,假设两者之和为S,则S较小的配置消息优先级较高;
· 若根路径开销也相同,则依次比较指定桥ID、指定端口ID、接收该配置消息的端口ID等,上述值较小的配置消息优先级较高。
· 根桥的选择
网络初始化时,网络中所有的STP设备都认为自己是“根桥”,根桥ID为自身的设备ID。通过交换配置消息,设备之间比较根桥ID,网络中根桥ID最小的设备被选为根桥。
· 根端口、指定端口的选择
根端口、指定端口的选择过程如表1-3所示。
表1-3 根端口和指定端口的选择过程
步骤 |
内容 |
1 |
非根桥设备将接收最优配置消息的那个端口定为根端口 |
2 |
设备根据根端口的配置消息和根端口的路径开销,为每个端口计算一个指定端口配置消息: · 根桥ID替换为根端口的配置消息的根桥ID · 根路径开销替换为根端口配置消息的根路径开销加上根端口对应的路径开销 · 指定桥ID替换为自身设备的ID · 指定端口ID替换为自身端口ID |
3 |
设备使用计算出来的配置消息和需要确定端口角色的端口上的配置消息进行比较,并根据比较结果进行不同的处理: · 如果计算出来的配置消息优先级高,则设备就将该端口定为指定端口,端口上的配置消息被计算出来的配置消息替换,并周期性向外发送 · 如果端口上的配置消息优先级高,则设备不更新该端口配置消息并将此端口阻塞,该端口将不再转发数据,只接收但不发送配置消息 |
在拓扑稳定状态,只有根端口和指定端口转发流量,其他的端口都处于阻塞状态,它们只接收STP协议报文而不转发用户流量。
一旦根桥、根端口和指定端口选举成功,则整个树形拓扑就建立完毕了。
下面结合例子说明STP算法实现的计算过程。具体的组网如图1-2所示。假设Device A的优先级为0,Device B的优先级为1,Device C的优先级为2,各个链路的路径开销分别为5、10、4。
图1-2 STP算法计算过程组网图
各台设备的初始状态如表1-4所示。
设备 |
端口名称 |
端口的配置消息 |
Device A |
AP1 |
{0,0,0,AP1} |
AP2 |
{0,0,0,AP2} |
|
Device B |
BP1 |
{1,0,1,BP1} |
BP2 |
{1,0,1,BP2} |
|
Device C |
CP1 |
{2,0,2,CP1} |
CP2 |
{2,0,2,CP2} |
· 各台设备的比较过程及结果
各台设备的比较过程及结果如表1-5所示。
表1-5 各台设备的比较过程及结果
设备 |
比较过程 |
比较后端口的配置消息 |
Device A |
· 端口AP1收到Device B的配置消息{1,0,1,BP1},Device A发现本端口的配置消息{0,0,0,AP1}优于接收到的配置消息,就把接收到的配置消息丢弃 · 端口AP2收到Device C的配置消息{2,0,2,CP1},Device A发现本端口的配置消息{0,0,0,AP2}优于接收到的配置消息,就把接收到的配置消息丢弃 · Device A发现自己各个端口的配置消息中根桥和指定桥都是自己,则认为自己是根桥,各个端口的配置消息都不作任何修改,以后周期性的向外发送配置消息 |
AP1:{0,0,0,AP1} AP2:{0,0,0,AP2} |
Device B |
· 端口BP1收到来自Device A的配置消息{0,0,0,AP1},Device B发现接收到的配置消息优于本端口的配置消息{1,0,1,BP1},于是更新端口BP1的配置消息 · 端口BP2收到来自Device C的配置消息{2,0,2,CP2},Device B发现本端口的配置消息{1,0,1,BP2}优于接收到的配置消息,就把接收到的配置消息丢弃 |
BP1:{0,0,0,AP1} BP2:{1,0,1,BP2} |
· Device B对各个端口的配置消息进行比较,选出端口BP1的配置消息为最优配置消息,然后将端口BP1定为根端口,它的配置消息不作改变 · Device B根据根端口BP1的配置消息和根端口的路径开销5,为BP2端口计算一个指定端口配置消息{0,5,1,BP2} · Device B使用计算出来的配置消息{0,5,1,BP2}和端口BP2上的配置消息进行比较,比较的结果是计算出来的配置消息较优,则Device B将端口BP2定为指定端口,它的配置消息被计算出来的配置消息替换,并周期性向外发送 |
根端口BP1: {0,0,0,AP1} 指定端口BP2: {0,5,1,BP2} |
|
Device C |
· 端口CP1收到来自Device A的配置消息{0,0,0,AP2},Device C发现接收到的配置消息优于本端口的配置消息{2,0,2,CP1},于是更新端口CP1的配置消息 · 端口CP2收到来自Device B端口BP2更新前的配置消息{1,0,1,BP2},Device C发现接收到的配置消息优于本端口的配置消息{2,0,2,CP2},于是更新端口CP2的配置消息 |
CP1:{0,0,0,AP2} CP2:{1,0,1,BP2} |
经过比较: · 端口CP1的配置消息被选为最优的配置消息,端口CP1就被定为根端口,它的配置消息不作改变 · 将计算出来的指定端口配置消息{0,10,2,CP2}和端口CP2的配置消息进行比较后,端口CP2转为指定端口,它的配置消息被计算出来的配置消息替换 |
根端口CP1: {0,0,0,AP2} 指定端口CP2: {0,10,2,CP2} |
|
· 接着端口CP2会收到Device B更新后的配置消息{0,5,1,BP2},由于收到的配置消息优于原配置消息,则Device C触发更新过程 · 同时端口CP1收到Device A周期性发送来的配置消息,比较后Device C不会触发更新过程 |
CP1:{0,0,0,AP2} CP2:{0,5,1,BP2} |
|
经过比较: · 端口CP2的根路径开销9(配置消息的根路径开销5加上端口CP2对应的路径开销4)小于端口CP1的根路径开销10(配置消息的根路径开销0+端口CP1对应的路径开销10),所以端口CP2的配置消息被选为最优的配置消息,端口CP2就被定为根端口,它的配置消息就不作改变 · 将端口CP1的配置消息和计算出来的指定端口配置消息比较后,端口CP1被阻塞,端口配置消息不变,同时不接收从Device A转发的数据,直到新的情况触发生成树的计算,比如从Device B到Device C的链路down掉 |
阻塞端口CP1: {0,0,0,AP2} 根端口CP2: {0,5,1,BP2} |
经过上表的比较过程,此时以Device A为根桥的生成树就确定下来了,形状如图1-3所示。
为了便于描述,本例简化了生成树的计算过程,实际的过程要更加复杂。
(2) STP的配置消息传递机制
· 当网络初始化时,所有的设备都将自己作为根桥,生成以自己为根的配置消息,并以Hello Time为周期定时向外发送。
· 接收到配置消息的端口如果是根端口,且接收的配置消息比该端口的配置消息优,则设备将配置消息中携带的Message Age按照一定的原则递增,并启动定时器为这条配置消息计时,同时将此配置消息从设备的指定端口转发出去。
· 如果指定端口收到的配置消息比本端口的配置消息优先级低时,会立刻发出自己的更好的配置消息进行回应。
· 如果某条路径发生故障,则这条路径上的根端口不会再收到新的配置消息,旧的配置消息将会因为超时而被丢弃,设备重新生成以自己为根的配置消息并向外发送,从而引发生成树的重新计算,得到一条新的通路替代发生故障的链路,恢复网络连通性。
不过,重新计算得到的新配置消息不会立刻就传遍整个网络,因此旧的根端口和指定端口由于没有发现网络拓扑变化,将仍按原来的路径继续转发数据。如果新选出的根端口和指定端口立刻就开始数据转发的话,可能会造成暂时性的环路。
(3) STP定时器
STP计算中,需要使用三个重要的时间参数:Forward Delay、Hello Time和Max Age。
· Forward Delay为设备状态迁移的延迟时间。链路故障会引发网络重新进行生成树的计算,生成树的结构将发生相应的变化。不过重新计算得到的新配置消息无法立刻传遍整个网络,如果新选出的根端口和指定端口立刻就开始数据转发的话,可能会造成暂时性的环路。为此,STP采用了一种状态迁移的机制,新选出的根端口和指定端口要经过2倍的Forward Delay延时后才能进入转发状态,这个延时保证了新的配置消息已经传遍整个网络。
· Hello Time用于设备检测链路是否存在故障。设备每隔Hello Time时间会向周围的设备发送hello报文,以确认链路是否存在故障。
· Max Age是用来判断配置消息在设备内保存时间是否“过时”的参数,设备会将过时的配置消息丢弃。
RSTP由IEEE制定的802.1w标准定义,它在STP基础上进行了改进,实现了网络拓扑的快速收敛。其“快速”体现在,当一个端口被选为根端口和指定端口后,其进入转发状态的延时在某种条件下大大缩短,从而缩短了网络最终达到拓扑稳定所需要的时间。
· RSTP中,根端口的端口状态快速迁移的条件是:本设备上旧的根端口已经停止转发数据,而且上游指定端口已经开始转发数据。
· RSTP中,指定端口的端口状态快速迁移的条件是:指定端口是边缘端口或者指定端口与点对点链路相连。如果指定端口是边缘端口,则指定端口可以直接进入转发状态;如果指定端口连接着点对点链路,则设备可以通过与下游设备握手,得到响应后即刻进入转发状态。
(1) STP、RSTP存在的不足
STP不能快速迁移,即使是在点对点链路或边缘端口(边缘端口指的是该端口直接与用户终端相连,而没有连接到其它设备或共享网段上),也必须等待2倍的Forward Delay的时间延迟,端口才能迁移到转发状态。
RSTP(Rapid Spanning Tree Protocol,快速生成树协议)是STP协议的优化版。其“快速”体现在,当一个端口被选为根端口和指定端口后,其进入转发状态的延时在某种条件下大大缩短,从而缩短了网络最终达到拓扑稳定所需要的时间。
· RSTP中,根端口的端口状态快速迁移的条件是:本设备上旧的根端口已经停止转发数据,而且上游指定端口已经开始转发数据。
· RSTP中,指定端口的端口状态快速迁移的条件是:指定端口是边缘端口或者指定端口与点对点链路相连。如果指定端口是边缘端口,则指定端口可以直接进入转发状态;如果指定端口连接着点对点链路,则设备可以通过与下游设备握手,得到响应后即刻进入转发状态。
RSTP可以快速收敛,但是和STP一样存在以下缺陷:局域网内所有网桥共享一棵生成树,不能按VLAN阻塞冗余链路,所有VLAN的报文都沿着一棵生成树进行转发。
(2) MSTP的特点
MSTP由IEEE制定的802.1s标准定义,它可以弥补STP和RSTP的缺陷,既可以快速收敛,也能使不同VLAN的流量沿各自的路径转发,从而为冗余链路提供了更好的负载分担机制。
MSTP的特点如下:
· MSTP设置VLAN映射表(即VLAN和生成树的对应关系表),把VLAN和生成树联系起来。通过增加“实例”(将多个VLAN整合到一个集合中)这个概念,将多个VLAN捆绑到一个实例中,以节省通信开销和资源占用率。
· MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。
· MSTP将环路网络修剪成为一个无环的树型网络,避免报文在环路网络中的增生和无限循环,同时还提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载分担。
· MSTP兼容STP和RSTP。
在图1-4中的每台设备都运行MSTP。下面结合图1-4解释MSTP的一些基本概念。
图1-4 MSTP的基本概念示意图
图1-5 MST域3详图
在如图1-4所示的交换网络中有四个MST域,每个MST域都由四台设备构成,所有设备都运行MSTP;为了看清MST域内的情形,我们以MST域3为例放大来看,如图1-5所示。下面就结合这两张图来介绍一些MSTP中的基本概念:
(1) MST域
MST域(Multiple Spanning Tree Regions,多生成树域)是由交换网络中的多台设备以及它们之间的网段所构成。这些设备具有下列特点:
· 都使能了生成树协议;
· 域名相同;
· VLAN与MSTI间映射关系的配置相同;
· MSTP修订级别的配置相同;
· 这些设备之间有物理链路连通。
一个交换网络中可以存在多个MST域,用户可以通过配置将多台设备划分在一个MST域内。如在图1-4所示的网络中就有MST域1~MST域4这四个MST域,每个域内的所有设备都具有相同的MST域配置。
(2) MSTI
一个MST域内可以通过MSTP生成多棵生成树,各生成树之间彼此独立并分别与相应的VLAN对应,每棵生成树都称为一个MSTI(Multiple Spanning Tree Instance,多生成树实例)。如在图1-5所示的MST域3中,包含有三个MSTI:MSTI 1、MSTI 2和MSTI 0。
(3) VLAN映射表
VLAN映射表是MST域的一个属性,用来描述VLAN与MSTI间的映射关系。如图1-5中MST域3的VLAN映射表就是:VLAN 1映射到MSTI 1,VLAN 2和VLAN 3映射到MSTI 2,其余VLAN映射到MSTI 0。MSTP就是根据VLAN映射表来实现负载分担的。
(4) CST
CST(Common Spanning Tree,公共生成树)是一棵连接交换网络中所有MST域的单生成树。如果把每个MST域都看作一台“设备”,CST就是这些“设备”通过STP协议、RSTP协议计算生成的一棵生成树。如图1-4中的蓝色线条描绘的就是CST。
(5) IST
IST(Internal Spanning Tree,内部生成树)是MST域内的一棵生成树,它是一个特殊的MSTI,通常也称为MSTI 0,所有VLAN缺省都映射到MSTI 0上。如图1-5中的MSTI 0就是MST域3内的IST。
(6) CIST
CIST(Common and Internal Spanning Tree,公共和内部生成树)是一棵连接交换网络内所有设备的单生成树,所有MST域的IST再加上CST就共同构成了整个交换网络的一棵完整的单生成树,即CIST。如图1-4中各MST域内的IST(即MSTI 0)再加上MST域间的CST就构成了整个网络的CIST。
(7) 域根
域根(Regional Root)就是MST域内IST或MSTI的根桥。MST域内各生成树的拓扑不同,域根也可能不同。如在图1-5所示的MST域3中,MSTI 1的域根为Device B,MSTI 2的域根为Device C,而MSTI 0(即IST)的域根则为Device A。
(8) 总根
总根(Common Root Bridge)就是CIST的根桥。如图1-4中CIST的总根就是MST域1中的某台设备。
(9) 端口角色
端口在不同的MSTI中可以担任不同的角色。如图1-6所示,在由Device A、Device B、Device C和Device D共同构成的MST域中,Device A的端口Port A1和Port A2连向总根方向,Device B的端口Port B2和Port B3相连而构成环路,Device C的端口Port C3和Port C4连向其它MST域,Device D的端口Port D3直接连接用户主机。
如图1-6所示,MSTP计算过程中涉及到的主要端口角色有以下几种:
· 根端口(Root Port):在非根桥上负责向根桥方向转发数据的端口就称为根端口,根桥上没有根端口。
· 指定端口(Designated Port):负责向下游网段或设备转发数据的端口就称为指定端口。
· 替换端口(Alternate Port):是根端口和主端口的备份端口。当根端口或主端口被阻塞后,替换端口将成为新的根端口或主端口。
· 备份端口(Backup Port):是指定端口的备份端口。当指定端口失效后,备份端口将转换为新的指定端口。当使能了生成树协议的同一台设备上的两个端口互相连接而形成环路时,设备会将其中一个端口阻塞,该端口就是备份端口。
· 边缘端口(Edge Port):不与其它设备或网段连接的端口就称为边缘端口,边缘端口一般与用户终端设备直接相连。
· 主端口(Master Port):是将MST域连接到总根的端口(主端口不一定在域根上),位于整个域到总根的最短路径上。主端口是MST域中的报文去往总根的必经之路。主端口在IST/CIST上的角色是根端口,而在其它MSTI上的角色则是主端口。
· 域边界端口(Boundary Port):是位于MST域的边缘、并连接其它MST域或MST域与运行STP/RSTP的区域的端口。主端口同时也是域边界端口。在进行MSTP计算时,域边界端口在MSTI上的角色与CIST的角色一致,但主端口除外——主端口在CIST上的角色为根端口,在其它MSTI上的角色才是主端口。
(10) 端口状态
MSTP中的端口状态可分为三种,如表1-6所示。
表1-6 MSTP的端口状态
状态 |
描述 |
Forwarding |
该状态下的端口可以接收和发送BPDU,也转发用户流量 |
Learning |
是一种过渡状态,该状态下的端口可以接收和发送BPDU,但不转发用户流量 |
Discarding |
该状态下的端口可以接收和发送BPDU,但不转发用户流量 |
同一端口在不同的MSTI中的端口状态可以不同。
端口状态和端口角色是没有必然联系的,表1-7给出了各种端口角色能够具有的端口状态(“√”表示此端口角色能够具有此端口状态;“-”表示此端口角色不能具有此端口状态)。
端口角色 端口状态 |
根端口/主端口 |
指定端口 |
替换端口 |
备份端口 |
Forwarding |
√ |
√ |
- |
- |
Learning |
√ |
√ |
- |
- |
Discarding |
√ |
√ |
√ |
√ |
MSTP将整个二层网络划分为多个MST域,各个域之间通过计算生成CST;域内则通过计算生成多棵生成树,每棵生成树都被称为是一个多生成树实例。其中实例0被称为IST,其它多生成树实例为MSTI。MSTP同STP一样,使用配置消息进行生成树的计算,只是配置消息中携带的是设备上MSTP的配置信息。
(1) CIST生成树的计算
经过比较配置消息后,在整个网络中选择一个优先级最高的设备作为CIST的树根。在每个MST域内MSTP通过计算生成IST;同时MSTP将每个MST域作为单台设备对待,通过计算在域间生成CST。CST和IST构成了整个网络的CIST。
(2) MSTI的计算
在MST域内,MSTP根据VLAN和生成树实例的映射关系,针对不同的VLAN生成不同的生成树实例。每棵生成树独立进行计算,计算过程与STP计算生成树的过程类似。请参见“1.1.1 3. STP的基本原理”。
MSTP中,一个VLAN报文将沿着如下路径进行转发:
· 在MST域内,沿着其对应的MSTI转发;
· 在MST域间,沿着CST转发。
MSTP同时兼容STP、RSTP。STP、RSTP两种协议报文都可以被运行MSTP的设备识别并应用于生成树计算。
设备除了提供MSTP的基本功能外,还从用户的角度出发,提供了许多便于管理的特殊功能,如下所示:
· 根桥保持;
· 根桥备份;
· ROOT保护功能;
· BPDU保护功能;
· 环路保护功能;
· 防止TC-BPDU报文(网络拓扑发生变化的通知报文)攻击功能
与MSTP相关的协议规范有:
· IEEE 802.1D:Spanning Tree Protocol
· IEEE 802.1w:Rapid Spanning Tree Protocol
· IEEE 802.1s:Multiple Spanning Tree Protocol
表1-8 MSTP配置步骤
步骤 |
配置任务 |
说明 |
1 |
可选 配置MST域的相关参数,以及生成树实例和VLAN的映射关系 缺省情况下,MST域的参数都有缺省值,且所有VLAN都映射到生成树实例0 |
|
2 |
必选 使能全局STP功能,并配置MSTP相关参数 缺省情况下,全局STP功能处于关闭状态,MSTP相关参数都有缺省值 |
|
3 |
可选 使能端口MSTP功能,并配置MSTP相关参数 缺省情况下,端口MSTP功能处于使能状态,MSTP相关参数都有缺省值 |
|
4 |
可选 查看端口上实例0的生成树信息,以及端口所属的生成树实例、路径开销和优先级信息 |
(1) 在导航栏中选择“网络 > MSTP”,默认进入“MSTP域”页签的页面,如下图所示。
(2) 单击<修改>按钮,进入MSTP域的配置页面,如下图所示。
(3) 配置MSTP域的信息,详细配置如下表所示。
(4) 单击<激活>按钮完成操作。
表1-9 MSTP域的详细配置
配置项 |
说明 |
|
域名 |
设置MST域的域名 缺省情况下,MST域的域名为设备的桥MAC地址 |
|
修订级别 |
设置MST域的修订级别 |
|
手工设置 |
实例 |
设置手工添加生成树实例ID与VLAN ID的映射关系 单击<应用>按钮即可向下方的列表中添加一对实例ID与VLAN ID的映射关系 |
VLAN ID |
||
按模设置 |
模值 |
设置自动将4094个VLAN按模分配到相应的生成树实例中 |
(1) 在导航栏中选择“网络 > MSTP”。
(2) 单击“MSTP全局“页签,进入如下图所示的页面。
(3) 配置MSTP全局信息,详细配置如下表所示。
(4) 单击<确定>按钮完成操作。
表1-10 MSTP全局的详细配置
配置项 |
说明 |
||
全局STP使能 |
设置是否使能全局STP功能 使能全局STP功能后,MSTP的其它配置才能生效 |
||
BPDU保护 |
设置是否使能全局BPDU保护功能 使能BPDU保护功能可以防止人为伪造配置消息恶意攻击设备,避免网络震荡 |
||
模式 |
设置STP的工作模式,包括STP、RSTP和MSTP · STP:在STP模式下,设备的各个端口将向外发送STP BPDU报文 · RSTP:在RSTP模式下,设备的各个端口将向外发送RSTP BPDU报文,当发现与运行STP的设备相连时,该端口会自动迁移到STP模式下工作 · MSTP:在MSTP模式下,设备的各个端口将向外发送MSTP BPDU报文,当发现与运行STP的设备相连时,该端口会自动迁移到STP模式下工作 |
||
最大跳数 |
设置MST域的最大跳数,该参数决定了MST域的规模 只有在域根上配置的该参数才会在域内生效,在非域根上的配置无效 |
||
路径开销标准 |
设置设备计算端口路径开销值时采用的标准(算法),包括Legacy、IEEE 802.1D-1998和IEEE 802.1T |
||
网络直径 |
网络中任意两台主机都通过特定的路径彼此相连,每条路径上都有一定数量的网络设备,网络直径就是设备最多的那条路径上的设备个数 设置网络直径后,无法配置定时器的值,因为设备会自动计算Forward Delay、Hello Time和Max Age · 该参数只对CIST有效,对MSTI无效 · 网络直径和定时器不能同时配置 |
||
定时器 |
Forward Delay |
设置设备状态迁移的延迟时间 |
· 根桥Forward Delay、Hello Time和Max Age的取值需要满足一定关系,否则会引起网络频繁震荡。建议用户指定设备的网络直径,由设备自动计算Forward Delay、Hello Time和Max Age · 网络直径和定时器不能同时配置 |
Hello Time |
设置设备为检测链路故障,发送hello报文的周期 |
||
Max Age |
设置消息在设备内保存的最大时长 |
||
实例 |
实例ID |
设置设备在指定生成树实例中的角色或设备的桥优先级(桥优先级为设备能否被选为根桥的因素之一) 可选的角色包括: · Not Set:不配置,选择此项时可以设置设备的桥优先级 · Primary:配置为根桥,选择此项时不能设置设备的桥优先级 · Secondary:配置为备份根桥,选择此项时不能设置设备的桥优先级 |
|
根类型 |
|||
桥优先级 |
|||
TC保护功能 |
设置是否使能TC-BPDU报文攻击的保护功能 设备在接收到TC-BPDU报文后,会执行转发地址表项的刷新操作。在有人伪造TC-BPDU报文恶意攻击设备时,设备短时间内会收到很多的TC-BPDU报文,频繁的刷新操作给设备带来很大负担,给网络的稳定带来很大隐患。通过在设备上使能防止TC-BPDU报文攻击的保护功能,可以避免频繁地刷新转发地址表项 建议用户不要将此保护功能关闭 |
||
TC报文删除转发表项门限 |
设置设备在收到TC-BPDU报文后的一定时间内,允许收到TC-BPDU报文后立即刷新转发地址表项的最高次数 |
(1) 在导航栏中选择“网络 > MSTP”。
(2) 单击“端口设置”页签,进入如下图所示的页面。
(3) 配置MSTP端口的信息,详细配置如下表所示。
(4) 单击<应用>按钮完成操作。
表1-11 MSTP端口的详细配置
配置项 |
说明 |
|
STP |
设置是否使能端口的STP功能 |
|
保护类型 |
设置端口上使能的保护类型 · Not Set:不使能任何保护类型 · Edged Port、Root Protection、Loop Protection:参见表1-12 |
|
实例 |
实例ID |
设置端口在不同生成树实例中的优先级和路径开销 · 端口优先级是确定该端口是否会被选为根端口的重要依据,同等条件下优先级高的端口将被选为根端口。在支持MSTP的设备上,端口可以在不同的生成树实例中拥有不同的优先级,同一端口可以在不同的生成树实例中担任不同的角色,从而使不同VLAN的数据沿不同的物理路径传播,实现按VLAN进行负载分担的功能。用户可以根据组网的实际需要来设置端口的优先级 · 路径开销是与端口相连的链路速率相关的参数,可以选择自动计算或手动设置路径开销。在支持MSTP的设备上,端口在不同的生成树实例中可以拥有不同的路径开销。设置合适的路径开销可以使不同VLAN的流量沿不同的物理链路转发,从而实现按VLAN负载分担的功能 |
端口优先级 |
||
自动计算路径开销 |
||
手动设置路径开销 |
||
高级 |
点对点 |
设置端口是否与点到点链路相连 · Auto:将自动检测端口是否与点到点链路相连 · Force False:端口没有与点到点链路相连 · Force True:端口与点到点链路相连 当端口被设置为与点对点链路相连,则该端口在所有生成树实例上均被设置为与点对点链路相连。如果端口实际物理链路不是点对点链路,用户错误配置为强制点对点链路,则有可能会引入临时环路 |
传输限制 |
设置端口在每个Hello Time内发送MSTP报文的最大个数 如果配置的值过大,会占用过多的网络资源,建议使用缺省值 |
|
MSTP模式 |
设置是否将端口迁移到MSTP模式 如果在一个交换网络中,运行MSTP(或RSTP)的设备的端口连接着运行STP的设备,该端口会自动迁移到STP兼容模式下工作;但是此时如果运行STP协议的设备被拆离,该端口不能自动迁移到MSTP(或RSTP)模式下运行,仍然会工作在STP兼容模式下。此时可以通过执行此操作迫使其迁移到MSTP(或RSTP)模式下运行 |
|
请选择端口 |
在设置要配置MSTP功能的端口,可以同时选择多个端口进行配置 在面板示意图中可点击选择要配置的端口;当设备中配置了聚合口时,面板示意图下方会显示聚合口的列表,可点击进行选择 |
表1-12 保护类型说明表
保护类型 |
说明 |
Edged Port |
边缘端口。接入层设备的一些端口会直连PC、文件服务器等不会产生配置消息的设备。在这些端口上使能这一功能可以实现端口的快速迁移 使能Edged Port功能时,建议同时使能BPDU保护功能,以防止边缘端口收到配置消息而引起的网络震荡 |
Root Protection |
根保护功能。由于维护人员的错误配置或网络中的恶意攻击,网络中可能会出现优先级更高的配置消息,这样会导致STP重新计算,从而引起网络拓扑结构的错误变动。Root Protection可以防止此类情况出现 |
Loop Protection |
环路保护功能。设备通过不断接收上游设备发送的配置消息来维持根端口及其他端口的状态。由于链路拥塞或单向链路故障,端口可能无法收到上游设备的配置消息。此时设备会重新选择根端口,阻塞端口可能会迁移到转发状态,在交换网络中形成环路。Loop Protection可以防止此类环路产生 |
(1) 在导航栏中选择“网络 > MSTP”。
(2) 单击“端口信息”页签。
(3) 在面板示意图中单击选中一个端口(当设备中配置了聚合口时,面板示意图下方会显示聚合口的列表,也可点击进行选择),页面下方会显示该端口上实例0的生成树信息(当全局STP使能时)或STP的状态和统计信息(当全局STP未使能时),以及该端口所属的生成树实例、路径开销和优先级,下图所示。详细说明如表1-13所示。
表1-13 端口上实例0的生成树信息的详细说明
字段 |
说明 |
[FORWARDING] |
端口处于Forwarding状态:学习MAC地址,转发用户流量 |
[LEARNING] |
端口处于Learning状态:学习MAC地址,不转发用户流量 |
[DISCARDING] |
端口处于Discarding状态:不学习MAC地址,不转发用户流量 |
[DOWN] |
端口处于关闭状态 |
Port Protocol |
端口是否使能STP协议 |
Port Role |
端口在生成树实例中的角色,包括:Alternate、Backup、Root、Designated、Master、Disabled |
Port Priority |
端口优先级 |
Port Cost(Legacy) |
端口的路径开销(括号中的内容表示当前设备的路径开销计算方法,包括Legacy、dot1d-1998和dot1t): · Config:表示配置值 · Active:表示实际值 |
Desg. Bridge/Port |
端口的指定桥ID和端口ID 对于不支持端口优先级的端口,这里显示的端口ID没有意义 |
Port Edged |
端口是否为边缘端口: · Config:表示配置值 · Active:表示实际值 |
Point-to-point |
端口是否与点对点链路相连: · Config:表示配置值 · Active:表示实际值 |
Transmit Limit |
端口每个Hello Time时间间隔发送报文的上限 |
Protection Type |
端口遇到异常情况启动保护的类型: · Root:表示根保护 · Loop:表示环路保护 · BPDU:表示BPDU保护 · None:表示无保护 |
MST BPDU Format |
端口发送MSTP报文的格式,取值为legacy和802.1s: · Config:表示配置值 · Active:表示实际值 |
Port Config- Digest-Snooping |
端口是否使能配置摘要侦听功能 |
Rapid transition |
边缘端口在实例0中是否快速迁移至转发状态 |
Num of Vlans Mapped |
端口在实例0中的VLAN计数 |
PortTimes |
端口相关的主要参数值: · Hello:表示Hello time定时器值 · MaxAge:表示Max Age定时器值 · FwDly:表示Forward delay定时器值 · MsgAge:表示Message Age定时器值 · RemHop:表示剩余跳数 |
BPDU Sent |
端口发送报文计数 |
BPDU Received |
端口接收报文计数 |
Protocol Status |
MSTP协议状态 |
Protocol Std. |
MSTP协议标准 |
Version |
MSTP协议版本 |
CIST Bridge-Prio. |
设备在CIST中的优先级 |
MAC address |
设备的MAC地址 |
Max age(s) |
BPDU的最大生存时间(单位为秒) |
Forward delay(s) |
端口状态迁移的延时(单位为秒) |
Hello time(s) |
根设备发送BPDU的周期(单位为秒) |
Max hops |
MST域中的最大跳数 |
配置MSTP使下图中不同VLAN的报文按照不同的生成树实例转发。具体配置为:
· 网络中所有设备属于同一个MST域;
· VLAN 10的报文沿着实例1转发,VLAN 20沿着实例2转发,VLAN 30沿着实例3转发,VLAN 40沿着实例0转发。
· Switch A和Switch B为汇聚层设备,Switch C和Switch D为接入层设备。VLAN 10、VLAN 20在汇聚层设备终结,VLAN 30在接入层设备终结,因此可以配置实例1和实例2的树根分别为Switch A和Switch B,实例3的树根为Switch C。
图1-12 MSTP配置组网图
图中链路上的说明“permit: ”表示该链路允许哪些VLAN的报文通过。
(1) 配置MSTP域。
步骤1:在导航栏中选择“网络 > MSTP”,默认进入“MSTP域”页签的页面。
步骤2:单击<修改>按钮,如下图所示。
步骤3:在修改MSTP域的页面进行如下配置,如下图所示。
· 输入修订级别为“0”。
· 选中“手工设置”前的单选按钮。
· 选择实例ID为“1”。
· 输入VLAN ID为“10”。
· 单击<应用>按钮将实例与VLAN的映射关系添加到列表中。
· 选择实例ID为“2”。
· 输入VLAN ID为“20”。
· 单击<应用>按钮将实例与VLAN的映射关系添加到列表中。
· 选择实例ID为“3”。
· 输入VLAN ID为“30”。
· 单击<应用>按钮将实例与VLAN的映射关系添加到列表中。
步骤4:单击<激活>按钮完成操作。
图1-14 配置MSTP域
(2) 配置MSTP全局。
步骤1:在导航栏中选择“网络 > MSTP”。
步骤2:单击“MSTP全局”页签。
步骤3:进行如下配置,如下图所示。
· 选择全局STP使能为“Enable”。
· 选择模式为“MSTP”。
· 选中“实例”前的复选框。
· 选择实例ID为“1”。
· 选择根类型为“Primary”。
步骤4:单击<确定>按钮完成操作。
图1-15 配置MSTP全局(Switch A)
(1) 配置MSTP域。(与Switch A上MSTP域的配置相同,不再赘述)
(2) 配置MSTP全局。
步骤1:在导航栏中选择“网络> MSTP”。
步骤2:单击“MSTP全局”页签。
步骤3:进行如下配置,参见图1-15。
· 选择全局STP使能为“Enable”。
· 选择模式为“MSTP”。
· 选中“实例”前的复选框。
· 选择实例ID为“2”。
· 选择根类型为“Primary”。
步骤4:单击<确定>按钮完成操作。
(1) 配置MSTP域。(与Switch A上MSTP域的配置相同,不再赘述)
(2) 置MSTP全局。
步骤1:在导航栏中选择“网络 > MSTP”。
步骤2:单击“MSTP全局”页签。
步骤3:进行如下配置,参见图1-15。
· 选择全局STP使能为“Enable”。
· 选择模式为“MSTP”。
· 选中“实例”前的复选框。
· 选择实例ID为“3”。
· 选择根类型为“Primary”。
步骤4:单击<确定>按钮完成操作。
(1) 配置MSTP域。(与Switch A上MSTP域的配置相同,不再赘述)
(2) 配置MSTP全局。
步骤1:在导航栏中选择“网络 > MSTP”。
步骤2:单击“MSTP全局”页签。
步骤3:进行如下配置,如下图所示。
· 选择全局STP使能为“Enable”。
· 选择模式为“MSTP”。
步骤4:单击<确定>按钮完成操作。
图1-16 配置MSTP全局(Switch D)
配置MSTP时需要注意如下事项:
(1) 只有两台设备上配置的MST域的域名相同、MST域内配置的所有生成树实例对应的VLAN映射表完全相同、MST域的修订级别相同,且设备之间有链路相通,这两台设备才属于同一个MST域。
(2) 在生成树根桥的选择过程中,如果设备的桥优先级取值相同,则MAC地址最小的那台设备将被选择为根。
(3) 在设备没有使能BPDU保护的情况下,如果被设置为边缘端口的端口上收到来自其它端口的BPDU报文,则该端口会重新变为非边缘端口。此时,只有重启端口才能将该端口恢复为边缘端口。
(4) 对于直接与终端相连的端口,请将该端口设置为边缘端口,同时启动BPDU保护功能。这样既能够使该端口快速迁移到转发状态,也可以保证网络的安全。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!