系列文章目录
什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 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由接收方返回给发送方或者由交换设备直接向发送方发送。这样就能控制发送方的发送速率。文章来源:https://www.toymoban.com/news/detail-745019.html
至于Internet网络中的TCP的拥塞控制机制,下一篇文章再具体介绍。文章来源地址https://www.toymoban.com/news/detail-745019.html
到了这里,关于【计算机网络笔记】传输层——拥塞控制原理与解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!