2、MTU设定不合理。MTU设定的数值不合理,影响连线状态,导致无法进入线上模式。
MTU设置:官方原文:有些玩家发现变更 MTU 设定可以改善连线状态。请尝试在主机或 PC 上将 MTU 变更为 1473,除了将 MTU 变更为 1473 之外,请勿变更任何其他设定。如果变更之后没有效果,您可尝试较小的数字,如 1450。
根据上面的提示修改路由的MTU设置后惊奇的发现Socialclub居然顺利连接上了!!!然而,事情并没有这么顺利,在重试了N次之后,线上服务器依然还是连接不上!!!
所以,这个方法虽可改善,但并不一定能解决。
3、NAT映射未开启。部分玩家无法进入游戏的原因是由于NAT映射未开启导致的。
如果连接不上的话可以尝试下面的这个方法,到路由器NAT映射里,填写上自己电脑的局域网IP,比如192168188(因为GTA有使用P2P主机对主机的连接,所以NAT设置可能会导致这方面的问题)。
4、网路硬件故障。网路硬件故障分为运营商和用户设备故障,也会导致无法进入gta5线上模式。
有可能是因为路由器不稳定的种种原因导致的,比如NVRAM缓存,在路由中找到这个并清理掉,然后重启路由器,恢复设置,就可以成功的连接GTA5的线上模式了。
5、DNS设置错误。DNS设置错误也会导致无法进入线上模式。
更换DNS,在这推荐使用20867222222这个OPENDNS可防劫持,推荐!国内的话114114114114也可以,但是不建议使用运营商默认的域名地址,因为可能会有反效果
无法进入游戏的用户可以根据这些原因来进行排查和调试,以便能够顺利进入线上模式。MTU值设置高了不好,因为以太网中的最大传输单元固定是1500,如果你的数据包过大则在传输的时候要被切片,然后再进行传输,这个过程是需要占用cpu和时间的,因此MTU值应该按照你的实际情况进行设定,一般的pppoe拨号网络最好设置为:1462。对于PPPOE拨号经常容易遇到的一个问题,就是有时候打开一些网页会显示打不开,或者不显示的问题。这个的话可以通过把MTU与TCP的MSS修改下就可以了。建议的话,MTU在1492即可,因为PPPOE会多出8字节的头部,而MSS在1200~1452之间。
[HW-Client]interface Dialer 1[HW-Client-Dialer1]mtu 1492[HW-Client-Dialer1]tcp adjust-mss 1452MTU: Maximum Transmit Unit,最大传输单元,即物理接口(数据链路层)提供给其上层(通常是IP层)最大一次传输数据的大小;以普遍使用的以太网接口为例,缺省MTU=1500 Byte,这是以太网接口对IP层的约束,如果IP层有<=1500 byte 需要发送,只需要一个IP包就可以完成发送任务;如果IP层有> 1500 byte 数据需要发送,需要分片才能完成发送,这些分片有一个共同点,即IP Header ID相同。
MSS:Maximum Segment Size ,TCP提交给IP层最大分段大小,不包含TCP Header和 TCP Option,只包含TCP Payload ,MSS是TCP用来限制application层最大的发送字节数。如果底层物理接口MTU= 1500 byte,则 MSS = 1500- 20(IP Header) -20 (TCP Header) = 1460 byte,如果application 有2000 byte发送,需要两个segment才可以完成发送,第一个TCP segment = 1460,第二个TCP segment = 540。
MTU一经确定不再改变?
实际上MTU并不是确定了之后就一直不变的,每个端上查看到的MTU并非是最终的MTU大小,这个怎么理解呢?
大部情况下,网络发送端都需要经过各种中间设备才能到达目标机器,这些中间设备可能是路由器、交换机、中间代理服务器等等,这些设备的MTU大小可能有大有小,更糟糕的是,每次走的路径不一样MTU大小可能也不一样。那么,假如我们的发送端的MTU是1500,中间某个交换机或者路由器的MTU是200字节,当数据包到达这个设备的时候IP层就会触发拆包,我们上面详细分析了IP层拆包存在的问题。所以,很明显如果出现这种情况网络传输效率会大幅降低。那么有什么办法可以解决这个问题呢?
我们可以思考一下,要解决这个问题其实只要找到链路中最小的MTU就可以了,那么,我们如何感知中间设备的MTU呢?有一个叫ICMP的协议可以在中间设备出现异常的时候将异常返回,从而发送端可以感知到,关于ICMP协议这里不展开,有兴趣可以自行去了解。
-s表示发送多少字节,ping会填充对应的字节数将包发出去
-M表示回显MTU相关的错误信息
最终我们看到返回了错误,提示说我们发送的数据超长了,并且提示当前链路中MTU的大小。
这样的话,我们就可以拿到整个链路中最小的那MTU了,传输层便可以根据最小的MTU来设置自己的MSS,比如,前面的例子,假如中间某个设备的MTU仅为200字节,那MSS就设置成160字节,这样TCP每次发送的数据包就不会超过200字节,也就不会触发IP层的拆包了。
实际上,TCP协议已经实现了链路MTU的探测,叫做PMTU,原理就是设置IP报头DF不分片位置为不分片,这样当遇到比MSS小的MTU的设备,这个设备就会返回一个ICMP报文,里面携带了错误消息和可接受的MTU大小。
1500字节为何成为互联网MTU标准?
>
几个概念:
TCP 在三次握手的第一个SYN消息中有一个选项option 4,通告双方的MSS,如果一方MSS=1460,而另一方的MSS=9000,会选择较小的一方即1460作为这个TCP连接的MSS:
注意,MSS只是解决路径上第一跳的MTU问题,不能保证由于路径中有更小的MTU导致的分片。
什么时候用配置大MTU值?
比如在数据中心,MTU经常设置为大于8192字节。 这是因为NFS网络服务器之间的数据读取、存储最小单位是磁盘扇区,而服务器扇区多用8192,而且为了避免被分片,发送这些扇区数据的IP包的DF设置为1,意思是不允许分片。这里整个数据中心的MTU都要设置为大于8192,再加上IP 头,UDP头,文件系统头等,一般设置9000就好了。
案例:
在华为路由器上,接口配置mtu 9000,我们可以看到:端口下配置的是IP MTU,配置成9000字节后, 二层MTU自动变成9600
在思科NCS上,端口配置MTU 9014,可以看到:MTU is 9014 (9000 is available to IP)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)