解决WLAN中重组问题的方法和装置转让专利

申请号 : CN200510098448.2

文献号 : CN100583815C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 兰天

申请人 : 北京中电华大电子设计有限责任公司

摘要 :

本发明提供一种实现WLAN中MSDU/MMDU重组的方法和装置。在WLAN中,为了提高发送可靠性,STA终端在发送一个MSDU/MMPDU时,可能会分解成多个分段(MPDU)发送。由于发送过程可能被中断,而随后信道会被其他STA终端竞争到用于发送其他的MSDU/MMPDU分段,对于接收方,可能会同时收到多个终端的不同MSDU/MMPDU的混杂的分段。接收方必须要将这些混杂分段进行处理和重组,输出完整的MSDU/MMPDU。该硬件部件就是实现这一功能的装置。其输入是多个MSDU/MMPDU的混杂分段数据,输出完整的MSDU/MMPDU。在重组的同时,也进行重复和错误MSDU/MMPDU的过滤。实现该重组功能的装置包括:一个接收缓存区RxBuff;一个RxBuff占用状态寄存器;一个RxBuff分片数据管理寄存器;一个RxBuff分片索引寄存器。

权利要求 :

1、利用分片管理的接收缓冲区实现WLAN MSDU/MMPDU分段重组的装置,用于将输入的不 同的STA终端的不同MSDU/MMPDU的混杂分段进行处理,输出完整的MSDU/MMPDU,同时进行 重复和错误MSDU/MMPDU的过滤,其特征在于,包括接收缓存区RxBuff、分片占用寄存器、 分片管理寄存器、分片索引寄存器,其中:所述接收缓存区RxBuff按M字节为单位划分为N片,用于存储MSDU/MMPDU的数据;

所述分片占用寄存器有N位,记录所述接收缓存区中对应的分片是否被占用,其中第I 位对应于RxBuff的第I个分片;

所述分片索引寄存器,共分为N条记录,每条记录标志了MSDU/MMPDU的其中一个数据分 片和随后数据分片的索引信息;

所述分片管理寄存器,共分为K条管理记录,每条管理记录标志了一个MSDU/MMPDU的标 识信息和其在索引寄存器中的起始和结束位置信息。

2、根据权利要求1所述的利用分片管理的接收缓冲区实现WLAN MSDU/MMPDU分段重组的 装置,其特征在于,分片管理寄存器中的管理记录包括;标识字段域、索引绑定字段域。

3、如权利要求1所述的利用分片管理的接收缓冲区实现WLAN MSDU/MMPDU分段重组的装 置,其特征在于,所述分片索引寄存器,划分为N条记录,第I条记录的序号对应了一个 MSDU/MMPDU的一个数据分片的索引,该索引表示该数据分片存储在RxBuff中第I个分片中, 第I条记录的内容对应了该MSDU/MMPDU的下一个数据分片的索引,如果该记录已经是该 MSDU/MMPDU的最后一个数据分片索引,那么该记录内容为空。

4、利用分片管理的接收缓冲区实现WLAN MSDU/MMPDU分段重组的方法,其特征在于,包 括以下步骤:(1)WLAN MSDU/MMPDU分段重组装置接收到M个字节后,形成一个分片数据;

(2)判断该分片是否是某个分段的第一个分片,如果第一个分片,那么该分片内包含 有该MSDU/MMPDU的帧头信息,WLAN MSDU/MMPDU分段重组装置提取帧头中标识信 息;否则转(6);

(3)比对提取的标识信息和分片管理寄存器中的记录内容,如果发现有标识信息一致 的记录,转(4);否则转(5);

(4)那么表明该MSDU/MMPDU是重复帧,丢弃该分片数据;

(5)判断该标识信息是否表明是一个新的MSDU/MMPDU,如果是那么在分片管理寄存器 中增加一条记录,然后转(6);否则转(6);

(6)查找RxBuff分片占用寄存器,查找到空闲的分片;

(7)找到空闲分片后,将该分片数据放入到该RxBuff分片中;

(8)然后更新分片索引寄存器和分片管理寄存器相关记录,建立分片存储的数据和其 索引的关系;

(9)重复上述过程,直到MSDU/MMPDU标志信息中显示接收完整。

