著录项信息
专利名称 | 一种用于无线局域网的缓冲队列管理方法 |
申请号 | CN200710163659.9 | 申请日期 | 2007-10-17 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2009-04-22 | 公开/公告号 | CN101414957 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L12/56 | IPC分类号 | H;0;4;L;1;2;/;5;6;;;H;0;4;L;1;/;0;0;;;H;0;4;L;1;2;/;2;8查看分类表>
|
申请人 | 北京中电华大电子设计有限责任公司 | 申请人地址 | 北京市昌平区北七家未来科技城南区中国电子网络安全和信息化产业基地C栋
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京中电华大电子设计有限责任公司 | 当前权利人 | 北京中电华大电子设计有限责任公司 |
发明人 | 汪岩 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明提供一种用于无线局域网的缓冲队列管理方法。在无线局域网中,当关联站点数量较多、数据量较大时,将发生网络拥塞现象。为了在拥塞尚未发生或拥塞发生的初期检测网络拥塞,交换节点(如AP)缓冲队列管理方法实现数据包的入队列检测,通过丢包或设置IP包头的显式拥塞通知(ExplicitCongestionNotification,ECN)位向发送端通知拥塞,从而缓解网络拥塞。本发明提供的缓冲队列管理方法采用队列长度和流量速率为拥塞度量,可以更加准确的评估网络拥塞程度,并在此基础上,按照缓存队列的优先级不同,为各队列计算不同的丢包概率,实现不同优先级的随机丢包,从而达到区分丢包率的目的。
1.一种用于无线局域网的缓冲队列管理方法,其特征在于步骤如下:
(1)判断当前事件或中断类型,将数据包按照优先级放入相应Access Category(AC)缓冲队列,优先级从高到底分为AC_VO、AC_VI、AC_BE、AC_BK;
(2)按照公式(1)估计流量速率,并保存估计结果;
其中R(t)为当前时刻测量得到的流量速率,为下一时刻估计的流量速率,Ts为采样间隔,l为当前到达数据包长度,H为表征流量突发性的自相似系数,该系数由已知成熟方法得到;
(3)与数据包优先级对应的AC缓冲队列瞬时队列长度变量加1,该变量在每一数据包到达时加1;
(4)按照公式(2)计算与数据包优先级对应的AC缓冲队列期望队列长度;
其中ACI为各AC缓冲队列对应的序号,优先级为AC_VO时ACI为0,优先级为AC_VI时ACI为1,优先级为AC_BE时ACI为2,优先级为AC_BK时ACI为3;Qopt为与ACI对应的AC缓冲队列期望队列长度;max_threshold为最大队列长度阈值,min_threshold为最小队列长度阈值,max_threshold和min_threshold由上层管理软件预先设定;
(5)比较AC缓冲队列瞬时队列长度与min_threshold,如果AC缓冲队列瞬时队列长度小于min_threshold,当前到达数据包进入AC缓冲队列等待发送;否则,转步骤(6);
(6)比较AC缓冲队列瞬时队列长度与Qopt,如果AC缓冲队列瞬时队列长度大于Qopt,直接将当前到达数据包删除,并转步骤(9);否则,转步骤(7);
(7)AC缓冲队列瞬时队列长度介于min_threshold和Qopt之间,按照公式(3)计算随机丢包概率:
其中,p(t+1)为下一时刻t+1计算得到的随机丢包概率,为下一时刻t+1估计得到的流量速率,Ts为采样间隔,C为出链路发送数据包长度,其中C=V×TsV为调度算法分配的服务量,等效于驱动软件可达到的最大吞吐量,Q(t)为当前时刻t的AC缓冲队列瞬时队列长度;
(8)计算0到1之间均匀分布的伪随机数,如果计算得到伪随机数大于p(t+1),则将当前达到数据包丢弃,并转步骤(9);如果计算得到伪随机数小于p(t+1),则将当前达到数据包插入AC缓冲队列,并转步骤(9);如果计算得到伪随机数等于p(t+1),则重复步骤(8);
(9)等待下一数据包到达,重复上述步骤。
技术领域\n本发明涉及无线网络通信领域的一种缓冲队列管理方法,尤其涉及一种利用速率估计值和瞬时队列长度值作为拥塞度量的缓冲队列管理方法。\n背景技术\n在无线局域网中,当关联站点数量较多、数据量较大时,将发生网络拥塞现象。无线局域网的拥塞现象源于网络资源和网络流量分布的不均衡性,具体来说就是,在各转发节点,网络流量的到达速率大于链路输出带宽,导致分组在队列中累积,提高局部的网络处理能力不能消除拥塞。理想情况下,队列中的分组应该略有累积,这说明流量的到达速率略大于链路处理能力,链路处理能力得到完全的利用。如果流量到达速率小于链路处理能力,队列为空,则此时链路利用率偏低。反之,流量到达速率过大,分组在队列中累积超过一定程度导致拥塞,丢包率将急升,对控制排队延迟和抖动也极为不利。\n一般的缓冲队列管理方法是尾丢弃(tail drop)。队列按照先进先出(FIFO)的规则处理到来的分组。由于缓冲队列长度总是有限的,因此当队列已满时,随后到达的分组都将被丢弃。这称为尾丢弃策略。尾丢弃拥塞控制方法简单、直观、容易实现,但对突发流量不公平,且易引发全局同步(global synchronization),降低网络吞吐量。另一种常用的缓冲队列管理方法是随机早期检测(Random Early Detection,RED),其基本思想是通过监控转发节点输出端口队列的平均长度来评估拥塞程度。一旦发现拥塞迹象,则通过随机选择连接的方式通知拥塞,使队列在溢出导致丢包之前减小拥塞窗口,降低发送速率,从而缓解网络拥塞。由于随机早期检测只是根据队列平均长度评估拥塞程度,因此,存在的主要问题是对由于突发流量引发的拥塞反应迟钝,且对参数设置敏感。\n因此,将队列长度和流量到达速率作为拥塞的度量能够结合二者优点,更加精确的评估网络拥塞状况。保持队列长度的稳定可以提供一个可预期的最大排队延迟,也可尽可能的减少延迟抖动,这对视频和音频等多媒体流量很重要。仅仅将队列长度作为拥塞度量不能准确预测网络状态的变化,通过监测到达速率的变化可以预测拥塞变化的趋势,将其作为拥塞度量可以改善系统的响应速度,间接地保证排队延迟和丢包率。\n缓冲队列管理方法的基础是掌握流量状态,流量速率是每个流的最基本的状态之一。众多实验测量数据表明,实际的网络流量在很长的时间范围内都具有相关性,即流量到达是长相关的。因此,当前无线局域网流量更适采用具有长相关性的模型,自相似模型就是其中的一个代表。在自相似流量中,历史速率值对当前速率值的影响随时间推移呈幂律形式下降。因此,采用本发明的自相似流量估计方法可以得到更准确的流量速率估计值。\n令X为一随机变量,若X满足重尾分布,则当X→∞,0<α<2时,补累积分布函数为P[X>x]∶x-α。当α减小,概率质量集中在分布的尾部,形成重拖尾。分组到达时间间隔或突发数据的长度的重尾分布是决定网络流量自相似特征的主要物理因素。由于实际环境下可获得的参数为表征流量突发性的自相似系数H,H取值范围为[0.5,1]。因此,参数α与H系数的关系为α=3-2H可满足α取值范围要求。\n不同应用对丢包率的要求不同。在无线局域网中,需要对具有不同优先级属性的缓冲队列采用不同的丢包策略。IEEE 802.11e或IEEE 802.11n标准中对丢包率策略未作规定,但支持区分优先级的丢包率是QoS保证的应有之意。为了在无线局域网中支持丢包率区分,本发明提供的缓冲队列管理方法采用队列长度和流量速率为拥塞度量,可以更加准确的评估网络拥塞程度,并在此基础上,按照缓存队列的优先级不同,为各队列计算不同的丢包概率,实现不同优先级的随机丢包,从而达到区分丢包率的目的。\n发明内容\n本发明提供一种用于无线局域网的缓冲队列管理方法,以期达到按照缓冲队列优先级不同实现区分丢包率的目的。\n为实现这一目标,本发明公开了一种利用瞬时队列长度和流量速率估计值作为拥塞度量的缓冲队列管理方法,本发明包括一个流量速率估计方法,一个区分优先级丢包概率计算方法。其中:\n所述流量速率估计方法由驱动软件实现,该方法根据网络流量的长相关特性和当前测得的流量速率瞬时值估计下一时刻的流量速率。\n所述区分优先级丢包概率计算方法,该方法根据到达数据包的优先级和期望队列长度,计算得到AC(Access Category)缓冲队列的丢包概率,并根据丢包概率随机丢弃到达缓冲队列的数据包。\n本发明的特征依次包括如下步骤:\n(1)驱动软件判断当前事件或中断类型。如果是上层数据包到达,根据IP包的DSCP值或IEEE 802.11e协议规定的数据包优先级,将数据包放入相应AC缓冲队列,AC缓冲队列由驱动软件生成并维护,数据包优先级到AC的映射关系由协议定义;\n(2)驱动软件按照公式(1)估计流量速率,并保存估计结果。\n\n公式(1)中,R(t)为当前时刻测量得到的流量速率,为下一时刻估计的流量速率,Ts为采样间隔,l为当前到达数据包长度,H为表征流量突发性的自相似系数,该系数由已知R/S估计、Whittle估计等成熟方法得到。\n(3)与数据包优先级对应的AC缓冲队列瞬时长度变量加1,该变量在每一数据包到达时加1。\n(4)驱动软件按照公式(2)计算与数据包优先级对应的AC缓冲队列期望队列长度,该期望队列长度是本发明提供的缓冲队列管理方法期望控制的队列长度,即AC缓冲队列长度不能超过该期望队列长度。\n\n公式(2)中,ACI为各AC对应的序号,AC_VO为0,AC_VI为1,AC_BE为2,AC_BK为3;Qopt为与ACI对应的AC缓冲队列期望队列长度;max_threshold为最大队列长度阈值,该阈值由上层管理软件设置;min_threshold为最小队列长度阈值,该阈值由上层管理软件设置;\n(5)比较AC缓冲队列瞬时队列长度与min_threshold。如果AC缓冲队列瞬时队列长度小于min_threshold,说明此时拥塞尚未发生,当前到达数据包可进入AC缓冲队列等待发送;否则,转步骤(6)。\n(6)比较AC缓冲队列瞬时队列长度与Qopt,该阈值由上层管理软件设置。如果AC缓冲队列瞬时队列长度大于Qopt,说明此时拥塞严重,直接将当前到达数据包删除;否则,转步骤(7)。\n(7)AC缓冲队列瞬时队列长度介于min_threshold和Qopt之间,说明此时拥塞征兆已经出现,但尚未达到十分严重的程度,驱动软件应执行随机丢包。驱动软件按照公式(3)计算随机丢包概率:\n\n公式(3)中,p(t+1)为下一时刻t+l计算得到的随机丢包概率,为下一时刻t+l估计得到的流量速率,Ts为采样间隔,C为出链路发送数据包长度,其中C=V×Ts,V为调度算法分配的服务量,等效于驱动软件可达到的最大吞吐量,Q(t)为当前时刻t的AC缓冲队列瞬时队列长度。\n(8)驱动软件计算0到1之间均匀分布的伪随机数,伪随机数可采用线性同余等已知成熟方法得到。如果计算得到伪随机数大于p(t+1),则将当前达到数据包丢弃,并转步骤(9);如果计算得到伪随机数小于p(t+1),则将当前达到数据包插入AC缓冲队列,并转步骤(9);如果计算得到伪随机数等于p(t+1),则重复步骤(8)。\n(9)等待下一数据包到达,重复上述步骤。\n附图说明\n图1是一种用于无线局域网的缓冲队列管理方法结构图。本方法包括一个流量速率估计方法,一个区分优先级丢包概率计算方法。其他以虚线表示的模块为已有成熟方法。\n图2为在图1基础上实现的随机丢包过程图示。\n图3为根据本发明中提供的流量速率估计方法,采用OPNET网络仿真工具建模仿真得到的结果。该图为本发明中提供的流量速率估计方法的估计结果与实际到达流量速率的比较,可以看到估计结果与实际速率较为接近。该采样结果经过时间平均处理。\n具体实施方式\n以下结合附图,具体说明本发明。\n本发明提供一种用于无线局域网的缓冲队列管理方法,以期达到按照缓冲队列优先级不同实现区分丢包率的目的。本发明包括一个流量速率估计方法,一个区分优先级丢包概率计算方法。其中:\n所述流量速率估计方法由驱动软件实现,该方法根据网络流量的长相关特性和当前测得的流量速率瞬时值估计下一时刻的流量速率。\n所述区分优先级丢包概率计算方法,该方法根据到达数据包的优先级和期望队列长度,计算得到AC缓冲队列的丢包概率,并根据丢包概率随机丢弃到达缓冲队列的数据包。\n图1为本发明提供的一种用于无线局域网的缓冲队列管理方法结构图。从上层应用到达或由驱动软件产生的数据包具有由上层应用给定的、或由IEEE 802.11e协议规定的优先级参数。优先级参数共有AC_VO(语音)、AC_VI(视频)、AC_BE(尽力而为)、AC_BK(背景)四个值,优先级依次降低。\n数据包到达驱动软件后,按照所属优先级或其他数据包特征,经分类器分类后送入各自对应的AC缓冲队列。此时,利用本发明中提供的流量速率估计方法,估计流量的到达速率。\n根据本发明中提供的流量速率估计方法,采用OPNET网络仿真工具建模仿真得到的结果如图3所示。图3为经过时间平均处理的仿真结果采样值。由图中可知,本发明中提供的流量速率估计方法的估计值能以较快的速度收敛于实际速率,过调量较小,稳态误差也较小。原因在于本发明中提供的流量速率估计方法利用了自相似流量中的长相关信息,能够根据流量自相似系数预测未来一段时间内的流量速率,因而能得到流量的准确估计。\n获得流量速率估计值后,结合驱动软件维护的AC缓冲队列瞬时长度变量可执行本发明提供的区分优先级丢包概率计算方法,图2为通过本方法执行数据包随机丢弃的过程图示。具体步骤如下:\n(1)驱动软件判断当前事件或中断类型。如果是上层数据包到达,根据IP包的DSCP值或IEEE 802.11e协议规定的数据包优先级,将数据包放入相应AC缓冲队列,AC缓冲队列由驱动软件生成并维护,数据包优先级到AC的映射关系由协议定义;\n(2)驱动软件按照公式(1)估计流量速率,并保存估计结果。\n\n公式(1)中,R(t-1)为前一时刻t-1测量得到的流量速率,为当前时刻t估计的流量速率,Ts为采样间隔,l为当前到达数据包长度,H为表征流量突发性的自相似系数,该系数由已知R/S估计、whittle估计等成熟方法得到。\n(3)与数据包优先级对应的AC缓冲队列瞬时长度变量加1,该变量在每一数据包到达时加1。\n(4)驱动软件按照公式(2)计算与数据包优先级对应的AC缓冲队列期望队列长度,该期望队列长度是本发明提供的缓冲队列管理方法期望控制的队列长度,即AC缓冲队列长度不能超过该期望队列长度。\n\n公式(2)中,ACI为各AC对应的序号,AC_VO为0,AC_VI为1,AC_BE为2,AC_BK为3;Qopt为与ACI对应的AC缓冲队列期望队列长度;max_threshold为最大队列长度阈值,该阈值由上层管理软件设置;min_threshold为最小队列长度阈值,该阈值由上层管理软件设置;\n(5)比较AC缓冲队列瞬时队列长度与min_threshold。如果AC缓冲队列瞬时队列长度小于min_threshold,说明此时拥塞尚未发生,当前到达数据包可进入AC缓冲队列等待发送;否则,转步骤(6)。\n(6)比较AC缓冲队列瞬时队列长度与Qopt,该阈值由上层管理软件设置。如果AC缓冲队列瞬时队列长度大于Qopt,说明此时拥塞严重,直接将当前到达数据包删除;转步骤(7)。\n(7)AC缓冲队列瞬时队列长度介于min_threshold和Qopt之间,说明此时拥塞征兆已经出现,但尚未达到十分严重的程度,驱动软件应执行随机丢包。驱动软件按照公式(3)计算随机丢包概率:\n\n公式(3)中,p(t+1)为下一时刻t+1计算得到的随机丢包概率,为下一时刻t+1估计得到的流量速率,Ts为采样间隔,C为出链路发送数据包长度,其中C=V×Ts,V为调度算法分配的服务量,等效于驱动软件可达到的最大吞吐量,Q(t)为当前时刻t的AC缓冲队列瞬时队列长度。\n(8)驱动软件计算0到1之间均匀分布的伪随机数,伪随机数可采用线性同余等已知成熟方法得到。如果计算得到伪随机数大于p(t+1),则将当前达到数据包丢弃,并转步骤(9);如果计算得到伪随机数小于p(t+1),则将当前达到数据包插入AC缓冲队列,并转步骤(9);如果计算得到伪随机数等于p(t+1),则重复步骤(8)。\n(9)等待下一数据包到达,重复上述步骤。\n本发明具有以下优点:\n(1)使用本发明提供的缓冲队列管理方法能够正确实现不同优先级应用的丢包率区分。\n(2)使用本发明提供的缓冲队列管理方法可准确预测AC缓冲队列的拥塞状况,在拥塞程度达到十分严重的程度前通知发送方,从而缓解网络拥塞。\n以上公开的仅为本发明的几个具体实施例,但本发明的保护范围并不局限于此,任何本领域的技术人员能思之的变化都应落在本发明的保护范围内。
法律信息
- 2015-10-28
专利权人的姓名或者名称、地址的变更
专利权人由北京中电华大电子设计有限责任公司变更为北京中电华大电子设计有限责任公司
地址由100102 北京市朝阳区利泽中二路2号望京科技创业园A座五层变更为102209 北京市昌平区北七家未来科技城南区中国电子网络安全和信息化产业基地C栋
- 2010-12-08
- 2009-06-17
- 2009-04-22
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |