CN111478864A - 数据包的处理方法、装置、电子设备及存储介质 - Google Patents
数据包的处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111478864A CN111478864A CN202010153183.6A CN202010153183A CN111478864A CN 111478864 A CN111478864 A CN 111478864A CN 202010153183 A CN202010153183 A CN 202010153183A CN 111478864 A CN111478864 A CN 111478864A
- Authority
- CN
- China
- Prior art keywords
- data packet
- splicing
- packet
- header
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
- H04L1/0008—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length by supplementing frame payload, e.g. with padding bits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种数据包的处理方法、装置、电子设备及存储介质。其中方法包括:获取待发送的完整数据包,确定已有的拼接数据包是否能够承载完整数据包,拼接数据包的总长度为MTU中用于承载数据部分的长度;在能够承载时,创建完整数据包的拼接包头,将完整数据包的拼接包头和完整数据包拼接到已有的拼接数据包中;在不能承载时,将完整数据包拆分为首部数据包和尾部数据包;创建首部数据包的拼接包头,将首部数据包的拼接包头和首部数据包拼接到已有的拼接数据包中,发送已有的拼接数据包;新建一个拼接数据包,创建尾部数据包的拼接包头,将尾部数据包的拼接包头和尾部数据包拼接到新建的拼接数据包中。本发明能够提高网络带宽的利用率。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据包的处理方法、装置、电子设备及存储介质。
背景技术
随着网络技术的快速发展,各种网络业务大量出现,比如视频会议、视频监控、可视电话,等等。在网络业务中会传输大量的数据包,比如音频数据包、视频数据包等。为了提高设备的传输能力,可以采用多网卡链路聚合的方式同时传输数据包,从而实现大带宽的网络传输。
在传输过程中,音频数据和视频数据的长度有较大差距,比如视频数据长度在1084字节左右,而音频数据长度在124字节左右,但是音视频的传输频率基本相同。利用一个MTU(Maximum Transmission Unit,最大传输单元)可一次传输1084字节左右的视频数据,或者一次传输124字节左右的音频数据。但是,MTU的最大极限值为1500字节左右,除去相应的IP(Internet Protocol,网络协议)头等相关信息,剩余1400多字节可用于承载数据。因此,在传输数据包时网络带宽的利用率较低。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据包的处理方法、装置、电子设备及存储介质。
第一方面,本发明实施例公开了一种数据包的处理方法,所述方法包括:
获取待发送的完整数据包,确定已有的拼接数据包是否能够承载所述完整数据包;所述拼接数据包的总长度为MTU中用于承载数据部分的长度;
在能够承载时,创建所述完整数据包的拼接包头,将所述完整数据包的拼接包头和所述完整数据包拼接到所述已有的拼接数据包中;
在不能承载时,将所述完整数据包拆分为首部数据包和尾部数据包;
创建所述首部数据包的拼接包头,将所述首部数据包的拼接包头和所述首部数据包拼接到所述已有的拼接数据包中,发送所述已有的拼接数据包;
新建一个拼接数据包,创建所述尾部数据包的拼接包头,将所述尾部数据包的拼接包头和所述尾部数据包拼接到新建的拼接数据包中。
可选地,在将所述完整数据包的拼接包头和所述完整数据包拼接到所述已有的拼接数据包中之后,还包括:计算所述已有的拼接数据包的第一剩余长度,当所述第一剩余长度小于或等于预设的拼接包头长度时,在所述已有的拼接数据包的剩余部分填充数值0后,发送所述已有的拼接数据包;在将所述尾部数据包的拼接包头和所述尾部数据包拼接到新建的拼接数据包中之后,还包括:计算所述新建的拼接数据包的第二剩余长度,当所述第二剩余长度小于或等于预设的拼接包头长度时,在所述新建的拼接数据包的剩余部分填充数值0后,发送所述新建的拼接数据包。
可选地,所述确定已有的拼接数据包是否能够承载所述完整数据包,包括:计算所述已有的拼接数据包的第三剩余长度,并计算所述完整数据包的长度与预设的拼接包头长度相加后的总长度,将所述总长度与所述第三剩余长度进行比较;在所述第三剩余长度大于或等于所述总长度时,确定所述已有的拼接数据包能够承载所述完整数据包。
可选地,所述将所述完整数据包拆分为首部数据包和尾部数据包,包括:计算所述已有的拼接数据包的第三剩余长度,并计算所述第三剩余长度与预设的拼接包头长度相减后的差值长度;从所述完整数据包中提取所述差值长度的部分数据包,将提取的部分数据包作为所述首部数据包,将剩余的部分数据包作为所述尾部数据包。
可选地,所述拼接包头包括拼接类型、拼接序号和拼接长度;所述创建所述完整数据包的拼接包头,包括:将所述完整数据包的拼接包头中写入拼接类型为完整包,拼接序号为所述已有的拼接数据包中最后一个拼接包头的拼接序号加一,拼接长度为所述完整数据包的长度;所述创建所述首部数据包的拼接包头,包括:将所述首部数据包的拼接包头中写入拼接类型为首部分,拼接序号为所述已有的拼接数据包中最后一个拼接包头的拼接序号加一,拼接长度为所述首部数据包的长度;所述创建所述尾部数据包的拼接包头,包括:将所述尾部数据包的拼接包头中写入拼接类型为尾部分,拼接序号为所述已有的拼接数据包中最后一个拼接包头的拼接序号加一,拼接长度为所述尾部数据包的长度。
第二方面,本发明实施例公开了一种数据包的处理方法,所述方法包括:
在接收到拼接数据包后,从所述拼接数据包中逐个拆分出拼接包头及所述拼接包头对应的数据包;
在确定出所述拼接包头为首部数据包的拼接包头时,保存所述首部数据包的拼接包头和所述首部数据包;
在确定出所述拼接包头为尾部数据包的拼接包头时,依据保存的首部数据包的拼接包头和所述尾部数据包的拼接包头,确定保存的首部数据包和所述尾部数据包是否属于同一个数据包;
在属于同一个数据包时,将保存的首部数据包和所述尾部数据包组合成一个完整数据包。
可选地,所述拼接包头包括拼接序号;所述依据保存的首部数据包的拼接包头和所述尾部数据包的拼接包头,确定保存的首部数据包和所述尾部数据包是否属于同一个数据包,包括:确定所述尾部数据包的拼接包头的拼接序号是否为保存的首部数据包的拼接包头的拼接序号加一;若是,则确定保存的首部数据包和所述尾部数据包属于同一个数据包。
第三方面,本发明实施例公开了一种数据包的处理装置,所述装置包括:
第一确定模块,用于获取待发送的完整数据包,确定已有的拼接数据包是否能够承载所述完整数据包;所述拼接数据包的总长度为MTU中用于承载数据部分的长度;
第一拼接模块,用于在所述第一确定模块确定出能够承载时,创建所述完整数据包的拼接包头,将所述完整数据包的拼接包头和所述完整数据包拼接到所述已有的拼接数据包中;
第一拆分模块,用于在所述第一确定模块确定出不能承载时,将所述完整数据包拆分为首部数据包和尾部数据包;
第二拼接模块,用于创建所述首部数据包的拼接包头,将所述首部数据包的拼接包头和所述首部数据包拼接到所述已有的拼接数据包中,发送所述已有的拼接数据包;
第三拼接模块,用于新建一个拼接数据包,创建所述尾部数据包的拼接包头,将所述尾部数据包的拼接包头和所述尾部数据包拼接到新建的拼接数据包中。
可选地,所述装置还包括:第一处理模块,用于在所述第一拼接模块将所述完整数据包的拼接包头和所述完整数据包拼接到所述已有的拼接数据包中之后,计算所述已有的拼接数据包的第一剩余长度,当所述第一剩余长度小于或等于预设的拼接包头长度时,在所述已有的拼接数据包的剩余部分填充数值0后,发送所述已有的拼接数据包。第二处理模块,用于在所述第三拼接模块将所述尾部数据包的拼接包头和所述尾部数据包拼接到新建的拼接数据包中之后,计算所述新建的拼接数据包的第二剩余长度,当所述第二剩余长度小于或等于预设的拼接包头长度时,在所述新建的拼接数据包的剩余部分填充数值0后,发送所述新建的拼接数据包。
可选地,所述第一确定模块包括:长度比较单元,用于计算所述已有的拼接数据包的第三剩余长度,并计算所述完整数据包的长度与预设的拼接包头长度相加后的总长度,将所述总长度与所述第三剩余长度进行比较;承载确定单元,用于在所述第三剩余长度大于或等于所述总长度时,确定所述已有的拼接数据包能够承载所述完整数据包。
可选地,所述第一拆分模块包括:计算单元,用于计算所述已有的拼接数据包的第三剩余长度,并计算所述第三剩余长度与预设的拼接包头长度相减后的差值长度;提取单元,用于从所述完整数据包中提取所述差值长度的部分数据包,将提取的部分数据包作为所述首部数据包,将剩余的部分数据包作为所述尾部数据包。
可选地,所述拼接包头包括拼接类型、拼接序号和拼接长度。所述第一拼接模块包括:第一创建单元,用于将所述完整数据包的拼接包头中写入拼接类型为完整包,拼接序号为所述已有的拼接数据包中最后一个拼接包头的拼接序号加一,拼接长度为所述完整数据包的长度。所述第二拼接模块包括:第二创建单元,用于将所述首部数据包的拼接包头中写入拼接类型为首部分,拼接序号为所述已有的拼接数据包中最后一个拼接包头的拼接序号加一,拼接长度为所述首部数据包的长度;所述第三拼接模块包括:第三创建单元,用于将所述尾部数据包的拼接包头中写入拼接类型为尾部分,拼接序号为所述已有的拼接数据包中最后一个拼接包头的拼接序号加一,拼接长度为所述尾部数据包的长度。
第四方面,本发明实施例公开了一种数据包的处理装置,所述装置包括:
第二拆分模块,用于在接收到拼接数据包后,从所述拼接数据包中逐个拆分出拼接包头及所述拼接包头对应的数据包;
保存模块,用于在确定出所述拼接包头为首部数据包的拼接包头时,保存所述首部数据包的拼接包头和所述首部数据包;
第二确定模块,用于在确定出所述拼接包头为尾部数据包的拼接包头时,依据保存的首部数据包的拼接包头和所述尾部数据包的拼接包头,确定保存的首部数据包和所述尾部数据包是否属于同一个数据包;
组合模块,用于在所述第二确定模块确定出属于同一个数据包时,将保存的首部数据包和所述尾部数据包组合成一个完整数据包。
可选地,所述拼接包头包括拼接序号。所述第二确定模块具体用于确定所述尾部数据包的拼接包头的拼接序号是否为保存的首部数据包的拼接包头的拼接序号加一;若是,则确定保存的首部数据包和所述尾部数据包属于同一个数据包。
第五方面,本发明实施例公开了一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质;当所述指令由所述一个或多个处理器执行时,使得所述处理器执行如上任一项所述的数据包的处理方法。
第六方面,本发明实施例公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一项所述的数据包的处理方法。
本发明实施例中,获取待发送的完整数据包,确定已有的拼接数据包是否能够承载所述完整数据包;在能够承载时,创建所述完整数据包的拼接包头,将所述完整数据包的拼接包头和所述完整数据包拼接到所述已有的拼接数据包中;在不能承载时,将所述完整数据包拆分为首部数据包和尾部数据包;创建所述首部数据包的拼接包头,将所述首部数据包的拼接包头和所述首部数据包拼接到所述已有的拼接数据包中,发送所述已有的拼接数据包;新建一个拼接数据包,创建所述尾部数据包的拼接包头,将所述尾部数据包的拼接包头和所述尾部数据包拼接到新建的拼接数据包中。由此可知,本发明实施例中采用拼接数据包的方式,拼接数据包的总长度为MTU中用于承载数据部分的长度。针对一个待发送的完整数据包,根据实际情况将该完整数据包全部或者部分拼接到拼接数据包中,在拼接数据包达到MTU中用于承载数据部分的长度时,通过MTU发送该拼接数据包,因此能够避免浪费MTU中的资源,提高网络带宽的利用率。
附图说明
图1是本发明实施例一的一种数据包的处理方法的步骤流程图。
图2是本发明实施例二的一种数据包的处理方法的流程示意图。
图3是本发明实施例三的一种数据包的处理方法的步骤流程图。
图4是本发明实施例四的一种数据包的处理方法的流程示意图。
图5是本发明实施例五的一种数据包的处理装置的结构框图。
图6是本发明实施例六的一种数据包的处理装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,示出了本发明实施例一的一种数据包的处理方法的步骤流程图。本发明实施例的数据包的处理方法可以包括以下步骤:
步骤101,获取待发送的完整数据包。
步骤102,确定已有的拼接数据包是否能够承载所述完整数据包。若是,则执行步骤103,若否,则执行步骤104。
一个MTU中包括用于承载IP头等包头信息的部分和用于承载数据的部分。本发明实施例中,通过拼接数据包承载待发送的数据包,拼接数据包的总长度为MTU中用于承载数据的部分的长度。发送方在获取到一个待发送的完整数据包后,确定已有的拼接数据包是否能够承载所述完整数据包,也即确定已有的拼接数据包中的剩余空间是否能够承载所述完整数据包。
其中,完整数据包可以为音频数据包,也可以为视频数据包,也可以为其他数据类型的数据包,本发明实施例对此不作限制。
步骤103,在能够承载时,创建所述完整数据包的拼接包头,将所述完整数据包的拼接包头和所述完整数据包拼接到所述已有的拼接数据包中。
在已有的拼接数据包能够承载所述完整数据包时,创建该完整数据包的拼接包头。完整数据包的拼接包头中会写入该完整数据包在拼接数据包中的一些属性,比如拼接类型、拼接序号、拼接长度等。创建完整数据包的拼接包头后,将该完整数据包的拼接包头和完整数据包一起拼接到已有的拼接数据包中,也即拼接到已有的拼接数据包中当前最后一个数据包的后面。
步骤104,在不能承载时,将所述完整数据包拆分为首部数据包和尾部数据包。
在已有的拼接数据包不能承载所述完整数据包时,将完整数据包进行拆分得到首部数据包和尾部数据包。其中,首部数据包是指完整数据包中能够拼接到已有的拼接数据包中的部分,尾部数据包是指完整数据包中除首部数据包之外剩余的部分。
步骤105,创建所述首部数据包的拼接包头,将所述首部数据包的拼接包头和所述首部数据包拼接到所述已有的拼接数据包中,发送所述已有的拼接数据包。
针对拆分得到的首部数据包,创建该首部数据包的拼接包头。首部数据包的拼接包头中会写入该首部数据包在拼接数据包中的一些属性。创建首部数据包的拼接包头后,将该首部数据包的拼接包头和首部数据包一起拼接到已有的拼接数据包中,也即拼接到已有的拼接数据包中当前最后一个数据包的后面。
由于首部数据包是指完整数据包中能够拼接到已有的拼接数据包中的部分,因此在将首部数据包的拼接包头和首部数据包一起拼接到已有的拼接数据包中后,该已有的拼接数据包不再有剩余空间,也即该首部数据包为已有的拼接数据包中拼接的最后一个数据包,因此可以通过MTU将该拼接数据包发送出去。
步骤106,新建一个拼接数据包,创建所述尾部数据包的拼接包头,将所述尾部数据包的拼接包头和所述尾部数据包拼接到新建的拼接数据包中。
针对拆分得到的尾部数据包,新建一个拼接数据包,创建该尾部数据包的拼接包头。尾部数据包的拼接包头中会写入该尾部数据包在拼接数据包中的一些属性。创建尾部数据包的拼接包头后,将该尾部数据包的拼接包头和尾部数据包一起拼接到新建的拼接数据包中,也即该尾部数据包为新建的拼接数据包中拼接的第一个数据包。
本发明实施例中采用拼接数据包的方式,拼接数据包的长度为MTU中用于承载数据部分的长度。针对一个待发送的完整数据包,根据实际情况将该完整数据包全部或者部分拼接到拼接数据包中,在拼接数据包达到MTU中用于承载数据部分的长度时,通过MTU发送该拼接数据包,因此能够避免浪费MTU中的资源,提高网络带宽的利用率。
实施例二
参照图2,示出了本发明实施例二的一种数据包的处理方法的流程示意图。本发明实施例的数据包的处理方法可以包括:
a1、获取完整数据包。
待发送的完整数据包可以为音频数据包,也可以为视频数据包,还可以为其他类型的数据包。本发明实施例中在拼接到拼接数据包时,不限定数据包的类型,一个拼接数据包中可以包括音频数据包,也可以包括视频数据包,还可以包括其他类型的数据包。
a2、判断(固定包长-tBuffer有效数据长度)是否大于等于(拼接包头长度+完整数据包长度)。若是,则执行a3;若否,则执行a5。
首先确定已有的拼接数据包是否能够承载待发送的完整数据包。
其中,固定包长是指拼接数据包的总长度,也即MTU中用于承载数据的部分的长度。此处的tBuffer(缓存)有效数据长度是指已有的拼接数据包中当前已占用的长度。因此,(固定包长-tBuffer有效数据长度)是指已有的拼接数据包的剩余长度。为了与其他剩余长度进行区分,本发明实施例将此处已有的拼接数据包的剩余长度称为第三剩余长度。
在拼接时,针对待拼接的数据包要创建拼接包头,本发明实施例中可以预设拼接包头长度。比如可以将拼接包头长度预设为4字节、6字节等,本发明实施例对此不作限制。(拼接包头长度+完整数据包长度)是指所述完整数据包的长度与预设的拼接包头长度相加后的总长度。
将所述完整数据包的长度与预设的拼接包头长度相加后的总长度与所述第三剩余长度进行比较,判断(固定包长-tBuffer有效数据长度)是否大于等于(拼接包头长度+完整数据包长度)。
a3、创建完整数据包的拼接包头。
在所述第三剩余长度大于或等于所述完整数据包的长度与预设的拼接包头长度相加后的总长度时,确定所述已有的拼接数据包能够承载所述完整数据包,因此可以创建完整数据包的拼接包头。
拼接包头可以包括拼接类型、拼接序号和拼接长度。创建所述完整数据包的拼接包头的过程包括:将所述完整数据包的拼接包头中写入拼接类型为完整包,拼接序号为所述已有的拼接数据包中最后一个拼接包头的拼接序号加一,拼接长度为所述完整数据包的长度。
a4、将完整数据包的拼接包头和完整数据包拼接到tBuffer。之后执行a10。
创建所述完整数据包的拼接包头后,将所述完整数据包的拼接包头和所述完整数据包拼接到所述已有的拼接数据包(也即tBuffer)中。
a5、将完整数据包拆分为首部数据包和尾部数据包。
在所述第三剩余长度小于所述完整数据包的长度与预设的拼接包头长度相加后的总长度时,确定所述已有的拼接数据包不能承载所述完整数据包,因此可以将完整数据包拆分为首部数据包和尾部数据包。
将所述完整数据包拆分为首部数据包和尾部数据包的过程包括:计算所述已有的拼接数据包的第三剩余长度(也即固定包长-tBuffer有效数据长度),并计算所述第三剩余长度与预设的拼接包头长度相减后的差值长度;从所述完整数据包中提取所述差值长度的部分数据包,将提取的部分数据包作为所述首部数据包,将剩余的部分数据包作为所述尾部数据包。
a6、创建首部数据包的拼接包头。
对于首部数据包,创建所述首部数据包的拼接包头。创建过程包括:将所述首部数据包的拼接包头中写入拼接类型为首部分,拼接序号为所述已有的拼接数据包中最后一个拼接包头的拼接序号加一,拼接长度为所述首部数据包的长度。
a7、将首部数据包的拼接包头和首部数据包拼接到tBuffer。之后执行a12发送。
创建所述首部数据包的拼接包头后,将所述首部数据包的拼接包头和所述首部数据包拼接到所述已有的拼接数据包(也即tBuffer)中。此时已有的拼接数据包的长度已达到MTU中用于承载数据部分的长度(也即上述固定长度),因此可以将已有的拼接数据包发送到对端,tBuffer清空。
a8、创建尾部数据包的拼接包头。
对于尾部数据包,创建所述尾部数据包的拼接包头。创建过程包括:将所述尾部数据包的拼接包头中写入拼接类型为尾部分,拼接序号为所述已有的拼接数据包中最后一个拼接包头的拼接序号加一,拼接长度为所述尾部数据包的长度。
a9、将尾部数据包的拼接包头和尾部数据包拼接到清空后的tBuffer。
创建所述尾部数据包的拼接包头后,新建一个拼接数据包,将所述尾部数据包的拼接包头和所述尾部数据包拼接到新建的拼接数据包(也即清空后的tBuffer)中。
a10、判断(固定包长-tBuffer有效数据长度)是否大于拼接包头长度。若是,则执行a13;若否,则执行a11。
a11、利用数值0将tBuffer补齐到固定长度。
a12、发送。
a13、等待继续拼接。
在执行a4将完整数据包的拼接包头和完整数据包拼接到tBuffer之后,计算(固定包长-tBuffer有效数据长度)。此处的tBuffer有效数据长度是指,在拼接完整数据包的拼接包头和完整数据包之后,已有的拼接数据包中当前已占用的长度。因此,(固定包长-tBuffer有效数据长度)是指在拼接完整数据包的拼接包头和完整数据包之后,已有的拼接数据包的剩余长度。为了与其他剩余长度进行区分,本发明实施例将此处已有的拼接数据包的剩余长度称为第一剩余长度。
在将所述完整数据包的拼接包头和所述完整数据包拼接到所述已有的拼接数据包中之后,判断已有的拼接数据包的第一剩余长度是否大于拼接包头长度。当所述第一剩余长度大于预设的拼接包头长度时,等待获取到下一个待发送的完整数据包后继续拼接。当所述第一剩余长度小于或等于预设的拼接包头长度时,在所述已有的拼接数据包的剩余部分填充数值0(也即利用数值0将tBuffer补齐到固定长度)后,将所述已有的拼接数据包发送到对端。当然还可以清空tBuffer,新建一个拼接数据包,等待获取到下一个待发送的完整数据包后继续拼接。
在执行a9将尾部数据包的拼接包头和尾部数据包拼接到清空后的tBuffer之后,计算(固定包长-tBuffer有效数据长度)。此处的tBuffer有效数据长度是指,在拼接尾部数据包的拼接包头和尾部数据包之后,已有的拼接数据包中当前已占用的长度。因此,(固定包长-tBuffer有效数据长度)是指在拼接尾部数据包的拼接包头和尾部数据包之后,新建的拼接数据包的剩余长度。为了与其他剩余长度进行区分,本发明实施例将此处新建的拼接数据包的剩余长度称为第二剩余长度。
在将所述尾部数据包的拼接包头和所述尾部数据包拼接到新建的拼接数据包中之后,判断新建的拼接数据包的第二剩余长度是否大于拼接包头长度。当所述第二剩余长度大于预设的拼接包头长度时,等待获取到下一个待发送的完整数据包后继续拼接。当所述第二剩余长度小于或等于预设的拼接包头长度时,在所述新建的拼接数据包的剩余部分填充数值0(也即利用数值0将tBuffer补齐到固定长度)后,将所述新建的拼接数据包发送到对端。当然还可以清空tBuffer,新建一个拼接数据包,等待获取到下一个待发送的完整数据包后继续拼接。
下面,举例说明本发明实施例的数据包的处理方法。
比如,预设拼接数据包的总长度是1400字节,预设拼接包头的长度为4字节。已有的拼接数据包M的当前已用长度为1200字节,已有的拼接数据包M中拼接的最后一个数据包的拼接序号为3。
获取到一个待发送的完整数据包A为音频数据包,长度为124字节。经过判断(1400-1200)>(4+124),因此可以将该完整数据包A的拼接包头a中写入拼接类型为完整包,拼接长度为124字节,拼接序号为4。将该拼接包头a和完整数据包A拼接到M中。拼接后已有的拼接数据包M的当前已用长度为1328字节,已有的拼接数据包M中拼接的最后一个数据包的拼接序号为4。
再获取到一个待发送的完整数据包B为视频数据包,长度为1088字节。经过判断(1400-1328)<(4+1088),因此可以将该完整数据包B拆分为首部数据包B1和尾部数据包B2,其中首部数据包B1的长度为(1400-1328-4),尾部数据包B2的长度为1088-(1400-1328-4)。将首部数据包B1的拼接包头b1中写入拼接类型为首部分,拼接长度为(1400-1328-4),拼接序号为5。将该拼接包头b1和首部数据包B1拼接到M中,此时M长度为1400字节,将M发送出去。将M重置为空,将尾部数据包B2的拼接包头b2中写入拼接类型为尾部分,拼接长度为1088-(1400-1328-4),拼接序号为6。将该拼接包头b2和首部数据包B2拼接到置空后的M中。
需要说明的是,本发明实施例中发送方在发送拼接数据包之前,还可以对拼接数据包进行FEC(Forward Error Correction,前向纠错)过程,之后再进行RTP(Real-timeTransport Protocol,实时传输协议)传输过程。FEC是指由发送方对拼接数据包进行FEC编码引入冗余纠错码一起发送,接收方根据纠错码进行FEC解码,如发现差错,则由接收方进行纠错,恢复丢失的数据包。
本发明实施例可以应用到多网卡聚合终端等设备。为了在一定带宽范围内尽可能的提高网络利用率,减少无用网络消耗,本发明实施例不区分音视频等数据包类型,仅对数据包的长度进行识别,采用拼包策略,无论音视频数据包多大,统一拼接到固定长度的拼接数据包中后发送到对端,能够节约网络带宽,提高网络利用率。
实施例三
参照图3,示出了本发明实施例三的一种数据包的处理方法的步骤流程图。本发明实施例的数据包的处理方法可以包括以下步骤:
步骤301,在接收到拼接数据包后,从所述拼接数据包中逐个拆分出拼接包头及所述拼接包头对应的数据包。
接收方在接收到一个拼接数据包后,对该拼接数据包进行拆包,从所述拼接数据包中逐个解析出拼接包头及所述拼接包头对应的数据包。
针对每个拼接包头,确定该拼接包头为哪种数据包的拼接包头。拼接包头可以分为完整数据包的拼接包头、首部数据包的拼接包头和尾部数据包的拼接包头三种。
步骤302,在确定出所述拼接包头为首部数据包的拼接包头时,保存所述首部数据包的拼接包头和所述首部数据包。
如果拼接包头为首部数据包的拼接包头,则该拼接包头对应的数据包为首部数据包。首部数据包为一个拼接数据包中拼接的最后一个数据包。如果拼接包头为首部数据包的拼接包头,则暂时保存该首部数据包的拼接包头和该首部数据包。
步骤303,在确定出所述拼接包头为尾部数据包的拼接包头时,依据保存的首部数据包的拼接包头和所述尾部数据包的拼接包头,确定保存的首部数据包和所述尾部数据包是否属于同一个数据包。
如果拼接包头为尾部数据包的拼接包头,则该拼接包头对应的数据包为尾部数据包。尾部数据包为一个拼接数据包中拼接的第一个数据包,正常情况下该尾部数据包应该与接收到的上一个拼接数据包中的最后一个数据包属于同一个数据包。如果拼接包头为尾部数据包的拼接包头,则可以依据保存的首部数据包的拼接包头和所述尾部数据包的拼接包头,确定保存的首部数据包和所述尾部数据包是否属于同一个数据包。
步骤304,在属于同一个数据包时,将保存的首部数据包和所述尾部数据包组合成一个完整数据包。
如果保存的首部数据包和所述尾部数据包是否属于同一个数据包,则可以将保存的首部数据包和所述尾部数据包组合成一个完整数据包。
经过上述过程,即可从拼接数据包中拆分出各完整数据包,之后对各完整数据包进行相应处理即可。
实施例四
参照图4,示出了本发明实施例四的一种数据包的处理方法的流程示意图。本发明实施例的数据包的处理方法可以包括:
b1、接收到数据包。
b2、有效性判断。
由于接收方可能还会接收到其他的数据包,该数据包可能并不是拼接数据包,因此接收到在接收到数据包后,对该数据包进行有效性判断,以便确定该数据包是否为拼接数据包。在实现中,可以判断该数据包的长度是否为固定长度,也即判断该数据包的长度是否为拼接数据包的总长度即MTU中用于承载数据部分的长度。如果判断出有效,也即数据包的长度为MTU中用于承载数据部分的长度,则确定该接收到的数据包为拼接数据包,执行b3。否则,不对接收到的数据包进行拆包处理。
b3、按拼接包头拆分。
一个拼接数据包中可以包括至少一个拼接包头和该拼接包头对应的数据包,该拼接包头位于数据包前面。接收方针对一个拼接数据包,按拼接包头进行拆分,拆分得到各拼接包头和拼接包头对应的数据包。
在拆分时,从拼接数据包中的第一个拼接包头开始,按照预设的拼接包头长度拆分出当前拼接包头;然后解析当前拼接包头,得到拼接类型、拼接序号和拼接长度(也即当前拼接包头对应的数据包的长度),按照该拼接长度拆分出当前拼接包头对应的数据包。
如果该拼接包头的拼接类型为完整包,则该拼接包头对应的数据包为完整数据包;如果该拼接包头的拼接类型为首部分,则该拼接包头对应的数据包为首部数据包;如果该拼接包头的拼接类型为尾部分,则该拼接包头对应的数据包为尾部数据包。
b4、获取拆分出的完整数据包。之后执行b11对拆分出的完整数据包进行相关处理。
b5、获取拆分出的首部数据包。
b6、保存首部数据包的拼接包头和首部数据包。比如保存到全局Buffer中。
b7、获取拆分出的尾部数据包。
b8、确定保存的首部数据包和该尾部数据包是否属于同一个数据包。若是,则执行b9,若否,则执行b10。
依据保存的首部数据包的拼接包头和所述尾部数据包的拼接包头,确定保存的首部数据包和所述尾部数据包是否属于同一个数据包,过程包括:确定所述尾部数据包的拼接包头的拼接序号是否为保存的首部数据包的拼接包头的拼接序号加一;若是,则确定保存的首部数据包和所述尾部数据包属于同一个数据包。
b9、将保存的首部数据包和该尾部数据包组合成一个完整数据包。组合之后执行b11对组合得到的完整数据包进行相关处理。
b10、丢弃保存的首部数据包和该尾部数据包。
b11、进行处理。
需要说明的是,本发明实施例中与发送方对应,接收方先进行RTP过程接收拼接数据包,然后对拼接数据包进行FEC过程,之后在对拼接数据包进行拆包过程。
实施例五
参照图5,示出了本发明实施例五的一种数据包的处理装置的结构框图。本发明实施例的数据包的处理装置可以包括以下模块:
第一确定模块501,用于获取待发送的完整数据包,确定已有的拼接数据包是否能够承载所述完整数据包;所述拼接数据包的总长度为MTU中用于承载数据部分的长度;
第一拼接模块502,用于在所述第一确定模块确定出能够承载时,创建所述完整数据包的拼接包头,将所述完整数据包的拼接包头和所述完整数据包拼接到所述已有的拼接数据包中;
第一拆分模块503,用于在所述第一确定模块确定出不能承载时,将所述完整数据包拆分为首部数据包和尾部数据包;
第二拼接模块504,用于创建所述首部数据包的拼接包头,将所述首部数据包的拼接包头和所述首部数据包拼接到所述已有的拼接数据包中,发送所述已有的拼接数据包;
第三拼接模块505,用于新建一个拼接数据包,创建所述尾部数据包的拼接包头,将所述尾部数据包的拼接包头和所述尾部数据包拼接到新建的拼接数据包中。
可选地,所述装置还包括:第一处理模块,用于在所述第一拼接模块502将所述完整数据包的拼接包头和所述完整数据包拼接到所述已有的拼接数据包中之后,计算所述已有的拼接数据包的第一剩余长度,当所述第一剩余长度小于或等于预设的拼接包头长度时,在所述已有的拼接数据包的剩余部分填充数值0后,发送所述已有的拼接数据包。第二处理模块,用于在所述第三拼接模块505将所述尾部数据包的拼接包头和所述尾部数据包拼接到新建的拼接数据包中之后,计算所述新建的拼接数据包的第二剩余长度,当所述第二剩余长度小于或等于预设的拼接包头长度时,在所述新建的拼接数据包的剩余部分填充数值0后,发送所述新建的拼接数据包。
可选地,所述第一确定模块501包括:长度比较单元,用于计算所述已有的拼接数据包的第三剩余长度,并计算所述完整数据包的长度与预设的拼接包头长度相加后的总长度,将所述总长度与所述第三剩余长度进行比较;承载确定单元,用于在所述第三剩余长度大于或等于所述总长度时,确定所述已有的拼接数据包能够承载所述完整数据包。
可选地,所述第一拆分模块503包括:计算单元,用于计算所述已有的拼接数据包的第三剩余长度,并计算所述第三剩余长度与预设的拼接包头长度相减后的差值长度;提取单元,用于从所述完整数据包中提取所述差值长度的部分数据包,将提取的部分数据包作为所述首部数据包,将剩余的部分数据包作为所述尾部数据包。
可选地,所述拼接包头包括拼接类型、拼接序号和拼接长度。所述第一拼接模块502包括:第一创建单元,用于将所述完整数据包的拼接包头中写入拼接类型为完整包,拼接序号为所述已有的拼接数据包中最后一个拼接包头的拼接序号加一,拼接长度为所述完整数据包的长度。所述第二拼接模块504包括:第二创建单元,用于将所述首部数据包的拼接包头中写入拼接类型为首部分,拼接序号为所述已有的拼接数据包中最后一个拼接包头的拼接序号加一,拼接长度为所述首部数据包的长度;所述第三拼接模块505包括:第三创建单元,用于将所述尾部数据包的拼接包头中写入拼接类型为尾部分,拼接序号为所述已有的拼接数据包中最后一个拼接包头的拼接序号加一,拼接长度为所述尾部数据包的长度。
实施例六
参照图6,示出了本发明实施例六的一种数据包的处理装置的结构框图。本发明实施例的数据包的处理装置可以包括以下模块:
第二拆分模块601,用于在接收到拼接数据包后,从所述拼接数据包中逐个拆分出拼接包头及所述拼接包头对应的数据包;
保存模块602,用于在确定出所述拼接包头为首部数据包的拼接包头时,保存所述首部数据包的拼接包头和所述首部数据包;
第二确定模块603,用于在确定出所述拼接包头为尾部数据包的拼接包头时,依据保存的首部数据包的拼接包头和所述尾部数据包的拼接包头,确定保存的首部数据包和所述尾部数据包是否属于同一个数据包;
组合模块604,用于在所述第二确定模块确定出属于同一个数据包时,将保存的首部数据包和所述尾部数据包组合成一个完整数据包。
可选地,所述拼接包头包括拼接序号。所述第二确定模块603具体用于确定所述尾部数据包的拼接包头的拼接序号是否为保存的首部数据包的拼接包头的拼接序号加一;若是,则确定保存的首部数据包和所述尾部数据包属于同一个数据包。
本发明实施例中采用拼接数据包的方式,拼接数据包的总长度为MTU中用于承载数据部分的长度。针对一个待发送的完整数据包,根据实际情况将该完整数据包全部或者部分拼接到拼接数据包中,在拼接数据包达到MTU中用于承载数据部分的长度时,通过MTU发送该拼接数据包,因此能够避免浪费MTU中的资源,提高网络带宽的利用率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本发明的实施例中,还提供了一种电子设备。该电子设备可以包括一个或多个处理器,以及其上存储有指令的一个或多个机器可读介质,指令例如应用程序。当所述指令由所述一个或多个处理器执行时,使得所述处理器执行上述的数据包的处理方法。
在本发明的实施例中,还提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序可由电子设备的处理器执行,以完成上述的数据包的处理方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据包的处理方法、装置、电子设备及存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种数据包的处理方法,其特征在于,所述方法包括:
获取待发送的完整数据包,确定已有的拼接数据包是否能够承载所述完整数据包;所述拼接数据包的总长度为MTU中用于承载数据部分的长度;
在能够承载时,创建所述完整数据包的拼接包头,将所述完整数据包的拼接包头和所述完整数据包拼接到所述已有的拼接数据包中;
在不能承载时,将所述完整数据包拆分为首部数据包和尾部数据包;
创建所述首部数据包的拼接包头,将所述首部数据包的拼接包头和所述首部数据包拼接到所述已有的拼接数据包中,发送所述已有的拼接数据包;
新建一个拼接数据包,创建所述尾部数据包的拼接包头,将所述尾部数据包的拼接包头和所述尾部数据包拼接到新建的拼接数据包中。
2.根据权利要求1所述的方法,其特征在于,
在将所述完整数据包的拼接包头和所述完整数据包拼接到所述已有的拼接数据包中之后,还包括:
计算所述已有的拼接数据包的第一剩余长度,当所述第一剩余长度小于或等于预设的拼接包头长度时,在所述已有的拼接数据包的剩余部分填充数值0后,发送所述已有的拼接数据包;
在将所述尾部数据包的拼接包头和所述尾部数据包拼接到新建的拼接数据包中之后,还包括:
计算所述新建的拼接数据包的第二剩余长度,当所述第二剩余长度小于或等于预设的拼接包头长度时,在所述新建的拼接数据包的剩余部分填充数值0后,发送所述新建的拼接数据包。
3.根据权利要求1所述的方法,其特征在于,所述确定已有的拼接数据包是否能够承载所述完整数据包,包括:
计算所述已有的拼接数据包的第三剩余长度,并计算所述完整数据包的长度与预设的拼接包头长度相加后的总长度,将所述总长度与所述第三剩余长度进行比较;
在所述第三剩余长度大于或等于所述总长度时,确定所述已有的拼接数据包能够承载所述完整数据包。
4.根据权利要求1所述的方法,其特征在于,所述将所述完整数据包拆分为首部数据包和尾部数据包,包括:
计算所述已有的拼接数据包的第三剩余长度,并计算所述第三剩余长度与预设的拼接包头长度相减后的差值长度;
从所述完整数据包中提取所述差值长度的部分数据包,将提取的部分数据包作为所述首部数据包,将剩余的部分数据包作为所述尾部数据包。
5.根据权利要求1所述的方法,其特征在于,所述拼接包头包括拼接类型、拼接序号和拼接长度;
所述创建所述完整数据包的拼接包头,包括:将所述完整数据包的拼接包头中写入拼接类型为完整包,拼接序号为所述已有的拼接数据包中最后一个拼接包头的拼接序号加一,拼接长度为所述完整数据包的长度;
所述创建所述首部数据包的拼接包头,包括:将所述首部数据包的拼接包头中写入拼接类型为首部分,拼接序号为所述已有的拼接数据包中最后一个拼接包头的拼接序号加一,拼接长度为所述首部数据包的长度;
所述创建所述尾部数据包的拼接包头,包括:将所述尾部数据包的拼接包头中写入拼接类型为尾部分,拼接序号为所述已有的拼接数据包中最后一个拼接包头的拼接序号加一,拼接长度为所述尾部数据包的长度。
6.一种数据包的处理方法,其特征在于,所述方法包括:
在接收到拼接数据包后,从所述拼接数据包中逐个拆分出拼接包头及所述拼接包头对应的数据包;
在确定出所述拼接包头为首部数据包的拼接包头时,保存所述首部数据包的拼接包头和所述首部数据包;
在确定出所述拼接包头为尾部数据包的拼接包头时,依据保存的首部数据包的拼接包头和所述尾部数据包的拼接包头,确定保存的首部数据包和所述尾部数据包是否属于同一个数据包;
在属于同一个数据包时,将保存的首部数据包和所述尾部数据包组合成一个完整数据包。
7.根据权利要求6所述的方法,其特征在于,所述拼接包头包括拼接序号;所述依据保存的首部数据包的拼接包头和所述尾部数据包的拼接包头,确定保存的首部数据包和所述尾部数据包是否属于同一个数据包,包括:
确定所述尾部数据包的拼接包头的拼接序号是否为保存的首部数据包的拼接包头的拼接序号加一;
若是,则确定保存的首部数据包和所述尾部数据包属于同一个数据包。
8.一种数据包的处理装置,其特征在于,所述装置包括:
第一确定模块,用于获取待发送的完整数据包,确定已有的拼接数据包是否能够承载所述完整数据包;所述拼接数据包的总长度为MTU中用于承载数据部分的长度;
第一拼接模块,用于在所述第一确定模块确定出能够承载时,创建所述完整数据包的拼接包头,将所述完整数据包的拼接包头和所述完整数据包拼接到所述已有的拼接数据包中;
第一拆分模块,用于在所述第一确定模块确定出不能承载时,将所述完整数据包拆分为首部数据包和尾部数据包;
第二拼接模块,用于创建所述首部数据包的拼接包头,将所述首部数据包的拼接包头和所述首部数据包拼接到所述已有的拼接数据包中,发送所述已有的拼接数据包;
第三拼接模块,用于新建一个拼接数据包,创建所述尾部数据包的拼接包头,将所述尾部数据包的拼接包头和所述尾部数据包拼接到新建的拼接数据包中。
9.一种数据包的处理装置,其特征在于,所述装置包括:
第二拆分模块,用于在接收到拼接数据包后,从所述拼接数据包中逐个拆分出拼接包头及所述拼接包头对应的数据包;
保存模块,用于在确定出所述拼接包头为首部数据包的拼接包头时,保存所述首部数据包的拼接包头和所述首部数据包;
第二确定模块,用于在确定出所述拼接包头为尾部数据包的拼接包头时,依据保存的首部数据包的拼接包头和所述尾部数据包的拼接包头,确定保存的首部数据包和所述尾部数据包是否属于同一个数据包;
组合模块,用于在所述第二确定模块确定出属于同一个数据包时,将保存的首部数据包和所述尾部数据包组合成一个完整数据包。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质;
当所述指令由所述一个或多个处理器执行时,使得所述处理器执行如权利要求1至7任一项所述的数据包的处理方法。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1至7任一项所述的数据包的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010153183.6A CN111478864A (zh) | 2020-03-06 | 2020-03-06 | 数据包的处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010153183.6A CN111478864A (zh) | 2020-03-06 | 2020-03-06 | 数据包的处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111478864A true CN111478864A (zh) | 2020-07-31 |
Family
ID=71747222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010153183.6A Pending CN111478864A (zh) | 2020-03-06 | 2020-03-06 | 数据包的处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111478864A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111770117A (zh) * | 2020-09-01 | 2020-10-13 | 北京东方通软件有限公司 | 一种网络拼包的方法及装置 |
CN113596155A (zh) * | 2021-07-29 | 2021-11-02 | 青岛海信医疗设备股份有限公司 | 数据处理方法、装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050157751A1 (en) * | 2004-01-20 | 2005-07-21 | Sameh Rabie | Method and system for ethernet and frame relay network interworking |
CN101202604A (zh) * | 2007-08-14 | 2008-06-18 | 深圳市同洲电子股份有限公司 | 一种网络数据的发送与接收方法、系统及设备 |
CN103346949A (zh) * | 2013-07-25 | 2013-10-09 | 北京大学 | 基于嵌入式的双通道网络数据包的拆包和组包方法及系统 |
CN103595660A (zh) * | 2013-11-04 | 2014-02-19 | 上海数字电视国家工程研究中心有限公司 | Ip数据包的封装方法和ip数据包的包头压缩方法 |
CN107005463A (zh) * | 2014-12-29 | 2017-08-01 | 华为技术有限公司 | Sdn及其配置方法、基于sdn的数据传输方法及网络控制器 |
-
2020
- 2020-03-06 CN CN202010153183.6A patent/CN111478864A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050157751A1 (en) * | 2004-01-20 | 2005-07-21 | Sameh Rabie | Method and system for ethernet and frame relay network interworking |
CN101202604A (zh) * | 2007-08-14 | 2008-06-18 | 深圳市同洲电子股份有限公司 | 一种网络数据的发送与接收方法、系统及设备 |
CN103346949A (zh) * | 2013-07-25 | 2013-10-09 | 北京大学 | 基于嵌入式的双通道网络数据包的拆包和组包方法及系统 |
CN103595660A (zh) * | 2013-11-04 | 2014-02-19 | 上海数字电视国家工程研究中心有限公司 | Ip数据包的封装方法和ip数据包的包头压缩方法 |
CN107005463A (zh) * | 2014-12-29 | 2017-08-01 | 华为技术有限公司 | Sdn及其配置方法、基于sdn的数据传输方法及网络控制器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111770117A (zh) * | 2020-09-01 | 2020-10-13 | 北京东方通软件有限公司 | 一种网络拼包的方法及装置 |
CN113596155A (zh) * | 2021-07-29 | 2021-11-02 | 青岛海信医疗设备股份有限公司 | 数据处理方法、装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109923809B (zh) | 利用前向纠错的编码和解码方法、以及编码和解码系统 | |
US8949600B2 (en) | Composed message authentication code | |
CN113037440B (zh) | 数据重传处理方法、装置、计算机设备和存储介质 | |
CN110943800A (zh) | 数据包的发送方法、装置及系统、存储介质、电子装置 | |
CN111478864A (zh) | 数据包的处理方法、装置、电子设备及存储介质 | |
CN109889521B (zh) | 存储器、通信通道复用实现方法、装置和设备 | |
US10298508B2 (en) | Communication system, receiving-side apparatus and transmission-side apparatus | |
CN114221909B (zh) | 数据传输方法、装置、终端及存储介质 | |
CN114051173B (zh) | 一种基于rtp扩展头部的视频帧可靠传输方法、装置及设备 | |
CN111371887B (zh) | 物联网日志传输方法、客户端、服务端、设备及存储介质 | |
CN110233856B (zh) | 报文处理方法、装置及计算机可读存储介质 | |
US20120327954A1 (en) | Packet Meta-Tagging Using Excess Payload | |
CN112436998A (zh) | 一种数据传输方法及电子设备 | |
CN113890897B (zh) | 一种报文处理方法和相关装置 | |
EP3541088A1 (en) | Method, device and system for bearing frame number of multichannel passive optical network, and storage medium | |
CN107222403A (zh) | 一种数据传输方法、系统和电子设备 | |
CN112887054B (zh) | 一种基于长度转义的数据流封包方法、解包方法及系统 | |
CN113612516A (zh) | 一种卫星通信数据包的压缩测试方法、系统及设备 | |
CN106302364B (zh) | 代理方法、辅助代理方法与设备 | |
JP2004153471A (ja) | チェックサム算出方法、チェックサム記録方法、およびその方法を利用可能な通信装置 | |
CN113364790B (zh) | 数据传输方法及装置 | |
CN115617611A (zh) | 信令流程图的生成方法、装置、电子设备和存储介质 | |
CN115314544A (zh) | 一种tcp数据单向传输方法、装置、设备及介质 | |
CN107222299A (zh) | 一种数据传输方法、系统和电子设备 | |
JP4655870B2 (ja) | パケット送受信システムおよび経過時間測定方法 |
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 |