控制理论自身的发展与成熟为AQM主动队列管理算法的设计提供了大量的素材,并且也提供了很多的理论分析依据,使得算法的设计转换为控制器的设计。可以将整个TCP网络视作一个强非线性、强时滞性的被控系统,对其进行数学建模,在此基础上运用各种成熟的控制理论在路由器上设计各种拥塞控制算法,以达到提高网络性能的目的。但是也要记住TCP网络系统与传统意义上的被控系统是有着本质区别的,一些在传统的被控系统中适用的方法在TCP网络环境下可能无法取得预期的效果。目前应用控制理论设计AQM算法依然面临着一些问题,首先就是如何让这些传统的控制理论算法在这样一个恶劣的网络环境中依然有足够的鲁棒性,让网络系统稳定工作。其次就是如何获得比较准确的网络系统模型,以便更好的为控制器的设计服务。以及如何成功的引入新发展的高级控制理论,例如:神经网络、遗传算法等等。
2网络拥塞的研究现状
目前拥塞控制的研究可以按照以下几种方法分类:
(1)从控制理论的角度,拥塞控制算法可以分为开环控制和闭环控制两大类。当流量特征可以准确规定、性能要求可以事先获得时,适于使用开环控制;当流量特征不能准确描述或者当系统不提供资源预留时,适于使用闭环控制方式。开环的拥塞控制是通过良好的设计来避免问题的出现,确保问题在一开始就不会发生。一旦系统安装并运行起来,就不再做任何中间阶段的更正。闭环的拥塞控制是建立在反馈环路的概念上,它首先检测网络中拥塞的发生,然后将拥塞信息报告到拥塞控制点,最后拥塞控制点根据拥塞信息进行调整以消除拥塞。闭环的拥塞控制可以动态地适应网络的变坏,但它的缺点是算法性能受到反馈延迟的严重影响。当拥塞发生点和控制点之间的延迟很大时,算法性能会严重下降。Internet中主要采用闭环控制方式。
(2)根据实施拥塞控制算法的位置不同,可以将拥塞控制算法分为两大类:链路算法和源算法。链路算法在网络设备(如路由器和交换机)中执行,作用是检测网络拥塞的发生,产生拥塞反馈信息。链路算法主要有传统的“队尾丢弃法”和目前热点研究的主动队列管理算法。源算法在主机和网络边缘设备中执行,作用是根据反馈信息调整发送的速率。拥塞控制算法设计的关键问题是如何生成反馈信息和如何对反馈信息进行响应。源算法中使用最广泛的是TCP协议中的拥塞控制算法。
(3)根据实施控制的类型不同,拥塞控制可分为基于窗口和基于速率(又称基于方程)两种类型。TCP采用的是典型的基于窗口的控制方式,TCP通过调整滑动窗口的大小控制发送到网络的数据量,其易于实现,且可以限制注入网络的最大流量;基于速率的控制方式是通过对TCP窗口控制机制进行建模,得到TCP连接吞吐量与网络参数之间的解析式,用来指导源端发送速率的大小,一般适合多媒体数据流的传输控制,重点的性能指标是TCP友好性。
(4)根据推断网络状态的反馈信息的类型不同,可以分为显式拥塞控制和隐式拥塞控制。在显式反馈方式中,网络使用显式信号向执行流量控制的端点通告其状态(有效带宽,缓存容量等);在隐式控制方式中,控制端使用流量测量或者通过超时、重复ACK等隐含信号来推断网络状态。