Ping 比光还快

dag*_*i12 385 networking ping

在测试我的互联网连接时,我刚刚发现了一件很奇怪的事情。我的 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
Run Code Online (Sandbox Code Playgroud)

我住在波兹纳?在波兰,所以我到亚利桑那州立大学的直线距离(非常乐观的假设)大约是 10000 公里。考虑到 ping 时间是两个方向的时间(到目标和回到家)。所以我的ping包必须跨越20000公里的距离。光速是每秒 30 万公里,即每毫秒 300 公里。所以用我的数据包以光速运行 ping 亚利桑那州立大学的最短时间是

20000/300=67ms
Run Code Online (Sandbox Code Playgroud)

我注意到位于澳大利亚和美国其他一些州的服务器的类似结果。我的互联网连接速度是光速的五倍吗?

Dan*_*l B 406

正如您从输出中看到的那样,您实际上并没有在 ping 亚利桑那州甚至美国的某个服务器。显然,他们决定使用 Cloudflare 保护他们的网站,它采用内容分发网络来平衡负载。甲CDN与许多节点,每个节点服务于(地理)区。这意味着您正在 ping 的节点离您非常近。

因为Cloudflare对其所有数据中心使用 Anycast维基百科信息),所以无论您身在何处,您都将连接到相同的 IP 地址。每个数据中心都提供所有服务。互联网路由器决定最佳路线(到最近/最容易到达的数据中心)并以此方式引导您的连接。

  • 这甚至是 CDN 存在的部分原因。用户没有足够的耐心等待光线到达地球的另一边并返回。 (313认同)
  • 最后!我已经等了几十年了,希望有人能提升光速。 (19认同)
  • @Nacht 没错,这就是为什么许多大型多人游戏都有区域的原因,而在区域之间切换通常会给您带来严重的延迟。 (18认同)
  • 以前从未想过这个......这是否意味着永远不可能在没有 3 帧延迟、60 fps 的情况下在线玩从澳大利亚到美国的游戏? (14认同)
  • 你确实意识到[聊天在哪里](http://chat.stackexchange.com/),对吧?;) (6认同)
  • @Nacht 你只需要等待量子隐形传态互联网。 (4认同)
  • @BleedingFingers 不,他不是。Cloudflare 使用 [Anycast](https://en.wikipedia.org/wiki/Anycast)。稍后我会更新我的答案。 (3认同)