网络协议2:延迟、丢包,还有吞吐量

1,308 阅读2分钟

不得不面对的延迟与丢包

概览

数据在路由器的缓存里排好队,等待进行处理(转发之类的):

  • 当来的速度暂时超过了处理速度,但好歹缓存够存——这是排队延时
  • 缓存都塞不下了,那就只能丢了

丢包延时.png

与其说是问题,不如说这是一种信号

延时的四个源头

delay.png

节点上延时的来源一般可以分解为

  • 处理延时,processing (proc),是什么、要发给谁、计算和检查;一般时间很短,小于毫秒级
  • 排队延时,取决于拥堵程度
  • 传输延时,我其实觉得更像是“完成手续”花费的时间,受限于传输带宽。计算:L/RL/R
  • 传播速度propagation (prop),网线啊海底光缆啥的都放在这,一般2/32/3光速,计算:d/sd/s

要注意区分传输延时和传播延时

可以用汽车过收费站来理解:传输延时就像是工作人员给你发卡需要的时间

汽车.png

我觉得这个判断的例子能很好地说明哪段是哪段:

延时测试.png

再讲丢包

  • 队列(又称缓冲区)缓冲区中的前一个链路的容量有限
  • 到达满队列的数据包除了被丢掉没得选
  • 丢失的数据包可以由前一个节点、源端系统重新传输,也可以根本不重新传输

丢包.png

吞吐量

  • 描述的是整个【从发送方到接收方】的传输速率 (bits/time unit)
  • 分为瞬时(instantaneous)和平均(average)
  • 瓶颈链路(bottleneck link):限制端吞吐量的端路径上的链接,说人话就是路径上带宽最小的那段

真实的网络下:

网络场景R.png

这玩意的意思是: 一个网络就像树捏,到上下两端管道都比较细中间靠近core的吞吐量就比较多,但你只能使用一部分
任两个终端的连接的最大吞吐量将由它们间路径下的最小吞吐量的那段决定

要记得Rs表服务器段,Rc表示客户端段,可能会直接考

来点题目

延时的

image.png

Link 1: 100 Mb/s 3km
Trans=包大小/处理速度=12000bits/100Mbps=0.12msTrans = 包大小/处理速度 = 12000bits/100Mbps = 0.12ms
Prop=3000/(2108)=0.015msProp = 3000/(2*10^8) = 0.015ms
后面同理

吞吐量的

吞吐量题.png

吞吐量答案.png