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

news2025/6/5 1:22:16

目录

一、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.coloradmin.cn/o/2396670.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3(watch,watchEffect,标签中ref的使用,TS,props,生命周期)

Vue3(watch,watchEffect,标签中ref的使用,TS,props,生命周期) watch监视 情况三:监视reactive定义的对象类型的数据 监视reactive定义的对象类型的数据,默认开启深度监视。地址没变,新值和旧…

【nssctf第三题】[NSSCTF 2022 Spring Recruit]easy C

这是题目&#xff0c;下载附件打开是个C文件 #include <stdio.h> #include <string.h>int main(){char a[]"wwwwwww";char b[]"dvxbQd";//try to find out the flagprintf("please input flag:");scanf(" %s",&a);if…

DBeaver导入/导出数据库时报错解决方案

导出&#xff1a; 报错&#xff1a;mysqldump: Got error: 2026: SSL connection error: error:0A000102:SSL routines::unsupported protocol when trying to connect 在额外的命令参数中添加"--ssl-modeDISABLED"可以关闭SSL服务&#xff0c;从而成功解决问题。这…

uniapp与微信小程序开发平台联调无法打开IDE

经测试属于网络问题。本机需要联网。否则会出现Hbuilder运行微信小程序到模拟器时无法打开 微信开发者工具 这个页面出不来会一直显示异常。这期间微信小程序开发工具的端口是通的 需要先联网

第十二节:第五部分:集合框架:Set集合的特点、底层原理、哈希表、去重复原理

Set系列集合特点 哈希值 HashSet集合的底层原理 HashSet集合去重复 代码 代码一&#xff1a;整体了解一下Set系列集合的特点 package com.itheima.day20_Collection_set;import java.util.HashSet; import java.util.LinkedHashSet; import java.util.Set; import java.util.…

【C++项目】:仿 muduo 库 One-Thread-One-Loop 式并发服务器

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;C从入门到精通 目录 &#x1f525; 前言 一&#xff1a;&#x1f525; 项目储备知识 &#x1f98b; HTTP 服务器&#x1f98b; Reactor 模型&#x1f380; 单 Reactor 单线程&#xff1a;单I/O多路…

基于大数据的个性化购房推荐系统设计与实现(源码+定制+开发)面向房产电商的智能购房推荐与数据可视化系统 基于Spark与Hive的房源数据挖掘与推荐系统设计

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

FFmpeg学习笔记

1. 播放器的架构 2. 播放器的渲染流程 3. ffmpeg下载与安装 3.0 查看PC是否已经安装了ffmpeg ffmpeg 3.1 下载 wget https://ffmpeg.org/releases/ffmpeg-7.0.tar.gz 3.2 解压 tar zxvf ffmpeg-7.0.tar.gz && cd ./ffmpeg-7.0 3.3 查看配置文件 ./configure …

Chrome 通过FTP,HTTP 调用 Everything 浏览和搜索本地文件系统

【提问1】 Chrome调用本地 everything.exe, everything 好像有本地 FTP 服务器&#xff1f; 【DeepSeek R1 回答】 是的&#xff0c;Everything 确实内置了 HTTP/FTP 服务器功能&#xff0c;这提供了一种相对安全的浏览器与本地应用交互的方式。以下是完整的实现方案&#x…

GpuGeek如何成为AI基础设施市场的中坚力量

AI时代&#xff0c;算力基础设施已成为支撑技术创新和产业升级的关键要素。作为国内专注服务算法工程师群体的智算平台&#xff0c;GpuGeek通过持续创新的服务模式、精准的市场定位和系统化的生态建设&#xff0c;正快速成长为AI基础设施领域的中坚力量。本文将深入分析GpuGeek…

【Hot 100】45. 跳跃游戏 II

目录 引言跳跃游戏 IIdp解题贪心解题 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;算法专栏&#x1f4a5; 标题&#xff1a;【Hot 100】45. 跳跃游戏 II❣️ 寄语&#xff1a;书到用时方恨少&#xff0c;事非经过不知难&#xff01; 引言 跳跃…

