【问题标题】:Why does Ping interval effect the RTT value?为什么 Ping 间隔会影响 RTT 值?
【发布时间】:2016-12-21 07:29:03
【问题描述】:

在 ping 中,“-i”是发送连续数据包之间的等待间隔(以秒为单位)。

我有 2 台服务器(主机 1、2)并将 10G 网卡插入每台服务器。我尝试从 Host1 ping Host2。

$ sudo ping 10.0.0.2 -c 100
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.191 ms
...
64 bytes from 10.0.0.2: icmp_seq=100 ttl=64 time=0.141 ms
--- 10.0.0.2 ping statistics ---
100 packets transmitted, 100 received, 0% packet loss, time 89999ms
rtt min/avg/max/mdev = 0.116/0.169/0.231/0.039 ms

平均 RTT 为 0.169ms


然后我尝试减少间隔。

$ sudo ping 10.0.0.2 -c 100 -i 0.0001
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.112 ms
...
64 bytes from 10.0.0.2: icmp_seq=100 ttl=64 time=0.030 ms
--- 10.0.0.2 ping statistics ---
100 packets transmitted, 100 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.030/0.045/0.112/0.027 ms, ipg/ewma 0.079/0.060 ms

平均RTT是0.045ms?!


间隔 = 1s,RTT = 0.169ms

间隔 = 0.1 毫秒,RTT = 0.045 毫秒

为什么 RTT 越小,间隔越小?

【问题讨论】:

  • 您可能会看到在一个以太网帧中发送了多条消息。所以 RTT 现在将是 RTT/每帧的消息数,因为它们都在一条消息中发送,但 ping 没有意识到这一点。

标签: linux networking ping latency


【解决方案1】:

假设您多次执行此实验并始终看到较低的 RTT:

答案很可能在 ping 的 src 代码中。它可能设置了一个非常小的间隔,这意味着正在以更及时的方式处理响应。

RTT 数字主要是数据包的飞行时间,但也包括一小部分,即操作系统处理响应的速度。我相信 icmp echo / reply 都是在内核级别处理的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 2016-12-09
    • 2022-11-06
    • 1970-01-01
    • 2011-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多