5、如权利要求4所述的利用分片管理的接收缓冲区实现WLAN MSDU/MMPDU分段重组的方 法,其特征在于,步骤(3)进行下列操作:比对MSDU/MMPDU标志信息,从所述分片管理寄存 器当前记录开始,逐条比对直到又返回到当前记录,该比对实现对重复数据的过滤。

6、如权利要求4所述的利用分片管理的接收缓冲区实现WLAN MSDU/MMPDU分段重组的方 法,其特征在于,步骤(5)进一步包括:(1)提取该标识信息中的MAC地址字段,MSDU/MMPDU序号字段和分段序号字段;

(2)判断MAC地址字段,MSDU/MMPDU序号字段的组合是否在所述分片管理寄存器各 记录中出现,如果未出现,转(3),否则转(5);

(3)判断标识信息中的分段序号字段是否为0;如果为0,那么认为是一个新的 MSDU/MMPDU到达,将所述分片管理寄存器中当前记录下移一条,在该记录处建 立MSDU/MMPDU信息,否则转(4)(4)如果标识信息中的分段序号不为0,那么该分段数据是无效数据,丢弃;

(5)如果标识信息中的MSDU/MMPDU序号字段的组合出现在了所述分片管理寄存器 记录中,那么判断标识信息中分段序号字段是否等于所述分片管理寄存器中相 应记录中的分段序号字段加上1,如果等于,那么该分段数据为有效数据,记 录到空闲的RxBuff分片中;否则该分段数据是无效数据,那么丢弃。

7、如权利要求4所述的利用分片管理的接收缓冲区实现WLAN MSDU/MMPDU分段重组的 方法,其特征在于,步骤(8)进一步包括:(1)更新所述RxBuff分片占用寄存器,将占用的RxBuff分片对应位置1;

(2)更新所述分片索引寄存器,根据分片管理寄存器对应记录的尾索引字段内容,找到 其指向的所述分片索引寄存器中的记录,更新该记录内容为刚才占用的RxBuff分 片号,然后将该号对应的索引记录设置为空;

(3)更新分片管理寄存器对应记录,将记录的尾索引指针指向最新的分片索引号。

说明书 :

技术领域

本发明涉及网络通信领域,尤其涉及一种利用分片方法解决WLAN中MSDU/MMDU重组问题的 方法和装置。

背景技术

