E1000E上网本无法打开网页的问题的解决防范

发布时间:  2012-12-28 浏览次数:  183 下载次数:  0
问题描述

河北保定移动使用上网本访问网站,发现能打开百度,但是无法打开搜狐和新浪等网页,故障涉及保定节点SGSN,深圳节点GGSN,深圳节点防火墙Eudemon,针对现网出现的故障,由核心网技术支持部组织GGSN研发,深圳GGSN用服,保定GGSN用服,防火墙研发一起定位该故障,最终故障定位为从深圳GGSN之间到保定SGSN报文经过GTP封装之后分片导致业务受到影响,通过在防火墙上调整TCP的MSS值,使得报文不再分片,问题得到规避。
告警信息
处理过程
1、从受理故障开始,华为研发和用服人员一起配合,通过在现网抓包,定位发现打不开网页的时候存在报文重传的现网,说明现网有丢包发生,同时根据现网反馈的现象,能打开百度这类比较小的网页,而无法打开搜狐和新浪等这类很大的网页,通过上面的现象分析上网本登录大的网页,传送的数据包大小为1500字节,在经过GTP分装之后,报文开始分片,分片报文在深圳GGSN和保定SGSN之间传输的过程中丢弃导致无法上网。
对于不论从保定还是从深圳上网的终端,他们在登录新浪和搜狐这类大的网页的时候,取到的网页的大小需要几个1500字节的报文才能传送完成,抓图如下:


从上面的抓包来看,深圳的一次交互从89开始到99结束,中间没有重传报文,报文的大小也是1500字节。因为深圳的终端上网不经过GTP封装,所以不会分片,也不会产生丢包的问题。
对于现网保定终端上网出现丢包的问题,这个报文被丢弃在哪里呢?可以看到,GI侧的防火墙报文都正常转发下来了,同时深圳这一侧的GN防火墙的分片透传打开了,即使出现分片加上分片乱序,GN防火墙也能正常转发报文,不会丢弃分片报文。
所以分片丢包,存在于深圳GGSN和保定SGSN之间的设备上,由于分片处理的特殊性,一旦出现分片乱序,并且分片延时较大,就有可能导致分片丢包。此次故障通过在深圳GI侧的防火墙上修改TCP的MSS值为1400,保证报文经过GTP封装之后不再分片,问题解决。同时,在业务软件侧,他们使用防火墙的时候,经常会使用防火墙来调整TCP MSS值的功能。


而这些报文都是从防火墙发送到GGSN的报文,报文的分片标志为0,说明没有分片。
同时根据组网图来看,深圳的终端取到的这些报文直接就发送给了终端了,而保定的终端在收到这个报文的过程中需要经过GTP封装分片才能到达。
从上面的抓图来看,序号为448的报文是一次访问的开始报文,而452-455这些报文都是取一个大的网页产生的报文,报文大小都是1500字节(上面显示的1514是因为增加了二层报文头),同时从下面的460-462开始,这些都是TCP的重传报文,说明中间丢包了报文在重传。
对于深圳的上网终端来说,抓包内容如下:
根因
修改接口的MTU会触发tcp报文的mss修改,当网络上存在设备不允许tcp报文分片时,若报文较大,将导致业务不通。这种情况下需要修改tcp的mss值来限制tcp报文的大小,即,可以通过修改接口MTU来达到调整tcp mss大小的目的。
建议与总结

END