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

这篇具有很好参考价值的文章主要介绍了【计算机网络笔记】传输层——拥塞控制原理与解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

系列文章目录

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



拥塞控制原理

前面学习的可靠数据传输是网络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的拥塞控制机制,下一篇文章再具体介绍。文章来源地址https://www.toymoban.com/news/detail-745019.html

到了这里,关于【计算机网络笔记】传输层——拥塞控制原理与解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机网络【Google的TCP BBR拥塞控制算法深度解析】

    Google的TCP BBR拥塞控制算法深度解析 宏观背景下的BBR 慢启动、拥塞避免、快速重传、快速恢复 : 说实话,这些机制完美适应了1980年代的网络特征, 低带宽 , 浅缓存队列 ,美好持续到了2000年代。 随后互联网大爆发,多媒体应用特别是图片,音视频类的应用促使带宽必须猛

    2024年02月03日
    浏览(25)
  • 【计算机网络】深入理解TCP协议二(连接管理机制、WAIT_TIME、滑动窗口、流量控制、拥塞控制)

    正常情况下,TCP需要经过三次握手建立连接+四次挥手断开链接,下面看一个图: 服务器的状态变化: [CLOSED - LISTEN] 服务器端调用listen后进入LISTEN状态, 等待客户端连接; [LISTEN - SYN_RCVD] 一旦监听到连接请求(同步报文段), 就将该连接放入内核等待队列中, 并向客户端发送SYN确认

    2024年02月07日
    浏览(29)
  • 【计算机网络】TCP传输控制协议——三次握手

    一开始,客户端和服务端都处于CLOSE状态,先是服务端监听某个端口,处于LISTEN状态。 然后客户端主动发起连接SYN,之后处于SYN-SEND状态。 服务端收到发起的连接,返回SYN,并且ACK客户端的SYN,之后处于SYN-RECV状态。 客户端收到服务端发送的SYN和ACK之后,发送ACK的ACK,之后处

    2024年02月09日
    浏览(17)
  • 【计算机网络笔记】传输层服务概述、传输层 vs. 网络层

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月08日
    浏览(20)
  • 【计算机网络笔记】传输层——UDP简介

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月07日
    浏览(21)
  • 【计算机网络笔记】传输层——多路复用和多路分用

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月07日
    浏览(18)
  • 计算机网络笔记:TCP协议 和UDP协议(传输层)

    TCP 和 UDP都是传输层协议,他们都属于TCP/IP协议族。 TCP的全称是 传输控制协议 是一种 面向连接的、可靠的、基于字节流 的 传输层 通信协议。TCP 是面向连接的、可靠的流协议(流就是指不间断的数据结构) TCP报文 是TCP层传输的数据单元,也称为 报文段 ,一个TCP报文段由

    2024年02月02日
    浏览(23)
  • 【计算机网络笔记】传输层——TCP特点与段结构

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月06日
    浏览(20)
  • 【计算机网络笔记】传输层——可靠数据传输之流水线机制与滑动窗口协议

    什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率 计算机网络体系结构概念 OSI参考模型

    2024年02月06日
    浏览(19)
  • 物理层章节笔记-基本概念-传输媒体-传输方式-编码与调制-信道的极限容量--计算机网络

            1.物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输比特流。         2.物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么。         计算机网络中的物理层,就

    2024年01月24日
    浏览(23)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包