张云龙
(东北石油大学 163318)
网络延迟是指数据报在网络中传输过程所消耗的时间,是衡量数据实时性的重要指标。网络延迟对于远程控制、视频会话等即时性较强的应用具有重要的意义,直接影响到网络服务的质量。因特网的设计初衷是为了满足资源的共享,注重信息传递的准确性和传送的信息量,而非信息传递的实时性,因此并不能保证远程控制系统中运动信息的实时传递。对于网络电子竞技,网络延迟的大小直接影响到游戏体验和玩家的竞技水平,是一项硬性指标。一般来说,30ms 以下的延迟可以得到顺畅的游戏体验,而50ms 以上的延迟在对抗性网络游戏中就会对玩家的发挥产生影响,100ms 以上的网络延迟会发生丢包等现象,使得游戏无法顺利进行。
对于特定的网络游戏,使用ping 命令能够测量本地主机与服务器之间的延迟状况,只需在dos 条件下输入命令和服务器IP 地址即可。但是网络延迟具有很强的随机性,这与网络延迟形成原因的随机特点有关。短时间的突发性大延迟会对玩家的游戏产生较大的影响,因而ping 命令所得的延迟量不足以衡量电子竞技过程中的延迟条件。同时,由于特定操作所产生的数据包大小的不一致,不用操作所带来的延迟往往不同,具有一定的规律性。
目前实际应用中因特网的通信标准基于TCP/IP 协议,基于TCP/IP 体系结构进行信息通信的原理如图1 所示,这是一种典型的分组交换系统。在这样一个系统中,数据包通过选路从本地主机到达远程主机,选路是指选择一条用于发送分组路径的过程,路由器则是做出这一选择的网络设备。
图一 TCP/IP 传输示意图
根据网络通信原理,TCP/IP 协议网络的延时大致包含以下几个成分
(l)本地主机数据处理延时。当应用程序向协议软件传递数据信元时,协议软件将由应用层至网络层逐层地对数据进行封装处理,而后进行发送。
(2)物理线路上信号传输延时。这里的物理线路是指连接网络设备的线缆,如双绞线、光纤等。数据信号在物理线路上以接近光速的速度传输,这一延时与整体延时相比不在一个数量级上,因此通信节点之间的地理距离并不是决定延时大小的主要因素。
(3)中间路由器数据处理延时。网络有其自身的拓扑结构,在网络上,除物理线路外,还有作为网络拓扑节点的路由器。路由器需要将收到的数据流解释至网络层以选择下一跳的目的地址。选路过程中多个中间路由器数据处理延时是网络延时的主要组成部分。
网络延迟在一定程度上体现出一种随时间的稳定性,这是由数据包传输方式所决定的,即路由的相对稳定。因特网是采用动态路由机制来传输数据业务的,但这种动态并不等于随机路由,只有当互连网的情况发生严重变化时,例如路由失效、严重拥塞等,转发数据报的路由路径才会改变。对因特网路由行为的研究表明通信双方或多方在会话期间路由很少改变,大部分的数据流沿同一条物理路径传输。
目前的多个路由协议中路由跳跃次数是选择路由的重要参考指标,往往作为制定路由的首要因素。所以在动态路由条件下,连接两个IP 之间的路由往往是跳跃次数较少的路径,并且在一段时间内保持这一路径而不改变。有相关研究指出在一天时间内对特定IP 进行跟踪所捕获的路由路径是基本稳定的。
对于网络延迟的不确定性,合理的解释是由负载的不确定性变化所导致目前基于TCP/IP 协议的因特网在网络接口层普遍采用随机竞争类的媒体访问控制协议,多个通信节点共享通信信道资源。而网上的数据传输有一种突发性的特点,由于共享带宽的原因,当网络中的数据流量突然增大时,将造成其经过的路由器的负载增大,从而等待路由器进行处理的数据增多,这样数据排队等待处理的时间增长,使得数据报的延时增大,即造成总延迟的增大,另外,当路由器的负载超过其处理能力时,将对随后到达的数据包进行丢弃处理,这样对以TCP协议进行数据传输的数据包来讲,将造成数据报的重发以及发送主机TCP 滑动窗口的减小,这些最终都将造成数据报延时的瞬间增大。这是延时不确定性产生的主要原因。
网络的时延及其不确定性将对电子竞技产生相当大的影响。当存在较大延时时,玩家操作不能实时地传递给服务器,操作所产生的效果也不能实时地反馈给目标玩家,从而使整个服务器的稳定性和即时性变差,严重地还会引服务器的不稳定,并且由于延时的不确定性使信息传递的连续性遭到破坏,造成了诸如卡ping 等情况,这是所有网游所需要极力避免的问题。为了能够更好地对延时进行控制,就需要对其特点进行分析,预测其产生机制,希望能够对因特网的延时特性进行仿真以建立有效的实验系统。因此,有必要对延时及其不确定性产生的原因进行分析并探究其规律所在。
本文通过运行电子竞技网游“胜利之日”(day of defeat)的效果来研究延迟的特性。为了使效果明显,故特别选择了具有50ms 以上延迟的服务器,以便与观察效果。研究方法是通过内置的游戏录像功能,将游戏的过程捕捉下来。两台计算机同时连接同一个服务器进行游戏,通过一台电脑执行特定的操作并从另一台电脑中观察得到的反馈效果,以帧为单位计算两者之间的时间差,得到实际游戏体验中的延迟特性。
在实际测试中,对于不同的操作,延迟的大小也存在些许区别,大致有以下几种情况
(1) 跑动和跳跃,所产生的延迟较小,且较稳定,在约100fps 下大约产生10-12 帧的时间差,换算延迟约55ms 左右。个别时间段产生突发的20 帧以上的延时,即100ms 左右,高延时时间呈数秒钟的小段分布,但是整体所占比重很少,推测为常规的路由延时。
(2) 开火射击,产生延迟稍多,约12-13 帧,计60ms 左右。值得注意的是开火射击存在两种情况。第一种是目标未命中,通过考察射击目标物体上的子弹痕迹出现时间得到射击延迟,这种情况下延迟与跑动跳跃情况相差不多,约1 帧左右。第二种情况是命中的玩家目标,延迟有所增长且波动较大,合理的解释是服务器需要对射击效果进行一定的反应,包括被击中玩家状态数值的变更、死亡的判定、以及产生特定的动画效果等。
(3) 切换武器,产生延迟大致与跑动跳跃相当,延迟稳定,也存在突发的高延迟时间。
(4) 使用地图场景互动物品或射击可破坏物。这类操作的延迟明显较大,约18-20 帧左右,计90ms。这是由于服务器需要产生复杂动画效果所带来的延迟。
图2 不同操作下的延时分布
综合以上的情况大致能获得如下的判断:电子竞技网游中,对于简单操作其延迟量稳定,虽时间的波动较小,具有较好的即时性。这种情况下的延时其主要成分应是路由数据的处理延时,而路由的相对稳定使得延迟大小也随之稳定,使得玩家获得良好的游戏体检。对于一些玩家间的互动操作,由于涉及到游戏人物数据的修改,需要进过服务器进行一定的处理,延迟稍高。而对于影响整个服务器的全局性操作,服务器需要消耗一定时间进行响应,远程主机数据处理延时由次要地位上升至主要地位,延时大幅增大,且这种延时的暂时增大同样会波及到未进行操作的玩家,甚至其他临近服务器的玩家,造成延迟短暂大幅上升的假象。游戏中也存在一定的路由延时,所占比重较小,影响力有限。
由以上可得,在因特网信息的传递过程中将产生一定的延时,延时具有相对的稳定性和一定时不确定性,这将影响电子竞技玩家的水平发挥和游戏体验。分析指出在大多数情况下,网络延时的分布情况主要决定于数据所经过的跳数以及在每一跳上所花费的时间,而个别情况下服务器的处理延时也会产生可观的效果,网络上所经过的路由器的负载也产生一定的不确定性。
总之,在电子竞技中看似随机的数据延时背后,有着一定的规律可循。这些为电子竞技行业的发展提供一定帮助,也为互联网数据传输的发展提供一定的参考。
[1]任长清;王晓峰;陈之龙;马树元;吴平东基于TCP/IP 网络的远程控制系统的研究[J]2001
[2]修震,吴平东,黄杰,陈之龙,基于因特网的远程控制中网络延时特性分析[J],计算机工程与应用,2004,40(3),129-131
[3]刘桂波,宋清昆,李岩,基于Internet 的远程控制中网络延时的探讨[J]-黑龙江工程学院学报(自然科学版)2006,20(2)
[4]王宏伟,杨雨,张智华,网络时延预测研究[J]-电脑知识与技术 2011(10)