07. STP的基本配置

文章目录

一. 初识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,命令如下:

shell 复制代码
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW1
#STP的模式为STP,默认为MSTP
[LSW1]stp mode stp

如图所示:

2)配置LSW2,命令如下:

shell 复制代码
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW2
#STP的模式为STP,默认为MSTP
[LSW2]stp mode stp

如图所示:

3)配置LSW3,命令如下:

shell 复制代码
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW3
#STP的模式为STP,默认为MSTP
[LSW3]stp mode stp

如图所示:

(2)查看STP生成数的状态信息
shell 复制代码
#在交换机LSW1查看stp信息
[LSW1]display stp

如图所示:

(3)查看各交换机生成数的状态信息
shell 复制代码
#查看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,命令如下:

shell 复制代码
<LSW1>system-view
#把LSW1变成主根网桥
[LSW1]stp root primary

如图所示:

stp root primary命令的作用是把交换机的优先级设置为0,相当于stp priority 0 命令

2)配置LSW3,命令如下:

shell 复制代码
<LSW3>system-view
#把LSW3变成备用根网桥
[LSW3]stp root secondary

如图所示:

(2)查看交换机生成树状态信息
shell 复制代码
# 查看交换机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的配置,命令如下:

shell 复制代码
#开启所有交换机的STP,并把LSW1的优先级设置为0
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW1
[LSW1]stp mode stp
[LSW1]stp priority 0

如图所示:

2)LSW2的配置,命令如下:

shell 复制代码
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW2
[LSW2]stp mode stp

如图所示:

3)LSW3的配置,命令如下:

shell 复制代码
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW3
[LSW3]stp mode stp

如图所示:

4)LSW4的配置,命令如下:

shell 复制代码
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW4
[LSW4]stp mode stp

如图所示:

(2)查看交换机生成树状态信息
powershell 复制代码
#查看LSW1交换机生成数的状态信息
[LSW1]display stp brief
#查看LSW2交换机生成数的状态信息
[LSW2]display stp brief
#查看LSW3交换机生成数的状态信息
[LSW3]display stp brief
#查看LSW4交换机生成数的状态信息
[LSW4]display stp brief

如图所示:



综合,根网桥id信息以及各个交换机上的端口信息,可得到当前拓扑,如图所示:

2.2.4. 实验调试

shell 复制代码
#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
相关推荐
问道飞鱼2 分钟前
【前端知识】强大的js动画组件anime.js
开发语言·前端·javascript·anime.js
拓端研究室2 分钟前
R基于贝叶斯加法回归树BART、MCMC的DLNM分布滞后非线性模型分析母婴PM2.5暴露与出生体重数据及GAM模型对比、关键窗口识别
android·开发语言·kotlin
Code成立3 分钟前
《Java核心技术I》Swing的网格包布局
java·开发语言·swing
Auc248 分钟前
使用scrapy框架爬取微博热搜榜
开发语言·python
QQ同步助手14 分钟前
C++ 指针进阶:动态内存与复杂应用
开发语言·c++
凯子坚持 c21 分钟前
仓颉编程语言深入教程:基础概念和数据类型
开发语言·华为
小爬虫程序猿23 分钟前
利用Java爬虫速卖通按关键字搜索AliExpress商品
java·开发语言·爬虫
程序猿-瑞瑞25 分钟前
24 go语言(golang) - gorm框架安装及使用案例详解
开发语言·后端·golang·gorm
qq_4335545425 分钟前
C++ 面向对象编程:递增重载
开发语言·c++·算法
易码智能33 分钟前
【EtherCATBasics】- KRTS C++示例精讲(2)
开发语言·c++·kithara·windows 实时套件·krts