15-MSTP操作
本章节下载: 15-MSTP操作 (763.39 KB)
l 新增“STP可维护性”功能,具体请参见1.10 STP可维护性配置。
l 新增“STP可维护性”显示命令,具体请参见1.12 MSTP显示和维护。
l 新增“支持发送802.1d协议标准的Trap信息功能”,具体请参见1.11 支持发送802.1d协议标准的Trap信息功能。
STP(Spanning Tree Protocol,生成树协议)是根据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的说明。
分类 |
指定桥 |
指定端口 |
对于一台设备而言 |
与交换机直接相连并且负责向交换机转发BPDU报文的设备 |
指定桥向本机转发BPDU报文的端口 |
对于一个局域网而言 |
负责向本网段转发BPDU报文的设备 |
指定桥向本网段转发BPDU报文的端口 |
指定桥与指定端口如图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 配置消息在交换机中能够保存的最大生存期:Max Age;
为描述方便,在下面的描述及举例中仅考虑配置消息的其中四项内容:
l 根桥ID(以设备的优先级表示)
l 根路径开销
l 指定桥ID(以设备的优先级表示)
l 指定端口ID(以端口名称表示)
(1) STP算法实现的具体过程
l 初始状态
各台设备在初始时会生成以自己为根桥的BPDU报文消息,根路径开销为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 |
端口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的配置消息传递机制
l 当网络初始化时,所有的设备都将自己作为根桥,生成以自己为根的配置消息,并以Hello Time为周期定时向外发送。
l 接收到配置消息的端口如果是根端口,且接收的配置消息比该端口的配置消息优,则设备将配置消息中携带的Message Age按照一定的原则递增,并启动定时器为这条配置消息计时,同时将此配置消息从设备的指定端口转发出去。
l 如果指定端口收到的配置消息比本端口的配置消息优先级低时,会立刻发出自己的更好的配置消息进行回应。
l 如果某条路径发生故障,则这条路径上的根端口不会再收到新的配置消息,旧的配置消息将会因为超时而被丢弃,设备重新生成以自己为根的配置消息并向外发送BPDU和TCN BPDU,从而引发生成树的重新计算,得到一条新的通路替代发生故障的链路,恢复网络连通性。
不过,重新计算得到的新配置消息不会立刻就传遍整个网络,因此旧的根端口和指定端口由于没有发现网络拓扑变化,将仍按原来的路径继续转发数据。如果新选出的根端口和指定端口立刻就开始数据转发的话,可能会造成暂时性的环路。
(3) STP定时器
STP计算中,需要使用三个重要的时间参数:Forward Delay、Hello Time和Max Age。
l Forward Delay为交换机状态迁移的延迟时间。
链路故障会引发网络重新进行生成树的计算,生成树的结构将发生相应的变化。不过重新计算得到的新配置消息无法立刻传遍整个网络,如果新选出的根端口和指定端口立刻就开始数据转发的话,可能会造成暂时性的路径回环。
为此,生成树协议采用了一种状态迁移的机制,根端口和指定端口重新开始数据转发之前要经历一个中间状态,中间状态经过2倍的Forward Delay的延时后才能进入Forwarding状态,这个延时保证了新的配置消息已经传遍整个网络。
l Hello Time用于交换机检测链路是否存在故障。
交换机每隔Hello Time时间会向周围的交换机发送hello报文,以确认链路是否存在故障。
l Max Age是用来判断配置消息在交换机内保存时间是否“过时”的参数,交换机会将过时的配置消息丢弃。
STP不能快速迁移,即使是在点对点链路或边缘端口(边缘端口指的是该端口直接与用户终端相连,而没有连接到其它设备或共享网段上),也必须等待2倍的Forward Delay的时间延迟,端口才能迁移到转发状态。
RSTP(Rapid Spanning Tree Protocol,快速生成树协议)是STP协议的优化版。其“快速”体现在,当一个端口被选为根端口和指定端口后,其进入转发状态的延时在某种条件下大大缩短,从而缩短了网络最终达到拓扑稳定所需要的时间。
l RSTP中,根端口的端口状态快速迁移的条件是:本设备上旧的根端口已经停止转发数据,而且上游指定端口已经开始转发数据。
l RSTP中,指定端口的端口状态快速迁移的条件是:指定端口是边缘端口或者指定端口与点对点链路相连。如果指定端口是边缘端口,则指定端口可以直接进入转发状态;如果指定端口连接着点对点链路,则设备可以通过与下游设备握手,得到响应后即刻进入转发状态。
RSTP可以快速收敛,但是和STP一样存在以下缺陷:局域网内所有网桥共享一棵生成树,不能按VLAN阻塞冗余链路,所有VLAN的报文都沿着一棵生成树进行转发。
MSTP(Multiple Spanning Tree Protocol,多生成树协议)可以弥补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的一些基本概念。
图1-4 MSTP的基本概念示意图
MST域(Multiple Spanning Tree Regions,多生成树域)是由交换网络中的多台交换机以及它们之间的网段构成。这些交换机都启动了MSTP、具有相同的域名、相同的VLAN到生成树映射配置和相同的MSTP修订级别配置,并且物理上有链路连通。
在同一个交换网络内可以存在多个MST域。用户可以通过MSTP配置命令把多台交换机划分在同一个MST域内。
如图1-4中的区域A0,域内所有交换机都有相同的MST域配置:
l 域名相同
l VLAN与生成树的映射关系相同(VLAN1映射到生成树实例1,VLAN2映射到生成树实例2,其余VLAN映射到CIST)
l MSTP修订级别相同(此配置在图中没有体现)
MSTI(Multiple Spanning Tree Instance,多生成树实例)是指MST域内的生成树。
一个MST域内可以通过MSTP生成多棵生成树,各棵生成树之间彼此独立。
例如图1-4中,每个域内可以存在多棵生成树,每棵生成树和相应的VLAN对应。这些生成树都被称为MSTI。
VLAN映射表是MST域的一个属性,用来描述VLAN和MSTI的映射关系。
例如图1-4中,域A0的VLAN映射表就是:VLAN 1映射到MSTI 1,VLAN 2映射到MSTI 2,其余VLAN映射到CIST。MSTP就是根据VLAN映射表来实现负载分担的。
IST(Internal Spanning Tree,内部生成树)是MST域内的一棵生成树。
IST和CST(Common Spanning Tree,公共生成树)共同构成整个交换机网络的生成树CIST(Common and Internal Spanning Tree,公共和内部生成树)。IST是CIST在MST域内的片段,是一个特殊的多生成树实例。
例如图1-4中,CIST在每个MST域内都有一个片段,这个片段就是各个域内的IST。
CST是连接交换网络内所有MST域的单生成树。如果把每个MST域看作是一个“交换机”,CST就是这些“交换机”通过STP协议、RSTP协议计算生成的一棵生成树。
CIST是连接一个交换网络内所有交换机的单生成树,由IST和CST共同构成。
例如图1-4中,每个MST域内的IST加上MST域间的CST就构成整个网络的CIST。
域根是指MST域内IST和MSTI的树根。MST域内各棵生成树的拓扑不同,域根也可能不同。
例如图1-4中,区域D0中,生成树实例1的域根为交换机B,生成树实例2的域根为交换机C。
总根(Common Root Bridge)是指CIST的树根。例如图1-4中,总根为区域A0内的某台交换机。
在MSTP的计算过程中,端口角色主要有根端口、指定端口、Master端口、域边缘端口、Alternate端口和Backup端口。
l 根端口是负责向树根方向转发数据的端口。
l 指定端口是负责向下游网段或交换机转发数据的端口。
l Master端口是连接MST域到总根的端口,位于整个域到总根的最短路径上。从CST上看,Master端口就是域的“根端口”(把域看作是一个节点)。Master端口是特殊域边界端口,Master端口在IST/CIST上的角色是Root端口,在其它各个实例上的角色都是Master端口。
l 域边缘端口是连接不同MST域、MST域和运行STP的区域、MST域和运行RSTP的区域的端口,位于MST域的边缘。
l Alternate端口是根端口和Master端口用于快速切换的替换端口。当根端口或者Master端口被阻塞后,Alternate端口将成为新的根端口或者Master端口。
l Backup端口是指定端口用于快速切换的替换端口。当指定端口被阻塞后,Backup端口就会快速转换为新的指定端口,并无时延的转发数据。当开启了MSTP的同一台交换机的两个端口互相连接时,由于存在环路,交换机会将其中一个端口阻塞,Backup端口是被阻塞的那个端口。
在图1-5中,交换机A、B、C、D构成一个MST域。交换机A的端口1、2向总根方向连接,交换机C的端口5和端口6构成了环路,交换机D的端口3、4则向下连接其他的MST域,各个端口的角色如图1-5所示。
l 同一端口在不同的生成树实例中可以担任不同的角色。
l 域边缘端口在生成树实例上的角色与CIST的角色保持一致,但是Master端口除外,Master端口在CIST上的角色为ROOT端口,但是在其他实例上的角色才为Master端口。
l 如图1-5所示,交换机A的端口1是域边缘端口,它在CIST上的角色是Root端口,在MST域内其他实例上的角色是Master端口。
MSTP中,根据端口是否转发用户流量、接收/发送BPDU报文,端口状态划分为三种:
l Forwarding状态:既转发用户流量又接收/发送BPDU报文
l Learning状态:不转发用户流量,只接收/发送BPDU报文
l Discarding状态:只接收BPDU报文
端口状态和端口角色是没有必然联系的,表1-6给出了各种端口角色能够具有的端口状态。
端口角色 端口状态 |
根端口 /Master端口 |
指定端口 |
域边缘端口 |
Alternate端口 |
Backup端口 |
Forwarding |
√ |
√ |
√ |
- |
- |
Learning |
√ |
√ |
√ |
- |
- |
Discarding |
√ |
√ |
√ |
√ |
√ |
MSTP将整个二层网络划分为多个MST域,各个域之间通过计算生成CST;域内则通过计算生成多棵生成树,每棵生成树都被称为是一个MSTI。MSTP同RSTP一样,使用配置消息进行生成树的计算,只是配置消息中携带的是交换机上MSTP的配置信息。
经过比较配置消息后,在整个网络中选择一个优先级最高的交换机作为CIST的树根。在每个MST域内MSTP通过计算生成IST;同时MSTP将每个MST域作为单台交换机对待,通过计算在MST域间生成CST。CST和IST构成了整个交换机网络的CIST。
在MST域内,MSTP根据VLAN和生成树实例的映射关系,针对不同的VLAN生成不同的生成树实例。每棵生成树独立进行计算,计算过程与STP/RSTP计算生成树的过程类似。
在初始时,每台交换机的各个端口会生成以自身交换机为根桥的配置消息,其中根路径开销为0,指定桥ID为自身交换机ID,指定端口为本端口。
(1) 每台交换机都向外发送自己的配置消息,并在接收到其他配置消息后进行如下处理:
l 当端口收到比自身的配置消息优先级低的配置消息时,交换机把接收到的配置消息丢弃,对该端口的配置消息不作任何处理;
l 当端口收到比本端口配置消息优先级高的配置消息时,交换机用接收到的配置消息中的内容替换该端口的配置消息中的内容;然后交换机将该端口的配置消息和交换机上的其它端口的配置消息进行比较,选出最优的配置消息。
(2) 配置消息的比较原则如下:
l 树根ID较小的配置消息优先级高;
l 若树根ID相同,则比较根路径开销。比较方法为:计算配置消息中的根路径开销与本端口对应的路径开销之和(设为S),S较小的配置消息优先级较高;
l 若根路径开销也相同,则依次比较指定桥ID、指定端口ID、接收该配置消息的端口ID等。
(3) 计算生成树的步骤如下:
l 选出根桥
比较所有交换机发送的配置消息,其中树根ID最小的交换机为根桥。
l 选出根端口
每台交换机把接收最优配置消息的那个端口定为自身交换机的根端口。
l 确定指定端口
首先,交换机根据根端口的配置消息和根端口的路径开销,为每个端口计算一个指定端口配置消息:树根ID替换为根端口的配置消息的树根ID;根路径开销替换为根端口的配置消息的根路径开销加上根端口的路径开销;指定桥ID替换为自身交换机的ID;指定端口ID替换为自身端口ID。
然后,交换机使用计算出来的配置消息和对应端口上原来的配置消息进行比较。如果端口上原来的配置消息更优,则交换机将此端口阻塞,端口的配置消息不变,并且此端口将不再转发数据,只接收配置消息;如果计算出来的配置消息更优,则交换机就将该端口设置为指定端口,端口上的配置消息替换成计算出来的配置消息,并周期性向外发送。
MSTP同时兼容STP、RSTP。STP、RSTP两种协议报文都可以被运行MSTP的交换机识别并应用于生成树计算。H3C系列以太网交换机除了提供MSTP的基本功能外,还从用户的角度出发,提供了许多便于管理的特殊功能,如下所示:
l 根桥保持
l 根桥备份
l ROOT保护功能
l BPDU保护功能
l 环路保护功能
l 防止TC-BPDU报文攻击功能
l BPDU报文拦截功能
相关的协议规范有:
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所示。
操作 |
说明 |
详细配置 |
开启MSTP特性 |
必选 为了减少由于配置引起的网络拓扑振荡,一般在完成其他参数配置后才启动MSTP特性 |
|
配置MST域 |
必选 |
|
指定当前交换机为根桥或备份根桥 |
必选 |
|
配置当前交换机的桥优先级 |
可选 设置当前交换机为根桥或者备份根桥之后,用户不能再修改交换机的优先级 |
|
配置端口对MSTP报文的识别/发送方式 |
可选 |
|
配置MSTP的工作模式 |
可选 |
|
配置MST域的最大跳数 |
可选 |
|
配置交换网络的网络直径 |
可选 建议用户使用缺省值 |
|
配置MSTP的时间参数 |
可选 建议用户使用缺省值 |
|
配置超时时间因子 |
可选 |
|
配置端口的最大发送速率 |
可选 建议用户使用缺省值 |
|
配置当前端口为边缘端口 |
可选 |
|
配置端口是否与点对点链路相连 |
可选 |
当GVRP和MSTP同时在交换机上启动时,GVRP报文将沿着CIST进行传播。建议用户如果希望通过GVRP在网络中发布某个VLAN,则在配置MSTP的VLAN映射表时要保证把这个VLAN映射到CIST上。
用户确定了交换机在生成树中的角色,明确了各个交换机在各个生成树实例中的树根地位或者叶子节点的地位。
表1-8 MST域的配置过程
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入MST域视图 |
stp region-configuration |
- |
配置MST域的域名 |
region-name name |
必选 缺省情况下,MST域的域名是交换机的MAC地址 |
配置VLAN映射表 |
instance instance-id vlan vlan-list |
必选 两个命令都可以实现VLAN映射表的配置 缺省情况下,MST域内所有的VLAN都映射到生成树实例0 |
vlan-mapping modulo modulo |
||
配置MST域的MSTP修订级别 |
revision-level level |
必选 缺省情况下,MST域的修订级别为0 |
手动激活MST域的配置 |
active region-configuration |
必选 |
显示正在修改的MST域的配置信息 |
check region-configuration |
可选 |
显示已经生效的MST域的配置信息 |
display stp region-configuration |
display命令可在任意视图下执行 |
集群中设备发送的NTDP报文,只会在集群中的管理VLAN所在的实例中传输。
用户在配置MST域的相关参数,特别是配置VLAN映射表时,会引起MSTP重新计算生成树,从而引起网络拓扑振荡。为了减少这种由于配置引起的振荡,MSTP在处理用户关于域的相关配置时,并不会马上触发生成树重新计算,而是在满足下列条件之一的情况下,这些域的配置才会真正的生效:
l 使用active region-configuration命令手工激活配置的MST域相关参数;
l 使用stp enable命令启动MSTP特性。
l 只有当两台或者多台交换机的Format Selector(802.1s协议规定的协议选择因子,缺省值为0,不可配置)、MST域名、VLAN映射表、MST域的修订级别完全相同时,它们才能属于同一个MST域。
l H3C系列以太网交换机支持用户配置MST域名、VLAN映射表、MST域的修订级别,当以上三者完全相同时,这两台或者多台交换机才能属于同一个MST域。
# 配置MST域名为info,MSTP修订级别为1,VLAN映射表为VLAN2~VLAN10映射到生成树实例1上,VLAN20~VLAN30映射到生成树实例2上。
<Sysname> system-view
[Sysname] stp region-configuration
[Sysname-mst-region] region-name info
[Sysname-mst-region] instance 1 vlan 2 to 10
[Sysname-mst-region] instance 2 vlan 20 to 30
[Sysname-mst-region] revision-level 1
[Sysname-mst-region] active region-configuration
# 显示上面的配置信息。
[Sysname-mst-region] check region-configuration
Admin configuration
Format selector :0
Region name :info
Revision level :1
Instance Vlans Mapped
0 1, 11 to 19, 31 to 4094
1 2 to 10
2 20 to 30
MSTP可以通过计算来确定生成树的根桥。用户也可以通过交换机提供的命令来指定当前交换机为根桥。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
指定交换机为特定生成树的根桥 |
stp [ instance instance-id ] root primary [ bridge-diameter bridgenumber [ hello-time centi-seconds ] ] |
必选 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
指定交换机为特定生成树的备份根桥 |
stp [ instance instance-id ] root secondary [ bridge-diameter bridgenumber [ hello-time centi-seconds ] ] |
必选 |
用户可以将当前交换机指定为生成树实例(由参数instance instance-id确定)的根桥或备份根桥。如果instance-id取值为0,当前交换机将被指定为CIST的根桥或备份根桥。
当前交换机在各个生成树实例中的角色互相独立,它可以作为一个生成树实例的根桥或备份根桥,同时也可以作为其他生成树实例的根桥或备份根桥;在同一个生成树实例中,同一台交换机不能既作为根桥,又作为备份根桥。
当根桥出现故障或被关机时,备份根桥可以取代根桥成为指定生成树实例的根桥;但是此时若用户设置了新的根桥,则备份根桥将不会成为根桥。如果用户为一个生成树实例配置了多个备份根桥,当根桥失效时,MSTP将选择MAC地址最小的那个备份根桥作为根桥。
在设置根桥和备份根桥时,用户可以同时指定交换网络的网络直径和Hello Time参数。关于网络直径和Hello Time的描述请参见1.3.8 配置交换网络的网络直径和1.3.9 配置MSTP的时间参数。
l 当前交换机可以被指定为多棵生成树实例的树根,但是用户不能同时为一棵生成树实例指定两个或两个以上的根桥,即不要在两台或两台以上的交换机上使用stp root primary命令给同一棵生成树实例指定树根。
l 用户可以给同一棵生成树指定多个备份树根,即可以在两台或两台以上的交换机上使用stp root secondary命令给同一棵生成树实例指定备份树根。
l 用户也可以通过设置交换机的优先级为0来实现指定当前交换机为根桥的目的,但是当设置当前交换机为根桥或者备份根桥之后,用户不能再修改交换机的优先级。
# 指定当前交换机为生成树实例1的根桥,生成树实例2的备份根桥。
<Sysname> system-view
[Sysname] stp instance 1 root primary
[Sysname] stp instance 2 root secondary
交换机的桥优先级的大小决定了这台交换机是否能够被选作生成树的树根。通过配置较小的桥优先级,可以达到指定某台交换机成为生成树树根的目的。支持MSTP的交换机在不同的生成树实例中可以拥有不同的桥优先级。
表1-11 当前交换机的桥优先级配置过程
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置当前交换机的桥优先级 |
stp [ instance instance-id ] priority priority |
必选 桥优先级缺省值为32768 |
l 使用stp root primary或stp root secondary命令指定当前交换机为根桥或者备份根桥之后,用户不能再对交换机的桥优先级进行配置。
l 在生成树树根的选择过程中,如果交换机的桥优先级取值相同,则MAC地址最小的那台交换机将被选择为树根。
# 配置交换机在生成树实例1中的桥优先级为4096。
<Sysname> system-view
[Sysname] stp instance 1 priority 4096
用户可以配置端口对MSTP报文的识别/发送方式:
l 根据识别结果确定发送报文的格式(auto)
l 识别/发送私有格式报文
l 识别/发送标准格式报文(802.1s)
端口会根据对端交换机或路由器转发的MSTP报文格式,进行相应的处理:
当配置端口根据识别结果确定发送报文的格式(auto)时:
l 端口可以自动识别收到的MSTP报文格式是标准报文格式还是私有报文格式,并依据识别的结果决定本端口发送MSTP报文的格式,从而实现与对端设备的互通。
l 如果对端的报文格式反复变化,MSTP会将对应端口关闭(Shutdown)以防止网络风暴出现,但是取消端口关闭(Shutdown)的操作需要网络管理员登录交换机来进行。
当用户配置端口的MSTP报文识别方式为私有报文格式时:
l 端口可以识别并发送私有格式报文,实现与对端发送私有格式报文的设备互通。
l 如果接收到的报文格式为标准格式时,MSTP会将对应端口设置为Discarding以防止网络风暴。
当用户配置端口的MSTP报文识别方式为标准报文格式时:
l 端口可以识别并发送标准格式报文,实现与对端发送标准格式报文的设备互通。
l 如果接收到的报文格式为私有格式时,MSTP会将对应的端口设置为Discarding以防止网络风暴。
表1-12 配置端口对MSTP报文的识别/发送方式(系统视图)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置端口对MSTP报文的识别/发送方式 |
stp interface interface-type interface-number compliance { auto | dot1s | legacy } |
必选 缺省情况下,端口被配置为auto,即根据识别结果确定发送报文的格式 |
表1-13 配置端口对MSTP报文的识别/发送方式(以太网端口视图)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置端口对MSTP报文的识别/发送方式 |
stp compliance { auto | dot1s | legacy } |
必选 缺省情况下,端口被配置为auto,即根据识别结果确定发送报文的格式 |
# 配置以太网端口Ethernet1/0/1识别和发送标准格式报文。
<Sysname> system-view
[Sysname] interface Ethernet1/0/1
[Sysname-Ethernet1/0/1] stp compliance dot1s
# 恢复端口缺省对MSTP报文的识别/发送方式。
[Sysname-Ethernet1/0/1] undo stp compliance
l STP兼容模式。交换机各个端口将向相连设备发送STP报文。如果交换网络中存在运行STP协议的交换机,用户可以通过stp mode stp命令配置当前的MSTP工作模式运行在STP兼容模式下。
l RSTP兼容模式。交换机各个端口将向相连设备发送RSTP报文。如果交换网络中存在运行RSTP协议的交换机,用户可以通过stp mode rstp命令配置当前的MSTP工作模式运行在RSTP兼容模式下。
l MSTP模式。交换机的各个端口将向相连设备发送MSTP报文或者STP报文(如果交换机端口上连接了运行STP协议交换机),并且具备多生成树的功能。
表1-14 MSTP的运行模式配置过程
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置MSTP的工作模式 |
stp mode { stp | rstp | mstp } |
必选 缺省值为MSTP模式 |
# 配置MSTP的工作模式为STP兼容模式。
<Sysname> system-view
[Sysname] stp mode stp
用户可以在域根上设置配置信息转发的跳数,此跳数将作为MST域的最大跳数,它限制了MST域的规模。
从MST域内生成树的根桥开始,域内的配置消息每经过一台交换机的转发,跳数就自动减1;交换机将丢弃跳数为0的配置消息,使处于最大跳数外的交换机无法参与生成树的计算,从而限制了MST域的规模。
如果当前交换机成为MST域中CIST的根桥或MSTI的根桥时,此交换机配置的最大跳数将成为该生成树的网络直径,限制该生成树在当前MST域内的规模。在MST域中不是生成树根桥的交换机将采用根桥设置的最大跳数参数。
表1-15 MST域的最大跳数配置过程
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置MST域的最大跳数 |
stp max-hops hops |
必选 缺省情况下,MST域的最大跳数为20 |
MST域的最大跳数越大,说明MST域的规模越大。只有配置在作为域根的交换机上的MST域的最大跳数才能限制MST域的规模。
# 配置MST域的最大跳数为30。
<Sysname> system-view
[Sysname] stp max-hops 30
交换网络中任意两台主机都通过特定路径彼此相连,这些路径由一系列交换机构成。网络直径指的是这些路径中交换机个数最多的那条路径,用路径经过的交换机个数来表征。
表1-16 交换网络的网络直径配置过程
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置交换网络的网络直径 |
stp bridge-diameter bridgenumber |
必选 缺省情况下,网络直径为7 |
网络直径是表征网络规模的一个参数,网络直径越大,说明一个网络的规模越大。
当用户配置交换机的网络直径参数时,MSTP通过计算自动将交换机的Hello Time、Forward Delay以及Max Age三个时间参数设置为一个较优的值。
设置网络直径只对CIST有效,对MSTI无效。
# 配置交换网络的网络直径为6。
<Sysname> system-view
[Sysname] stp bridge-diameter 6
交换机有三个时间参数:Forward Delay、Hello Time和Max Age。用户可以在交换机上配置这三个参数,用于MSTP计算生成树。
表1-17 MSTP时间参数配置过程
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置Forward Delay时间参数 |
stp timer forward-delay centiseconds |
必选 缺省情况下,Forward Delay时间为1500厘秒(即15秒) |
配置Hello Time时间参数 |
stp timer hello centiseconds |
必选 缺省情况下,Hello Time时间为200厘秒(即2秒) |
配置Max Age时间参数 |
stp timer max-age centiseconds |
必选 缺省情况下,Max Age时间为2000厘秒(即20秒) |
交换网络中所有的交换机采用CIST的根桥上的三个时间参数。
l 交换机的Forward Delay时间参数的长短与交换网络的网络直径有关。一般来说,网络直径越大,Forward Delay就应该配置得越长。需要注意的是,如果Forward Delay配置的过小,可能会引入临时的冗余路径;如果Forward Delay配置的过大,网络可能会较长时间不能恢复连通。建议用户采用缺省值。
l 合适的Hello Time时间值可以保证交换机能够及时发现网络中的链路故障,又不会占用过多的网络资源。如果用户设置的Hello Time过长,在链路发生丢包时,交换机会误以为链路出现了故障,从而引发网络设备重新计算生成树;如果用户设置的Hello Time过短,交换机将频繁发送重复的配置消息,增加了交换机的负担,浪费了网络资源。建议用户使用缺省值。
l 如果用户配置的Max Age时间过小,网络设备会频繁地计算生成树,而且有可能将网络拥塞误认成链路故障;如果用户配置的Max Age时间过大,网络设备很可能不能及时发现链路故障,不能及时重新计算生成树,从而降低网络的自适应能力。建议用户采用缺省值。
根桥的Hello Time、Forward Delay以及Max Age三个时间参数取值之间应该满足如下公式,否则网络会频繁震荡:
2×(Forward Delay-1 second)¦ Max Age ¦2×(Hello Time+1 second)
建议用户优先使用stp root primary或stp root secondary命令指定交换网络的网络直径及Hello Time。MSTP会自动计算出这三个时间参数的较优值。
# 配置Forward Delay为1600厘秒,Hello Time为300厘秒,Max Age为2100厘秒。
<Sysname> system-view
[Sysname] stp timer forward-delay 1600
[Sysname] stp timer hello 300
[Sysname] stp timer max-age 2100
当网络拓扑结构稳定了以后,非根桥交换机会每隔一定的Hello Time时间,向周围相连设备转发根桥发出的BPDU报文,以确认链路是否存在故障。如果交换机在3倍的Hello Time时间内没有收到上游交换机发送的BPDU报文,就会认为上游交换机已经故障,从而重新进行生成树的计算。
在非常稳定的网络中,可能由于上游交换机的繁忙而导致这种生成树的重新计算。此时,用户可以通过配置来延长超时时间来避免这种情况,将超时时间设置为Hello Time时间的4倍或更长。在一个稳定的网络中,建议将倍数设置为5~7倍。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置特定交换机的超时时间因子 |
stp timer-factor number |
必选 缺省情况下,交换机的超时时间因子为3 |
一般情况下,在稳定的网络中,推荐用户将超时时间因子设置为5~7。
# 配置超时时间因子为6。
<Sysname> system-view
[Sysname] stp timer-factor 6
端口的最大发送速率是用来表示端口在每个Hello Time内最多可发送多少个MSTP报文的参数。它与端口的物理状态和网络结构有关,用户可以根据实际的网络情况对其进行配置。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置端口的最大发送速率 |
stp interface interface-list transmit-limit packetnum |
必选 缺省情况下,交换机上所有以太网端口的最大发送速率为10 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置端口的最大发送速率 |
stp transmit-limit packetnum |
必选 缺省情况下,交换机上所有以太网端口的最大发送速率为10 |
以上两种方法都可以配置端口的最大发送速率。
如果该参数被配置的过大,则每个Hello Time内发送的MSTP报文数就很多,从而占用过多的网络资源。建议用户采用缺省值。
# 配置Ethernet1/0/1的最大发送速率为15。
(1) 在系统视图下实现该配置。
<Sysname> system-view
[Sysname] stp interface Ethernet1/0/1 transmit-limit 15
(2) 在以太网端口视图下实现该配置。
<Sysname> system-view
[Sysname] interface Ethernet1/0/1
[Sysname-Ethernet1/0/1] stp transmit-limit 15
边缘端口是指不直接与任何交换机连接,也不通过端口所连接的网络间接与任何交换机相连的端口。用户如果将某个端口指定为边缘端口,那么当该端口由阻塞状态向转发状态迁移时,这个端口可以实现快速迁移,而无需等待延迟时间。
可以通过下面两种途径来配置端口为边缘端口或者非边缘端口。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置端口为边缘端口 |
stp interface interface-list edged-port enable |
必选 缺省情况下,交换机所有以太网端口均被配置为非边缘端口 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置端口为边缘端口 |
stp edged-port enable |
必选 缺省情况下,交换机所有以太网端口均被配置为非边缘端口 |
在交换机没有开启BPDU保护的情况下,如果被设置为边缘端口的端口上收到来自其它端口的BPDU报文,则该端口会重新变为非边缘端口。
对于直接与终端相连的端口,请将该端口设置为边缘端口,同时启动BPDU保护功能。这样既能够使该端口快速迁移到转发状态,也可以保证网络的安全。
# 配置Ethernet1/0/1为边缘端口。
(1) 在系统视图下实现该配置。
<Sysname> system-view
[Sysname] stp interface Ethernet1/0/1 edged-port enable
(2) 在以太网端口视图下实现该配置。
<Sysname> system-view
[Sysname] interface Ethernet1/0/1
[Sysname-Ethernet1/0/1] stp edged-port enable
点到点链路是两台交换机之间直接连接的链路。以点对点链路相连的两个端口,如果端口角色满足一定条件,则可以通过传送同步报文快速迁移到转发状态,减少了不必要的转发延迟时间。
可以通过下面两种途径来配置端口相连的链路是否是点到点链路。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置端口是否与点对点链路相连 |
stp interface interface-list point-to-point { force-true | force-false | auto } |
必选 缺省情况下,该参数被配置为auto |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置端口是否与点对点链路相连 |
stp point-to-point { force-true | force-false | auto } |
必选 缺省情况下,该参数被配置为auto |
l 对于汇聚端口,只有汇聚端口的主端口才可以被配置成与点对点链路相连;
l 一个端口工作在自协商模式,协商出来的工作模式是全双工,可以将此端口配置为点到点链路。
当端口被设置为与点对点链路相连时,该配置将在该端口所有生成树实例上生效。如果端口实际物理链路不是点对点链路,用户错误配置为强制点对点链路,则有可能会引入临时环路。
# 配置Ethernet1/0/1和点到点链路相连。
(1) 在系统视图下实现该配置。
<Sysname> system-view
[Sysname] stp interface Ethernet1/0/1 point-to-point force-true
(2) 在以太网端口视图下实现该配置。
<Sysname> system-view
[Sysname] interface Ethernet1/0/1
[Sysname-Ethernet1/0/1] stp point-to-point force-true
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启设备MSTP特性 |
stp enable |
必选 缺省情况下,不运行MSTP |
关闭指定端口的MSTP特性 |
stp interface interface-list disable |
可选 缺省情况下,设备MSTP特性开启后所有端口上的MSTP特性都是开启的 为了灵活地控制MSTP工作,可以关闭交换机上特定以太网端口的MSTP特性,使这些端口不参与生成树计算,节省交换机的CPU资源 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启设备MSTP特性 |
stp enable |
必选 缺省情况下,不运行MSTP |
进入以太网端口视图 |
interface interface-type interface-number |
- |
关闭指定端口的MSTP特性 |
stp disable |
可选 缺省情况下,设备MSTP特性开启后所有端口上的MSTP特性都是开启的 为了灵活地控制MSTP工作,可以关闭交换机上特定以太网端口的MSTP特性,使这些端口不参与生成树计算,节省交换机的CPU资源 |
只有开启了设备的MSTP特性,MSTP的其他配置才能生效。
# 开启设备的MSTP特性,并关闭Ethernet1/0/1上的MSTP特性。
(1) 在系统视图下实现该配置。
<Sysname> system-view
[Sysname] stp enable
[Sysname] stp interface Ethernet1/0/1 disable
(2) 在以太网端口视图下实现该配置。
<Sysname> system-view
[Sysname] stp enable
[Sysname] interface Ethernet1/0/1
[Sysname-Ethernet1/0/1] stp disable
叶子节点的MSTP配置如表1-27所示。
操作 |
说明 |
详细配置 |
开启MSTP特性 |
必选 为了减少由于配置引起的网络拓扑振荡,一般在完成其他参数配置后才启动MSTP特性 |
|
配置MST域 |
必选 |
|
配置端口对MSTP报文的识别/发送方式 |
可选 |
|
配置超时时间因子 |
可选 |
|
配置当前端口的最大发送速率 |
可选 建议用户使用缺省值 |
|
配置当前端口为边缘端口 |
可选 |
|
配置端口的路径开销 |
可选 |
|
配置端口的优先级 |
可选 |
|
配置当前端口与点对点链路相连 |
可选 |
当GVRP和MSTP同时在交换机上启动时,GVRP报文将沿着生成树实例CIST进行传播。因此在GVRP和MSTP同时在交换机上启动的情况下,建议用户如果希望通过GVRP在网络中发布某个VLAN,则在配置MSTP的VLAN映射表时要保证把这个VLAN映射到CIST(即生成树实例0)上。
用户确定了交换机在生成树中的角色,明确了各个交换机在各个生成树实例中的树根地位或者叶子节点的地位。
请参见1.3.11 配置端口的最大发送速率。
路径开销是与端口相连链路的速率有关的参数。在支持MSTP的交换机上,端口在不同的生成树实例中可以拥有不同的路径开销。设置合适的路径开销可以使不同VLAN的流量沿不同的物理链路转发,从而实现按VLAN负载分担的功能。
交换机可以自动计算端口的路径开销,也可以由用户直接配置端口的路径开销。
交换机提供计算端口路径开销的标准如下:
l dot1d-1998:按照标准IEEE 802.1D-1998来计算端口的缺省路径开销值。
l dot1t:按照标准IEEE 802.1t来计算端口的缺省路径开销值。
l legacy:按照私有标准来计算端口的缺省路径开销值。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
设定交换机在计算与交换机端口相连的链路的缺省路径开销时采用的标准 |
stp pathcost-standard { dot1d-1998 | dot1t | legacy } |
可选 缺省情况下,交换机按照legacy标准来计算端口的缺省路径开销值 |
链路速率 |
双工状态 |
802.1D-1998 |
IEEE 802.1t |
私有标准 |
0 |
- |
65535 |
200,000,000 |
200,000 |
10 Mbit/s |
Half-Duplex/Full-Duplex Aggregated Link 2 Ports Aggregated Link 3 Ports Aggregated Link 4 Ports |
100 95 95 95 |
2,000,000 1,000,000 666,666 500,000 |
2,000 1,800 1,600 1,400 |
100 Mbit/s |
Half-Duplex/Full-Duplex Aggregated Link 2 Ports Aggregated Link 3 Ports Aggregated Link 4 Ports |
19 15 15 15 |
200,000 100,000 66,666 50,000 |
200 180 160 140 |
1000Mbit/s |
Full-Duplex Aggregated Link 2 Ports Aggregated Link 3 Ports Aggregated Link 4 Ports |
4 3 3 3 |
20,000 10,000 6,666 5,000 |
20 18 16 14 |
10 Gbit/s |
Full-Duplex Aggregated Link 2 Ports Aggregated Link 3 Ports Aggregated Link 4 Ports |
2 1 1 1 |
2,000 1,000 666 500 |
2 1 1 1 |
一般情况下,全双工状态下链路的路径开销值比半双工状态下略小一点。
在计算聚合链路路径开销值时,802.1D-1998标准不考虑该聚合链路的链路数量。802.1T标准则考虑聚合链路的链路数量,计算公式为:
路径开销 = 200,000,000/ 链路速率
公式中,链路速率为聚合链路中处于非阻塞状态的端口速率之和,单位为100Kbit/s。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置端口的路径开销 |
stp interface interface-list [ instance instance-id ] cost cost |
必选 缺省情况下,由MSTP计算各个端口的路径开销 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置端口的路径开销 |
stp [ instance instance-id ] cost cost |
必选 缺省情况下,由MSTP计算各个端口的路径开销 |
端口路径开销改变时,MSTP会重新计算端口的角色并进行状态迁移。instance-id为0时表示设置端口在CIST上的路径开销。
# 配置Ethernet1/0/1在生成树实例1中的路径开销为2000。
(1) 在系统视图下实现配置。
<Sysname> system-view
[Sysname] stp interface Ethernet1/0/1 instance 1 cost 2000
(2) 在以太网端口视图下实现配置。
<Sysname> system-view
[Sysname] interface Ethernet1/0/1
[Sysname-Ethernet1/0/1] stp instance 1 cost 2000
# 配置Ethernet1/0/1在生成树实例1中的路径开销由MSTP自动计算,采用的标准为IEEE 802.1D-1998。
(1) 在系统视图下实现配置。
<Sysname> system-view
[Sysname] undo stp interface Ethernet1/0/1 instance 1 cost
[Sysname] stp pathcost-standard dot1d-1998
(2) 在以太网端口视图下实现配置。
<Sysname> system-view
[Sysname] interface Ethernet1/0/1
[Sysname-Ethernet1/0/1] undo stp instance 1 cost
[Sysname-Ethernet1/0/1] quit
[Sysname] stp pathcost-standard dot1d-1998
端口优先级是确定该端口是否会被选为根端口的重要依据,在同等条件下,表示端口优先级的数值最小的端口,将会被交换机选为根端口。
在支持MSTP的交换机上,端口可以在不同的生成树实例中拥有不同的优先级,同一端口可以在不同生成树实例中担任不同的角色,从而使不同VLAN的数据沿不同的物理路径传播,实现按VLAN进行负载分担的功能。
可以通过下面两种途径来配置端口的优先级。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置端口的优先级 |
stp interface interface-list instance instance-id port priority priority |
必选 缺省情况下,交换机所有以太网端口的优先级为128 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置端口的优先级 |
stp [ instance instance-id ] port priority priority |
必选 缺省情况下,交换机所有以太网端口的优先级为128 |
端口优先级改变时,MSTP会重新计算端口的角色并进行状态迁移。
一般情况下,配置的值越小,端口被选为根端口的机会越大。如果交换机所有的以太网端口采用相同的优先级参数值,则以太网端口的优先级高低就取决于该以太网端口的索引号。改变以太网端口的优先级会引起生成树重新计算。
用户可以根据组网的实际需要来设置端口的优先级。
# 配置Ethernet1/0/1在生成树实例1中的端口优先级为16。
(1) 在系统视图下实现该配置。
<Sysname> system-view
[Sysname] stp interface Ethernet1/0/1 instance 1 port priority 16
(2) 在以太网端口视图下实现该配置。
<Sysname> system-view
[Sysname] interface Ethernet1/0/1
[Sysname-Ethernet1/0/1] stp instance 1 port priority 16
请参见1.3.13 配置端口是否与点对点链路相连。
在支持MSTP的交换机上端口有三种工作模式:STP兼容模式、RSTP兼容模式、MSTP模式。
假设在一个交换网络中,运行MSTP协议的上游交换机的端口,连接着运行STP协议的下游交换机,该端口会自动迁移到STP兼容模式下工作。但是如果运行STP协议的下游交换机被拆离,更换为运行了MSTP协议的交换机,则该端口不能自动迁移到MSTP模式,仍然会工作在STP兼容模式下。此时,执行mCheck操作可以迫使其迁移到MSTP模式下运行。
同样,假设在一个交换网络中,运行RSTP协议的上游交换机的端口,连接着运行STP协议的下游交换机,该端口会自动迁移到STP兼容模式下工作。但是此时如果运行了STP协议的下游交换机被拆离,更换为运行了MSTP协议的交换机,则该端口不能自动迁移到MSTP兼容模式,仍然会工作在STP兼容模式下。此时,执行mCheck操作可以迫使其迁移到MSTP兼容模式下运行。
MSTP在交换机上已经被正确配置。
在端口上执行mCheck操作有下面两种途径。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
执行mCheck操作 |
stp [ interface interface-list ] mcheck |
必选 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
执行mCheck操作 |
stp mcheck |
必选 |
# 对Ethernet1/0/1执行mCheck操作。
(1) 在系统视图下实现该配置。
<Sysname> system-view
[Sysname] stp interface Ethernet1/0/1 mcheck
(2) 在以太网端口视图下实现该配置。
<Sysname> system-view
[Sysname] interface Ethernet1/0/1
[Sysname-Ethernet1/0/1] stp mcheck
支持MSTP协议的交换机可提供BPDU保护功能、Root保护功能、环路保护功能、防止TC-BPDU报文攻击和BPDU报文拦截保护功能。
对于接入层设备,接入端口一般直接与用户终端(如PC机)或文件服务器相连,此时接入端口被设置为边缘端口以实现这些端口的快速迁移。当这些边缘端口接收到配置消息后,系统会自动将这些端口设置为非边缘端口,重新计算生成树,这样就引起网络拓扑的震荡。
正常情况下,边缘端口应该不会收到生成树协议的配置消息。如果有人伪造配置消息恶意攻击交换机,就会引起网络震荡。BPDU保护功能可以防止这种网络攻击。交换机上启动了BPDU保护功能以后,如果边缘端口收到了配置消息,系统就将这些端口关闭,同时通知网管这些端口被MSTP关闭。被关闭的边缘端口只能由网络管理人员恢复。
生成树的根桥及备份根桥应该处于同一个域内,特别是对于CIST的根桥和备份根桥,网络设计时一般会把CIST的根桥和备份根桥放在一个高带宽的核心域内。但是由于维护人员的错误配置或网络中的恶意攻击,网络中的合法根桥有可能会收到优先级更高的配置消息,这样当前根桥会失去根桥的地位,引起网络拓扑结构的错误变动。这种不合法的变动,会导致原来应该通过高速链路的流量被牵引到低速链路上,导致网络拥塞。
Root保护功能可以防止这种情况的发生。对于设置了Root保护功能的端口,其在所有实例上的端口角色只能保持为指定端口。一旦这种端口上收到了优先级高的配置消息,即其将被选择为非指定端口时,这些端口的状态将被设置为Discarding状态,不再转发报文(相当于将与此端口相连的链路断开)。当在足够长的时间内没有收到更优的配置消息时,端口会恢复原来的正常状态。
依靠不断接收上游交换机发送的BPDU,交换机可以维持根端口和其他阻塞端口的状态。但是由于链路拥塞或者单向链路故障,这些端口会收不到上游交换机的BPDU。此时交换机会重新选择根端口,根端口会转变为指定端口,而阻塞端口会迁移到转发状态,从而交换网络中会产生环路。
环路保护功能会抑制这种环路的产生。在启动了环路保护功能后,如果发生链路拥塞或者单向链路故障,则根端口的角色变为指定端口,端口的状态为Discarding状态;阻塞端口同样也变为指定端口,端口状态为Discarding状态,不转发报文,从而不会在网络中形成环路。
环路保护与Root保护的配置项中,环路保护与设置边缘端口的配置项中,均只能有一个配置项生效。
正常情况下,当交换机收到TC-BPDU报文后,会执行MAC地址表和ARP表项的删除操作。因此当有人故意伪造TC-BPDU报文恶意攻击交换机时,短时间内交换机会收到大量的TC-BPDU报文,造成交换机频繁的删除本机的MAC地址表,导致ARP地址表不停的刷新,影响STP生成树的计算并占用大量的网络带宽,还造成交换机CPU占用率居高不下。
开启防止TC-BPDU报文攻击功能后,交换机会在收到TC-BPDU报文后,进行一次删除MAC地址表和ARP表项的操作,并同时启动周期为10秒的定时器。在此周期时间内,如果交换机再次收到TC-BPDU报文,则交换机最多可以进行6次删除MAC地址表项和ARP表项的操作。从而避免频繁的删除MAC地址表和ARP表项,给交换机进行STP计算以及网络稳定性带来恶劣的影响。
用户还可以配置一个周期内删除MAC地址表和ARP表项操作次数的上限值(通过命令stp tc-protection threshold设定)。如果在周期时间内,交换机收到TC-BPDU报文的次数少于上限值,则收到一个TC-BPDU报文进行一次删除操作;如果在周期时间内收到的TC-BPDU报文的次数,超过了用户设定的上限值,则交换机按照设定的上限值次数进行删除操作。举例来说,用户设定周期时间内,交换机进行MAC地址表和ARP表项删除操作的上限值为100,实际一个周期内交换机收到200个TC-BPDU报文,则交换机只删除MAC地址表和ARP地址表100次。
在开启了STP协议的网络中,可能会有恶意用户为了达到破坏的目的,不停的向交换机发送BPDU报文。交换机收到BPDU报文以后,会向网络中的其他交换机转发,使网络内的交换机不停的进行STP计算,导致交换机的CPU占用率过高或者BPDU报文的协议状态错误等问题。
为了避免这个问题的发生,用户可以在交换机的以太网端口上配置BPDU报文拦截功能。在开启了BPDU报文拦截功能的端口,将不再接收和转发任何BPDU报文,从而防止交换机受到BPDU报文攻击,保证STP计算的正确性。
MSTP在交换机上已经被正确配置。
表1-36 BPDU保护功能配置过程
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置BPDU保护功能 |
stp bpdu-protection |
必选 缺省情况下,交换机不启动BPDU保护功能 |
# 配置BPDU保护功能。
<Sysname> system-view
[Sysname] stp bpdu-protection
由于千兆端口不能关闭,当对S3600的千兆端口进行配置时,即使用户已经启动了BPDU保护功能,并且指定了千兆端口为MSTP的边缘端口,BPDU保护功能也不会在千兆端口上生效。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置交换机的Root保护功能 |
stp interface interface-list root-protection |
必选 缺省情况下,交换机不启动Root保护功能 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置交换机的Root保护功能 |
stp root-protection |
必选 缺省情况下,交换机不启动Root保护功能 |
# 配置Ethernet1/0/1的Root保护功能。
(1) 在系统视图下实现该配置。
<Sysname> system-view
[Sysname] stp interface Ethernet1/0/1 root-protection
(2) 在以太网端口视图下实现该配置。
<Sysname> system-view
[Sysname] interface Ethernet1/0/1
[Sysname-Ethernet1/0/1] stp root-protection
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
配置交换机的环路保护功能 |
stp loop-protection |
必选 缺省情况下,交换机不启动环路保护功能 |
# 配置Ethernet1/0/1的环路保护功能。
<Sysname> system-view
[Sysname] interface Ethernet1/0/1
[Sysname-Ethernet1/0/1] stp loop-protection
MSTP在交换机上已经被正确配置。
表1-40 防止TC-BPDU报文攻击配置过程
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
启动防止TC-BPDU报文攻击的保护功能 |
stp tc-protection enable |
必选 缺省情况下,交换机启动本保护功能 |
配置交换机10秒内删除MAC地址表和ARP表项的次数 |
stp tc-protection threshold number |
可选 |
# 配置防止TC-BPDU报文攻击功能。
<Sysname> system-view
[Sysname] stp tc-protection enable
# 配置交换机在10秒内进行5次删除MAC地址表和ARP表项的操作。
<Sysname> system-view
[Sysname] stp tc-protection threshold 5
配置步骤 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
在以太网端口视图下开启BPDU报文拦截功能 |
bpdu-drop any |
必选 缺省情况下,以太网端口的BPDU报文拦截功能不生效 |
# 配置以太网端口Ethernet1/0/1的BPDU报文拦截功能。
<Sysname>system-view
[Sysname] interface Ethernet1/0/1
[Sysname-Ethernet1/0/1] bpdu-drop any
根据IEEE 802.1s规定,只有MST域配置完全一致的情况下,相连的交换机才可以实现MST域内MSTI的完全互通。当交换机配置了MSTP以后,交换机之间通过识别BPDU数据报文内的配置ID(由域名ID与配置摘要等一系列信息构成),来判断相连的交换机是否与自己处于相同的MST域内。
在网络中,由于一些友商的交换机配置了与生成树相关的私有协议,即使MST域配置相同,交换机之间也不能实现MSTP域内的互通。
摘要侦听特性可以避免这样的情况出现。用户可以在与采用生成树相关私有协议的友商交换机的相连端口,开启摘要侦听特性。当接收这些友商交换机发送过来的BPDU报文时,交换机认为是来自同一个MST域内的报文,同时将配置摘要记录下来;当发送BPDU报文给这些友商交换机时,交换机将配置摘要补充进去。这样,交换机就实现了和这些友商交换机在MSTP域内互通。
边缘端口不能启动摘要侦听功能。
配置摘要侦听特性,实现和其他采用私有协议计算配置摘要的交换机在MST域内MSTI互通。
与采用生成树相关的私有协议的友商交换机相连,网络配置正确,MSTP配置正确。
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
开启端口摘要侦听特性 |
stp config-digest-snooping |
必选 缺省情况下端口关闭摘要侦听特性 |
退出以太网端口视图 |
quit |
- |
全局开启摘要侦听特性 |
stp config-digest-snooping |
必选 缺省情况下设备关闭摘要侦听特性 |
显示配置的信息 |
display current-configuration |
display命令可以在任意视图执行 |
l 在端口开启了摘要侦听特性后,端口状态会变为Discarding状态,不向外发送BPDU报文。直到收到对端端口发送的BPDU报文以后,端口才参与STP计算。
l 只在与采用生成树相关的私有协议的友商交换机相连时才有必要开启摘要侦听特性。
l 配置时,请先在与友商相连的交换机所有端口开启摘要侦听特性,然后在系统开启摘要侦听特性,否则摘要侦听功能不能生效。
l 开启摘要侦听特性时要求与采用生成树相关的私有协议的友商交换机配置完全相同,包括域名、修订级别、VLAN实例映射关系。
l MST域内与采用生成树相关的私有协议的友商交换机互连的交换机,必须开启全局和端口视图下的摘要侦听特性。
l 如果全局已经开启了摘要侦听特性,用户不能修改MST域配置中VLAN与实例的映射关系
l 在MST域边界端口不允许开启摘要侦听特性。
l 边缘端口不能启动摘要侦听功能。
RSTP和MSTP的指定端口快速迁移机制使用两种协议报文:
l proposal报文:指定端口请求快速迁移的报文。
l agreement报文:同意对端进行快速迁移的报文。
RSTP和MSTP均要求接收到下游交换机的agreement报文后,上游交换机的指定端口才能进行快速迁移。不同之处如下:
l 对于MSTP,上游交换机会先向下游设备发送agreement报文,下游交换机在收到此报文后才会向上游发送agreement报文;
l 对于RSTP,上游交换机不会向下游交换机发送agreement报文。
图1-6和图1-7说明了RSTP和MSTP的指定端口快速迁移机制。
图1-6 RSTP指定端口快速迁移机制
图1-7 MSTP指定端口快速迁移机制
RSTP和MSTP在快速迁移的配合上有一定的限制。例如:当上游交换机运行RSTP,下游交换机运行MSTP,并且下游MSTP不支持RSTP兼容模式时,由于下游MSTP的根端口接收不到上游交换机的agreement报文,它不会向上游交换机发agreement报文,所以上游交换机的指定端口无法实现状态的快速迁移,只能在2倍的Forward Delay延时后变成Forwarding状态。
在网络中,由于有些厂商的交换机配置了与生成树相关的私有协议,其指定端口的状态迁移实现机制与RSTP类似,这就导致这些厂商的交换机作为上游交换机与运行MSTP的H3C系列交换机互连时,上游的指定端口不能实现状态的快速迁移。
为了避免这种情况,H3C系列交换机提供了快速迁移特性。在运行MSTP的H3C系列交换机和某些厂商的交换机相连时,用户可以在作为下游的H3C系列交换机的端口上开启快速迁移特性,则如果该端口是根端口,它在收到上游指定端口的proposal报文后,会主动向上游发送agreement报文,而不是在等待接收上游的agreement报文后才发送agreement报文,这样就使上游交换机的指定端口能够进行状态的快速迁移。
H3C交换机作为下游交换机,某些厂商的交换机作为上游交换机,网络正确连接,如图1-8所示。
上游交换机开启了与生成树相关的私有协议,其指定端口的状态迁移实现机制与RSTP类似。port1是指定端口。
下游交换机H3C Switch上开启MSTP。port2是根端口。
(1) 在系统视图下配置快速迁移特性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启快速迁移特性 |
stp interface interface-type interface-number no-agreement-check |
必选 缺省情况下,端口的快速迁移特性处于关闭状态 |
(2) 在以太网端口视图下配置快速迁移特性
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
开启快速迁移特性 |
stp no-agreement-check |
必选 缺省情况下,端口的快速迁移特性处于关闭状态 |
l 快速迁移特性仅可以在根端口或Alternate端口进行配置。
l 用户可以在指定端口配置快速迁移特性,但此特性不会在端口上生效。
VLAN-VPN TUNNEL功能可以使在不同地域的用户网络,通过运营商网络内指定的VLAN VPN进行STP报文的透明传输,从而使用户网络能够进行统一的生成树计算。并且用户网络和运营商网络拥有各自的生成树,互不干扰。
如图1-9上部为运营商网络,下部为用户网络。其中运营商网络包括报文输入/输出设备,用户网络分别为用户网络A和用户网络B两个部分。通过在运营商网络两端报文/输入输出设备上的设置,在一端将STP报文的目的MAC地址格式替换成为特殊格式的MAC地址,在另一端还原,从而使报文在运营商网络中实现了透明传输。
图1-9 VLAN-VPN TUNNEL网络层次示意图
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
系统启动MSTP |
stp enable |
- |
系统启动VLAN-VPN TUNNEL功能 |
vlan-vpn tunnel |
必选 缺省情况下,系统的VLAN-VPN TUNNEL功能不会被启动 |
进入以太网端口视图 |
interface interface-type interface-number |
进入需要开启VLAN VPN功能的端口视图 |
启动以太网端口下VLAN VPN功能 |
vlan-vpn enable |
必选 缺省情况下,所有端口都关闭VLAN VPN功能 |
l 开启VLAN-VPN TUNNEL的设备上一定要启动STP协议。
l 运营商网络之间要配置为Trunk链路。
l 如果交换机上有Fabric端口,则交换机上的所有端口都不能配置VLAN-VPN。
在启动了MSTP协议的大型网络中,MSTP实例较多,各个端口的状态可能会频繁发生变化。对维护人员来说,希望某些端口可以在发生故障时自动对外输出log或者trap信息,维护人员可以根据警告信息,查看指定端口的状态变化。
因此,H3C S3600系列以太网交换机增加了STP可维护性功能,方便用户和维护人员对端口状态进行实时监控。
表1-46 配置端口发送log和trap信息
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置指定实例的端口对外发送log和trap信息 |
stp [ instance instance-id ] portlog |
必选 缺省情况下,交换机任何实例的端口都不对外发送log和trap信息 |
配置所有实例的端口对外发送log和trap信息 |
stp portlog all |
必选 缺省情况下,交换机任何实例的端口都不对外发送log和trap信息 |
# 配置实例1的端口对外发送log和trap信息。
<Sysname> system-view
[Sysname] stp instance 1 portlog
# 配置所有实例的端口对外发送log和trap信息。
<Sysname> system-view
[Sysname] stp portlog all
当MSTP网络拓扑发生变化时,交换机将会在以下两种情况下,向网管设备发送符合802.1d协议标准的Trap信息。
l 当交换机被选为某个实例的根桥以后,向网管设备发送符合802.1d协议标准的Trap告警信息。
l 当交换机检测到网络拓扑发生变化时,向网管设备发送符合802.1d协议标准的Trap告警信息。
表1-47 配置发送802.1d协议标准的Trap信息功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启发送802.1d协议标准的Trap信息功能 |
stp [ instance instance-id ] dot1d-trap [ newroot | topologychange ] enable |
必选 |
# 当交换机被选为实例1的根桥时,向网管发送符合802.1d协议标准的告警信息。
<Sysname> system-view
[Sysname] stp instance 1 dot1d-trap newroot enable
在完成上述配置后,在任意视图下执行display命令都可以显示配置后MSTP的运行情况。用户可以通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以将有关MSTP的统计信息清除。
表1-48 MSTP显示和调试
操作 |
命令 |
显示本设备生成树的状态信息与统计信息 |
display stp [ instance instance-id ] [ interface interface-list | slot slot-number ] [ brief ] |
显示域的配置信息 |
display stp region-configuration |
显示被交换机STP保护功能关闭的端口信息 |
display stp portdown |
显示被交换机STP保护功能阻塞的端口信息 |
display stp abnormalport |
显示交换机所在实例的根桥信息 |
display stp root |
清除MSTP的统计信息 |
reset stp [ interface interface-list ] |
配置MSTP使图1-10中不同VLAN的报文按照不同的生成树实例转发。具体配置为:
l 网络中所有交换机属于同一个MST域;
l VLAN 10的报文沿着实例1转发,VLAN 30沿着实例3转发,VLAN 40沿着实例4转发,VLAN 20沿着实例0转发。
图1-10中Switch A和Switch B为汇聚层设备,Switch C和Switch D为接入层设备。VLAN 10、VLAN30在汇聚层设备终结,VLAN 40在接入层设备终结,因此可以配置实例1和实例3的树根分别为Switch A和Switch B,实例4的树根为Switch C。
图1-10 MSTP配置组网图
图1-10中链路上的说明“permit: ”表示该链路允许哪些VLAN的报文通过。
(1) 配置Switch A
# 进入 MST域视图。
<Sysname> system-view
[Sysname] stp region-configuration
# 配置MST域的域名、VLAN映射关系和修订级别。
[Sysname-mst-region] region-name example
[Sysname-mst-region] instance 1 vlan 10
[Sysname-mst-region] instance 3 vlan 30
[Sysname-mst-region] instance 4 vlan 40
[Sysname-mst-region] revision-level 0
# 手工激活MST域的配置。
[Sysname-mst-region] active region-configuration
# 定义Switch A为实例1的树根。
[Sysname] stp instance 1 root primary
(2) 配置Switch B
# 进入 MST域视图。
<Sysname> system-view
[Sysname] stp region-configuration
# 配置 MST域的域名、VLAN映射关系和修订级别。
[Sysname-mst-region] region-name example
[Sysname-mst-region] instance 1 vlan 10
[Sysname-mst-region] instance 3 vlan 30
[Sysname-mst-region] instance 4 vlan 40
[Sysname-mst-region] revision-level 0
# 手工激活MST域的配置。
[Sysname-mst-region] active region-configuration
# 定义Switch B为实例3的树根。
[Sysname] stp instance 3 root primary
(3) 配置Switch C
# 进入MST域视图。
<Sysname> system-view
[Sysname] stp region-configuration
[Sysname-mst-region] region-name example
[Sysname-mst-region] instance 1 vlan 10
[Sysname-mst-region] instance 3 vlan 30
[Sysname-mst-region] instance 4 vlan 40
[Sysname-mst-region] revision-level 0
# 手工激活MST域的配置。
[Sysname-mst-region] active region-configuration
# 定义Switch C为实例4的树根。
[Sysname] stp instance 4 root primary
(4) 配置Switch D
# 进入MST域视图。
<Sysname> system-view
[Sysname] stp region-configuration
# 配置 MST域。
[Sysname-mst-region] region-name example
[Sysname-mst-region] instance 1 vlan 10
[Sysname-mst-region] instance 3 vlan 30
[Sysname-mst-region] instance 4 vlan 40
[Sysname-mst-region] revision-level 0
# 手工激活MST域的配置。
[Sysname-mst-region] active region-configuration
l Switch C、Switch D交换机作为运营商网络接入设备;
l Switch A、Switch B交换机为用户网络接入设备;
l Switch C与Switch D设备之间通过交换机配置好的Trunk端口实现连接,并在系统视图下启动VLAN-VPN TUNNEL功能,从而使用户网络与运营商网络之间实现透明传输。
图1-11 VLAN-VPN TUNNEL的配置示意图
(1) Switch A的配置
# 设备启动MSTP。
<Sysname> system-view
[Sysname] stp enable
# 将端口加入VLAN 10。
[Sysname] vlan 10
[Sysname-Vlan10] port Ethernet1/0/1
(2) Switch B的配置
# 设备启动MSTP。
<Sysname> system-view
[Sysname] stp enable
# 将端口加入VLAN 10。
[Sysname] vlan 10
[Sysname-Vlan10] port Ethernet1/0/1
(3) Switch C的配置
# 设备启动MSTP。
<Sysname> system-view
[Sysname] stp enable
# 设备启动VLAN-VPN TUNNEL。
[Sysname] vlan-vpn tunnel
# 将Ethernet1/0/1加入VLAN 10。
[Sysname] vlan 10
[Sysname-Vlan10] port Ethernet1/0/1
[Sysname-Vlan10] quit
# 打开VLAN-VPN。
[Sysname] interface Ethernet1/0/1
[Sysname-Ethernet1/0/1] port access vlan 10
[Sysname-Ethernet1/0/1] vlan-vpn enable
[Sysname-Ethernet1/0/1] quit
# 将端口Ethernet1/0/2设置为Trunk口。
[Sysname] interface Ethernet1/0/2
[Sysname-Ethernet1/0/2] port link-type trunk
# 将Trunk端口加入到所有的VLAN中。
[Sysname-Ethernet1/0/2] port trunk permit vlan all
(4) Switch D的配置
# 设备启动MSTP。
<Sysname> system-view
[Sysname] stp enable
# 设备启动VLAN-VPN TUNNEL。
[Sysname] vlan-vpn tunnel
# 将Ethernet1/0/2加入VLAN 10。
[Sysname] vlan 10
[Sysname-Vlan10] port Ethernet1/0/2
# 打开VLAN-VPN。
[Sysname] interface Ethernet1/0/2
[Sysname-Ethernet1/0/2] port access vlan 10
[Sysname-Ethernet1/0/2] vlan-vpn enable
[Sysname-Ethernet1/0/2] quit
# 将端口Ethernet1/0/1设置为Trunk口。
[Sysname] interface Ethernet1/0/1
[Sysname-Ethernet1/0/1] port link-type trunk
# 将Trunk端口加入到所有的VLAN中。
[Sysname-Ethernet1/0/1] port trunk permit vlan all
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!