分组延时、丢失和吞吐量笔记
一、分组丢失及其原因
-
分组丢失原因:
- 路由器中的每条链路都对应一个队列。
- 分组通过查路由表决定通过哪条队列和链路传输。
- 如果队列已满,新到的分组将被丢弃。
-
为什么队列不能无限长:
- 太长的队列会导致传输延迟过高,用户无法忍受。
- 网络传输有一个延迟上限,超过这个上限即使分组到达也变得没有意义。
二、分组传输的延迟类型
-
处理延迟:
- 路由器检查分组错误、提取目标IP地址、查路由表及处理其他字段所需的时间。
- 通常是微秒级或更少。
-
排队延迟:
- 分组在队列中等待传输的时间。
- 是随机的,取决于当时的网络拥塞程度。
-
传输延迟:
- 路由器将分组通过链路传输出去所需的时间。
- 取决于分组长度(l)和链路带宽(r),计算公式为 l / r。
-
传播延迟:
- 分组中的比特在链路上传播所需的时间。
- 取决于链路距离(d)和电磁波速率(s),计算公式为 d / s。
三、流量强度与排队延迟
-
流量强度定义:
- 流量强度(Intensity) = 每秒到达链路的比特数 / 链路的带宽。
- 公式:Intensity = αl / Rb
- α:每秒到达的分组数
- l:每个分组的长度(比特)
- Rb:链路的带宽(比特/秒)
-
流量强度与排队延迟的关系:
- 流量强度在0和1之间。
- 流量强度接近0时,排队延迟很少。
- 流量强度接近1时,排队延迟趋于无穷大,分组容易丢失。
四、分组传输路径与延迟
-
路径构成:
- 从源主机到目标主机的路径由多个“跳”组成,每跳经过一个路由器。
- 每跳都会引入处理延迟、排队延迟、传输延迟和传播延迟。
-
往返延迟测量:
- 使用
traceroute
工具可以测量从源到目标经过每跳的往返延迟。 -
traceroute
通过发送TTL递增的ICMP探测包来实现。
- 使用
五、分组丢失后的处理
-
链路可靠性:
- 可靠的链路(如无线链路)会在链路层提供重传机制。
- 不可靠的链路(如以太网)不会提供重传,丢失的分组由上层或原主机负责。
-
重传机制:
- 上层协议(如TCP)可以在丢失时触发重传。
- 使用UDP的应用进程则不负责重传,丢失的分组直接丢弃。
六、吞吐量的定义与影响因素
-
吞吐量定义:
- 单位时间内从源主机向目标主机成功传输的有效比特数。
- 分为瞬间吞吐量和平均吞吐量。
-
瓶颈链路:
- 路径中带宽最小的链路称为瓶颈链路。
- 从源到目标的吞吐量取决于瓶颈链路的带宽。
-
多主机共享链路:
- 链路是公用的,多个主机的通信可能同时使用该链路。
- 每个主机的通信带宽是链路总带宽的1/n(n为使用该链路的主机数)。