主动队列管理(Active Queue Management,AQM),
路由器中最常用的
队列管理策略是“队尾丢弃”。它是一种拥塞恢复机制,能够维持Internet 的稳定运行,但是存在着满
队列、
死锁以及全局同步等问题。在此基础上改进的“首丢弃”和“随机丢弃”对
死锁和全局同步是有效的,但没有解决持续的满
队列问题。
如果在
路由器中增加智能预测环节,使得在路由器
缓存被耗尽前有计划的丢掉一部分分组,就可以提早通知发送方降低发送速率,避免可能出现的危险,这就是主动
队列管理的由来。1998 年,B.Braden 等人提出了主动
队列管理(Active Queue Management,AQM)的研究动议,作为端到端
拥塞控制的一种技术手段,期望在减小
排队时延的同时保证较高的
吞吐量。这是一种主动的而非响应性的分组丢弃手段,相应的
队列管理策略即“主动队列管理”成为近年来网络
拥塞控制研究的一个热点。
AQM 不是队列满才开始丢弃
数据包,是一种主动拥塞控制机制,可以有效地解决“全局同步”问题。AQM 通常利用当前的队列长度等拥塞信息来控制中间节点队列。由于网络存在传输时间滞后,采样所得的队列长度等拥塞信息,是反映一段时间之前的网络状况。当拥塞信息被反馈至发送端时,又增加了额外的延迟时间,所以AQM存在响应相对滞后于实际网络状况的缺陷。另外AQM 还存在参数设置敏感的缺陷,在不同的网络状况很难保持其性能。为了维持队列长度稳定、减少排队时延并降低丢包率,主动队列管理总是提前丢包通知发送端降低发送速度,同样会导致中间节点的传输效率下降。可见主动队列管理是牺牲部分网络传输效率来获得低时延、队列长度稳定等性能。
一些控制论专家也投身其中,研究有关
网络流量的控制理论及网络模型。近年来,非线性规划理论、系统控制理论和优化控制理论被引入到
拥塞控制的研究中来,一些研究者尝试使用严格的数学模型来描述由
端系统和网关共同组成的系统。这些研究推动了
拥塞控制的研究,一些新的AQM 算法不断涌现。