第五章:网络系统建设与运维(中级)——生成树协议

目录

一、课程回顾

二、新知学习:生成树协议(STP)

[(一)STP 概述](#(一)STP 概述)

[1. 核心作用](#1. 核心作用)

[2. 环路场景示意](#2. 环路场景示意)

[(二)STP 算法](#(二)STP 算法)

[1. 步骤一:选举根桥(Root Bridge)](#1. 步骤一:选举根桥(Root Bridge))

[2. 步骤二:选举根端口(Root Port)](#2. 步骤二:选举根端口(Root Port))

[3. 步骤三:选举指定端口(Designated Port)](#3. 步骤三:选举指定端口(Designated Port))

[4. 关键辅助参数](#4. 关键辅助参数)

路径成本与带宽对应表

[(三)STP 配置命令(华为设备)](#(三)STP 配置命令(华为设备))

三、课程小结

四、课后练习

五、补充知识点

[1. STP 的不足与改进版本](#1. STP 的不足与改进版本)

[2. STP 关键定时器(默认值)](#2. STP 关键定时器(默认值))

[3. 端口状态机(STP)](#3. 端口状态机(STP))

[4. 实操注意事项](#4. 实操注意事项)


一、课程回顾

上次课程核心知识点聚焦路由相关技术,涵盖:

  1. 直连路由
  2. 静态路由 / 浮动静态路由 / 缺省路由
  3. RIP 动态路由
  4. OSPF 动态路由(单区域 / 多区域)
  5. 路由引入



二、新知学习:生成树协议(STP)

(一)STP 概述

1. 核心作用

解决交换网络中环路问题。当交换机之间形成冗余链路时,若无控制机制会产生:

  • 广播风暴:广播帧在环路中无限转发,占用全网带宽
  • MAC 地址表震荡:交换机不断更新 MAC 地址表,无法稳定转发数据
  • 重复帧:同一数据帧经不同路径到达目标设备,造成数据冗余

2. 环路场景示意

多台交换机(LSW1-LSW4)通过多链路互联,连接 PC1-PC4,形成物理环路,若无 STP 会触发上述问题。



(二)STP 算法

STP 通过三步算法构建无环路的逻辑拓扑,核心是 "选优弃劣"(阻塞冗余链路)。

1. 步骤一:选举根桥(Root Bridge)
  • 核心依据:网桥 ID(Bridge ID) ,由两部分组成:
    • 网桥优先级(2 字节):取值范围 0-65535,默认 32768
    • 网桥 MAC 地址(6 字节):交换机自身的 MAC 地址
  • 选举规则:整个交换网络中,网桥 ID 最小 的交换机成为根桥
    • 优先比较网桥优先级(数值越小越优)
    • 优先级相同时,比较 MAC 地址(数值越小越优)

2. 步骤二:选举根端口(Root Port)
  • 定义:非根桥交换机上,唯一通往根桥的最优路径对应的端口(每台非根桥仅 1 个根端口)
  • 选举顺序(按优先级排序,满足前一项则无需后续比较):
    1. 到根桥的根路径成本最低(根路径成本 = 端口到根桥所有链路路径成本之和)
    2. 直连对端的网桥 ID 最小
    3. 对端设备的端口 ID 最小
    4. 本设备的端口 ID 最小

3. 步骤三:选举指定端口(Designated Port)
  • 定义:每个网段(链路)上,负责转发数据到根桥的唯一端口(每个网段仅 1 个指定端口)
  • 选举规则:
    1. 根桥上的所有端口均为指定端口(根桥是全网转发核心)
    2. 非根桥上的指定端口,按以下顺序选择:
      • 到根桥的路径成本最低
      • 直连对端的网桥 ID 最小

4. 关键辅助参数
参数 组成 / 说明
路径成本 与链路带宽负相关,带宽越高成本越低(具体对应关系见下表)
端口 ID 由端口优先级(0-255,默认 128)+ 端口编号组成,比较时以 "对端端口 ID" 为准
路径成本与带宽对应表
链路带宽(Mbps) 路径成本
10 2000000
100 200000
1000(千兆) 20000
10000(万兆) 2000


(三)STP 配置命令(华为设备)

配置目的 命令格式 说明
启用生成树协议 stp enable 全局启用,默认关闭
设置生成树模式为 STP stp mode stp 可选模式:stp(标准)、rstp(快速)等
设置交换机网桥优先级 stp priority NUM NUM 需为 4096 的整数倍(0、4096、8192...)
直接设置为主根桥 stp root primary 等价于将优先级设为 0(最优)
直接设置为备用根桥 stp root secondary 等价于将优先级设为 4096
设置端口优先级 stp port priority NUM NUM 需为 16 的整数倍(0、16、32...255)
查看生成树状态信息 display stp 查看根桥、根端口、指定端口等关键信息



三、课程小结

本次课程核心围绕 STP 的 "是什么 - 怎么工作 - 怎么配置" 展开:

  1. STP 概述:解决交换网络环路问题,避免广播风暴等故障
  2. STP 算法:三步选举(根桥→根端口→指定端口),基于优先级、成本、ID 等参数
  3. STP 配置:启用协议、设置根桥 / 优先级、端口优化、状态查看



四、课后练习

完成上机任务书 - 生成树协议中的所有实操任务(重点练习根桥选举、根端口 / 指定端口识别、配置验证)




五、补充知识点

1. STP 的不足与改进版本

  • 标准 STP(802.1D):收敛速度慢(默认 30-50 秒),不适用于实时业务
  • 改进版本:
    • RSTP(快速生成树协议,802.1w):收敛时间缩短至 1-2 秒,兼容 STP
    • MSTP(多生成树协议,802.1s):支持多 VLAN 映射到不同生成树,提升带宽利用率
  • 配置提示:实际工程中常用stp mode rstp替代标准 STP

2. STP 关键定时器(默认值)

  • Hello Time:2 秒,根桥向全网发送 BPDU(桥协议数据单元)的间隔
  • Forward Delay:15 秒,端口从 "学习状态" 到 "转发状态" 的等待时间
  • Max Age:20 秒,非根桥未收到 BPDU 时,认为根桥不可达的超时时间

3. 端口状态机(STP)

状态 功能
禁用(Disabled) 端口关闭,不转发数据、不处理 BPDU
阻塞(Blocking) 不转发数据,仅接收 BPDU(冗余链路端口默认状态)
监听(Listening) 不转发数据,接收并发送 BPDU,参与选举(Forward Delay 超时后进入学习状态)
学习(Learning) 不转发数据,学习 MAC 地址,构建地址表(Forward Delay 超时后进入转发状态)
转发(Forwarding) 正常转发数据和 BPDU,参与数据传输

4. 实操注意事项

  • 优先级配置:必须是 4096 的整数倍(华为设备限制),否则命令执行失败
  • 根桥选举:建议通过stp root primary/secondary直接配置,比手动改优先级更便捷
  • 端口阻塞:STP 会自动阻塞冗余端口(非根端口、非指定端口),无需手动关闭
  • 验证要点:用display stp确认根桥 ID、根端口编号、指定端口状态,确保配置生效
相关推荐
catoop2 小时前
生产环境 nginx 推荐配置
运维·nginx
啵啵啵啵哲2 小时前
【输入法】Ubuntu 22.04 终极输入法方案:Fcitx5 + 雾凇拼音 (Flatpak版)
linux·运维·ubuntu
@淡 定2 小时前
DDD领域事件详解:抽奖系统实战
开发语言·javascript·网络
渝妳学C2 小时前
深度解析Linux中编译器gcc/g++
linux·运维
陌路203 小时前
简写网络库(2)--封装socket类
linux·服务器·网络
冷的方程式3 小时前
安装在虚拟机中的kali设置网络联接
网络
安卓程序员_谢伟光3 小时前
如何监听System.exit(0)的调用栈
java·服务器·前端
Xの哲學3 小时前
从硬中断到 softirq:Linux 软中断机制的全景解剖
linux·服务器·网络·算法·边缘计算
CYTElena3 小时前
JAVA关于集合的笔记
java·开发语言·笔记