在WLAN无线局域网中,由于网络环境复杂,为了提高可靠性,需要将MSDU或MMDU分解为 较小长度的多个分段发送,这个规程称为分段;每个MSDU/MMPDU最多可以分为16个分段。每 个分段由帧头和帧体两个部分构成,帧头从MSDU/MMPDU复制过来,但是需要对其中的分段序 号字段和多分段字段进行设置。第一个分段的分段序号字段为0,以后分段依次按1递增。除 了最后一个分段的多分段字段设置为0外,其他所有分段的多分段字段设置为1。
对于接收方,需要将多个分段进行组合,构成单个的MSDU或MMDU,这个规程称为重组。WLAN MAC协议规定,至少要能够保证同时接收三个MSDU/MMDU的分段并进行重组。
当一个STA发送某个MSDU分段的过程中,可能出现中断,而随后竞争到信道并且发送 MSDU/MMPDU的可能是另一个STA,这就导致接受方收到的不是某个MSDU/MMDU的连续分段,而 是多个不同STA的不同MSDU/MMDU的互相混杂的分段。而且接收方也无法预测某个MSDU/MMDU 的全部分段会在什么时候接收完整。
上述描述可知,由于发送的分段序列可能被迫中断,而随后信道竞争的不确定性,导致 了重组问题的复杂性。
参阅图1,该图描述了一个分段重组的实际情况:
(1)首先各STA终端将要发送的MSDU/MMPDU拆分成多个分段。复制该MSDU/MMPDU的帧 头信息到各个分段的开头。每个分段中的MSDU/MMPDU序号字段都一样;每个分段 按照分段次序填写自己的分段序号字段。分段序号字段从0开始,依次加1,直到 最后一个分段。
(2)发送先STA_a发送了MSDUa的一个分段frag_a1,但是随后发送被迫中断。
(3)然后进行信道竞争,STA_b竞争到了信道,发送了MSDUb的两个分段 frag_b1,frag_b2后,发送中断。
(4)然后STA_c竞争到了信道,发送了frag_c1,发送中断。
(5)随后STA_a再次竞争到了信道,发送MSDUa的余下分段frag_a2,frag_a3, frag_a4。
这样,在这一段时间内,这些分段构成了一个混杂的序列,作为输入,进入了重组硬件 部件内,重组硬件部件需要对这些数据进行处理,最后输出完整的MSDU/MMPDU。
在实际约束很少的情况下,重组硬件可以为每个新到达的MSDU/MMPDU建立一个存储结 构,并存储该MSDU/MMDU的所有到达分段,直到该MSDU/MMDU接收完整。请参阅图2,显示了 使用这一方法的硬件装置。
(1)对于每个新到达的MSDU/MMPDU,重组硬件都新建立一个记录。
(2)对于每个到达的分段,都有足够的空间存储,并且能够动态绑定到对应 MSDU/MMPDU记录上。
(3)重组硬件保持接收到的分段,直到该分段对应的MSDU/MMPDU的所有分段都收到; 或者依据某种策略被放弃。
但是由于硬件部件在存储容量上和处理能力上的限制,这一实现硬件成本太高,是不可 接受的。
如果对上述设计进行改进,只保存有限个的MSDU/MMPDU,并且采用预先分配空间的方式 以保证到达的分段能够存放。
请参阅图3,示意了使用这一方法的实现的内部结构。
根据图示,不难看出这一方法和装置有如下缺点:
(1)虽然能够满足容量约束,但是由于无法预知每个MSDU/MMPDU的分段总数,和 分段大小,那么就需要为其预先分配最大可能的分段大小和分段数,这就造成空 间的不必要浪费。
(2)再次,由于无法预测某个MSDU/MMPDU何时能够接收完整,如果空间被未完 成的MSDU/MMPDU占用,那么新到达的MSDU/MMPDU必须被丢弃,这会导致极低的 效率。

发明内容

本发明提供一种解决WLAN中MSDU/MMPDU重组问题的方法和装置,以达到以尽可能小的 成本和复杂度实现高效的重组功能,同时支持重复MSDU/MMPDU和无效MSDU/MMPDU的过滤。
为达成这一目标,本发明公开了一种利用分片机制实现的重组的硬件部件,该部件包括 一个接收缓存区RxBuff;一个RxBuff分片占用状态寄存器;一个RxBuff分片数据管理寄存 器;一个RxBuff分片索引寄存器。其中:
所述接收缓存区,按M字节为单位划分为N片,用于存储MSDU/MMPDU的数据。
所述RxBuff占用状态寄存器,共有N位,每位记录了RxBuff的对应分片是否被占用, 其中第I位对应于RxBuff的第I个分片,如果该分片被占用,那么该位置1,否则置0。
所述RxBuff分片索引寄存器,共分为N条记录,每条记录的标志了MSDU/MMPDU的其中 一个数据分片和随后数据分片的索引信息。
所述RxBuff分片数据管理寄存器,共分为K条管理记录,每条记录标志了一个MSDU/MMPDU 的标识信息和其在索引寄存器中的起始和结束位置信息。通过一条管理记录,可以唯一确定 一个MSDU/MMPDU,同时能够通过标识信息进行重复MSDU/MMPDU/MPDU的过滤。
当一个MSDU/MMPDU的各分段被分片存放进RxBuff后,在RxBuff分片管理寄存器中有唯 一的一条管理记录与之对应,分片的索引信息被完整记录到了RxBuff分片索引寄存器。通过 该记录和其绑定的RxBuff索引寄存器,就可以定位该MSDU/MMPDU的各分段所有分片在RxBuff 中的位置,并提取出完整的MSDU/MMPDU,从而解决MSDU/MMPDU的重组问题。
本发明同时公开了一种利用分片现WLAN MSDU/MMPDU分段重组的方法,用于将输入的不 同的STA终端的不同MSDU/MMPDU的混杂分段进行处理,输出完整的MSDU/MMPDU,同时进行 重复和错误MSDU/MMPDU的过滤。包括以下步骤:
(1)硬件件接收到M个字节后,形成一个分片数据;
(2)判断该分片是否是某个分段的第一个分片,如果第一个分片,那么内部包含有该 MSDU/MMPDU的帧头信息,硬件提取帧头中标识信息;否则转(6);
(3)比对提取的标识信息和RxBuff分片管理寄存器中的记录内容,如果发现有标识信 息一致的记录,转(4);否则转(5)。
(4)那么表明该MSDU/MMPDU是重复帧,丢弃该分片数据。
(5)判断该标识信息是否表明是一个新的MSDU/MMPDU,如果是那么在RxBuff分片管理 寄存器中增加一条记录,然后转(6);否则转(6)。
(6)查找RxBuff分片占用寄存器,查找到空闲的分片。
(7)找到空闲分片后,将该分片数据放入到该RxBuff分片中。
(8)然后更新RxBuff分片索引寄存器和RxBuff分片管理寄存器相关记录。
(9)重复上述过程,直到MSDU/MMPDU标志信息中显示接收完整。
步骤(3)进一步包括:
比对MSDU/MMPDU标志信息,从所述分片管理寄存器当前记录开始,逐条比对直到又返回 到当前记录。该比对实现了对重复数据的过滤。
步骤(5)进一步包括:
(1)提取该标识信息中的MAC地址字段,MSDU/MMPDU序号字段和分段序号字段。
(2)判断MAC地址字段,MSDU/MMPDU序号字段的组合是否在所述分片管理寄存器各记 录中出现,如果未出现,转(3),否则转(5)。
(3)判断标识信息中的分段序号字段是否为0。如果为0,那么认为是一个新的 MSDU/MMPDU到达,将所述分片管理寄存器中当前记录下移一条,在该记录处建立 MSDU/MMPDU信息。;否则转(4)
(4)如果标识信息中的分段序号不为0,那么该分段数据是无效数据,丢弃。
(5)如果标识信息中的MSDU/MMPDU序号字段的组合出现在了所述分片管理寄存器记 录中,那么判断标识信息中分段序号字段是否等于所述分片管理寄存器中相应记 录中的分段序号字段加上1,如果等于,那么该分段数据为有效数据,记录到空 闲的RxBuff分片中;否则该分段数据是无效数据,那么丢弃。
对于步骤(8)进一步包括:
(1)更新所述分片占用寄存器,将占用的RxBuff分片对应位置1。
(2)更新所述分片索引寄存器,根据分片管理寄存器对应记录的尾索引字段内容,找 到其指向的所述分片索引寄存器中的记录,更新该记录内容为刚才占用的RxBuff 分片号;然后将该号对应的索引记录设置为空。
(3)更新RxBuff分片管理寄存器对应记录,将记录的尾索引指针指向最新的RxBuff 分片索引号。
本发明具有以下优点:
(1)本方法中涉及的数据结构只有4个,而且占用空间很小,成本增加少;方法中计 算简单,复杂度低,能够在教小的成本和复杂度下实现重组功能。
(2)使用分片管理的接收缓存区,能够有效减少由于小分段导致的空间浪费,提高空 间利用率。
(3)使用分片管理寄存器中的MSDU/MMPDU记录和其绑定的索引号,能够实现多分段 MSDU/MMPDU的重组,同时能够实现重复数据和无效数据的过滤。

附图说明

图1是WLAN中分段重组示意图;
图2为实现重组功能的一种装置的结构示意图;
图3为在图2基础上进行改进的一种重组装置结构示意图;
图4为本发明中利用分片实现重组的硬件装置的内部结构示意图;
图5是基于图4的分片管理寄存器中的各字段示意图。
图6是基于图4和图5的硬件装置的重组流程图。

具体实施方式

