011 STP/RSTP/MSTP理论与配置
目录
- 1 生成树协议概述
- 2 配置生成树协议
- 2.1 生成树协议配置限制和指导
- 2.2 生成树协议配置任务简介
- 2.3 配置生成树的工作模式
- 2.4 配置MST域
- 2.5 配置根桥和备份根桥
- 2.6 配置设备的优先级
- 2.7 配置MST域的最大跳数
- 2.8 配置交换网络的网络直径
- 2.9 配置生成树的时间参数
- 2.10 配置超时时间因子
- 2.11 配置端口发送BPDU的速率
- 2.12 配置端口为边缘端口
- 2.13 配置端口的路径开销
- 2.14 配置端口的优先级
- 2.15 配置端口的链路类型
- 2.16 配置端口收发的MSTP报文格式
- 2.17 打开端口状态变化信息显示开关
- 2.18 开启生成树协议
- 2.19 执行mCheck操作
- 2.20 配置摘要侦听
- 2.21 配置No Agreement Check功能
- 2.22 配置TC Snooping功能
- 2.23 配置生成树保护功能
- 2.24 生成树显示和维护
- 2.25 生成树典型配置举例
1 生成树协议概述
生成树协议是一种二层管理协议,它通过选择性地阻塞网络中的冗余链路来消除二层环路,同时还具备链路备份的功能。最初的生成树协议为STP(Spanning Tree Protocol,生成树协议),之后又发展出RSTP(Rapid Spanning Tree Protocol,快速生成树协议)、PVST(Per-VLAN Spanning Tree,每VLAN生成树)和MSTP(Multiple Spanning Tree Protocol,多生成树协议)。
1.1 STP简介
STP由IEEE制定的802.1D标准定义,用于在局域网中消除数据链路层物理环路的协议。运行该协议的设备通过彼此交互信息发现网络中的环路,并有选择地对某些端口进行阻塞,最终将环路网络结构修剪成无环路的树型网络结构,从而防止报文在环路网络中不断增生和无限循环,避免设备由于重复接收相同的报文造成的报文处理能力下降的问题发生。
STP包含了两个含义,狭义的STP是指IEEE 802.1D中定义的STP协议,广义的STP是指包括IEEE 802.1D定义的STP协议以及各种在它的基础上经过改进的生成树协议。
1.1.1 STP的协议报文
STP采用的协议报文是BPDU(Bridge Protocol Data Unit,网桥协议数据单元),也称为配置消息。本文中将把生成树协议的协议报文均简称为BPDU。
STP通过在设备之间传递BPDU来确定网络的拓扑结构。BPDU中包含了足够的信息来保证设备完成生成树的计算过程。STP协议的BPDU分为以下两类:
- 配置BPDU(Configuration BPDU):用来进行生成树计算和维护生成树拓扑的报文。
- TCN BPDU(Topology Change Notification BPDU,拓扑变化通知BPDU):当拓扑结构发生变化时,用来通知相关设备网络拓扑结构发生变化的报文。
1. 配置BPDU
网桥之间通过交互配置BPDU来进行根桥的选举以及端口角色的确定。配置BPDU的格式如图1-1所示。

配置BPDU中BPDU数据的信息包括:
- 协议类型(Protocol ID):固定为0x0000,表示生成树协议。
- 协议版本号(Protocol Version ID):目前生成树有三个版本,STP的协议版本号为0x00。
- BPDU类型:配置BPDU类型为0x00。
- BPDU Flags位:BPDU标志位,表示是哪种BPDU。由8位组成,最低位(0位)为TC(Topology Change,拓扑改变)标志位;最高位(7位)为TCA(Topology Change Acknowledge,拓扑改变确认)标志位;其他6位保留。
- 根桥(Root Bridge)ID:由根桥的优先级和MAC地址组成。
- 根路径开销:到根桥的路径开销。
- 指定桥ID:由指定桥的优先级和MAC地址组成。
- 指定端口ID:由指定端口的优先级和该端口的全局编号组成。
- Message Age:BPDU在网络中传播的生存期。
- Max Age:BPDU在设备中的最大生存期。
- Hello Time:BPDU的发送周期。
- Forward Delay:端口状态迁移的延迟时间。
其中通过根桥ID、路径开销、指定桥ID、指定端口ID、Message Age、Max Age、Hello Time和Forward Delay信息来保证设备完成生成树的计算过程。
2. TCN BPDU
如图1-2所示,TCN BPDU和配置BPDU在结构上基本相同,也是由源/目的MAC地址、L/T位、逻辑链路头和BPDU数据组成。但是TCN BPDU的BPDU数据组成非常简单,只包含三部分信息:协议类型、协议版本号和BPDU类型。协议类型和协议版本号字段和配置BPDU相同,BPDU类型字段的值为0x80,表示该BPDU为TCN BPDU。

TCN BPDU有两个产生条件:
- 网桥上有端口转变为Forwarding状态,且该网桥至少包含一个指定端口。
- 网桥上有端口从Forwarding状态或Learning状态转变为Blocking状态。
当上述两个条件之一满足时,说明网络拓扑发生了变化,网桥需要使用TCN BPDU通知根桥。根桥可以通过将配置BPDU中对应标志位置位来通知所有网桥网络拓扑发生了变化,需要使用较短的MAC地址老化时间,保证拓扑的快速收敛。
1.1.2 STP的基本概念
1. 根桥
树形的网络结构必须有树根,于是STP引入了根桥的概念。根桥在全网中有且只有一个,其他设备则称为叶子节点。根桥会根据网络拓扑的变化而改变,因此根桥并不是固定的。
在网络初始化过程中,所有设备都视自己为根桥,生成各自的配置BPDU并周期性地向外发送;但当网络拓扑稳定以后,只有根桥设备才会向外发送配置BPDU,其他设备则对其进行转发。
2. 根端口
所谓根端口,是指非根桥设备上离根桥最近的端口。根端口负责与根桥进行通信。非根桥设备上有且只有一个根端口,根桥上没有根端口。
3. 指定桥与指定端口
有关指定桥与指定端口的含义,请参见图1-3的说明。

4. 端口的工作状态
STP的端口有5种工作状态。如表1-1所示。
表1-1 STP端口状态
| 状态 | 是否发送BPDU | 是否进行MAC地址学习 | 是否收发用户流量 |
|---|---|---|---|
| Disabled | 否 | 否 | 否 |
| Blocking | 否 | 否 | 否 |
| Listening | 是 | 否 | 否 |
| Learning | 是 | 是 | 否 |
| Forwarding | 是 | 是 | 是 |
1.1.3 STP的拓扑计算过程
STP的拓扑计算过程如下:设备通过比较不同端口收到的BPDU报文的优先级高低,选举出根桥、根端口、指定端口,完成生成树的计算,建立对应的树形拓扑。
1. 初始状态
各设备的各端口在初始时会生成以本设备为根桥的BPDU,根路径开销为0,指定桥ID为自身设备ID,指定端口为本端口。
2. 选择根桥
网络初始化时,需要在网络中所有的STP设备中选择一个根桥,根桥的选择方式有以下两种:
- 自动选举:网络初始化时,网络中所有的STP设备都认为自己是"根桥",根桥ID为自身的设备ID。通过交换BPDU,设备之间比较根桥ID,网络中根桥ID最小的设备被选为根桥。
- 手工指定:用户手工将设备配置为指定生成树的根桥或备份根桥。
- 在一棵生成树中,生效的根桥只有一个,当两台或两台以上的设备被指定为同一棵生成树的根桥时,系统将选择MAC地址最小的设备作为根桥。
- 用户可以在每棵生成树中指定一个或多个备份根桥。当根桥出现故障或被关机时,如果配置了一个备份根桥,则该备份根桥可以取代根桥成为指定生成树的根桥;如果配置了多个备份根桥,则MAC地址最小的备份根桥将成为指定生成树的根桥。但此时若配置了新的根桥,则备份根桥将不会成为根桥。
3. 选择根端口和指定端口
根端口和指定端口的选择过程如表1-2所示。
表1-2 根端口和指定端口的选择过程
| 步骤 | 内容 |
|---|---|
| 1 | 非根桥设备将接收最优BPDU(最优BPDU的选择过程如表1-3所示)的那个端口定为根端口 |
| 2 | 设备根据根端口的BPDU和根端口的路径开销,为每个端口计算一个指定端口BPDU:· 根桥ID替换为根端口的BPDU的根桥ID;· 根路径开销替换为根端口BPDU的根路径开销加上根端口对应的路径开销;· 指定桥ID替换为自身设备的ID;· 指定端口ID替换为自身端口ID。 |
| 3 | 设备将计算出的BPDU与角色待定端口自己的BPDU进行比较:· 如果计算出的BPDU更优,则该端口被确定为指定端口,其BPDU也被计算出的BPDU替换,并周期性地向外发送;· 如果该端口自己的BPDU更优,则不更新该端口的BPDU并将该端口阻塞。该端口将不再转发数据,且只接收不发送BPDU。 |
说明:当拓扑处于稳定状态时,只有根端口和指定端口在转发用户流量。其他端口都处于阻塞状态,只接收STP协议报文而不转发用户流量。
表1-3 最优BPDU的选择过程
| 步骤 | 内容 |
|---|---|
| 1 | 每个端口将收到的BPDU与自己的BPDU进行比较:· 如果收到的BPDU优先级较低,则将其直接丢弃,对自己的BPDU不进行任何处理;· 如果收到的BPDU优先级较高,则用该BPDU的内容将自己BPDU的内容替换掉。 |
| 2 | 设备将所有端口的BPDU进行比较,选出最优的BPDU |
BPDU优先级的比较规则如下:
- 根桥ID较小的BPDU优先级较高;
- 若根桥ID相同,则比较根路径开销:将BPDU中的根路径开销与本端口对应的路径开销相加,二者之和较小的BPDU优先级较高;
- 若根路径开销也相同,则依次比较指定桥ID、指定端口ID、接收该BPDU的端口ID等,上述值较小的BPDU优先级较高。
一旦根桥、根端口和指定端口选举成功,整个树形拓扑就建立完毕了。
1.1.4 STP算法实现举例
下面结合例子说明STP算法实现的具体过程。

