CN114339762A - 基于小包聚合的数据转发方法、系统及存储介质 - Google Patents
基于小包聚合的数据转发方法、系统及存储介质 Download PDFInfo
- Publication number
- CN114339762A CN114339762A CN202111681274.8A CN202111681274A CN114339762A CN 114339762 A CN114339762 A CN 114339762A CN 202111681274 A CN202111681274 A CN 202111681274A CN 114339762 A CN114339762 A CN 114339762A
- Authority
- CN
- China
- Prior art keywords
- message
- data
- message data
- fixed frame
- buffer queue
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于小包聚合的数据转发方法、系统及存储介质,方法包括:S1.对接用户侧报文数据并发送至业务桥,经小包聚合添加定帧头和定帧尾后存储至发送环形缓冲队列,定帧头用于确定报文数据长度,配合定帧尾共同确认报文数据完整性;S2.提取所述发送环形缓冲队列中约定长度报文数据并添加私有以太网头部进行转发;S3.对端接受用户侧聚合报文并转存至接收环形缓冲队列,采用SUNDAY算法进行定帧头匹配,并根据定帧头中的报文数据长度进行解聚合。本发明将不同QoS属性的帧聚合或解聚合,大大提升小包的吞吐量,实现可靠传输,且提高系统稳定性。
Description
技术领域
本发明属于数据转发技术领域,具体涉及一种基于小包聚合的数据转发方法、系统及存储介质。
背景技术
基于802.3协议下的报文聚合方法通常采用基于802.11的A-MSDU技术。A-MSDU技术是指把多个MAC服务数据单元(MSDU)通过一定的方式聚合成一个较大的载荷。这里的MSDU可以认为是Ethernet报文。通常,当AP或无线客户端从协议栈收到报文(MSDU)时,会打上Ethernet报文头,称之为A-MSDUSubframe;而在通过射频口发送出去前,需要逐一将其转换成802.11报文格式。而A-MSDU技术旨在将若干个A-MSDUSubframe聚合到一起,并封装为一个802.11报文进行发送。从而减少了发送每一个802.11报文所需的PLCPPreamble、PLCPHeader和802.11MAC头的开销,同时减少了应答帧的数量,提高了报文发送的效率。
现有技术中,A-MSDU只适用于较小的MSDU聚合,聚合帧较长时只会有一个FCS,导致A-MSDU传输可靠性较差,若其中一个MSDU传输出错,则整个A-MSDU将会被重传。同时,A-MSDU技术要求所聚合子帧只能具备一种QoS属性,不允许将不同QoS属性的帧聚合,如广播和多播帧不能被聚合。
针对上述缺陷,如授权公告号为CN112995064B的专利公开了一种时间敏感网络报文转发方法、装置、终端及存储介质,方法包括:接收待转发报文,确定待转发报文对应的目标业务流,获取目标业务流已发送报文的字节数和目标业务流的承诺服务速率;根据待转发报文的字节数和已发送报文的字节数确定待转发报文的发送轮数和所属实时队列,将待转发报文加入所属实时队列;在每一轮中依次读取各个实时队列中的报文,每次每个实时队列的读取时间不超过预设时间周期,当读取到所属实时队列中的待转发报文时,若所属实时队列的剩余读取时间大于待转发报文的发送时间且待转发报文的发送轮数不大于当前轮数,则发送待转发报文。本发明可以支持对时间敏感网络中的业务流的动态增加/删除。但其仅提高了报文转发吞吐量及转发效率,并未解决可靠传输及不同QoS属性的帧聚合的问题。
发明内容
本发明的目的是提供一种基于小包聚合的数据转发方法、系统及存储介质,将不同QoS属性的帧聚合或解聚合,大大提升小包的吞吐量,实现可靠传输,且提高系统稳定性。
本发明提供了如下的技术方案:
本申请提出一种基于小包聚合的数据转发方法,包括以下步骤:
S1.对接用户侧报文数据并发送至业务桥,经小包聚合添加定帧头和定帧尾后存储至发送环形缓冲队列,定帧头用于确定报文数据长度,配合定帧尾共同确认报文数据完整性;
S2.提取所述发送环形缓冲队列中约定长度报文数据并添加私有以太网头部进行转发;
S3.对端接受用户侧聚合报文并转存至接收环形缓冲队列,采用SUNDAY算法进行定帧头匹配,并根据定帧头中的报文数据长度进行解聚合。
优先地,所述定帧头包括固定长度的魔术字、报文序列号和报文长度,所述定帧尾包括定帧尾的CRC校验。
优先地,步骤S2中,发送环形缓冲队列报文数据转发方法具体包括以下步骤:
S21.若发送环形缓冲队列中报文数据长度达到约定字节数,从发送环形缓冲队列中提取约定字节数报文数据并添加私有以太网头部进行转发,所述约定字节数为固定长度,不考虑报文数据的完整性;
S22.若发送环形缓冲队列中报文数据小于约定字节数,启用定时器定期转发,用于防止报文数据长时间未转发而丢包。
优先地,步骤S3中,解聚合方法具体包括以下步骤:
S31.以定帧头中的固定魔术字作为模式串在接收环形缓冲队列进行匹配,确定定帧头位置及接收的报文数据长度;
S32.若报文长度小于等于接收环形缓冲队列中剩余的字节数,通过报文数据长度确定定帧尾并通过CRC校验,确定报文数据的完整性,将完整报文数据从接收环形缓冲队列中取出转发至业务桥,重复操作直至无法取出报文数据,剩余报文与下次接收的小包聚合报文的开头部分组合为完整的短字节报文数据;
S33.若报文长度大于接收环形缓冲队列中剩余的字节数,则结束本次解聚合,剩余的数据部分留待下次接收报文数据后再解聚合。
基于上述的一种基于小包聚合的数据转发方法,本申请还提出一种基于小包聚合的数据转发系统,包括:
数据对接模块,用于对接用户侧数据并将其导流至业务桥;
小包聚合驱动模块,用于对业务桥的用户侧报文数据添加指定的定帧头和定帧尾后进行聚合,以及通过定帧头模式串匹配和定帧尾校验进行解聚合。
优先地,还包括处理器,用于运行时执行上述的基于小包聚合的数据转发方法。
优先地,所述小包聚合驱动模块包括发送环形缓冲队列、接收环形缓冲队列和定时器,定时器用于定期转发发送环形缓冲队列中的报文数据。
基于上述的一种基于小包聚合的数据转发系统,本申请还提出一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行,以实现上述的基于小包聚合的数据转发方法。
本发明的有益效果是:
1.通过小包聚合驱动模块对不同QoS属性的短字节报文数据添加定帧头和定帧尾聚合成大字节报文数据后,添加私有以太网头部进行转发,便于管理用户报文数据,提升小包聚合驱动模块的吞吐量,减少数据转发中的带宽资源占用现象;
2.小包聚合驱动模块通过SUNDAY算法匹配定帧头以确定报文数据长度,并通过定帧尾的CRC校验确定报文数据的完整性,实现聚合报文数据的解聚和,实现数据的稳定安全传输。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明的数据转发方法流程示意图;
图2是本发明的小包聚合驱动模块工作流程示意图;
图3是本发明的聚合报文结构示意图。
具体实施方式
实施例1
如图1-图2所示,本申请提出一种基于小包聚合的数据转发方法,包括以下步骤:
S1.对接用户侧有线端口报文数据并发送至业务桥,经小包聚合添加定帧头FrameHrader和定帧尾Frame Footer后存储至发送环形缓冲队列txkfifio,定帧头Frame Hrader用于确定报文数据长度,配合定帧尾Frame Footer共同确认报文数据完整性。定帧头FrameHrader包括固定长度的魔术字Magic、报文序列号Sequence和报文长度Length,定帧尾Frame Footer包括CRC校验。聚合的短字节报文数据QoS属性可相同或不同,广播帧和多播帧均可聚合。
S2.提取发送环形缓冲队列txkfifio中约定长度报文数据并添加私有以太网头部Ether Header进行转发。步骤S2中,发送环形缓冲队列txkfifio报文数据转发方法具体包括以下步骤:
S21.若发送环形缓冲队列txkfifio中报文数据长度达到约定字节数,从发送环形缓冲队列txkfifio中提取约定字节数报文数据并添加私有以太网头部Ether Header进行转发,约定字节数为固定长度,不考虑报文数据的完整性;
S22.若发送环形缓冲队列txkfifio中报文数据小于约定字节数,则留待与下次存储的报文书数据组成完整的短字节原始报文数据。为防止发送环形缓冲队列txkfifio中存在报文长度小于约定长度的报文数据长时间不转发导致丢包,启用定时器定期转发剩余报文数据。
S3.对端无线驱动的接收端口接收用户侧聚合报文并转存至接收环形缓冲队列rxkfifo,采用SUNDAY算法进行定帧头Frame Hrader匹配,并根据定帧头Frame Hrader中的报文数据长度进行解聚合。步骤S3中,解聚合方法具体包括以下步骤:
S31.以定帧头Frame Hrader中的固定魔术字Magic作为模式串在接收环形缓冲队列rxkfifo进行匹配,确定定帧头Frame Hrader位置及接收的报文数据长度。
匹配时,SUNDAY算法以固定长度的魔术字Magic作为模式串从前至后进行匹配,在匹配失败时关注的是主串中参加匹配的最末位字符的下一位字符。模式串发现不匹配时,SUNDAY算法能跳过尽可能多的字符以进行下一步的匹配,从而提高了匹配效率。具体匹配规则如下:
(1)若该字符没有在模式串中出现则直接跳过,即移动位数=模式串长度+1;
(2)否则,其移动位数=模式串长度-该字符最右出现的位置(以0开始)=模式串中该字符最右出现的位置到尾部的距离+1。
S32.若报文长度小于等于接收环形缓冲队列rxkfifo中剩余的字节数,通过报文数据长度确定定帧尾Frame Footer并通过CRC校验,确定报文数据的完整性,将完整报文数据从接收环形缓冲队列rxkfifo中取出转发至业务桥,重复操作直至无法取出报文数据,剩余报文与下次接收的小包聚合报文的开头部分组合为完整的短字节报文数据。
S33.若报文长度大于接收环形缓冲队列rxkfifo中剩余的字节数,则结束本次解聚合,剩余的数据部分留待下次接收报文数据后再解聚合。
实施例2
基于上述的实施例1,本申请还提出一种基于小包聚合的数据转发系统,包括:
数据对接模块,用于对接用户侧数据并将其导流至业务桥;
小包聚合驱动模块,用于对业务桥的用户侧报文数据添加指定的定帧头FrameHrader和定帧尾Frame Footer后进行聚合,以及通过定帧头Frame Hrader模式串匹配和定帧尾Frame Footer校验进行解聚合。
还包括处理器,用于运行时执行如实施例1中的基于小包聚合的数据转发方法。
小包聚合驱动模块包括发送环形缓冲队列txkfifio、接收环形缓冲队列rxkfifo和定时器,定时器用于定期转发发送环形缓冲队列txkfifio中的报文数据。
本实施例的数据转发方法与实施例1相同。
实施例3
基于上述的实施例2,本申请还提出一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行,以实现如实施例1的基于小包聚合的数据转发方法。本实施例的数据转发方法与实施例1相同。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于小包聚合的数据转发方法,其特征在于:包括以下步骤:
S1.对接用户侧报文数据并发送至业务桥,经小包聚合添加定帧头和定帧尾后存储至发送环形缓冲队列,定帧头用于确定报文数据长度,配合定帧尾共同确认报文数据完整性;
S2.提取所述发送环形缓冲队列中约定长度报文数据并添加私有以太网头部进行转发;
S3.对端接受用户侧聚合报文并转存至接收环形缓冲队列,采用SUNDAY算法进行定帧头匹配,并根据定帧头中的报文数据长度进行解聚合。
2.根据权利要求1所述的基于小包聚合的数据转发方法,其特征在于:所述定帧头包括固定长度的魔术字、报文序列号和报文长度,所述定帧尾包括定帧尾的CRC校验。
3.根据权利要求1所述的基于小包聚合的数据转发方法,其特征在于:步骤S2中,发送环形缓冲队列报文数据转发方法具体包括以下步骤:
S21.若发送环形缓冲队列中报文数据长度达到约定字节数,从发送环形缓冲队列中提取约定字节数报文数据并添加私有以太网头部进行转发,所述约定字节数为固定长度,不考虑报文数据的完整性;
S22.若发送环形缓冲队列中报文数据小于约定字节数,启用定时器定期转发,用于防止报文数据长时间未转发而丢包。
4.根据权利要求2所述的基于小包聚合的数据转发方法,其特征在于:步骤S3中,解聚合方法具体包括以下步骤:
S31.以定帧头中的固定魔术字作为模式串在接收环形缓冲队列进行匹配,确定定帧头位置及接收的报文数据长度;
S32.若报文长度小于等于接收环形缓冲队列中剩余的字节数,通过报文数据长度确定定帧尾并通过CRC校验,确定报文数据的完整性,将完整报文数据从接收环形缓冲队列中取出转发至业务桥,重复操作直至无法取出报文数据,剩余报文与下次接收的小包聚合报文的开头部分组合为完整的短字节报文数据;
S33.若报文长度大于接收环形缓冲队列中剩余的字节数,则结束本次解聚合,剩余的数据部分留待下次接收报文数据后再解聚合。
5.一种基于小包聚合的数据转发系统,其特征在于:包括:
数据对接模块,用于对接用户侧数据并将其导流至业务桥;
小包聚合驱动模块,用于对业务桥的用户侧报文数据添加指定的定帧头和定帧尾后进行聚合,以及通过定帧头模式串匹配和定帧尾校验进行解聚合。
6.根据权利要求5所述的基于小包聚合的数据转发系统,其特征在于:还包括处理器,用于运行时执行如权利要求1-4中任一项所述的基于小包聚合的数据转发方法。
7.根据权利要求5所述的基于小包聚合的数据转发系统,其特征在于:所述小包聚合驱动模块包括发送环形缓冲队列、接收环形缓冲队列和定时器,定时器用于定期转发发送环形缓冲队列中的报文数据。
8.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行,以实现如权利要求1-4中任一项所述的基于小包聚合的数据转发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111681274.8A CN114339762A (zh) | 2021-12-31 | 2021-12-31 | 基于小包聚合的数据转发方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111681274.8A CN114339762A (zh) | 2021-12-31 | 2021-12-31 | 基于小包聚合的数据转发方法、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114339762A true CN114339762A (zh) | 2022-04-12 |
Family
ID=81022935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111681274.8A Pending CN114339762A (zh) | 2021-12-31 | 2021-12-31 | 基于小包聚合的数据转发方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114339762A (zh) |
-
2021
- 2021-12-31 CN CN202111681274.8A patent/CN114339762A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4917750B2 (ja) | フレーム集約 | |
JP4130648B2 (ja) | 通信装置および通信方法 | |
JP4012172B2 (ja) | 無線通信装置及び無線通信方法 | |
US9363175B2 (en) | Sub-1GHz MAC frame header compression | |
JP4440037B2 (ja) | 通信装置及び通信方法 | |
JP2005312060A (ja) | 無線近距離通信網での伝送されたデータストリームの受信通知方法及びシステム | |
US20070153757A1 (en) | Method of transmitting aggregated MAC MPDUs in WLAN system and system therefor | |
US20090310533A1 (en) | Medium access control protocol data unit overhead improvements | |
JP2008509622A (ja) | Ackフレーム伝送方法及び装置 | |
US10959129B2 (en) | Data transmission method, apparatus, and system, and device | |
US11387955B2 (en) | Aggregate MAC service data unit (A-MSDU) and aggregate MAC protocol data unit (A-MPDU) of next generation V2X (NGV) station (STA) | |
WO2020187031A1 (zh) | 数据传输方法及装置 | |
US9674860B2 (en) | Method and apparatus for efficient aggregation scheduling in wireless local area network (WLAN) system | |
CN109861801B (zh) | 一种数据传输方法及装置 | |
Saif et al. | SRA-MSDU: Enhanced A-MSDU frame aggregation with selective retransmission in 802.11 n wireless networks | |
WO2021036648A1 (zh) | 数据传输方法及装置 | |
JP2020524952A (ja) | 大きい媒体アクセス制御サービスデータユニット(msdu)配信 | |
JP2009010628A (ja) | 無線通信装置及び無線通信方法 | |
US20170289843A1 (en) | Method and apparatus for transmitting data unit | |
US9819602B2 (en) | Efficient datagram segmentation and reassembly for packet-switched networks | |
EP3790213B1 (en) | Mac-based hybrid automatic repeat request (harq) | |
WO2020063501A1 (zh) | 传输确认报文的方法和通信设备 | |
CN114339762A (zh) | 基于小包聚合的数据转发方法、系统及存储介质 | |
AU2021233050B9 (en) | Communication method and apparatus | |
Vikulov et al. | A-MSDU frame aggregation mechanism efficiency for IEEE 802.11 ac network. The optimal number of frames in A-MSDU block |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |