如果我和伺服器距離較遠,是不是網速再快延遲也高?


因果關係反了,佔用帶寬越高,延遲越高。理由也很好理解,一根網線同時發送兩股數據包的時候兩種數據包需要穿插發送,當一種數據包幾乎佔滿網線帶寬時,留給另一種數據包的空間就很少,時間間隔長,延遲就高了。

可以參考一下谷歌 BBR 論文對這些問題的研究。


是的。

網速和延遲是兩個互不影響的概念,網速慢不代表延遲一定高,網速快不代表延遲低。


網速快不等於延遲低

如果坐動車 五個小時可以從北京到上海

如果我攜帶10t(一公斤多)的固態硬碟

那麼相當於

4660mbit/s的網速


我花10秒走過去給你一個塞滿數據的1TB硬碟;

等價網速:102GiB/s,延遲:10000ms。


網路延遲是一個bit從一臺主機到另一臺主機所需的時間。

網速是每秒可以發送多少bit的能力。


直接拿飛機運硬碟的網速究極快,平均下來一秒鐘運的數據可以非常離譜

但是延時是真滴高


剛好這周剛考完計算機網路,強答一發影響延遲的因素吧 :

距離,信號在鏈路里傳輸速度是有限的,自然距離越遠延遲越高

經過的路由器數量,每個路由器都要把收到的數據單元經過校驗後暫時保存起來再挨個發送到下一跳路由器,這中間會產生延遲。當然距離越遠一般經過的路由器越多

服務端處理數據產生的延遲

接收方的接收窗口,為了避免接收方來不及處理收到的數據,接收方會通知發送方一個接收窗口,發送方一次發送的數據不能超過接收窗口,並且只有收到接收方的確認才會發送新數據

鏈路的利用率,利用率越高延遲也越高,具體是D=D0/(1-U),D是延遲,D0是空載延遲,即信號經過鏈路需要的時間,U是利用率。

丟包,如果是TCP的話網路上通信雙方會互相確認收到情況,如果超時沒有收到確認需要重傳

擁塞控制,簡單來說就是發送方會探測網路狀態,如果網路沒有擁塞就會增加發送的數據量,如果出現丟包就認為發生了擁塞,會減少發送的數據量。另外網路上的路由器為了防止所有用戶同時增加減少發送量造成網路波動會在接近擁塞的時候隨機丟棄一部分數據,讓一部分用戶提前進入擁塞控制

綜上,決定延遲高低的因素裡帶寬只佔很小一部分,延遲該高還是高


做個類比,高鐵

高鐵一車2000人算,一趟一小時,那速度就是2000人每小時

如果他提高帶寬一次拉4000人 那速度就是4000人每小時

網速翻倍,延遲不變 該一小時還是得一小時


常見的情況是,我下載文件20m/s 但是玩遊戲200ms延時,是想說這種情況嗎?

為什麼高延遲

這個取決於和遊戲伺服器的"距離",這個距離指的是從你的電腦發送一個數據包到達遊戲伺服器所經過的伺服器數量,也許你的lol遊戲數據包周轉了一遍美國再去國內騰訊的伺服器也是有可能的。加速器的原理就是使得你的數據包不來回周轉,直接到達遊戲伺服器。

為什麼下載速度又很快

這個可能是因為網站使用了CDN加速的原因,也就是找了一個距離你最近的文件伺服器給你傳輸文件

再者,傳輸文件是一塊一塊的傳輸,大小可能幾kb也可能更大,即使高延遲,綜合來說速度也很快。發送方完全可以一股腦的發出去一堆文件,接收方啥時候接收到不重要。


其實是相關關係卻不是必然的關係,距離遠一般經過的交換或者路由設備必然就多,而每經過一個設備平均至少有3ms,所以距離遠一般會感覺延遲高,其實主要關係是因為你經過的設備較多帶來的延遲,像好多遊戲加速器就是在每個省級設置節點伺服器然後保障你經過的節點比較少從而降低延遲。

但是像有部分企業是自己組網,不過一般在幾百公里以內,是中轉設備足夠少這樣距離再遠延遲也不會太高,但是主要提供內網服務基本沒有外網服務是這樣建設的,代表企業如鐵路呀高速呀內部網的建設


要看是什麼協議的延遲,TCP/IP的話延遲高會影響到窗口大小,單個線程的帶寬會被降低。除此之外,帶寬和延遲沒有必然聯繫,直接拿著硬碟傳輸數據,帶寬非常大,當然延遲也很大。


網路延遲基本可以看作下面四種延遲的總和:Processing Delay, transmission delay, queuing delay, propagation delay。

其中傳輸距離直接影響propagation delay = 距離/數據在網線中運動的速度(光纖一般近似光速的2/3)。其他延遲再小也無法改變這個值。

網速也就是比特率(普通人口中的帶寬),直接影響的是transmission delay,是把數據從你的電腦全部輸入到網線花的時間。

所以網速快不代表一定沒有高延遲。


網速沒有「快慢」這個屬性標籤


你拿百度網盤下東西,沒會員吧,下載速度也就200Kb/s,這時候打王者60ms延時;

你有了百度網盤的會員,下載速度變成了10Mb/s,這時候打王者還是60ms延時。

突然你的百度網盤下載速度極其快,20Gb/s,這時候你猜猜你的延時是多少?

答案:460ms,欠費加停機


網速主要還是看帶寬,帶寬對延時的影響在一些特定情況下還是明顯的,但是如果帶寬夠用,延時主要還是與負責分組轉發的協議與鏈路硬體有關(不準確的來說)。


網速快並不代表網路環境就好,延遲高是網路服務提供商和線路影響比較打;如果是網路高峯期那延遲就很高應為同時在線人數太多網路線路壓力和數據傳輸比較大反之延遲就比較低,還有就是當前網路內有人下載或者在看視頻這種大量佔用帶寬的行為如果是區域網那就不要玩遊戲了延遲很高。

重點互通問題!!

親,這屬於運營商有互通問題

移動寬頻請開移動機房

電信寬頻選擇電信機房

聯通選擇聯通機房哦。

不然有可能出現延遲現象 如:

1.一會可以遠程一會又不能遠程或遠程上去很卡甚至無法操作

2.這些都屬於互通問題,開通盡量選擇與自己一致寬頻的機房哦。


表示很贊同之前回答說要給你移動硬碟的比喻。很形象,比喻之後的原理大致可以理解為:網速快,表示你單位時間內收到的數據量大。這個可能原因又分為短時間間隔內收到大量的「小」數據包或者一定間隔時間後收到一個「大」數據包。比如每秒都可以收到一個1K的數據包,這時的網路延遲就很穩定的是1秒。但是網速是穩定的1K/s。另一種情況是假設有一種網路協議,不在乎包的大小,也不在乎保持鏈接。在你請求接收以後過了59秒都沒有回應數據。在第60秒剛跳的時候突然一個60G的數據包丟過來糊在硬碟上(這大概需要M.2的固態才能接得住啊)。這時你的網速就是1G/s。但是延遲是60秒。


推薦閱讀:
相關文章