您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 电子政务外网MTU故障案例
【内容摘要】在某市外网MPLS-VPN项目中,由于MTU问题导致用户访问Internet资源异常。我们通过阅读本文深入的对MTU故障进行剖析,相信如果后继您也遇到类似的情况一定可以处理得行云流水、干净利落,化MTU为浮云。一、【故障背景】某市MPLS-VPN电子政务外网项目中,要求地市下各区县单位的外网Internet出口统一切换到市电子政务外网指定出口,目前已经完成区县1的PE设备internet出口改造,改造后区县1用户业务正常。现将区县2的PE设备本地internet出口切换到电子政务外网统一Internet出口,割接完成后通过ping测试已确认成功接入互联网,同时用户相关应用也可以正常使用(QQ等通讯软件与DNS解析都没有问题),而在模拟用户业务的测试中发现有大部分的外网网站无法打开(例如:新浪、搜狐等)。二、【网络拓扑】1、某地市电子政务网通过统一的MPLS-VPN中的Internet出口访问互联网。2、各区县PE通过运营商MSTP专线接入电子政务外网。三、【故障分析】(1)故障原因推测:推测1:怀疑电子政务外网中地市出口(流控/IPS)设备策略部署不当,对区县2用户访问互联网的流量进行了错误的过滤。推测2分析故障现象,在区县2的网络环境中,除了HTTP业务有问题外,其它业务使用都很正常。考虑到HTTP业务使用TCP协议,并且为了保障HTTP业务的完整性HTTP服务器返回的报文一般都设置了禁止分片,并且报文都是以最大1500bytes的长度进行封装发送。此项目中电子政务外网采用MPLS-VPN组网,其中在报文中还需要多插入8字节的(4字节X2的)MPLS标签(双层标签),因此分析怀疑可能由于报文长度超过链路MTU值后在传输过程中被丢弃,而最终导致HTTP业务异常。(2)故障原因验证:确认出口流控/IPS设备的策略部署是否正确通过检查流控/IPS设备上的策略配置,确认已经正常放通了区县2用户的所有互联网流量。确认是否由于链路MTU问题导致WEB业务异常。我们可以通过以下两种方法来验证是否由于链路MTU问题导致的WEB业务异常:方法1:减小HTTP业务报文的大小方法2:增大MPLS网络中报文所经过的各条链路MTU。方法1:减小PC网卡的MTU在区县2的内网中找一台无法正常访问外网WEB业务的PC终端,通过调小PC网卡的MTU进行测试。如果PC网卡MTU调小后访问WEB业务恢复正常则表明由于链路MTU问题导致业务异常。(步骤1):确认PC终端MTU值大小正常环境下终端PC使用ping命令进行测,同时在测试中设置禁止分片功能(图1),当使用1473字节的包测试时显示异常并提示DF(Don’tfragment)置位,而通过1472字节进行测试时数据包可以正常转发,1472bytes=1500(MTU)-20(ip头)-8(icmp头)所以最终推断出终端PC的MTU为1500bytes,(图1)(步骤2):修改PC端MTU值a)打开注册表在PC端进入:开始—运行,输入“regedit”进入注册表浏览到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\InterfacesInterfaces下有多个子项,每个子项对应一个网卡(图2)。(图2)b)选择需要修改的,即当前连接互联网的网卡1、确定本机用来连接Internet的网卡或拨号连接的IP,如192.168.0.19;2、用鼠标点击Interfaces上的子项,查看键值列表中的IPAddress项;如果IPAddress的键值与a)中的IP相同,即192.168.0.19,则该子项就是要找的网卡。c)修改网卡的MTU。进入该网卡子项,在右边的窗口里按鼠标右键,选择“新建”-“DWORD(32-位)值(D)”(图3),输入名称“MTU”,按回车。再用鼠标双击“MTU”,弹出修改窗口,将基数设置为“十进制,”并填入MTU的值(默认为1500,测试时可以将其配置成1400)(图4)。(图3)(图4)d)以上步骤完成,需要重启电脑后,网卡的MTU值修改才生效。重启后可在CMD下通过命令来查看确认(图5):netshinterfaceipv4showsubinterfaces(图5)e)确认MTU修改成功后,测试该PC访问WEB页面是否正常,如果访问正常,则说明确实是由于链路MTU问题导致WEB业务异常。方法2:增大MPL-VPN网络中各节点设备MTU值。(1)调整MPLS网络中各P、PE设备运行MPLS接口的MTU值。a)接口所需最小MTU值的计算普通以太口:1500(IPMTU)+14(以太网头部)+4(CRC)=1518bytesMPLSL3VPN网络中以太接口:1500(IPMTU)+8(2层MPLS标签)+14(以太网头部)+4(CRC)=1526bytesMPLSL3VPN网络中以太子接口:1500(IPMTU)+8(2层MPLS标签)+4(VLANID)+14(以太网头部)+4(CRC)=1530bytesb)设备MTU值修改Ruijie(config-GigabitEthernet0/0)#mtu1530最大传输单元MTU是IP报文的特性,它的取值范围是64~1530字节,如果修改MTU值后表示接口MTU和MPLSMTU、IPMTU都都进行了修改,所以还要在接口调整IPMTU还原为1500.(2)与运营商确认MSTP链路的MTU值a)同运营商确认区县2的PE到P设备这段MSTP链路的MTU值。b)MSTP链路开通时需要特别注意:由于P设备使用子接口与区县2的PE设备互联,因此该MSTP链路的MTU值还需要再添加4字节的VLAN-ID。由于方法1的操作简单快捷,因此建议使用此方法进行链路MTU问题的定位排查。在本故障案例中,通过将区县2用户的PC网卡的MTU修改为1400后,区县2用户的WEB业务访问恢复正常,之前不能访问的网站资源也可以正常浏览,根据以上测试结果最终定位故障原因是运营商的链路MTU过小导致。同时我们进行分段链路测试,将故障点最后定位在区县2的PE设备到P设备之间的运营商MSTP链路上。四、【解决方案】针对由于链路MTU过小导致WEB业务异常的故障,我们有通常有以下几种解决方案:1、修改所有PC客户端网卡的MTU:终端PC网卡的MTU默认为1500,如果将网卡MTU值配置过小(比如1000以下),可能影响基于TCP协议的业务。另外由于终端PC较多,同时分布位置广泛,给实施工作带来一定困难,因此不予推荐。2、在路由器出接口上配置iptcpadjust-mss功能。TCP协议在连接的建立时,会根据双方网卡接口的MTU值来来协商TCP最大数据段长度MSS(图6),MSS值:MSS=MTU-20(IP头)-20(TCP头),默认情况下MTU为1500,则MSS值为1460。(图6)通过(图7),我们对双方协商MSS的过程进行简单说明。(图7)在了解TCP的MSS协商过程后我们再看一下Iptcpadjust-mss命令的工作过程(图8)。(图8)路由器在该接口配置此命令后,对从该接口转发出去的所有TCPSYN和SYNACK类型报文中的MSS值进行修改,从而达到使TCP协议交互报文长度变小的目的:配置方法如下:Ruijie(config-GigabitEthernet0/0)#iptcpadjust-mss1400【注意】:该功能只在接口的出方向生效,因此要配置在外网出接口上,这样才会修改本地PC发出的TCP报文的MSS值。3、增大MPLS网络中WEB报文所经过的各条链路MTU,包括调整设备接口的MTU和MSTP链路的MTU。具体操作方法参考以上“故障原因验证—方法2”。五、【处理结果】在本次故障处理中,通过在区县2PE路由器与P路由器互联的G0/0接口上配置iptcpadjust-mss1400后,区县2下的用户访问互联网业务恢复正常故障解决。为了最终根除故障隐患,我们将要求运营商调大MSTP链路的MTU值来满足用户正常业务的传输。六、【风险隐患】由于运营商提供的链路MTU过小导致用户业务异常。虽然通过在路由器上配置tcpadjust-mss命令巧妙的规规避了基于TCP的应用问题,但也存在如下隐患:1、基于非TCP协议的业务:如果使用非TCP的应用业务,同样可能存在类似故障的隐患。2、TCP业务服务器不处理tcp报文中的mss字段,报文默认以最大的1500字节发送。(以上两种情况目前极少见,但不能完全排除)七、【经验总结】1、链路MTU过小一般所表现出来的故障现象是怎样的?用户可以正常ping通外网,同时QQ等软件应用正常,但访问WEB网页会出现异常(比如无法打开大部分网站、或者打开后网页无法完整显示,出现图片丢失、页面混乱等)2、在什么网络环境下易出现MTU过小的故障?(1)网络中部署了VPN,如MPLSVPN、IPSECVPN、GRE、L2TP、PPTP等。(2)布署VPN时,设备使用子接口与运营商的MSTP传输链路对接。3、如何定位MTU故障?(1)使用ping命令进行测试,同时设置禁止分片功能来测试链路最大MTU。(2)调小PC网卡的MTU,看业务是否恢复正常。4、针对MTU过小的故障,有什么好的解决方案?(1)在路由器上配置tcpmss-adjust功能来规避。该方案简单易实施。(推荐)(2)调大报文所经链路和设备接口的MTU。(推荐)
本文标题:电子政务外网MTU故障案例
链接地址:https://www.777doc.com/doc-4683584 .html