ping 时间是否与位置/距离直接相关?

网络工程 通讯协议 跟踪路由
2021-07-12 21:52:40

假设我想在没有第三方服务的情况下确定某个 IP 是否位于我的国家/地区。我可以通过测量 ping 时间在一定程度上估计吗?还是查看跟踪路由中的跳数更好?或者是其他东西?

4个回答

并不真地。

是的,ping 时间和距离之间肯定存在相关性。但是,除了距离之外,还有许多因素会导致高 ping。拥塞、糟糕的路由、卫星链接等。

因此,尝试使用 ping 时间作为地理封锁措施可能会产生令人无法接受的高误报率。

简短的回答:没有。

长答案:IP 地址不是由地理原因决定的,因为地理区域可能只分配了某个块。

示例:朝鲜的 IP 地址块相对较小,因此很容易判断该国家/地区的某人何时访问了您的网站。

就美国、法国、德国、韩国、日本或其他国家而言,分配给其 ISP 的 IP 块数量要多得多,因此仅查看 IP 以查看它是否以某个数字开头不一定保证整个网络被分配到一个单一的地理区域。

关于ping时间,ping时间由很多因素决定,包括但不限于:

    - Number of routers between you and the target you are pinging
    - Networking problems in-between you and the target
    - Excessive traffic / congestion between you and the target

示例:我可以从我的家庭互联网 ping Google 的根 DNS 服务器 8.8.8.8 并通过 12 (!) 跳获得大约 40 毫秒的时间,但是我从同一城市的另一个位置获得了不到 1 毫秒的 8.8.8.8 ping,从一个不同的 ISP,在更快的连接上,仅通过四跳。

Ping 时间与信号在到达目标 IP 之前可以通过的最大电缆长度直接相关通过 ping 时间计算最大电缆长度(以公里为单位)的公式是: ((latency_in_ms÷1000÷2)×3×10^8)÷1000[km] 因此,如果您的 ping 命令例如显示 2.18 ms ping,则这意味着信号可以通过电缆传输最多327 公里直到目的地。但这只是一个上限电缆长度。实际上,有很多不同的因素会影响信号往返时间。例如,光纤中的信号比铜线中的信号损失少,因此在光纤中需要的信号放大器数量要少得多,这也可能导致额外的延迟。损坏的电缆,线路中的带宽负载等。因此信号在 ping 的半衰期实际穿过的电缆长度要小得多,因为信号“感觉到”了多种电阻。

如果它通过卫星运行,那么像 22000 英里 * 2 这样的一种方式就像 44000/186282.4 或至少像 236 毫秒,因为机器更像是 50%c,您可以预期单向方式的时间会更长。然后,如果 ping 较短,则无法通过卫星进行,发生了一些有趣的事情。:-O