计算机网络——21拥塞控制原理

news2024/11/16 15:42:22

拥塞控制原理

概述

拥塞

  • 非正式的定义:“太多的数据需要网络传输,超过了网络的处理能力”
  • 与流量控制不同
  • 拥塞的表现
    • 分组丢失(路由器缓冲区溢出)
    • 分组经历比较长时间的延迟(在路由器的队列中排队)
  • 网络中前10位的问题

拥塞的原因/代价

场景一:缓冲无限大、无重传

  • 2个发送端,2个接收端
  • 一个路由器,具备无限大的缓冲
  • 输出链路带宽:R
  • 没有重传
  • λ i n λ_{in} λin为输入的速率, λ o u t λ_{out} λout为输出的速率

在这里插入图片描述

在这里插入图片描述

  • 每个连接的最大吞吐量:R / 2
  • 当进入的速率 λ i n λ_{in} λin接近链路带宽R时,延迟增大

场景二:缓冲有限,有重传

  • 一个路由器,有限的缓冲
  • 分组丢失时,发送端重传
    • 应用层的输入 = 应用层的输出: λ i n = λ o u t λ_{in} = λ_{out} λin=λout
    • 传输层的输入包括重传: λ i n ′ ′ ≥ λ i n λ^{''}_{in} \geq λ_{in} λin′′λin

在这里插入图片描述

