【计算机网络笔记】传输层——拥塞控制原理与解决方法

news2025/1/11 15:00:14

系列文章目录

什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 vs 电路交换
计算机网络性能(1)——速率、带宽、延迟
计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率
计算机网络体系结构概念
OSI参考模型基本概念
OSI参考模型中非端-端层(物理层、数据链路层、网络层)功能介绍
OSI参考模型中端-端层(传输层、会话层、表示层、应用层)功能介绍
TCP/IP参考模型基本概念,包括五层参考模型
网络应用的体系结构
网络应用进程通信
网络应用对传输服务的需求
Web应用之HTTP协议(涉及HTTP连接类型和HTTP消息格式)
Cookie技术
Web缓存/代理服务器技术
传输层服务概述、传输层 vs. 网络层
传输层——多路复用和多路分用
传输层——UDP简介
传输层——可靠数据传输原理之Rdt协议
传输层——可靠数据传输之流水线机制与滑动窗口协议
传输层——TCP特点与段结构
传输层——TCP的可靠数据传输
TCP连接管理(图解三次握手和四次挥手)


  • 系列文章目录
  • 拥塞控制原理
  • 可靠数据传输 vs. 拥塞控制
  • 拥塞控制 vs. 流量控制
  • 拥塞的成因以及产生拥塞的代价
  • 拥塞控制的方法
    • ATM ABR拥塞控制


拥塞控制原理

前面学习的可靠数据传输是网络Top10问题之一,这里的拥塞控制也位列Top10。

我们在现实中或多或少可能都经历过拥塞,比如小长假高速堵车,堵车之后这个路就像瘫痪一样,基本上没有什么通行能力了。网络当中也会出现这种情况。

拥塞(Congestion):

  • 非正式定义:太多发送主机发送了太多数据或者发送速度太快,以至于网络无法处理。
  • 拥塞的表现:
    • 分组丢失(路由器缓存溢出)
    • 分组延迟过大(在路由器缓存中排队)

可靠数据传输 vs. 拥塞控制

可靠数据传输更多地考虑端-端的,个体的利益。而拥塞控制更多地是从群体利益角度来考虑。为了大家都能使用网络,这时候大家可能会做出一些牺牲。所以需要一种机制来控制网络负载。当然拥塞控制和可靠数据传输是有很大关系的,大家可以自己思考一下。

拥塞控制 vs. 流量控制

它们是不一样的,流量控制是发送方不要发送的太快太多以致于接收方处理不了。是站在接收方的角度去看的。而拥塞控制是针对接收方与发送方之间的网络的。

拥塞的成因以及产生拥塞的代价

假设这样一个理想的情况:

在这里插入图片描述

用C表示路由器出口的链路的带宽,用λin表示发送方发送数据的速率,用λout表示接收方接收数据的速率。这里假设路由器有无限的缓存,在这种情况下,不管发送方发送的数据有多大有多快,分组是不会丢失的,那么发送方也就不需要重传这个机制的。那在这种情况下,关于吞吐率和时延:

在这里插入图片描述

  • λin不管多大,λout最大就是C/2。也就达到了最大的吞吐量。
  • 而当λin接近C/2,时延快速增大。

可以看到,拥塞的第一个代价就是分组的延迟太大

下面看第二个场景:路由器的链路带宽是R。路由器的缓存是有限的,既然是有限缓存,当数据过多过快的时候就必然会有丢失,那发送方就要重传。引入新符号λin’ ,代表原始数据加上要重传的数据。在这种场景下:

  • 情况a:Sender能够通过某种机制获知路由器buffer信息,这样就当路由器buffer有空闲的时候才发数据。这是分组不会丢,也就不会重传,λin=λin’,λin=λout。并且λin不可能大于R/2。

    在这里插入图片描述

  • 情况b:无法在发送之前提前或追路由器有没有空闲的buffer。这种情况下,确定分组丢失后才重发。λin‘>λin,λin’=λout。这意味着有效的吞吐率变低了。也就造成了网络资源的浪费。

    在这里插入图片描述

  • 情况 c:不仅在确定分组丢失之后重传,而且定时器超时后也重传,所以λin‘变得更大。那么有效吞吐率更低。

    在这里插入图片描述

