A-MSDU子帧的处理方法及无线网络存取装置与流程

文档序号:17358807发布日期:2019-04-09 21:55阅读:257来源:国知局
A-MSDU子帧的处理方法及无线网络存取装置与流程

本发明涉及无线通信网络领域,更加具体地说有关于一种a-msdu子帧的处理方法及无线网络存取装置。



背景技术:

a-msdu聚合技术是指将多个msdu(macservicedataunit,mac服务数据单元)聚合为一个较大载荷的技术,其通常发生在媒体存取控制(mediumaccesscontrol,mac)层。具体地说,在mac层接收来自逻辑链路控制(logicallinkcontrol,llc)层的多个msdu。若接收的msdu具有相同的接收端地址(receiveraddress,ra)、传送端地址(transmitteraddress,ta)和服务类型,则可以在mac层采用a-msdu聚合技术将所述多个msdu聚合成a-msdu帧。目前的a-msdu聚合技术通常先将各个msdu封装至a-msdu子帧内,然后将多个a-msdu子帧聚合为a-msdu帧。

然而,当在mac层接收的帧为以太(ethernet)帧时,装置需将以太(ethernet)帧转换为802.11a-msdu子帧格式。

图1a为显示一以太帧格式的示意图。如图1a所示,以太帧可包括一目的地址(destinationaddress,da)位、一源地址(sourceaddress,sa)位、一类型(ethernettype,et)位以及一数据(data)位。目的地地址位及源地址各为6字节数值。类型位为2字节位。数据位的范围为46到1500字节。当装置接收到以太帧后,装置的处理器须先将以太帧内各位(da、sa、et、data)的信息储存在装置的存储器中。

图1b~1d为显示以太帧转换为一a-msdu子帧格式的示意图。如图1b所示,装置系根据一copy指令先复制目的地址位及源地址位,并将目的地地址位及源地址位向左搬移8字节。接着,如图1c所示,装置填入长度(len)位及逻辑链路控制(llc)位至源地址位及类型位之间,其中长度位为2字节位,而逻辑链路控制位为6字节位。最后,一填充(pad)位可被增加至数据位后方,以生成一802.11a-msdu子帧,如图1d所示。

然而,执行大量复制的动作将增加装置搬移数据的次数及装置的中央处理单元资源的消耗。因此,需要一种a-msdu子帧的处理方法及无线网络存取装置,以减少装置执行复制的动作、提升传输效率及改善传输量。



技术实现要素:

以下发明内容仅为示例性的,且不意指以任何方式加以限制。除所述说明性方面、实施方式和特征之外,通过参照附图和下述具体实施方式,其他方面、实施方式和特征也将显而易见。即,以下发明内容被提供以介绍概念、重点、益处及本文所描述新颖且非显而易见的技术优势。所选择,非所有的,实施例将进一步详细描述如下。因此,以下发明内容并不意旨在所要求保护主题的必要特征,也不意旨在决定所要求保护主题的范围中使用。

为减少装置执行复制的动作、提升传输效率及改善传输量,本公开提供一种a-msdu子帧的处理方法及无线网络存取装置。

本公开提出一种a-msdu子帧的处理方法,其中上述a-msdu子帧被封装于一a-msdu封包中,上述方法包括:在接收一以太帧时,在一存储器中规划一第一子区块及与上述第一子区块相邻的一第二子区块,其中上述第一子区块包括一预设字节长度的区块,以及上述第二子区块包括对应一以太帧字节长度的区块,且一读取指示器指向上述第二子区块的一第一起始地址;依照上述以太帧的表头格式依序储存各表头数据于上述第二子区块;在上述第一子区块中填入上述以太帧的长度信息;以及将上述读取指示器往一第一方向移动至距离上述预设字节长度的一第二起始地址;以及由上述第二起始地址开始,向一第二方向读取距离为一长度以内的数据,以产生上述a-msdu子帧,其中上述长度为上述预设字节长度及上述以太帧字节长度的和。

