让我们再来看看SLip链路上的往返时间,因为它们经常运行于低速的异步方式,如9600b/s或更低。回想我们在2.10节计算的串行线路吞吐量。针对这个例子,我们把主机bsdi和slip之间的SLIP链路传输速率设置为1200b/s。
下面我们可以来估计往返时间。首先,从前面的Ping程序输出例子中可以注重到,默认情况下发送的ICMP报文有56个字节。再加上20个字节的IP首部和8个字节的ICMP首部,IP数据报的总长度为84字节(我们可以运行tcpdump-e命令查看以太网数据帧来验证这一点)。
至少要增加两个额外的字节:在数据报的开始和结尾加上END字符。此外,SLIP帧还有可能再增加一些字节,但这取决于数据报中每个字节的值。对于1200b/s这个速率来说,由于每个字节含有8bit数据、1bit起始位和1bit结束位,因此传输速率是每秒120个字节,或者说每个字节8.33ms。所以我们可以估计需要1433(86×8.33×2)ms(乘2是因为我们计算的是往返时间)
下面的输出证实了我们的计算:
(对于S V R 4来说,假如每秒钟发送一次请求则必须带-s选项)。往返时间大约是1 . 5秒,但是程序仍然每间隔1 秒钟发送一次I C M P 回显请求。这说明在第1 个回显应答返回之前
(1 . 4 8 0秒时刻)就已经发送了两次回显请求(分别在0秒和1秒时刻)。这就是为什么总结行指出丢失了一个分组。实际上分组并未丢失,很可能仍然在返回的途中。