当前位置: 首页 > web >正文

【计算机网络】第3章:传输层—拥塞控制原理

目录

一、PPT

二、总结

(一)拥塞的定义

(二)拥塞产生的原因

(三)拥塞控制的目标

(四)拥塞控制方法分类

1. 端到端拥塞控制

2. 网络辅助拥塞控制

(五)关键对比


一、PPT

二、总结

(一)拥塞的定义

拥塞(Congestion) 指网络中的数据流量超过网络设备(如路由器、交换机)的处理能力,导致网络性能急剧下降的现象。表现为丢包率上升、时延增加、吞吐量降低,严重时可能引发“拥塞崩溃”(Congestion Collapse)。


(二)拥塞产生的原因

原因说明
缓冲区溢出路由器/交换机队列饱和,新到达的分组被丢弃。
多流竞争带宽多条数据流同时通过同一瓶颈链路,超出链路容量。
慢速处理器路由器处理速度跟不上分组到达速率。
不对称带宽高速链路向低速链路发送数据(如卫星链路到移动设备)。
流量突发性短时间内大量数据涌入网络,超出瞬时处理能力。

(三)拥塞控制的目标

  1. 避免拥塞崩溃

  2. 公平分配带宽

  3. 最大化网络吞吐量

  4. 最小化分组时延和丢包率


(四)拥塞控制方法分类

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 工作流程

  1. 路由器检测队列长度超过阈值。

  2. 对经过的 IP 分组设置 ECN 标记(设 CE 位)。

  3. 接收方发现 ECN 标记,在 TCP ACK 中设置 ECE 标志。

  4. 发送方收到 ECE 后,减半 cwnd 并设置 CWR 标志确认。

优点:响应迅速,拥塞信息更准确。
缺点:需网络设备支持,部署复杂度高。


(五)关键对比

特性端到端控制网络辅助控制
反馈来源端系统推断(丢包/时延)路由器显式通知
部署难度低(仅需端系统更新)高(需全网设备支持)
响应速度较慢(依赖超时机制)快速(实时标记)
典型协议TCP (Reno/CUBIC/BBR)ECN (TCP/IP)、ATM ABR
公平性依赖 AIMD 保证可通过路由器策略增强

http://www.xdnf.cn/news/10636.html

相关文章:

  • php执行后报502,无错误提示的排查和解决
  • 前端面经高阶组件HOC 和 HOOKS Redux
  • 企业展示型网站模板HTML5网站模板下载指南
  • 【具身智能】【机械臂】各类机械臂对比
  • SQL Views(视图)
  • c++类和对象-继承
  • 打家劫舍与最长有效括号:动态规划与字符串处理的双重魅力
  • 也说字母L:柔软的长舌
  • Cursor 0.51 全网首歌新功能深度体验:Generate Memories 让 AI 编程助手拥有“记忆“
  • Docker私有仓库Harbor安装指南
  • SQL进阶之旅 Day 11:复杂JOIN查询优化
  • pytorch学习之矩阵分解
  • 在Linux中配置内网可访问的YUM光盘源
  • Python实例题:自联想器的Python实现
  • 【存储基础】存储设备和服务器的关系和区别
  • UE特效Niagara性能分析
  • 【保姆级教程】PDF批量转图文笔记
  • SystemVerilog—Interface语法(二)
  • 谷粒商城-分布式微服务项目-高级篇[三]
  • 华为云Flexus+DeepSeek征文|华为云 Dify 打造智慧水果分析助手,实现“知识库 + 大模型”精准赋能
  • MybatisPlus(含自定义SQL、@RequiredArgsConstructor、静态工具类Db)
  • mac电脑安装 nvm 报错如何解决
  • 【华为云Astro Zero】组装设备管理页面开发(图形拖拽 + 脚本绑定)
  • 【更正补全】edu教育申请通过方案
  • vLLM实战部署embedding、reranker、senseVoice、qwen2.5、qwen3模型
  • STM32G4 电机外设篇(四)DAC输出电流波形 + CAN通讯
  • mybatis03
  • neo4j 5.19.0两种基于向量进行相似度查询的方式
  • new语法
  • TDengine 高级功能——读缓存