主动队列管理算法的研究

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[ 1 ]
均队列的函数。在实际应用中, 连接中分组丢弃的概率大致和 该连接占用的带宽成正比。简而言之, 对于一个发送量较大的
3 ] 数据流来说, 可供随机丢弃的分组的数量也相对较多 [ 。图 2
是R E D算法流程图。
图2 R E D算法流程图
2 . 3 仿真实验及性能分析
为了对两种队列管理机制进行分析, 我们在网络仿真平台 N S 2 上进行了仿真, 操作系统为 Wi n d o w s +C y g w i n , 通过实验对 D r o p t a i l 与R E D在队列长度、 队列延迟、 抖动以及吞吐量几个方 面的性能进行比较。最后再重点分析了采用 R E D时, 链路中存 在不同数据流时的带宽竞争情况, 也就是 R E D算法的公平性, 并指出了算法的改进方向。 实验 1到实验 3采用哑铃网络模型, 网络拓扑结构见图 3 , 分别在各条链路上配置参数, 链路带宽与时延分别如图 3所示, 其中 0到 1是网络的瓶颈链路, 所有输入都是 T C P流, 由F T P 驱动。
A b s t r a c t Q u e u em a n a g e m e n t p l a y sa ni m p o r t a n t r o l ei nn e t w o r kc o n g e s t i o nc o n t r o l . A c t i v eq u e u em a n a g e m e n t ( A Q M)i sa na l g o r i t h m t h a t d r o p s p a c k e t s a h e a da c c o r d i n gt o t h e v a r i a t i o no f q u e u e l e n g t ho f n e t w o r kn o d e s a n dn o t i f i e s n e t w o r kc o n g e s t i o ni na d v a n c e t o r e d u c e a n d a v o i dc o n g e s t i o n , i m p r o v e sq u a l i t yo f s e r v i c e( Q o S )o f n e t w o r k . I no r d e r t os t u d yA Q Mm e c h a n i s m , t h i sa r t i c l ei n t r o d u c e sR E Da l g o r i t h m w h i c hw a s r e c o m m e n d e db y I E F T . D r o p t a i l w h i c hi s a t r a d i t i o n a l p a s s i v e q u e u e m a n a g e m e n t a l g o r i t h mw a s c o m p a r e dw i t hi t , a l s o t h e a l g o r i t h m w a s s i m u l a t e da n da n a l y z e db yn e t w o r ks i m u l a t o r N S 2t oi n d i c a t ea d v a n t a g ea n ds h o r t c o m i n go f i t , t h i sp r o v i d e sb a s i sf o r t h ef u r t h e r s t u d y o f A Q M. K e y w o r d s A Q M D r o p t a i l R E D F a i r n e s s 提出并推荐的 A Q M 主要的算法随机早期检测( R E D ) , 与现有
2 ] 的利用率 [ 。
图3 网络拓扑结构
2 . 3 . 1 平均队列长度的比较与 T C P全局同步 图 4是 D r o p t a i l 队 列 长 度, 很显然 D r o p t a i l 的队列长度较 长, 并且图中显示队列长度的变化幅度也很大, 造成这种现象的 直接原因是, D r o p t a i l 算法总是在队列满的时候再进行尾丢弃, 即链路缓存直到满的状态才发送拥塞通知。这就导致了一旦发 生拥塞, 所有的发送端就同时降低发送速率, 这样各条链路的队 列长度又急剧减少, 链路缓存又处于空闲状态, 接着发送端的所 有T C P流又同时提高发送速度, 再一次造成链路缓存急剧增 加, 如此反复, 从而产生 “ T C P全局同步现象” ( 如图 5所示) , 进 而导致了整个链路的利用率在下降。图 6是 R E D的平均队列 长度, R E D队列的平均长度变化幅度较小, R E D算法提前对队 列进行丢包, 使得队列长度达到某个长度的时候就通知发端降 低发送数据, 避免了缓冲区被完全占满, 如图 7所示, R E D的 T C P窗口变化, 能够在一定程度上避免 T C P同步的现象。
R E S E A R C HO FA C T I V EQ U E U EMA N A G E ME N TA L G O R I T H MB A S E DO NN S 2
WuX u a n y a o L i nQ i w e i
( D e p a r t m e n t o f I n f o r m a t i o nS c i e n c e a n dE n g i n e e r i n g , H u a q i a o U n i v e r s i t y , Q u a n z h o u 3 6 2 0 2 1 , F u j i a n , C h i n a )
第2 6卷第 7期 2 0 0 9年 7月
计算机应用与软件 C o m p u t e r A p p l i c a t i o n s a n dS o f t w a r e
V o l 2 6N o . 7 0 9 J u l . 2 0
主动队列管理算法的研究
吴宣耀 林其伟
( 华侨大学信息科学与工程学院 福建 泉州 3 6 2 0 2 1 )
图1 N S 2架构图 收稿日期: 2 0 0 7-1 2-0 6 。国 家 院 侨 务 办 科 研 基 金 项 目 ( 0 6 Q Z R 0 3 ) 。吴宣耀, 硕士生, 主研领域: 视频图像编码, 网格技术。
第 7期
吴宣耀等: 主动队列管理算法的研究
4 9
wenku.baidu.com
N S是 一 个 离 散 事 件 仿 真 器。 N S中 有 一 个 “ 调 度 器” ( S c h e d u l e r ) 类负责记录当前时间, 调度网络事 件 队 列 中 的 事 件, 并提供函数产生新的事件, 指定事件发生的时间。 N S 有丰富的构件库。N S 构件库支持的网络类型包括广域 网、 局域网、 移动通信网、 卫星通信网等; 流量产生模型有 t e l n e t 流量模型、 F T P流量模型、 C B R流量模型、 实时音频流量模型、 R T P模型、 WE B流量模型、 指数分布流量模型、 P a r e t o 分布流量 模型等; 跟踪监测包括包类型、 队列监测和流监测; 路由模型有 点到点传播路由、 组播路由、 网络动态路由、 层次路由。由于 N S 具有的开放性, 网络研究人员可以根据自己的需要添加各种协 议, 满足自己的研究需要。 N S 具有分裂对象模型。N S 的构件库是用两种面向对象的 语言编写的: C+ +和 O t c l ( O b j e c t T o o l k i t C o m m a n dL a n g u a g e ) 。 N S 构件一般都是由相互关联的两个类来实现, 一个在 C+ + 中, 一个在 O t c l 中。这种方式称为分裂对象模型。构件的主要功 能在 C+ +中实现, O t c l 中的类用来提供 C+ +对象面向用户的 接口。通过 T c l C L机制, 用户可以在 C+ + 中直接调用 O t c l 解释 器的功能, O t c l 和 C+ + 能够互相直接操作对方定义的数据。用 户先通过编写 C+ + 程序来描述链路中的算法和增加各种网络 协议, 再使用 O t c l 脚本来描述需要仿真的场景、 拓扑结构、 链路 中使用的算法和协议, 并对这些对象进行配置、 组合, 最后调用 N S 来完成仿真
摘 要 队列管理机制是实现网络拥塞控制的一项重要技术, 以往采用的大多都是被动的队列管理机制, 而主动队列的管理是根 据网络结点的队列长度的变化进行提前丢包, 对网络的拥塞进行预先通知, 从而减少和避免网络拥塞, 提高服务质量。为了对主动 队列管理机制进行研究, 对I E F T推荐的 R E D算法作介绍, 与传统的被动管理机制 D r o p t a i l 作比较, 并且通过网络仿真器 N S 2对算法 进行模拟与分析, 指出算法的优缺点, 为进一步研究 A Q M 算法提供依据。 关键词 主动队列管理 去尾 随机早期检测 公平性
网络采用的去尾算法( D r o p t a i l ) 在网络仿真平台 N S 2上进行了 仿真研究, 通过队列长度、 延迟、 抖动、 丢包情况和吞吐量进行比 较, 最后重点对随机早期检测( R E D ) 算法的公平性进行分析。
1 N S 2网络仿真平台
目前常用的网络仿真工具主要有 O P N E T 、 N S等。其中 N S 是一种针对网络技术的、 源代码公开的、 免费的软件模拟平台。 它是美国 D A R P A支持的项目 V I N T ( V i r t u a l I n t e r n e t T e s t b e d ) 开 发的通用、 多协议网络模拟软件, 通过为研究者提供一套网络模 拟工具, 更好地促进各种新协议的设计和实施。它能够有效地 支持有线和无线网络、 局域网和广域网, 具有强大的二次开发能 力以及可扩展、 易配置的特性, 在国际网络研究界得到了广泛的 应用。图 1是 N S 2架构图。

2 D r o p t a i l 和R E D算法分析
2 . 1 D r o p t a i l 算法
D r o p t a i l 算法又称 F I F O即先进先出, 是一种被动的队列管 理机制, 也是当前网络上采用的重要的队列管理方法。其基本 的思想就是当网络结点缓存队列长度达到最大值时, 通过丢弃 分组来指示拥塞, 先到达路由器的分组首先被传输。由于网络 结点的缓存有限, 如果分组到达时缓存已满, 那么网络就丢弃该 分组。一旦发生丢包, 发送端立即被告知网络发生拥塞, 从而调 整发送速率。这种队列管理机制目前仍然是因特网上使用最为 广泛的分组排队、 丢弃的方式。但是它将网络发生拥塞的责任 全部都推给了网络边缘。所以 T C P假设网络中的节点( 如路由 器) 对拥塞起不了任何作用, 而由协议本身独立承担检测和响 应拥塞的全部责任。这种方式最大的优点是实现很简单; 缺点 是容易造成队列死锁, 进而导致“ T C P全局同步” , 降低了网络
0 引 言
随着 I n t e r n e t 的蓬勃发展, 网络业务量的不断增长, 人们对 网络的服务质量( Q O S ) 的要求越来越高。现有的 I n t e r n e t 采用 的是传统的“ 尽力而为” 的服务机制, 这种机制的优势是设计简 单, 但是存在一个主要的问题就是会产生拥塞崩溃现象, 使得链 路利用率大大下降, 所以因特网必须提供拥塞控制机制。而传 统的 T C P端到端的拥塞控制并不能避免拥塞的发生, 所以网络 本身的节点就必须自主地参与到拥塞控制中, 依靠网络结点主 动感知缓冲区的占有率来管理缓存, 从而有效地避免拥塞的 发生。 队列管理是指在网络发生拥塞时, 通过丢包来管理队列长 度, 调节缓冲区的占有率, 对队列长度进行管理将直接影响到网 络结点的拥塞控制能力和网络的 Q O S 。而目前队列管理机制主 要有两大类: 被动队列调度机制( P Q M) 与主动队列调度机制 ( A Q M) 。P Q M 在因特网上得到了广泛的应用, 但是存在两个重 要的问题: 死锁和满队列。由于因特网的数据具有突发性, 在满 队列的状态下导致了“ T C P全局同步” 现象, 导致了整个链路的 利用率在下降。为此 I E F T又提出了 A Q M, A Q M 方法是根据队 列长度的变化对队列满行提前丢包, 从而预先告之网络拥塞, 使 得发送节点在链路缓存溢出前作出反映, 有效减少和避免拥塞 的发生。 本文首先简单介绍网络仿真软件 N S 2的原理, 再对 I E F T
相关文档
最新文档