我想从我的计算机发送一些绕地球一周的数据并返回到我的计算机。你认为我该如何实现这个目标?
我尝试在网上搜索如何解决这个问题,但却一无所获!
答案1
据我所知,这是不可能的,因为您无法指定数据包将采用哪条路径。即使可以,也可能很难确定哪条是正确的路径。
互联网路由协议的设计目标是始终采用最短(或成本最低)的路由。因此,向自己发送数据包的路径会非常短。
但是,由于实验的目的是确定绕地球一圈需要多长时间,您可以尝试找到一个离您所在地很近、可以 ping 到的世界另一端的服务器。然后将结果乘以 2,它就会给出一个大概的时间。
顺便说一句,你得到的答案可能毫无意义。这些数字可能会随着路线的改变、交通流量的增加等而改变。因此,当你在当天晚些时候进行测试时,你可能会得到一个比之前多一倍的数字。
我知道有一台服务器位于地球另一端的三分之一处,是我公司的。如果我 ping 它,我会得到
PING xx.xx.xx.133 (xx.xx.xx.133) 56(84) bytes of data.
64 bytes from xx.xx.xx.133: icmp_req=1 ttl=52 time=461 ms
64 bytes from xx.xx.xx.133: icmp_req=2 ttl=52 time=447 ms
64 bytes from xx.xx.xx.133: icmp_req=3 ttl=52 time=309 ms
64 bytes from xx.xx.xx.133: icmp_req=4 ttl=52 time=153 ms
64 bytes from xx.xx.xx.133: icmp_req=5 ttl=52 time=181 ms
64 bytes from xx.xx.xx.133: icmp_req=6 ttl=52 time=149 ms
64 bytes from xx.xx.xx.133: icmp_req=7 ttl=52 time=163 ms
64 bytes from xx.xx.xx.133: icmp_req=8 ttl=52 time=153 ms
^C
--- xx.xx.xx.133 ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 6999ms
rtt min/avg/max/mdev = 149.988/252.410/461.149/126.491 ms
所以如果我将其乘以 3,我得到~756ms。
再次强调,这是相当无用的信息,因为最大的链接延迟可能出现在你和你的互联网服务提供商之间。一些 ADSL 的 ping 值可能高达 100ms,而且只能穿过整个城镇。
刚刚再次进行了测试,我得到的平均时间为 167 毫秒,可以覆盖大约 1/3 的地球。乘以 3,我得到的结果为 501 毫秒。
答案2
根据您的评论,看看需要多长时间......
- 地球周长 = 40,076 公里
- 光速 = 300000 公里/秒
- d=vt
- t=40076/300000
- t= .1335866667 秒
根据物理定律,如果是直线射击,这就是所需的最短时间……但事实并非如此。