调整最大报文长度的方法及装置的制作方法

文档序号:7753932阅读:357来源:国知局
专利名称:调整最大报文长度的方法及装置的制作方法
技术领域
本发明涉及报文聚合技术领域,具体涉及调整汇聚介质接入控制协议数据单元 (A-MPDU,Aggregate MAC Protocol Data Unit)最大报文长度的方法及装置。
背景技术
为了提高吞吐量,电气和电子工程师协会(IEEE,Institute of Electrical and Electronics Engineers)802. Iln 对 802. 11 的介质接入控制(MAC,Medium Access Control)层进行了一系列的改进,汇聚MAC协议数据单元(A-MPDU,Aggregate MAC Protocol Data Unit)收发就是其中之一。A-MPDU技术将多个MPDU报文汇聚成一个A-MPDU报文进行发送。图1为A-MPDU 报文的结构示意图,如图1所示,A-MPDU报文只使用一个物理层(PHY)头,A-MPDU报文发送时只需抢占一次信道,有效提高了信道利用率。同时,A-MPDU报文中各MPDU的发送间隔最小可以为0,A-MPDU报文中所有MPDU使用一个块确认(BA,Block Ack)报文进行确认,极大地降低了协议的额外开销。理论研究表明在无干扰环境下,32个MPDU汇聚成一个A-MPDU 的发送性能是单MPDU逐个发送性能的6-7倍。按照协议规定,发送A-MPDU报文前收发双方会协商出A-MPDU包含的最大MPDU 数、A-MPDU最大报文长度等能力集参数。在无信道干扰时,根据能力集参数限制尽量多地汇聚缓存内的MPDU、同时使得A-MPDU报文长度尽量大,以提高发送吞吐量。但在实际应用中,信道中往往存在各种各样的干扰,信道不太可能非常纯净,干扰会导致某些比特位发送失败,从而导致整个MPDU校验和错误而不得不重传,因此在传统的IEEE802. 1 la/b/g中,为了降低MPDU重传概率和开销,在电磁环境较差时往往采用分片方式降低每次发送数据包的长度。A-MPDU报文往往是单MPDU报文长度的数倍乃至数十倍,干扰的存在导致A-MPDU 中的某些MPDU因发送失败而重传,甚至有时某些MPDU还需要进行多次重传。这些重传的 MPDU不仅浪费了信道资源,而且还会造成系统的软硬件额外开销。在信道存在干扰的情况下,并非A-MPDU报文长度越大吞吐量就越大,而是在特定干扰情况下存在最优A-MPDU报文长度。现有技术中,根据协议规定在建立BA机制时,收发双方通过协商约定双方的 A-MPDU最大报文长度和最大汇聚MPDU数。在发送数据时按照该两个限制,将发送缓存内的 MPDU尽量多地汇聚为一个A-MPDU进行发送。现有技术的缺点是由于信道干扰的存在,每次发送的A-MPDU报文长度并非最优结果,导致系统吞吐量无法达到最大;由于A-MPDU报文比较大、汇聚的MPDU数比较多,从而受到干扰后重传MPDU也比较多,导致信道资源被浪费,且由于每次进行汇聚和重传都需要耗费系统资源,导致系统软硬件资源被浪费。

