会卡,而且卡得明明白白。我在上海浦东,家里拉的是长城宽带200M套餐,玩电信区的英雄联盟和DNF。用电信宽带的同学延迟稳定在15到20毫秒,我的网络常年显示55到70毫秒。等到晚上八点后,延迟直接跳到100毫秒开外,偶尔飙到150毫秒,丢包率从早上0.2%涨到晚上的3%左右。玩DNF放个无色技能要等半秒才出伤害,英雄联盟补刀时攻击动画和伤害数字对不上,团战里技能乱飞,人物直接被拉回原地。这不是我编的,是我打开游戏自带的延迟显示和资源监视器看到的。
为什么长城宽带打电信游戏这么吃亏?因为长城宽带是二级运营商,它的线路不是自己铺到千家万户的,而是租用电信和联通的骨干网出口。电信的游戏服务器都放在电信自己的机房里,电信用户访问这些服务器,数据包走电信内网,跳数少,时延低。而长城宽带的用户发往电信服务器的数据包,要先经过长宽自己的城域网,到达长宽与电信的互联节点,再被转交到电信的骨干网,最后才找到游戏服务器。这一路多走几道关口,每道关口都要转发和排队。晚高峰时,长宽和电信之间的互联带宽满了,数据包就在队列里等着,丢包和抖动就出现了。
我做过一个测试。用命令行ping电信的DNS服务器114.114.114.114,从长城宽带ping过去,平均延迟35毫秒,而ping长宽自己的DNS只有几毫秒。再找了一个上海电信的游戏服务器IP,长宽ping过去平均78毫秒,丢包2.6%。同样一个IP,让电信宽带的朋友ping,结果是9毫秒,丢包0%。游戏流畅运行需要延迟低于50毫秒,丢包低于0.5%,长宽的跨网指标已经不合格了。
更麻烦的是,很多长城宽带用户没有公网IP。我拨号拿到的IP是100.64.0.0段,这是运营商级NAT保留地址。也就是说,我家电脑的数据包要先经过长宽内部的NAT设备,转换成公网IP再出去。这个转换过程增加了1到2毫秒的延迟,更重要的是多了一层转发设备,一旦设备负载高了,丢包就跟着来。网吧里玩电信区很流畅,因为网吧用的是企业级电信专线,没有NAT转换,也没有跨网拥堵。
加速