理想化:发送端有完美的信息
发送端知道什么时候路由器的缓冲是可用的

  • 只在缓冲可用时发送
  • 不会丢失 λ i n ′ = λ i n λ^{'}_{in} = λ_{in} λin=λin

在这里插入图片描述

在这里插入图片描述

理想化:掌握丢失信息
分组可以丢失,在路由器由于缓冲器满而被丢弃

  • 如果发送端知道分组丢失了,发送方重传

在这里插入图片描述

在这里插入图片描述

现实情况:重复

  • 分组可能丢失,由于缓冲器满而被丢弃
  • 发送端最终超时,发送第二个拷贝,2个分组都被传出

在这里插入图片描述

拥塞的“代价”

  • 为了达到一个有效输出,网络需要更多的输入速率(重传)
  • 没有必要的重传(加剧了网络的拥塞),链路中包括了多个分组的拷贝
    • 是那些没有丢失,经历的时间比较长(拥塞状态)但是超时的分组
    • 降低了的“goodput”

场景三:死锁

四个发送端:A→D,D→A,B→C,C→B(就是AD,BC相互连接)

在这里插入图片描述

  • 当红色的增加时,所有到来的蓝色分组都在最上方的队列中丢弃了,蓝色吞吐->0
  • 同理,绿色的也可能抢走红色的(在右边的路由器)
  • 粉色的可能抢走绿色的(下边的路由器)
  • 蓝色的抢走粉色的(左边的路由器)
  • 总之,网络中有输入,但是没有输出

在这里插入图片描述

又一个拥塞的“代价”

  • 当分组丢失时,任何“关于这个分组的上游传输能力” 都被浪费了

拥塞控制方法

2种常用的拥塞控制方法:

  • 端到端拥塞控制
    • 没有来自网络的显式反馈
    • 端系统根据延迟和丢失事件推断是否有拥塞
    • (TCP采用的方法)
  • 网络辅助的拥塞控制:
    • 路由器提供给端系统以反馈信息
    • 单个bit置位,显示有拥塞 (SNA, DECbit, TCP/IP ECN, ATM)
    • 显式提供发送端可以采用的速率

ATM ABR拥塞控制

ATM网络

ATM:异步传输网络,是物联网掺杂的网络

  • 数据传输单元(分组)是信元:53个字节,5个字节的头部,另外48个字节是数据部
  • 分组很小(53个字节),而且是固定长度
  • 所以在每个交换节点的存储转发时间很小而且可以控制
  • 线路交换在数据交换节点的延迟是1bit的延迟,分组交换的延迟是1个分组的延迟
  • 由于ATM的分组—信元大于1bit,但是远小于普通的一个分组,因此其延迟位于线路交换和分组交换之间
  • 而且延迟时间固定(一位信元字节数固定),而且容易调度
  • 因此具有线路交换和分组交换的特性
  • ATM本来认为是很有希望的网络形式
  • 后来因为网络技术比较复杂并没有流行开来
  • 但是在一些专用网络,比如银行网络使用的还是比较多的

ATM有很多模式,ABR是其中一个

ABR模式

ABR: available bit rate:

  • 弹性服务:
    • 如果网络轻载(不发送拥塞),可以尽可能使用网络带宽
    • 如果网络拥塞了 ,发送方限制其发送的速度到一个 最小保障速率 上

在ATM网络中有两种信元:数据信元(data cell)和资源信元(RM cell)
RM (资源管理) 信元:

  • 由发送端发送,在数据信元中间隔插入
  • RM信元中的比特被交换机设置 (网络辅助)
    • NI bit: no increase in rate (轻微拥塞)速率不要增加了
    • CI bit: congestion indication 拥塞指示(表明已经拥塞了)
  • 发送端发送的RM 信元被接收端返回, 接收端不做任何改变

在这里插入图片描述

  • 数据信元中的EFCI bit: 被拥塞的交换机设置成1

    • 如果在管理信元RM前面的数据信元EFCI被设置成了1, 接收端在 返回的RM信元中设置CI bit
    • 在RM信元中的2个字节 ER (explicit rate)字段 多大带宽
  • 拥塞的交换机可能会降低信元中ER的值(但是不会提高)

    • 发送端接受到的RM的ER字段表示路由器可以支持的最低的速率
    • 发送端发送速度因此是最低的可支持速率

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

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

相关文章

第六十七天 APP攻防-Frida反证书抓包移动安全系统资产提取评估扫描

第67天 APP攻防-Frida反证书抓包&移动安全系统&资产提取&评估扫描 知识点: 1、资产提权-AppinfoScanner 2、评估框架-MobSF&mobexler 3、抓包利器-Frida&rOcapture 章节点: 1、信息收集-应用&资产提取&权限等 2、漏洞发现…

Win32汇编ListView控件学习

此控件比较复杂;和基础win32控件不同;需要先初始化Windows公共控件库, invoke InitCommonControls 之后才可使用; lvdemo.asm, .386.model flat, stdcalloption casemap :none ; case sensitiveinclude window…

锐捷网络携数据中心、以太全光等创新解决方案亮相2024MWC

在西班牙巴塞罗那举行的2024年世界移动通信大会(MWC)上,锐捷网络(下文简称“锐捷”)展示了将技术与应用充分融合的云数据中心、5G、光网络等产品及解决方案,帮助更多行业组织建设更贴近业务、智能、简单、高效、绿色低碳的网络基础设施,应对当下及未来的挑战,共同连接更广阔可能…

Apache JMeter 5.6.3 安装

源码下载 curl -O https://dlcdn.apache.org//jmeter/source/apache-jmeter-5.6.3_src.zipJMeter 下载 curl -O https://dlcdn.apache.org//jmeter/binaries/apache-jmeter-5.6.3.zipjmeter.properties 里 设置中文 windows系统上解压,双击jmeter.bat 启动 执行参…

市场热点袭来,直接加仓可靠吗?九方智投洪帮主助投资者明确几大要点

消费电子近期再度走强,多企业均出现涨停。消费电子出现乐观局面,有投资者认为是因为目前市场需求旺盛,产业链正在积极拉货,持续加单,各类手机新机也在积极备货,消费电子库存低。面对市场情绪高涨&#xff0…

Spark的reduceByKey方法使用

一、需求 在ODPS上我们有如下数据: idcategory_idattr_idattr_nameattr_value205348100000462最优粘度["0W-40"]205348100000461基础油类型["全合成"]205348100000463级别["BMW Longlife 01"] 我们希望得到的结果如下:…

【任职资格】某通信行业建设人才管理系统管理项目纪实

【客户背景】 J公司成立于2007年10月,致力于成为最优秀的软件服务和信息系统整合提供商,逐步发展成为净资产过3亿、近1000名员工的股份制企业,在北京、上海、广州等各主要城市设有分公司或办事处。发展到目前,公司已经是国家规划…

MySQL 大战 PostgreSQL 第二回:呆瓜模式的分歧

去年写的全方位对比 Postgres 和 MySQL 引发了社区里不少的讨论。今天再聊一个 MySQL 和 Postgres 之间小小的不同,呆瓜模式的实现。 MySQL 的呆瓜模式 MySQL 命令行工具提供了一个选项 --safe-updates 或者 --i-am-a-dummy,默认是 false。开启之后如果…

NCDA设计大赛获奖作品剖析:UI设计如何脱颖而出?

第十二届大赛简介 - 未来设计师全国高校数字艺术设计大赛(NCDA)开始啦!视觉传达设计命题之一: ui 设计,你想知道的都在这里。为了让大家更好的参加这次比赛,本文特别为大家整理了以往NCDA大赛 UI 设计的优秀获奖作品&a…

手把手教测试,全网内容最全有深度-jmeter-调试取样器

5.1.7.3.调试取样器 该取样器主要用于调试脚本信息,添加后可以通过此取样器查看Jmeter保存的信息。 Jmeter属性:如果选择True,则会展示Jmeter.properties文件中所有设置的属性,如果选择false就不会展示。 Jmeter变量:如果选择True,则会展示Jmeter当前运行脚本中的所有变…

k8s 存储卷详解与动静部署详解

目录 一、Volume 卷 1.1 卷类型 emptyDir : hostPath: persistentVolumeClaim (PVC): configMap 和 secret: 二、 emptyDir存储卷 2.1 特点 2.2 用途: 2.3 示例 三、 hostPath存储卷 3.1 特点 3.2 用途 …

Petr and Book

题目链接:Problem - 139A - Codeforces 解题思路: 题目大概意思是这个人每星期每天会读若干叶书或者不读,但是每周最少都会读一页,算出读完这本书的那一天是周几 可以将七天读的页数存在一个数组里,遍历数组&#xf…

JavaScript 进阶04

深浅拷贝 浅拷贝 首先浅拷贝和深拷贝只针对引用类型 浅拷贝:拷贝的是地址 常见方法: 拷贝对象:Object.assgin() / 展开运算符 {…obj} 拷贝对象拷贝数组:Array.prototype.concat() 或者 […arr]适合单层对象,如果…

AI短视频矩阵运营软件|抖音视频矩阵控制工具

【罐头鱼AI传单功能介绍】 罐头鱼AI传单是一款专为短视频矩阵运营而设计的智能软件,旨在帮助用户高效管理和运营多个抖音账号,并提供一系列强大的功能来优化视频内容创作和发布流程。QQ:290615413以下是软件框架,详细介绍其功能和特点&#…

qt QRadioButton 及QButtonGroup 使用

QRadioButton 放在组合框QGroupBox中,再点击时,即使有多个QRadioButton按钮,同时选中的也就只有一个。 如下图所示, 对于多个QRadioButton,每个按钮都写一个槽函数是不太明智的选择,需要将QRadioButton放在…

类加载的基本流程

⭐ 作者:小胡_不糊涂 🌱 作者主页:小胡_不糊涂的个人主页 📀 收录专栏:JavaEE 💖 持续更文,关注博主少走弯路,谢谢大家支持 💖 类加载 1. 加载2. 验证3. 准备4. 解析5. 初…

el-select 中嵌套时间选择器 el-time-picker 并且实现时间多选功能

el-select 中嵌套时间选择器 el-time-picker 并且实现时间多选功能 需求是&#xff1a;时间可多选 element中时间的选择不支持多选 下面进行封装拼接时间多选 <el-form ref"ruleFormRef" :model"ruleForm" :rules"rules" label-width"…

应用在汽车电子控温器中的多路数字温度传感芯片

温控器&#xff0c;是指根据工作环境的温度变化&#xff0c;在开关内部发生物理形变&#xff0c;从而产生某些特殊效应&#xff0c;产生导通或者断开动作的一系列自动控制元件&#xff0c;也叫温控开关、温度保护器、温度控制器&#xff0c;简称温控器。或是通过温度保护器将温…

群晖NAS配置WebDav结合内网穿透实现公网访问本地影视资源

文章目录 本教程解决的问题是&#xff1a;按照本教程方法操作后&#xff0c;达到的效果是&#xff1a;1 使用环境要求&#xff1a;2 配置webdav3 测试局域网使用potplayer访问webdav3 内网穿透&#xff0c;映射至公网4 使用固定地址在potplayer访问webdav ​ 国内流媒体平台的内…

Vue3 学习笔记(Day6)

「写在前面」 本文为尚硅谷禹神 Vue3 教程的学习笔记。本着自己学习、分享他人的态度&#xff0c;分享学习笔记&#xff0c;希望能对大家有所帮助。推荐先按顺序阅读往期内容&#xff1a; 1. Vue3 学习笔记&#xff08;Day1&#xff09; 2. Vue3 学习笔记&#xff08;Day2&…