【网络基础】STP原理

目录

一. 概念
二. STP工作原理

  1. 二层交换网络
  2. 广播风暴
  3. MAC地址表震荡
  4. STP的作用
  5. STP操作
  6. 跟桥选举
  7. 根端口选举
  8. 端口状态转换
  9. BPDU
  10. 计时器
  11. 故障

一.概念

为了提高网络可靠性,交换网络中通常会使用冗余链路。然而,冗余链路会给交换网络带来环路风险,并导致广播风暴以及MAC地址表不稳定等问题,进而会影响到用户的通信质量。生成树协议STP(Spanning Tree Protocol)可以在提高可靠性的同时又能避免环路带来的各种问题。

二.STP工作原理

1. 二层交换网络

在这里插入图片描述
二层交换网络中会有多条链路互连,虽然提升网络可靠性,但也会带来环路问题

2. 广播风暴

在这里插入图片描述

如图,例如主机A发送一个广播帧,SWB会执行泛洪操作,转发给SWA和SWC,此时SWA也收到一个广播帧,也会执行泛洪,发送给SWC,此时SWC收到了两次广播帧,并且自己又会执行泛洪操作发给主机B和SWB,SWB又会泛洪给主机A和SWA,无限循环。这就造成了一个广播风暴。

3. MAC地址表震荡

在这里插入图片描述

主机A发送数据帧后MAC地址和G0/0/3接口形成对应关系存在SWB的MAC地址表中,在环路中进行转发操作后又回到SWB与G0/0/2接口形成对应关系存入SWB的MAC地址表中,就会造成地址表震荡。

4. STP的作用

  • 消除环路:逻辑阻塞一条链路
  • 链路备份:

5. STP操作

  1. 选举一个根桥。
  2. 每个非根交换机选举一个根端口。
  3. 每个网段选举一个指定端口。
  4. 阻塞非根(既不是根端口又不是指定端口)、非指定端口。

端口角色:

  • RP:根端口(非根桥向根桥发送数据)
  • DP:指定端口(发送BPDU)
  • AP:阻塞端口(只能接受BPDU)

6. 根桥选举

在这里插入图片描述
通过BPDU(桥数据单元)中的BID(桥优先级(必须是4096的倍数,缺省值为32768)+设备MAC地址)来选举根桥,BID越小,优先级越大。

交换机启动后就自动开始进行生成树收敛计算。默认情况下,所有交换机启动时都认为自己是根桥,自己的所有端口都为指定端口,这样BPDU报文就可以通过所有端口转发。对端交换机收到BPDU报文后,会比较BPDU中的根桥ID和自己的桥ID。如果收到的BPDU报文中的桥ID优先级低,接收交换机会继续通告自己的配置BPDU报文给邻居交换机。如果收到的BPDU报文中的桥ID优先级高,则交换机会修改自己的BPDU报文的根桥ID字段,宣告新的根桥。

7. 根端口选举

非根交换机在选举根端口时分别依据该端口的根路径开销、对端BID、对端PID(端口号+端口优先级(缺省值为128))和本端PID。

8. 指定端口选举

非根交换机在选举指定端口时分别依据根路径开销、本端BID、本端PID。
未被选举为根端口或指定端口的端口为预备端口,将会被阻塞(阻塞端口)。

9. 端口状态转换

在这里插入图片描述

  • Disabled:禁用状态(不收发任何报文)
  • Blocking:阻塞状态(不收发数据,但收BPDU)
  • Listening:监听状态(不收发数据,但可以发送并接受BPDU)
  • Learning:学习状态(不收发数据,但可以收发BPDU并开启地址学习)
  • Forwarding:转发状态(收发数据和BPDU,并且可以进行地址学习)
  1. 端口初始化或使能;
  2. 端口被选为根端口或指定端口。
  3. 端口不再是根端口或指定端口。
  4. forward delay计时器超时。
  5. 端口禁用或链路失效。

10. BPDU

在这里插入图片描述

  • PID:协议ID
  • PVI:协议版本
  • BPDU Type:
    配置BPDU
    TCN BPDU
  • Flags:标识位
    TC:拓扑变化标识
    TCA:拓扑变化确认标识
  • Root ID:根桥ID
  • RPC:根路径开销
  • Bridge ID:桥ID
  • Port ID:端口ID
  • Message age:生存期
  • Max age:最大生存期(20s)
  • Hello time:发送BPDU的时间间隔
  • Fwd delay:转发延迟(15s)

11. 计时器

配置BPDU报文每经过一个交换机,Message Age都加1。
如果Message Age大于Max Age,非根桥会丢弃该配置BPDU。

12. 故障

12.1 根桥故障
在稳定的STP拓扑里,非根桥会定期收到来自根桥的BPDU报文。如果根桥发生了故障,停止发送BPDU报文,下游交换机就无法收到来自根桥的BPDU报文。如果下游交换机一直收不到BPDU报文,Max Age定时器就会超时(Max Age的默认值为20秒),从而导致已经收到的BPDU报文失效,此时,非根交换机会互相发送配置BPDU报文,重新选举新的根桥。根桥故障会导致50秒左右的恢复时间,恢复时间约等于Max Age加上两倍的Forward Delay收敛时间。

12.2 直连链路故障
SWB检测到直连链路物理故障后,会将预备端口转换为根端口。
SWB新的根端口会在30 秒后恢复到转发状态。

12.3 非直连链路故障

发布了30 篇原创文章 · 获赞 9 · 访问量 1120

猜你喜欢

转载自blog.csdn.net/TKE_Yolanda/article/details/105525041
STP