网络基础之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大量发送

浙公网安备 33010602011771号