估计两个 IP 地址之间的延迟

网络工程 icmp 潜伏
2022-02-24 05:07:41

我想估计在两个IP地址之间发送数据包的延迟是多少。

假设我有两个IP地址:ip1ip2. 我可以轻松地pingip1ip2并且该命令为我提供了数据包到达给定 IP 地址和返回给我的响应ping的往返行程。time但是,考虑到分别从我的 IP 地址执行 pingip1和ping 所需的时间ip2,我可以以某种方式估计pingfromip1到的循环时间ip2吗?

一般来说,我的目标是找到一种方法来估计packet latency两个 IP 地址之间的地址,我认为我可以使用 ping 来做到这一点。但也许还有其他方法可以做到这一点?

3个回答

除了infra对ping可靠性的评论:

您无法通过从第三点测量到端点之间的延迟来计算出延迟,除非它们都共享完全相同的网络,否则您也许可以得出一些结论。

如果 A 和 B 是 Internet 上随机网络中的两个 IP 地址,您无法对延迟you <--> A和得出任何结论you <--> B,因为A <--> B可能需要另一条更短或更长的路径,因为从 A 到其他网络可能涉及到B 而不是从你那里得到 A 和 B。

有很多方法可以找到网络延迟,其中一种方法是 Ping 命令。但是 Ping 命令有局限性,因此您可以使用 Solarwinds、NPM...等网络性能工具

除此之外,您还可以使用 Wire-shark 进行数据包分析,并且您需要正确的 TCP 或 UDP 协议。

这是一个很酷的 MacOS CLI 命令,它显示每个套接字每个目标每个进程的往返时间:nettop!确保向右滚动以查看数据。

在我给出的示例中,我只查看进程 40893 的 4 类输出。但是“nettop”本身会显示大量数据,但您必须将终端窗口向右展开才能查看所有列。完整输出中有一个 rtt_avg 字段。

我相信这显示了 MacOS 的“快乐眼球”实现用于选择最佳 IPv4 与 IPv6 传输的数据。

nettop -m tcp -J rtt_min,rtt_var,bytes_in,bytes_out -p 40893
                                                                                                  bytes_in       bytes_out   rtt_min   rtt_var
    com.apple.WebKi.40893                                                                           99 KiB         209 KiB
       tcp4 192.168.0.10:49492<->lb-192-30-253-124-iad.github.com:443                             3628 B          1009 B    72.56 ms  16.12 ms
       tcp4 192.168.0.10:49479<->104.244.42.66:443                                                5091 B          1648 B    17.72 ms   7.69 ms
       tcp4 192.168.0.10:49467<->lb-140-82-114-25-iad.github.com:443                              3783 B          1184 B    81.22 ms   6.75 ms
       tcp4 192.168.0.10:49448<->stackoverflow.com:443                                            3951 B          1035 B    83.03 ms  22.56 ms
       tcp4 192.168.0.10:49441<->151.101.129.69:443                                                 64 KiB          50 KiB   9.94 ms   0.62 ms
       tcp4 192.168.0.10:49269<->ec2-34-192-92-205.compute-1.amazonaws.com:443                      13 KiB         151 KiB  77.75 ms   7.94 ms
       tcp4 192.168.0.10:49245<->lb-140-82-113-25-iad.github.com:443                              4651 B          2196 B    79.12 ms   0.62 ms