某企业“不可能”网络故障分析报告
该网络为电信营业点,营业终端通过hub接入,上行链路采用以太口接入到机房的cisco2513路由器上,访问网络核心的数据库。
故障描述及排障过程
电信营业点处于住宅区内,在运行一段时间之后,出现故障:所有终端连续几天从晚上7时许开始不能连接数据库。接到报障后感到不可思议,当天晚上同事到现场排除故障,终端不能ping通网关。
检查路由器的配置,没有问题。晚上进行故障排除。到现场的终端用:ping 192.168.2.14 –t连续ping 网关,出现一个奇特的现象:大约一分钟之内,timeout;之后偶儿能ping通,随着时间的增加,能ping通的次数越来越多,到后来(大约3分钟)全都ping通,没有timeout。
用控制口登陆路由器,检查配置文件,接口状态、内存、路由器负载,一切正常。用show arp,发现所有活跃的终端地址在路由器的arp表中的生存时间一致,都很短(一分钟左右,大约是终端PING通网关后的时长);是否在没有PING通之前,路由器没有存在活动终端的ARP表?若是这样,表明在不通之时,路由器没有收到终端的ARP广播,或者终端根本没有发ARP请求?
在路由器上debug arp,发现始终三台终端(192.168.2.3)120秒发ARP请求,网关给以回答,另一台长时间没有发ARP请求。在终端ping通网关之后,业务受理正常,故障没有出现。
为此进行人工故障重现:切断路由器与HUB的连线,在路由器上clear arp,debug arp;重启动所有终端,启用sniffer进行捕捉,在终端启动之后,将路由器与hub的连线接上,在终端连续ping网关,timeout,在这期间,sniffer没有捕捉到数据包,路由器的debug没有输出,过一段时间,有几个包能ping通网关,sniffer捕捉到这几个包,ARP的debug有输出。在过一段时间,所有的包都能PING通网关。
该故障重现证明了终端PING不通网关的原因:路由器没有受到ARP请求。为什么?根据在终端没有ping 通网关时候,sniffer没有捕捉到包,对于HUB ,终端发的包sniffer应该捕捉到,捕捉不到有:HUB问题、线问题、终端问题。再进行故障重现,用笔记本与自己的连线连接HUB,故障重现;将笔记本直接接在路由器,PING通网关没有timeout,故障定位在HUB。
故障的可能是HUB的热稳定性问题,当加电时间长,HUB出现不稳定,故障出现。营业点在更换HUB之后,故障依旧;再次分析sniffer捕捉数据包(ICMP),发现终端向网关正常发ICMP 的eoch包,有时网关没有回复。既然sniffer与终端、路由器接在同一个HUB上,sniffer能捕捉到终端发的数据包,说明HUB与终端、工作站的连接正常;根据反映,工作站之间的连接是正常的;问题出在哪?
从分析结果,终端发94个包,路由器回45个,有49个包没有回复。为什么路由器没有回复这49个包?是路由器问题,还是其他问题?可以通过以下进行测试:
断开路由器与HUB的连接,对路由器clear ip accounting。重启终端,启用sniffer进行数据包的捕捉,连接路由器与HUB,在终端用连续ping网关,若路由器进出的记数一致,但终端有timeout,sniffer捕捉到的数据包不一致,则表明路由器没有问题,问题可能出现在路由器与HUB的连接上,可能是AUI转换器。若路由器进出数据包不一致,则表明路由器接口或路由器有问题。经过测试,进出路由器接口数据包一致,但数据包的数量比终端发出的数据包少,这表明路由器没有问题,问题在AUI转换器或HUB。
更换AUI,故障仍存在,再次更换HUB,故障不变;在白天按在晚上故障重现方法进行故障重现,故障不能重现。结合故障发生都在晚上7点前发生,很有规律性,因此判断最大可能是网络运行环境问题。由于整个营业点设备使用的电源都经过稳压器进行稳压后供电,所以对于电源问题一直认为可靠。但是根据这几天对故障的分析排查,我们认为营业点的稳压器仅对电源进行稳压,没有进行浪涌吸收、过滤处理,在晚上7点前,刚好是用电高峰,大量电器的开启,使电源存在大量尖峰脉冲,会对逻辑门电路造成影响。
基于以上分析判断,考虑到UPS具有过滤电源与浪涌吸收的能力,增加一台UPS对HUB、路由器进行供电,故障立即消除。该“不可能”的故障表明在住宅区内连接网络,要重视网络运行环境,尤其是电源质量。