首页 理论教育 拥塞控制方法:了解计算机网络中

拥塞控制方法:了解计算机网络中

时间:2023-11-09 理论教育 版权反馈
【摘要】:拥塞控制,就是要根据网络的通信状况,限制各个发送方的数据发送工作。如果从控制论的角度来看,拥塞控制可以分为开环控制和闭环控制两大类。闭环控制的思路是要设计一种基于反馈环路的控制方法。监测等待队列的长度,就是预警和发现拥塞的一种方法。无论采取何种拥塞控制,都会产生额外的开销,都是要付出管理代价的。

拥塞控制方法:了解计算机网络中

无论具体状态如何,网络拥塞的根本原因是,数据发送方投放到网络中的数据超出了网络的承载能力。就是说,网络拥塞的原因是过量的数据分组,而其根源在于数据发送方。要想控制网络拥塞,就要控制网络中分组的数量,最终就要在发送方上下功夫。

拥塞控制,就是要根据网络的通信状况,限制各个发送方的数据发送工作。如果从控制论的角度来看,拥塞控制可以分为开环控制和闭环控制两大类。

(1)开环控制的思路是要先设计一个良好的网络,其中包括限制所有发送方的行为,以此来保证拥塞问题不会发生。这样的网络一旦运行起来了,就不需要再作调整修正,但是,互联网本身是不断动态变化的,设备的更换、线路的增减,乃至网络的加入和退出都是会发生的。即使网络不变,各网络用户的通信需求也是在不断变化的。适用于这种要求的“良好设计的”的网络不仅设计起来很难,而且也很难应对网络本身和通信状况的变化。这种控制方式只适合小规模且变动不大的网络。

(2)闭环控制的思路是要设计一种基于反馈环路的控制方法。它首先要对网络拥塞予以检测,发现和评估拥塞状况;其次,要把拥塞发生的信息传到所有可以对该拥塞采取行动的地方;最后,这些可以采取行动的地方联合采取恰当的行动,以解决出现的问题,但是,如何发现或者提前预警拥塞状况,如何在拥塞已发生的情况下将拥塞情况传输出来发给各方,各方应如何联合采取行动,都是需要妥善解决的问题。

1.关于拥塞发现

前面讨论过,拥塞最终都会体现为某些设备的等待队列溢出。监测等待队列的长度,就是预警和发现拥塞的一种方法。此种方法适合网络核心区域的设备使用。

前面还介绍过,当随着网络负荷的增加时,网络时延会由于排队时延而增长,这也可以用来预警或者发现拥塞;当严重的网络拥塞发生时,必然会伴随着数据分组的丢失。所以,还可以根据丢包现象判断拥塞的发生。此类方法适合网络的端设备使用。当然,网络很复杂,传输时延变化或者丢包不一定代表就是拥塞事件发生,这种判断方法有一定局限性,但好处是不需要拥塞信息的传递。(www.xing528.com)

2.关于拥塞信息传递

由网络核心设备,依据自身等待队列长度来发现的拥塞状况是需要向外传递的。它们可以丢弃一些数据分组,并使用ICMP之类的协议,通告原主机或其他的网络核心设备。由于网络拥塞已经发生,或者接近发生,这些控制分组可能会有火上浇油的效果,所以控制报文要尽量小。另外,也可以在正常的报文之中加入可由网络核心设备修改的,可表明拥塞状况的若干比特

3.关于采取行动

拥塞控制最终是要在发送方身上下功夫的,让发送方控制自己输入到网络中的分组数量。作为端设备的各个发送方可以依据网络核心设备的通告了解到拥塞的状况,也可以根据网络时延的增加、丢包现象的发生来了解到拥塞的发生。发现了拥塞,就要采取合适的手段来限制自身的发送速度。

当然,在一些网络之中——如ATM网络——网络核心设备也可以协调解决一定情况的拥塞的,但这毕竟是在特定的网络中。所以,此处主要讨论的还是在端设备上所做的拥塞处理。

无论采取何种拥塞控制,都会产生额外的开销,都是要付出管理代价的。这在一定程度之上都会影响网络的性能,就如同图5-17中示意的那样,但是拥塞控制,使得网络不会因为负载的增长而性能恶化甚至崩溃的状况发生,保证了网络系统的稳定。这种代价是值得的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