以下结合附图,具体说明本发明。
本发明公开了一种分片解决WLAN中MSDU/MMPDU分段重组问题的装置,部件包括接收缓 存区RxBuff,分片占用寄存器,分片管理寄存器,分片索引寄存器,其中:
所述接收缓存区,按M字节为单位划分为N片,用于存储MSDU/MMPDU的数据;
所述分片占用寄存器,划分为N位,其中第I位对应于RxBuff的第I个分片,如果该分 片被占用,那么该位置1,否则置0;
所述分片索引寄存器,划分为N条记录,每条记录的标志了MSDU/MMPDU的其中一个数据 分片和随后数据分片的索引信息。
所述分片管理寄存器,划分为K条记录,每条记录标志了一个MSDU/MMPDU的标识信息和 其在索引寄存器中的起始和结束位置信息。
请参阅图4,其为本发明利用上述结构设置的实现MSUD/MMPDU分段重组功能的硬件部件 结构示意图。根据本示意图,本硬件部件由上述4个部分构成。其中:
接收缓存区:按M字节为单位划分为N片,用于存储MSDU/MMPDU的数据;
分片占用寄存器:划分为N位,其中第I位对应于RxBuff的第I个分片,如果该分片被 占用,那么该位置1,否则置0;
分片索引寄存器:划分为N条记录,第I条记录的序号对应了一个MSDU/MMPDU的一个数 据分片索引,该索引表示该数据分片存储在RxBuff中第I个分片中,第I条记录的内容对应 了该MSDU/MMPDU的下一个数据分片索引,如果该记录已经是该MSDU/MMPDU的最后一个数据 分片索引,那么该记录内容为空。
分片管理寄存器:划分为K条记录,每条记录包含两个字段域部分,标识字段域用于记 录MSDU/MMPDU的标识信息,而无论该MSDU/MMPDU被分为多少分段;索引绑定字段域用于绑 定该MSDU/MMPDU第一个数据分片和最后一个数据分片在所述分片索引寄存器的位置。
如图4所示,该MSDU/MMPDU分成了三个分片存储,三个分片的索引号为3,6,1,最后 一个分片数据存储在RxBuff中的序号为1的分片中。分片管理记录的索引绑定字段域中首索 引字段保存了序号3,尾索引字段保存了序号1。索引寄存器中,序号为3的记录内容为6, 表示下一个分片的序号为6;序号为6的记录内容为1,标识下一个分片序号为1;序号为1 的记录内容为空(\0),表示这是最后一个分片了。
请参阅图6,显示了通过上述重组硬件部件接收分段数据并实现重组功能,具体步骤如 下:
(1)件件接收到M个字节后,形成一个分片数据;
(2)判断该分片是否是某个分段的第一个分片,如果第一个分片,那么内部包含有该 MSDU/MMPDU的帧头信息,硬件提取帧头中标识信息;否则转(9);
(3)比对提取的标识信息和RxBuff分片管理寄存器中的记录内容,如果发现有标识信 息一致的记录,转(4);否则转(5)。
(4)那么表明该MSDU/MMPDU是重复帧,丢弃该分片数据。
(5)提取该标识信息中的MAC地址字段,MSDU/MMPDU序号字段和分段序号字段。判断 MAC地址字段,MSDU/MMPDU序号字段的组合是否在所述分片管理寄存器各记录中出现,如果 出现,那么转(6);否则判断标识信息中的分段序号字段是否为0。如果为0,转(7),如 果不为0,转(8)。
(6)判断标识信息中分段序号字段是否等于所述分片管理寄存器中相应记录中的分 段序号字段加上1,如果等于,那么转(9)否则转(8)。
(7)该信息标识了一个新的MSDU/MMPDU到达,将所述分片管理寄存器中当前记录下 移一条,在该记录处建立MSDU/MMPDU信息。转(9)。
(8)该分段数据是无效数据,丢弃。
(9)查找RxBuff分片占用寄存器,查找到空闲的分片。转(10)。
(10)找到空闲分片后,将该分片数据放入到该RxBuff分片中。转(11)。
(11)更新所述分片占用寄存器,将占用的RxBuff分片对应位置1。
更新所述分片索引寄存器,根据分片管理寄存器对应记录的尾索引字段内容,找到 其指向的所述分片索引寄存器中的记录,更新该记录内容为刚才占用的RxBuff分 片号;然后将该号对应的索引记录设置为空。
更新RxBuff分片管理寄存器对应记录,将记录的尾索引指针指向最新的RxBuff分 片索引号。
以上公开的仅为本发明的几个具体实施例,但本发明的保护范围并不局限于此,任何本 领域的技术人员能思之的变化都应落在本发明的保护范围内。