华为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表项的学习及转发操作。

相关推荐
摸鱼也很难1 小时前
Docker 镜像加速和配置的分享 && 云服务器搭建beef-xss
运维·docker·容器
woshilys2 小时前
sql server 查询对象的修改时间
运维·数据库·sqlserver
疯狂飙车的蜗牛2 小时前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
恩爸编程3 小时前
探索 Nginx:Web 世界的幕后英雄
运维·nginx·nginx反向代理·nginx是什么·nginx静态资源服务器·nginx服务器·nginx解决哪些问题
SoraLuna3 小时前
「Mac畅玩鸿蒙与硬件47」UI互动应用篇24 - 虚拟音乐控制台
开发语言·macos·ui·华为·harmonyos
Michaelwubo4 小时前
Docker dockerfile镜像编码 centos7
运维·docker·容器
远游客07134 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
好像是个likun5 小时前
使用docker拉取镜像很慢或者总是超时的问题
运维·docker·容器
冷眼看人间恩怨5 小时前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget
fantasy_arch6 小时前
CPU性能优化-磁盘空间和解析时间
网络·性能优化