本案例是多年之前遇到的一个真实故障处理过程,之后回想整个过程觉得比较有意思,因此将故障排查记录下来,现在将其分享出来,在其中隐藏了部分敏感信息。由于当时主要是做华为的服务,客户报的故障为S7700交换机的问题,因此本故障排查之初即在于S7700交换机。往往客户报的故障只是一个现象,而该现象又往往具有不确定性,因此我们需要认真的去分析网络环境,以及数据流走向,抓往一个故障点,突破一个故障面的问题。 一、问题描述

			两台S7700交换机配置VRRP,所有的流量主要走S3700、主S7700交换机、主H3C路由器上行至省分行,组网情况如下:

故障现象:部分终端访问省分行的服务器特别慢,而同网段的其他终端访问又正常。 备注:客户反馈的故障是某客户端有的时候访问某些服务慢,有的时候又正常,现象比较模糊。 二、处理过程 对此问题的分析,选择了几个特定的地址进行测试,选择的地址如下: 测试服务器地址:11.X.17.1 测试客户端IP地址分别为11.X.161.104(异常)以及11.X.161.106(正常)。 两台测试用的客户端连接在S3700,网关位于S7700交换机,服务器位于上级单位。 1.首先抓取了两台S7700以及S3700交换机的配置分析,配置正确; 2.在两台客户机上tracert 11.X.17.1服务器地址,路径一致; 3.在两台客户机上ping 11.X.17.1服务器地址,均可以正常的ping通,有时11.X.161.104的延时会明显大于11.X.161.106; 4.在两台客户机同时通过http访问11.X.17.1服务器,11.X.161.104无法打开网页,11.X.161.106正常; 5.将备S7700交换机关机,故障现象消除,两台客户端均可以通过http正常访问服务器; 6.将两台客户的IP地址对调,发现故障跟随IP地址走。 由于VRRP的主在主S7700交换机,流量上行走主链路到达服务器,通过上面的测试猜测报文在回包的时候被丢到了备S7700交换机。 7.在主S7700交换机以及备S7700交换机的上行接口同时抓包,发现如下的现象: a. 主S7700交换机G3/0/12接口同时抓取到了两台客户端ping服务器、http访问服务器的报文; b. 备S7700交换机G3/0/12接口只抓到客户端的icmp reply报文,无任何请求报文, 并且出现大量的TCP重传,备交换机的抓包截图如下: 由此可以明确数据上行的时候全部走的主链路、数据包回程的时候部分流量走到了备交换机,交换机本身只做数据包的转发。通过分析网络结构,怀疑出现此现象的原因在H3C路由器及其以上的链路、上级机构路由器回程路由存在问题。继续做如下测试: 8.将备H3C路由器关机,网络正常; 9.将备H3C路由器上行链路断开,只保留主H3C路由器上行链路,故障恢复; 10.将主H3C路由器上行链路断开,只保留备H3C路由器上行链路,故障复现; 同时现场了解到的情况,备H3C路由器上行接口带宽为2M线路,客户的网络结构为主备,而不是负载,因此理论上讲备线路上不应该有回程报文,同时即使回程报文进行了负载,那么当数据全部走备线路回应的时候应该也是正常的,而实际上只有备线路仍然存在故障。综合上面的测试得出如下的结论: 1.华为交换机S7700只根据上下行设备转发过来的数据进行转发,在该网络环境中工作正常; 2.上级单位的设备在处理报文的回程转发时存在异常,需要协调上级单位进行排查; 3.备H3C路由器的上行线路存在问题需要进一步排查。 三、根因

1.省分行的下联路由器到市分行的路由选路存在问题;

2.联通的线路存在问题。 四、解决方案

1.在省分行调整选路;

2.联通的线路带宽不够,增加带宽。 五、建议与总结 对于这类网络涉及面较大的问题建议理清故障现象,从一个故障现象找到突破口;从一个突破口再扩展到整网的排查。