在ping输出中,pipe <number>是什么意思?


8

在运行测试以诊断某些所谓的网络问题时,我从ping以下获得此输出:

--- r01c01b11n02 ping statistics ---
30000 packets transmitted, 29995 received, 0% packet loss, time 6309ms
rtt min/avg/max/mdev = 0.091/0.343/118.051/3.605 ms, pipe 9, ipg/ewma 0.210/0.130 ms
PING r01c02b06n01 (10.1.1.61) 56(84) bytes of data.

pipe 9我以前从未见过的部分;目前,我只能在这几台主机上使用它,实际数量有所不同(例如,可能是 pipe 8pipe 2)。

输出pipe <number>是什么意思ping


顺便说一句,在某些系统上,输出是不同的:我的ubuntu显示:4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3014ms并且pipe 3在不同的行中混淆了试图解析它的Java代码
Daniel Alder

Answers:


10

pipe输出中的值ping表示在测试过程中某个时刻网络中未解决的未应答ICMP回显请求数据包的最大数量。当该值为1(每个请求在发送下一个请求之前都已收到响应)时,通常不会报告此情况,在正常操作下就是这种情况。

默认情况下,该ping命令会在发送回显请求之间等待一秒钟,这取决于其手册页上-i参数下的说明:

默认设置是在每个数据包之间正常等待一秒钟,或者不以泛洪模式等待。仅超级用户可以将间隔设置为小于0.2秒的值。

在大多数网络上,往返时间(RTT)通常约为数十或数百毫秒,而不是秒,因此在此默认模式下,每个回显请求通常会在发送以下请求之前收到响应。在测试中的任何时候,网络中未完成的数据包的最大数量均不大于一个,因此pipe等于1并且未报告。

如果由于某种原因,数据包的响应时间超过此默认间隔,导致网络中有多个请求未完成,则ping将报告pipe大于一个的间隔。同样,您可以通过传递一个小于RTT的值作为-i参数来人为地缩短间隔,从而调用此响应ping


如果网络系统是本地系统,则:

  • 您的测试减少了发出ping 的间隔
  • 您已启用泛洪模式,该模式在发送另一个ping之前不等待响应
  • 响应需要一些时间才能从远程主机返回到您的测试系统

这是否表明存在更大的问题取决于方案,网络硬件,ping配置等。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.