
简单例子,你拿着资料单去老王家要学习资料然后抱着十包学习资料回家
这个过程,从你家到老王家是上行,从老王家抱资料回家是下行
其中的延迟就是中通经过的时间
这之中又要分tcp,udp延迟和icmp延迟,由于常用的ping是走icmp,而真正的网络功能如游戏,下载主要通过tcp/udp提供。部分不要脸的服务商会专门优化icmp,造成看上去ping出来贼好看。
扯远了,回到开头,你拿着资料清单找老王过程中被不要脸的某人抢了撕掉了半张,你只能再叫美团跑腿帮你从家里拿来,这就是丢包,因为丢包所以要等后续重新发包(仅限tcp,udp的情况就是直接拿半张找老王要),这样就会使实际速度变低,毕竟原本一小时就能跑到现在来来回回要俩小时了。这就是上行丢包
那么你从老王家回来抱着十包学习资料的路上又不小心掉了,你只剩8包,那你只能抱着8包到家,清点缺了哪两包,然后再列出来去找老王要,这就是下行丢包,同样会让速度变低(同理,udp下直接无视,少了几本也能凑活看嘛)
but你发现了,你要的是学习资料,而上行的意义只是告诉老王你需要这些资料
因此上行包和总数据量往往较小,而实际影响使用的是下行(说白了你清单最多再被抢几次,但是你那十包书路上可是很容易丢的)
由于游戏主要是tcp/udp传输,那么如果tcp的情况下下行丢包就会变卡,udp就会丢帧(但表现出来的也可能是卡顿)
为什么会发生?主要原因还是网络环境,毕竟你不可能直接给你家连根光纤到游戏机房(除非像我一样家对面华为云数据中心,但人机房绝对不让你进去)。而开头就说了ping延迟只是反馈路途用了多久,且icmp有时候与tcp/udp的线路还可能并不一样(icmp可能cn2直连,tcp可能绕地球三圈,别笑,某跑路云干过),此外,你从你自己设备发送到服务器的ping只能检测上行,而下行必须要服务器端向你ping(去程cn2回程ntt也有很多无良云干过)
从云服务商的角度来说,无论机房接的网有多差,只要钱到位,我甚至能让你ping出来永远在cn2直连
所以下行丢包是无法避免的,除非游戏换个服务器,亦或者你跑人机房门口打游戏
