目录
一、PPT
二、总结
(一)拥塞的定义
拥塞(Congestion) 指网络中的数据流量超过网络设备(如路由器、交换机)的处理能力,导致网络性能急剧下降的现象。表现为丢包率上升、时延增加、吞吐量降低,严重时可能引发“拥塞崩溃”(Congestion Collapse)。
(二)拥塞产生的原因
原因 | 说明 |
---|---|
缓冲区溢出 | 路由器/交换机队列饱和,新到达的分组被丢弃。 |
多流竞争带宽 | 多条数据流同时通过同一瓶颈链路,超出链路容量。 |
慢速处理器 | 路由器处理速度跟不上分组到达速率。 |
不对称带宽 | 高速链路向低速链路发送数据(如卫星链路到移动设备)。 |
流量突发性 | 短时间内大量数据涌入网络,超出瞬时处理能力。 |
(三)拥塞控制的目标
避免拥塞崩溃
公平分配带宽
最大化网络吞吐量
最小化分组时延和丢包率
(四)拥塞控制方法分类
1. 端到端拥塞控制
原理:由端系统(发送方/接收方) 通过观察网络行为(如丢包、时延)推断拥塞,无需路由器显式反馈。
主要实现:TCP 拥塞控制算法(核心机制):
机制 | 原理 | 关键点 |
---|---|---|
慢启动 | 初始指数增长:每 RTT 拥塞窗口(cwnd)翻倍。 | 起点:1 MSS;阈值(ssthresh)控制阶段切换。 |
拥塞避免 | 超过 ssthresh 后线性增长:每 RTT cwnd +1 MSS。 | 保守增加,探测可用带宽。 |
快速重传 | 收到 3 个重复 ACK 时立即重传丢失分组,无需等待超时。 | 减少恢复延迟。 |
快速恢复 | 触发快速重传后,cwnd = ssthresh + 3 MSS,之后进入拥塞避免阶段。 | 避免过度降窗,维持吞吐量。 |
拥塞检测 | 触发条件: - 超时重传:cwnd = 1 MSS,重启慢启动(严重拥塞) - 重复ACK:cwnd = ssthresh/2(快速恢复) |
AIMD(加性增/乘性减)是核心策略。 |
优点:无需网络层支持,部署简单(如 TCP 广泛使用)。
缺点:响应延迟较大,依赖推断可能不准确。
2. 网络辅助拥塞控制
原理:路由器/交换机主动向发送方提供拥塞反馈信号,端系统据此调整发送速率。
主要技术:
技术 | 原理 | 实现示例 |
---|---|---|
显式拥塞通知 (ECN) | 路由器在 IP 头标记拥塞,接收方通过 ACK 通知发送方。 | 1. 路由器设置 IP 头 ECN 位 2. 接收方在 TCP ACK 中回显 3. 发送方减窗 |
ICMP 源抑制报文 | 路由器向发送方发送 ICMP Source Quench 报文要求降速。 | 早期技术(如 IPv4),现代网络较少使用。 |
基于速率的控制 | 路由器直接指定发送速率(如 ATM 网络的 ABR 服务)。 | 需专用协议支持(如 RM 细胞)。 |
ECN 工作流程:
路由器检测队列长度超过阈值。
对经过的 IP 分组设置 ECN 标记(设 CE 位)。
接收方发现 ECN 标记,在 TCP ACK 中设置 ECE 标志。
发送方收到 ECE 后,减半 cwnd 并设置 CWR 标志确认。
优点:响应迅速,拥塞信息更准确。
缺点:需网络设备支持,部署复杂度高。
(五)关键对比
特性 | 端到端控制 | 网络辅助控制 |
---|---|---|
反馈来源 | 端系统推断(丢包/时延) | 路由器显式通知 |
部署难度 | 低(仅需端系统更新) | 高(需全网设备支持) |
响应速度 | 较慢(依赖超时机制) | 快速(实时标记) |
典型协议 | TCP (Reno/CUBIC/BBR) | ECN (TCP/IP)、ATM ABR |
公平性 | 依赖 AIMD 保证 | 可通过路由器策略增强 |