如图1-4所示,Device A、Device B和Device C的优先级分别为0、1和2,Device A与Device B之间、Device A与Device C之间以及Device B与Device C之间链路的路径开销分别为5、10和4。
1. 各设备的初始状态
各设备的初始状态如表1-4所示。
表1-4 各设备的初始状态
| 设备 | 端口名称 | 端口的BPDU |
|---|---|---|
| Device A | Port A1 | {0,0,0,Port A1} |
| Device A | Port A2 | {0,0,0,Port A2} |
| Device B | Port B1 | {1,0,1,Port B1} |
| Device B | Port B2 | {1,0,1,Port B2} |
| Device C | Port C1 | {2,0,2,Port C1} |
| Device C | Port C2 | {2,0,2,Port C2} |
表1-4中BPDU各项的具体含义为:{根桥ID,根路径开销,指定桥ID,指定端口ID}。
2. 生成树的计算过程
- Device A收到Device B和Device C的配置BPDU后,发现自身的BPDU优先级最高,于是认为自己就是根桥,其端口Port A1和Port A2为指定端口。
- Device B和Device C分别收到Device A发送的配置BPDU后,发现Device A的BPDU比自身的BPDU优先级高,于是选举Device A为根桥,Device B和Device C为非根桥。
- Device B比较Port B1的根路径开销5(收到的BPDU中的根路径开销0+本端口所在链路的路径开销5)与Port B2的根路径开销9(收到的BPDU中的根路径开销10+本端口所在链路的路径开销4,此处Device C还没有更新BPDU,仍认为自己是根桥),发现前者更小,因此Port B1的BPDU更优,于是Port B1被确定为根端口,其BPDU不变。
- Device B根据根端口的BPDU和路径开销,为Port B2计算出指定端口的BPDU {0,5,1,Port B2},然后与Port B2本身的BPDU {1,0,1,Port B2}进行比较,发现计算出的BPDU更优,于是Port B2被确定为指定端口,其BPDU被计算出的BPDU替换,并周期性地向外发送。
- Device C比较Port C1的根路径开销10(收到的BPDU中的根路径开销0+本端口所在链路的路径开销10)与Port C2的根路径开销9(收到的BPDU中的根路径开销5+本端口所在链路的路径开销4),发现后者更小,因此Port C2的BPDU更优,于是Port C2被确定为根端口,其BPDU不变。
- Device C根据根端口的BPDU和路径开销,为Port C1计算出指定端口的BPDU {0,9,2,Port C1},然后与Port C1本身的BPDU {0,0,0,Port A2}进行比较,发现本身的BPDU更优,于是Port C1被阻塞,其BPDU不变。从此,Port C1不再转发数据,直至有触发生成树计算的新情况出现,譬如Device B与Device C之间的链路down掉。
- 根端口Port C2:{0,5,1,Port B2}
3. 计算出的生成树
经过上述比较过程之后,以Device A为根桥的生成树就确定下来了,其拓扑如图1-5所示。

为了便于描述,本例简化了生成树的计算过程,实际的过程要更加复杂。
1.1.5 STP的BPDU传递机制
STP的BPDU传递机制如下:
- 当网络初始化时,所有的设备都将自己作为根桥,生成以自己为根的BPDU,并以Hello Time为周期定时向外发送。
- 接收到BPDU的端口如果是根端口,且接收的BPDU比该端口的BPDU优,则设备将BPDU中携带的Message Age按照一定的原则递增,并启动定时器为这条BPDU计时,同时将此BPDU从设备的指定端口转发出去。
- 如果指定端口收到的BPDU比本端口的BPDU优先级低时,会立刻发出自己的更好的BPDU进行回应。
- 如果某条路径发生故障,则这条路径上的根端口不会再收到新的BPDU,旧的BPDU将会因为超时而被丢弃,设备重新生成以自己为根的BPDU并向外发送,从而引发生成树的重新计算,得到一条新的通路替代发生故障的链路,恢复网络连通性。
不过,重新计算得到的新BPDU不会立刻就传遍整个网络,因此旧的根端口和指定端口由于没有发现网络拓扑变化,将仍按原来的路径继续转发数据。如果新选出的根端口和指定端口立刻就开始数据转发的话,可能会造成暂时性的环路。
1.1.6 STP的时间参数
在STP的计算过程中,用到了以下三个重要的时间参数:
- Forward Delay:用于确定状态迁移的延迟时间。缺省情况下Forward Delay时间为15秒。链路故障会引发网络重新进行生成树的计算,生成树的结构将发生相应的变化。不过重新计算得到的新BPDU无法立刻传遍整个网络,如果新选出的根端口和指定端口立刻就开始数据转发的话,可能会造成暂时性的环路。为此,生成树协议在端口由Blocking状态向Forwarding状态迁移的过程中设置了Listening和Learning状态作为过渡(Listening和Learning状态都会持续Forward Delay时间),并规定状态迁移需要等待Forward Delay时间,以保持与远端的设备状态切换同步。新选出的根端口和指定端口要经过2倍的Forward Delay延时后才能进入转发状态,这个延时保证了新的BPDU已经传遍整个网络。
- Hello Time:用于设备检测链路是否存在故障。缺省情况下Hello Time为2秒。生成树协议每隔Hello Time时间会发送BPDU,以确认链路是否存在故障。如果设备在超时时间(超时时间=超时时间因子×3×Hello Time)内没有收到BPDU,则会由于消息超时而重新计算生成树。
- Max Age:用于判断BPDU在设备内的保存时间是否"过时",设备会将过时的BPDU丢弃。缺省情况下Max Age时间为20秒。在MSTP的CIST上,设备根据Max Age时间来确定端口收到的BPDU是否超时。如果端口收到的BPDU超时,则需要对该MSTI重新计算。Max Age时间对MSTP的MSTI无效。
STP每隔一个Hello Time发送一个BPDU,并且引入Keepalive机制。Hello包的发送可以避免最大失效定时器溢出。如果最大失效定时器溢出,通常表明有连接错误发生。此时,STP会进入Listening状态。STP要从连接错误中恢复过来,一般需要50秒的时间。其中BPDU最长的失效时间20秒;Listening状态持续15秒;Learning状态持续15秒。
为保证网络拓扑的快速收敛,需要配置合适的时间参数。上述三个时间参数之间应满足以下关系,否则会引起网络的频繁震荡:
- 2×(Forward Delay-1秒)≥ Max Age
- Max Age ≥ 2×(Hello Time+1秒)
1.2 RSTP简介
RSTP由IEEE制定的802.1w标准定义,它在STP基础上进行了改进,实现了网络拓扑的快速收敛。其"快速"体现在,当一个端口被选为根端口和指定端口后,其进入转发状态的延时将大大缩短,从而缩短了网络最终达到拓扑稳定所需要的时间。
1.2.1 RSTP的协议报文
RSTP也是通过在设备之间传递BPDU来确定网络的拓扑结构。RSTP的BPDU格式和STP的配置BPDU格式非常相似,仅在以下几个信息有所不同:
- BPDU类型变为0x02,表示为RSTP的BPDU。
- BPDU协议版本号为0x02,表示为RSTP协议。
- Flags位字段使用了全8位。
- RSTP在BPDU报文的最后增加了Version1 Length字段。该字段的值为0x00,表示本BPDU中不包含Version 1内容。
在拓扑改变时,RSTP的拓扑改变处理过程不再使用TCN BPDU,而使用Flags位中TC置位的RST BPDU取代TCN BPDU,并通过泛洪方式快速的通知到整个网络。
1.2.2 RSTP的基本概念
1. 端口角色
RSTP中根端口和指定端口角色的定义和STP相同。与STP相比,RSTP增加了三种端口角色替换端口(Alternate Port)、备份端口(Backup Port)和边缘端口(Edge Port)。
- 替换端口为网桥提供一条到达根桥的备用路径,当根端口或主端口被阻塞后,替换端口将成为新的根端口或主端口。
- 备份端口为网桥提供了到达同一个物理网段的冗余路径,当指定端口失效后,备份端口将转换为新的指定端口。当开启了生成树协议的同一台设备上的两个端口互相连接而形成环路时,设备会将其中一个端口阻塞,该端口就是备份端口。
- 边缘端口是不与其他设备或网段连接的端口,边缘端口一般与用户终端设备直接相连。
2. 端口状态
RSTP将端口状态缩减为三个,分别为Discarding、Learning和Forwarding状态。STP中的Disabled、Blocking和Listening状态在RSTP中都对应为Discarding状态,如表1-5所示。
表1-5 RSTP的端口状态
| STP端口状态 | RSTP端口状态 | 是否发送BPDU | 是否进行MAC地址学习 | 是否收发用户流量 |
|---|---|---|---|---|
| Disabled | Discarding | 否 | 否 | 否 |
| Blocking | Discarding | 否 | 否 | 否 |
| Listening | Discarding | 是 | 否 | 否 |
| Learning | Learning | 是 | 是 | 否 |
| Forwarding | Forwarding | 是 | 是 | 是 |
1.2.3 RSTP的工作原理
进行RSTP计算时,端口会在Discarding状态完成角色的确定,当端口确定为根端口和指定端口后,经过Forward Delay端口会进入Learning状态;当端口确定为替换端口,端口会维持在Discarding状态。
处于Learning状态的端口其处理方式和STP相同,开始学习MAC地址并在Forward Delay后进入Forwarding状态开始收发用户流量。
1.2.4 RSTP中的BPDU处理
在RSTP中,BPDU的处理方式与STP有所不同。
在STP中,当拓扑稳定后,非根桥设备会停止发送BPDU,只会接收根桥发送的BPDU并进行转发。而在RSTP中,无论端口角色如何,所有端口都会定时发送BPDU。如果某个端口连续3个Hello Time时间内没有收到上游发送的BPDU,则该端口会将自己存储的BPDU老化掉,并开始重新进行生成树的计算。
当RSTP的非根桥设备收到优先级较低的RST BPDU时,会立即对该RST BPDU做出回应,发送优先级更高的RST BPDU。Device B收到Device A发送的RST BPDU后,将会停止发送RST BPDU,并将和Device C连接的端口确定为根端口。
如图1-6所示,是RSTP的BPDU处理机制。

