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

【计算机网络】第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 保证可通过路由器策略增强

相关文章:

  • 智慧零工平台后端开发实战:Spring Boot 3 + MyBatis-Flex 现代化架构
  • 【Java EE初阶】计算机是如何⼯作的
  • react实现markdown文件预览
  • Flask+LayUI开发手记(七):头像的上传及突破static目录限制
  • 【Linux】Git原理与使用
  • Day 37 训练
  • 01 Ubuntu20.04下编译QEMU8.2.4,交叉编译32位ARM程序,运行ARM程序的方法
  • 网络攻防技术五:网络扫描技术
  • 基于爬取的典籍数据重新设计前端界面
  • 循序渐进 Android Binder(一):IPC 基本概念和 AIDL 跨进程通信的简单实例
  • EXCEL--累加,获取大于某个值的第一个数
  • 深度学习和神经网络 卷积神经网络CNN
  • 数据库系统概论(十一)SQL 集合查询 超详细讲解(附带例题表格对比带你一步步掌握)
  • Golang——5、函数详解、time包及日期函数
  • 编译原理实验 之 TINY 之 语义分析(第二次作业)
  • 第九章:LLMOps自动化流水线:释放CI/CD/CT的真正力量
  • SQL 中的 `CASE WHEN` 如何使用?
  • AI书签管理工具开发全记录(九):用户端页面集成与展示
  • 排序算法——详解
  • 4.大语言模型预备数学知识
  • 郑州交易网站建设/外链工具下载
  • 网络营销公司模拟创建实训/深圳优化公司样高粱seo
  • 正规网站建设多少费用/推广普通话作文
  • 国外有什么网站做游戏/如何建一个自己的网站
  • 做网站简单/站长工具传媒
  • 网站系统建设架构/中国舆情观察网