一种用于无线局域网的数据包调度发送装置的制作方法

文档序号:7656207阅读:128来源:国知局
专利名称:一种用于无线局域网的数据包调度发送装置的制作方法
技术领域
本发明涉及无线网络通信领域的一种数据包调度发送装置,尤其涉及一种利用数据包调 度器实现IEEE 802.1 le或IEEE 802.1 ln协议中数据包调度和发送的硬件部件。
背景技术
为了支持有延迟约束的应用,在无线局域网中,需要将具有不同优先级属性的数据包按 不同优先级顺序调度发送,这个规程称为数据包调度。每个数据包可以是四个优先级中的一 个。数据包的优先级从IP包头中的DSCP域值映射得到或根据IEEE 802.11e协议规定得到。
对于发送方,需要从四个优先级队列中取出一个数据包进行发送。IEEE 802.11e协议规定, 应该为所有具有缓存数据的优先级队列执行退避过程。当其中任意一个退避过程结束,则取 出相应优先级队列中的数据包发送。这是一个虚拟调度的过程,即,虽然没有调度器实体, 但多个退避过程并行执行实际上起到了调度器的作用。
在一个STA发送数据包的过程中,由于上层应用并行执行,因此,属于不同优先级应用 的数据包可能同时要求发送。在没有硬件约束的情况下,发送硬件电路可以为每个新到达的 数据包建立并维护一个存储结构,直到该数据包完整发送。
不同优先级应用的数据包同时要求发送将引起退避过程并行执行。退避过程并行执行的 过程中,有可能出现多个退避过程同时退避完成的情况,即内部冲突。这时,根据正EE 802.11e 协议规定,完成退避的退避过程应相互通知,并重新执行退避过程。这将导致退避过程的复 杂化。图l显示了使用这一方法的硬件装置。
由于硬件部件在存储容量、芯片面积和复杂度方面的限制,上述实现方法硬件成本高, 因此迫切需要使用一种技术能在软件中实现符合IEEE 802.11e协议规定的数据包调度器,并实 现延迟的优先级区分,减小硬件开销。

