🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
让我们再来看看SLIP链路上的往返时间,因为它们经常运行于低速的异步方式,如9600 b/s或更低。回想我们在2.10节计算的串行线路吞吐量。针对这个例子,我们把主机bsdi和slip之间的SLIP链路传输速率设置为1200 b/s。 下面我们可以来估计往返时间。首先,从前面的Ping程序输出例子中可以注意到,默认情况下发送的ICMP报文有56个字节。再加上20个字节的IP首部和8个字节的ICMP首部,IP数据报的总长度为84字节(我们可以运行tcpdump-e命令查看以太网数据帧来验证这一点)。 另外,从2.4节可以知道,至少要增加两个额外的字节:在数据报的开始和结尾加上END字符。 此外,SLIP帧还有可能再增加一些字节,但这取决于数据报中每个字节的值。对于1200 b/s这个速率来说,由于每个字节含有8 bit数据、1 bit起始位和1 bit结束位,因此传输速率是每秒120个字节,或者说每个字节8.33 ms。所以我们可以估计需要1433(86×8 . 33×2)ms(乘2是因为我们计算的是往返时间)。 下面的输出证实了我们的计算: ![](https://box.kancloud.cn/2016-04-13_570de3566d08d.png) (对于SVR4来说,如果每秒钟发送一次请求则必须带-s选项)。往返时间大约是1.5秒,但是程序仍然每间隔1秒钟发送一次ICMP回显请求。这说明在第1个回显应答返回之前(1.480秒时刻)就已经发送了两次回显请求(分别在0秒和1秒时刻)。这就是为什么总结行指出丢失了一个分组。实际上分组并未丢失,很可能仍然在返回的途中。 我们在第8章讨论traceroute程序时将回头再讨论这种低速的SLIP链路。