本公开提出一种无线网络存取装置,包括:一控制电路;一处理器,安装至上述控制电路中;以及一存储器,安装至上述控制电路中并且有效地耦接至上述处理器;其中上述处理器配置用以执行一储存于上述存储器中的程序码以执行:在接收一以太帧时,在一存储器中规划一第一子区块及与上述第一子区块相邻的一第二子区块,其中上述第一子区块包括一预设字节长度的区块,以及上述第二子区块包括对应一以太帧字节长度的区块,且一读取指示器指向上述第二子区块的一第一起始地址;依照上述以太帧的表头格式依序储存各表头数据于上述第二子区块;在上述第一子区块中填入上述以太帧的长度信息;以及将上述读取指示器往一第一方向移动至距离上述预设字节长度的一第二起始地址;以及由上述第二起始地址开始,向一第二方向读取距离为一长度以内的数据,以产生上述a-msdu子帧,其中上述长度为上述预设字节长度及上述以太帧字节长度的和。

基于本公开提供的一种a-msdu子帧的处理方法及无线网络存取装置,在每一a-msdu子帧中,每一以太帧维持其原有的格式。而处理器执行指示器移位及填入以太帧长度信息的动作,无须执行以太帧数据的复制动作,以减少处理器搬移数据至存储器中储存,并提高处理器的处理效率及传输量。

附图说明

附图被包括以提供本发明进一步理解且被合并并组成本公开的一部分。附图说明本发明的实施例且连同描述一起用以解释本发明的原理。其可理解附图不一定案比例描绘,一些元件可以超过在实际实施方式的大小来显示,以清楚地说明本公开的概念。

图1a为显示一以太帧格式的示意图。

图1b~1d为显示以太帧转换为一a-msdu子帧格式的示意图。

图2为显示本公开一实施例的一无线网络存取装置的示例功能方块图。

图3为显示根据本公开一实施例所述的一聚合媒体存取服务数据单元子帧。

图4为显示根据本公开一实施例所述的产生a-msdu子帧的方法的流程图。

图5a~5b所示为显示根据本发明一实施例所述的将以太帧封装为一聚合媒体存取服务数据单元子帧的示意图。

图6为显示根据本公开一实施例所述的解封装a-msdu子帧的方法的流程图。

图7a~7b所示为显示根据本发明一实施例所述的将一聚合媒体存取服务数据单元子帧解封装为以太帧的示意图。

附图标记说明:

200无线网络存取装置

202处理器

204存储器

206外壳

208发送器

210接收器

212收发器

214发射天线

218dsp

220总线系统

300聚合媒体存取服务数据单元子帧

310长度位

320以太帧

400方法

s405、s410、s415、s420、s425步骤

520读取指示器

600方法

s605、s610、s615步骤

710读取指示器

具体实施方式

在下文中将参考附图对本公开的各方面进行更充分的描述。然而,本公开可以具体化成许多不同形式且不应解释为局限于贯穿本公开所呈现的任何特定结构或功能。

图2为显示本公开一实施例的一无线网络存取装置200的示例功能方块图。无线网络存取装置200可被配置用以实现本文所描述各种方法的装置的示例。例如,无线网络存取装置200可为无线存取点、无线网络节点或站台等装置。

无线网络存取装置200可包括控制无线网络存取装置200操作的处理器202。处理器202也可被称为中央处理单元(centralprocessingunit,cpu)。可包括只读存储器(read-onlymemory,rom)和随机存取存储器(randomaccessmemory,ram)两者的存储器204向处理器202提供指令和数据。存储器204的一部分还可包括非易挥发性随机存取存储器(non-volatilerandomaccessmemory,nvram)。处理器202通常根据存储器204内储存的程序指令来执行逻辑和算数运算。存储器204中的指令可用以执行实现本文描述的方法。

无线网络存取装置200还可包括外壳206,该外壳206可包括发送器208和接收器210,以允许在无线网络存取装置200与远端位置之间进行数据的传送和接收。发送器208和接收器210可被组合成收发器212。单个或多个发射天线214可被依附至外壳206且电性耦接至收发器212。无线网络存取装置200还可包括(图未示出)多个发送器、多个接收器和多个收发器。无线网络存取装置200还可包括用于处理信号的数字信号处理器(digitalsignalprocessor,dsp)218。

无线网络存取装置200的各个元件可由总线系统220耦接在一起,总线系统220除数据总线外还可包括电源总线、控制信号总线以及状态信号总线。

图3为显示根据本公开一实施例所述的一聚合媒体存取服务数据单元(aggregatedmacservicedataunit,a-msdu)子帧300。a-msdu子帧300包括一以太(ethernet)帧320及位于以太帧之前的一长度(len)位310。长度位310为一2字节(byte)位,其用以指示以太帧320的长度。