发明内容
本发明提供调整最大报文长度的方法及装置,以提高A-MPDU报文收发系统吞吐量。本发明的技术方案是这样实现的一种调整最大报文长度的方法,预先设置错包率容忍上限和错包率容忍下限,其中,错包率容忍上限<错包率容忍下限,该方法包括发送方根据当前汇聚介质接入控制协议数据单元A-MPDU最大报文长度,对发送缓存内的MPDU进行汇聚,得到A-MPDU报文;发送方发送A-MPUD报文,发送完毕,统计该报文的错包率,当所述错包率小于错包率容忍上限时,增大当前A-MPDU最大报文长度;当所述错包率大于错包率容忍下限时, 减少当前A-MPUD最大报文长度;否则,保持当前A-MPDU最大报文长度不变。所述统计该报文的错包率之后进一步包括计算a与所述错包率的乘积,同时计算Ι-a与上一个A-MPDU报文的更新后的错包率的乘积;将该两乘积相加,以所得和值更新所述错包率,其中,a为预设常数,且0 < a < 0. 5 ;且所述错包率小于错包率容忍上限为更新后的错包率小于错包率容忍上限;所述错包率大于错包率容忍下限为更新后的错包率大于错包率容忍下限。所述增大当前A-MPDU最大报文长度包括计算错包率容忍上限与更新后的所述错包率的差值,将该差值除以更新后的所述错包率,将所得商值乘以预设A-MPDU最大报文长度向上调整步长,将所得乘积与当前 A-MPDU最大报文长度相加,得到更新后的当前A-MPDU最大报文长度。所述得到更新后的当前A-MPDU最大报文长度之后进一步包括判断更新后的当前A-MPDU最大报文长度是否大于收发双发协商得到的A-MPDU最大报文长度,若是,将收发双发协商得到的A-MPDU最大报文长度作为更新后的当前A-MPDU 最大报文长度。所述减少当前A-MPDU最大报文长度包括计算更新后的所述错包率与错包率容忍下限的差值,将该差值除以更新后的所述错包率,将所得商值乘以预设A-MPDU最大报文长度向下调整步长,将当前A-MPDU最大报文长度减去所得乘积,得到更新后的当前A-MPDU最大报文长度。所述发送方根据当前A-MPDU最大报文长度,对发送缓存内的MPDU进行汇聚之前进一步包括预设A-MPDU最大报文长度下限;所述得到更新后的当前A-MPDU最大报文长度之后进一步包括判断更新后的当前A-MPDU最大报文长度是否小于A-MPDU最大报文长度下限,若是,将A-MPDU最大报文长度下限作为更新后的当前A-MPDU最大报文长度。所述发送方根据当前A-MPDU最大报文长度,对发送缓存内的MPDU进行汇聚之前进一步包括预设A-MPDU最大报文长度下限;且,将0与错包率容忍上限之间的范围划分为多个向上调整区间,按照各个区间取值的从小到大,以由大到小的顺序为每个区间设置一个 A-MPDU最大报文长度,且为每个区间设置的A-MPDU最大报文长度小于收发双方协商得到的A-MPDU最大报文长度、大于A-MPDU最大报文长度下限;
所述增大当前A-MPDU最大报文长度为确定所述错包率所在的向上调整区间,将为该区间设置的A-MPDU最大报文长度作为更新后的当前A-MPDU最大报文长度。所述发送方根据当前A-MPDU最大报文长度,对发送缓存内的MPDU进行汇聚之前进一步包括预设A-MPDU最大报文长度下限;且,将错包率容忍下限与100%之间的范围划分为多个向下调整区间,按照各个区间取值的从小到大,以由大到小的顺序为每个区间设置一个A-MPDU最大报文长度,且为每个区间设置的A-MPDU最大报文长度小于收发双方协商得到的A-MPDU最大报文长度、大于A-MPDU最大报文长度下限;所述减少当前A-MPDU最大报文长度为确定所述错包率所在的向下调整区间,将为该区间设置的A-MPDU最大报文长度作为更新后的当前A-MPDU最大报文长度。一种调整最大报文长度的装置,该装置包括MPDU发送缓存模块,缓存等待发送的MPDU ;MPDU汇聚模块,从A-MPDU最大报文长度调整模块获取当前A-MPDU最大报文长度, 根据当前A-MPDU最大报文长度,对MPDU发送缓存内的MPDU进行汇聚,得到A-MPDU报文;A-MPDU最大报文长度调整模块,接收当前A-MPDU报文的错包率,当所述错包率小于错包率容忍上限时,增大当前A-MPDU最大报文长度;当所述错包率大于错包率容忍下限时,减少当前A-MPUD最大报文长度;否则,保持当前A-MPDU最大报文长度不变。所述A-MPDU最大报文长度调整模块包括错包率更新模块,接收物理层单元发来的当前A-MPDU报文的错包率,根据上一个 A-MPDU报文更新后的错包率,更新当前A-MPDU报文的错包率,将更新后的当前A-MPDU报文的错包率发送给A-MPDU最大报文长度更新模块;A-MPDU最大报文长度更新模块,接收错包率更新模块发来的当前A-MPDU报文的错包率,当所述错包率小于错包率容忍上限时,增大当前A-MPDU最大报文长度;当所述错包率大于错包率容忍下限时,减少当前A-MPUD最大报文长度;否则,保持当前A-MPDU最大报文长度不变。所述A-MPDU最大报文长度更新模块包括比较模块,接收当前A-MPDU报文的错包率,当所述错包率小于错包率容忍上限时,向向上调整模块发送携带当前A-MPDU报文的错包率的调整指示;当所述错包率大于错包率容忍下限时,向向下调整模块发送携带当前A-MPDU报文的错包率的调整指示;向上调整模块,接收调整指示,计算错包率容忍上限与调整指示携带的错包率的差值,将该差值除以所述错包率,将所得商值乘以预设A-MPDU最大报文长度向上调整步长,将所得乘积与A-MPDU最大报文长度存储模块中的A-MPDU最大报文长度相加,以所得和值更新A-MPDU最大报文长度存储模块中的A-MPDU最大报文长度;向下调整模块,接收调整指示,计算调整指示携带的错包率与错包率容忍下限的差值,将该差值除以所述错包率,将所得商值乘以预设A-MPDU最大报文长度向下调整步长,将A-MPDU最大报文长度存储模块存储的A-MPDU最大报文长度减去所得乘积,以所得差值更新A-MPDU最大报文长度存储模块中的A-MPDU最大报文长度;A-MPDU最大报文长度存储模块,存储A-MPDU最大报文长度。所述A-MPDU最大报文长度调整模块进一步用于,在增大当前A-MPDU最大报文长
7度后,判断增大后的当前A-MPDU最大报文长度是否大于收发双发协商得到的A-MPDU最大报文长度,若是,将收发双方通过得到的A-MPDU最大报文长度作为更新后的当前A-MPDU最大报文长度;在减少当前A-MPUD最大报文长度后,判断减少后的当前A-MPDU最大报文长度是否小于A-MPDU最大报文长度下限,若是,将A-MPDU最大报文长度下限作为更新后的当前 A-MPDU最大报文长度。所述A-MPDU最大报文长度更新模块包括比较模块,接收当前A-MPDU报文的错包率,当所述错包率小于错包率容忍上限时,向向上调整模块发送携带当前A-MPDU报文的错包率的调整指示;当所述错包率大于错包率容忍下限时,向向下调整模块发送携带当前A-MPDU报文的错包率的调整指示;向上调整模块,预先将0与错包率容忍上限之间的范围划分为多个向上调整区间,按照各个区间取值的从小到大,以由大到小的顺序为每个区间设置一个A-MPDU最大报文长度,且为每个区间设置的A-MPDU最大报文长度小于收发双方协商得到的A-MPDU最大报文长度、大于A-MPDU最大报文长度下限;当接收到比较模块发来的携带当前A-MPDU报文的错包率的调整指示时,确定该错包率所在的向上调整区间,以为该区间设置的A-MPDU最大报文长度更新A-MPDU最大报文长度存储模块中的A-MPDU最大报文长度;向下调整模块,预先将错包率容忍下限与100%之间的范围划分为多个向下调整区间,按照各个区间取值的从小到大,以由大到小的顺序为每个区间设置一个A-MPDU最大报文长度,且为每个区间设置的A-MPDU最大报文长度小于收发双方协商得到的A-MPDU最大报文长度、大于A-MPDU最大报文长度下限;当接收到比较模块发来的携带当前A-MPDU报文的错包率的调整指示时,确定该错包率所在的向下调整区间,以为该区间设置的A-MPDU 最大报文长度更新A-MPDU最大报文长度存储模块中的A-MPDU最大报文长度;A-MPDU最大报文长度存储模块,存储A-MPDU最大报文长度。该装置位于发送方的介质接入控制MAC单元中。与现有技术相比,本发明可根据A-MPDU报文的错包率实时调整A-MPDU最大报文长度,从而可使得A-MPDU最大报文长度与收发系统的电磁环境相适应,提高了系统吞吐量;同时,可降低MPDU重传概率和开销,在吞吐量相同的情况下,能够有效节省信道资源, 并减少汇聚操作,有效节省软硬件资源。


