題 Ping比光更快


我在測試我的互聯網連接時發現了非常奇怪的事情。 我的ping比它應該小。例如,亞利桑那州立大學的平均時間約為14毫秒。

eryk@eryk-pc:~$ ping www.asu.edu
PING www.asu.edu.cdn.cloudflare.net (104.16.51.14) 56(84) bytes of data.
64 bytes from 104.16.51.14: icmp_seq=1 ttl=60 time=13.8 ms

我住在波蘭的波茲南,所以我與亞利桑那州立大學的直線距離(非常樂觀的假設)大約是10000公里。考慮到ping時間是兩個方向(到目標並返回到家)的時間。所以我的ping包必須交叉 距離20000公里。光速為每秒300 000公里,即每毫秒300公里。因此,在我的數據包以光速傳播時,亞利桑那州立大學的最短時間是

20000/300=67ms

我注意到位於澳大利亞和其他一些美國的服務器也有類似的結果。 我的互聯網連接比光快五倍嗎?


368
2018-05-29 15:06


起源


壓倒性的答案,但這個問題讓我想起了 500英里的電子郵件故事 這是一個有趣的閱讀;非常值得你的時間。 - OJFord
@cnst,因為我們是極客。這是一個難題,但是當你仔細觀察時,答案是微不足道的。我們是極客 愛 那種東西。 - Wayne Werner
@WayneWerner,一個謎題假設得出答案並非完全無關緊要;在這種情況下,答案, cloudflare.net,問題本身已經非常明顯了! - cnst
如果你不熟悉cloudflare,或者知道它是一個cdn,那不是一件輕而易舉的事。如果你不知道什麼是cdn,它也不會是微不足道的。 - Wayne Werner
任何人都可以比光更快地ping。 > ping ftlgame.com 我沒有得到那麼難的東西。 - Ian MacDonald


答案:


正如您從輸出中看到的那樣,您實際上並沒有ping亞利桑那州甚至美國的某些服務器。顯然,他們決定使用Cloudflare保護他們的網站,Cloudflare使用內容分發網絡甚至負載。一個 CDN 適用於許多節點,每個節點服務於(地理)區域。這意味著你正在ping的節點離你很近。

因為 Cloudflare使用Anycast (維基百科信息)他們所有的 數據中心,無論您身在何處,都可以連接到同一個IP地址。每個數據中心都提供所有服務。互聯網路由器決定最佳路由(到最近/最佳可達數據中心)並以這種方式指導您的連接。


399
2018-05-29 15:21



這甚至是CDN存在的部分原因。用戶沒有耐心等待光線到達地球的另一側並返回。 - kasperd
從來沒有想過這個......這是否意味著永遠不可能在沒有3幀滯後,60 fps的情況下從澳大利亞到美國在線玩遊戲? - Nacht
你意識到了 聊天的地方, 對? ;) - Daniel B
@Nacht這是​​正確的,這就是為什麼許多大型多人遊戲都有區域,並且區域之間的切換通常會給你帶來不好的延遲。 - David Grinberg
最後!我已經等了幾十年才有人提升光速。 - RBarryYoung