20-MSTP
本章节下载 (712.18 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协议中分为两类:
l 配置BPDU(Configuration BPDU):用于进行生成树计算和维护生成树拓扑的报文。
l TCN BPDU(Topology Change Notification 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的端口。
l Device A通过端口AP1向Device B转发配置消息,则Device B的指定桥就是Device A,指定端口就是Device A的端口AP1;
l 与局域网LAN相连的有两台设备:Device B和Device C,如果Device B负责向LAN转发配置消息,则LAN的指定桥就是Device B,指定端口就是Device B的BP2。
根桥上的所有端口都是指定端口。
(4) 路径开销
路径开销是STP协议用于选择链路的参考值。STP协议通过计算路径开销,选择较为“强壮”的链路,阻塞多余的链路,将网络修剪成无环路的树型网络结构。
STP通过在设备之间传递BPDU来确定网络的拓扑结构。配置消息中包含了足够的信息来保证设备完成生成树的计算过程,其中包含的几个重要信息如下:
l 根桥ID:由根桥的优先级和MAC地址组成。
l 指定桥ID:由指定桥的优先级和MAC地址组成。
l 指定端口ID:由指定端口的优先级和端口名称组成。
l Message Age:配置消息在网络中传播的生存期。
l Max Age:配置消息在设备中能够保存的最大生存期。
l Hello Time:配置消息发送的周期。
l Forward Delay:端口状态迁移的延时。
为描述方便,在下面的描述及举例中仅考虑配置消息的其中四项内容:
l 根桥ID(以设备的优先级表示)
l 根路径开销(与端口所连的链路速率相关)
l 指定桥ID(以设备的优先级表示)
l 指定端口ID(以端口名称表示)
(1) STP算法实现的具体过程
l 初始状态
各台设备的各个端口在初始时会生成以自己为根桥的配置消息,根路径开销为0,指定桥ID为自身设备ID,指定端口为本端口。
l 最优配置消息的选择
各台设备都向外发送自己的配置消息,同时也会收到其他设备发送的配置消息。
最优配置消息的选择过程如表1-2所示。
步骤 |
内容 |
1 |
每个端口收到配置消息后的处理过程如下: l 当端口收到的配置消息比本端口配置消息的优先级低时,设备会将接收到的配置消息丢弃,对该端口的配置消息不作任何处理 l 当端口收到的配置消息比本端口配置消息的优先级高时,设备就用接收到的配置消息中的内容替换该端口的配置消息中的内容 |
2 |
设备将所有端口的配置消息进行比较,选出优先级最高的配置消息 |
配置消息的比较原则如下:
l 根桥ID较小的配置消息优先级高。
l 若根桥ID相同,则比较根路径开销,比较方法为:用配置消息中的根路径开销加上本端口对应的路径开销,假设两者之和为S,则S较小的配置消息优先级较高。
l 若根路径开销也相同,则依次比较指定桥ID、指定端口ID、接收该配置消息的端口ID等,上述值较小的配置消息优先级较高。
l 根桥的选择
网络初始化时,网络中所有的STP设备都认为自己是“根桥”,根桥ID为自身的设备ID。通过交换配置消息,设备之间比较根桥ID,网络中根桥ID最小的设备被选为根桥。
l 根端口、指定端口的选择
根端口、指定端口的选择过程如表1-3所示。
表1-3 根端口和指定端口的选择过程
步骤 |
内容 |
1 |
非根桥设备将接收最优配置消息的那个端口定为根端口 |
2 |
设备根据根端口的配置消息和根端口的路径开销,为每个端口计算一个指定端口配置消息: l 根桥ID替换为根端口的配置消息的根桥ID l 根路径开销替换为根端口配置消息的根路径开销加上根端口对应的路径开销 l 指定桥ID替换为自身设备的ID l 指定端口ID替换为自身端口ID |
3 |
设备使用计算出来的配置消息和需要确定端口角色的端口上的配置消息进行比较,并根据比较结果进行不同的处理: l 如果计算出来的配置消息优先级高,则设备就将该端口定为指定端口,端口上的配置消息被计算出来的配置消息替换,并周期性向外发送 l 如果端口上的配置消息优先级高,则设备不更新该端口配置消息并将此端口阻塞,该端口将不再转发数据,只接收但不发送配置消息 |
在拓扑稳定状态,只有根端口和指定端口转发流量,其他的端口都处于阻塞状态,它们只接收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} |
l 各台设备的比较过程及结果
各台设备的比较过程及结果如表1-5所示。
表1-5 各台设备的比较过程及结果
设备 |
比较过程 |
比较后端口的配置消息 |
Device A |
l 端口AP1收到Device B的配置消息{1,0,1,BP1},Device A发现本端口的配置消息{0,0,0,AP1}优于接收到的配置消息,就把接收到的配置消息丢弃 l 端口AP2收到Device C的配置消息{2,0,2,CP1},Device A发现本端口的配置消息{0,0,0,AP2}优于接收到的配置消息,就把接收到的配置消息丢弃 l Device A发现自己各个端口的配置消息中根桥和指定桥都是自己,则认为自己是根桥,各个端口的配置消息都不作任何修改,以后周期性的向外发送配置消息 |
AP1:{0,0,0,AP1} AP2:{0,0,0,AP2} |
Device B |
l 端口BP1收到来自Device A的配置消息{0,0,0,AP1},Device B发现接收到的配置消息优于本端口的配置消息{1,0,1,BP1},于是更新端口BP1的配置消息 l 端口BP2收到来自Device C的配置消息{2,0,2,CP2},Device B发现本端口的配置消息{1,0,1,BP2}优于接收到的配置消息,就把接收到的配置消息丢弃 |
BP1:{0,0,0,AP1} BP2:{1,0,1,BP2} |
l Device B对各个端口的配置消息进行比较,选出端口BP1的配置消息为最优配置消息,然后将端口BP1定为根端口,它的配置消息不作改变 l Device B根据根端口BP1的配置消息和根端口的路径开销5,为BP2端口计算一个指定端口配置消息{0,5,1,BP2} l Device B使用计算出来的配置消息{0,5,1,BP2}和端口BP2上的配置消息进行比较,比较的结果是计算出来的配置消息较优,则Device B将端口BP2定为指定端口,它的配置消息被计算出来的配置消息替换,并周期性向外发送 |
根端口BP1: {0,0,0,AP1} 指定端口BP2: {0,5,1,BP2} |
|
Device C |
l 端口CP1收到来自Device A的配置消息{0,0,0,AP2},Device C发现接收到的配置消息优于本端口的配置消息{2,0,2,CP1},于是更新端口CP1的配置消息 l 端口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} |
经过比较: l 端口CP1的配置消息被选为最优的配置消息,端口CP1就被定为根端口,它的配置消息不作改变 l 将计算出来的指定端口配置消息{0,10,2,CP2}和端口CP2的配置消息进行比较后,端口CP2转为指定端口,它的配置消息被计算出来的配置消息替换 |
根端口CP1: {0,0,0,AP2} 指定端口CP2: {0,10,2,CP2} |
|
l 接着端口CP2会收到Device B更新后的配置消息{0,5,1,BP2},由于收到的配置消息优于原配置消息,则Device C触发更新过程 l 同时端口CP1收到Device A周期性发送来的配置消息,比较后Device C不会触发更新过程 |
CP1:{0,0,0,AP2} CP2:{0,5,1,BP2} |
|
经过比较: l 端口CP2的根路径开销9(配置消息的根路径开销5+端口CP2对应的路径开销4)小于端口CP1的根路径开销10(配置消息的根路径开销0+端口CP1对应的路径开销10),所以端口CP2的配置消息被选为最优的配置消息,端口CP2就被定为根端口,它的配置消息就不作改变 l 将端口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的配置消息传递机制
l 当网络初始化时,所有的设备都将自己作为根桥,生成以自己为根的配置消息,并以Hello Time为周期定时向外发送。
l 接收到配置消息的端口如果是根端口,且接收的配置消息比该端口的配置消息优,则设备将配置消息中携带的Message Age按照一定的原则递增,并启动定时器为这条配置消息计时,同时将此配置消息从设备的指定端口转发出去。
l 如果指定端口收到的配置消息比本端口的配置消息优先级低时,会立刻发出自己的更好的配置消息进行回应。
l 如果某条路径发生故障,则这条路径上的根端口不会再收到新的配置消息,旧的配置消息将会因为超时而被丢弃,设备重新生成以自己为根的配置消息并向外发送,从而引发生成树的重新计算,得到一条新的通路替代发生故障的链路,恢复网络连通性。
不过,重新计算得到的新配置消息不会立刻就传遍整个网络,因此旧的根端口和指定端口由于没有发现网络拓扑变化,将仍按原来的路径继续转发数据。如果新选出的根端口和指定端口立刻就开始数据转发的话,可能会造成暂时性的环路。
(3) STP定时器
STP计算中,需要使用三个重要的时间参数:Forward Delay、Hello Time和Max Age。
l Forward Delay为设备状态迁移的延迟时间。链路故障会引发网络重新进行生成树的计算,生成树的结构将发生相应的变化。不过重新计算得到的新配置消息无法立刻传遍整个网络,如果新选出的根端口和指定端口立刻就开始数据转发的话,可能会造成暂时性的环路。为此,STP采用了一种状态迁移的机制,新选出的根端口和指定端口要经过2倍的Forward Delay延时后才能进入转发状态,这个延时保证了新的配置消息已经传遍整个网络。
l Hello Time用于设备检测链路是否存在故障。设备每隔Hello Time时间会向周围的设备发送hello报文,以确认链路是否存在故障。
l Max Age是用来判断配置消息在设备内保存时间是否“过时”的参数,设备会将过时的配置消息丢弃。
RSTP由IEEE制定的802.1w标准定义,它在STP基础上进行了改进,实现了网络拓扑的快速收敛。其“快速”体现在,当一个端口被选为根端口和指定端口后,其进入转发状态的延时在某种条件下大大缩短,从而缩短了网络最终达到拓扑稳定所需要的时间。
l RSTP中,根端口的端口状态快速迁移的条件是:本设备上旧的根端口已经停止转发数据,而且上游指定端口已经开始转发数据。
l RSTP中,指定端口的端口状态快速迁移的条件是:指定端口是边缘端口或者指定端口与点对点链路相连。如果指定端口是边缘端口,则指定端口可以直接进入转发状态;如果指定端口连接着点对点链路,则设备可以通过与下游设备握手,得到响应后即刻进入转发状态。
(1) STP、RSTP存在的不足
STP不能快速迁移,即使是在点对点链路或边缘端口(边缘端口指的是该端口直接与用户终端相连,而没有连接到其它设备或共享网段上),也必须等待2倍的Forward Delay的时间延迟,端口才能迁移到转发状态。
RSTP可以快速收敛,但是和STP一样存在以下缺陷:局域网内所有网桥共享一棵生成树,不能按VLAN阻塞冗余链路,所有VLAN的报文都沿着一棵生成树进行转发。
(2) MSTP的特点
MSTP由IEEE制定的802.1s标准定义,它可以弥补STP和RSTP的缺陷,既可以快速收敛,也能使不同VLAN的流量沿各自的路径转发,从而为冗余链路提供了更好的负载分担机制。
MSTP的特点如下:
l MSTP设置VLAN映射表(即VLAN和生成树的对应关系表),把VLAN和生成树联系起来。通过增加“实例”(将多个VLAN整合到一个集合中)这个概念,将多个VLAN捆绑到一个实例中,以节省通信开销和资源占用率。
l MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。
l MSTP将环路网络修剪成为一个无环的树型网络,避免报文在环路网络中的增生和无限循环,同时还提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载分担。
l MSTP兼容STP和RSTP。
图1-4 MSTP的基本概念示意图
如图1-4所示,每台设备都运行MSTP,MSTP中的一些基本概念如下:
(1) MST域
MST域(Multiple Spanning Tree Regions,多生成树域)是由交换网络中的多台设备以及它们之间的网段构成。这些设备具有下列特点:
l 都启动了MSTP。
l 具有相同的域名。
l 具有相同的VLAN到生成树实例映射配置。
l 具有相同的MSTP修订级别配置。
l 这些设备之间在物理上有链路连通。
例如图1-4中的区域A0,域内所有设备都有相同的MST域配置:
l 域名相同。
l VLAN与生成树实例的映射关系相同(VLAN1映射到生成树实例1,VLAN2映射到生成树实例2,其余VLAN映射到CIST。其中,CIST即指生成树实例0)。
l MSTP修订级别相同(此配置在图中没有体现)。
一个交换网络可以存在多个MST域。用户可以通过MSTP配置命令把多台设备划分在同一个MST域内。
(2) VLAN映射表
VLAN映射表是MST域的一个属性,用来描述VLAN和生成树实例的映射关系。
例如图1-4中,域A0的VLAN映射表就是:VLAN 1映射到生成树实例1,VLAN 2映射到生成树实例2,其余VLAN映射到CIST。MSTP就是根据VLAN映射表来实现负载分担的。
(3) IST
IST(Internal Spanning Tree,内部生成树)是MST域内的一棵生成树。
IST和CST(Common Spanning Tree,公共生成树)共同构成整个交换网络的生成树CIST(Common and Internal Spanning Tree,公共和内部生成树)。IST是CIST在MST域内的片段。
例如图1-4中,CIST在每个MST域内都有一个片段,这个片段就是各个域内的IST。
(4) CST
CST是连接交换网络内所有MST域的单生成树。如果把每个MST域看作是一个“设备”,CST就是这些“设备”通过STP协议、RSTP协议计算生成的一棵生成树。
例如图1-4中红色线条描绘的就是CST。
(5) CIST
CIST是连接一个交换网络内所有设备的单生成树,由IST和CST共同构成。
例如图1-4中,每个MST域内的IST加上MST域间的CST就构成整个网络的CIST。
(6) MSTI
一个MST域内可以通过MSTP生成多棵生成树,各棵生成树之间彼此独立。每棵生成树都称为一个MSTI(Multiple Spanning Tree Instance,多生成树实例)。
例如图1-4中,每个域内可以存在多棵生成树,每棵生成树和相应的VLAN对应。这些生成树都被称为MSTI。
(7) 域根
MST域内IST和MSTI的根桥就是域根。MST域内各棵生成树的拓扑不同,域根也可能不同。
例如图1-4中,区域D0中,生成树实例1的域根为设备B,生成树实例2的域根为设备C。
(8) 总根
总根(Common Root Bridge)是指CIST的树根。
例如图1-4中,总根为区域A0内的某台设备。
(9) 域边界端口
域边界端口是指位于MST域的边缘,用于连接不同MST域、MST域和运行STP的区域、MST域和运行RSTP的区域的端口。
在进行MSTP计算的时候,域边界端口在MST实例上的角色与CIST的角色保持一致,但Master端口除外——Master端口在CIST上的角色为根端口,在其它实例上的角色才为Master端口。例如图1-4中,如果区域A0的一台设备和区域D0的一台设备的第一个端口相连,整个交换网络的总根位于A0内,则区域D0中这台设备上的第一个端口就是区域D0的域边界端口。
(10) 端口角色
在MSTP的计算过程中,端口角色主要有根端口、指定端口、Master端口、Alternate端口、Backup端口等。
l 根端口:负责向根桥方向转发数据的端口。
l 指定端口:负责向下游网段或设备转发数据的端口。
l Master端口:连接MST域到总根的端口,位于整个域到总根的最短路径上。从CST上看,Master端口就是域的“根端口”(把域看作是一个节点)。Master端口在IST/CIST上的角色是根端口,在其它各个实例上的角色都是Master端口。
l Alternate端口:根端口和Master端口的备份端口。当根端口或Master端口被阻塞后,Alternate端口将成为新的根端口或Master端口。
l Backup端口:指定端口的备份端口。当指定端口被阻塞后,Backup端口就会快速转换为新的指定端口,并无时延的转发数据。当使能了MSTP协议的同一台设备的两个端口互相连接时就存在一个环路,此时设备会将其中一个端口阻塞,Backup端口是被阻塞的那个端口。
端口在不同的生成树实例中可以担任不同的角色。
请参考图1-5理解上述概念。图中:
l 设备A、B、C、D构成一个MST域。
l 设备A的端口1、端口2向总根方向连接。
l 设备C的端口5、端口6构成了环路。
l 设备D的端口3、端口4向下连接其他的MST域。
(11) 端口状态
MSTP中,根据端口是否学习MAC地址和是否转发用户流量,可将端口状态划分为以下三种:
l Forwarding状态:学习MAC地址,转发用户流量。
l Learning状态:学习MAC地址,不转发用户流量。
l Discarding状态:不学习MAC地址,不转发用户流量。
同一端口在不同的生成树实例中的端口状态可以不同。
端口状态和端口角色是没有必然联系的,表1-6给出了各种端口角色能够具有的端口状态(“√”表示此端口角色能够具有此端口状态;“-”表示此端口角色不能具有此端口状态)。
端口状态 |
端口角色 |
||||
根端口 /Master端口 |
指定端口 |
域边缘端口 |
Alternate端口 |
Backup端口 |
|
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报文将沿着如下路径进行转发:
l 在MST域内,沿着其对应的MSTI转发。
l 在MST域间,沿着CST转发。
MSTP同时兼容STP、RSTP。STP、RSTP两种协议报文都可以被运行MSTP的设备识别并应用于生成树计算。
设备除了提供MSTP的基本功能外,还从用户的角度出发,提供了许多便于管理的特殊功能,如下所示:
l 根桥保持。
l 根桥备份。
l ROOT保护功能。
l BPDU保护功能。
l 环路保护功能。
l 防止TC-BPDU报文攻击功能。
l MSTP支持接口板的热插拔,同时支持主控板与备板的倒换。
相关的协议规范有:
l IEEE 802.1D:Spanning Tree Protocol
l IEEE 802.1w:Rapid Spanning Tree Protocol
l IEEE 802.1s:Multiple Spanning Tree Protocol
在配置前需要明确各设备在生成树实例中的角色:根桥或叶子节点。每个生成树实例中只能有一台设备成为根桥,其余设备都是叶子节点。
配置MSTP的推荐步骤如表1-7所示。
表1-7 配置MSTP的推荐步骤
步骤 |
配置任务 |
说明 |
1 |
可选 配置MST域的相关参数,以及生成树实例和VLAN的映射关系 缺省情况下,MST域的参数都有缺省值,且所有VLAN都映射到生成树实例0 |
|
2 |
必选 使能全局MSTP功能,并配置MSTP相关参数 缺省情况下,全局MSTP功能是否使能与设备的具体型号有关,请以设备的实际情况为准;MSTP相关参数都有缺省值 |
|
3 |
可选 使能端口MSTP功能,并配置MSTP相关参数 缺省情况下,端口MSTP功能处于使能状态,MSTP相关参数都有缺省值 |
在导航栏中选择“高级配置 > MSTP > MSTP域”,进入MSTP域的显示界面,如图1-6所示。单击<修改>按钮,进入MSTP域的配置页面,如图1-7所示。
MSTP域的详细配置如表1-8所示。
表1-8 MSTP域的详细配置
配置项 |
说明 |
|
域名 |
设置MST域的域名 缺省情况下,MST域的域名为设备的桥MAC地址 |
|
修订级别 |
设置MST域的修订级别 |
|
手工设置 |
实例 |
设置手工添加生成树实例ID与VLAN ID的映射关系 单击<应用>按钮即可向下方的列表中添加一对实例ID与VLAN ID的映射关系 |
VLAN ID |
||
<应用> |
||
按模设置 |
通过下拉框选择生成树实例的数目,并以该值为模值,自动将4094个VLAN按模分配到相应的生成树实例中 |
|
<激活> |
使生成树实例和VLAN的映射关系、域名、修订级别生效 |
可点击返回“表1-7 配置MSTP的推荐步骤”。
在导航栏中选择“高级配置 > MSTP > MSTP全局”,进入MSTP全局配置页面,如图1-8所示。
MSTP全局特性的详细配置如表1-9所示。
表1-9 MSTP全局特性的详细配置
配置项 |
说明 |
||
全局STP使能 |
设置是否使能全局STP功能 l Enable:使能全局STP功能 l Disable:禁止全局STP功能 使能全局STP功能后,MSTP的其它配置才能生效 |
||
BPDU保护 |
设置是否使能BPDU保护功能 l Enable:使能全局BPDU保护功能 l Disable:禁止全局BPDU保护功能 使能BPDU保护功能可以防止人为伪造配置消息恶意攻击设备,避免网络震荡 |
||
模式 |
设置STP的工作模式,包括STP、RSTP和MSTP l STP:在STP模式下,设备的各个端口将向外发送STP BPDU报文 l RSTP:在RSTP模式下,设备的各个端口将向外发送RSTP BPDU报文,当发现与运行STP的设备相连时,该端口会自动迁移到STP模式下工作 l MSTP:在MSTP模式下,设备的各个端口将向外发送MSTP BPDU报文,当发现与运行STP的设备相连时,该端口会自动迁移到STP模式下工作 |
||
最大跳数 |
设置MST域的最大跳数,该参数决定了MST域的规模 只有在域根上配置的该参数才会在域内生效,在非域根上的配置无效 |
||
路径开销标准 |
设置设备计算端口路径开销值时采用的标准(算法),包括Legacy、IEEE 802.1D-1998和IEEE 802.1T |
||
网络直径 |
网络中任意两台主机都通过特定的路径彼此相连,每条路径上都有一定数量的网络设备,网络直径就是设备最多的那条路径上的设备个数 设置网络直径后,无法配置定时器的值,因为设备会自动计算Forward Delay、Hello Time和Max Age l 网络直径只对CIST有效,对MSTI无效,且只能在根桥上进行配置才会生效。每个MST域看作是一台设备 l 网络直径和定时器不能同时配置,设置网络直径后,设备会自动计算Forward Delay、Hello Time和Max Age |
||
定时器 |
Forward Delay |
设置设备状态迁移的延迟时间 Forward Delay时间的长短与交换网络的网络直径有关。一般来说,网络直径越大,Forward Delay时间就应该配置得越长。如果Forward Delay时间配置得过小,可能引入临时的冗余路径;如果Forward Delay时间配置得过大,网络可能较长时间不能恢复连通。建议用户采用缺省值 |
l 根桥Forward Delay、Hello Time和Max Age的取值需要满足一定关系,否则会引起网络频繁震荡。建议用户指定设备的网络直径,由设备自动计算Forward Delay、Hello Time和Max Age l 定时器和网络直径不能同时配置 |
Hello Time |
设置设备为检测链路故障,发送hello报文的周期 合适的Hello Time时间可以保证设备能够及时发现网络中的链路故障,又不会占用过多的网络资源。如果Hello Time时间配置得过长,在链路发生丢包时,设备会误以为链路出现了故障,从而引发网络设备重新计算生成树;如果Hello Time时间配置得过短,设备将频繁发送重复的配置消息,增加了设备的负担,浪费了网络资源。建议用户采用缺省值 |
||
Max Age |
设置消息在设备内保存的最大时长 如果Max Age时间配置得过小,网络设备会频繁地计算生成树,而且有可能将网络拥塞误认成链路故障;如果Max Age时间配置得过大,网络设备很可能不能及时发现链路故障,不能及时重新计算生成树,从而降低网络的自适应能力。建议用户采用缺省值 |
||
实例 |
实例ID |
设置待配置的生成树实例的ID |
|
根类型 |
设备在生成树实例中的角色 l Not Set:不配置 l Primary:配置为根桥 l Secondary:配置为备份根桥 设备被配置为根桥或备份根桥后,无法配置桥优先级 |
||
桥优先级 |
设备的桥优先级,该参数为设备能否被选为根桥的因素之一 |
||
TC保护功能 |
设置是否使能TC-BPDU报文攻击的保护功能 设备在接收到TC-BPDU报文后,会执行转发地址表项的刷新操作。在有人伪造TC-BPDU报文恶意攻击设备时,设备短时间内会收到很多的TC-BPDU报文,频繁的刷新操作给设备带来很大负担,给网络的稳定带来很大隐患。通过在设备上使能防止TC-BPDU报文攻击的保护功能,可以避免频繁地刷新转发地址表项 建议用户不要将此保护功能关闭 |
||
TC报文删除转发表项门限 |
设置设备在收到TC-BPDU报文后的一定时间内,允许收到TC-BPDU报文后立即刷新转发地址表项的最高次数 |
可点击返回“表1-7 配置MSTP的推荐步骤”。
在导航栏中选择“高级配置 > MSTP > MSTP端口”,进入端口的MSTP信息显示页面,如图1-9所示。单击端口对应的图标,进入MSTP端口特性的配置页面,如图1-10所示。
图1-10 MSTP端口配置
MSTP端口特性的详细配置如表1-10所示。
表1-10 MSTP端口特性的详细配置
配置项 |
说明 |
|
端口号 |
设置要配置的端口 |
|
STP状态 |
设置是否使能端口STP功能 l Enable:使能端口STP功能 l Disable:禁止端口STP功能 |
|
保护类型 |
设置端口上使能的保护类型 l Not Set:不使能任何保护类型 l Edged Port、Root Protection、Loop Protection:参见表1-11 |
|
点对点连接 |
设置端口是否与点到点链路相连 l Auto:将自动检测端口是否与点到点链路相连 l Force False:端口没有与点到点链路相连 l Force True:端口与点到点链路相连 |
|
传输限制 |
设置端口在每个Hello Time内发送MSTP报文的最大个数 如果配置的值过大,会占用过多的网络资源,建议使用缺省值 |
|
执行mCheck操作 |
如果交换网络中存在运行STP的设备,与STP设备相连的端口会自动从MSTP模式迁移到STP兼容模式。STP设备被拆除后,端口是否会自动迁移回MSTP模式由该参数决定 l Enable:执行mCheck操作,端口将自动从STP兼容模式迁移回MSTP模式 l Disable:不执行mCheck操作,端口不会自动从STP兼容模式迁移回MSTP模式 |
|
实例 |
实例ID |
设置生成树实例的ID |
端口优先级 |
设置该生成树实例中端口的优先级 端口优先级是该端口是否会被选为根端口的重要依据 |
|
路径开销 |
手动输入路径开销值或选择“自动计算”来生成路径开销 |
表1-11 保护类型说明表
保护类型 |
说明 |
Edged Port |
边缘端口。接入层设备的一些端口会直连PC、文件服务器等不会产生配置消息的设备。在这些端口上使能这一功能可以实现端口的快速迁移 使能Edged Port功能时,建议同时使能BPDU保护功能,以防止边缘端口收到配置消息而引起的网络震荡 |
Root Protection |
根保护功能。由于维护人员的错误配置或网络中的恶意攻击,网络中可能会出现优先级更高的配置消息,这样会导致STP重新计算,从而引起网络拓扑结构的错误变动。Root Protection可以防止此类情况出现 |
Loop Protection |
环路保护功能。设备通过不断接收上游设备发送的配置消息来维持根端口及其他端口的状态。由于链路拥塞或单向链路故障,端口可能无法收到上游设备的配置消息。此时设备会重新选择根端口,阻塞端口可能会迁移到转发状态,在交换网络中形成环路。Loop Protection可以防止此类环路产生 |
可点击返回“表1-7 配置MSTP的推荐步骤”。
l 网络中所有设备都属于同一个MST域。Router A和Router B为汇聚层设备,Router C和Router D为接入层设备。
l 通过配置使不同VLAN的报文按照不同的生成树实例转发:VLAN 10的报文沿着实例1转发,VLAN 30沿着实例3转发,VLAN 40沿着实例4转发,VLAN 20沿着实例0转发。
l 由于VLAN 10、VLAN 30在汇聚层设备终结,VLAN 40在接入层设备终结,因此配置实例1和实例3的树根分别为Router A和Router B,实例4的树根为Router C。
图1-11 MSTP组网图
图中链路上的说明“permit: ”表示该链路允许哪些VLAN的报文通过。
(1) 配置VLAN和端口
请按照图1-11在Router A和Router B上分别创建VLAN 10、20和30,在Router C上创建VLAN 10、20和40,在Router D上创建VLAN 20、30和40;将各设备的各端口配置为Hybrid端口并允许相应的VLAN通过;配置各设备的各端口与其允许通过VLAN的组合所属的安全域。具体配置过程略。
(2) 配置Router A
# 配置MSTP域的域名为example,修订级别为0,并将VLAN 10、30、40分别映射到生成树实例1、3、4上。
l 在导航栏中选择“高级配置 > MSTP > MSTP域”,单击<修改>按钮,进行如下配置,如图1-12所示。
图1-12 配置Router A的MSTP域
l 输入域名为“example”。
l 输入修订级别为“0”。
l 选中“手工设置”前的单选按钮。
l 选择实例ID为“1”。
l 输入VLAN ID为“10”。
l 单击<应用>按钮将实例与VLAN的映射关系添加到列表中。
l 选择实例ID为“3”。
l 输入VLAN ID为“30”。
l 单击<应用>按钮将实例与VLAN的映射关系添加到列表中。
l 选择实例ID为“4”。
l 输入VLAN ID为“40”。
l 单击<应用>按钮将实例与VLAN的映射关系添加到列表中。
l 单击<激活>按钮完成操作。
# 全局使能MSTP,并配置本设备为生成树实例1的根桥。
l 在导航栏中选择“高级配置 > MSTP > MSTP全局”,进行如下配置,如图1-13所示。
图1-13 配置Router A的MSTP全局参数
l 选择全局STP使能为“Enable”。
l 选择模式为“MSTP”。
l 选中“实例”前的复选框。
l 选择实例ID为“1”。
l 选择根类型为“Primary”。
l 单击<确定>按钮完成操作。
(3) 配置Router B
# 配置MSTP域的域名为example,修订级别为0,并将VLAN 10、30、40分别映射到生成树实例1、3、4上。(与Router A上MSTP域的配置相同,不再赘述)
# 全局使能MSTP,并配置本设备为生成树实例3的根桥。
l 在导航栏中选择“高级配置 > MSTP > MSTP全局”,进行如下配置,参见图1-13。
l 选择全局STP使能为“Enable”。
l 选择模式为“MSTP”。
l 选中“实例”前的复选框。
l 选择实例ID为“3”。
l 选择根类型为“Primary”。
l 单击<确定>按钮完成操作。
(4) 配置Router C。
# 配置MSTP域的域名为example,修订级别为0,并将VLAN 10、30、40分别映射到生成树实例1、3、4上。(与Router A上MSTP域的配置相同,不再赘述)
# 全局使能MSTP,并配置本设备为生成树实例4的根桥。
l 在导航栏中选择“高级配置 > MSTP > MSTP全局”,进行如下配置,参见图1-13。
l 选择全局STP使能为“Enable”。
l 选择模式为“MSTP”。
l 选中“实例”前的复选框。
l 选择实例ID为“4”。
l 选择根类型为“Primary”。
l 单击<确定>按钮完成操作。
(5) 配置Router D。
# 配置MSTP域的域名为example,修订级别为0,并将VLAN 10、30、40分别映射到生成树实例1、3、4上。(与Router A上MSTP域的配置相同,不再赘述)
# 全局使能MSTP。
l 在导航栏中选择“高级配置 > MSTP > MSTP全局”,进行如下配置,参见图1-13。
l 选择全局STP使能为“Enable”。
l 选择模式为“MSTP”。
l 单击<确定>按钮完成操作。
当网络拓扑稳定后,通过使用display stp brief命令可以查看各设备上生成树的简要信息。例如:
# 查看Router A上生成树的简要信息。
[RouterA] display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/1 ALTE DISCARDING NONE
0 Ethernet0/2 DESI FORWARDING NONE
0 Ethernet0/3 ROOT FORWARDING NONE
1 Ethernet0/1 DESI FORWARDING NONE
1 Ethernet0/3 DESI FORWARDING NONE
3 Ethernet0/2 DESI FORWARDING NONE
3 Ethernet0/3 ROOT FORWARDING NONE
# 查看Router B上生成树的简要信息。
[RouterB] display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/1 DESI FORWARDING NONE
0 Ethernet0/2 DESI FORWARDING NONE
0 Ethernet0/3 DESI FORWARDING NONE
1 Ethernet0/2 DESI FORWARDING NONE
1 Ethernet0/3 ROOT FORWARDING NONE
3 Ethernet0/1 DESI FORWARDING NONE
3 Ethernet0/3 DESI FORWARDING NONE
# 查看Router C上生成树的简要信息。
[RouterC] display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/1 DESI FORWARDING NONE
0 Ethernet0/2 ROOT FORWARDING NONE
0 Ethernet0/3 DESI FORWARDING NONE
1 Ethernet0/1 ROOT FORWARDING NONE
1 Ethernet0/2 ALTE DISCARDING NONE
4 Ethernet0/3 DESI FORWARDING NONE
# 查看Router D上生成树的简要信息。
[RouterD] display stp brief
MSTID Port Role STP State Protection
0 Ethernet0/1 ROOT FORWARDING NONE
0 Ethernet0/2 ALTE DISCARDING NONE
0 Ethernet0/3 ALTE DISCARDING NONE
3 Ethernet0/1 ROOT FORWARDING NONE
3 Ethernet0/2 ALTE DISCARDING NONE
4 Ethernet0/3 ROOT FORWARDING NONE
根据上述显示信息,可以绘出各VLAN所对应的MSTI,如图1-14所示。
图1-14 各VLAN对应的MSTI示意图
配置MSTP时需要注意如下事项:
(1) 在两台或者多台使能了MSTP协议的设备上,只有当选择因子(缺省为0,不可配)、域名、VLAN映射表和MSTP修订级别的配置都相同,且这些设备之间有链路相通时,他们才能属于同一个MST域。
(2) 当设备被配置为根桥或者备份根桥之后,不能再修改设备的桥优先级。
(3) 在生成树根桥的选择过程中,如果设备的桥优先级相同,则MAC地址最小的设备将被选择为根。
(4) 根桥Forward Delay、Hello Time和Max Age的取值需要满足一定关系,否则会引起网络频繁震荡。建议用户指定设备的网络直径,由设备自动计算Forward Delay、Hello Time和Max Age。
l 2 ×(Forward Delay - 1 second)¦ Max Age
l Max Age ¦ 2 ×(Hello Time + 1 second)
(5) 在设备没有使能BPDU保护的情况下,如果被设置为边缘端口的端口上收到来自其它端口的BPDU,则该端口会重新变为非边缘端口。此时,只有重启端口才能将该端口恢复为边缘端口。
(6) 对于直接与终端相连的端口,请将该端口设置为边缘端口,同时启动BPDU保护功能。这样既能够使该端口快速迁移到转发状态,也可以保证网络的安全。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!