H3C STP实验
1.原理
1.1 STP
a.简介
1.STP 包含了两个含义,狭义的 STP 是指 IEEE 802.1D 中定义的 STP 协议,广义的 STP 是指包括
IEEE 802.1D 定义的 STP 协议以及各种在它的基础上经过改进的生成树协议。
2.STP 采用的协议报文是 BPDU(Bridge Protocol Data Unit,网桥协议数据单元),也称为配置消息。
本文中将把生成树协议的协议报文均简称为 BPDU。STP 通过在设备之间传递 BPDU 来确定网络的拓扑结构。BPDU 中包含了足够的信息来保证设备完
成生成树的计算过程。STP 协议的 BPDU 分为以下两类:
2.1 配置 BPDU(Configuration BPDU):用来进行生成树计算和维护生成树拓扑的报文
2.2 TCN BPDU(Topology Change Notification BPDU,拓扑变化通知 BPDU):当拓扑结构发
生变化时,用来通知相关设备网络拓扑结构发生变化的报文
3.STP基本概念:
3.1 根桥:树形的网络结构必须有树根,于是 STP 引入了根桥的概念。根桥在全网中有且只有一个,其他设备
则称为叶子节点。根桥会根据网络拓扑的变化而改变,因此根桥并不是固定的。
在网络初始化过程中,所有设备都视自己为根桥,生成各自的配置 BPDU 并周期性地向外发送;但
当网络拓扑稳定以后,只有根桥设备才会向外发送配置 BPDU,其他设备则对其进行转发。
3.2 根端口:所谓根端口,是指非根桥设备上离根桥最近的端口。根端口负责与根桥进行通信。非根桥设备上有
且只有一个根端口,根桥上没有根端口。
3.3 指定端口:向lan中转发BPDU报文的端口
4.端口状态
4.1 Disabled 该状态下的端口没有激活,不参与STP的任何动作,不转发用户流量
4.2 Listening 该状态下的端口可以接收和发送BPDU,但不转发用户流量
4.3 Learning 该状态下建立无环的转发表,不转发用户流量
4.4 Forwarding 该状态下的端口可以接收和发送BPDU,也转发用户流量
4.5 Blocking 该状态下的端口可以接收BPDU,但不转发用户流量
1.2 RSTP
a.简介
1.RSTP 由 IEEE 制定的 802.1w 标准定义,它在 STP 基础上进行了改进,实现了网络拓扑的快速收
敛。其“快速”体现在,当一个端口被选为根端口和指定端口后,其进入转发状态的延时将大大缩
短,从而缩短了网络最终达到拓扑稳定所需要的时间。
2.端口角色:RSTP 增加了三种端口角色替
换端口(Alternate Port)、备份端口(Backup Port)和边缘端口(Edge Port)
3.端口状态:RSTP将端口状态缩减为三个,分别为Discarding、Learning和Forwarding状态。