以太帧320包括一目的地址(destinationaddress,da)位、一源地址(sourceaddress,sa)位、一类型(ethernettype,et)位以及一数据(data)位。目的地址位及源地址位于以太帧320的前端且各为6字节数值。地址位后方为类型位,其为2字节位并用以指示数据类型。而数据位的范围为46到1500字节。在此一实施例中,以太帧320为依照rfc894规范的以太帧。

以下将说明本公开所提出的a-msdu子帧的处理方法,其中上述处理方法可分为产生a-msdu子帧的处理方法及解封装a-msdu的处理方法。

图4为显示根据本公开一实施例所述的产生一a-msdu(aggregatedmacservicedataunit,a-msdu)子帧的方法400的流程图,其中上述a-msdu子帧被封装于一a-msdu封包中。a-msdu子帧可在无线存取点生成,并被发送到无线网络中的另一个节点或站台。方法400可应用于无线网络存取装置200且描述于下方,但也可以使用其他元件实现本文所描述的一或多个步骤。在一实施例中,无线网络存取装置200搭载linux作业系统,以执行相关步骤。

在步骤s405中,装置在接收一以太(ethernet)帧时,于存储器中规划一第一子区块及与第一子区块相邻的一第二子区块,其中上述第一子区块包括一预设字节长度的区块,以及上述第二子区块包括对应一以太帧字节长度的区块,且一读取指示器指向第二子区块的第一起始地址,请参考图5b中,实线的读取指示器520。读取指示器520用于指向欲读取数据的地址。于本实施例中,读取指示器520初始地指向该第二区块的起始地址。

在步骤s410中,装置依照以太帧的表头格式依序储存各表头数据于上述第二子区块。更详细地说明,如图5a所示,处理器依照以太帧的表头格式依序储存各表头数据于第二子区块中,读取指示器520指向第二子区块的起始地址。

在步骤s415中,装置在第一子区块中填入以太帧的长度信息。本实施例中,处理器依据上述以太帧的数据长度,将以太帧的长度信息写入第一子区块的范围,其中该范围为由起始地址到第二起始地址的区块范围,于本实施例中,该处理器依据fill指令将以太帧的长度信息写入。

在步骤s420中,装置将指向第二子区块起始地址的读取指示器520往第一方向(配合附图说明往左移动)移动至距离为预设字节长度的一第二起始地址,即移动的距离为依据预设字节长度。如图5b中的虚线指示器520表示,于本实施例中,本步骤由处理器依据一push指令执行。于本实施例中,预设字节长度为2byte,亦即可被写入16字节的二元码字串,表示本区块范围被放置的长度信息有65536种的长度信息。但需提醒的是,本领域技术人员可知,预设字节长度可依实际需求调整。

在步骤s425中,装置由上述第二起始地址开始,向一第二方向读取距离为一长度以内的数据,以产生上述a-msdu子帧,其中上述长度为上述预设字节长度及上述以太帧字节长度的和。于本实施例中,处理器依据上述长度,从读取指示器所在的位置开始(即第二起始地址开始),读取到距离该长度的地址为止。处理器在该范围内依序读取的数据即为产生a-msdu子帧的数据。需说明的是,上述长度为预设字节长度及以太帧长度和后所得到的长度。因此,处理器可依据读取指示器及长度信息,由第二起始地址开始读取该长度范围内的数据即可产生a-msdu子帧。于本实施例中,步骤s425由处理器执行。于另一实施例中,也可由处理器指示其他模块执行,例如一直接存储器存取模块(directmemoryaccess,dma)。由上述可知,a-msdu子帧由原以太帧的表头格式添加以太帧的长度信息所组成。此外,上述步骤说明单一a-msdu子帧的产生步骤,其中该a-msdu子帧亦包含补充码(padding)。虽然本实施例未详加说明,但本领域技术人员可以了解a-msdu子帧可视需要包含补充码(padding)。此外,上述步骤仅公开产生单一a-msdu子帧的过程,实作上,a-msdu封包是由两个以上的a-msdu子帧所组成,仅需视需要重复上述步骤s410~步骤s425即可,于此不再赘述。

由上述可知,在每一a-msdu子帧中,每一以太帧维持其原有的格式。而处理器执行指示器移位及填入以太帧长度信息的动作,无须执行以太帧数据的复制动作,以减少处理器搬移数据至存储器中储存,并提高处理器的处理效率及传输量(throughput)。

图6为显示根据本公开一实施例所述的解封装一a-msdu子帧的方法600的流程图。包含多个a-msdu子帧的a-msdu封包可在无线网络中的一节点、站台或无线存取点中被接收。尽管方法600用无线网络存取装置200的元件描述于下方,但也可以使用其他元件实现本文所描述的一或多个步骤。在一实施例中,无线网络存取装置200搭载linux作业系统,以执行相关步骤。

在步骤s605中,装置接收并储存封装有a-msdu子帧的一a-msdu封包于一存储器中,其中一读取指示器指向储存所述a-msdu封包的一第一起始地址。具体来说,于本实施例中的网络装置在接收a-msdu封包时,处理器将a-msdu封包储存于存储器中。读取指示器初始指向储存a-msdu封包位置的起始地址处,如图7a中实线指示器710所示。

在步骤s610中,装置将上述读取指示器往一第二方向移动至距离一预设字节长度的一第二起始地址,并根据在上述预设字节长度以内的数据取得一长度信息。请参考图7a所示,于本实施例中,处理器依据一pull指令将读取指示器710往第二方向移动,移动至距离为预设字节长度的地址,即第二起始地址,如图7a中的虚线读取指示器710所示。处理器根据起始地址至第二起始地址的范围内数据读取出长度信息。其中,长度信息即代表在a-msdu封包中,第一以太帧的字节长度。

在步骤s615中,装置依据上述长度信息,由第二起始地址开始,往第二方向依序读取对应上述长度信息的一长度范围内的数据以取得以太帧。于本实施例中,处理器依据前面步骤所取得的长度信息,由第二起始地址开始,读取至对应长度信息的距离其所在地址,并依序读取该范围内的数据以取得第一以太帧。重复执行步骤s610~s615步骤即可继续取得第二以太帧。

由上述可知,处理器无须执行复制搬移的动作,仅需依据长度信息连续读取存储器中对应长度信息内的数据即可解封装a-msdu封包中的各个以太帧。

以上所描述方法的各种操作可由能够执行相应功能的任何适合的装置来执行。这些装置可包括各种硬件和/或软件元件和/或模块,包括但不局限于电路、特殊应用集成电路(applicationspecificintegratedcircuit,asic)、或处理器。

结合本公开所描述的方法或演算法步骤可直接在硬体中、在由处理器执行的软件模块中、或在这两者的组合中实现。软件模块可驻留在本领域所知的任何形式的储存介质中。可使用的储存介质的一些示例包括随机存取存储器(randomaccessmemory,ram)、只读存储器(readonlymemory,rom)、快闪存储器、eprom存储器、eeprom存储器、暂存器、硬盘、活动磁盘、cd-rom等等。软件模块可包括单一指令、或许多指令,且可分布在若干不同的程序码片段上、分布在不同的程序间以及跨多个储存介质分布。储存介质可被耦接到处理器以使得该处理器能从/向该储存介质读写信息。在替换方案中,储存介质可以被整合至处理器中。

本文所公开的方法包括用于实现所描述方法的一或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。

此外,应可理解的是,用于执行本文中所描述的方法和技术的模块和/或其它合适装置能由使用者终端和/或基站在适用的场合下载和/或以其他方式获得。例如,此类设备能被耦接至服务器以促成用于执行本文中所描述的方法的装置的转移。替换地,本文所述的各种方法能经由储存装置(例如,ram、rom、像是cd或软盘等物理储存介质等)来提供,以使得一旦将该储存装置耦接至或提供给使用者终端和/或基站,该设备就能获得各种方法。此外,向装置提供本文中所描述的方法和技术的任何其他适合的技术也可被使用。

权利要求中用以修饰元件的“第一”、“第二”、“第三”、“第四”等序数词的使用本身未暗示任何优先权、优先次序、各元件之间的先后次序、或方法所执行的步骤的次序,而仅用作标识来区分具有相同名称(具有不同序数词)的不同元件。

虽然本公开已以实施范例公开如上,然其并非用以限定本案,任何本领域技术人员在不脱离本公开的精神和范围内,当可做些许变动与润饰,因此本案的保护范围当视以权利要求所界定者为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1