爆肝两天实测:多重 NAT 对延迟影响,游戏延迟优化方案出炉
前篇文章《宽带NAT类型实测:1/2/3/4类型对网游延迟差多少?》我研究了不同的NAT类型玩游戏延迟的差异,NAT1和NAT2类型延迟在同一水平比较低(17~18ms),NAT3和NAT4类型延迟基本一致比较高(22ms左右)。

当时测试的是一次NAT下对延迟的影响(需要有公网IP),但大多数用户处在双重或者三重NAT环境下,本次研究多重NAT环境下对游戏延迟的影响如何?为了测试一致性,全部使用FullCone类型。
无NAT延迟测试
无NAT就是设备直接拥有公网IP,没有经过NAT地址转换,这种模式下开放性最佳、网络体验最好,缺点是一个设备就占用一个公网IP,太奢侈了基本不现实,测试仅图一乐。

▲ 网络拓扑如图,架构很简单,光猫(桥接模式),电脑直连光猫进行PPPoE拨号上网,中间无需经过路由器。
在线检查NAT类型受限于网页限制,无法测出OpenInternet(NAT0类型),这里使用NatTypeTester软件测试

▲ 电脑拨号玩游戏延迟果然是最低的,最低只有15ms,游戏全程很稳定,玩了多把游戏,经过测试最高18ms,基本在16ms左右。
一次NAT转换
这个模式之前已经测试过了,当你申请到公网IP,路由器进行拨号上网,然后开启全锥形模式即可。

▲ 网络拓扑如图,架构简单,光猫(桥接模式),路由器直连光猫进行PPPoE拨号上网,电脑直连路由器,仅经过一次NAT转换。
猫点饭在线检测NAT类型:https://mao.fan/mynat

▲ 游戏延迟在17ms~19ms之间,全程很稳定,玩了(测试)5把游戏都很稳定,延迟基本不跳动,跳也就是1ms的范围。
二次NAT转换
也就是双重NAT环境,这个模式是无公网IP,喜欢折腾网络的用户光猫改桥接、路由器拨号获取运营商提供的100.×开头的CGNAT网段,这样运营商NAT一次+路由器NAT一次,总共二次转换。

▲ 由于我这里是公网IP,所以让光猫进行拨号、路由器DHCP模式,电脑直连路由器,这样经过了路由器+光猫二次NAT转换。
光猫开启DMZ给路由器,然后路由器开启全锥形模式,这个网络架构下在线检测NAT类型无法测出全锥形(会测出NAT类型,原因未知),这里使用My NAT手机APP进行测试。

▲ 游戏延迟最低19ms,比较少见,多数情况延迟在20到22ms之间,稳定性也还不错;
三次NAT转换
三重NAT环境下的用户非常多,大多数对网络无研究、不折腾的普通用户处在此模式下:装好宽带光猫默认路由模式+无线路由器(动态获取IP)也工作在路由模式,运营商CGNAT+光猫+路由器=3重NAT转换。

▲ 网络示意图,由于我这里是公网IP,所以让光猫进行拨号工作在路由模式、2台路由器使用路由模式(动态获取IP),电脑直连路由器,这样经过了2个路由器+光猫三次NAT转换。

▲ 游戏延迟如图:最低21ms、最高24ms,基本上在23ms左右,比一次NAT转换的NAT3模式延迟还略高一点,稳定性也一般,学过编程的应该都懂,每多经过一个节点、系统的稳定性会下降一点。
总结
经过2天的英雄联盟测试,网络游戏的延迟和NAT类型以及多次NAT转换都有关系,对于多次NAT转换来说、每经过一次NAT转换,延迟会增加1~2ms,和直觉一致。
因为NAT 不是“透明转发”,而是“需要计算、查表、改写数据包”的操作。每一次 NAT 都会让数据包在设备上多停留一点时间。

如果你对游戏延迟和稳定性很敏感,如何尽量减少网络延迟?最好的做法是:减少NAT设备(转换次数)+ 使用更开放的NAT类型(FullCone模式)。

校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案