专利名称:一种用于无线局域网的缓冲队列管理方法
技术领域:
本发明涉及无线网络通信领域的一种缓冲队列管理方法,尤其涉及一种利用速率估计值
和瞬时队列长度值作为拥塞度量的缓冲队列管理方法。
背景技术:
在无线局域网中,当关联站点数量较多、数据量较大时,将发生网络拥塞现象。无线局 域网的拥塞现象源于网络资源和网络流量分布的不均衡性,具体来说就是,在各转发节点, 网络流量的到达速率大于链路输出带宽,导致分组在队列中累积,提高局部的网络处理能力 不能消除拥塞。理想情况下,队列中的分组应该略有累积,这说明流量的到达速率略大于链 路处理能力,链路处理能力得到完全的利用。如果流量到达速率小于链路处理能力,队列为 空,则此时链路利用率偏低。反之,流量到达速率过大,分组在队列中累积超过一定程度导 致拥塞,丢包率将急升,对控制排队延迟和抖动也极为不利。
一般的缓冲队列管理方法是尾丢弃(tail drop)。队列按照先进先出(FIFO)的规则处 理到来的分组。由于缓冲队列长度总是有限的,因此当队列己满时,随后到达的分组都将被 丢弃。这称为尾丢弃策略。尾丢弃拥塞控制方法简单、直观、容易实现,但对突发流量不公 平,且易引发全局同步(global synchronization),降低网络吞吐量。另一种常用的缓冲队列管 理方法是随机早期检测(Random Early Detection, RED),其基本思想是通过监控转发节点输 出端口队列的平均长度来评估拥塞程度。 一旦发现拥塞迹象,则通过随机选择连接的方式通 知拥塞,使队列在溢出导致丢包之前减小拥塞窗口,降低发送速率,从而缓解网络拥塞。由 于随机早期检测只是根据队列平均长度评估拥塞程度,因此,存在的主要问题是对由于突发 流量引发的拥塞反应迟钝,且对参数设置敏感。
因此,将队列长度和流量到达速率作为拥塞的度量能够结合二者优点,更加精确的评估 网络拥塞状况。保持队列长度的稳定可以提供一个可预期的最大排队延迟,也可尽可能的减 少延迟抖动,这对视频和音频等多媒体流量很重要。仅仅将队列长度作为拥塞度量不能准确 预测网络状态的变化,通过监测到达速率的变化可以预测拥塞变化的趋势,将其作为拥塞度 量可以改善系统的响应速度,间接地保证排队延迟和丢包率。
缓冲队列管理方法的基础是掌握流量状态,流量速率是每个流的最基本的状态之一。众 多实验测量数据表明,实际的网络流量在很长的时间范围内都具有相关性,即流量到达是长 相关的。因此,当前无线局域网流量更适采用具有长相关性的模型,自相似模型就是其中的一个代表。在自相似流量中,历史速率值对当前速率值的影响随时间推移呈幂律形式下降。 因此,采用本发明的自相似流量估计方法可以得到更准确的流量速率估计值。
令I为一随机变量,若Z满足重尾分布,则当X—。, 0<cc<2时,补累积分布函数为 P[Ji:>x:i: jc-a。当cc减小,概率质量集中在分布的尾部,形成重拖尾。分组到达时间间隔 或突发数据的长度的重尾分布是决定网络流量自相似特征的主要物理因素。由于实际环境下 可获得的参数为表征流量突发性的自相似系数//, if取值范围为
。因此,参数ct与// 系数的关系为c^3-2i/可满足cc取值范围要求。
不同应用对丢包率的要求不同。在无线局域网中,需要对具有不同优先级属性的缓冲队 列采用不同的丢包策略。IEEE 802. lie或IEEE 802. lln标准中对丢包率策略未作规定,但 支持区分优先级的丢包率是QoS保证的应有之意。为了在无线局域网中支持丢包率区分,本 发明提供的缓冲队列管理方法采用队列长度和流量速率为拥塞度量,可以更加准确的评估网 络拥塞程度,并在此基础上,按照缓存队列的优先级不同,为各队列计算不同的丢包概率, 实现不同优先级的随机丢包,从而达到区分丢包率的目的。
发明内容
本发明提供一种用于无线局域网的缓冲队列管理方法,以期达到按照缓冲队列优先级不 同实现区分丢包率的目的。
为实现这一目标,本发明公开了一种利用瞬时队列长度和流量速率估计值作为拥塞度量 的缓冲队列管理方法,本发明包括一个流量速率估计方法, 一个区分优先级丢包概率计算方
法。其中
所述流量速率估计方法由驱动软件实现,该方法根据网络流量的长相关特性和当前测得 的流量速率瞬时值估计下一时刻的流量速率。
所述区分优先级丢包概率计算方法,该方法根据到达数据包的优先级和期望队列长度,
计算得到AC (Access Category)缓冲队列的丢包概率,并根据丢包概率随机丢弃到达缓冲队 列的数据包。
本发明的特征依次包括如下步骤
(1) 驱动软件判断当前事件或中断类型。如果是上层数据包到达,根据IP包的DSCP 值或正EE 802.11e协议规定的数据包优先级,将数据包放入相应AC缓冲队列, AC缓冲队列由驱动软件生成并维护,数据包优先级到AC的映射关系由协议定 义;
(2) 驱动软件按照公式(1)估计流量速率,并保存估计结果。》(,+ i) = (1_7;2"-3)++7;2//-3/ (0 (i)
公式(i)中,i o)为当前时刻测量得到的流量速率,》(/+1)为下一时刻估计的 流量速率,7;为采样间隔,/为当前到达数据包长度, 〃为表征流量突发性的自相
似系数,该系数由已知R/S估计、Whittle估计等成熟方法得到。
(3) 与数据包优先级对应的AC缓冲队列瞬时长度变量加1,该变量在每一数据包到 达时加1。
(4) 驱动软件按照公式(2)计算与数据包优先级对应的AC缓冲队列期望队列长度, 该期望队列长度是本发明提供的缓冲队列管理方法期望控制的队列长度,即AC 缓冲队列长度不能超过该期望队列长度。
八 , ,T T ACI x (max //7厂es/70/d — min //7res/z0/t/) /n、
, = max /72res/7oW--=-=- 、2,
op, — 6
公式(2)中,ACI为各AC对应的序号,ACJ/O为0, AC—VI为l, AC—BE为 2, AC_BK为3; g,为与ACI对应的AC缓冲队列期望队列长度;max—threshold 为最大队列长度阈值,该阈值由上层管理软件设置;minJhreshold为最小队列长 度阈值,该阈值由上层管理软件设置;
(5) 比较AC缓冲队列瞬时队列长度与min—threshold。如果AC缓冲队列瞬时队列长 度小于min一threshold,说明此时拥塞尚未发生,当前到达数据包可进入AC缓冲 队列等待发送;否则,转步骤(6)。
(6) 比较AC缓冲队列瞬时队列长度与g。p,,该阈值由上层管理软件设置。如果AC 缓冲队列瞬时队列长度大于0^,,说明此时拥塞严重,直接将当前到达数据包删 除;否则,转步骤(7)。
(7) AC缓冲队列瞬时队列长度介于min—threshold和0^,之间,说明此时拥塞征兆已 经出现,但尚未达到十分严重的程度,驱动软件应执行随机丢包。驱动软件按照 公式(3)计算随机丢包概率
; ("l):"^~-^iZ (3)
争1)7;
公式(3)中,p(f+l)为下一时刻&l计算得到的随机丢包概率,》("1)为下一时
刻什i估计得到的流量速率,7;为采样间隔,c为出链路发送数据包长度,其中
6c=Fxr,, r为调度算法分配的服务量,等效于驱动软件可达到的最大吞吐量, 2W为当前时刻/的AC缓冲队列瞬时队列长度。
(8) 驱动软件计算0到1之间均匀分布的伪随机数,伪随机数可采用线性同余等已知
成熟方法得到。如果计算得到伪随机数大于p(,+l),则将当前达到数据包丢弃,
并转步骤(9);如果计算得到伪随机数小于p(&l),则将当前达到数据包插入
AC缓冲队列,并转步骤(9);如果计算得到伪随机数等于/^+l),则重复步骤 (8)。
(9) 等待下一数据包到达,重复上述步骤。
图1是一种用于无线局域网的缓冲队列管理方法结构图。本方法包括一个流量速率估计 方法, 一个区分优先级丢包概率计算方法。其他以虚线表示的模块为已有成熟方法。 图2为在图1基础上实现的随机丢包过程图示。
图3为根据本发明中提供的流量速率估计方法,采用0PNET网络仿真工具建模仿真得到 的结果。该图为本发明中提供的流量速率估计方法的估计结果与实际到达流量速率的比较, 可以看到估计结果与实际速率较为接近。该采样结果经过时间平均处理。
具体实施例方式
以下结合附图,具体说明本发明。
本发明提供一种用于无线局域网的缓冲队列管理方法,以期达到按照缓冲队列优先级不 同实现区分丢包率的目的。本发明包括一个流量速率估计方法, 一个区分优先级丢包概率计 算方法。其中
所述流量速率估计方法由驱动软件实现,该方法根据网络流量的长相关特性和当前测得 的流量速率瞬时值估计下一时刻的流量速率。
所述区分优先级丢包概率计算方法,该方法根据到达数据包的优先级和期望队列长度, 计算得到AC缓冲队列的丢包概率,并根据丢包概率随机丢弃到达缓冲队列的数据包。
图1为本发明提供的一种用于无线局域网的缓冲队列管理方法结构图。从上层应用到达 或由驱动软件产生的数据包具有由上层应用给定的、或由IEEE 802. lie协议规定的优先级参 数。优先级参数共有AC—V0 (语音)、AC—VI (视频)、AC—BE (尽力而为)、AC_BK (背景)四 个值,优先级依次降低。
数据包到达驱动软件后,按照所属优先级或其他数据包特征,经分类器分类后送入各自对应的AC缓冲队列。此时,利用本发明中提供的流量速率估计方法,估计流量的到达速率。 根据本发明中提供的流量速率估计方法,采用0PNET网络仿真工具建模仿真得到的结果 如图3所示。图3为经过时间平均处理的仿真结果采样值。由图中可知,本发明中提供的流 量速率估计方法的估计值能以较快的速度收敛于实际速率,过调量较小,稳态误差也较小。 原因在于本发明中提供的流量速率估计方法利用了自相似流量中的长相关信息,能够根据流 量自相似系数预测未来一段时间内的流量速率,因而能得到流量的准确估计。
获得流量速率估计值后,结合驱动软件维护的AC缓冲队列瞬时长度变量可执行本发明提 供的区分优先级丢包概率计算方法,图2为通过本方法执行数据包随机丢弃的过程图示。具 体步骤如下
(1) 驱动软件判断当前事件或中断类型。如果是上层数据包到达,根据IP包的DSCP 值或IEEE 802.11e协议规定的数据包优先级,将数据包放入相应AC缓冲队列, AC缓冲队列由驱动软件生成并维护,数据包优先级到AC的映射关系由协议定 义;
(2) 驱动软件按照公式(1)估计流量速率,并保存估计结果。
<formula>formula see original document page 8</formula> (i)
公式(i)中,i)为前一时刻f-i测量得到的流量速率,A(o为当前时刻"古 计的流量速率,r,为采样间隔,/为当前到达数据包长度, 〃为表征流量突发性的 自相似系数,该系数由已知R/S估计、whittle估计等成熟方法得到。
(3) 与数据包优先级对应的AC缓冲队列瞬时长度变量加1,该变量在每一数据包到
达时加1。
(4) 驱动软件按照公式(2)计算与数据包优先级对应的AC缓冲队列期望队列长度, 该期望队列长度是本发明提供的缓冲队列管理方法期望控制的队列长度,即AC
缓冲队列长度不能超过该期望队列长度。
<formula>formula see original document page 8</formula>
公式(2)中,ACI为各AC对应的序号,AC_VO为0, AC—VI为1, AC—BE为 2, AC—BK为3;込p,为与ACI对应的AC缓冲队列期望队列长度;max—threshold 为最大队列长度阈值,该阈值由上层管理软件设置;min—threshold为最小队列长 度阈值,该阔值由上层管理软件设置;(5) 比较AC缓冲队列瞬时队列长度与min—threshold。如果AC缓冲队列瞬时队列长 度小于min_threshold,说明此时拥塞尚未发生,当前到达数据包可进入AC缓冲 队列等待发送;否则,转步骤(6)。
(6) 比较AC缓冲队列瞬时队列长度与0^ ,该阈值由上层管理软件设置。如果AC
缓冲队列瞬时队列长度大于a,说明此时拥塞严重,直接将当前到达数据包删
除;转步骤(7)。
(7) AC缓冲队列瞬时队列长度介于min—threshold和2。p,之间,说明此时拥塞征兆已 经出现,但尚未达到十分严重的程度,驱动软件应执行随机丢包。驱动软件按照 公式(3)计算随机丢包概率
p("l) = ~^~' f, v叩'-^ (3)
/ (/+i)7;
公式(3)中,/7(&1)为下一时刻/+1计算得到的随机丢包概率,》(/ + 1)为下一时
刻汁i估计得到的流量速率,7;为采样间隔,c为出链路发送数据包长度,其中 c=Fxr,, F为调度算法分配的服务量,等效于驱动软件可达到的最大吞吐量,
2的为当前时刻r的AC缓冲队列瞬时队列长度。
(8) 驱动软件计算0到1之间均匀分布的伪随机数,伪随机数可采用线性同余等已知
成熟方法得到。如果计算得到伪随机数大于/^+l),则将当前达到数据包丢弃,
并转步骤(9);如果计算得到伪随机数小于p(/+l),则将当前达到数据包插入 AC缓冲队列,并转步骤(9);如果计算得到伪随机数等于p(,+ l),则重复步骤 (8)。
(9) 等待下一数据包到达,重复上述步骤。
本发明具有以下优点
(1) 使用本发明提供的缓冲队列管理方法能够正确实现不同优先级应用的丢包率区 分。
(2) 使用本发明提供的缓冲队列管理方法可准确预测AC缓冲队列的拥塞状况,在拥塞 程度达到十分严重的程度前通知发送方,从而缓解网络拥塞。以上公开的仅为本发明的几个具体实施例,但本发明的保护范围并不局限于此,任何本 领域的技术人员能思之的变化都应落在本发明的保护范围内。
权利要求
1、一种用于无线局域网的缓冲队列管理方法,其特征在于,包括一个流量速率估计方法,一个区分优先级丢包概率计算方法,其中所述流量速率估计方法由驱动软件实现,该方法根据网络流量的长相关特性和当前测得的流量速率瞬时值估计下一时刻的流量速率;所述区分优先级丢包概率计算方法根据到达数据包的优先级和期望队列长度,计算得到AC(Access Category)缓冲队列的丢包概率,并根据丢包概率随机丢弃到达缓冲队列的数据包。
2、 如权利要求l所述的一种用于无线局域网的缓冲队列管理方法,其特征在于,所述流 量速率估计方法根据当前时刻流量实际测量速率值和表征流量突发程度的自相似系数估计下一时刻流量速率,如公式(1)所示,7 (0为当前时刻测量得到的流量速率,》(纟+ l)为下一时刻估计的流量速率,7;为采样间隔,/为当前到达数据包长度,//为表征流量突发性的自相似系数,该系数由已知成熟方法得到。<formula>formula see original document page 2</formula>(i)
3、 如权利要求l所述的一种用于无线局域网的缓冲队列管理方法,其特征在于,所述区 分优先级丢包概率计算方法根据数据包优先级分别为相应的AC缓冲队列维护不同的期望队列长度2。p,, a^,按照公式(2)计算得到<formula>formula see original document page 2</formula>公式(2)中,ACI为各AC对应的序号,AC—V0为0, AC—VI为1, AC_BE为2, AC—BK为3; g。p,为与ACI对应的AC缓冲队列期望队列长度;max—threshold为最大队列长度阈值,该阈值由 上层管理软件设置;min_threshold为最小队列长度阈值。
4、 如权利要求3所述的一种用于无线局域网的缓冲队列管理方法,其特征在于,所述区 分优先级丢包概率计算方法包括以下步骤(1) 比较AC缓冲队列瞬时队列长度与min—threshold,如果AC缓冲队列瞬时队列长 度小于min—threshold,说明此时拥塞尚未发生,当前到达数据包可进入AC缓冲 队列等待发送;否则,转步骤(2);(2) 比较AC缓冲队列瞬时队列长度与0^,该阈值由上层管理软件设置,如果AC 缓冲队列瞬时队列长度大于0^,,说明此时拥塞严重,直接将当前到达数据包删 除,并转步骤(5);否则,转步骤(3);(3) AC缓冲队列瞬时队列长度介于min—threshold和g。^,之间,说明此时拥塞征兆已 经出现,但尚未达到十分严重的程度,驱动软件应执行随机丢包,驱动软件按照.公式(3)计算随机丢包概率<formula>formula see original document page 3</formula> (3)公式(3)中,X&l)为下一时刻&l计算得到的随机丢包概率,i(, + l)为下一时刻什i估计得到的流量速率,7;为采样间隔,c为出链路发送数据包长度,其中 c=Fxrs, r为调度算法分配的服务量,等效于驱动软件可达到的最大吞吐量,g(0为当前时刻^的AC缓冲队列瞬时队列长度;(4) 驱动软件计算0到1之间均匀分布的伪随机数,如果计算得到伪随机数大于 /^+1),则将当前达到数据包丢弃,并转步骤(5);如果计算得到伪随机数小于 p(&l),则将当前达到数据包插入AC缓冲队列,并转步骤(5);如果计算得到伪随机数等于/^+l),则重复步骤(4);(5) 等待下一数据包到达,重复上述步骤。
全文摘要
本发明提供一种用于无线局域网的缓冲队列管理方法。在无线局域网中,当关联站点数量较多、数据量较大时,将发生网络拥塞现象。为了在拥塞尚未发生或拥塞发生的初期检测网络拥塞,交换节点(如AP)缓冲队列管理方法实现数据包的入队列检测,通过丢包或设置IP包头的显式拥塞通知(Explicit CongestionNotification,ECN)位向发送端通知拥塞,从而缓解网络拥塞。本发明提供的缓冲队列管理方法采用队列长度和流量速率为拥塞度量,可以更加准确的评估网络拥塞程度,并在此基础上,按照缓存队列的优先级不同,为各队列计算不同的丢包概率,实现不同优先级的随机丢包,从而达到区分丢包率的目的。
文档编号H04L12/28GK101414957SQ200710163659
公开日2009年4月22日 申请日期2007年10月17日 优先权日2007年10月17日
发明者岩 汪 申请人:北京中电华大电子设计有限责任公司