首页 理论教育计算机网络中的流量和拥塞控制

计算机网络中的流量和拥塞控制

【摘要】:进行拥塞控制需要付出代价。总的来说,流量控制是解决“线”或“局部”问题,而拥塞控制是解决子网中“面”或“全局”问题。这种策略重在解决,在拥塞发生后设法控制和缓解拥塞。

1.流量控制和拥塞控制的概念

流量就是计算机网络通信的数据量,在网络层指的是分组流。任何网络对数据量的处理能力都不是无限的。在网络传输过程中,网络的吞吐量随着输入负荷的增大而下降,当某段时间,通信子网部分区域中通过网络传输的分组数量接近网络的最大分组处理能力时,对网络中某些资源(节点存储容量、CPU处理速度、线路带宽等)的需求超过了该资源所能提供的可用部分,网络的性能就要明显变坏,表现的现象是网络吞吐量随着输入负荷的增大而减小,这种情况叫作“拥塞”。例如,某瞬间分组流同时从多个输入线路涌入交换结点,并且要求从同一输出线路转发到下一节点,就将在路由器缓存中排队,转发延迟加长。如果没有足够的存储空间来保存分组,有些分组就会丢失(路由器溢出)。CPU处理速度慢也将导致拥塞。拥塞是一种持续过载的网络状态,并会导致恶性循环,如发送端因未收到确认而超时重发分组,但路由器却没有空余缓冲区,必然再次丢掉新到来的分组,浪费带宽来转发无用分组。可见,在接收端产生的拥塞反过来会引起发送端缓冲区的拥塞。拥塞严重时会耗尽全部网络资源,网络的吞吐量下降为零,网络瘫痪,产生“死锁”。

所以,为防止拥塞的出现,要对进入通信子网的数据流量进行控制,合理分配通信资源,使网络信道忙闲状态均匀化,以平滑通信量。在通信网内部的某一局部范围,甚至在全局范围内避免发生数据传输堵塞的调度行为称为“拥塞控制”。

在通信子网内部,虚电路方式对于避免拥塞有一定的优势,因为已建立起连接的资源已预留。一旦分组开始到达,所需的带宽和路由器容量便已具有。对于数据报子网来说,由于传输带宽动态分配,不能预先确定,避免拥塞则相对复杂一些。

进行拥塞控制需要付出代价。这首先需要获得网络内部流量分布的信息。在实施拥塞控制时,需要在节点之间交换信息和各种命令,以便选择控制的策略和实施控制,这样就产生了额外的开销。在设计流量控制策略时,必须全面衡量得失。

2.拥塞控制与流量控制的关系

拥塞控制和流量控制既有联系又有差异。

(1)拥塞控制。需要确保通信子网能够承载用户提交的通信量,是一个全局性的过程,涉及所有的主机、所有的交换节点,以及与降低网络传输性能有关的所有因素。

(2)流量控制。往往指在给定的发送端和接收端之间的点对点通信量的控制。流量控制所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。它是一个局部问题,一般都是基于反馈进行控制的。流量控制可在不同的协议层次上分别予以实现。

总的来说,流量控制是解决“线”或“局部”问题,而拥塞控制是解决子网中“面”或“全局”问题。流量控制可以限制进入网络中的数据流量,可在一定程度上减缓拥塞的发生。但仅解决流量控制问题,并不等于网络的拥塞问题就解决了。当网络上有瓶颈或节点出现故障,就可能导致发生拥塞。

拥塞控制的作用如图7—10所示。

(www.chuimin.cn)

图7—10 拥塞控制的作用

3.拥塞控制方法

因为拥塞是一个动态的问题,所以其控制是一个很复杂的问题。从控制论的角度来看,所有拥塞控制解决方案分为两类:一类是开环策略,另一类是闭环策略。

(1)开环策略。这种策略重在预防,它试图通过良好的初始设计来避免拥塞的发生。精心设计网络的各个环节,事先将可能发生拥塞的所有因素都考虑周全,尽可能避免数据过分集中在某个局部,力求网络在工作时不产生拥塞。如决定何时接受新的通信,何时丢弃分组,以及丢弃那些分组等。所有这些的共同之处在于,它们在做出决定时不能考虑网络当前的实际状况,在网络运行过程中不能进行自动调整,因此很难适应动态的网络流量实际情况。

(2)闭环策略。这种策略重在解决,在拥塞发生后设法控制和缓解拥塞。闭环的解决方案是建立在反馈环路概念之上的。当应用于拥塞控制时,实现这种方法的系统有以下三个组成部分。

①监视系统。检测何时、何地发生了拥塞。在网络中定期收集一些性能参数,一旦参数值超过一定的门限,检测到拥塞的节点立即通知有关节点,以便采取措施。

②反馈系统。将拥塞发生的信息传送到可以采取调整行动的地方,它可以传给源发送端,也可以传给进行转发的交换节点。

③调整系统。根据收到的反馈信息采取相应措施调整网络系统的运行以解决出现的问题。闭环策略又分为“显式反馈”和“隐式反馈”。

A.显式反馈:由拥塞点显式地发送反馈信息给其他采取调节行动的地方。

B.隐式反馈:由源端通过本地的观察来判断是否发生拥塞。当网络开始丢弃数据时,源主机得不到这些数据的确认信息,就判断有拥塞现象出现,源主机高层协议采取自适应的策略来进行调整,减少数据发送量。