1.3 PVST简介
PVST是Per-VLAN Spanning Tree(每VLAN生成树)的简称,它为每个VLAN维护一棵独立的生成树,从而实现VLAN级别的负载分担。
1.3.1 PVST的协议报文
PVST协议报文在RSTP BPDU的基础上增加了VLAN信息。如图1-7所示。

根据端口类型的不同,PVST所发送的BPDU格式也有所差别:
- 对于Access端口,PVST将根据该VLAN的状态发送RSTP格式的BPDU。
- 对于Trunk端口和Hybrid端口,PVST将在缺省VLAN内根据该VLAN的状态发送RSTP格式的BPDU,而对于其他本端口允许通过的VLAN,则发送PVST格式的BPDU。
1.3.2 PVST的工作原理
PVST借助MSTP的实例和VLAN映射关系模型,将MSTP每个实例映射一个VLAN。PVST中每个VLAN独立运行RSTP,独立运算,并允许以每个VLAN为基础开启或关闭生成树。每个VLAN内的生成树实例都有单独的网络拓扑结构,相互之间没有影响。这样既可以消除了VLAN内的冗余环路,还可以实现不同VLAN间负载分担。
PVST在缺省VLAN上通过RSTP报文进行拓扑运算;在其他VLAN上通过带VLAN Tag的PVST报文进行拓扑运算。
PVST的端口角色和端口状态和RSTP相同,能够实现快速收敛,请参见"1.2.2 RSTP的基本概念"。
1.4 MSTP简介
1.4.1 MSTP的优点
MSTP由IEEE制定的802.1s标准定义,相比于STP、RSTP和PVST MSTP的优点如下:
- MSTP把一个交换网络划分成多个域,每个域内形成多棵生成树,生成树之间彼此独立。生成树间独立计算,实现快速收敛。
- MSTP通过设置VLAN与生成树的对应关系表(即VLAN映射表),将VLAN与生成树联系起来。并通过"实例"的概念,将多个VLAN捆绑到一个实例中,从而达到了节省通信开销和降低资源占用率的目的。
- MSTP将环路网络修剪成为一个无环的树型网络,避免报文在环路网络中的增生和无限循环,同时还提供了数据转发的多个冗余路径,不同VLAN的流量沿各自的路径转发,实现VLAN数据的负载分担。
- MSTP兼容STP和RSTP,部分兼容PVST。
1.4.2 MSTP的协议报文
如图1-8,MST BPDU和RST BPDU的前36个字节格式是相同的,其中BPDU协议版本号为0x03,表示MSTP协议,BPDU类型为0x02,表示为RST/MST BPDU。

RST BPDU中的Root ID字段在MSTP中表示CIST(Common and Internal Spanning Tree,公共和内部生成树)总根ID,Root Path Cost字段在MSTP中表示CIST外部路径开销(External Path Cost,EPC),Bridge ID字段在MSTP中表示CIST域根ID,Port ID字段在MSTP中表示CIST指定端口ID。
从第37字节开始是MSTP的专有字段:
- Version3 Length:表示MSTP专有字段长度,该字段用于接收到BPDU后进行校验。
- MST配置标识(Configuration ID):包含格式选择符(Format Selector)、域名(Configuration Name)、修订级别(Revision Level)和配置摘要(Configuration Digest)四个字段。其中格式选择符字段固定为0x00,其余三个字段用来判断网桥是否属于某MST域。
- CIST内部路径开销(Internal Root Path Cost,IRPC):表示发送此BPDU的网桥到达CIST域根的路径开销。
- CIST Bridge ID:表示发送此BPDU的网桥ID。
- CIST剩余跳数:用来限制MST域的规模。从CIST域根开始,BPDU每经过一个网桥的转发,跳数就被减1;网桥将丢弃收到的跳数为0的BPDU,使出于最大跳数外的网桥无法参与生成树的计算,从而限制了MST域的规模。CIST剩余跳数默认值为20。
- MSTI Configuration Messages:包含0个或最多64个MSTI(Multiple Spanning Tree Instance,多生成树实例)配置信息,MSTI配置信息数量由域内MST实例数决定,每一个MSTI配置信息长度为16字节。
1.4.3 MSTP的基本概念
如图1-9所示,MSTP的基本概念如下:

1. MST域(MST Region)
MST域是多生成树域的简称,由局域网中的多台设备以及它们之间的网段构成。一个局域网可以存在多个MST域,各MST域之间在物理上直接或间接相连。用户可以通过MSTP配置命令把多台设备划分在同一个MST域内。
同一个MST域的设备具有以下特点:
- 都启动了MSTP。
- 具有相同的域名。
- 具有相同的VLAN到生成树实例映射配置。
- 具有相同的MSTP修订级别配置。
一个MST域内可以包含一棵或多棵生成树,每棵生成树都称为一个MSTI(Multiple Spanning Tree Instance,多生成树实例)。
2. VLAN映射表
VLAN映射表是MST域的一个属性,用于描述VLAN和MSTI之间的映射关系。一个VLAN只能映射到一个MSTI中,而一个MSTI可以对应多个VLAN。
3. IST(Internal Spanning Tree,内部生成树)
IST是MST域内的一棵特殊的生成树,是MSTI 0的特例。在MST域中,除了实例0以外的其他生成树实例都称为MSTI,而实例0(即IST)是MST域内的一棵特殊生成树。IST在CIST中有一个特殊的地位,它负责在MST域内连通所有的MSTI。
4. CST(Common Spanning Tree,公共生成树)
CST是连接交换网络内所有MST域的单生成树。如果把每个MST域看作是一个"设备",CST就是这些"设备"通过STP/RSTP协议计算生成的一棵生成树。
5. CIST(Common and Internal Spanning Tree,公共和内部生成树)
CIST是连接一个交换网络内所有设备的单生成树,由IST和CST共同构成。CIST是MSTP中定义的一棵特殊的单生成树,它在整个交换网络中只有一个。
6. 总根(CIST Root)
总根是CIST的根桥,是整个交换网络中桥ID最小的设备。
7. 域根(Regional Root)
域根是MST域中IST的根桥,同时也是MST域中各棵MSTI的根桥。域根是MST域中桥ID最小的设备。
8. 主桥(Master Bridge)
主桥是MST域中距离总根最近的设备。主桥是IST的根端口所在的设备,它是MST域和总根之间的报文转发桥梁。
9. 端口角色
在MSTP中,端口角色分为以下几种:
- 根端口(Root Port):非根桥上距离根桥最近的端口。
- 指定端口(Designated Port):向所连网段转发BPDU的端口。
- 替换端口(Alternate Port):根端口的备份端口。
- 备份端口(Backup Port):指定端口的备份端口。
- 主端口(Master Port):MST域中距离总根最近的端口。
- 域边界端口(Boundary Port):位于MST域的边缘,连接其他MST域、STP设备或RSTP设备的端口。
如图1-10所示为MST域的详图。

如图1-11所示为端口角色示意图。