可以看到,拥塞的代价是需要重传,造成资源的浪费

下面看第三个场景:使用多跳的网络。现在有四个发送方,四个接收方。这样一个路由器会转发来自两个主机的数据,这就可能会发生竞争。并且,在多跳网络中,当分组被drop时,任何用于该分组的“上游”传输能力全都被浪费掉。那么整个网络的吞吐率就变得更差了。

在这里插入图片描述

在这里插入图片描述

拥塞控制的方法

也就是控制发送方的发送速率。

  • 端到端拥塞控制:是端系统来进行。网络层也就是路由器不需要显式的提供支持。端系统通过观察loss,delay等 网络行为判断是否发生拥塞。Internet网络中的TCP采取的就是这种方法。
  • 网络辅助的拥塞控制:路由器向发送方显式地反馈网络拥塞信息,端系统利用这个信息调整自己数据的发送速率。典型的就是ATM网络。

ATM ABR拥塞控制

ATM提供一种叫做ABR的服务。ABR是一种网络辅助的拥塞控制。

ABR:available bit rate。提供弹性服务,如果发送方发现路径的负载比较低,就尽可能地使用可用的带宽,如果发现路径拥塞,就将发送速率降到最低保障速率。

为什么说ABR是一种网络辅助的拥塞控制,是因为在数据传输中(这里传输的是cell而非分组),穿插着RM(resource management 资源管理) cells。它由发送方发送,交换设备能够设置RM cell位(网络辅助体现在这里):NI位代表速率不许再增长,CI位代表拥塞了。RM cell由接收方返回给发送方或者由交换设备直接向发送方发送。这样就能控制发送方的发送速率。

至于Internet网络中的TCP的拥塞控制机制,下一篇文章再具体介绍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1175556.html

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

相关文章

爬虫项目-爬取股吧(东方财富)评论

1.最近帮别人爬取了东方财富股吧的帖子和评论,网址如下:http://mguba.eastmoney.com/mguba/list/zssh000300 2.爬取字段如下所示: 3.爬虫的大致思路如下:客户要求爬取评论数大于5的帖子,首先获取帖子链接&#xff0c…

淘宝预定商品收不到尾款通知 - 解决方案

问题 用户在使用淘宝购买预定商品后,待补尾款时,无法收到尾款通知,从而导致错过补齐尾款无法购买预定商品,下文介绍解决方案。 解决方案 进入淘宝后,购买预定商品时,在提交订单页面时,取消勾…

雨水收集设施模块收集和利用雨水成为解决城市供水矛盾的途径之一

雨水收集设施模块是一种高效、环保的雨水收集和利用系统,它通过收集和利用雨水来解决城市供水矛盾。 雨水收集设施模块主要由雨水收集器、储水池、过滤器和水泵等组成。当雨水流入雨水收集器时,经过过滤器的过滤,进入储水池中储存。当需要用…

算法模板之单调栈解密 | 图文详解

🌈个人主页:聆风吟 🔥系列专栏:算法模板、数据结构 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言一. ⛳️单调栈讲解1.1 🔔单调栈的定义1.2 🔔如何维护一个单…

【错误解决方案】ModuleNotFoundError: No module named ‘selenium‘

1. 错误提示 ModuleNotFoundError: No module named selenium,这意味着你试图导入一个名为 selenium 的模块,但Python找不到这个模块 2. 解决方案 安装缺失的模块: 如果你确定模块名称正确但仍然收到这个错误,那么可能是你没有安装这个模块…

二维码智慧门牌管理系统升级:详细展示门牌信息,让你的生活更便捷

文章目录 前言一、旧问题的解决与升级特点二、满足信息平台要求 前言 随着科技的不断发展,我们的生活正日益智能化。其中,二维码智慧门牌管理系统成为了智能生活的一个重要组成部分。最近,这一系统经过新的升级,为我们的生活带来…

HTML5+CSS3实现小米商城(课程设计版)

前言 这个小米商城用到了htmlcssjs,内容是今年6月份的。 结构相对简单,比较容易理解。 如果想要纯htmlcss实现的小米商城,可以看我的这个作品 HTMLCSS实现小米商城 如果需要其他网页作品了,可以看主页其他作品。 HTMLCSS实现华为…

