华为HCIA课堂笔记第九章 STP生成树

第九章 STP生成树

9.1 生成树的工作原理

  1. 选举一个根桥(根交换机)
  2. 每一个非根桥上选举一个根端口(去往根桥最近的端口)
  3. 在每一个链路上选举一个指定端口(向树的下游转发数据)
  4. 阻塞剩余的非根端口,非指定端口。

9.2 基本概念

  1. 根桥:生成树的树根
    1. 通过比较桥ID(称为BID),选择所有的相连二层设备中的桥 ID,越小越优
    2. 桥ID:由桥优先级(16bit)和桥MAC地址(48bit)组成(先比较桥优先级,再比较桥MAC地址)
    3. 桥优先级16bit中,仅高4bit位有效,高四位没变化一次,是一个新的优先级。即桥优先级的步长是4096,默认值是32768。
  2. Cost值:每一个启用生成树的接口维护一个STP Cost值,具体默认Cost值与接口的工作模式,带宽大小相关,带宽越大,Cost值越小。
  3. RPC(根路径开销):从本设备的接口到达根桥沿途的出接口的开销值之和。
  4. PID(接口ID):接口优先级和接口编号组成,高4bit位为接口优先级,默认128;低12bit位为接口编号。接口优先级的步长16。
  5. BPDU(桥协议数据单元):交换机通过交互BPDU携带必要参数,完成STP的选举过程。配置BPDU、TCN BPDU

9.3 BPDU报文的内容

按照三个区域记忆:

  1. 报文本身的参数:PID(Protocol ID)、PVID、BPDU type、Flags
  2. 选举参数:Root ID、RPC、BID、PID(port ID)
  3. 时间参数:消息寿命、Max Age、Hello time、Forward Delay

9.4 BPDU的传递

9.5 STP的端口角色

  1. RP端口(root port):根端口,非根交换机上距离根桥最近的端口(非根交换机上所有接口中收到最优BPDU的接口),连接根桥方向(上游)的端口
  2. DP端口(Design port):指定端口,连接下游交换机的端口。
  3. AP端口(Alternate port):去往根桥方向(上游)的RP端口的备份端口,代表去往根桥的另一路径。

9.6 STP的端口状态

|---------|---------|----------|-----------|----------|------------|
| 接口状态 | Disable | Blocking | Listening | Learning | Forwarding |
| 收发BPDU | × | 接受不发 | √ | √ | √ |
| 学习MAC地址 | × | × | × | √ | √ |
| 转发业务 | × | × | × | 只接不转发 | √ |

状态切换:

  1. 设备的所有接口开始的时候都是DP角色,Blocking状态
  2. 接口状态由Blocking状态自动切换为Listening状态,开始收发BPDU
  3. 如果设备DP端口经过选举之后成为AP接口,则端口状态切换为Blocking状态。
  4. 时间推移,如果DP端口没有被选举为AP端口,则经过Forwarding Delay时间(转发延迟时间15s)后,状态由Listening状态切换为Learning状态(15s预留给拓扑收敛的)
  5. 时间推移,DP端口没有被选举为AP端口,则再次经过Forwarding Delay时间(转发延迟时间15s)后,状态由Learning切换为Forwarding状态。(15s,预留给MAC地址学习的,避免学习到错误的MAC地址。)

9.7 STP故障恢复

  1. 根桥故障:非根桥需要老化根桥的BPDU(20s),需要重新选举根桥,接口状态切换为转发状态(2转发延迟=30s),最终需要50s恢复。
  2. 直连故障:设备仍然能接收到根桥的BPDU,不需要进行BPDU老化,只需要切换AP接口到RP,经过2个转发延迟时间(30s),进入到转发状态。
  3. 非直连故障:设备无法收到根桥的的BPDU,也没有AP作为RP的备份,此时,原RP端口故障,则需要等待20sBPDU老化时间,以及状态切换后重新选举接口角色重新确定后,进入到转发状态的时间(2个转发延迟时间)。总共50s左右。

9.8 STP拓扑变更机制

拓扑变更以及MAC地址表项更新的具体过程如下:

  1. SW3感知到网络拓扑发生变化后,会不间断地向SW2发送TCN BPDU报文。
  2. SW2收到SW3发来的TCN BPDU报文后,会把配置BPDU报文中的Flags的TCA位设置1,然后发送给SW3,告知SW3停止发送TCN BPDU报文。
  3. SW2向根桥转发TCN BPDU报文。
  4. SW1把配置BPDU报文中的Flags的TC位设置为1后发送,通知下游设备把MAC地址表项的老化时间由默认的300 s修改为Forward Delay的时间(默认为15 s)。

最多等待15 s之后,SW2中的错误MAC地址表项会被自动清除。此后,SW2就能重新开始MAC表项的学习及转发操作。

相关推荐
测试猿实操笔记5 小时前
DNS 通俗讲解:域名 ↔ IP 翻译
网络·网络协议·tcp/ip
青禾8375 小时前
Linux 操作系统入门指南:从目录结构到常用命令
linux·运维·服务器
zhengqweasd6 小时前
流量没跑满、带宽空闲,业务依然卡顿
运维·服务器·网络
liyuanchao_blog6 小时前
OVN/OVS场景下虚拟机新网卡通过 DHCP 获取 IP 地址的完整过程
网络·网络协议·tcp/ip·云计算
今天AI了吗7 小时前
DeepSeek Harness 深度解析:从评测架构到实战落地
java·网络·数据库·人工智能·架构·java-ee
M哥支付7 小时前
高频交易优选方案:银联快捷支付通道
服务器·网络·其他·微信·金融
爱倒腾的老唐7 小时前
11、误码率测试仪
网络
逍遥~1427 小时前
什么是工业级算力?算盘科技的核心能力解析
网络·人工智能·科技
Y3815326627 小时前
Docker Compose 服务依赖与健康检查:healthcheck 让容器按正确顺序启动
运维·docker·容器
稳联技术老娜8 小时前
伺服内嵌EtherNet IP方案:嵌入式小板SPI通讯固件Demo程序适配改造
运维·服务器·网络