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

拥塞控制原理

概述

拥塞

  • 非正式的定义:“太多的数据需要网络传输,超过了网络的处理能力”
  • 与流量控制不同
  • 拥塞的表现
    • 分组丢失(路由器缓冲区溢出)
    • 分组经历比较长时间的延迟(在路由器的队列中排队)
  • 网络中前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.hqwc.cn/news/499775.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何解决机器视觉高速图像处理软件的加密需求?

高速图像处理在机器视觉中的应用重要性 在机器视觉行业中,高速图像处理软件的作用至关重要,它使得机器能够迅速分析和处理成千上万的图像数据。这种能力在制造业、安防系统、交通监控等多个领域发挥着核心作用,如在制造业中,高速…

ROS 2基础概念#2:节点(Node)| ROS 2学习笔记

ROS 2节点简介 节点是执行计算的进程。节点组合在一起形成一个图(graph),并使用主题(topic)、服务(service)和参数服务器(paramter server)相互通信。这些节点旨在以细粒…

防御安全(第六次作业)笔记整理

攻击可能只是一个点, 防御需要全方面进行 IAE引擎 DFI和DPI技术 --- 深度检测技术 DPI --- 深度包检测技术 --- 主要针对完整的数据包(数据包分片,分段需要重组) ,之后对 数据包的内容进行识别。(应用层&am…

Django学习笔记-查询及修改MySQL数据库表的所有信息

1.在index中添加一个按钮,用于查询数据 2.urls配置find 3.views定义find,获取PopulationModel模型所有数据渲染到show.html页面上 4.创建show.html,遍历modellist的数据渲染到表格中显示 5.点击查询后页面显示如下 6.添加修改按钮,点击按钮,执行update,urls配置update …

在实训云平台上配置云主机

文章目录 零、学习目标一、实训云升级二、实训云登录(一)登录实训云(二)切换界面语言(三)规划云主机实例 三、创建网络三、创建路由器2024-2-29更新到此四、添加接口五、创建端口六、添加安全组规则七、创建…

风速预测(七)VMD-CNN-BiLSTM预测模型

目录 往期精彩内容: 前言 1 风速 VMD 分解与可视化 1.1 导入数据 1.2 VMD分解 2 数据集制作与预处理 3 基于Pytorch的VMD CNN-BiLSTM 预测模型 3.1 定义VMD CNN-BiLSTM预测模型 3.2 设置参数,训练模型 4 模型评估与可视化 4.1 结果可视化 4.2…

【无监督学习之聚类】

曾梦想执剑走天涯,我是程序猿【AK】 目录 简述概要知识图谱1. K-Means聚类2. 层次聚类(Hierarchical Clustering)3. DBSCAN(Density-Based Spatial Clustering of Applications with Noise)4. 谱聚类(Spect…

Java设计模式—— 模板方法模式

模板方法模式 1.什么是模板方法 模板方法模式:定义一个操作中的算法骨架(父类),而将一些步骤延迟到子类中。 模板方法使得子类可以不改变一个算法的结构来重定义该算法的 2.什么时候使用模板方法 实现一些操作时,整…

【LeetCode】每日一题:使二叉树所有路径值相等的最小代价

该题采用自底向上的思路的话,很容易想到使用贪心的思想,但是如何进行具体操作却有些难度。 这里补充一个重要的结论:二叉树的数组形式中,第i个节点的父节点是i/2;接下来只需要让自底向上让每个路径上的代价保持最低限…

音视频基础: I帧 P帧 B帧

音视频基础: I帧 P帧 B帧 I帧介绍 I 帧通常是每个 GOP的第一个帧,在音视频编码中,I帧(Intra-coded frame)是一种关键帧,它是独立于其他帧的帧,不依赖于其他帧来进行解码。I帧存储了完整的图像信息&#x…

初始Tomcat(Tomcat的基础介绍)

目录 一、Tomcat的基本介绍 1、Tomcat是什么? 2、Tomcat的配置文件详解 3、Tomcat的构成组件 4、Tomcat的顶层架构 5、Tomcat的核心功能 6、Tomcat的请求过程 一、Tomcat的基本介绍 1、Tomcat是什么? Tomcat 服务器是一个免费的开放源代码的Web …

返回静态数据

在Java项目中&#xff0c;往往不会一直返回某某数据&#xff0c;而是会返回一个静态页面&#xff0c;那么&#xff0c;如何正确返回一个静态页面呢&#xff1f;&#xff1f; 要想成功的返回一个静态页面前提是必须要有一个静态页面&#xff1a; <!DOCTYPE html> <ht…