昊梵体育网

ping包的一些输出没看懂,求大神解释? 如下图所示, centos 系统 p

ping包的一些输出没看懂,求大神解释?
如下图所示, centos 系统 ping 发包 27220 个,收到了 27127 个,收到的包包含了 45 个错包。但是后面显示 0% packet loss ,请问这个为啥是 0% 的 loss ,而不是实际的丢失率呢?





看到 pipe 2985 ,有什么想法?
pipe 2985 表示已经 transmitted 的 echo request ,还没有收到 echo reply 的 packet ,一共有 2985 个。 通俗地说,网络管道( pipe )一共滞留 2985 个 packet ,简称 pipe 2985 。
Ping 当前工作在 default mode ,还是 flood mode?
Default mode
默认方式,采用定时器超时发送,一秒发送一个,或者 1 毫秒发送一个。
Flood mode
ping 采用 while 循环发送,有多快就发多快。
一共发送了 27220 个 packet ,整个发送 time= 275024 ms 。
Packet 发送时间 interval = 发送 time/ 发送 packet = 275024/27220 = 10.1 ms
如果采用 default mode 发送,需要 10ms 发送一次,可能吗?
不可能!
因为 maximum RTT = 0.914ms ,在这个时间周期内, pipe 里最多有( 27220 -27127 + 1 ) = 94 个 packet 。悲观地认为所有的 packet loss 全部滞留在这个时间周期内。
很显然 ,假设的 pipe 94 远远小于 真实的 pipe 2985 。
假设错误!
当前 ping 工作在 flood mode 。
Ping 究竟有没有丢包?
如果没有丢包,为何 transmitted + error ≠ received ?
如果丢包,为何 packet loss rate==0% ?
揭晓答案: