解决wlan中重组问题的方法和装置的制作方法

文档序号:7623156阅读:133来源:国知局
专利名称:解决wlan中重组问题的方法和装置的制作方法
技术领域
本发明涉及网络通信领域,尤其涉及一种利用分片方法解决WLAN中MSDU/MMDU重组问题的方法和装置。
背景技术
在WLAN无线局域网中,由于网络环境复杂,为了提高可靠性,需要将MSDU或MMDU分解为较小长度的多个分段发送,这个规程称为分段;每个MSDU/MMPDU最多可以分为16个分段。每个分段由帧头和帧体两个部分构成,帧头从MSDU/MMPDU复制过来,但是需要对其中的分段序号字段和多分段字段进行设置。第一个分段的分段序号字段为0,以后分段依次按1递增。除了最后一个分段的多分段字段设置为0外,其他所有分段的多分段字段设置为1。
对于接收方,需要将多个分段进行组合,构成单个的MSDU或MMDU,这个规程称为重组。WLANMAC协议规定,至少要能够保证同时接收三个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分片索引号。
以上公开的仅为本发明的几个具体实施例,但本发明的保护范围并不局限于此,任何本领域的技术人员能思之的变化都应落在本发明的保护范围内。
权利要求
1.利用分片管理的接收缓冲区实现WLAN MSDU/MMPDU分段重组的方法,用于将输入的不同的STA终端的不同MSDU/MMPDU的混杂分段进行处理,输出完整的MSDU/MMPDU,同时进行重复和错误MSDU/MMPDU的过滤,其特征在于,包括接收缓存区RxBuff、分片占用寄存器、分片管理寄存器、分片索引寄存器。
2.根据权利要求1所述的分段重组的装置,其特征在于,分片管理寄存器中的管理记录包括标识字段域、索引绑定字段域。
3.如权利要求1所述的分段重组的装置,其特征在于,所述分片索引寄存器,划分为N条记录,第I条记录的序号对应了一个MSDU/MMPDU的一个数据分片的索引,该索引表示该数据分片存储在RxBuff中第I个分片中,第I条记录的内容对应了该MSDU/MMPDU的下一个数据分片的索引,如果该记录已经是该MSDU/MMPDU的最后一个数据分片索引,那么该记录内容为空。
4.根据权利要求1所述的分段重组的装置,其特征在于,包括以下步骤(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标志信息中显示接收完整。
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分片对应位置1。(2)更新所述分片索引寄存器,根据分片管理寄存器对应记录的尾索引字段内容,找到其指向的所述分片索引寄存器中的记录,更新该记录内容为刚才占用的RxBuff分片号;然后将该号对应的索引记录设置为空。(3)更新RxBuff分片管理寄存器对应记录,将记录的尾索引指针指向最新的RxBuff分片索引号。
全文摘要
本发明提供一种实现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分片索引寄存器。
文档编号H04L12/28GK1929437SQ200510098448
公开日2007年3月14日 申请日期2005年9月8日 优先权日2005年9月8日
发明者兰天 申请人:北京中电华大电子设计有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1