【经验分享】复杂网络环境下路由器配置问题导致业务故障处理案例分享

IT实战基地
1
文章
0
评论
2020-03-0123:09:05【经验分享】复杂网络环境下路由器配置问题导致业务故障处理案例分享已关闭评论 1,242
Lead
    网络中的互联设备趋于复杂化,不同的网络环境引用了不同的网络技术,在发生网络变更后会出现一些比较奇怪的网络问题。本次简单分享一个单位网络搬迁后出现对外应用服务器业务无法访问的案例,通过一切外部表象进行初步分析,配合一些深入的测试工作定位故障点,最后快速恢复业务。
故障描述

 

某日,某生产单位从公司A搬迁至公司B,搬迁后办公电脑192.168.20.99访问业务网站(http://172.16.20.99:8082/web/)无法打开,从办公电脑ping 192.168.20.99能通,telnet 172.16.20.99的8082端口也正常。电脑访问其他业务系统也正常。

【经验分享】复杂网络环境下路由器配置问题导致业务故障处理案例分享插图

现场网络拓扑图

处理过程

1、经过简单ping、tracert后,发现办公电脑可以正常ping对外应用WEB网站,并且使用telnet 172.16.20.99 8082也可以正常打开端口,说明网络路由正常及端口已开通。

2、进行ping、tracert功能测试,在CE生产交换机开启镜像端口用Wireshark抓包,没发现有丢包现象,排除CE生产交换机的网络问题。

3、在服务器端使用1500字节的数据包并且不拆分包选项进行Ping测试,此时ping办公电脑的地址192.168.20.99不通,逐步缩小数据包的大小,使用1497字节ping 192.168.20.99 -l 1497 -f是ping不通状态,直到使用1496字节ping 192.168.20.99 -l 1496 -f 则是ping正常状态。

【经验分享】复杂网络环境下路由器配置问题导致业务故障处理案例分享插图(1)

【经验分享】复杂网络环境下路由器配置问题导致业务故障处理案例分享插图(2)

以上的测试结果说明当中间网络设备在不拆分包的情况下,办公电脑以1496字节及以下的数据包去ping业务服务器都能正常通信,但是以ping 1497字节及以上的数据包ping业务服务器,会出现丢包现象。初步判定是由于中间网络设备的MTU值配置不当问题导致。

4、经过tracert分析检查每一段网络设备互联链路,检查发现PE路由器1至PE路由器2的互联端口MTU值使用默认值1500字节,把两端的PE路由器互联端口MTU值修改为1526字节后,故障恢复。

结论和建议

在MPLS VPN的网络环境中,数据包在传输过程中会对数据报文打上四个字节的标签。生产单位办公电脑访问的业务网站,因业务服务器回复数据报文较大,但是超过分片的MTU临界值1496字节。而回传的路径中部分交换机互联端口的MTU值为默认1500字节,因此1496字节的数据包加上MPLS VPN的标签,刚好超过1500字节,导致数据包丢失。

【经验分享】复杂网络环境下路由器配置问题导致业务故障处理案例分享插图(3)

附录:IP数据包结构分析

IP协议提供不可靠无连接的数据报传输服务,IP层提供的服务是通过IP层对数据报的封装与拆封来实现的。IP数据报的格式分为报头区和数据区两大部分,其中报头区是为了正确传输高层数据而加的各种控制信息,数据区包括高层协议需要传输的数据。

IP数据报在互联网上传输时,可能要经过多个物理网络才能从源端传输到目的端。不同的网络由于链路层和介质的物理特性不同,因此在进行数据传输时,对数据帧的最大长度都有一个限制,这个限制值即最大传输单元MTU(Maximum Transmission Unit)。

 需要注意的是,IP分片时,只有第一片报文带有完整传输层头部信息,后续的分片报文是没有tcp/udp报文人头部的,因此也就没有端口号等信息。并且应用又是基于TCP/UDP的,这就导致报文不能正确组包,出现能PING通,但访问WWW/FTP等应用时网速异常缓慢或直接打不开的现象。而通过修改tcp mss值,使得报文不需要分片,就解决了该问题。