网络中分组数量过多,导致网络性能下降的现象。表现随程度递进:
轻度拥塞:延迟增大
中度拥塞:开始丢包
严重拥塞:吞吐量急剧下降(死锁)
| 特性 | 拥塞控制 | 流量控制 |
|---|---|---|
| 范围 | 整个网络 | 端到端(发送方-接收方) |
| 原因 | 网络资源不足 | 接收方处理能力不足 |
| 方法 | 减少注入网络的流量 | 减少发送给接收方的流量 |
| 层次 | 网络层+传输层 | 数据链路层+传输层 |
在拥塞发生前采取措施,不考虑网络当前状态
方法:
- 流量整形(Traffic Shaping):漏桶 / 令牌桶
- 资源预留
- 拒绝新连接(准入控制)
- 分组丢弃策略
根据网络当前状态动态调整
过程:
1. 监测网络状态(利用率、队列长度、丢包率)
2. 将状态信息传送给相关节点
3. 调整注入网络的流量
方法:
- 显式拥塞通知(ECN)
- ICMP源站抑制(已弃用)
- TCP拥塞控制
原理:分组进入漏桶,以恒定速率流出
分组 → [漏桶] → 恒定速率输出
特点:
- 输出速率恒定,消除突发流量
- 桶满时丢弃分组(或标记)
- 平滑流量
原理:以恒定速率生成令牌,分组发送需消耗令牌
令牌生成 → [令牌桶] → 分组到达时消耗令牌发送
特点:
- 允许一定的突发流量(桶中积累令牌)
- 平均速率受令牌生成速率限制
- 比漏桶更灵活
| 特性 | 漏桶 | 令牌桶 |
|---|---|---|
| 输出速率 | 恒定 | 可变(允许突发) |
| 突发流量 | 不支持 | 支持 |
| 平滑效果 | 强 | 中等 |
| 实现 | 简单 | 稍复杂 |
| 考点 | 说明 |
|---|---|
| 拥塞控制 vs 流量控制 | 范围和原因的区别 |
| 漏桶 vs 令牌桶 | 输出特性、是否允许突发 |
| 开环 vs 闭环控制 | 预防 vs 反馈 |
| 拥塞的死锁现象 | 网络吞吐量降为零 |
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。