二层网络振荡导致NE80E直连ping少量丢包

发布时间:  2012-12-13 浏览次数:  68 下载次数:  1
问题描述
 

从NC系统内服务器ping位于NE80E上的网关丢包1.5%左右

处理过程
 

1、由于NE80E无法统计自己回应的ping echo报文,所以在NE80E上做流量统计无法准确判断NE80E是否完全正确回应了ping request报文;但是统计发现NE80E的确全部收到NC 服务器发出的ping request报文。
2、现场在NE80E下直挂PC ping NE80E,发现丢包依旧,抓包发现NE80E能够全部收到PC发出的ping request报文,但是有的报文却没有回应,至此可以判断丢包发生在NE80E上。
3、对抓的报文(具体见附件:icmp-packet)进行分析发现NE80E每次丢包时都会发送一次ARP请求报文,从而可以判断NE80E之所以丢包是由于ARP表项缺失所致。

4、通过查看NE80E的ARP表项发现其刷新频繁,老化时间一直为20,即NE80E至少每分钟刷新一次ARP。
5、查看logbuffer日志没有发现异常。
6、查看硬盘日志发现有大量BPDU报文从9/0/23端口送过来(约每30秒钟一次):
Feb 25 2009 01:23:37 DongZhiMen_NE80E_1 %%01MSTP/6/RECEIVE_CISTTC(l): MSTP received BPDU with TC, instance 0, port name is GigabitEthernet9/0/23.
依此可以判断NE80E ARP频繁刷新的原因是由于其频繁收到BPDU报文。
7、根据该日志信息,顺着9/0/23端口向下检查,结果在NE80E下挂的一台S8016上发现某一端口在频繁UP/DOWN,从而产生了大量BPDU报文。
8、关闭S8016上频繁UP/DOWN端口后,NC服务器ping NE80E恢复正常(丢报率为0)。

根因

下挂交换机端口频繁振荡,产生大量BPDU报文导致ARP表项频繁刷新

解决方案
建议与总结
1.NE80E收到BPDU的日志等级比较低,默认情况下在logbuffer中不记录。 2.交换机连接服务器的端口强烈建议设置为STP边缘端口并在交换机全局启用BPDU protection从而避免不必要的BPDU报文产生。 3.NE80E收到BDPU报文后对ARP表项的处理方式有2种: a、Fast:NE80E收到BPDU报文后立即删除本stp instance内端口所有相关ARP表项,然后基于流量驱动进行重新学习。 b、Normal:NE80E收到BPDU报文后将相关ARP表项老化时间置0,然后按正常ARP老化更新机制进行ARP更新。 Fast方式STP刷新收敛时间较快但容易引起网络频繁振荡,Normal模式较慢但较稳定,具体使用可以根据网络具体情况选择一种。路由器缺省是fast方式还是normal方式,需要查对应版本的命令参考确认。.

END