1.4.4 MSTP的工作原理
MSTP将整个二层网络划分为多个MST域,各域之间通过计算生成CST;域内则通过计算生成多棵生成树,每棵生成树都被称为是一个MSTI,其中的MSTI 0也称为IST。MSTP同STP一样,使用BPDU进行生成树的计算,只是BPDU中携带的是设备上MSTP的配置信息。
1. CIST生成树的计算
通过比较BPDU后,在整个网络中选择一个优先级最高的设备作为CIST的根桥。在每个MST域内MSTP通过计算生成IST;同时MSTP将每个MST域作为单台设备对待,通过计算在域间生成CST。CST和IST构成了整个网络的CIST。
2. MSTI的计算
在MST域内,MSTP根据VLAN与MSTI的映射关系,针对不同的VLAN生成不同的MSTI。每棵生成树独立进行计算,计算过程与STP计算生成树的过程类似,请参见"1.1.3 STP的拓扑计算过程"。
MSTP中,一个VLAN报文将沿着如下路径进行转发:
- 在MST域内,沿着其对应的MSTI转发;
- 在MST域间,沿着CST转发。
1.4.5 MSTP在设备上的实现
MSTP同时兼容STP和RSTP。STP和RSTP的协议报文都可以被运行MSTP协议的设备识别并应用于生成树计算。设备除了提供MSTP的基本功能外,还从用户的角度出发,提供了如下便于管理的特殊功能:
- 根桥保持。
- 根桥备份。
- 根保护功能。
- BPDU保护功能。
- 环路保护功能。
- 防TC-BPDU攻击保护功能。
- 端口角色限制功能。
- TC-BPDU传播限制功能。
1.5 快速收敛机制
在STP中,为避免临时环路,端口从开启到进入转发状态需要等待默认30秒的时间,如果想要缩短这个时间,只能手工方式将Forward Delay设置为较小值。但是Forward Delay是由Hello Time和网络直径共同决定的一个参数,如果将Forward Delay设置太小,可能会导致临时环路的产生,影响网络的稳定性。
目前,RSTP/PVST/MSTP都支持快速收敛机制。快速收敛机制包括边缘端口机制、根端口快速切换机制、指定端口快速切换机制。其中指定端口快速切换机制也称为P/A(Proposal/Agreement,请求/回应)机制。
1.5.1 边缘端口机制
当端口直接与用户终端相连,而没有连接到其他网桥或局域网网段上时,该端口即为边缘端口。
边缘端口连接的是终端,当网络拓扑变化时,边缘端口不会产生临时环路,所以边缘端口可以略过两个Forward Delay的时间,直接进入Forwarding状态,无需任何延时。
由于网桥无法自动判断端口是否直接与终端相连,所以用户需要手工将与终端连接的端口配置为边缘端口。

1.5.2 根端口快速切换机制
当旧的根端口进入阻塞状态,网桥会选择优先级最高的替换端口作为新的根端口,如果当前新根端口连接的对端网桥的指定端口处于Forwarding状态,则新根端口可以立刻进入Forwarding状态。

如图1-13,Device C有两个端口,一个为根端口另一个为替换端口,当根端口链路中断时,替换端口会立刻成为新的根端口并进入Forwarding状态,期间不需要延时。
1.5.3 P/A机制
P/A机制是指指定端口可以通过与对端网桥进行一次握手,即可快速进入转发状态,期间不需要任何定时器。P/A机制的前提条件是:握手必须在点到点链路上进行。有点到点链路作为前提,P/A机制可以实现网络拓扑的逐链路收敛,而不必像STP,需要被动等待30秒的时间以确保全网实现收敛。
1. RSTP/PVST的P/A机制
当新链路连接或故障链路恢复时,链路两端的端口初始都为指定端口并处于阻塞状态。当指定端口处于Discarding状态和Learning状态,其所发送的BPDU中Proposal位将被置位,端口角色为指定端口。收到Proposal置位的BPDU后,网桥会判断接收端口是否为根端口,如果是,网桥会启动同步过程。同步过程指网桥阻塞除边缘端口之外的所有端口,在本网桥层面消除环路产生的可能。

2. MSTP的P/A机制
在MSTP中,P/A机制的工作原理与RSTP相同。上游设备发送Proposal位和Agreement位均置位的BPDU,下游设备收到后执行同步操作然后回应Agreement置位的BPDU,使得上游指定端口快速进入转发状态。

