CN118057876A - 块确认帧生成方法、设备及计算机可读存储介质 - Google Patents
块确认帧生成方法、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN118057876A CN118057876A CN202211470701.2A CN202211470701A CN118057876A CN 118057876 A CN118057876 A CN 118057876A CN 202211470701 A CN202211470701 A CN 202211470701A CN 118057876 A CN118057876 A CN 118057876A
- Authority
- CN
- China
- Prior art keywords
- bit width
- block acknowledgement
- frame
- mpdu
- length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000006854 communication Effects 0.000 claims abstract description 45
- 238000004891 communication Methods 0.000 claims abstract description 44
- 230000002776 aggregation Effects 0.000 claims abstract description 34
- 238000004220 aggregation Methods 0.000 claims abstract description 34
- 238000012790 confirmation Methods 0.000 claims description 13
- 238000012216 screening Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 14
- 239000002699 waste material Substances 0.000 abstract description 8
- 239000012634 fragment Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 108700026140 MAC combination Proteins 0.000 description 2
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 1
- 101100184749 Caenorhabditis elegans mpdu-1 gene Proteins 0.000 description 1
- 101000576989 Homo sapiens Mannose-P-dolichol utilization defect 1 protein Proteins 0.000 description 1
- 102100025297 Mannose-P-dolichol utilization defect 1 protein Human genes 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000005587 bubbling Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Communication Control (AREA)
Abstract
本申请公开了一种块确认帧生成方法、设备及计算机可读存储介质,块确认帧生成方法包括:在接收到发送端发送的媒体接入控制协议数据单元MPDU聚合帧之后,解析所述MPDU聚合帧中每个MPDU帧对应的序列号;根据所述MPDU聚合帧确定待反馈块确认帧,并基于所述序列号确定所述待反馈块确认帧中块确认位图字段的初始位宽长度;确定所述发送端对应的通信协议,根据所述通信协议对所述初始位宽长度进行调整得到目标位宽长度;根据所述目标位宽长度对所述待反馈块确认帧进行调整,得到最终生成的块确认帧。本申请避免了由于块确认位图长度冗余导致传输资源浪费的现象发生。
Description
技术领域
本申请涉及通信技术领域,涉及一种块确认帧生成方法、设备及计算机可读存储介质。
背景技术
在基于IEEE 802.11协议的标准中规定,当接收设备接收到多个MPDU(MACprotocol data unit,媒体访问控制协议数据单元)聚合的聚合帧时,需向发送设备回复BA(Block Acknowledgment,块确认)帧,该BA帧中包含块确认位图域,块确认位图域中的每位对应所有需反馈是否被正确接收的MPDU帧中的一个,现有标准规定,块确认位图的长度为固定值,但是在大多数情况下,实际传输的MPDU帧的聚合度往往达不到固定值,造成块确认位图长度冗余,从而导致传输资源的浪费。
发明内容
本申请的主要目的在于提供一种块确认帧生成方法、设备及计算机可读存储介质,旨在解决由于块确认位图长度冗余导致的传输资源浪费的技术问题。
为实现上述目的,本申请提供一种块确认帧生成方法,包括以下步骤:
在接收到发送端发送的媒体访问控制协议数据单元MPDU聚合帧之后,解析所述MPDU聚合帧中每个MPDU帧对应的序列号;
根据所述MPDU聚合帧确定待反馈块确认帧,并基于所述序列号确定所述待反馈块确认帧中块确认位图字段的初始位宽长度;
确定所述发送端对应的通信协议,根据所述通信协议对所述初始位宽长度进行调整得到目标位宽长度;
根据所述目标位宽长度对所述待反馈块确认帧进行调整,得到最终生成的块确认帧。
此外,为实现上述目的,本申请还提供一种块确认帧生成设备,所述块确认帧生成设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上执行的块确认帧生成程序,所述块确认帧生成程序被所述处理器执行时实现如上述的块确认帧生成方法的步骤。
此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有块确认帧生成程序,所述块确认帧生成程序被处理器执行时实现如上述的块确认帧生成方法的步骤。
本申请通过在接收到发送端发送的媒体接入控制协议数据单元MPDU聚合帧之后,根据MPDU聚合帧确定待反馈块确认帧,根据MPDU聚合帧每个MPDU帧的序列号确定待反馈块确认帧中块确认位图字段的初始位宽长度,在基于发送端对应的通信协议对初始位宽长度进行动态调整,得到符合通信协议标准的目标位宽长度,并根据目标位宽长度对待反馈块确认帧进行调整得到最终的块确认帧,使得生成的块确认帧包括的块确认位图使用目标位宽长度,而无需使用固定长度值,从而避免了由于块确认位图长度的冗余导致传输资源浪费的现象发生。
附图说明
图1是本申请实施例方案涉及的硬件运行环境的终端\装置结构示意图;
图2为本申请块确认帧生成方法中第一实施例的流程示意图;
图3为本申请块确认帧生成方法典型的媒体访问控制协议数据单元聚合帧(AMPDU)的说明性示意图;
图4为本申请块确认帧生成方法中的块确认帧流程示意图;
图5为本本申请块确认帧生成方法典型的媒体访问控制协议数据单元(MPDU)的说明性示意图;
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,图1为本申请实施例方案涉及的硬件运行环境的块确认帧生成设备结构示意图。
如图1所示,该块确认帧生成设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对块确认帧生成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及块确认帧生成程序。
在图1所示的块确认帧生成设备中,网络接口1004主要用于与其他设备进行数据通信;用户接口1003主要用于与用户进行数据交互;本申请块确认帧生成设备中的处理器1001、存储器1005可以设置在块确认帧生成设备中,所述块确认帧生成设备通过处理器1001调用存储器1005中存储的块确认帧生成程序,并执行本申请实施例提供的块确认帧生成方法。
参照图2,本申请提供一种块确认帧生成方法,在块确认帧生成方法的第一实施例中,块确认帧生成方法包括以下步骤:
步骤S10,在接收到发送端发送的媒体访问控制协议数据单元MPDU聚合帧之后,解析所述MPDU聚合帧中每个MPDU帧对应的序列号;
MPDU聚合帧是一种MAC(Medium Access Control,媒体访问控制)层帧聚合机制,帧聚合机制采用帧聚合技术解决在通信过程中由于信道的竞争所产生的冲突,以及为解决冲突而引入的退避机制都造成了系统的吞吐量大大降低的问题。其中帧聚合技术又包含针对MSDU(MAC Service Data Unit,媒体访问控制服务数据单元)帧的聚合(即A-MSDU)和针对MPDU(MAC Protocol Data Unit,媒体访问控制协议数据单元)帧的聚合(即A-MPDU)。需要说明的是在无线网络安全中,MSDU帧是以太网报文,经过添加完整性校验、分帧、省电模式下报文缓存、加密、序列号赋值、循环冗余校验、MAC头之后成为MPDU帧,即MPDU帧就是指的经过802.11协议封装过的数据帧。当无线访问接入点或无线客户端从协议栈接收到MSDU帧时,会将MSDU帧打上以太网报文头,称之为AMSDU子帧,而AMSDU技术旨在将若干个AMSDU子帧按照802.11协议格式封装成一个MPDU报文单元,即是AMPDU子帧,在将经过802.11协议封装后的若干个AMPDU子帧聚合得到AMPDU帧。
此外,802.11协议规定当接收设备接收到一个AMPDU帧时,需向发送设备回复一个块确认帧,其中,该块确认帧中包含一个块确认位图域,该块确认位图域中的每一位对应所有需反馈是否被正确接收的MPDU帧中的一个。且在802.11n协议和802.11ac协议中均规定块确认位图域的长度为固定的64比特,而802.11ax协议对于块确认帧中块确认位图域的长度固定为64比特或256比特,具体使用哪个固定长度由AMPDU帧的发送设备与接收设备建立交互双方协商确定。但是在大多数情况下,实际传输的MPDU的聚合度往往达不到协议规定的固定值,造成块确认位图的浪费。尤其在最新的802.11be协议草案中,块确认位图域长度的固定值已经增加到了1024比特,块确认位图长度冗余情况更加明显,而块确认位图长度冗余又造成了传输资源的浪费。
因此,在本实施例中,块确认位图字段的位宽长度不在使用发送设备与接收设备通信之前协商确定的固定值,而是先从MPDU聚合帧中每个MPDU帧中帧控制序列字段提取出对应的序列号,根据提取出的序列号确定块确认位图字段的初始位宽长度,再根据发送设备与接收设备之间使用的通信协议对此初始位宽长度进行动态调整以使最终确定的块确认帧中块确认位图字段的位宽长度在符合通信协议规定长度标准基础上降低长度冗余。
可选地,发送设备在发送MPDU聚合帧之前会给MPDU聚合帧中每个MPDU帧分配一个唯一的序列号,且一个MPDU聚合帧中的MPDU帧以连续编号的方式分配序列号,并将序列号封装在MPDU帧的序列控制字段,然后以MPDU聚合帧发送到接收设备。举例来说,假设一个MPDU聚合帧包括X个MPDU帧,记为(MPDU1、MPDU2、MPDU3......MPDUX),可为第一MPDU1分配序列“1”,则依次为MPDU2分配序列号“2”,为MPDU3分配序列号“3”,并且为MPDUX分配序列号“X”。在示例实施例中,被分配了序列号“K”的MPDU可被称为MPDU“K”(MPDUK)。
此外,在另一场景中,发送设备可以间隔固定时间向接收设备发送相邻的AMPDU,可选地,固定时间为短帧间间隔,并向接收设备发送块确认请求,在此情况下,接收设备就是对连续接收到的多个AMPDU的生成块确认帧向发送设备回复AMPDU中每个MPDU帧的接收状态。
此外,在另一场景中,接收设备还可以接收发送设备发送的其他具有AMPDU结构的其他聚合帧,如PPDU(physical layer convergence procedure Protocol Data Unit,物理层汇聚过程协议数据单元),可选地,一个采用AMPDU结构的PPDU可以包含至少一个MPDU,其中包含的各个MPDU可以属于不同的帧类型,也可以具有不同的源地址或目的地址,但一个PPDU中包含的所有MPDU是发送给同一接收设备的,即具有相同的接收地址。接收设备根据对至少一个发送设备中的每个发送设备发送的至少一个PPDU中的至少一个MPDU的接收情况生成块帧之后,便可以分别向该至少一个发送设备中的每个发送设备发送该块确认帧。
需要说明的是,本申请实施例中所述的接收设备可以是接入点,相应的,所述的发送设备是工作站;或者,所述的接收设备可以是工作站,相应的,所述的发送设备是接入点;或者,所述的接收设备可以是工作站,相应的,发送设备也是工作站。总之,所述发送设备和所述接收设备都是支持通信协议的设备,其中通信协议包括802.11协议。
步骤S20,根据所述MPDU聚合帧确定待反馈块确认帧,并基于所述序列号确定所述待反馈块确认帧中块确认位图字段的初始位宽长度;
接收设备在接收到发送设备发送的MPDU聚合帧之后,生成待填入块确认位图字段的待反馈块确认帧,需要说明的是,除待填入块确认位图字段外,所述待反馈块确认帧中的其他字段的生成方法具体参考IEEE802.11协议,这里不在详述。可选地,待反馈块确认帧可以由各个不同的字段组成,例如由控制、持续时间、地址、块确认、帧校验序列等字段组成,参见图3,图3是待反馈块确认帧格式的示例性实施例的图,如图3所示,待反馈块确认帧由2个字节长的帧控制字段、2个字节长的持续时间字段、6个字节长的接收地址字段、6个字节长的发送地址字段、2个字节长的块确认控制字段、可变长的块确认信息字段、4字节长的帧校验序列字段组成,其中块确认信息字段又由2字节长的每一业务信息字段、2字节长的块起始序列控制字段、可变长的块确认位图字段组成。其中,待反馈块确认帧用于向发送设备反馈MPDU聚合帧中每个MPDU帧的接收状态。
并且,由于一个MPDU聚合帧中以连续编号的方式赋予每个MPDU帧一个唯一的序列号,故接收设备可以根据正确接收的发送设备发送的MPDU聚合帧中的MPDU帧最大序列号和最小序列号的差值,确定需反馈是否被正确接收的MPDU的个数,作为待反馈块确认帧中块确认位图字段的初始位宽长度。
此外,在另一场景中,若接收设备确定所有正确接收的发送设备发送的MPDU中,存在至少一个MPDU的被正确接收的最大分片编号大于或等于8,则确定反馈MPDU是否被正确接收所需的字节数为2字节,即初始位宽长度为2字节。其中,分片编号的取值范围为0~15。若接收设备确定所有正确接收的发送设备发送的MPDU中,所有MPDU的被正确接收的最大分片编号均小于8,则确定反馈MPDU是否被正确接收所需的字节数为1字节,即初始位宽长度为1字节。例如,某个MPDU包含10个分片,但接收设备仅正确接收到其中4个。若被正确接收的分片为编号分别为1、3、4、5的分片,此时,最大分片编号为5,小于8,那么此时,确定的反馈MPDU是否被正确接收所需的字节数为1字节;若被正确接收的分片为编号分别为1、3、5、13的分片,此时,最大分片编号为13,大于8,那么此时,确定的反馈MPDU是否被正确接收所需的字节数为2字节。
步骤S30,确定所述发送端对应的通信协议,根据所述通信协议对所述初始位宽长度进行调整得到目标位宽长度;
网络中不同的工作站、服务器之间能传输数据,源于协议的存在。为了使通信成功可靠,通信系统之间为了完成通信需要遵循一定的规则和约定,即通信协议。通信协议定义了通信过程以及细节规则。可选地,通信协议规定了数据包格式、字段的内容、字段的含义、发送的时间、接收的时间等细节。其中,数据包格式中又定义了表示数据的进制与数据长度标准,举例来说,本实施例中的通信协议可以包括TCP/IP协议、IPX/SPX协议与802.11协议等。
在本实施中,优选的,使用802.11通信协议,802.11协议提出的块确认机制包括检查AMPDU中的所有MPDU帧均包含的帧校验序列,通过块确认帧中包含的块确认位图指示每一个MPDU的接收状态(一一对应),块确认位图中的每一个比特对应指示块确认起始序列控制字段中对应序列号的MPDU的接收状态。需要说明的是,发送设备若没有收到应答块确认帧,则认为AMPDU中所有MPDU帧发送失败,需要重传发送失败的MPDU帧;若收到块确认帧,则发送设备可以清除块确认成功应答的MPDU帧,继续重传没有应答的MPDU帧。
在本实施例中,根据所有MPDU帧中的最大序列号和最小序列号的差值确定块确认位图字段的初始位宽长度之后,由于此初始位宽长度根据差值得到,数值具有随机性,可能存在不符合802.11协议规定的数据传输长度标准,因此需要根据符合802.11协议的标准位宽值集对初始位宽长度进行调整,从标准位宽值集中选择一个比初始位宽长度大此又最接近初始位宽长度符合目标位宽长度。其中,标准位宽值集由符合通信协议传输数据的长度规则自行确定。举例来说,如802.11协议规定传输的数据长度要求是2的整数倍,因此可以假设一个802.11协议的标准位宽值集是(8比特,64比特,256比特,1024比特),基于此接收设备接收到的一个MPDU聚合帧中MPDU帧的最小序列号为1,最大序列号为63,则将最大序列号与最小序列号作差得到初始位宽长度为62比特,在将62比特与标准位宽值集(8比特,64比特,256比特,1024比特)比较,选择一个比62比特大且最近62比特的数值,即为64比特作为目标位宽长度。
步骤S40,根据所述目标位宽长度对所述待反馈块确认帧进行调整,得到最终生成的块确认帧。
接收设备与发送设备建立通信连接时,会协商确定块确认位图字段的长度,并在接收到MPDU聚合帧后待反馈块确认帧会根据每个MPDU帧的接收状态生成接收状态序列,若判断到所述接收状态序列的比特长度不是协商确定的位图字段长度,会进行尾部补零处理,直至所述接收状态序列的比特长度达到协商确定的块确认位图字段长度的,则将所述接收状态序列作为初始块确认位图序列。
此外,在另一场景中,若判断到所述接收状态序列的比特长度为8的整数倍,则将所述接收状态序列作为所述初始的块确认位图序列,若判断到所述接收状态序列的比特长度不是8的整数倍,则对所述接收状态序列进行尾部补零处理,直至所述接收状态序列的比特长度为8的整数倍为止,并将补零后的接收状态序列作为所述初始块确认位图序列。
在本实施例中,不使用接收设备与发送设备协商确定的块确认位图字段长度,而是使用目标位宽长度作为块确认位图字段的长度,因此需要根据目标位宽长度对待反馈确认帧中初始块确认位图序列的长度进行调整,从初始块确认位图序列第一比特位开始选择目标位宽长度的位图序列得到最终的块确认位图序列,并将此位图序列填入待反馈块确认帧的块确认位图字段,得到最终形成的块确认帧。
此外,在另一场景中,可以根据MPDU帧的接收状态直接生成目标位宽长度的块确认位图序列,并将此块确认位图序列填入待反馈块块确认帧的块确认位图字段,得到最终形成的块确认帧。
此外,为辅助理解本实施例中的块确认帧方法流程的理解,下面进行举例说明。
如图4所示,块确认帧的生成可包括如下步骤:步骤101,接收设备接收到发送设备发送的一个AMPDU帧之后,解析AMPDU中每个MPDU帧的序列号;步骤102,记录所有MPDU帧中序列号的最大值和最小值,以最大值和最小值的差值做为块确认位图的位宽初始值;步骤103,将块确认位图的位宽初始值与协议定义的档位比较,将协议档位与块确认位图初始位宽相比对位宽初始值进行调整,得到比位宽初始值大且最接近的档位作为最终的块确认位图的位宽;步骤104,接收设备根据最终的位宽发送块确认帧发送至发送设备。
在本实施例中,通过在接收到发送端发送的媒体接入控制协议数据单元MPDU聚合帧之后,根据MPDU聚合帧确定待反馈块确认帧,根据MPDU聚合帧每个MPDU帧的序列号确定待反馈块确认帧中块确认位图字段的初始位宽长度,在基于发送端对应的通信协议对初始位宽长度进行动态调整,得到符合通信协议标准的目标位宽长度,并根据目标位宽长度对待反馈块确认帧进行调整得到最终的块确认帧,使得生成的块确认帧包括的块确认位图使用目标位宽长度,而无需使用固定长度值,从而避免了由于块确认位图长度的冗余导致传输资源浪费的现象发生。
进一步地,基于上述本申请的第一实施例,提出本申请设备对接防火墙方法的第二实施例,在本实施例中,上述实施例步骤S30,确定所述发送端对应的通信协议,根据所述通信协议对所述初始位宽长度进行调整得到目标位宽长度步骤的细化,包括:
步骤a,获取所述通信协议对应的所有标准位宽值,根据各所述标准位宽值构建标准位宽值集;
802.11协议是国际电工电子工程学会(IEEE)为无线局域网络制定的标准,为保证数据传输的可靠性,基于802.11的协议规定每收到一个MPDU聚合帧,都需要回应一个块确认帧,目前主流使用的802.11协议主要有802.11n、802.11ax、802.11ac等。其中以802.11n协议的使用范围最广。
802.11协议主要工作在物理层和数据链路层,因此802.11协议中通常采用2进制表示数据,相应的802.11协议规定传输数据包的数据长度可要求是2的整数倍,进一步地,也可由802.11协议提前规定块确认帧中块确认位图字段能够使用的所有长度值(即标准位宽值),由这些标准位宽值组成一个集合(即标准位宽值集)。例如,假设802.11协议规定块确认位图字段能够使用的长度值有8比特、64比特、256比特、1024比特,那么根据这些长度值构建的标准位宽值集即为(8比特、64比特、256比特、1024比特)。
步骤b,根据所述标准位宽值集与所述初始位宽长度确定目标位宽长度。
确定了由通信协议规定的标准位宽值集之后,从标准位宽值集中选择出最接近初始位宽长度的标准位宽值作为目标位宽长度,并将此目标位宽长度作为块待反馈块确认帧中块确认位图字段的长度。
在本实例中,根据MPDU帧最大序列号与最小序列号差值得到待反馈块确认帧中块确认位图字段的初始位宽长度之后,在根据协议规定的标准位宽值集对初始位宽长度进行动态调整,确定确认位图字段的长度(即目标位宽长度),使得块确认位图字段的长度能够符合通信协议的标准,进而确保了最终生成的块确认帧能够被正确有效的传输。
具体地,所述根据所述标准位宽值集与所述初始位宽长度确定目标位宽长度,包括:
步骤b1,在所述标准位宽值集的各所述标准位宽值中筛选出大于或等于所述初始位宽长度的所有子标准位宽值;
步骤b2,根据所述初始位宽长度与各所述子标准位宽值确定目标位宽长度。
在本实例中,从标准位宽值集中选择出从大于或者等于初始位宽长度的所有标准位宽值(即子标准位宽值),举例来说,假设一个标准位宽值集为(8比特、64比特、256比特、1024比特),根据MPDU帧序列号计算得到的初始位宽长度为63比特,则标准位宽值集中大于或者等于63比特的有64比特、256比特与1024比特,即相应的所有子标准位宽值为(64比特、256比特、1024比特)。然后再从所有子标准位宽值中选择出最接近初始位宽长度的长度值作为块确认位图字段的目标位宽长度,确保了最终块确认位图字段的长度足够表示所有需要反馈接收状态MPDU帧的个数。
具体地,所述根据所述初始位宽长度与各所述子标准位宽值确定最终位宽长度,包括:
步骤b21,确定各所述子标准位宽值与所述初始位宽长度之间的第一差值,并确定各所述第一差值中的最小差值;
步骤b22,将所述最小差值对应的子标准位宽值作为目标位宽长度。
在本实施例中,使用差值算法计算子标准位宽值与的初始位宽长度的差值(即第一差值),其中差值算法可以是相对偏差算法、绝对值差算法等,此外可以使用排序算法对所有第一差值从小到大进行排序,其中排序算法可以是冒泡排序、希尔排序、快速排序、归并排序与堆排序等。将第一差值从小到大排序完成后排在首位的第一差值即为最小差值,然后将此最差值对应的子标准位宽值作为待反馈块确认帧中块确认位图字段的目标位宽长度。
此外,在另一场景中,可以使用排序算法对标准位宽值集中的所有标准位宽值从小到大进行排序,按照排序后的顺序依次将标准位宽值与初始位宽长度进行比较,首次比较出大于或者等于初始位宽长度的标准位宽值后就退出比较流程,并将首次比较出的标准位宽值作为目标位宽长度。
在本实施例中,从所有子标准位宽中选择最接近初始位宽长度的子标准位宽值作为块确认位图字段的目标位宽长度,从而使得块确认位图字段的长度符合802.11协议规定标准且减少长度冗余,并且使用排序算法可以减少数值之间的比较次数,提高了确定目标位宽长度的简捷性与高效性。
步骤c,确定所述MPDU聚合帧中每个MPDU帧的媒体访问控制MAC头信息,从所述MAC头信息的序列控制字段提取所述MPDU帧对应的序列号。
MPDU帧可以由MAC头与帧主体等字段组成,可以参见图5,图5是示出MPDU帧格式的示例性实施例的图。如图5所示,MPDU帧由MAC头、可变长的帧主体字段、4字节长的帧校验序列(FCS,Frame Check Sequence)字段组成,其中MAC头由2字节长的帧控制字段、2字节长的持续时间/标识(ID,Identity)字段、6字节长的接收设备地址(地址1)字段、6字节长的发送设备地址(地址2)字段、6字节长的目的地址(地址3)字段、2字长的序列控制字段、6字节长的第四地址(地址4)字段、2字节长的服务质量(QoS,Quality of Service)控制字段、4字节长的高吞吐量(HT,HyperTransport)控制字段组成。并且MPDU帧对应的序列号承载于MAC头部的序列控制字段中。
步骤d,在所述序列号为多个之后,将各所述序列号的值之间进行比较,基于比较结果确定各所述序列号中的最大序列号与最小序列号;
在MPDU聚合帧中,每个MPDU帧用序列号来标识此MPDU帧在MPDU聚合帧中所处的位置,因此可以根据MPDU帧的序列号确定接收设备接收到需要反馈接收状态的MPDU帧个数,需要说明的是,所有序列号中最大序列号与所述最小序列号的差值即为需要反馈接收状态的MPDU帧个数,并将此差值作为待反馈块确认中确认位图字段的初始位宽长度。
步骤e,确定所述最大序列号与所述最小序列号的第二差值,将所述第二差值作为所述块确认位图字段的初始位宽长度;
在本实例中,将MPDU帧的所有序列号中最大序列号与最小序列号的差值(即第二差值)作为待反馈块确认中确认位图字段的初始位宽长度,然后在根据通信协议对初始位宽长度进行动态调整,得到符合通信协议标准的目标位宽长度,最后根据目标位宽长度生成最终块确认帧,使得块确认帧的块确认位图字段长度不使用协议协商的确定值,而是根据实际需要反馈接收状态的MPDU帧个数确定块确认位图字段的长度,减少了块确认位图字段的长度冗余。
步骤f,在所述序列号为一个之后,将预设位宽值作为所述块确认位图字段的初始位宽长度。
因为MPDU聚合帧中每个MPDU帧对应一个唯一的序列号,因此序列号仅有一个即代表接收设备接收到的MPDU聚合帧中仅包含一个MPDU帧,此时可以将预设位宽值作为块确认位图字段的初始位宽长度,其中,预设位宽值可以使是用户提前设置的任意值,如2比特。
在本实例中,确定MPDU聚合帧中仅包含一个MPDU帧后,将初始位宽长度设置为预设位宽值,为之后根据通信协议标准确定目标位宽长度提供了数据基础。
步骤g,根据所述MPDU聚合帧中每个MPDU帧的接收状态生成块确认位图序列,将所述块确认位图序列的长度调整为与所述目标位宽长度相等;
接收设备在接收到MPDU聚合帧会根据MPDU聚合帧中每个MPDU帧的接收状态生成块确认位图序列,块确认位图序列中每一比特用于指示AMPDU中按序列号顺序的一个MPDU帧接收状态。可选地,当一个MPDU的接收状态为正确接收时,该MPDU在所述接收状态序列中的元素取值为1,当一个MPDU的接收状态为未正确接收时,该MPDU在所述接收状态序列中的元素取值为0。举例来说,如果一个MPDU聚合帧中有4个MPDU帧分别为被正确接收、未被正确接收、未被正确接收、被正确接收,则这4个MPDU帧的接收序列为(1001)。此外,如果接收设备与发送设备协商确定的块确认位图字段长度为64比特,则会对1001序列尾部进行补0处理直至该序列长度达到64比特。
本实施例中块确认位图字段长度使用目标位宽长度,因此需要对块确认位图序列的长度进行调整,选择从第一比特位开始长度为目标位宽长度的块确认位图序列填入待反馈块确认帧中,得到最终的块确认帧。
步骤h,根据调整后的所述块确认位图序列填写所述待反馈块确认帧中的块确认位图字段,得到最终生成的块确认帧。
在本实例中,将由MPDU帧接收状态生成的块确认位图序列的长度调整为符合通信协议标准的目标位宽长度,并将此块确认位图序列填入块确认位图字段生成块确认帧,降低了块确认帧块位图字段长度的冗余,进而减少了传输资源的浪费。
此外,本申请实施例还提出一种块确认帧生成设备,块确认帧生成设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上执行的块确认帧生成程序,所述块确认帧生成程序被所述处理器执行时实现如上述的块确认帧方法的步骤。
此外,为实现上述目的,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有块确认帧生成程序,块确认帧生成程序被处理器执行时实现如上述的块确认帧生成方法的步骤。
本申请计算机可读存储介质具体实施方式与上述块确认帧方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个块确认帧生成”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种块确认帧生成方法,其特征在于,包括:
在接收到发送端发送的媒体访问控制协议数据单元MPDU聚合帧之后,解析所述MPDU聚合帧中每个MPDU帧对应的序列号;
根据所述MPDU聚合帧确定待反馈块确认帧,并基于所述序列号确定所述待反馈块确认帧中块确认位图字段的初始位宽长度;
确定所述发送端对应的通信协议,根据所述通信协议对所述初始位宽长度进行调整得到目标位宽长度;
根据所述目标位宽长度对所述待反馈块确认帧进行调整,得到最终生成的块确认帧。
2.如权利要求1所述的块确认帧生成方法,其特征在于,所述根据所述通信协议对所述初始位宽长度进行调整得到目标位宽长度,包括:
获取所述通信协议对应的所有标准位宽值,根据各所述标准位宽值构建标准位宽值集;
根据所述标准位宽值集与所述初始位宽长度确定目标位宽长度。
3.如权利要求2所述的块确认帧生成方法,其特征在于,所述根据所述标准位宽值集与所述初始位宽长度确定目标位宽长度,包括:
在所述标准位宽值集的各所述标准位宽值中筛选出大于或等于所述初始位宽长度的所有子标准位宽值;
根据所述初始位宽长度与各所述子标准位宽值确定目标位宽长度。
4.如权利要求3所述的块确认帧生成方法,其特征在于,所述根据所述初始位宽长度与各所述子标准位宽值确定目标位宽长度,包括:
确定各所述子标准位宽值与所述初始位宽长度之间的第一差值,并确定各所述第一差值中的最小差值;
将所述最小差值对应的子标准位宽值作为目标位宽长度。
5.如权利要求1所述的块确认帧生成方法,其特征在于,所述并基于所述序列号确定所述块确认位图字段的初始位宽长度,包括:
在所述序列号为多个之后,将各所述序列号的值之间进行比较,基于比较结果确定各所述序列号中的最大序列号与最小序列号;
确定所述最大序列号与所述最小序列号的第二差值,将所述第二差值作为所述块确认位图字段的初始位宽长度。
6.如权利要求1所述的块确认帧生成方法,其特征在于,所述并基于所述序列号确定所述块确认位图字段的初始位宽长度,包括:
在所述序列号为一个之后,将预设位宽值作为所述块确认位图字段的初始位宽长度。
7.如权利要求1所述的块确认帧生成方法,其特征在于,所述根据所述目标位宽长度对所述待反馈块确认帧进行调整,得到最终生成的块确认帧,包括:
根据所述MPDU聚合帧中每个MPDU帧的接收状态生成块确认位图序列,将所述块确认位图序列的长度调整为与所述目标位宽长度相等;
根据调整后的所述块确认位图序列填写所述待反馈块确认帧中的块确认位图字段,得到最终生成的块确认帧。
8.如权利要求1所述的块确认帧生成方法,其特征在于,所述解析所述MPDU聚合帧中每个MPDU帧对应的序列号,包括:
确定所述MPDU聚合帧中每个MPDU帧的媒体访问控制MAC头信息,从所述MAC头信息的序列控制字段提取所述MPDU帧对应的序列号。
9.一种块确认帧生成设备,其特征在于,所述块确认帧生成设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上执行的块确认帧生成程序,所述块确认帧生成程序被所述处理器执行时实现如权利要求1至8任一项所述的块确认帧生成方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有块确认帧生成程序,所述块确认帧生成程序被处理器执行时实现如权利要求1至8任一项所述的块确认帧生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211470701.2A CN118057876A (zh) | 2022-11-21 | 2022-11-21 | 块确认帧生成方法、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211470701.2A CN118057876A (zh) | 2022-11-21 | 2022-11-21 | 块确认帧生成方法、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118057876A true CN118057876A (zh) | 2024-05-21 |
Family
ID=91069213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211470701.2A Pending CN118057876A (zh) | 2022-11-21 | 2022-11-21 | 块确认帧生成方法、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118057876A (zh) |
-
2022
- 2022-11-21 CN CN202211470701.2A patent/CN118057876A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6301249B1 (en) | Efficient error control for wireless packet transmissions | |
US7586948B2 (en) | Packet sub-frame structure for selective acknowledgment | |
US6076114A (en) | Methods, systems and computer program products for reliable data transmission over communications networks | |
JP5280465B2 (ja) | 拡張されたブロック確認応答 | |
RU2461147C2 (ru) | Способ обработки радиопротокола в системе подвижной связи и передатчик подвижной связи | |
US7729665B2 (en) | Down-link data transmission and receiving system and method of ARQ in wireless communication system | |
US20190036651A1 (en) | Communication method and communication apparatus for block acknowledgment transmission | |
CN113316974B (zh) | 数据帧的聚合 | |
US8976814B2 (en) | Method of transporting data from sending node to destination node | |
US20030108044A1 (en) | Stateless TCP/IP protocol | |
TW201922044A (zh) | 多業務標識符的聚合媒體存取控制協定資料單元傳輸 | |
CN109120540B (zh) | 传输报文的方法、代理服务器和计算机可读存储介质 | |
CN111131179B (zh) | 业务处理方法、装置、网络设备及存储介质 | |
EP3672189B1 (en) | Data transmission method, device and system | |
WO2024032742A1 (zh) | 业务处理方法、装置、设备、存储介质及程序产品 | |
JP7502691B2 (ja) | 無線通信装置、無線通信方法、及び無線通信システム | |
CN112188553B (zh) | 一种5g系统的数据传输方法及装置 | |
CN118057876A (zh) | 块确认帧生成方法、设备及计算机可读存储介质 | |
CN109462591B (zh) | 一种数据传输方法、接收方法、装置及系统 | |
US20090042514A1 (en) | Transmission method, transmission device and computer program | |
CN114467269B (zh) | 多连接下的通信方法和通信设备 | |
US20240098819A1 (en) | Transmitting station and receiving station | |
US20240056884A1 (en) | Transmitting station and receiving station | |
CN113141631B (zh) | 双连接数据分流方法、装置、设备及存储介质 | |
WO2022145058A1 (ja) | 送信局及び受信局 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |