文章目录
- 一. 初识STP
- 1.1. STP概述
- 1.2. STP的出现
- 1.3. STP的作用
- 1.4. STP的专业术语
- 1.5. BPDU的报文格式
- 1.6. STP的选择原则
- (1)选择根桥网桥原则
- (2)选择根端口原则
 
- 1.7. 端口状态
- 1.8. STP报文类型
- 1.9. STP的收敛时间
 
- 二. 实验专题
- 2.1. 实验1:STP的基本配置
- 2.1.1. 实验目的
- 2.1.2. 实验拓扑图
- 2.1.3. 实验步骤
- (1)在交换机开启STP
- (2)查看STP生成数的状态信息
- (3)查看各交换机生成数的状态信息
 
- 2.1.4. 实验调试
- (1)更变交换机优先级
- (2)查看交换机生成树状态信息
 
 
- 2.2. 实验2:修改STP的Cost
- 2.2.1. 实验目的
- 2.2.2. 实验拓扑图
- 2.2.3. 实验步骤
- (1)开启所有交换机的STP
- (2)查看交换机生成树状态信息
 
- 2.2.4. 实验调试
 
 
- 三. 本章命令汇总
一. 初识STP
1.1. STP概述
STP(生成数协议)是一个用于在局域网中消除环路的协议,他的标准是IEEE802.1d。
STP通过强制使部分冗余链路处于阻塞状态,其它链路处于转发状态,将环形网络结构修剪成无环路的树形网络结构。
 可实现消除环路,当处于转发状态的链路不可用时,STP重新配置网络,并激活合适的备用链路状态,恢复网络连通性
1.2. STP的出现
以太网交换网络中,为了进行链路备份,提高网络可靠性,通常会使用冗余链路。
但是使用冗余链路会在交换网络上产生环路,引发广播风暴以及Mac地址表不稳定等故障现象,从而导致用户通信质量较差甚至通信中断。
 为解决交换网络中的环路问题,提出了STP。
1.3. STP的作用
解决二层环路,二层环路具体表现为广播风暴、Mac地址表不稳定和多帧复制
1.4. STP的专业术语
| 术语名称 | 描述 | 
|---|---|
| 桥ID | IEEE802.1d标准中规定BID由16位的桥优先级(默认位32768) | 
| Cost | 每一个激活了STP的接口都维护了一个Cost,接口的Cost主要用于计算跟路径开销,也就是到达根的开销 | 
| 根路径开销 | 一台设备从某个接口到达根桥的RPC等于从根桥到该设备沿途所有路入方向接口的Cost累加 | 
| 接口ID | 接口ID由两部分构成,高4位是接口优先级(默认为128) 低12位是接口编号 | 
| BPDU(网桥协议数据单元) | STP交换机之间会相互BPDU报文,这些BPDU报文携带着一些重要信息,正是基于这些信息,STP才能够顺利工作 | 
1.5. BPDU的报文格式
| 报文名称 | 描述 | 
|---|---|
| PID | 协议ID,对于STP而言,该字段的值总为 0 | 
| PVI | 协议版本ID,为0代表STP。为2代表 RSTP,为3代表MSTP | 
| BPDU Type | 指示本 BPDU的类型,若值为0x00,则表示本报文是配置BPDU报文;若值为0x80,则是TCN BPDU报文 | 
| Flags | 标志。STP只使用了该字段的最高及最低的两位数。最低位是TC( 拓扑变更)标志,最高位是TCA(拓扑变更确认标志)标志。 | 
| Root ID | 根网桥的桥ID | 
| RPC | 跟路径开销,到达根桥的 STP Cost | 
| Bridge ID | BPDU发送网桥的ID | 
| port ID | 发送网桥的接口ID( 优先级+接口号) | 
| Message Age | 消息寿命。从根网桥发送 BPDU之后的秒数每经过一个网桥都加1,所以它本质上是到达根网桥的跳数 | 
| Max Age | 最大寿命。当一段时间未收到任何 BPDU生存期到达最大寿命时,网桥认为该接口连接的链路发生故障,默认为20S | 
| Hello Time | 根网桥连续发送的BPDU之间的时间间隔,默认为 2S | 
| Forward Delay | 转发延迟,在侦听和学习状态所停留的时间间隔,默认为 15S | 
1.6. STP的选择原则
(1)选择根桥网桥原则
| 原则场景 | 描述 | 
|---|---|
| 比较优先级 | (默认为32768)数值越小越优 | 
| 优先级相同 | 比较MAC地址,数值越小越优 | 
(2)选择根端口原则
| 项目 | Value | 
|---|---|
| 根路开销 | 比较到达根桥网的跟路径开销RPC优先,RP是小的 | 
| 网桥id | 比较端口所在的交换机的桥网ID优先,桥网ID小的 | 
| 端口id | 比较本地端口的端口ID优先,端口ID小的 | 
1.7. 端口状态
| 端口状态 | 描述 | 
|---|---|
| 禁用(disabled) | 该接口不能收发 BPDU,也不能收发业务数据帧,如接口状态为down时 | 
| 阻塞(Blocking) | 该接口被 STP阻塞,处于阻塞状态的接口不能发送BPDU,但是会持续侦听BPDU,而且不能收发业务数据帧,也不会进行Mac地址学习 | 
| 侦听(Listening) | 当接口处于该状态时,表明 STP初步认定该接口为根接口或指定接口,但接口依然处于STP计算的过程中,此时接口可以收发BPDU,但是不能收发业务数据帧,也不会进行Mac地址学习 | 
| 学习(Learning) | 当接口处于该状态时,会侦听业务数据帧(但是不能转发业务数据帧),并且在收到业务数据帧后进行 Mac地址学习 | 
| 转发(Forwarding) | 处于该状态的接口可以正常的收发业务数据帧,也会进行 BPDU处理。接口的角色必须是根接口或指定接口才能进入转发状态 | 
1.8. STP报文类型
| 报文类型 | 描述 | 
|---|---|
| 配置BPDU | BPDU类型的值被设置为0x00。其主要作用 | 
| TCN BPDU | TCN BPDU类型的值被设置为 0x80作用是通告网络中的拓扑发生了变化 | 
说明一下,配置BPDU的用途
- 用于选举根网桥及端口角色;
- 根桥每2s发送一次配置BPDU报文,用于维护端口状态;
- 用于确认收到的TCN BPDU报文。
1.9. STP的收敛时间
- 端口状态从 Blocking状态迁移Forwarding状至少要两-倍的Forward Delay(15s)
- 直连链路发生故障,重新收敛需要- 30s;
- 非直连链路发生故障,重新收敛需要- 50s;
二. 实验专题
2.1. 实验1:STP的基本配置
2.1.1. 实验目的
- 掌握修改交换机STP 模式的方法
- 掌握修改桥优先级、控制根桥选举的方法
- 掌握修改端口优先级、控制根端口和指定端口选举的方法
2.1.2. 实验拓扑图

2.1.3. 实验步骤
(1)在交换机开启STP
1)配置LSW1,命令如下:
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW1
#STP的模式为STP,默认为MSTP
[LSW1]stp mode stp
如图所示:
 
 2)配置LSW2,命令如下:
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW2
#STP的模式为STP,默认为MSTP
[LSW2]stp mode stp
如图所示:
 
 3)配置LSW3,命令如下:
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW3
#STP的模式为STP,默认为MSTP
[LSW3]stp mode stp
如图所示:
 
(2)查看STP生成数的状态信息
#在交换机LSW1查看stp信息
[LSW1]display stp
如图所示:
 
(3)查看各交换机生成数的状态信息
#查看LSW1交换机生成数的状态信息
[LSW1]display stp brief
#查看LSW2交换机生成数的状态信息
[LSW2]display stp brief
#查看LSW3交换机生成数的状态信息
[LSW3]display stp brief
如图所示:
 
 
 
 以上输出结果表明端口的角色、状态以及保护功能。
| 项目 | Value | 
|---|---|
| Role | 该端口在 STP的端口角色。ROOT为根端口,ALTE为预备端口,DESI为指定端口; | 
| STP State | 该端口在 STP的端口状态。FORWARDING为转发状态,DISCARDING为阻塞状态,LISTENING为侦听状态,LEARNING为学习状态 | 
| Protection | 该端口开启的保护功能, NONE表示没有开启。 | 
综合根网桥ID 信息以及各个交换机上的端口信息,可得到当前拓扑,如图所示:
 
2.1.4. 实验调试
(1)更变交换机优先级
把LSW1的优先级改成0,把LSW3的优先级改成4096
 1)配置LSW1,命令如下:
<LSW1>system-view
#把LSW1变成主根网桥
[LSW1]stp root primary
如图所示:
 
 stp root primary命令的作用是把交换机的优先级设置为0,相当于stp priority 0 命令
2)配置LSW3,命令如下:
<LSW3>system-view
#把LSW3变成备用根网桥
[LSW3]stp root secondary
如图所示:
 
(2)查看交换机生成树状态信息
# 查看交换机LSW2上生成树的状态信息摘要
[LSW3]display stp brief
如图所示:
 
 综合,根网桥id信息以及各个交换机上的端口信息,可得到当前拓扑,如图所示:
 
2.2. 实验2:修改STP的Cost
2.2.1. 实验目的
学会通过端口的Cost(开销)来控制端口角色以及端口状态
2.2.2. 实验拓扑图

2.2.3. 实验步骤
(1)开启所有交换机的STP
1)LSW1的配置,命令如下:
#开启所有交换机的STP,并把LSW1的优先级设置为0
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW1
[LSW1]stp mode stp
[LSW1]stp priority 0
如图所示:
 
 2)LSW2的配置,命令如下:
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW2
[LSW2]stp mode stp
如图所示:
 
 3)LSW3的配置,命令如下:
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW3
[LSW3]stp mode stp
如图所示:
 
 4)LSW4的配置,命令如下:
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW4
[LSW4]stp mode stp
如图所示:
 
(2)查看交换机生成树状态信息
#查看LSW1交换机生成数的状态信息
[LSW1]display stp brief
#查看LSW2交换机生成数的状态信息
[LSW2]display stp brief
#查看LSW3交换机生成数的状态信息
[LSW3]display stp brief
#查看LSW4交换机生成数的状态信息
[LSW4]display stp brief
如图所示:
 
 
 
 
 综合,根网桥id信息以及各个交换机上的端口信息,可得到当前拓扑,如图所示:
 
2.2.4. 实验调试
#1. 修改LSW4的G0/0/5接口的Cost为1,命令如下:
[LSW4]interface g0/0/5
[LSW4-GigabitEthernet0/0/5]stp cost 1#2. 查看交换机LSW4上生成树的状态信息摘要,命令如下:
[LSW4-GigabitEthernet0/0/5]display stp brief
如图所示:
 
 通过以上输出结果发现 G0/0/4 接口被阻塞了
三. 本章命令汇总
| 命令 | 作用 | 
|---|---|
| stp enable | 开启STP | 
| stp mode stp | STP的模型为IEEE802.1d | 
| stp priority 0 | 修改设置STP的优先级为0 | 
| display stp brief | 查看STP接口的状态信息摘要 | 
| stp cost 1 | 修改STP接口的开销为1 |