1.6 协议规范
与生成树相关的协议规范有:
- IEEE 802.1D:Media Access Control (MAC) Bridges
- IEEE 802.1w:Part 3: Media Access Control (MAC) Bridges — Amendment 2: Rapid Reconfiguration
- IEEE 802.1s:Virtual Bridged Local Area Networks — Amendment 3: Multiple Spanning Trees
2 配置生成树协议
2.1 生成树协议配置限制和指导
2.1.1 与其他功能之间的配置限制和指导
- 在设备上同时配置了生成树协议和Track功能时,如果Track功能需要监控生成树的链路状态,请确保生成树协议的版本为RSTP、MSTP或PVST,且Track监控的端口为连接到上游设备的端口。
- 生成树协议与以下功能不能同时使用:
- 业务环回(Business Loopback)
- 端口聚合(Link Aggregation)的选中端口参与生成树计算时,需要注意聚合接口和成员接口的生成树配置一致性。
2.1.2 接口相关配置限制和指导
- 当端口被配置为边缘端口时,该端口将不再参与生成树计算,直接处于Forwarding状态。
- 如果边缘端口收到了BPDU,则会失去边缘端口属性,重新参与生成树计算。
- 建议在连接到终端设备的端口上配置边缘端口属性,并开启BPDU保护功能。
2.2 生成树协议配置任务简介
2.2.1 STP配置任务简介
| 步骤 | 配置任务 | 说明 |
|---|---|---|
| 1 | 配置生成树的工作模式 | 必选 |
| 2 | 配置根桥和备份根桥 | 可选 |
| 3 | 配置设备的优先级 | 可选 |
| 4 | 配置生成树的时间参数 | 可选 |
| 5 | 开启生成树协议 | 必选 |
2.2.2 RSTP配置任务简介
| 步骤 | 配置任务 | 说明 |
|---|---|---|
| 1 | 配置生成树的工作模式 | 必选 |
| 2 | 配置根桥和备份根桥 | 可选 |
| 3 | 配置设备的优先级 | 可选 |
| 4 | 配置边缘端口 | 可选 |
| 5 | 配置端口的链路类型 | 可选 |
| 6 | 开启生成树协议 | 必选 |
2.2.3 PVST配置任务简介
| 步骤 | 配置任务 | 说明 |
|---|---|---|
| 1 | 配置生成树的工作模式 | 必选 |
| 2 | 配置根桥和备份根桥 | 可选 |
| 3 | 配置设备的优先级 | 可选 |
| 4 | 配置边缘端口 | 可选 |
| 5 | 开启生成树协议 | 必选 |
2.2.4 MSTP配置任务简介
| 步骤 | 配置任务 | 说明 |
|---|---|---|
| 1 | 配置生成树的工作模式 | 必选 |
| 2 | 配置MST域 | 必选 |
| 3 | 配置根桥和备份根桥 | 可选 |
| 4 | 配置设备的优先级 | 可选 |
| 5 | 配置边缘端口 | 可选 |
| 6 | 配置端口的链路类型 | 可选 |
| 7 | 开启生成树协议 | 必选 |
2.3 配置生成树的工作模式
1. 功能简介
生成树协议有四种工作模式:STP、RSTP、PVST和MSTP。用户可以根据实际的网络需求选择合适的工作模式。
2. 配置步骤
(1) 进入系统视图。
system-view
(2) 配置生成树的工作模式。
stp mode { mstp | pvst | rstp | stp }
缺省情况下,生成树的工作模式为MSTP模式。
2.4 配置MST域
1. 功能简介
两台或多台开启了生成树协议的设备若要属于同一个MST域,必须同时满足以下两个条件:第一是选择因子(取值为0,不可配)、域名、修订级别和VLAN映射表的配置都相同;第二是这些设备之间的链路相通。
在配置MST域的相关参数(特别是VLAN映射表)时,会引发生成树的重新计算,从而引起网络拓扑的震荡。为了减少网络震荡,新配置的MST域参数并不会马上生效,而是在使用 active region-configuration 命令激活,或使用命令 stp global enable 全局开启生成树协议后才会生效。
2. 配置限制和指导
在STP/RSTP/PVST模式下,MST域的相关配置不会生效。
3. 配置步骤
(1) 进入系统视图。
system-view
(2) 进入MST域视图。
stp region-configuration
(3) 配置MST域的域名。
region-name name
缺省情况下,MST域的域名为设备的MAC地址。
(4) 配置VLAN映射表。请选择其中一项进行配置。
· 将指定VLAN映射到指定的MSTI上。
instance instance-id vlan vlan-id-list
· 快速配置VLAN映射表。
vlan-mapping modulo modulo
缺省情况下,所有VLAN都映射到CIST(即MSTI 0)上。
(5) 配置MSTP的修订级别。
revision-level level
缺省情况下,MSTP的修订级别为0。
(6) (可选)显示MST域的预配置信息。
check region-configuration
(7) 激活MST域的配置。
active region-configuration
2.5 配置根桥和备份根桥
2.5.1 配置限制和指导
生成树协议可以根据桥ID自动计算确定生成树的根桥,也可以手工将设备配置为指定生成树的根桥或备份根桥。手工指定时,需要注意:
- 设备在各生成树中的角色互相独立,在作为一棵生成树的根桥或备份根桥的同时,也可以作为其他生成树的根桥或备份根桥;但在同一棵生成树中,一台设备不能既作为根桥,又作为备份根桥。
- 用户指定根桥后不会再根据设备的优先级选举根桥。当设备一旦被配置为根桥或者备份根桥之后,便不能再修改该设备的优先级。也可以通过配置设备的优先级为0来实现将当前设备指定为根桥的目的。有关设备优先级的配置,请参见"2.6 配置设备的优先级"。
2.5.2 配置根桥
(1) 进入系统视图。
system-view
(2) 配置设备为根桥。
· STP/RSTP模式:
stp root primary
· PVST模式:
stp vlan vlan-id-list root primary
· MSTP模式:
stp [ instance instance-list ] root primary
缺省情况下,设备不是根桥。
2.5.3 配置备份根桥
(1) 进入系统视图。
system-view
(2) 配置设备为备份根桥。
· STP/RSTP模式:
stp root secondary
· PVST模式:
stp vlan vlan-id-list root secondary
· MSTP模式:
stp [ instance instance-list ] root secondary
缺省情况下,设备不是备份根桥。
2.6 配置设备的优先级
1. 功能简介
设备的优先级参与生成树计算,其大小决定了该设备是否能够被选作生成树的根桥。数值越小表示优先级越高,通过配置较小的优先级,可以达到指定某台设备成为生成树根桥的目的。可以在不同的生成树中为设备配置不同的优先级。如果设备的优先级相同,则MAC地址最小的设备将被选择为根。当指定设备为根桥或者备份根桥之后,不允许再修改该设备的优先级。
2. 配置步骤
(1) 进入系统视图。
system-view
(2) 配置设备的优先级。
· STP/RSTP模式:
stp priority priority
· PVST模式:
stp vlan vlan-id-list priority priority
· MSTP模式:
stp [ instance instance-list ] priority priority
缺省情况下,设备的优先级为32768。
2.7 配置MST域的最大跳数
1. 功能简介
MST域的最大跳数限制了MST域的规模,在域根上配置的最大跳数将作为该MST域的最大跳数。
从MST域内的生成树的根桥开始,域内的BPDU每经过一台设备的转发,跳数就被减1;设备将丢弃跳数为0的BPDU,以使处于最大跳数外的设备无法参与生成树的计算,从而限制了MST域的规模。
2. 配置步骤
(1) 进入系统视图。
system-view
(2) 配置MST域的最大跳数。
stp max-hops hops
缺省情况下,MST域的最大跳数为20。
2.8 配置交换网络的网络直径
1. 功能简介
交换网络的网络直径是指任意两台终端设备之间通过的交换机的最大数量。通过配置网络直径,生成树协议可以自动计算出合适的Hello Time、Forward Delay和Max Age时间参数,以适应网络拓扑的变化。
2. 配置步骤
(1) 进入系统视图。
system-view
(2) 配置交换网络的网络直径。
stp bridge-diameter diameter
缺省情况下,交换网络的网络直径为7。
2.9 配置生成树的时间参数
1. 功能简介
生成树的时间参数包括Forward Delay、Hello Time和Max Age。用户可以根据网络的实际情况手动配置这些参数。
2. 配置步骤
(1) 进入系统视图。
system-view
(2) 配置Forward Delay。
stp timer forward-delay time
缺省情况下,Forward Delay时间为1500厘秒(15秒)。
(3) 配置Hello Time。
stp timer hello time
缺省情况下,Hello Time时间为200厘秒(2秒)。
(4) 配置Max Age。
stp timer max-age time
缺省情况下,Max Age时间为2000厘秒(20秒)。
2.10 配置超时时间因子
1. 功能简介
超时时间因子用来确定生成树的超时时间。超时时间=超时时间因子×3×Hello Time。
- 在网络不稳定的情况下,可以通过减小超时时间来加快生成树的收敛速度。
- 稳定的网络中,可以通过延长超时时间来减少网络资源的浪费。
2. 配置步骤
(1) 进入系统视图。
system-view
(2) 配置设备的超时时间因子。
stp timer-factor factor
缺省情况下,设备的超时时间因子为3。
2.11 配置端口发送BPDU的速率
1. 功能简介
每Hello Time时间内端口能够发送的BPDU的最大数目=端口发送BPDU的速率+Hello Time时间值。端口发送BPDU的速率越高,每个Hello Time内可发送的BPDU数量就越多,占用的系统资源也越多。适当配置发送速率一方面可以限制端口发送BPDU的速度,另一方面还可以防止在网络拓扑动荡时,生成树协议占用过多的带宽资源。
2. 配置限制和指导
端口发送BPDU的速率与端口的物理状态和网络结构有关,建议用户采用缺省配置。
3. 配置步骤
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置端口的发送BPDU的速率。
stp transmit-limit limit
缺省情况下,端口发送BPDU的速率为10。
2.12 配置端口为边缘端口
1. 功能简介
当端口直接与用户终端相连,而没有连接到其他设备或共享网段上,则该端口被认为是边缘端口。网络拓扑变化时,边缘端口不会产生临时环路。
由于设备无法知道端口是否直接与终端相连,所以需要用户手工将端口配置为边缘端口。如果用户将某个端口配置为边缘端口,那么当该端口由阻塞状态向转发状态迁移时,这个端口可以实现快速迁移,而无需等待延迟时间。
2. 配置限制和指导
对于直接与终端相连的端口,请将该端口设置为边缘端口,同时开启BPDU保护功能。这样既能够使该端口快速迁移到转发状态,也可以保证网络的安全。
在同一个端口上,不允许同时配置边缘端口和环路保护功能。
在端口没有开启BPDU保护的情况下,如果被设置为边缘端口的端口上收到来自其他端口的BPDU,则该端口会重新变为非边缘端口。此时,只有重启端口才能将该端口恢复为边缘端口。
3. 配置步骤
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置当前端口为边缘端口。
stp edged-port
缺省情况下,端口为非边缘端口。
2.13 配置端口的路径开销
2.13.1 功能简介
路径开销(Path Cost)是与端口相连的链路速率相关的参数。在支持生成树协议的设备上,端口在不同的MSTI中可以拥有不同的路径开销。设置合适的路径开销可以使不同VLAN的流量沿不同的物理链路转发,从而实现按VLAN负载分担的功能。
设备可以自动计算端口的缺省路径开销,用户也可以直接配置端口的路径开销。
2.13.2 配置缺省路径开销的计算标准
1. 功能简介
缺省路径开销的计算标准有以下三种,用户可以通过本配置来改变设备自动计算端口的缺省路径开销时所采用的计算标准:
- dot1d-1998:表示按照IEEE 802.1D-1998标准来计算缺省路径开销。
- dot1t:表示按照IEEE 802.1t标准来计算缺省路径开销。
- legacy:表示按照私有标准来计算缺省路径开销。
不同速率链路的路径开销值请参见下列各表。
表2-1 100M及以下链路速率与端口路径开销值的对应关系表
| 链路速率 | 端口类型 | IEEE 802.1D-1998 | IEEE 802.1t | 私有标准 |
|---|---|---|---|---|
| 0 | - | 65535 | 200,000,000 | 200,000 |
| 10Mbps | 单个端口 | 100 | 2,000,000 | 2,000 |
| 10Mbps | 聚合接口(含两个选中端口) | 1,000,000 | 1,800 | |
| 10Mbps | 聚合接口(含三个选中端口) | 666,666 | 1,600 | |
| 10Mbps | 聚合接口(含四个选中端口) | 500,000 | 1,400 | |
| 100Mbps | 单个端口 | 19 | 200,000 | 200 |
| 100Mbps | 聚合接口(含两个选中端口) | 100,000 | 180 | |
| 100Mbps | 聚合接口(含三个选中端口) | 66,666 | 160 | |
| 100Mbps | 聚合接口(含四个选中端口) | 50,000 | 140 |
表2-2 1000M链路速率与端口路径开销值的对应关系表
| 链路速率 | 端口类型 | IEEE 802.1D-1998 | IEEE 802.1t | 私有标准 |
|---|---|---|---|---|
| 1000Mbps | 单个端口 | 4 | 20,000 | 20 |
| 1000Mbps | 聚合接口(含两个选中端口) | 10,000 | 18 | |
| 1000Mbps | 聚合接口(含三个选中端口) | 6,666 | 16 | |
| 1000Mbps | 聚合接口(含四个选中端口) | 5,000 | 14 |
表2-3 10G链路速率与端口路径开销值的对应关系表
| 链路速率 | 端口类型 | IEEE 802.1D-1998 | IEEE 802.1t | 私有标准 |
|---|---|---|---|---|
| 10Gbps | 单个端口 | 2 | 2,000 | 2 |
| 10Gbps | 聚合接口(含两个选中端口) | 1,000 | 1 | |
| 10Gbps | 聚合接口(含三个选中端口) | 666 | 1 | |
| 10Gbps | 聚合接口(含四个选中端口) | 500 | 1 |
2. 配置步骤
(1) 进入系统视图。
system-view
(2) 配置缺省路径开销的计算标准。
stp pathcost-standard { dot1d-1998 | dot1t | legacy }
缺省情况下,缺省路径开销的计算标准为私有标准。
2.13.3 配置端口的路径开销
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置端口的路径开销。
· STP/RSTP模式:
stp cost cost
· PVST模式:
stp vlan vlan-id-list cost cost
· MSTP模式:
stp [ instance instance-list ] cost cost
2.14 配置端口的优先级
1. 功能简介
端口优先级参与生成树计算,其大小决定了该端口是否能够被选作指定端口。数值越小表示优先级越高,通过配置较小的优先级,可以达到指定某端口成为指定端口的目的。
2. 配置步骤
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置端口的优先级。
· STP/RSTP模式:
stp port priority priority
· PVST模式:
stp vlan vlan-id-list port priority priority
· MSTP模式:
stp [ instance instance-list ] port priority priority
缺省情况下,端口的优先级为128。
2.15 配置端口的链路类型
1. 功能简介
在RSTP和MSTP中,端口的链路类型会影响P/A机制的工作。链路类型分为以下两种:
- 点对点链路(Point-to-Point):两个端口之间直接相连的链路。
- 共享链路(Shared):多个端口通过集线器或共享介质相连的链路。
只有在点对点链路上,P/A机制才能正常工作。
2. 配置步骤
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置端口的链路类型。
stp point-to-point { auto | force-false | force-true }
缺省情况下,端口的链路类型为auto,即自动检测。
2.16 配置端口收发的MSTP报文格式
1. 功能简介
用户也可以通过配置改变端口发送的MSTP报文格式,使端口只发送与所配格式相符的MSTP报文,实现与对端只识别特定格式报文的设备互通。
当端口处于auto模式时,默认发送802.1s标准的报文。在此模式下,为避免因收到不同格式的MSTP报文而导致端口发送的报文格式频繁变化,端口一旦收到私有格式报文就将一直以该格式发送报文。若想使该端口恢复发送802.1s标准的报文,可对其依次执行关闭/开启操作。
2. 配置限制和指导
如果当前配置的MSTI大于48,端口将只发送802.1s标准的MSTP报文。
3. 配置步骤
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 配置端口收发的MSTP报文格式。
stp compliance { auto | dot1s | legacy }
缺省情况下,端口会自动识别收到的MSTP报文格式并根据识别结果确定发送的报文格式。
2.17 打开端口状态变化信息显示开关
1. 功能简介
在开启了生成树协议的大型网络中,用户可以通过打开端口状态变化信息显示开关,使系统输出端口状态变化的相关信息,方便用户对端口状态进行实时监控。
2. 配置步骤
(1) 进入系统视图。
system-view
(2) 打开端口状态变化信息显示开关。
· STP/RSTP模式:
stp port-log instance 0
· PVST模式:
stp port-log vlan vlan-id-list
· MSTP模式:
stp port-log { all | instance instance-list }
缺省情况下,端口状态变化信息显示开关处于关闭状态。
2.18 开启生成树协议
2.18.1 配置限制和指导
只有开启了生成树协议,生成树的其他配置才会生效。在STP/RSTP/MSTP模式下,必须保证全局和端口上的生成树协议均处于开启状态;在PVST模式下,必须保证全局、VLAN和端口上的生成树协议均处于开启状态。
可以通过undo stp enable命令关闭指定端口的生成树协议,使其不参与生成树计算,以节省设备的CPU资源。但必须保证指定的端口关闭生成树协议后,网络中不能出现环路。
2.18.2 开启生成树协议(STP/RSTP/MSTP模式)
(1) 进入系统视图。
system-view
(2) 全局开启生成树协议。
stp global enable
空配置启动时,使用软件功能缺省值,全局生成树协议处于关闭状态。
出厂配置启动时,使用软件功能出厂值,全局生成树协议处于开启状态。
(3) 进入接口视图。
interface interface-type interface-number
(4) 在端口上开启生成树协议。
stp enable
缺省情况下,所有端口上的生成树协议均处于开启状态。
2.18.3 开启生成树协议(PVST模式)
(1) 进入系统视图。
system-view
(2) 全局开启生成树协议。
stp global enable
(3) 在VLAN中开启生成树协议。
stp vlan vlan-id-list enable
缺省情况下,生成树协议在VLAN中处于开启状态。
(4) 进入接口视图。
interface interface-type interface-number
(5) 在端口上开启生成树协议。
stp enable
缺省情况下,所有端口上的生成树协议均处于开启状态。
2.19 执行mCheck操作
2.19.1 功能简介
生成树的工作模式有STP模式、RSTP模式、PVST模式和MSTP模式四种。在运行RSTP、PVST或MSTP的设备上,若某端口连接着运行STP协议的设备,该端口收到STP报文后会自动迁移到STP模式;但当对端运行STP协议的设备关机或撤走,而该端口又无法感知的情况下,该端口将无法自动迁移回原有模式,此时需要通过执行mCheck操作将其手工迁移回原有模式。
当运行STP的设备A、未开启生成树协议的设备B和运行RSTP/PVST/MSTP的设备C三者顺次相连时,设备B将透传STP报文,设备C上连接设备B的端口将迁移到STP模式。在设备B上开启生成树协议后,若想使设备B与设备C之间运行RSTP/PVST/MSTP协议,除了要在设备B上配置生成树的工作模式为RSTP/PVST/MSTP外,还要在设备B与设备C相连的端口上都执行mCheck操作。
可以在全局或在端口上执行mCheck操作。
2.19.2 配置限制和指导
只有当生成树的工作模式为RSTP模式、PVST模式或MSTP模式时执行mCheck操作才有效。
2.19.3 全局执行mCheck操作
(1) 进入系统视图。
system-view
(2) 全局执行mCheck操作。
stp global mcheck
2.19.4 在端口上执行mCheck操作
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 在端口上执行mCheck操作。
stp mcheck
2.20 配置摘要侦听
1. 功能简介
摘要侦听功能用于设备与其他厂商设备互通的场景。在设备与其他厂商设备通过MSTP互通时,由于不同厂商设备计算配置摘要(Configuration Digest)的算法可能不同,导致即使域名、修订级别和VLAN映射表相同,也会被判定为属于不同的MST域。通过配置摘要侦听功能,可以使设备不再检查收到的BPDU中的配置摘要字段,从而实现与这些设备的互通。
2. 配置步骤
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启摘要侦听功能。
stp config-digest-snooping
缺省情况下,摘要侦听功能处于关闭状态。
2.21 配置No Agreement Check功能
1. 功能简介
当我方设备与作为上游设备且与对生成树协议的实现存在差异的第三方厂商设备互联时,二者在快速迁移的配合上可能会存在一定的限制。例如:上游设备指定端口的状态迁移实现机制与RSTP类似;而下游设备运行MSTP并且不工作在RSTP模式时,由于下游设备的根端口接收不到上游设备的Agreement报文,它不会向上游设备发Agreement报文,所以上游设备的指定端口无法实现状态的快速迁移,只能在2倍的Forward Delay延时后变成转发状态。
通过在我方设备与对生成树协议的实现存在私有性差异的上游第三方厂商设备相连的端口上开启No Agreement Check功能,可避免这种情况的出现,使得上游的第三方厂商设备的指定端口能够进行状态的快速迁移。

2. 配置限制和指导
请在设备的根端口上进行如下配置,且本功能只有在根端口上配置才会生效。
3. 配置准备
设备与作为上游设备且支持生成树协议的第三方厂商设备互连,并且端口之间为点对点链路。
为我方设备与第三方厂商设备配置相同的域名、域配置修订级别和VLAN与MSTI的映射关系,以确保它们在同一个域内。
4. 配置步骤
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启No Agreement Check功能。
stp no-agreement-check
缺省情况下,No Agreement Check功能处于关闭状态。
2.22 配置TC Snooping功能
1. 功能简介
TC Snooping功能的典型应用环境如图2-3所示。在该组网中,由Device A和Device B组成的IRF设备未开启生成树协议,而用户网络1和用户网络2中的所有设备均开启了生成树协议。用户网络1和用户网络2均通过双上行链路与IRF设备相连以提高链路可靠性,IRF设备可以透明传输每个用户网络中的BPDU。

在该组网中,当用户网络的拓扑结构发生改变时,由于IRF设备对BPDU进行了透明传输而不参与生成树计算,因而其本身可能需经过较长时间才能重新学到正确的MAC地址表项和ARP表项,在此期间可能导致网络中断。
为了避免这种情况,可以通过在IRF设备上开启TC Snooping功能,使其在收到TC-BPDU(网络拓扑发生变化的通知报文)后,主动更新接收该报文的端口所属的VLAN所对应的MAC地址表和ARP表,从而保证业务流量的正常转发。有关MAC地址表和ARP表的详细介绍,请分别参见"二层技术-以太网交换配置指导"中的"MAC地址表"和"三层技术-IP业务配置指导"中的"ARP"。
2. 配置限制和指导
配置TC Snooping功能时,需要注意:
- TC Snooping功能与生成树协议互斥,因此在开启TC Snooping功能之前必须全局关闭生成树协议。
- L2PT功能比TC Snooping功能的优先级高,因此若某端口开启了生成树协议的L2PT功能,TC Snooping功能将不会在该端口上生效。
- TC Snooping功能不支持PVST格式的TC-BPDU,因此在PVST模式下不支持该功能。
3. 配置步骤
(1) 进入系统视图。
system-view
(2) 全局关闭生成树协议。
undo stp global enable
(3) 开启TC Snooping功能。
stp tc-snooping
缺省情况下,TC Snooping功能处于关闭状态。
2.23 配置生成树保护功能
2.23.1 生成树保护功能配置任务简介
本节中的所有配置均为可选,请根据实际情况选择配置。
- 配置BPDU保护功能
- 配置根保护功能
- 配置环路保护功能
- 配置端口角色限制功能
- 配置TC-BPDU传播限制功能
- 配置防TC-BPDU攻击保护功能
- 配置BPDU拦截功能
- 配置MSTP的PVST报文保护功能
- 关闭Dispute保护功能
2.23.2 配置BPDU保护功能
1. 功能简介
对于接入层设备,接入端口一般直接与用户终端(如PC)或文件服务器相连,此时接入端口被设置为边缘端口以实现这些端口的快速迁移;当这些端口接收到BPDU时系统会自动将这些端口设置为非边缘端口,重新计算生成树,引起网络拓扑结构的变化。这些端口正常情况下应该不会收到STP的BPDU。如果有人伪造BPDU恶意攻击设备,就会引起网络震荡。
生成树协议提供了BPDU保护功能来防止这种攻击:设备上开启了BPDU保护功能后,如果边缘端口收到了BPDU,系统就将这些端口关闭,同时通知网管这些端口已被生成树协议关闭。被关闭的端口在经过一定时间间隔之后将被重新激活,这个时间间隔可通过shutdown-interval命令配置。有关该命令的详细介绍,请参见"基础配置命令参考"中的"设备管理"。
2. 配置限制和指导
BPDU保护功能支持在系统视图下配置或在指定端口配置。对于一个端口来说,优先采用该端口的配置,只有该端口内未进行配置时,才采用全局的配置。
3. 配置步骤
(1) 进入系统视图。
system-view
(2) 配置BPDU保护功能。
· 全局配置BPDU保护功能:
stp bpdu-protection
· 在端口上配置BPDU保护功能:
interface interface-type interface-number
stp bpdu-protection
缺省情况下,BPDU保护功能处于关闭状态。
2.23.3 配置根保护功能
1. 功能简介
生成树的根桥和备份根桥应该处于合理的网络拓扑位置上。但是由于维护人员的错误配置或网络中的恶意攻击,网络中的合法根桥可能会收到优先级更高的BPDU,使得合法根桥失去根桥的地位,引起网络拓扑结构的错误变动。这种不合法的变动,会导致原来应该通过高速链路的流量被牵引到低速链路上,造成网络拥塞。
为了防止这种情况发生,生成树协议提供了根保护功能:对于设置了根保护功能的端口,其在所有实例上的端口角色只能为指定端口。一旦该端口收到某实例优先级更高的BPDU,该实例的端口状态将被设置为Listening状态,不再转发报文(相当于将此端口相连的链路断开)。当在足够长的时间内(通常为两倍的Forward Delay),该端口没有再收到优先级更高的BPDU时,端口会恢复到原来的正常状态。
2. 配置步骤
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启端口的根保护功能。
stp root-protection
缺省情况下,端口的根保护功能处于关闭状态。
2.23.4 配置环路保护功能
1. 功能简介
依靠不断接收上游设备发来的BPDU,设备可以维持根端口和其他阻塞端口的状态。但由于链路拥塞或者单向链路故障,根端口或替换端口可能收不到上游设备的BPDU,此时设备会重新选择根端口,原来的根端口会转变为指定端口,而原来的阻塞端口会迁移到转发状态,从而交换网络中可能产生环路。
环路保护功能会抑制这种环路的产生:在启动了环路保护功能后,如果根端口或替换端口长时间收不到来自上游的BPDU,则进入Discarding状态,阻塞这些端口,因此不会导致环路。
2. 配置限制和指导
环路保护功能和边缘端口功能互斥,即同一个端口上不能同时配置环路保护功能和边缘端口。
3. 配置步骤
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启端口的环路保护功能。
stp loop-protection
缺省情况下,端口的环路保护功能处于关闭状态。
2.23.5 配置TC-BPDU传播限制功能
1. 功能简介
当设备收到TC-BPDU后,会执行转发地址表项的刷新操作。如果网络的拓扑变化频繁,设备会频繁刷新转发地址表项,给网络带来很大负担。此时可以通过配置TC-BPDU传播限制功能来限制TC-BPDU的传播,减少网络负担。
2. 配置限制和指导
开启TC-BPDU传播限制功能后,当拓扑改变时原有转发地址表项可能无法更新,请慎重配置。
3. 配置步骤
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 开启TC-BPDU传播限制功能。
stp tc-restriction
缺省情况下,TC-BPDU传播限制功能处于关闭状态。
2.23.6 配置防TC-BPDU攻击保护功能
1. 功能简介
设备在收到TC-BPDU后,会执行转发地址表项的刷新操作。在有人伪造TC-BPDU恶意攻击设备时,设备短时间内会收到很多的TC-BPDU,频繁的刷新操作给设备带来很大负担,给网络的稳定带来很大隐患。而通过在设备上开启防TC-BPDU攻击保护功能,就可以避免转发地址表项的频繁刷新。
当开启了防TC-BPDU攻击保护功能后,如果设备在单位时间(固定为十秒)内收到TC-BPDU的次数大于stp tc-protection threshold命令所指定的最高次数(假设为N次),那么该设备在这段时间之内将只进行N次刷新转发地址表项的操作,而对于超出N次的那些TC-BPDU,设备会在这段时间过后再统一进行一次地址表项刷新的操作,这样就可以避免频繁地刷新转发地址表项。
2. 配置限制和指导
建议不要关闭防TC-BPDU攻击保护功能。
3. 配置步骤
(1) 进入系统视图。
system-view
(2) 开启防TC-BPDU攻击保护功能。
stp tc-protection
缺省情况下,防TC-BPDU攻击保护功能处于开启状态。
(3) (可选)配置在单位时间(固定为十秒)内,设备收到TC-BPDU后立即刷新转发地址表项的最高次数。
stp tc-protection threshold number
缺省情况下,在单位时间(固定为十秒)内,设备收到TC-BPDU后立即刷新转发地址表项的最高次数为6。
2.23.7 配置BPDU拦截功能
1. 功能简介
在开启了生成树协议的网络中,由于设备收到BPDU后会进行STP计算并向其他设备转发,因此恶意用户可借此进行BPDU攻击:通过不停地发送BPDU,使网络中的所有设备都不停地进行STP计算,从而导致设备的CPU占用率过高或BPDU的协议状态错误等问题。
为了避免这种情况,用户可以在端口上配置BPDU拦截功能。开启了该功能的端口将不再接收任何BPDU,从而能够防止设备遭受BPDU攻击,保证STP计算的正确性。
2. 配置步骤
(1) 进入系统视图。
system-view
(2) 进入二层以太网接口视图。
interface interface-type interface-number
(3) 开启端口的BPDU拦截功能。
bpdu-drop any
缺省情况下,端口的BPDU拦截功能处于关闭状态。
2.23.8 配置MSTP的PVST报文保护功能
1. 功能简介
本配置在MSTP工作模式下才能生效。
对于开启MSTP的设备,并不识别PVST报文,所以开启MSTP的设备会将PVST报文当做数据报文转发。在另一个并不相干的网络中,开启PVST的设备收到该报文,处理后可能导致该网络的拓扑计算出现错误。
对于这个问题,可以通过配置MSTP的PVST报文保护功能来解决。在MSTP模式下,设备上开启了PVST报文保护功能后,如果端口收到了PVST报文,系统就将这些端口关闭。
2. 配置步骤
(1) 进入系统视图。
system-view
(2) 开启MSTP的PVST报文保护功能。
stp pvst-bpdu-protection
缺省情况下,MSTP的PVST报文保护功能处于关闭状态。
2.23.9 关闭Dispute保护功能
1. 功能简介
当端口收到指定端口发出的低优先级消息,且发送端口处于Forwarding或Learning状态时,会触发Dispute保护,阻塞端口以防止环路。
如图2-4所示,正常情况下,Device A是根桥,经过生成树计算后,Port B1被阻塞。如果Port A1发生单通故障,即Port A1不能发送报文,只能接收报文。Port B1在一定时间内未收到Port A1发送的BPDU,则Device B认为自己是根桥,由Port B1发送低优先级BPDU到Port A1。此时,Port A2和Port B2之间链路正常,Device B会接收到自己发送BPDU,导致产生环路。因此当链路出现单通故障后,会触发Dispute保护功能,阻塞端口,防止环路。

在如图2-5所示的VLAN组网的场景中,需要关闭Dispute保护功能,防止链路被阻塞。Device A和Device C开启生成树功能,Device B关闭生成树功能,此时Devcie B会透传BPDU。由于Device B上Port B1的配置,导致Device C不能收到根桥Device A发送的VLAN 1的高优先级BPDU。Device C在一定时间内未收到根桥发送的BPDU,则Device C认为自己是根桥,由Port C1发送VLAN 100的低优先级BPDU到Device A。Device A收到低优先级BPDU后,会触发Dispute保护阻塞端口,导致用户业务流量中断。为了保证业务流量正常处理,用户可以关闭Dispute保护功能,避免链路被生成树阻塞而影响用户业务。

2. 配置步骤
(1) 进入系统视图。
system-view
(2) 关闭Dispute保护功能。
undo stp dispute-protection
缺省情况下,Dispute保护功能处于开启状态。
2.24 生成树显示和维护
在完成上述配置后,在任意视图下执行display命令可以显示配置后生成树的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除生成树的统计信息。
| 操作 | 命令 |
|---|---|
| 显示生成树的状态和统计信息 | display stp [ instance instance-list / vlan vlan-id-list ] [ interface interface-type interface-number ] [ brief ] |
| 显示MST域的配置信息 | display stp region-configuration |
| 显示端口上生成树的根保护状态 | display stp root-protection |
| 清除生成树的统计信息 | reset stp [ interface interface-type interface-number ] |
2.25 生成树典型配置举例
2.25.1 MSTP配置举例
1. 组网需求
- Device A、Device B、Device C和Device D构成一个MST域,它们都开启MSTP。
- 通过配置使VLAN 10的流量通过MSTI 1转发,VLAN 30的流量通过MSTI 3转发,VLAN 40的流量通过MSTI 4转发。
- Device A为MSTI 1的根桥,Device B为MSTI 3的根桥,Device C为MSTI 4的根桥。
2. 组网图

3. 配置步骤
(1) 配置Device A
# 配置MST域的域名为example,将VLAN 10、30、40分别映射到MSTI 1、3、4上,并配置MSTP的修订级别为0。
<DeviceA> system-view
[DeviceA] stp region-configuration
[DeviceA-mst-region] region-name example
[DeviceA-mst-region] instance 1 vlan 10
[DeviceA-mst-region] instance 3 vlan 30
[DeviceA-mst-region] instance 4 vlan 40
[DeviceA-mst-region] revision-level 0
# 激活MST域的配置。
[DeviceA-mst-region] active region-configuration
[DeviceA-mst-region] quit
# 配置本设备为MSTI 1的根桥。
[DeviceA] stp instance 1 root primary
# 全局开启生成树协议。
[DeviceA] stp global enable
(2) 配置Device B
# 配置MST域的域名为example,将VLAN 10、30、40分别映射到MSTI 1、3、4上,并配置MSTP的修订级别为0。
<DeviceB> system-view
[DeviceB] stp region-configuration
[DeviceB-mst-region] region-name example
[DeviceB-mst-region] instance 1 vlan 10
[DeviceB-mst-region] instance 3 vlan 30
[DeviceB-mst-region] instance 4 vlan 40
[DeviceB-mst-region] revision-level 0
# 激活MST域的配置。
[DeviceB-mst-region] active region-configuration
[DeviceB-mst-region] quit
# 配置本设备为MSTI 3的根桥。
[DeviceB] stp instance 3 root primary
# 全局开启生成树协议。
[DeviceB] stp global enable
(3) 配置Device C
# 配置MST域的域名为example,将VLAN 10、30、40分别映射到MSTI 1、3、4上,并配置MSTP的修订级别为0。
<DeviceC> system-view
[DeviceC] stp region-configuration
[DeviceC-mst-region] region-name example
[DeviceC-mst-region] instance 1 vlan 10
[DeviceC-mst-region] instance 3 vlan 30
[DeviceC-mst-region] instance 4 vlan 40
[DeviceC-mst-region] revision-level 0
# 激活MST域的配置。
[DeviceC-mst-region] active region-configuration
[DeviceC-mst-region] quit
# 配置本设备为MSTI 4的根桥。
[DeviceC] stp instance 4 root primary
# 全局开启生成树协议。
[DeviceC] stp global enable
(4) 配置Device D
# 配置MST域的域名为example,将VLAN 10、30、40分别映射到MSTI 1、3、4上,并配置MSTP的修订级别为0。
<DeviceD> system-view
[DeviceD] stp region-configuration
[DeviceD-mst-region] region-name example
[DeviceD-mst-region] instance 1 vlan 10
[DeviceD-mst-region] instance 3 vlan 30
[DeviceD-mst-region] instance 4 vlan 40
[DeviceD-mst-region] revision-level 0
# 激活MST域的配置。
[DeviceD-mst-region] active region-configuration
[DeviceD-mst-region] quit
# 全局开启生成树协议。
[DeviceD] stp global enable
4. 验证配置
在本例中,假定Device B的根桥ID最小,因此该设备将在MSTI 0中被选举为根桥。
当网络拓扑稳定后,通过使用 display stp brief 命令可以查看各设备上生成树的简要信息。例如:
# 查看Device A上生成树的简要信息。
[DeviceA] display stp brief
MST ID Port Role STP State Protection
0 GigabitEthernet1/0/1 ALTE DISCARDING NONE
0 GigabitEthernet1/0/2 DESI FORWARDING NONE
0 GigabitEthernet1/0/3 ROOT FORWARDING NONE
1 GigabitEthernet1/0/1 DESI FORWARDING NONE
1 GigabitEthernet1/0/3 DESI FORWARDING NONE
3 GigabitEthernet1/0/2 DESI FORWARDING NONE
3 GigabitEthernet1/0/3 ROOT FORWARDING NONE
# 查看Device B上生成树的简要信息。
[DeviceB] display stp brief
MST ID Port Role STP State Protection
0 GigabitEthernet1/0/1 DESI FORWARDING NONE
0 GigabitEthernet1/0/2 DESI FORWARDING NONE
0 GigabitEthernet1/0/3 DESI FORWARDING NONE
1 GigabitEthernet1/0/2 DESI FORWARDING NONE
1 GigabitEthernet1/0/3 ROOT FORWARDING NONE
3 GigabitEthernet1/0/1 DESI FORWARDING NONE
3 GigabitEthernet1/0/3 DESI FORWARDING NONE
# 查看Device C上生成树的简要信息。
[DeviceC] display stp brief
MST ID Port Role STP State Protection
0 GigabitEthernet1/0/1 DESI FORWARDING NONE
0 GigabitEthernet1/0/2 ROOT FORWARDING NONE
0 GigabitEthernet1/0/3 DESI FORWARDING NONE
1 GigabitEthernet1/0/1 ROOT FORWARDING NONE
1 GigabitEthernet1/0/2 ALTE DISCARDING NONE
4 GigabitEthernet1/0/3 DESI FORWARDING NONE
# 查看Device D上生成树的简要信息。
[DeviceD] display stp brief
MST ID Port Role STP State Protection
0 GigabitEthernet1/0/1 ROOT FORWARDING NONE
0 GigabitEthernet1/0/2 ALTE DISCARDING NONE
0 GigabitEthernet1/0/3 ALTE DISCARDING NONE
3 GigabitEthernet1/0/1 ROOT FORWARDING NONE
3 GigabitEthernet1/0/2 ALTE DISCARDING NONE
4 GigabitEthernet1/0/3 ROOT FORWARDING NONE
根据上述显示信息,可以绘出各VLAN所对应MSTI的拓扑,如图2-7所示。

2.25.2 PVST配置举例
1. 组网需求
- Device A和Device B为汇聚层设备,Device C和Device D为接入层设备。
- 通过配置PVST实现VLAN级别的负载分担:VLAN 10和VLAN 20的根桥为Device A,VLAN 30的根桥为Device B。
2. 组网图

3. 配置步骤
(1) 配置Device A
# 配置生成树的工作模式为PVST。
<DeviceA> system-view
[DeviceA] stp mode pvst
# 配置本设备为VLAN 10和VLAN 20的根桥。
[DeviceA] stp vlan 10 20 root primary
# 全局开启生成树协议。
[DeviceA] stp global enable
(2) 配置Device B
# 配置生成树的工作模式为PVST。
<DeviceB> system-view
[DeviceB] stp mode pvst
# 配置本设备为VLAN 30的根桥。
[DeviceB] stp vlan 30 root primary
# 全局开启生成树协议。
[DeviceB] stp global enable
(3) 配置Device C
# 配置生成树的工作模式为PVST。
<DeviceC> system-view
[DeviceC] stp mode pvst
# 全局开启生成树协议。
[DeviceC] stp global enable
(4) 配置Device D
# 配置生成树的工作模式为PVST。
<DeviceD> system-view
[DeviceD] stp mode pvst
# 全局开启生成树协议。
[DeviceD] stp global enable
4. 验证配置
当网络拓扑稳定后,通过使用 display stp brief 命令可以查看各设备上生成树的简要信息。例如:
# 查看Device A上生成树的简要信息。
[DeviceA] display stp brief
VLAN ID Port Role STP State Protection
10 GigabitEthernet1/0/1 DESI FORWARDING NONE
10 GigabitEthernet1/0/2 DESI FORWARDING NONE
20 GigabitEthernet1/0/1 DESI FORWARDING NONE
20 GigabitEthernet1/0/2 DESI FORWARDING NONE
30 GigabitEthernet1/0/1 DESI FORWARDING NONE
30 GigabitEthernet1/0/2 ROOT FORWARDING NONE
# 查看Device B上生成树的简要信息。
[DeviceB] display stp brief
VLAN ID Port Role STP State Protection
10 GigabitEthernet1/0/2 DESI FORWARDING NONE
10 GigabitEthernet1/0/3 ROOT FORWARDING NONE
20 GigabitEthernet1/0/1 DESI FORWARDING NONE
20 GigabitEthernet1/0/2 DESI FORWARDING NONE
20 GigabitEthernet1/0/3 ROOT FORWARDING NONE
30 GigabitEthernet1/0/1 DESI FORWARDING NONE
30 GigabitEthernet1/0/3 DESI FORWARDING NONE
# 查看Device C上生成树的简要信息。
[DeviceC] display stp brief
VLAN ID Port Role STP State Protection
10 GigabitEthernet1/0/1 ROOT FORWARDING NONE
10 GigabitEthernet1/0/2 ALTE DISCARDING NONE
20 GigabitEthernet1/0/1 ROOT FORWARDING NONE
20 GigabitEthernet1/0/2 ALTE DISCARDING NONE
20 GigabitEthernet1/0/3 DESI FORWARDING NONE
40 GigabitEthernet1/0/3 DESI FORWARDING NONE
# 查看Device D上生成树的简要信息。
[DeviceD] display stp brief
VLAN ID Port Role STP State Protection
20 GigabitEthernet1/0/1 ALTE DISCARDING NONE
20 GigabitEthernet1/0/2 ROOT FORWARDING NONE
20 GigabitEthernet1/0/3 ALTE DISCARDING NONE
30 GigabitEthernet1/0/1 ROOT FORWARDING NONE
30 GigabitEthernet1/0/2 ALTE DISCARDING NONE
40 GigabitEthernet1/0/3 ROOT FORWARDING NONE
根据上述显示信息,可以绘出各VLAN所对应生成树的拓扑,如图2-9所示。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)