这一节介绍端对端延迟。端对端延迟由三部分组成:传输延迟(Propagation Delay)、封装延迟(Packetization Delay)和排队延迟(Queueing Delay)。他们的关系如下图:
传输延迟:
即链路长度除以传播速度,传播速度接近光速,在双绞线中为光速的70%,通常用m/s计算。因此传输延迟只跟链路长度及传输速度有关,是一个可以确定的值。
封装延迟:
定义为从数据第一个bit进入link到最后一个bit进入link的时间。即将整个数据包放入链路所花费的时间。因此封装延迟跟数据包包含的位数、以及每秒能放入链路的位数有关,这也是一个可以确定的值
排队延迟:
当多个数据包同时到达同一个路由时,会按照先后顺序存入路由的缓冲区,排队进行传输,因此这与该数据包前面排有多少等待发送的数据包有关系。并且这是一个无法确定的延迟。
对于观看视频这种服务,要求稳定以稳定的速度播放,但是如果实时请求每一个数据包,由于queueing delay的存在是无法匀速获取的。因此会用到 play back buffer这种技术,也就是所谓的缓冲,提前缓冲当前播放点之后的一段时间内的视频内容,以达到匀速播放的目的。