我想知道最大(实际) ping 响应时间是多少。据我所知,没有任何地方定义最大值(TTL,但那是跳数,不是时间)。当我想到它时,我不确定我是否见过超过一秒左右的 ping 响应时间。但据我所知,没有什么可以阻止远程主机等待(或非常忙)并几秒钟不发回响应。
作为一个简单的数据点,我只是 ping 了世界各地的一些服务器,发现的最差时间是 350 毫秒。
答案1
我想知道最大(实际) ping 响应时间是多少。据我所知,没有任何地方定义最大值(TTL,但那是跳数,而不是时间)。
理论上,请求回应和回复之间的时间可能会很长。从快速浏览RFC 1122我没有看到这里有任何正式的限制。
但实际上,有一个阈值,超过该阈值,则视为没有回复(暂停)。具体值取决于实现:
在 Windows 中4 秒。
和工具ping 的实现似乎是10 秒- 不确定,因为手册页中没有说明,但代码是这样说的:
#define MAXWAIT 10 /* max seconds to wait for response */
超过该时间的 Ping 响应相当于没有响应。因此,我认为可以安全地假设这是实际极限。
需要注意的一点是——我在这里谈论的是ICMP仅。如果你指的是其他的“平“(例如某些特定于应用程序的请求/响应之间的延迟),它可能会完全不同。
答案2
值得注意的是RFC1149 的实现已实现这个 ping 时间:
64 bytes from 10.0.3.1: icmp_seq=0 ttl=255 time=6165731.1 ms
...大约 102 分钟。我还没有看到比这更长的响应时间。
答案3
所需的最大 ping 响应时间取决于应用程序的分布。VoIP 只能处理 200 毫秒左右(取决于编解码器),但大多数 HTTP 应用程序都可以处理远超这个时间。您还需要记住,服务提供商(或您的网络管理员)可以实施 QoS,将 ping 放入较低优先级的存储桶中。
答案4
当我想到这一点时,我不确定我是否曾经见过超过一秒左右的 ping 响应时间。
在 Linux 中,该ping
命令的 echo 请求间隔为 1 秒。如果在该时间间隔内未收到 echo 回复,则数据包计为丢失。可以使用 ping 命令的 -i 选项来增加间隔时间。