发明内容
本发明提供一种实现IEEE 802.1 le或IEEE 802.1 ln无线局域网数据包调度发送的方法和 装置,以期达到以尽可能小的硬件成本和复杂度实现延迟的优先级区分功能,同时支持并行 退避内部冲突的处理。
为实现这一目标,本发明公开了一种利用优先级区分机制实现数据包调度发送的方法和 装置,本发明包括一个数据包调度器、 一个硬件退避电路、 一个发送缓冲区描述符TxBD。其 中
所述数据包调度器由驱动软件实现,按照正EE802.11e协议规定,根据优先级发送队列的 优先级不同,为各优先级队列分配不同参数,包括竞争窗口最大值、竞争窗口最小值和仲裁 帧间间隔数AIFSN。数据包调度器根据上述参数,分别为各优先级队列计算伪随机整数和 AIFSN的和值,并确定和值最小的相应队列作为被数据包调度器选中队列,取该队列队首数 据包作为待发送数据包,送至硬件发送缓冲区TxBuff。
所述硬件退避电路,位于硬件部件中,用于根据数据包调度器计算得到的伪随机整数和 AIFSN的和值,计算得到退避时间,并根据退避时间执行退避过程。
所述发送缓冲区描述符TxBD,记录了被数据包调度器选中队列的优先级、与该队列关联 的伪随机整数值与AIFSN的和值、待发送数据包内存地址。
本发明的特征依次包括如下步骤
(1) 驱动软件接收到数据包后,根据IP包的DSCP值或IEEE 802.11e协议规定的数 据包优先级,将数据包放入相应优先级发送队列,优先级发送队列由驱动软件生 成并维护;
(2) 驱动软件判断当前事件或中断类型。如果是上层数据包到达,或硬件发送结束, 则由驱动软件为所有不为空的优先级发送队列计算伪随机整数,并将伪随机整数 计算结果与AIFSN相加得到和值,然后将和值写入发送缓冲区描述符TxBD;
(3) 驱动软件维护的数据包调度器判断是否有多个优先级队列对应的和值为相同值。 若是,表明此时发生内部冲突,按照正EE 802.11e协议规定,发生内部冲突后, 冲突优先级队列竞争窗口按公式(1)指数增长,然后转步骤(2);否则转步骤(4)。<formula>formula see original document page 6</formula>(1)
公式(1)中C『("为f时刻竞争窗口大小,Cp-"为时刻竞争窗口大小。
(4) 驱动软件维护的数据包调度器选择和值最小的优先级发送队列作为选中队列,并 取出该队列的队首数据包作为待发送数据包,通过总线Master设备搬移到硬件发 送缓冲区TxBuff;
(5) 硬件退避电路根据发送缓冲区描述符TxBD中的伪随机整数与AIFSN和值,按
照公式(2)计算退避时间,并以该时间值执行退避过程;
<formula>formula see original document page 7</formula>
公式(2)中&m为数据包调度器计算的伪随机整数和仲裁帧间间隔数AIFSN的 和值,aS/o^7附e为协议规定的每时隙时间长度,万adoim'me为退避时间。当数 据包调度器已选择发送队列,则将退避请求(Backoff一Req)信号置为有效。在退 避请求信号有效且时隙计数等于退避时间时,判断信道空闲指示(Channel—idle) 信号是否有效。若有效,则说明此时退避完成,可以发送数据包,将退避完成输 出信号Backoff—Done置为有效。
(6) 检测信道忙闲状态。如果信道忙,则挂起当前退避过程;否则转步骤(7);
(7) 退避时间值随时间递减,当退避时间递减到零,将硬件发送缓存区TxBuff中的 数据包添加MAC头并发送;
(8) 若发送硬件装置检测到重传,则发送硬件装置将当前重传计数累计值回写发送缓 存区描述符TxBD重传计数(Retry Count)字段。若重传计数值不为0,则驱动 软件根据公式(1)更新竞争窗口,否则转步骤(9);
(9) 重复上述过程,直到优先级发送队列中的数据包发送完毕或达到发送机会TXOP 最大时间限制。


图1是一种实现IEEE 802.1 le数据包虚拟调度的装置结构示意图;该装置具有四个优先级 发送队列、四个硬件发送缓冲区TxBuff、四个硬件退避电路,没有调度器实体。
图2为在图1基础上实现的一种改进的数据包调度发送的装置结构示意图;该装置具有一 个软件实现的数据包调度器、四个优先级发送队列、 一个硬件发送缓冲区TxBuff、 一个硬件 退避电路。
图3为本发明中提供的数据包调度器结构示意图。 图4为本发明中提供的硬件退避电路结构示意图。
图5为根据本发明中提供的数据包调度发送装置结构,采用OPNET网络仿真工具建模仿 真得到的结果。该图为由仿真模型运行结果采样到的不同优先级数据包接入信道延迟。该采 样结果经过时间平均处理。
具体实施例方式
以下结合附图,具体说明本发明。
本发明公开了一种实现IEEE 802.11e或正EE 802.11n无线局域网数据包调度发送的方法 和硬件部件,部件包括一个数据包调度器、 一个硬件退避电路、 一个发送缓冲区描述符TxBD。 其中
所述数据包调度器由驱动软件实现,按照正EE802.11e协议规定,根据优先级发送队列的 优先级不同,为各优先级队列分配不同参数,包括竞争窗口最大值、竞争窗口最小值和仲裁 帧间间隔数AIFSN。数据包调度器根据上述参数,分别为各优先级队列计算伪随机整数和 AIFSN的和值,并确定和值最小的相应队列作为被数据包调度器选中队列,取该队列队首数 据包作为待发送数据包,送至硬件发送缓冲区TxBuff。
所述硬件退避电路,位于硬件部件中,用于根据数据包调度器计算得到的伪随机整数和 AIFSN的和值,计算得到退避时间,并根据退避时间执行退避过程。
所述发送缓冲区描述符TxBD,记录了被数据包调度器选中队列的优先级、与该队列关联 的伪随机整数值与AIFSN的和值、待发送数据包内存地址。
图2为本发明利用上述结构设置的实现数据包调度和发送功能的软、硬件部件结构示意图。
如图2所示,从上层应用到达或由驱动软件产生的数据包具有由上层应用给定的、或由 IEEE 802.1 le协议规定的优先级参数。优先级参数共有AC—VO (语音)、AC—VI (视频)、 AC_BE (尽力而为)、AC—BK (背景)四个值,优先级依次降低。
数据包按照所属优先级送入各自对应的优先级发送队列。当至少一个优先级发送队列不 为空时,执行本发明提供的数据包调度器。图3显示了通过数据包调度器选择待发送队列和待 发送数据包并实现发送功能,具体步骤如下
(1) 驱动软件接收到数据包后,根据IP包的DSCP值或IEEE802.11e协议规定的 MMPDU优先级,将数据包放入相应优先级发送队列,优先级发送队列由驱动软件生成 并维护;
(2) 驱动软件判断当前事件或中断类型。如果是上层数据包到达,或硬件发送结束, 按照IEEE802. lle协议规定,根据优先级发送队列的优先级不同,为各优先级队列分配 不同参数,包括竞争窗口最大值、竞争窗口最小值和仲裁帧间间隔数AIFSN,然后为所 有不为空的优先级发送队列计算伪随机整数Randl、 Rand2、 Rand3、 Rand4。伪随机整
数在从O到各优先级对应的竞争窗口内均匀分布。优先级对应竞争窗口的最大值和最小 值范围各不相同。对于优先级VO,竞争窗口范围的最大值和最小值为(aCWmin+l)/2-l 至lJ(aCWmin+l)/4 - 1;对于优先级VI,竞争窗口范围的最大值和最小值为aCWmin到 (aCWmin+l)/2 - 1;对于优先级BE、 BK,竞争窗口范围的最大值和最小值相同,为 aCWmax到aCWmin。 aCWmax和aCWmin为正EE 802.11协议规定的物理层参数,用 于表征竞争窗口的最大值和最小值,例如,对于正EE 802.11a/n, 二者分别为15和1023。 将伪随机整数计算结果与AIFSN相加得到和值sum,将和值sum写入发送缓冲区描述 符TxBD的Sum域中;
(3) 驱动软件维护的数据包调度器判断是否有多个优先级队列对应的和值sum为相同 值。若是,表明此时发生内部冲突,按照正EE 802.11e协议规定,发生内部冲突后, 冲突优先级队列竞争窗口按照公式(1)指数增长,然后转步骤(2);否则转步骤(4);
(4) 驱动软件维护的数据包调度器选择和值最小的优先级发送队列作为待发送队列, 该队列的队首数据包作为待发送数据包,并将待发送数据包内存地址写入发送缓冲区 描述符TxBD帧地址(Frame Address)字段,通过总线Master设备搬移到硬件发送缓冲 区TxBuff;
(5) 硬件退避电路根据发送缓冲区描述符TxBD中的伪随机整数与AIFSN和值Sum, 按照公式(2)计算退避时间,并以该时间值执行退避过程。硬件退避电路结构示意图 见图4。当数据包调度器已选择发送队列,则将退避请求(BaCk0ff_Req)信号置为有效。 在退避请求信号有效且时隙计数等于退避时间时,判断信道空闲指示(Channel—idle) 信号是否有效。若有效,则说明此时退避完成,可以发送数据包,将退避完成输出信号 Backoff_Done置为有效;
(6) 检测信道忙闲状态。如果信道忙,则挂起当前退避过程;否则转步骤(7);
(7) 退避时间值随时间递减,当退避时间递减到零,将硬件发送缓冲区TxBuff中的数
据包添加MAC头并发送;
(8) 若发送硬件装置检测到重传,则发送硬件装置将当前重传计数累计值回写TxBD 重传计数(Retry Count)字段。若重传计数值不为0,则驱动软件根据公式(1)更新竞 争窗口;否则转步骤(9);
(9) 重复上述过程,直到优先级发送队列中的数据包发送完毕或达到发送机会TXOP
最大时间限制。 本发明具有以下优点
(1) 本方法中涉及的硬件发送缓冲区TxBuff只有l个,占用存储空间小,硬件成本增 加少;方法中计算简单,复杂度低,能够在较小的成本和复杂度下实现重组功能;
(2) 使用本发明提供的数据包调度器,能够正确实现不同优先级应用的延迟区分。
根据本发明中提供的数据包调度发送装置结构,采用OPNET建模仿真得到的数据包接 入信道延迟仿真结果如图5所示。图5为经过时间平均处理的仿真结果采样值。VO优先级 应用的接入信道延迟为0.0176秒,VI优先级应用的接入信道延迟为0.0286秒,,BE优先级 应用的接入信道延迟为0.0592秒,BK优先级应用的接入信道延迟为0.0640秒。因此,图5 表明,本发明中提供的数据包调度发送装置结构,能够实现正EE 802.11e协议规定的优先级 延迟区分功能。
以上公开的仅为本发明的几个具体实施例,但本发明的保护范围并不局限于此,任何本 领域的技术人员能思之的变化都应落在本发明的保护范围内。
权利要求
1、一种用于无线局域网的数据包调度发送装置,其特征在于,包括一个数据包调度器、一个硬件退避电路、一个发送缓冲区描述符TxBD,其中所述数据包调度器由驱动软件实现,按照IEEE802.11e协议规定,根据优先级发送队列的优先级不同,为各优先级队列分配不同参数,数据包调度器据此在各发送队列中选择待发送队列,取该队列队首数据包作为待发送数据包,送至硬件发送缓冲区TxBuff;所述硬件退避电路,位于硬件部件中,用于根据数据包调度器计算得到的伪随机整数和AIFSN的和值,计算得到退避时间,并根据退避时间执行退避过程;所述发送缓冲区描述符TxBD,记录了被数据包调度器选中队列的优先级、与该队列关联的伪随机整数值与AIFSN的和值、待发送数据包内存地址。
2、 如权利要求l所述的一种用于无线局域网的数据包调度发送装置,其特征在于,所述 发送缓冲区描述符TxBD字段包括和值(Sum)字段,用于记录由数据包调度器计算的伪随机整数和仲裁帧间间隔数AIFSN 的和值;优先级(Priority)字段,用于记录由数据包调度器选择的待发送队列的优先级; 帧地址(Frame Address)字段,用于记录由数据包调度器选择的待发送数据包的内存地址;重传次数(Retry Count)字段,用于记录由硬件发送电路检测到的帧重传次数。
3、 如权利要求l所述的一种用于无线局域网的数据包调度发送装置,其特征在于,所述 硬件退避电路执行退避过程所依据的退避时间由权利要求2所述发送缓冲区描述符TxBD的 和值(Sum)字段与时隙时间相乘得到,硬件退避电路对外接口信号包括信道空闲指示(Channel—idle)信号,输入信号,用于指示当前信道状态是否空闲; 和值(Sum)信号,输入信号,用于指示权利要求2所述发送缓冲区描述符TxBD的和 值(Sum)字段值;时隙计数(Tslot)信号,输入信号,用于指示当前累计的时隙数;退避请求(Backoff_Req)信号,输入信号,用于指示是否可以启动退避功能;退避完成(Backoff—Done)信号,输出信号,用于指示退避是否完成。
4、 如权利要求l所述的一种用于无线局域网的数据包调度发送装置,其特征在于,所述数据包调度器,根据优先级发送队列的优先级不同,为各优先级队列分配不同参数,包括竞争窗口最大值、竞争窗口最小值和AIFSN,数据包调度器根据上述参数,分别为各优先级队列计算伪随机整数和AIFSN的和值,并确定和值最小的相应队列作为被数据包调度器选中队列,取该队列队首数据包作为待发送数据包,送至硬件发送缓冲区TxBuff。
5、 如权利要求1或4所述的一种用于无线局域网的数据包调度发送装置,用于调度从上 层应用输入的数据包,输出满足IEEE 802.11e协议区分延迟要求的数据包,其特征在于所述 数据包调度器的实现包括以下步骤(1) 驱动软件接收到数据包后,根据IP包的DSCP值或IEEE 802.11e协议规定的其他 数据包优先级,将数据包放入相应优先级发送队列;(2) 驱动软件判断当前事件或中断类型,如果是上层数据包到达,或硬件发送结束, 则为所有不为空的优先级发送队列计算伪随机整数,并将伪随机整数计算结果与AIFSN 相加得到和值,将和值写入发送缓冲区描述符TxBD和值(Sum)字段;(3) 判断是否有多个优先级队列对应的和值为相同值,若是,表明此时发生内部冲突, 按照IEEE 802.11e协议规定,发生内部冲突后,冲突优先级队列的竞争窗口按下式(1) 指数增长,然后转(2);否则转(4);C, = (C『"-l) + l)x2-1 (1)(4) 数据包调度器选择和值最小的优先级发送队列作为待发送队列,该队列的队首数 据包作为待发送数据包,并将待发送数据包内存地址写入TxBD帧地址(Frame Address) 字段,通过总线Master设备搬移到硬件发送缓冲区TxBuff;(5) 硬件退避电路根据发送缓冲区描述符TxBD中的伪随机整数与AIFSN和值,按照 公式(2)计算退避时间,并以该时间值执行退避过程;5"cA:q^77me = 5V/m x a57(^77we (2)(6) 检测信道忙闲状态,如果信道忙,则挂起当前退避过程;否则转(7);(7) 退避时间值随时间递减,当退避时间递减到零,将硬件发送缓冲区TxBuff中的数据包添加MAC头并发送;(8) 若发送硬件装置检测到重传,则发送硬件装置将当前重传计数累计值回写TxBD 重传计数(RetryCoimt)字段;若重传计数值不为0,则驱动软件根据公式(1)更新竞 争窗口;否则转(9);(9) 重复上述过程,直到优先级发送队列中的数据包发送完毕或达到发送机会TXOP 最大时间限制。
6、 如权利要求1或5所述的一种用于无线局域网的数据包调度发送装置,其特征在于, 步骤(2)进一步包括(1)为所有不为空的优先级发送队列计算伪随机整数。伪随机整数在从0到各优先级 对应的竞争窗口内均匀分布;(2)不同优先级对应竞争窗口的最大值和最小值范围各不相同。对于优先级VO(语音), 竞争窗口范围的最大值和最小值为(aCWmin+l)/2 - 1至l」(aCWmin+l)/4 - 1;对于优先级 VI (视频),竞争窗口范围的最大值和最小值范围为aCWmin到aCWmin+l)/2-1;对于 优先级BE(尽力而为)、BK(背景),竞争窗口范围的最大值和最小值相同,为aCWmax 到aCWmin; aCWmax和aCWmin为正EE 802.1 le规定的物理层参数。
全文摘要
本发明提供一种用于无线局域网的数据包调度发送装置。在无线局域网中,为了实现不同优先级应用的延迟区分,需要采用数据包调度发送装置实现数据包的调度和发送。由于上层应用的发送过程并行执行,在同一时刻可能有多个队列缓存有数据包要求发送,硬件发送电路必须在所有队列中选择某个队列作为待发送队列,并将该队列队首数据包作为待发送数据包。本发明提供的数据包调度发送方法和硬件部件就是实现这一功能的装置。本发明主要包含一个数据包调度器、一个硬件退避电路和一个发送缓冲区描述符TxBD。采用本发明提供的装置,可以实现无线局域网标准要求的信道访问规程,以及不同优先级应用的延迟区分。
文档编号H04L29/06GK101394334SQ200710121990
公开日2009年3月25日 申请日期2007年9月19日 优先权日2007年9月19日
发明者岩 汪 申请人:北京中电华大电子设计有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1