文档QA综述:关于多页文档,多模态,检索增强最新的进展

关于Document,Multimodal,RAG最新的进展 一:PDFTriage 一:PDFTriage 题目: PDFTriage: Question Answering over Long, Structured Documents 机构:斯坦福大学,Adobe Research 论文: https://arxiv.org/pd…

MAC苹果电脑系统清理垃圾软件CleanMyMac4.15

如今电脑成为大多数人工作的工具,使用得越久就越需要清理垃圾软件。系统垃圾、废纸娄垃圾、大型和旧文件这些通常都占用了我们的电脑几G的空间。 想要清除不必要的垃圾文件,可以使用mac卸载软件CleanMyMac X,这款清理垃圾软件可以智能扫描Ma…

探索Kosmos-2模型的神奇功能

Kosmos-2是一个多模态大语言模型,它可以理解和生成包含图像和文本的内容。它的特点是能够将文本中的指代表达式(如“这个”、“那个”等)与图像中的物体对应起来,实现局部理解和交互。如果你想使用Kosmos-2模型,你可以…

《人工智能算法图解》书籍推荐

书籍介绍 今天,人工智能在我们的生活中随处可见。它能推送我们喜欢的电视节目,帮助我们诊断疑难杂症,还能向我们推荐商品。因此,让我们掌握人工智能的核心算法,拥抱日新月异的智能世界吧。 与那些充斥着公式和术语的教…

超详细的wheel轮子下载和.whl安装

wheel安装 pip安装失败问题 基于Anaconda进行 pip install ,报如下 但基于此路径下安装.whl文件时候,会报如下 通过在可借鉴的博客上查找相关原因,发现原来是因为版本没有匹配的问题,基于此问题以及博客中的解决方案,进行亲测…

CDR2024免费版服装设计工具

cdr是CorelDRAW的简称,一款专注排版和矢量图形编辑的平面设计软件。这款软件的设计界面精微细致、简洁易懂。功能尤其强大,图标设计,印刷排版,服装设计等都可以胜任。还有多种模板使得设计相当的轻松,今天简单介绍一下…

ACTIVE_MQ学习

ActiveMq学习①___入门概述https://blog.csdn.net/qq_45905724/article/details/131796502 ActiveMq学习②__安装与控制台https://blog.csdn.net/qq_45905724/article/details/133893214 ActiveMq学习③___Java编码实现ActiveMQ通讯https://blog.csdn.net/qq_45905724/articl…

【漏洞复现】weblogic-CVE-2018-2894-任意文件上传漏洞复现

感谢互联网提供分享知识与智慧,在法治的社会里,请遵守有关法律法规 文章目录 漏洞复现WebShell 复现环境:Vulhub 访问 http://192.168.80.141:7001/console/,即可看到后台登录页面 执行sudo docker-compose logs | grep password可…

基于nodejs+vue贝佳月子会所服务平台系统- 计算机毕业设计

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

CleanMyMac软件4.15免费苹果电脑文件清理工具

mac系统进行文件清理,一般是直接将文件拖动入“废纸篓”回收站中,然后通过清理回收站,就完成了一次文件清理的操作,但是这么做并无法保证文件被彻底删除了,有些文件通过一些安全恢复手段依旧是可以恢复的,那…

wandb 安装本地部署使用教程

1、官网注册 wandb.ai是一个为机器学习开发者提供的开发工具平台,可以帮助用户跟踪实验,管理和版本数据,以及与团队协作,从而更专注于构建最佳模型。 wandb官网: https://wandb.ai 首先我们打开官网注册号自己的账号并…

Quartz介绍

一、前言 几乎所有系统都需要定时任务,如果系统中定时任务比较少并且是单机环境的直接使用SpringTask即可,如果定时任务比较多且需要经常维护或者要部署在分布式环境中就要考虑使用Quartz或者xxl-job等开源框架,今天我们来了解一下Quartz的基…

Linux的常见指令(二)

目录 一、mv 二、cat 三、more 四、less 五、head 六、tail 七、date 八、cal 一、mv 可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录。 功能: 1…