基于反馈的网络拥塞解决方案初探(读书报告)
基于反馈的网络拥塞解决方案初探(读书报告)
对于数据网络中的拥塞(Congestion)问题,主要涉及两个方面,一是拥塞的避免(Congestion Avoidance), 另一方面是当拥塞发生后如何进行调整。传统的解决方案是引入反馈机制进行控制。数据源(Data Sources)通过直接或间接的方式取得网络上拥塞的状态,从而对数据传输的速率作出加快或减慢的调整[1]。 但是,在一个时延比较大的网络(a network with a large bandwidth-delay product)中, 当数据源收到拥塞信息时,从数据源已经发出了很多的数据包。这很容易导致包的丢弃和接下来的重传。另外这也很容易引起网络的抖动(traffic oscillations)。当拥塞发生时, 数据源降低传输速率;而当拥塞状况消失后,数据源有重新开始以高速率发送数据,从而有可能导致再一次拥塞的发生。为了解决该问题,[1]对目前的基于反馈的拥塞控制技术作了总结并提出了一套理论框架。它将控制策略分为两大类:一类为源端智能模型 (Source-Intelligence Model),另一类交换机智能模型(Switch-Intelligence Model)。
关于源端控制模型,[1]总结了以下四种控制策略:(1)Nonzero Backlog Control, (2)Control by Backlog Estimation, (3)Proportional and Derivative Control, (4)Optimal Window Control。而交换机智能模型中,则是由网络节点,例如交换机来实现拥塞控制。在ATM协议中,可以通过Connection admission control 和Usage parameter control等方式由网络本身来实现控制。交换机可以比较网络过去的传输速率以及实际的交通流量,从而有可能预测网络的将来行为[1]。[3]是[1]的作者早期的文章,其中提出了一种通过对用于反馈控制的未知函数的权因子的调节来预测buffer的大小的策略。
拥塞控制的策略针对不同的网络会有所不同,过去一段时间对ATM网络和TCP/IP网络拥塞控制的研究都非常多。[2]主要针对ATM网络,提出了一种自适应的(Adaptive)反馈拥塞控制解决方案。并和静态的(Static)反馈拥塞控制机制作了比较。对于静态控制机制,当等待队列的长度超过某个一开始设定的初值时,拥塞反馈信息将会产生。对于如何设定buffer大小,以及如何限定拥塞发生后数据源的传输数率,并没有很好的解决。[2]提出了采用人工神经网络(ANNs)来估算当拥塞发生后数据源该如何降低其传输速率,从而提高了网络传输性能。该策略基本上可以归类为[1]中的Switch-Intelligence Model。它使用一个前向反馈ANN(FFANN)。首先通过分析来自Receiver的Cell Arrival Patterns(CAPs)和来自Buffer的当前的队列信息与cell loss的关系来训练该人工神经网络。ANN训练后,上一时刻的CAPs和当前队列信息被反馈给ANN,根据这些输入,相应的Congestion notification Cells(CNC)将会被发送到相关的活动的数据源,从而要求数据源作出比较合理的速率调整。该策略确实可以达到比较好的效果,尽管[2]并未涉及网络CNC反馈时延的问题,也未对此问题的克服作出明确的解释。笔者认为,由于ANN本身的学习机制可能已经把反馈时延的影响考虑在内,即CNCs可能根据ANN的预测,在拥塞将要发生之前就被发送到数据源,从而比较好的解决该问题。
[2]的关于应用人工智能的思想也可以应用在TCP网络中。[4]针对TCP网络应用Fuzzy Logic和Genetic Algorithm来达到理想的拥塞避免机制。但也没有对反馈时延问题的克服作出比较好的解释。
对于TCP的拥塞避免策略之一Random Early Detection (RED),[5]提出了一种时延状态反馈控制机制,来增加RED的稳定性。TCP算法本身实际上将计算负担推到终端主机上,而对于路由器的拥塞控制,则采用Active Queue Management (AQM)机制。RED就是一种最受欢迎的AQM机制之一。尽管RED算法比较简单,但是在RED gateway和TCP连接之间的交互却存在非常复杂的动态行为。因此有关TCP-RED拥塞控制机制被很多学者进行研究,并提出了很多改进方案。例如[5]就提到了一种对TCP-RED的离散时间的建模分析(Discrete-Time Modeling)。更多的相关信息可以参考[5]的References。
[1]中关于网络拥塞控制策略的分类实际上是控制功能模块集中化还是边缘化的问题。[1]认为网络拥塞控制的研究将朝着结合源端和网络端(网络节点)的智能控制策略(Combining source and network-intelligence control strategies)的方向展开。这一点笔者也比较赞同,即网络拥塞控制必须协调数据源(源端),网络中间节点(路由器,交换机等),乃至客户机一起协同工作,而不是一味地追求集中化或边缘化,这样也许能够最完美地解决拥塞问题。
笔者认为,关于网络拥塞的问题不可能找到一个十全十美的解决方案。世界上没有哪个城市没有出现过交通阻塞问题,即使它的交通管理水平再高,也还是有可能存在车辆数量的膨胀和道路容量之间的矛盾。如果网络带宽足够宽,网络的处理能力足够强,那么,在网络上就没有拥塞问题(数据发送方和接受方的能力匹配是另外一回事,属于Flow control的问题)。而实际情况是,带宽和网络处理能力有限,网络的状况又很难准确预知,不合适的数据传输很容易导致拥塞。解决拥塞问题,只有可能是不断追求拥塞发生概率的最小化。至于反馈时延的问题,笔者也持类似的态度。即我们不可能彻底消除时延的影响,但是,我们可以通过不段的研究来减少和削弱这种影响。另外,笔者相信,随着人工智能等理论的完善和技术的提高,采用人工智能的方式,通过反馈的机制,来学习网络的行为,使网络有优秀的自适应功能,可能会比较好的解决网络拥塞的问题。当然最有效的但不一定经济的解决方案是增加网络硬件设施投入,配以比较好的控制策略,则拥塞必减少。
由于时间比较紧,加上论文本身比较难以理解,笔者并没有深入论文本身进行仔细研究,只是浮光掠影地粗略地浏览了一下文章,因此,对论文提出的模型和结论并不十分理解。因此本文也一定存在很多倏忽甚至错误的地方,望见谅。
【1】 B.G. Kim, Theoretic framework for feedback control models in high-speed networks, Proceedings of the 14th International Workshop on Database and Expert Systems Application (DEXA’03), 2003
【2】 Yao-Ching Liu and Christos Douligeris, Static vs. adaptive feedback congestion controller for ATM networks, IEEE, 1995
【3】 B.S. Jang, B.G. Kim and G. Pecelli, A prediction algorithm for feedback control models with long delays, IEEE, 1997.
【4】 Meng Gan, Elmar Dorner, Jochen Schiller, Applying computational intelligence for congestion avoidance of high-speed networks, IEEE, 1999
【5】 Kai Jiang, Xiaofan Wang, Yugeng Xi, Internet congestion control with delayed state feedback, IEEE, 2004
浙公网安备 33010602011771号