参考原贴地址:https://blog.csdn.net/djl806943371/article/details/89331221
这一节介绍端对端延迟。端对端延迟由三部分组成:传输延迟(Propagation Delay)、封装延迟(Packetization Delay)和排队延迟(Queueing Delay)。他们的关系如下图:
传输延迟:
即链路长度除以传播速度,传播速度接近光速,在双绞线中为光速的70%,通常用m/s计算。因此传输延迟只跟链路长度及传输速度有关,是一个可以确定的值。
封装延迟:
定义为从数据第一个bit进入link到最后一个bit进入link的时间。即将整个数据包放入链路所花费的时间。因此封装延迟跟数据包包含的位数、以及每秒能放入链路的位数有关,这也是一个可以确定的值
排队延迟:
当多个数据包同时到达同一个路由时,会按照先后顺序存入路由的缓冲区,排队进行传输,因此这与该数据包前面排有多少等待发送的数据包有关系。并且这是一个无法确定的延迟。
对于观看视频这种服务,要求稳定以稳定的速度播放,但是如果实时请求每一个数据包,由于queueing delay的存在是无法匀速获取的。因此会用到 play back buffer这种技术,也就是所谓的缓冲,提前缓冲当前播放点之后的一段时间内的视频内容,以达到匀速播放的目的。
不过我个人有点搞不懂的是,视频中nick也说到接受的速度不会高于发送的速度,那么 Received by Laotop的这条曲线的斜率应该小于 Sent by Server这条曲线才比较合适?
下面图例反应就是我们看视频中遇到卡顿的情况的原理
这一道quiz题目还是比较容易出错的,我们要记得playback buffer 的目的就是吸收我们的packet delay ,或者更准确的是queening delay