当前位置: 首页 > news >正文

06.《STP 基础原理与配置详解》

STP(生成树协议)

文章目录

  • STP(生成树协议)
      • STP基本介绍
      • 二层环路的危害
      • STP的版本分类
      • STP的关键报文
        • BCDU报文基本格式
      • STP选举三要素
        • 实验案例
          • **实验拓扑**
          • **实验流程**
          • **实验流程详解**

STP基本介绍

作用:在二层网络中,防止环路问题(可以实现多链路之间的路径备份)

原理:通过将多条链路中的某个或者某些接口进行逻辑上阻塞(阻塞不代表设备接口故障,而是不转发业务数据),选择一条最优路径转发业务数据,从而避免环路。

STP 的核心思路:“阻塞冗余链路,保留最优路径”

二层环路的危害

  1. 广播风暴:在设备之间发送大量广播报文,使其在网络中无限循环,占用带宽,导致网络瘫痪。
  2. 重复帧:在设备直接出现大量相同数据帧,使其同一数据帧被多次接收,造成数据重复和处理负担。
  3. MAC 地址漂移:同一 MAC 地址从不同端口学习到,导致 MAC 表不稳定。

判断环路现象:交换机所有接口指示灯频繁闪烁。可通过逐一拔插网线的方式定位环路链路。

STP的版本分类

版本标准特点
STPIEEE 802.1D标准生成树,收敛慢(约30秒)
RSTPIEEE 802.1W快速生成树,收敛速度快
MSTPIEEE 802.1S多实例生成树,华为设备默认使用

修改STP命令

[SW1]stp mode ?  mstp  Multiple Spanning Tree Protocol (MSTP) mode  rstp  Rapid Spanning Tree Protocol (RSTP) mode  stp   Spanning Tree Protocol (STP) mode

验证:(默认状态为STP)

image-20250830211838416

STP的关键报文

STP 设备之间通过 BPDU (Bridge Protocol Data Unit,桥协议数据单元)报文交换信息,就像网络中的 “通信协议”。

BCDU报文基本格式

参考华为视图:

image-20250830212333855

部分字段说明

  • 配置 BPDU(0x00):由根桥发送,用于选举网络中的关键角色(根桥、根端口、指定端口)。
  • TCN BPDU(0x80):拓扑变化通知报文,当网络结构发生变化(如链路故障)时发送。
  • Flags:网络拓扑变化标志,最低为=TC,最高位=TCA。
  • Root Identifier:根桥的 ID(优先级 + MAC 地址)。
  • Root Path Cost:本端口到根桥的累计路径开销(类似 “距离”)。
  • Bridge Identifier:发送该报文的交换机的 ID。
  • Port Identifier:发送该报文的端口 ID(优先级 + 端口编号)。
  • Mseeage Age:该BPDU的消息年龄,配置BPDU每经过一台交换机,消息年龄加1,最多20台
  • MAX Age:BPDU 的最大存活时间(默认 20 秒)。
  • Hello Time:发送 BPDU 的时间间隔(默认 2 秒)。
  • Forward Delay:侦听和学习状态的持续时间(默认 15 秒)。

抓包解析:

image-20250830213243212

STP选举三要素

实验案例
实验拓扑

image-20250830214138868

实验流程
  1. 选举根桥(整个网络中唯一的 “核心交换机”);
  2. 非根桥交换机选举根端口(离根桥最近的端口);
  3. 每条链路选举指定端口(负责转发数据到下一级的端口);
  4. 剩余未被选中的端口被设置为阻塞状态,实现无环网络。
实验流程详解

1、根桥(Root Bridge)选举

  • 在一个二层网络中,最优的交换机就是根桥(Root),选举一个根桥。

  • 所有交换机都是STP的桥,每个交换机有一个桥ID(Bridge ID),由系统优先级 + MAC 地址组成。

  • 系统优先级默认为 32768,步长为 4096,范围 0–61440

  • 选举规则:桥ID数值越小越优先(先比优先级,再比 MAC 地址)。

查看交换机mac地址Dis int g0/0/1(缩写)

image-20250830214128958

强制设置某交换机为根桥:(SW2为例)

修改stp的优先级:stp priority 4096

[SW2]stp priority 4096

image-20250830214200134

2.根端口(Root Port,RP)选举

  • 每台非根桥交换机有且只有一个根端口,用于接收来自根桥的最优 BPDU。
  • 端口ID = 端口优先级(默认128,步长16,范围0–240) + 端口编号。
  • 每一台非根桥交换机选举且选举一个RP端口。

RP选举规则(按顺序比较)

1.端口累计到达根桥开销之和比小(默认STP一条链路开销20000

image-20250830214224563

2.发送BPDU的交换机桥ID数值比小

image-20250830214236058

3.发送BPDU的交换机端口ID数值比小

image-20250830214245757

4.设备本地端口ID数值比小

image-20250830214254941

3、指定端口(Designated Port, DP)选举

  • 交换机每一个端口都拥有端口ID。

  • 端口ID = 端口优先级(默认128,步长16,范围0–240) + 端口编号。

  • 用于转发最优的BPDU。

  • 根桥上的所有接口都是DP。

  • 交换机(桥)之间的每一条链路选举一个DP。

DP选举规则:(与RP选举规则一致)

①端口累计到达根桥开销之和比小(默认STP一条链路开销20000)。

②发送BPDU的交换机桥ID数值比小。

③发送BPDU的交换机端口ID数值比小。

STP端口5个状态

状态说明
Disabled(禁用)端口未启用或物理关闭
Blocking(阻塞)不转发数据,接收 BPDU
Listening(侦听)不转发数据,接收并发送 BPDU,参与拓扑计算
Learning(学习)不转发数据,开始学习 MAC 地址
Forwarding(转发)正常转发数据帧

华为文档图例:

image-20250830214313920

如涉及版权问题,请联系作者处理!!!

http://www.dtcms.com/a/358394.html

相关文章:

  • 学习python第14天
  • Spark mapGroups 函数详解与多种用法示例
  • 神经网络正则化三重奏:Weight Decay, Dropout, 和LayerNorm
  • 嵌入式硬件电路分析---AD采集电路
  • pyqt5的简单开发可视化界面的例子
  • 【重学 MySQL】九十三、MySQL的字符集的修改与底层原理详解
  • Linux学习----归档和传输文件实用指南
  • java报错问题解析
  • 在 MyBatis 中oracle基本数值类型的 JDBC 类型映射
  • Let‘s Encrypt证书自动续期
  • 【数据分享】上市公司-创新投入、研发投入数据(2007-2022)
  • 【Python 后端框架】总结
  • Transformer:从入门到精通
  • 第二十六天-待机唤醒实验
  • 【GaussDB】在逻辑复制中剔除指定用户的事务
  • Java动态代理
  • Redis-基数统计、位图、位域、流
  • ⚡ Linux find 命令参数详解
  • 【开题答辩全过程】以 云智课为例,包含答辩的问题和答案
  • SQL语言增删改查之C与R
  • 05MySQL多表查询全解析
  • Flutter 跨平台开发环境搭建指南
  • Spring Boot 后端接收多个文件的方法
  • Android 权限申请现代化指南
  • 机器学习中的欠拟合与过拟合
  • SC税务 登录滑块 分析
  • 桌面GIS软件FlatGeobuf转Shapefile代码分享
  • Coze源码分析-API授权-添加新令牌-后端源码
  • 项目管理常用的方法有哪些
  • 国标调查:引领汽车消费市场健康发展的理性指南