一种基于负载的公平性主动队列管理算法
2011-08-04高仲合
通信技术 2011年11期
高仲合,田 硕
(曲阜师范大学 计算机科学学院,山东 日照 276826)
0 引言
随着互联网的不断发展,网络拥塞已经成为制约网络发展和应用的瓶颈问题。拥塞控制成为维持当今网络正常运行的关键手段之一,也是当前研究的热点问题。
主动队列管理(AQM,Active Queue Management)是基于路由器拥塞控制领域的研究热点。其中随机早期检测(RED,Random Early Detection)[1]算法是主动队列管理算法中最著名的一个。但是由于 RED算法存在对参数设置敏感和不能保证公平性等问题,所以该算法并没有在实际中得到广泛应用,后来很多学者对 RED算法进行了大量地研究和改进[2-4]。
1 改进公平性的AQM算法
针对RED算法在公平性方面存在不足,一些公平性AQM算法被提出,例如FRED[5],CSFQ[6],CHOKe[7],FERED[8]等。
FRED(Flow RED)通过考察某个流当前队列缓存占用量来决定该流的分组丢弃概率。由于对不同的流采用了不同的丢弃概率,因此提高了 RED的公平性,但是算法需要在路由器维持流的状态信息,降低了算法的效率,并存在可扩展问题。
核心无状态公平队列(CSFQ,Core Stateless Fair Queue)通过一些措施来实现最大-最小公平原则。并通过采用 DPS技术来实现核心无状态。算法在边缘路由器的状态写入需要代价开销。
CHOKe是一种完全无状态的近似公平队列管理算法。CHOKe惩罚非响应流的机制是:在检测到拥塞发生时,将到达分组与从当前队列中选出的1个分组进行比较,如果2个分组属于同一个流,则对两个分组进行丢弃,否则,只对到达分组进行RED处理。虽然CHOKe能以较低的代价提高网络带宽公平性,但是算法对参数设置敏感。……
登录APP查看全文
