【作者】 | 刘志新 |
【作者单位】 | 中国联合网络通信有限公司深圳市分公司 |
【文献出处】 | 移动通信 , Mobile Communications, 编辑部邮箱 2011年 12期 期刊荣誉:ASPT来源刊 中国期刊方阵 CJFD收录刊 |
【中文关键词】 | 移动分组网; 抓包工具; IP报文; GGSN; |
【摘要】 | 文章介绍了移动分组网维护工作中引入传统数通抓包工具软件的必要性,在简单介绍了抓包工具的常用功能后,结合深圳联通移动分组网维护中的实际案例,阐述了如何利用抓包工具的这些功能有效解决网管维护台难以定位的移动分组业务应用问题。 |
【更新日期】 | 2011-08-25 |
[attach]1011[/attach]
图1 OCS返回配额分配失败
对客户访问bbs.55168.com页面时触发掉线的报文利用抓包工具进行分析(图2),序列号为75~77的3个包是终端在被GGSN去激活前的最后3个报文。可以看到终端在访问bbs.55168.com页面过程中主动发起对sz7.cnzz.com的TCP连接,首先通过域名解析获取到s27.cnzz.com的IP为58.248.245.14,然后再发起至该IP的TCP握手包。正是77号报文触发了RG=839712775的计费业务配额申请导致了计费失败,最终引起GGSN去活PDP连接。
[attach]1012[/attach]
图2 PDP被去活前抓包结果
经查,域名为s27.cnzz.com的网站为一统计服务提供商的web页面,其通过向其他ICP收费提供内嵌代码的方式为其他ICP提供网站访问统计服务。而核对GGSN所配置的SP-N的内容计费规则后,发现之前SP-N的内容计费IP地址范围设置过大(1个C类IP段),误将上述网站包含了进去;另外,OCS系统维护人员也证实该SP-N的RG尚未在OCS侧做配置。
至此,预付卡掉线原因通过抓包工具查明:预付卡终端激活后访问并打开了内嵌有s27.cnzz.com统计代码的页面,终端侧页面自动触发对该统计网站服务器的访问,而该网站的IP由于被错误配置进了SP-N的业务IP段进而触发了GGSN系统向OCS系统申请该RG的配额。但OCS尚未完成该业务的配置,因此GGSN在收到计费失败的CODE值后去活了连接。
此外,在日常内容计费规则的配置中也常利用抓包工具对配置的计费规则实施验证及错误排查。
3.2 报文间转发时延的应用
实例3:2009年11月陆续接到分组用户反映:20:00以后,HSDPA上网速度不稳定,该时段上网最高速度也仅100kb/s;21:00~23:00网速更是奇慢无比,连接速度只有几kb/s,终端ping公网时延约500ms~4000ms,并伴随有丢包发生。而正常情况下,在信号覆盖正常区域HSDPA的速率应为2Mb/s。
分析过程:在业务异常时段用上网卡拨测并进行信令跟踪,信令显示终端可以正常附着并激活,且GSN设备也有正常转发的上下行数据报文。由于现网GSN设备厂家的维护台所支持的信令跟踪时间粒度仅能到秒级,因此从维护台跟踪的信令除可判断出移动分组接续信令正常外,无法分析数传慢的问题所在。
我们知道,最简单用于定位导致访问时延过大节点的方法是逐段ping包,但因SGSN、GGSN设备均无可用于终端ping测的近用户侧的用户面IP,所以用户端所能ping测的最近IP是GGSN Gi接口IP。实际测试终端ping至Gi接口的时延已达500ms~4000ms,仅能证实故障点在Gi接口以内,包括无线侧、SGSN、Gn承载网以及GGSN设备。由于故障复现时整网不同无线覆盖区域均有客户反映该问题,因而无线的因素可直接排除;通过在GSN的GTP用户面间的ICMP包测试也很容易排除了Gn承载网的问题。
于是将GGSN设备跟踪的信令数据进行转包,借助于抓包工具来深入分析GGSN设备上报文转发是否异常。为简化报文分析的难度,利用抓包工具的过滤器将在用户端ping Gi接口的ICMP报文过滤出(如图3)。图3中连续的包1“GTP<ICMP> Echo(ping) request”、包2“ICMP Echo(ping) request”的Identification字段相同,可知这两个报文是同一报文。包1是GGSN接收的用户端发出经SGSN做GTP封装后转发上来的GTP-U包,包2则是GGSN内部完成解包、内容计费处理后转交至Gi接口的报文。此处将抓包工具中time字段的显示方式调整为与前一捕获到的报文的时差即可看到,包2与包1存在约4.194305秒的转发时延,而这就是一个ICMP Echo request报文在GGSN内的转发时延。类似分析其余来自SGSN的GTP报文在GGSN内的转发时延,均约4秒。而自Gi经GGSN转发至Gn侧的报文则几乎都是无时延立即完成转发(时延都约0秒)。至此,导致业务异常慢的故障点已找到,正是由于GGSN设备的上行报文转发出现了故障所致。
[attach]1013[/attach]
图3 GGSN设备报文转发抓包结果
该问题提交给GGSN厂家研发分析后得出真正的原因所在:GGSN设备上内容计费规则匹配过宽。由于计费规则误配了对所有报文实施内容计费的检测,导致在业务忙时段系统对过多的上行报文进行内容计费的深度检测,使得系统业务处理卡负荷过高引起了故障的发生。而下行报文由于在GGSN内部仅是做表项匹配而不再进行深度检测,因此可以得到实时转发。
在调整内容计费规则后,在业务忙时段再无异常出现。
3.3 L7层数据报文分析的应用
实例4:某用户投诉使用联通定制的NOKIA 6210SI无法登陆公司的南广卫视页面,而访问其他页面及应用都无任何问题,用户终端更换了不同浏览器尝试都存在该问题。
分析过程:用户访问其他页面及应用都正常,排除了用户无法附着、无法激活的问题。原因应该出在数传或应用层,只有依靠抓包工具进行定位。通过抓包发现用户的NOKIA 6210SI终端发出的L7层URL存在异常,无论用户使用wap还是net APN,终端所发出的http get数据所含的URL u.3gtv.net后都多了一个后缀“/favicon.ico”。而“u.3gtv.net/favicon.ico”是不存在的URL,每次访问必然失败。因此问题产生的原因是该终端自身系统存在bug。
3.4 TCP连接信息分析的应用
实例5:某用户投诉使用联通3G上网卡无法打开英文yahoo网站上的视频,提示“页面无法显示”,但其他应用正常,客户要求对此给出合理解释否则退网。
分析过程:首先核实确认yahoo中的视频连接及IP均未在工信部下发的涉黄等封锁范围中,而且结合客户访问yahoo视频时的页面提示信息可知,yahoo视频无法访问并非核心网侧wap网关及Gi防火墙限制所致。此问题定位唯一可用的方法就是分析访问过程中的抓包文件(图4)。
[attach]1014[/attach]
图4 无法访问yahoo视频抓图一
图4中,报文3~7显示终端在成功通过DNS解析到video.yahoo.com的IP后,发起TCP三步握手的过程,报文8则是终端点击访问其中一个具体的视频连接的http get数据包(seq=1、ack=1、Len=565)。按照TCP/IP协议要求,TCP连接建立后的数传序列号及确认号应该如下:
(1)发送数据:A向B发送一个带有数据的数据包,该数据包中的序列号和确认号与建立连接第三步的数据包中的序列号和确认号相同;
(2)确认收到:B收到该数据包,向A发送一个确认数据包。该数据包中,序列号是上一个数据包中的确认号值,而确认号=A发送的上一个数据包中的序列号+该数据包中所带数据的大小。
根据协议规定可知,后续服务器66.163.168.216应返回的确认报文:seq=1,ack=1+565=566。但实际后续抓包得到的服务器返回报文9~12的序列号是随机的,确认号也不符合协议规定,而且返回报文都是异常中止TCP连接RST报文。直到报文13我们才看到符合协议规定的ACK报文,但由于此前的RST报文中止了TCP连接,导致后续视频信息无法得到正常传输。
服务器侧为何在正常TCP握手完毕后突然发起RST报文中止会话呢?对比符合协议规定的报文13与此前TCP握手中服务器返回的SYN报文的TTL,发现二者是一致的,均是53(见图5)。
[attach]1015[/attach]
图5 无法访问yahoo视频抓图二
而“非法”报文9~12的TTL则为112、118及57等。我们知道,TTL值反映的是报文自源去往目的地中间所经过的路由器个数,通常情况下数据报文正常路由转发所经的路由器间隔是一致的,即使存在多路由的情况,跳数也不会相差太多。但报文9~12的TTL与符合协议规定的报文TTL相差过于悬殊,因此可判断这几个报文并非来自真正的视频服务器,应该是网络中间某种设备拦截所致。经过解释,客户最终认可了我们的分析。
3.5 利用抓包工具进行节点丢包问题的分析
原理说明:IP头具有2个字节的Identification用于标识每个IP报文。对于IP报文,其ID在整个传输过程中是唯一的,因此通过比较出入该节点报文的ip id的一致性即可判断节点是否存在转发丢包问题。如考察GGSN是否在转发过程有丢包,可将Gn和Gi接口ip id进行比较,分析入GGSN和出GGSN的报文是否完全一致。
实例6:2010年7月份陆续接到客户报障,反映使用3G预付上网卡进行基于UDP的SKYPE、QQ语音等即时通讯软件的语音视频通信,每次通话在持续2~4分钟后必定会发生断线问题,但网络连接未中断(PDP会话并未去激活)。该问题严重影响客户的日常应用。
分析过程:分别对预付及后付卡进行业务测试,发现现网确实存在客户反馈的问题,但仅发生在预付卡业务上。SGSN不会因用户计费属性不同而有不同处理机制,但GGSN对于预付及后付的业务实现过程因GY接口而存在差异。据此可以排除核心网SGSN设备的因素,问题应该与GGSN设备有关。在粗略分析定位故障设备后,再利用抓包工具结合Ultra Edit及文本比较软件等辅助工具进行深入剖析。
(1)首先在拨测中故障复现时,抓取测试号码在GGSN in及out方向的所有报文。
(2)使用Wireshark的过滤规则将需要的报文过滤出来:
Exip==112.97.129.98)&&(ip==220.198.162.130)
(3)用Wireshark打开报文,随意选中某个报文,展开并选中IP层。
(4)IP层保存到文本文件中,将GGSN in及out方向的两份抓包文件分别转换为解析IP层的文本文件。选择Wireshark的File→Print。
(5)打开打印出的文件,利用Ultra Edit选中Identification关键字,并利用其文本抽取功能将所有带有Identification的行,从剪贴板拷贝至另外的文件(ex:ggsn-in/ggsn-out)。
(6)使用文本比较工具将两个抓包文件的导出文件进行比较。
根据对比结果可以看到,客户即时通信业务中断,是由于GGSN出现了转发丢包引起的。将该问题提交厂家研发后,确认为系统异常所致。
4 结束语
作为3G市场最具特色的产品,移动分组业务必然是客户关注的焦点之一,这也对移动分组网络维护水平、维护效率提出了更高的要求。本文结合深圳联通移动分组网维护中的实例,对抓包工具的几种常用功能在移动分组网维护工作中的用法及问题分析的思路作了介绍,希望为移动分组网的建设与维护人员提供一定的借鉴。
参考文献
[1]Richard Sharpe. Wireshark User's Guide[G]. 2010.
[2]张明和. 抓包软件Wireshark安装和应用指导书[G]. 2008.
[3]W Richard Stevens. TCP/IP详解卷1:协议[M]. 北京: 机械工业出版社,2000. ★
欢迎光临 51学通信技术论坛 (http://51xuetongxin.com/bbs/) | Powered by Discuz! X2 |