对于拔号SLip链路来说,情况有些变化,因为在链路的两端增加了调制解调器。用在sun和netb系统之间的调制解调器提供的是V.32调制方式(9600b/s)、V.42错误控制方式(也称作LAP-M)以及V.42bis数据压缩方式。这表明我们针对线路链路参数进行的简单计算不再准确了。
很多因素都有可能影响。调制解调器带来了时延。随着数据的压缩,分组长度可能会减小,但是由于使用了错误控制协议,分组长度又可能会增加。另外,接收端的调制解调器只能在验证了循环检验字符(检验和)后才能释放收到的数据。最后,我们还要处理每一端的计算机异步串行接口,许多操作系统只能在固定的时间间隔内,或者收到若干字符后才去读这些接口。
作为一个例子,我们在sun主机上ping主机gemini,输出结果如下:
注重,第1个RTT不是10ms的整数倍,但是其他行都是10ms的整数倍。假如我们运行该程序若干次,发现每次结果都是这样(这并不是由sun主机上的时钟分辨率造成的结果,因为根据附录B中的测试结果可以知道它的时钟能提供毫秒级的分辨率)。<br>
另外还要注重,第1个RTT要比其他的大,而且依次递减,然后徘徊在280~300ms之间。我们让它运行1~
2分钟,RTT一直处于这个范围,不会低于260ms。假如我们以9600b/s的速率计算RTT,那么观察到的值应该大约是估计值的1.5倍。<br>
假如运行ping程序60秒钟并计算观察到的RTT的平均值,我们发现在V.42和V.42bis模式下平均值为277ms(这比上个例子打印出来的平均值要好,因为运行时间较长,这样就把开始较长的时间平摊了)。假如我们关闭V.42bis数据压缩方式,平均值为330ms。假如我们关闭V.42错误控制方式(它同时也关闭了V.42bis数据压缩方式),平均值为300ms。这些调制解调器的参数对RTT的影响很大,使用错误控制和数据压缩方式似乎效果最好。