分类:
2008-10-17 15:17:18
最近网络故障台经常报告用户普遍反映玩《传奇》特别慢,用户维护人员奔波于用户之间,但是收效甚微。于是我们网管人员来分析解决这次软故障,从而开始了为期半月的艰苦诊断历程。
网络结构图
我们的网络结构如图1所示,根据上述网络拓扑图得知,在我们企业局域网中,A、B两个网络各自主干核心速度均为千兆,桌面速度均为百兆,内部A、B两个网络是通过Router A和Router B两个器的广域网接口连接,主要应用的在A网络,因此B网络用户通过Router的5个端口(10M)访问位于A网络的企业主页及内部网络应用的(图中只标传奇服务器)。
故障分析
在出现软故障前,最近系统没有修改任何数据,而传奇是我们新增加的网络应用服务;只是最近B网络个人用户增加比较多,而大多喜欢玩A网络的传奇,但是我们分析这绝不是游戏运行缓慢的主要原因,因为用户反映上内部网和外部Ineternet速度都不慢。
1)经过现场实验,得到如下结果:
◆ A网络用户作为本地用户玩传奇则速度正常,说明了A网络本地网络和传奇服务器本身正常;
◆ B网络用户访问A网络的其它应用,如Web、E-mail、OA速度都比较快;
◆ B网络用户访问B网络的本地服务器和通过B网络上Internet速度比较快。说明B网络本地网络正常;
2)使用工具软件对系统的测试
◆ 通过HP Openview网管软件分析各个设备之间没有发现异常的流量;
◆ 通过分析仪没有发现大量的ARP广播查询报文、CRC错误和FCS帧错误,证明AB网络间的2M链路正常。
◆ 通过端口检测发现A、B两个网络之间的广域网接口的每个2M口数据量均达到饱和,接近80%.
问题在哪儿呢,仅仅是B网络增加了传奇用户吗?不是,我们判断问题在于A、B网络的连接通道,路由器的广域网接口是B网络用户访问A网络传奇服务器的传输瓶颈。看来A、B两个网络之间的广域网接口重负荷很可能是游戏速度缓慢的主要原因,经过我们长期监测,该链路一直比较忙。由于各种原因,这个传输瓶颈不能从根本上解决,本次故障需从其它方面入手解决。
要根本解决这个问题,看来还得具体来分析传奇游戏报文的发送过程:
我们联系了一个正在玩传奇的用户,使用Sniffer软件进行跟踪抓包,捕获的数据流报文如下:
Source Adress Dest Adress Summary Length 192.168.82.252 192.168.8.190 tcp:d=7200 s=2353 ack-1809293876 wins=63266 192.168.8.190 192.168.82.252 tcp:Expert:Fast Retransmission d=2353 d=7200 ack-577334120 SEQ=1803 135 192.168.82.252 192.168.8.190 tcp:d=7200 s=2353 ack-1809293957 wins=632 60 192.168.8.190 192.168.82.252 tcp:d=2353 d=7200 ack-577334120 SEQ=1803 107 192.168.82.252 192.168.8.190 tcp:d=7200 s=2353 ack-1809294010 wins=632 60 |
分析捕获的传奇数据报文,发现传奇游戏使用的是TCP/IP,服务器端口为7200,数据包很小,发送为100bit左右,收为60 bit左右,而且我们发现它发的数据包一旦丢失就会重传,我们分析这就是导致玩传奇速度慢的重要原因。
我们知道,大部分流媒体数据报文是基于UDP的数据包,它不需重传,对网络传输精度要求不是特别严格,只是保证它的带宽等如视频点播等即可。在A、B两个网络的广域网传输中包含各种协议的不同大小的数据流,因此在网络传输中,数据包一旦发生碰撞或拥塞,基于TCP的数据量小的传奇数据包由于比较小而没有优势容易被其它大包堵塞而丢失,必须重传。所以我们的传奇数据包在传输中没有优势,这就是传奇游戏速度慢的根本原因。
[1]