收稿日期: 2005-08-18; 修返日期: 2005-10-26
基金项目: 国家自然科 学基金 资助项 目( 602730350) ; 国防 科
工委应用基础基金资助项目( K1704060511)
一 种 精 确 度 加 强 的 主 动 队 列 管 理 算 法 BLUE
+*
徐 佳
1
, 殷新春
1
, 杨 云
1, 2
( 1. 扬州 大学 信息 工程 学院 计 算机 科学 与工 程系 , 江苏 扬 州 225009; 2. 南 京理 工大 学 计 算 机科 学 与 工程 系 ,
江苏 南 京 210004)
摘 要: 主 动队 列管 理是 IP 拥塞控 制的 一种 重要机 制, BLUE 算 法 作 为 一 种 典 型的 主 动 队 列 管 理 算 法, 使 用 丢
包和 连接 空闲 事件来 控制 拥塞 , 但是其 性能 还不 稳 定 。对 BLUE 算 法 进 行 了 改进 , 提 出 了 一 种 精确 度 加 强 的 主
动队 列管 理算 法 BLUE
+
, 并 将其 应用 于区 分服 务( DiffServ) 模 型。 仿真 表明 BLUE
+
能 够进 一 步提 高 对 队列 的 控
制精 确度 , 改 善 BLUE算 法的 性能 , 并 且能 有效 地支 持区 分服务 。
关键 词: 拥 塞控 制; 区 分服 务; 主 动队 列管 理; BLUE 算 法
中图 法分 类号 : TP301. 6 文献 标识 码: A 文章 编号 : 1001-3695( 2006) 09-0023-04
Precision Enhanced Active Queue Management Algorithm BLUE
+
XU Jia
1
, YIN Xin-chun
1
, YANG Yun
1,2
( 1. Dept. of Computer Science & Engineering, College of Information Engineering, Yangzhou University, Yangzhou Jiangsu 225009; 2. Dept.
of Computer Science & Engineering, Nanjing University of Science & Technology, Nanjing Jiangsu 210004)
Abstract: Active queue managementalgorithmis an importantmechanismof IPcongestion control. As akind of typical active
queue management algorithm, BLUE uses packet loss and link idle events to manage congestion, but its performance is still
unstable. This paper improved BLUE algorithm, proposed a precision enhanced active queue management algorithm BLUE
+
and applied BLUE
+
to the model of DiffServ. Simulations experiments show that BLUE
+
improves the precision of queue ma-
nagement and the performance of BLUE algorithm, supports the DiffServ effectively.
Key words: Congestion Control; Differentiated Services; Active Queue Management; Blue Algorithm
1 引言
为提供有效的服务质量, IETF 提出了 基于 RSVP( 资源 预
留协议) 和相应服务类 型的集 成服务 框( IntServ
[ 1]
) , 但 IntServ
需要在核心路由器中保存每个 传输流 的状态 和处理 复杂的 信
令协议, 导致其扩展性差。为此, IETF 又提出了 以性能和扩 展
性为目标的粗粒度的区分服务框架( DiffServ
[ 2]
) 。
在网络的边缘节点, DiffServ 根据与用户 的协议标记 IP 分
组头部的 DSCP( DiffServ Code Point)
[ 3]
字段并将分组划分为不
同的通信量聚集; 核心节点根据 DSCP 标记决 定通信量聚 集的
逐节点行 为 ( Per Hop Behavior, PHB)
[ 4,5]
, 大 大 简化 了中 间 路
由器的服务机制。
基于 TCP/IP的网 络大 都 采用 以队 尾 丢弃 作 为 包 策 略
的被动式队列管理, 这种 方法虽 然简单, 却很 容易引 起全局 同
步( Global Synchronization) 、队列死锁( Lock-out) 和队列延迟 等
问题。一种有效的方法 是在路 由器上 进行主 动队列 管理( Ac-
tive Queue Management, AQM) , 通过探测即 将到达的拥塞, 将拥
塞情况反馈给发送端。在文献[6] 中 Feng 提出了一种新的主动
队列管理算法 BLUE, 但它存在参数设置和吞吐率不高等问题。
2 BLUE
+
算法
2. 1 BLUE 算法性能分析
BLUE使用丢包事件和 链路空 闲事件 来管 理拥 塞。BLUE
维持了一个概率 Pmark用以标记包, 如果由于队列溢出导致持
续地 丢包, BLUE 就 增 加 Pmark; 如 果 由于 链路 空 闲导 致 队 列
空, BLUE就减小 Pmark。BLUE算法的基本思想如下:
Upon packet loss ( or qlen > qlim) event:
if ( ( now - last_update) > freeze_time) then
Pmark= Pmark + detin
last_update =now
Upon link idle event:
if ( ( now - last_update) > freeze_time) then
Pmark= Pmark - detde
last_update =now
其中, freeze_time 参数是用来决定连 续两次更 新 Pmark 的时 间
间隔, detin, detde 是用来确定 Pmark 增 加和 减 小 时 改 变 的 幅
度, qlim是队列长度。
图 1 显示了 100个 TCP连接时, 典型的 BLUE队列的情况,
其中 freeze_time 为 100ms, detin 为 0. 002 5, detde 为0. 000 25,
数据包大小为 1 000bits, qlim为 50 个包, Pmark初始值为 0。
BLUE算法直接依据 丢 包和 链 路的 使用 情 况来 进行 拥 塞
控制。与 RED 算法比起来, 它明显 地减 小了 丢包 率及 对路 由
器 缓存 空 间 的 需 求, 但 是 BLUE 算 法 仍 然存 在 着 一 些 缺 点。
W. Feng 和 XU Jian等人从 公平 性的 角度 出发, 对 BLUE 算 法
进行了不同程度的改进
[ 7,8]
, 但还存在以下一些问题:
·32·第 9 期 徐 佳等: 一种精确度加强的主动队列管理算法 BLUE
+
评论0
最新资源