STP生成树协议是一种二层管理协议,由IEEE制定的802.1D标准定义,用于在局域网中消除数据链路层物理环路的协议。它通过选择性地阻塞网络中的冗余链路来消除二层环路,同时还具备链路备份的功能。
运行该协议的设备通过彼此交互信息发现网络中的环路,并有选择的对某些端口进行阻塞,最终将环路网络结构修剪成无环路的树型网络结构,从而防止报文在环路网络中不断增生和无限循环,避免设备由于重复接收相同的报文造成的报文处理能力下降的问题发生。
STP采用的协议报文是BPDU(Bridge Protocol Data Unit,桥协议数据单元),也称为配置消息。本文中将把生成树协议的协议报文均简称为BPDU。
STP通过在设备之间传递BPDU来确定网络的拓扑结构。BPDU中包含了足够的信息来保证设备完成生成树的计算过程。STP协议的BPDU分为以下两类:
1、配置BPDU(Configuration BPDU):用来进行生成树计算和维护生成树拓扑的报文。
2、TCN BPDU(Topology Change Notification BPDU,拓扑变化通知BPDU):当拓扑结构发生变化时,用来通知相关设备网络拓扑结构发生变化的报文。
BPDU中包含有足够的信息来保证设备完成生成树的计算过程,其中包括:
· 根桥ID:由根桥的优先级和MAC地址组成;
· 根路径开销:到根桥的路径开销;
· 指定桥ID:由指定桥的优先级和MAC地址组成;
· 指定端口ID:由指定端口的优先级和该端口的全局编号组成;
· Message Age:BPDU在网络中传播的生存期;
· Max Age:BPDU在设备中的最大生存期;
· Hello Time:BPDU的发送周期;
· Forward Delay:端口状态迁移的延迟时间。
了解完STP运行原理,我们来看某运营商局点,在开启STP协议的情况下,将一台设备加入网络中,依然产生了网络环路,形成广播风暴,导致全网业务中断等问题。
组网拓扑
核心为125-X设备,开启STP协议。客户新入网一台75E设备,在割接过程中,客户将75E上两根线接入到125-X上,希望借助STP阻塞其中一个端口,用于形成链路备份。
客户将75E接入网络后发现,现网业务全部出现丢包或者中断,同时各个端口有流量突发,同时观察S125-X的1口和2口,发现STP并未将端口正常阻塞。紧急下线75E后故障消失。
1、查看S125-X侧配置,全局开启MSTP。
2、查看S75E侧配置,全局关闭STP
3、查看S75E侧MAC地址漂移信息
===============debug l2 21 0 mac/move_rec/show===============
===================================================================
===================L2MACMOVEMODULE INFO======================================
L2MacMoveModule Enabled
L2MacMoveDebug Switch Off
===========================L2MACMOVE Record INFO===========================
MacAddress Vlan Agg Mod Port ->Agg Mod Port Cnt LatestTime Del
80:f6:2e:44:54:5 301 0 6 2 ->0 22 2 59 2016/6 /24 10:28:38 1
c :da:41:4d:49:0 301 0 6 2 ->0 22 2 91 2016/6 /24 10:28:5 1
3c:8c:40:0 :37:22 301 0 6 2 ->0 22 2 76 2016/6 /24 10:28:39 1
5c:f3:fd:38:72:b5 301 0 6 2 ->0 22 2 10 2016/6 /24 10:26:48 1
5c:dd:70:c3:be:7c 301 0 6 2 ->0 22 2 59 2016/6 /24 10:19:52 1
70:ba:ef:77:fa:84 301 0 6 2 ->0 22 2 56 2016/6 /24 10:28:42 1
70:ba:ef:77:fa:90 301 0 6 2 ->0 22 2 63 2016/6 /24 10:28:18 1
58:6a:b1:50:9b:61 301 0 6 2 ->0 22 2 73 2016/6 /24 10:28:9 1
0 :5 :33:dd:f1:6e 301 0 6 2 ->0 22 2 74 2016/6 /24 10:28:36 1
58:6a:b1:f0:19:fa 301 0 6 2 ->0 22 2 49 2016/6 /24 10:27:38 1
80:f6:2e:48:d5:84 301 0 6 2 ->0 22 2 79 2016/6 /24 10:28:43 1
70:ba:ef:66:f9:0 301 0 6 2 ->0 22 2 81 2016/6 /24 10:28:44 1
0 :27:f8:26:6e:94 301 0 6 2 ->0 22 2 72 2016/6 /24 10:27:57 1
80:f6:2e:43:f4:10 301 0 6 2 ->0 22 2 75 2016/6 /24 10:28:25 1
58:6a:b1:f0:1a:13 301 0 6 2 ->0 22 2 39 2016/6 /24 10:26:29 1
74:25:8a:da:76:11 301 0 6 2 ->0 22 2 52 2016/6 /24 10:28:31 1
5c:dd:70:15:7 :a2 301 0 6 2 ->0 22 2 29 2016/6 /24 10:20:18 1
发现大量MAC地址在VLAN 301内漂移,而且漂移端口就是75E上的1口和2口
4、查看125-X端口配置
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
description to_75_Ten1/0/1
port link-type trunk
undo port trunk permit vlan 1
port trunk permit vlan 301
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
description to_75_Ten1/0/2
port link-type trunk
undo port trunk permit vlan 1
port trunk permit vlan 301
5、查看75E端口配置
interface Ten-GigabitEthernet1/0/1
port link-mode bridge
description to_75_Ten1/0/1
port link-type trunk
undo port trunk permit vlan 1
port trunk permit vlan 301
interface Ten-GigabitEthernet1/0/2
port link-mode bridge
description to_75_Ten1/0/2
port link-type trunk
undo port trunk permit vlan 1
port trunk permit vlan 301
通过查看配置及设备历史纪录可以看到,75E侧有大量MAC地址漂移,和故障时刻流量突增。可以确认为故障时刻发生了环路。
分析125-X及75E配置可以确认为配置错误导致的环路。
具体原因为:
1、S75E全局关闭STP,此时stp的BPDU报文在75E上会被当作普通报文进行透传
2、S125-X发送的STP报文不会携带VLAN tag
3、S75E侧与S125-X对接的端口均为TRUNK端口且无VLAN tag。
4、此时S125-X端口1发送的stp bpdu报文,到达S75E后,就会由于报文本身没有VLAN tag,而S75E端口也不会给报文加上VLAN tag,此时该BPDU报文就会被S75E端口1丢弃,无法转发至端口2。端口2发送的BPDU报文同理无法转发到端口1.
5、由于S125-X无法正常接收自己发送的BPDU报文,则无法正常计算出环路,会将1口和2口全部置为转发状态,此时环路就会形成。
熟练掌握STP的基本原理,及在我司设备上实现方式。
1、互联端口打上相同的VLAN tag
2、75E开启STP协议
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作