S12708定期丢包的定位手段及快速规避方案

发布时间:  2016-01-28 浏览次数:  309 下载次数:  0
问题描述

现网版本:

现网版本为V200R007C00SPC500并打上S12700-V200R007SPH007.pat最新补丁。

现网拓扑:

该园区网组网图是常规的三层结构,S12708堆叠设备作为核心交换机,下挂S7706设备作为汇聚交换机,S7706下挂S37/27作为接入侧交换机。

故障现象:

用户使用数据网访问Internet时候,定期出现卡顿现象。用户通过长ping的方式,检查网络,发现定期性的出现丢包,导致上网用户体验较差。具体表现为每隔10分钟左右就丢10-15个包。


告警信息

处理过程

处理过程:

1、在逐台设备上采用流量统计的方法,确认丢包点在哪台设备上;通过配置流量统计,进行长ping,并观察现象。 显示汇聚交换收到电脑发出的219个包,传给核心交换机219个包,核心交换机向待升级的汇聚交换机发送个219包,收回219个包。但是发回给B栋汇聚交换机204个包,B栋汇聚交换发回个电脑204个包。 证实了核心交换机12708上发生了丢包。

2、通过在S12708上搜集信息并定位, 发现导致丢包的原因是S127设备定期接收大量的TC报文(MSTP协议产生),当S127收到大量TC报文,会导致s127设备的ARP表象频繁刷新,每当刷新的时候就会出现短暂的丢包。

 [S12708]disp stp tg c- s

-------------------------- STP TC/TCN information --------------------------

MSTID Port                        TC(Send/Receive)      TCN(Send/Receive)

0     XGigabitEthernet1/4/0/0     12549/2               0/0

 1     XGigabitEthernet1/4/0/0     12551/0               -/-

0     GigabitEthernet1/1/1/7      12007/0               0/2

 0     GigabitEthernet1/2/1/7      0/12795               0/0

 1     GigabitEthernet1/2/1/7      0/12797               -/-

 0     GigabitEthernet2/2/1/7      12795/0               0/0

0     Eth-Trunk14                 408/1932              0/0

 1     Eth-Trunk14                 408/1932              -/-

 0     Eth-Trunk15                 2320/29               0/0

 1     Eth-Trunk15                 2321/29               -/-

  ---- More ----

 从上面信息可以看出,就收tc报文的端口主要是Ge1/2/1/7Eth-trunk 14这两个接口。

 通过命令行查看stp 拓扑变化,即display stp topology-change

[S12708]disp stp topology-change

 CIST topology change information

   Number of topology changes             :3864

   Time since last topology change        :0 days 0h:10m:36s

   Topology change initiator(notified)    :Eth-Trunk10

   Topology change last received from     :04f9-38c5-98a0

   Number of generated topologychange traps :   149

   Number of suppressed topologychange traps:   101

 

MSTI 1 topology change information

   Number of topology changes             :3862

   Time since last topology change        :0 days 0h:10m:36s

   Topology change initiator(notified)    :Eth-Trunk10

   Topology change last received from     :04f9-38c5-98a0

   Number of generated topologychange traps :   149

   Number of suppressed topologychange traps:   101

可以看出网络非常不稳定,10分钟前发生了一次网络topo改变,topo改变导致arp刷新。

通过分析日志信息,我们可以看到这两个端口确实收到很多TC报文

cid:image001.png@01D153AA.8D4944F0

通过查看日志信息,我们发现S127下挂的设备存在网络环路,正是因为不断出现环路,导致mac漂移,才出现topo变化,发送tc报文,导致S127收到大量该报文,刷新arp,导致丢包。

cid:image002.png@01D153AA.8D4944F0

根因

现在根因就是网络中出现环路,正是由于网络出现环路,导致mac漂移,才出现topo变化,发送tc报文,导致S127收到大量该报文,刷新arp,导致丢包。

解决方案

解决方案:

1、在连接终端PC接入交换机接口配置stp边缘端口,即在交换机端口上配置stp  edge-port enable。对于运行生成树协议的二层网络,与终端相连的端口不用参与生成树计算,这些端口参与计算会影响网络拓扑的收敛速度,而且这些端口的状态改变也可能会引起网络震荡,导致用户流量中断。此时,可以通过执行命令stp edged-port enable将当前端口配置成边缘端口,该端口便不再参与生成树计算,从而帮助加快网络拓扑的收敛时间以及加强网络的稳定性。

2、在S12708的系统试图下配置arp topology-change disablemac-address update arp功能。如果网络的拓扑变化频繁,或者网络中设备的ARP表项很多,ARP的重新学习会导致网络中的ARP报文过多,极大地占用系统资源,影响其他业务的正常运行。为了尽量避免这种情况的发生,可以执行命令arp topology-change disable,去使能设备响应TC报文的功能,这样即使网络的拓扑发生了变化,网络中设备的ARP表项也不会被老化或者删除。执行此命令arp topology-change disable,去使能设备响应TC报文的功能后,当网络的拓扑发生变化的时候,系统的ARP表项不再进行老化或者删除操作,如果未对设备使能“MAC刷新ARP”功能,此时由于设备中保存的ARP表项没有得到及时刷新,可能导致用户业务中断。因此建议执行命令mac-address update arp,使MAC刷新ARP功能。

通过配置这3个命令行,规避该问题,客户现网使用再未丢包。

建议与总结

丢包问题是数通里面最常见也是最难定位的问题,遇到这类问题,我们首先按照丢包的流程一步一步进行排查,即:

按照这种定位思路,一般可以解决丢包问题。最常见导致丢包的原因就是由于2层环路导致,此时我们需要检查设备是否收到大量TC报文,因为大量TC报文上送会导致ARP表象刷新,刷新的时候势必会导致流量中断一段时间。找到丢包点后,我们可以通过在本机配置命令去规避刷新的问题,也需要去进行排查出现环网的设备在哪里,从源头上解决环网问题。

END