S5700下挂交换机eth-trunk配置不对称导致全网业务中断

发布时间:  2016-10-14 浏览次数:  242 下载次数:  0
问题描述

某局点客户通知全网网络中断,需要现场协助排查,现场了解网络拓扑如下:

S12700作为核心承载所有业务的网关,S5700-1与S5700-2作为汇聚,下接接入交换机或用户;

告警信息
登录核心S12700查看设备logbuff,发现存在MAC漂移日志,现网为有线网络无无线用户,出现MAC漂移一般有以下几种情况:
①网络出现环路;②无线用户漫游;③网络攻击;④用户网络位置迁移;
处理过程

1.登录核心查看CPU使用率,CPU使用率正常;
2.查看核心S12700 logbuff和trapbuff,发现存在MAC漂移现象,根据现场了解的情况,排除以上第②和第④可能性;
3.根据MAC漂移日志追查异常MAC学习的源端口,发现从S5700-1上学习到,登录S5700-1上继续追查MAC源端口,发现该MAC从S5700-1的上行学习到;至此可判断网络中S12700与S5700-1之间存在环路;
4.返回核心S12700查看与S5700-1互联接口配置,发现核心侧配置了链路聚合且放行所有vlan,而S5700-1与S12700互联的两条链路未做捆绑且放行所有vlan;
5.删除S5700-1两条上行链路配置并加入聚合组后业务恢复正常。

根因

两侧eth-trunk配置不对称,一端配置链路聚合另一端未配置链路聚合导致环路。如下图所示:

SW1与SW2双链路互联,其中SW1两个端口做捆绑eth-trunk0,SW2的P1和P2端口未做捆绑,
当SW1上收到未知单播帧或广播包时会向其他接口泛洪,如图,假设SW1上从P0接口收到一个广播包,SW1会向其他接口(除了P0口)泛洪该广播包,当该数据包从eth-trunk0转发出去后,因SW2也不识别该数据包,也会继续泛洪该数据包,假设SW2从P1口接收到该数据包,会继续从P2口转发(不改变数据包的源目MAC),此时SW1又会从eth-trunk0口接收到该数据包,导致MAC表发生变化(MAC表中正常用户的MAC地址学习端口由P0口变为P2口),从而引起网络故障。若网络中有大量未知单播帧或广播包会导致交换机资源耗尽引起网络完全瘫痪。
以上情况即使设备两端都开启生成树,都不会阻塞任何端口。
正常情况二层网络环境下会有VLAN隔离仅会影响发生环路vlan的用户,该网络环境下因交换机互联端口是放行的所有VLAN,会导致所有VLAN都产生环路引起所有用户都会有此类情况发生。

解决方案
将友商交换机上行链路做聚合,与上行交换机配置对称。
建议与总结
1.现网中有链路聚合对接的场景,一定要仔细确认两端是否都已正确配置聚合组,确认无误后再开启端口;
2.交换机互联接口尽量只放行使用vlan,不要图方便放行所有vlan,且vlan1在不使用的情况下不要放行。

END