图1为A-MPDU报文的结构示意图;图2为本发明实施例提供的调整A-MPDU最大报文长度的方法流程图;图3为本发明实施例提供的调整A-MPDU最大报文长度的装置组成图;图4为本发明实施例提供的A-MPDU最大报文长度调整模块的组成图;图5为本发明实施例提供的A-MPDU最大报文长度更新模块的组成图。
具体实施例方式下面结合附图及具体实施例对本发明再作进一步详细的说明。图2为本发明实施例提供的调整A-MPDU最大报文长度的方法流程图,如图2所示,其具体步骤如下
步骤200 预设错包率容忍上限PERup和错包率容忍下限PERd_。其中,PERup < PE&。wn。PERup、PERd_的取值可根据经验确定,例如PERup可为10%, PERdmm 可为 15%。步骤201 收发双方进行协商,确定A-MPDU最大报文长度Lmax。步骤202 发送方初始化L1 = Lmax,初始化错包率PER。= 0。其中,L1为发送方汇聚第一个A-MPDU报文时所采用的最大报文长度,下标1表示发送方当前发送的A-MPDU报文的序号为1。步骤203 当发送方将要发送第k(k为正整数,k彡1)个A-MPDU报文时,发送方根据Lk对发送缓存内的MPDU进行汇聚,得到第k个A-MPDU报文,发送该报文。步骤204 发送方发送第k个A-MPDU报文完毕,统计该报文的错包率PERk,并计算 PERk' = αΦΡΕΙ^+α-αΚΡΕ ν/。其中,a为常数,且0 <a<0. 5,如a可取1/8。统计报文的错包率的工作由发送方的PHY单元完成。步骤205 发送方判断PEIV < PERup是否成立,若是,执行步骤206 ;否则,执行步骤 207。步骤206 发送方按照预设规则增大Lk,得到Lk+1,转至处理第k+Ι个A-MPDU报文。这里,可按照如下公式增大Lk,得到Lk+1 Lk+1 = Lk+Lup* (PERup-PERk' ) /PERk',其中,Lup 为 A-MPDU 最大报文长度向上调整步长,为预设常数,可根据经验确定。发送方得到Lk+1后,还可判断Lk+1 ( Lfflax是否成立,若是,不作处理;否则,令Lk+1 = Lmax°或者,在实际应用中,发送方也可将0与PERup之间的范围划分为nl(nl为预设正整数,且nl彡2)个向上调整区间,分别为
、[PERs^1), PERup],其中,0 < PERsl < PERs2 < PERs3
< PERs4...... < PERs(n_2) < PERsfe-D < PERup,根据 Lmin 和 Lmax 为每个区间设置一个 A-MPDU
最大报文长度 Lsm(l 彡 m彡 nl),其中,
对应 Lsfc-D, [PERs(n_1); PERup]对应 Lsn,Lfflax > Lsl
> Ls2 > Ls3...... > Ls(n_2) > Lsn > Lmin0其中,Lmin为预设常数,表示A-MPDU最大报文长
度下限,可根据经验确定,Lmin < Lfflax0本步骤中,发送方可根据PEIV查找到其所在的区间, 然后将该区间对应的Lsm作为Lk+1。步骤207 发送方判断PEIV > PERd_是否成立,若是,执行步骤208 ;否则,执行步骤 209。步骤208 发送方按照预设规则减少Lk,得到Lk+1,转至处理第k+Ι个A-MPDU报文。这里,可按照如下公式减少Lk,得到Lk+1 Lk+1 = Lk-Ldown* (PERk' -PERdown) /PERk',其中,Ld_ 为 A-MPDU 最大报文长度向下调整步长,为预设常数,可根据经验确定。发送方得到Lk+1后,还可判断L k+1 ^ Lfflin是否成立,若是,不作处理;否则,令Lk+1
=T
Mnin0或者,在实际应用中,发送方也可将100%之间的范围划分为n2(n2为预设正整数,且n2彡2)个向下调整区间,分别为[PERdown, PERtl)、[PERtl, PERt2), [PERt2,
PERt3)........[PERt (η-2),PERtH)]、[PERt (^1), 100% ],其中,PERdown < PERtl < PERt2 < PERt3
< PERt4......< PERt(n_2) < PERt^1) < 100%,根据 Lmin和 Lmax 为每个区间设置一个 A-MPDU
最大报文长度 Ltp (1 彡 ρ 彡 π2),其中,[PERdown, PERtl)对应 Ltl,[PERtl,PERt2)对应 Lt2,[PERt2,
PERt3)对应 Lt3,......,[PERt (η-2),PERt (n-i)]对应 Ltfe-D, [PERtfo-D, 100% ]对应 Ltn, Lmax >
Ltl > Lt2 > Lt3...... > Lt(n_2) > Ltn > Lmin0 其中,Lmin 为预设常数,表示 A-MPDU 最大报文
长度下限,可根据经验确定,Lmin< Lmax。本步骤中,发送方可根据PEIV查找到其所在的区间,然后将该区间对应的Ltm作为Lk+1。步骤205 208也可替换为步骤205 发送方判断PEIV > PERd_是否成立,若是,执行步骤206 ;否则,执行步骤 207。步骤206 发送方按照预设规则减少Lk,得到Lk+1,转至处理第k+Ι个A-MPDU报文。步骤207 发送方判断PEIV < PERup是否成立,若是,执行步骤208 ;否则,执行步骤 209。步骤208 发送方按照预设规则增大Lk,得到Lk+1,转至处理第k+Ι个A-MPDU报文。步骤209 发送方令Lk+1 = Lk,转至处理第k+Ι个A-MPDU报文。图3为本发明实施例提供的调整A-MPDU最大报文长度的装置组成图,如图3所示,其主要包括MPDU发送缓存模块31、MPDU汇聚模块32和A-MPDU最大报文长度调整模块33,其中MPDU发送缓存模块31 缓存等待发送的MPDU。MPDU汇聚模块32 当要发送一个A-MPDU报文时,从A-MPDU最大报文长度调整模块33获取当前A-MPDU最大报文长度,根据当前A-MPDU最大报文长度,对MPDU发送缓存31 内的MPDU进行汇聚,得到A-MPDU报文,将A-MPDU报文发送给PHY单元。由PHY单元将A-MPDU报文发送给接收方。A-MPDU最大报文长度调整模块33 将收发双方协商的A-MPDU最大报文长度作为初始A-MPDU最大报文长度;接收PHY单元发来的当前A-MPDU报文的错包率,当所述错包率小于错包率容忍上限时,增大当前A-MPDU最大报文长度;当所述错包率大于错包率容忍下限时,减少当前A-MPUD最大报文长度;否则,保持当前A-MPDU最大报文长度不变。在实际应用中,如图4所示,A-MPDU最大报文长度调整模块33可包括错包率更新模块331和A-MPDU最大报文长度更新模块332,其中错包率更新模块331 接收PHY单元发来的当前A-MPDU报文的错包率,根据自身记录的上一个A-MPDU报文的错包率,更新并记录当前A-MPDU报文的错包率,将更新后的当前A-MPDU报文的错包率发送给A-MPDU最大报文长度更新模块332。A-MPDU最大报文长度更新模块332 将收发双方协商的A-MPDU最大报文长度作为初始A-MPDU最大报文长度;接收错包率更新模块331发来的更新后的当前A-MPDU报文的错包率,当所述错包率小于错包率容忍上限时,增大当前A-MPDU最大报文长度;当所述错包率大于错包率容忍下限时,减少当前A-MPUD最大报文长度;否则,保持当前A-MPDU最大报文长度不变。A-MPDU最大报文长度更新模块332在增大当前A-MPDU最大报文长度后,可进一步判断增大后的当前A-MPDU最大报文长度是否大于收发双发协商得到的A-MPDU最大报文长度,若是,将收发双方协商得到的A-MPDU最大报文长度作为更新后的当前A-MPDU最大报文长度;在减少当前A-MPUD最大报文长度后,可进一步判断减少后的当前A-MPDU最大报文长度是否小于A-MPDU最大报文长度下限,若是,将A-MPDU最大报文长度下限作为更新后的当前A-MPDU最大报文长度。在实际应用中,如图5所示,A-MPDU最大报文长度更新模块332可包括比较模块 3321、向上调整模块3322、向下调整模块3323和A-MPDU最大报文长度存储模块33M,其中比较模块3321 接收错包率更新模块331发来的更新后的当前A-MPDU报文的错包率,当所述错包率小于错包率容忍上限时,向向上调整模块3322发送携带更新后的当前 A-MPDU报文的错包率的调整指示;当所述错包率大于错包率容忍下限时,向向下调整模块 3323发送携带更新后的当前A-MPDU报文的错包率的调整指示。向上调整模块3322 接收比较模块3321发来的携带更新后的当前A-MPDU报文的错包率的调整指示,计算错包率容忍上限与该错包率的差值,将该差值除以该错包率,将所得商值乘以预设A-MPDU最大报文长度向上调整步长,将所得乘积与A-MPDU最大报文长度存储模块33 存储的A-MPDU最大报文长度相加,以所得和值更新A-MPDU最大报文长度存储模块33M中的A-MPDU最大报文长度。或者,向上调整模块3322 预先将0与错包率容忍上限之间的范围划分为nl (nl 为预设正整数,且nl ^ 2)个向上调整区间,按照各个区间取值的从小到大,以由大到小的顺序为每个区间设置一个A-MPDU最大报文长度Lsm(l彡m彡nl,且Lfflin ( Lsffl ( Lfflax);当接收到比较模块3321发来的携带更新后的当前A-MPDU报文的错包率的调整指示时,确定该错包率所在的向上调整区间,以为该区间设置的Lsm更新A-MPDU最大报文长度存储模块 3324中的A-MPDU最大报文长度。向下调整模块3323 接收比较模块3321发来的携带更新后的当前A-MPDU报文的错包率的调整指示,计算该错包率与错包率容忍下限的差值,将该差值除以该错包率,将所得商值乘以预设A-MPDU最大报文长度向下调整步长,将A-MPDU最大报文长度存储模块 3324存储的A-MPDU最大报文长度减去所得乘积,以所得差值更新A-MPDU最大报文长度存储模块33M中的A-MPDU最大报文长度。或者,向下调整模块3323:预先将错包率容忍下限与100%之间的范围划分为 n2(n2为预设正整数,且2)个向下调整区间,按照各个区间取值的从小到大,以由大到小的顺序为每个区间设置一个A-MPDU最大报文长度Ltp (1彡ρ彡n2,且Lmin ( Ltp ( Lfflax); 当接收到比较模块3321发来的携带更新后的当前A-MPDU报文的错包率的调整指示时,确定该错包率所在的向下调整区间,以为该区间设置的更新A-MPDU最大报文长度存储模块33 中的A-MPDU最大报文长度。A-MPDU最大报文长度存储模块33M 存储A-MPDU最大报文长度。其中,MPDU汇聚模块32从A-MPDU最大报文长度存储模块33M获取当前A-MPDU 最大报文长度。图3所示装置位于发送方的802. Iln MAC单元中。本发明提到的发送方可以是接入点(AP,Access Port)、站点(STA)等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种调整最大报文长度的方法,其特征在于,预先设置错包率容忍上限和错包率容忍下限,其中,错包率容忍上限<错包率容忍下限,该方法包括发送方根据当前汇聚介质接入控制协议数据单元A-MPDU最大报文长度,对发送缓存内的MPDU进行汇聚,得到A-MPDU报文;发送方发送A-MPUD报文,发送完毕,统计该报文的错包率,当所述错包率小于错包率容忍上限时,增大当前A-MPDU最大报文长度;当所述错包率大于错包率容忍下限时,减少当前A-MPUD最大报文长度;否则,保持当前A-MPDU最大报文长度不变。
2.根据权利要求1所述的方法,其特征在于,所述统计该报文的错包率之后进一步包括计算a与所述错包率的乘积,同时计算Ι-a与上一个A-MPDU报文的更新后的错包率的乘积;将该两乘积相加,以所得和值更新所述错包率,其中,a为预设常数,且0 < a < 0. 5 ; 且所述错包率小于错包率容忍上限为更新后的错包率小于错包率容忍上限; 所述错包率大于错包率容忍下限为更新后的错包率大于错包率容忍下限。
3.根据权利要求2所述的方法,其特征在于,所述增大当前A-MPDU最大报文长度包括计算错包率容忍上限与更新后的所述错包率的差值,将该差值除以更新后的所述错包率,将所得商值乘以预设A-MPDU最大报文长度向上调整步长,将所得乘积与当前A-MPDU最大报文长度相加,得到更新后的当前A-MPDU最大报文长度。
4.根据权利要求3所述的方法,其特征在于,所述得到更新后的当前A-MPDU最大报文长度之后进一步包括判断更新后的当前A-MPDU最大报文长度是否大于收发双发协商得到的A-MPDU最大报文长度,若是,将收发双发协商得到的A-MPDU最大报文长度作为更新后的当前A-MPDU最大报文长度。
5.根据权利要求2或3所述的方法,其特征在于,所述减少当前A-MPDU最大报文长度包括计算更新后的所述错包率与错包率容忍下限的差值,将该差值除以更新后的所述错包率,将所得商值乘以预设A-MPDU最大报文长度向下调整步长,将当前A-MPDU最大报文长度减去所得乘积,得到更新后的当前A-MPDU最大报文长度。
6.根据权利要求5所述的方法,其特征在于,所述发送方根据当前A-MPDU最大报文长度,对发送缓存内的MPDU进行汇聚之前进一步包括预设A-MPDU最大报文长度下限;所述得到更新后的当前A-MPDU最大报文长度之后进一步包括 判断更新后的当前A-MPDU最大报文长度是否小于A-MPDU最大报文长度下限,若是,将 A-MPDU最大报文长度下限作为更新后的当前A-MPDU最大报文长度。
7.根据权利要求1所述的方法,其特征在于,所述发送方根据当前A-MPDU最大报文长度,对发送缓存内的MPDU进行汇聚之前进一步包括预设A-MPDU最大报文长度下限;且,将0与错包率容忍上限之间的范围划分为多个向上调整区间,按照各个区间取值的从小到大,以由大到小的顺序为每个区间设置一个 A-MPDU最大报文长度,且为每个区间设置的A-MPDU最大报文长度小于收发双方协商得到的A-MPDU最大报文长度、大于A-MPDU最大报文长度下限;所述增大当前A-MPDU最大报文长度为确定所述错包率所在的向上调整区间,将为该区间设置的A-MPDU最大报文长度作为更新后的当前A-MPDU最大报文长度。
8.根据权利要求1所述的方法,其特征在于,所述发送方根据当前A-MPDU最大报文长度,对发送缓存内的MPDU进行汇聚之前进一步包括预设A-MPDU最大报文长度下限;且,将错包率容忍下限与100%之间的范围划分为多个向下调整区间,按照各个区间取值的从小到大,以由大到小的顺序为每个区间设置一个 A-MPDU最大报文长度,且为每个区间设置的A-MPDU最大报文长度小于收发双方协商得到的A-MPDU最大报文长度、大于A-MPDU最大报文长度下限;所述减少当前A-MPDU最大报文长度为确定所述错包率所在的向下调整区间,将为该区间设置的A-MPDU最大报文长度作为更新后的当前A-MPDU最大报文长度。
9.一种调整最大报文长度的装置,其特征在于,该装置包括 MPDU发送缓存模块,缓存等待发送的MPDU ;MPDU汇聚模块,从A-MPDU最大报文长度调整模块获取当前A-MPDU最大报文长度,根据当前A-MPDU最大报文长度,对MPDU发送缓存内的MPDU进行汇聚,得到A-MPDU报文;A-MPDU最大报文长度调整模块,接收当前A-MPDU报文的错包率,当所述错包率小于错包率容忍上限时,增大当前A-MPDU最大报文长度;当所述错包率大于错包率容忍下限时, 减少当前A-MPUD最大报文长度;否则,保持当前A-MPDU最大报文长度不变。
10.根据权利要求9所述的装置,其特征在于,所述A-MPDU最大报文长度调整模块包括错包率更新模块,接收物理层单元发来的当前A-MPDU报文的错包率,根据上一个 A-MPDU报文更新后的错包率,更新当前A-MPDU报文的错包率,将更新后的当前A-MPDU报文的错包率发送给A-MPDU最大报文长度更新模块;A-MPDU最大报文长度更新模块,接收错包率更新模块发来的当前A-MPDU报文的错包率,当所述错包率小于错包率容忍上限时,增大当前A-MPDU最大报文长度;当所述错包率大于错包率容忍下限时,减少当前A-MPUD最大报文长度;否则,保持当前A-MPDU最大报文长度不变。
11.根据权利要求9或10所述的装置,其特征在于,所述A-MPDU最大报文长度更新模块包括比较模块,接收当前A-MPDU报文的错包率,当所述错包率小于错包率容忍上限时,向向上调整模块发送携带当前A-MPDU报文的错包率的调整指示;当所述错包率大于错包率容忍下限时,向向下调整模块发送携带当前A-MPDU报文的错包率的调整指示;向上调整模块,接收调整指示,计算错包率容忍上限与调整指示携带的错包率的差值, 将该差值除以所述错包率,将所得商值乘以预设A-MPDU最大报文长度向上调整步长,将所得乘积与A-MPDU最大报文长度存储模块中的A-MPDU最大报文长度相加,以所得和值更新 A-MPDU最大报文长度存储模块中的A-MPDU最大报文长度;向下调整模块,接收调整指示,计算调整指示携带的错包率与错包率容忍下限的差值, 将该差值除以所述错包率,将所得商值乘以预设A-MPDU最大报文长度向下调整步长,将 A-MPDU最大报文长度存储模块存储的A-MPDU最大报文长度减去所得乘积,以所得差值更新A-MPDU最大报文长度存储模块中的A-MPDU最大报文长度; A-MPDU最大报文长度存储模块,存储A-MPDU最大报文长度。
12.根据权利要求11所述的装置,其特征在于,所述A-MPDU最大报文长度调整模块进一步用于,在增大当前A-MPDU最大报文长度后,判断增大后的当前A-MPDU最大报文长度是否大于收发双发协商得到的A-MPDU最大报文长度,若是,将收发双方通过得到的A-MPDU 最大报文长度作为更新后的当前A-MPDU最大报文长度;在减少当前A-MPUD最大报文长度后,判断减少后的当前A-MPDU最大报文长度是否小于A-MPDU最大报文长度下限,若是,将 A-MPDU最大报文长度下限作为更新后的当前A-MPDU最大报文长度。
13.根据权利要求9或10所述的装置,其特征在于,所述A-MPDU最大报文长度更新模块包括比较模块,接收当前A-MPDU报文的错包率,当所述错包率小于错包率容忍上限时,向向上调整模块发送携带当前A-MPDU报文的错包率的调整指示;当所述错包率大于错包率容忍下限时,向向下调整模块发送携带当前A-MPDU报文的错包率的调整指示;向上调整模块,预先将0与错包率容忍上限之间的范围划分为多个向上调整区间,按照各个区间取值的从小到大,以由大到小的顺序为每个区间设置一个A-MPDU最大报文长度,且为每个区间设置的A-MPDU最大报文长度小于收发双方协商得到的A-MPDU最大报文长度、大于A-MPDU最大报文长度下限;当接收到比较模块发来的携带当前A-MPDU报文的错包率的调整指示时,确定该错包率所在的向上调整区间,以为该区间设置的A-MPDU最大报文长度更新A-MPDU最大报文长度存储模块中的A-MPDU最大报文长度;向下调整模块,预先将错包率容忍下限与100%之间的范围划分为多个向下调整区间, 按照各个区间取值的从小到大,以由大到小的顺序为每个区间设置一个A-MPDU最大报文长度,且为每个区间设置的A-MPDU最大报文长度小于收发双方协商得到的A-MPDU最大报文长度、大于A-MPDU最大报文长度下限;当接收到比较模块发来的携带当前A-MPDU报文的错包率的调整指示时,确定该错包率所在的向下调整区间,以为该区间设置的A-MPDU最大报文长度更新A-MPDU最大报文长度存储模块中的A-MPDU最大报文长度; A-MPDU最大报文长度存储模块,存储A-MPDU最大报文长度。
14.根据权利要求9所述的装置,其特征在于,该装置位于发送方的介质接入控制MAC单元中。
全文摘要
本发明公开了调整最大报文长度的方法及装置。方法包括预先设置错包率容忍上限和错包率容忍下限,其中,错包率容忍上限<错包率容忍下限,发送方根据当前A-MPDU最大报文长度,对发送缓存内的MPDU进行汇聚,得到A-MPDU报文;发送方发送A-MPUD报文,发送完毕,统计该报文的错包率,当所述错包率小于错包率容忍上限时,增大当前A-MPDU最大报文长度;当所述错包率大于错包率容忍下限时,减少当前A-MPUD最大报文长度;否则,保持当前A-MPDU最大报文长度不变。本发明提高了收发系统的吞吐量。
文档编号H04L1/00GK102316013SQ201010223828
公开日2012年1月11日 申请日期2010年7月1日 优先权日2010年7月1日
发明者李韬, 王维兴 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1