网络基础之STP

环路问题

1、二层环路(Layer 2 Loop)

  • 定义:二层环路发生在数据链路层,通常是由于以太网交换机之间的物理或逻辑连接形成了闭环所致。
  • 影响:二层环路会导致广播风暴或MAC地址表震荡,即广播帧在环路中不断循环,消耗大量带宽,导致网络拥塞,甚至网络瘫痪。
  • 常见原因:交换机端口配置错误、冗余链路没有正确实施生成树协议(如STP、RSTP、MSTP)。
  • 解决方法:使用生成树协议(STP/RSTP/MSTP)来阻塞环路中的一部分链路,确保任一时刻只有一条活动路径。

2、三层环路(Layer 3 Loop)

  • 定义:三层环路发生在网络层,通常是由于路由器之间的路由配置错误或路由协议问题导致的。
  • 影响:三层环路会导致路由环路,即数据包在路由器之间循环,造成路由不稳定,增加延迟,消耗路由器资源,可能导致路由黑洞。
  • 常见原因:不正确的静态路由配置、动态路由协议(如OSPF、EIGRP、BGP等)配置错误或路由协议未能正确收敛。
  • 解决方法:检查并修正路由配置,确保路由协议正确实施,使用路由协议的特性(如水平分割、毒性逆转等)来避免环路。

生成树协议

STP(SpanningTree Protocol,注成树协议)是用于在局域网中消除数据链路层物理环路的协议。
通过在桥之间交换BPDU(Bridge Protocol Data Unit桥协议数据单元),来保证设备完成生成树的计算过程 。

BPDU

1、定义

桥协议数据单元,用于传递STP协议相关报文

2、分类

  • 配置BPDU:用于传递STP的配置信息
  • TCN BPDU:用于通告拓扑变更信息

STP的选举机制

1、在所有交换机中选举出一台作为根网桥(Root bridge)

  • 选举规则
    Bridge-id小的优先

  • Brideg-id
    定义:桥ID,BID,用来标识交换机身份
    格式:优先级 + Mac地址;优先级默认32768,必须是4096的倍数;

2、每台非根网桥(交换机)选举出一个根端口(Root port)

  • 开销
    Cost,代表路径耗费的代价和成本,带宽越大,开销越小

  • 选举规则

1.到达根网桥开销小的优先
2.对端交换机BID小的优先
3.端口ID小的优先

3、每个物理段上选举出一个指定端口(Designated port)

  • 选举规则
1.到达根网桥开销小的优先
2.本机BID小的优先
3.端口ID小的优先

4、剩下没有角色的端口就是阻塞端口(Blocked Port)

STP的初始化流程

交换机的端口状态

disable:禁用状态,被关闭的端口
blocking:阻塞状态,接收BPDU,但不发送BPDU,不学习Mac地址,不转发数据
listening:监听状态,接收并发送BPDU,不学习Mac地址,不转发数据,持续15秒(选举根网桥,根端口等操作在此步骤)
learning:学习状态,接收并发送BPDU,学习Mac地址,不转发数据,持续15秒
forwarding:转发状态,接收并发送BPDU,学习Mac地址,转发数据

STP计时器

1、Hello time

  • 2秒
  • 配置BPDU的发送周期

2、Max age

  • 20秒
  • 判断链路故障的时间,10个Hello time周期

3、Forwarding delay

  • 15秒
  • 状态切换延迟

STP的拓扑变更机制

1、Max age超时/有接口变更为转发状态,判断为拓扑发生变更,向根网桥发起TCN BPDU
2、收到TCN BPDU的交换机继续向根网桥转发TCN BPDU,到达根网桥为止
3、根网桥收到TCN BPDU后,向所有端口发起TC置位的配置BPDU
4、交换机收到TC置位的配置BPDU后,Mac地址表的老化时间缩短到15秒

STP的问题

1、收敛速度慢,故障切换时间太长
2、网络中大量主机频繁上下线,会导致TCN BPDU以及TC置位BPDU大量发送

posted @ 2025-04-02 17:01  *一炁化三清*  阅读(105)  评论(0)    收藏  举报