Python数学可视化——显函数、隐函数及复杂曲线的交互式绘图技术

Python数学可视化——显函数、隐函数及复杂曲线的交互式绘图技术 一、引言 在科学计算和数据分析中&#xff0c;函数与方程的可视化是理解数学关系和物理现象的重要工具。本文基于Python的Tkinter和Matplotlib库&#xff0c;实现一个功能完善的函数与方程可视化工具&#xff…

代码随想录打卡|Day51 图论(dijkstra(堆优化版)精讲、Bellman_ford 算法精讲)

图论part09 dijkstra&#xff08;堆优化版&#xff09;精讲(不熟悉) 代码随想录链接 题目链接 import java.util.*;class Edge {int to; // 邻接顶点int val; // 边的权重Edge(int to, int val) {this.to to;this.val val;} }class MyComparison implements Comparator<…

AI入门——AI大模型、深度学习、机器学习总结

以下是对AI深度学习、机器学习相关核心技术的总结与拓展&#xff0c;结合技术演进逻辑与前沿趋势&#xff0c;以全新视角呈现关键知识点 一、深度学习&#xff1a;从感知到认知的技术革命 核心突破&#xff1a;自动化特征工程的范式变革 深度学习通过多层神经网络架构&#x…

【AI论文】论文转海报:迈向从科学论文到多模态海报的自动化生成

摘要&#xff1a;学术海报生成是科学交流中一项关键但具有挑战性的任务&#xff0c;需要将长上下文交织的文档压缩成单一的、视觉上连贯的页面。 为了应对这一挑战&#xff0c;我们引入了第一个用于海报生成的基准和度量套件&#xff0c;该套件将最近的会议论文与作者设计的海报…

智慧零工平台前端开发实战:从uni-app到跨平台应用

智慧零工平台前端开发实战:从uni-app到跨平台应用 本文将详细介绍我如何使用uni-app框架开发一个支持微信小程序和H5的零工平台前端应用,包含技术选型、架构设计、核心功能实现及部署经验。 前言 在当今移动互联网时代,跨平台开发已成为提高开发效率的重要手段。本次我选择…

【Linux】基础文件IO

&#x1f31f;&#x1f31f;作者主页&#xff1a;ephemerals__ &#x1f31f;&#x1f31f;所属专栏&#xff1a;Linux 前言 无论是日常使用还是系统管理&#xff0c;文件是Linux系统中最核心的概念之一。对于初学者来说&#xff0c;理解文件是如何被创建、读取、写入以及存储…

ESP-IDF 离线安装——同时存在多个版本以及进行版本切换的方法

一、离线安装包的下载方法 ESP-IDF离线安装包下载链接 我下载了下面三个版本进行测试 二、离线安装包的安装方法 1.创建文件夹 创建ESP-IDF文件夹&#xff0c;并为不同版本的IDF分别创建一个文件夹&#xff0c;如下图所示 2.双击离线安装包&#xff08;以5.0版本为例&am…

android 上位机调试软件-安卓串口 com ttl 调试——仙盟创梦IDE

在 Android 开发中&#xff0c;基于com.ttl库的串口调试 Web 编写意义非凡。它打破了硬件与软件之间的壁垒&#xff0c;让 Android 设备能够与外部串口设备通信。对于智能家居、工业控制等领域&#xff0c;这一功能使得手机或平板能成为控制终端&#xff0c;实现远程监控与操作…

python打卡day42

Grad-CAM与Hook函数 知识点回顾 回调函数lambda函数hook函数的模块钩子和张量钩子Grad-CAM的示例 在深度学习中&#xff0c;我们经常需要查看或修改模型中间层的输出或梯度&#xff0c;但标准的前向传播和反向传播过程通常是一个黑盒&#xff0c;很难直接访问中间层的信息。PyT…