lol美服延遲高怎么解決,一招幫你快速解決


我們平常玩的很多網絡游戲 , 比如英雄聯盟/王者榮耀/PUBG等 , 你感覺到卡頓往往不是因為你的網速問題 , 而是因為網絡延時導致的 , 比如說LOL美服的游戲服務器在美國 , 而你在中國的華中地區玩著美服LOL , 那么你的延遲可能會在300ms左右 , 因為網絡請求從美國到中國華中地區需要經過很多的路由 , 這里面會消耗掉很多時間 , 如果發生了丟包 , 那么重發需要的延遲更是會加倍增長 , 而延遲往往在150ms以上時往往就會影響到你的游戲體驗了 。
市面上會有一些游戲加速器 , 它們會在國外安置服務器 , 搭建一條線路 , 來保證你的請求能夠迅速的被處理 , 來降低游戲的延遲 。
現在很多的游戲以及直播等低延遲需求的應用 , 一般都不會再使用原生的TCP或者UDP來進行傳輸 , 而是在兩者的基礎上進行擴展修改 , 取其優異 , 比如TCP的傳輸可靠 , UDP的傳輸速度 。
仔細想想以前在計算機網絡課程中學習TCP/UDP時 , 就對TCP的所謂可靠傳輸感覺很怪異 , 真的是可靠到太過慎重了 , 說到慎重就不得不提這個月的一部新番《這個勇者明明超強卻過分慎重 》 。
昨天看了第一話 , 吹爆!
說回TCP , 當時覺得它的超時重傳RTO時間每次都會翻倍 , 如果一個包多次超時 , 那下次重發這個包不是需要很久 , 延遲這不就上來了? 還有它的重傳 , 丟了一個包就需要重傳之后所有的包 , 過分的慎重 , 雖然說可以保證可靠性 , 但是這對于我們毫秒級即時通訊之類的應用確實不太友好 。
在此前提下 , 有了很多基于TCP或是UDP的改良 , 專門針對網絡游戲以及音視頻通話中的延遲 , 本篇要說的就是KCP協議 。
KCP協議是什么
KCP是一個快速可靠協議 , 能以比 TCP浪費10%-20%的帶寬的代價 , 換取平均延遲降低 30%-40% , 且最大延遲降低三倍的傳輸效果 。
純算法實現 , 并不負責底層協議(如UDP)的收發 , 需要使用者自己定義下層數據包的發送方式 , 以 callback的方式提供給 KCP 。
連時鐘都需要外部傳遞進來 , 內部不會有任何一次系統調用 。
【lol美服延遲高怎么解決,一招幫你快速解決】有一種叫KCPtun的實現 , 可以把我們的TCP請求轉化成KCP UDP在公網上傳輸 。
KCP與TCP的比較
TCP是為流量設計的(每秒內可以傳輸多少KB的數據) , 講究的是充分利用帶寬 。而 KCP是為流速設計的(單個數據包從一端發送到一端需要多少時間) , 以10%-20%帶寬浪費的代價換取了比 TCP快30%-40%的傳輸速度 。
TCP信道是一條流速很慢 , 但每秒流量很大的大運河 , 而KCP是水流湍急的小激流 。
KCP有正常模式和快速模式兩種 , 通過以下策略達到提高流速的結果:

猜你喜歡