1.3 PVST
a.简介
1.STP 和 RSTP 在局域网内的所有网桥都共享一棵生成树,不能按 VLAN 阻塞冗余链路,所有 VLAN
的报文都沿着一棵生成树进行转发。而 PVST 则可以在每个 VLAN 内都拥有一棵生成树,能够有效
地提高链路带宽的利用率。PVST 可以简单理解为在每个 VLAN 上运行一个 RSTP 协议,不同 VLAN
之间的生成树完全独立。
b.基本概念
1.PVST 为每个 VLAN 维护一个单独的生成树实例。每个 VLAN 都将运行单个生成树,允许以每个
VLAN 为基础开启或关闭生成树。每个 VLAN 内的生成树实例都有单独的网络拓扑结构,相互之间
没有影响。这样既可以消除了 VLAN 内的冗余环路,还可以实现不同 VLAN 间负载分担。
1.4 MSTP
a.简介
1.STP 不能快速迁移,即使是在点对点链路或边缘端口,也必须等待两倍的 Forward Delay 的时间延
迟,端口才能迁移到转发状态。
RSTP可以快速收敛,但和STP一样还存在如下缺陷:由于局域网内所有VLAN都共享一棵生成树,
因此所有 VLAN 的报文都沿这棵生成树进行转发,不能按 VLAN 阻塞冗余链路,也无法在 VLAN 间
实现数据流量的负载均衡。
对于 PVST 而言,由于每个 VLAN 都需要生成一棵树,因此 PVST BPDU 的通信量将与 Trunk/Hybrid
端口上允许通过的 VLAN 数量成正比。而且当 VLAN 数量较多时,维护多棵生成树的计算量以及资
源占用量都将急剧增长,特别是当允许通过很多VLAN的Trunk/Hybrid端口的链路状态发生改变时,
对应生成树的状态都要重新计算,网络设备的 CPU 将不堪重负。
b.特点
1.MSTP 由 IEEE 制定的 802.1s 标准定义,它可以弥补 STP、RSTP 和 PVST 的缺陷,既可以快速收
敛,也能使不同 VLAN 的流量沿各自的路径转发,从而为冗余链路提供了更好的负载分担机制。
c.基本概念
1.MST 域:MST 域(Multiple Spanning Tree Regions,多生成树域)是由交换网络中的多台设备以及它们之
间的网段所构成。这些设备具有下列特点:
• 都开启了生成树协议。
• 域名相同。
• VLAN 与 MSTI 间映射关系的配置相同。
• MSTP 修订级别的配置相同。
• 这些设备之间有物理链路连通
一个交换网络中可以存在多个MST域,用户可以通过配置将多台设备划分在一个MST域内。
2.MSTI:一个MST域内可以通过MSTP生成多棵生成树,各生成树之间彼此独立并分别与相应的VLAN对应,
每棵生成树都称为一个MSTI(Multiple Spanning Tree Instance,多生成树实例)。
3.VLAN 映射表:VLAN映射表是MST域的一个属性,用来描述VLAN与MSTI间的映射关系。
4.CST:CST(Common Spanning Tree,公共生成树)是一棵连接交换网络中所有MST域的单生成树。如
果把每个MST域都看作一台“设备”,CST就是这些“设备”通过STP协议、RSTP协议计算生成的
一棵生成树。
5.IST:IST(Internal Spanning Tree,内部生成树)是MST域内的一棵生成树,它是一个特殊的MSTI,通
常也称为MSTI 0,所有VLAN缺省都映射到MSTI 0上
6.CIST:CIST(Common and Internal Spanning Tree,公共和内部生成树)是一棵连接交换网络内所有设
备的单生成树,所有MST域的IST再加上CST就共同构成了整个交换网络的一棵完整的单生成树,
即CIST。
7.域根:域根(Regional Root)就是MST域内IST或MSTI的根桥。MST域内各生成树的拓扑不同,域根也
可能不同。
8.总根:总根(Common Root Bridge)就是CIST的根桥。
9.端口状态:
* Forwarding 该状态下的端口可以接收和发送BPDU,也转发用户流量
* Learning 是一种过渡状态,该状态下的端口可以接收和发送BPDU,但不转发用户流量
* Discarding 该状态下的端口可以接收和发送BPDU,但不转发用户流量
2.MSTP典型配置
2.1 需求
* 网络中所有设备都属于同一个 MST 域。Device A 和 Device B 为汇聚层设备,Device C 和
Device D 为接入层设备。
* 通过配置 MSTP,使不同 VLAN 的报文按照不同的 MSTI 转发:VLAN 10 的报文沿 MSTI 1
转发,VLAN 30 沿 MSTI 3 转发,VLAN 40 沿 MSTI 4 转发,VLAN 20 沿 MSTI 0 转发。
* 由于 VLAN 10 和 VLAN 30 在汇聚层设备终结、VLAN 40 在接入层设备终结,因此配置 MSTI
1 和 MSTI 3 的根桥分别为 Device A 和 Device B,MSTI 4 的根桥为 Device C。

2.2 配置
1.配置 Device A
# 配置 MST 域的域名为 example,将 VLAN 10、30、40 分别映射到 MSTI 1、3、4 上,并配置
MSTP 的修订级别为 0。
[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] 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] 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] 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
5.验证配置
[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
[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
[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
[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 的拓扑图:
