CN111770117A - 一种网络拼包的方法及装置 - Google Patents
一种网络拼包的方法及装置 Download PDFInfo
- Publication number
- CN111770117A CN111770117A CN202010901834.5A CN202010901834A CN111770117A CN 111770117 A CN111770117 A CN 111770117A CN 202010901834 A CN202010901834 A CN 202010901834A CN 111770117 A CN111770117 A CN 111770117A
- Authority
- CN
- China
- Prior art keywords
- data packet
- data
- packet
- identifier
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- 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
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/166—IP fragmentation; TCP segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种网络拼包的方法及装置,其中方法包括:步骤S1:对接收的第一数据包进行筛选,获得多个待拼包的第二数据包;步骤S2:解析每个第二数据包,分别获取每个第二数据包的第一标识;步骤S3:基于第一标识;对第二数据包进行拼包处理。本发明的网络拼包的方法,实现数据包的拼包,进而使链路得到充分利用,提高数据传输的效率。
Description
技术领域
本发明涉及网络数据传输技术领域,特别涉及一种网络拼包的方法及装置。
背景技术
目前,随着网络信息技术的高速发展,网络的速度越来越快,但是作为在网络上传输的基本单元【数据包】,受网络数据传输的链路层的制约,存在传输限制【最大传输单元MTU】;如何充分利用链路是亟需解决的问题,是提高数据传输效率的关键手段之一。
发明内容
本发明目的之一在于提供了一种网络拼包的方法,实现数据包的拼包,进而使链路得到充分利用,提高数据传输的效率。
本发明实施例提供的一种网络拼包的方法,包括:
步骤S1:对接收的第一数据包进行筛选,获得多个待拼包的第二数据包;
步骤S2:解析每个第二数据包,分别获取每个第二数据包的第一标识;
步骤S3:基于第一标识;对第二数据包进行拼包处理。
优选的,步骤S1:对接收的第一数据包进行筛选获取多个待拼包的第二数据包,包括:
确定第一数据包的数据长度,筛选出数据长度小于预设值的第一数据包为待拼包的第二数据包;
和/或,
解析第一数据包,获取第一数据包的目的地址,筛选出目的地址为同一地址的第一数据包为待拼包的第二数据包;
和/或,
解析第一数据包,获取第一数据包中数据的数据格式,筛选出数据格式为同一格式的第一数据包为待拼包的第二数据包。
优选的,步骤S2:解析每个第二数据包,分别获取每个第二数据包的第一标识,具体包括:
基于预设的关键词表提取第二数据包中的关键词,确定第二数据包中包含关键词表中各个关键词的数量,基于各个关键词的数量确定第二数据包的优先值,将优先值作为第一标识;
或,
确定第二数据包的数据内容的数据长度,将数据长度作为第一标识;
或,
计算第二数据包内的数据内容的哈希值,将哈希值作为第一标识;
或,
基于预设提取规则提取第二数据包中位于数据内容部分的起始端处的第一数据和位于数据内容部分的终止端的第二数据,将第一数据和第二数据作为第一标识;
步骤S3:基于第一标识;对第二数据包进行拼包处理,具体包括:
按照优先值从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;
或,
按照数据长度从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;
或,
按照哈希值从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;
或,
在第二数据包前端添加第一数据且在第二数据包后端添加第二数据,将添加好第一数据和第二数据的第二数据包按照添加前的所述第二数据包的获取时间进行拼包获得第三数据包;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符;
其中,预设提取规则包括:提取N个数据,N大于等于2;
基于各个关键词的数量确定第二数据包的优先值,包括:
优选的,步骤S2:解析每个第二数据包,分别获取每个第二数据包的第一标识;具体包括:
步骤S21:依次提取任一第二数据包作为第一基准数据包,
步骤S22:将提取的第一基准数据包与其他的未提取的第二数据包从起始端开始按从起始端到终止端的顺序依次提取数据,将数据进行一一比对,在比对过程,当数据不相同时,停止比对,并将上一次比对时的数据距离起始端的长度作为其他的未提取的第二数据包对应第一基准数据包的第一长度;
步骤S23:将提取的第二数据包与其他第二数据包从终止端开始按从终止端到起始端的顺序依次提取数据,将数据进行一一比对,在比对过程中,当数据不相同时,停止比对,并将上一次比对时的数据距离终止端的长度作为其他的未提取的第二数据包对应第一基准数据包的第二长度;
步骤S24:基于第一长度和第二长度,计算第二数据包作为第一基准数据包的适配度,计算公式如下:
步骤S25:以适配度最高的第二数据包作为第一基准数据包,将对应第一基准数据包的第一长度和第二长度和值作为第一标识;
步骤S3:基于第一标识;对第二数据包进行拼包处理,具体包括:
以第一基准数据包为第一位,按照第一标识从大到小的顺序依次将第二数据包进行拼接形成第三数据包;在拼接过程中位于第二位的第二数据包依据第二数据包对应的第一长度和第二长度分别在前部和后部删除对应的数据,并在第二数据包前端嵌设预设的第二标识、第一长度和第二长度;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识。
优选的,步骤S1:对接收的第一数据包进行筛选获取多个待拼包的第二数据包,包括:
依次提取任一第一数据包为第二基准数据包;
计算其他的未提取的第一数据包与第二基准数据包的相似度;计算公式如下:
其中,X表示相似度,为未提取的第一数据包的第个特征值;表示未提取的
第一数据包的第个特征值的权重;表示第二基准数据包的第个特征值;表示第
二基准数据包的第个特征值的权重;M表示其他的未提取的第一数据包和第二基准数据
包中特征值的个数;
统计相似度大于预设阈值的未提取的第一数据包的数量;将数量作为提取的第一数据包作为第二基准数据包的参考值;
比较各个参考值,获取其中最大的参考值对应的第二基准数据包以及与第二基准数据包的相似度大于预设阈值的未提取的第一数据包作为第二数据包。
本发明还提供一种网络拼包的装置,包括:
筛选模块,用于对接收的第一数据包进行筛选,获得多个待拼包的第二数据包;
第一标识确定模块,用于解析每个第二数据包,分别获取每个第二数据包的第一标识;
拼包模块,用于基于第一标识;对第二数据包进行拼包处理。
优选的,筛选模块执行包括如下操作:
确定第一数据包的数据长度,筛选出数据长度小于预设值的第一数据包为待拼包的第二数据包;
和/或,
解析第一数据包,获取第一数据包的目的地址,筛选出目的地址为同一地址的第一数据包为待拼包的第二数据包;
和/或,
解析第一数据包,获取第一数据包中数据的数据格式,筛选出数据格式为同一格式的第一数据包为待拼包的第二数据包。
优选的,第一标识确定模块,执行包括如下操作:
基于预设的关键词表提取第二数据包中的关键词,确定第二数据包中包含关键词表中各个关键词的数量,基于各个关键词的数量确定第二数据包的优先值,将优先值作为第一标识;
或,
确定第二数据包的数据内容的数据长度,将数据长度作为第一标识;
或,
计算第二数据包内的数据内容的哈希值,将哈希值作为第一标识;
或,
基于预设提取规则提取第二数据包中位于数据内容部分的起始端处的第一数据和位于数据内容部分的终止端的第二数据,将第一数据和第二数据作为第一标识;
拼包模块,执行包括如下操作:
按照优先值从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;
或,
按照数据长度从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;
或,
按照哈希值从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;
或,
在第二数据包前端添加第一数据且在第二数据包后端添加第二数据,将添加好第一数据和第二数据的第二数据包按照添加前的所述第二数据包的获取时间进行拼包获得第三数据包;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符;
其中,预设提取规则包括:提取N个数据,N大于等于2;
基于各个关键词的数量确定第二数据包的优先值,包括:
优选的,第一标识确定模块,执行包括如下操作:
依次提取任一第二数据包作为第一基准数据包,
将提取的第一基准数据包与其他的未提取的第二数据包从起始端开始按从起始端到终止端的顺序依次提取数据,将数据进行一一比对,在比对过程,当数据不相同时,停止比对,并将上一次比对时的数据距离起始端的长度作为其他的未提取的第二数据包对应第一基准数据包的第一长度;
将提取的第二数据包与其他第二数据包从终止端开始按从终止端到起始端的顺序依次提取数据,将数据进行一一比对,在比对过程中,当数据不相同时,停止比对,并将上一次比对时的数据距离终止端的长度作为其他的未提取的第二数据包对应第一基准数据包的第二长度;
基于第一长度和第二长度,计算第二数据包作为第一基准数据包的适配度,计算公式如下:
以适配度最高的第二数据包作为第一基准数据包,将对应第一基准数据包的第一长度和第二长度和值作为第一标识;
拼包模块,执行包括如下操作:
以第一基准数据包为第一位,按照第一标识从大到小的顺序依次将第二数据包进行拼接形成第三数据包;在拼接过程中位于第二位的第二数据包依据第二数据包对应的第一长度和第二长度分别在前部和后部删除对应的数据,并在第二数据包前端嵌设预设的第二标识、第一长度和第二长度;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识。
优选的,筛选模块,执行包括如下操作:
依次提取任一第一数据包为第二基准数据包;
计算其他的未提取的第一数据包与第二基准数据包的相似度;计算公式如下:
其中,X表示相似度,为未提取的第一数据包的第个特征值;表示未提取的第
一数据包的第个特征值的权重;表示第二基准数据包的第个特征值;表示第二
基准数据包的第个特征值的权重;M表示其他的未提取的第一数据包和第二基准数据包中
特征值的个数;
统计相似度大于预设阈值的未提取的第一数据包的数量;将数量作为提取的第一数据包作为第二基准数据包的参考值;
比较各个参考值,获取其中最大的参考值对应的第二基准数据包以及与第二基准数据包的相似度大于预设阈值的未提取的第一数据包作为第二数据包。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种网络拼包的方法的示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实施例提供了一种网络拼包的方法,如图1所示,包括:
步骤S1:对接收的第一数据包进行筛选,获得多个待拼包的第二数据包;
步骤S2:解析每个第二数据包,分别获取每个第二数据包的第一标识;
步骤S3:基于第一标识;对第二数据包进行拼包处理。
上述技术方案的工作原理及有益效果为:
首先,对于接受的数据包【第一数据包】进行筛选出符合拼包规则的数据包【第二数据包】,例如:对于达到最大传输单元MTU的数据包就无需进行拼包了;对筛选出的数据包进行解析,确定每个数据包对应的第一标识;然后以第一标识对第二数据包进行拼包;通过对筛选出来的数据包进行拼包,使拼包后的数据包接近最大传输单元限制;进而使链路得到充分利用,提高数据传输的效率。
在一个实施例中,步骤S1:对接收的第一数据包进行筛选获取多个待拼包的第二数据包,包括:
确定第一数据包的数据长度,筛选出数据长度小于预设值的第一数据包为待拼包的第二数据包;
和/或,
解析第一数据包,获取第一数据包的目的地址,筛选出目的地址为同一地址的第一数据包为待拼包的第二数据包;
和/或,
解析第一数据包,获取第一数据包中数据的数据格式,筛选出数据格式为同一格式的第一数据包为待拼包的第二数据包。
上述技术方案的工作原理及有益效果为:
在对接收的第一数据包进行筛选时,主要依据数据包的数据长度、目的地址和数据格式;即当数据长度小于预设值【例如最大传输单元MTU的M分之一,M大于等于2】和/或目的地址为同一地址和/或数据格式为同一格式时,将第一数据包作为待拼包的第二数据包;本实施例通过接收的数据包进行初步筛选,筛选出适合拼包的数据包,为后续拼包操作提供数据基础。
在一个实施例中,步骤S2:解析每个第二数据包,分别获取每个第二数据包的第一标识,具体包括:
基于预设的关键词表提取第二数据包中的关键词,确定第二数据包中包含关键词表中各个关键词的数量,基于各个关键词的数量确定第二数据包的优先值,将优先值作为第一标识;
或,
确定第二数据包的数据内容的数据长度,将数据长度作为第一标识;
或,
计算第二数据包内的数据内容的哈希值,将哈希值作为第一标识;
或,
基于预设提取规则提取第二数据包中位于数据内容部分的起始端处的第一数据和位于数据内容部分的终止端的第二数据,将第一数据和第二数据作为第一标识;
步骤S3:基于第一标识;对第二数据包进行拼包处理,具体包括:
按照优先值从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;
或,
按照数据长度从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;
或,
按照哈希值从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;
或,
在第二数据包前端添加第一数据且在第二数据包后端添加第二数据,将添加好第一数据和第二数据的第二数据包按照添加前的所述第二数据包的获取时间进行拼包获得第三数据包;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符;
其中,预设提取规则包括:提取N个数据,N大于等于2;
基于各个关键词的数量确定第二数据包的优先值,包括:
上述技术方案的工作原理及有益效果为:
本实施例中提供四种拼包的方法:一、关键词表法:采用预设的关键词对数据包进行关键词词提取,确定优先值,以优先值顺序对数据包进行排序拼包,在拼包位置放入第二标识,作为拼包位置的标识,并且在拼包后的数据包前端设置标识符,通过前端的标识符与未拼包的数据包进行区分,即在接收端时,为拼包的数据包无需进行拆包处理;二、数据长度:以数据长度对数据包进行排序,同样在拼包位置放入第二标识,作为拼包位置的标识,并且在拼包后的数据包前端设置标识符;三、哈希值:以哈希值大小对数据包进行排序,同样在拼包位置放入第二标识,作为拼包位置的标识,并且在拼包后的数据包前端设置标识符;四、前后数据法:以第二数据包的前后两端数据作为拼接位置的标识,并且在拼包后的数据包前端设置标识符;通过四种方法可以实现数据包的拼包,使拼包后的数据包接近最大传输单元限制;并且需要注意拼包后的数据不能大于最大传输单元MTU;进而使链路得到充分利用,提高数据传输的效率。
在一个实施例中,步骤S2:解析每个第二数据包,分别获取每个第二数据包的第一标识;具体包括:
步骤S21:依次提取任一第二数据包作为第一基准数据包,
步骤S22:将提取的第一基准数据包与其他的未提取的第二数据包从起始端开始按从起始端到终止端的顺序依次提取数据,将数据进行一一比对,在比对过程,当数据不相同时,停止比对,并将上一次比对时的数据距离起始端的长度作为其他的未提取的第二数据包对应第一基准数据包的第一长度;
步骤S23:将提取的第二数据包与其他第二数据包从终止端开始按从终止端到起始端的顺序依次提取数据,将数据进行一一比对,在比对过程中,当数据不相同时,停止比对,并将上一次比对时的数据距离终止端的长度作为其他的未提取的第二数据包对应第一基准数据包的第二长度;
步骤S24:基于第一长度和第二长度,计算第二数据包作为第一基准数据包的适配度,计算公式如下:
步骤S25:以适配度最高的第二数据包作为第一基准数据包,将对应第一基准数据包的第一长度和第二长度和值作为第一标识;
步骤S3:基于第一标识;对第二数据包进行拼包处理,具体包括:
以第一基准数据包为第一位,按照第一标识从大到小的顺序依次将第二数据包进行拼接形成第三数据包;在拼接过程中位于第二位的第二数据包依据第二数据包对应的第一长度和第二长度分别在前部和后部删除对应的数据,并在第二数据包前端嵌设预设的第二标识、第一长度和第二长度;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识。
上述技术方案的工作原理及有益效果为:
采用第一长度和第二长度的和值作为第一标识,在拼包时,除了第一位的数据包为完整的,其余的都可以进行第一长度和第二长度的数据省略,在拼接位置标示出第一长度和第二长度,实现了第一位之后的数据包的缩减,提高了第三数据包中参与拼包的第二数据包的数量,进而提高了数据传输的效率。
在一个实施例中,步骤S1:对接收的第一数据包进行筛选获取多个待拼包的第二数据包,包括:
依次提取任一第一数据包为第二基准数据包;
计算其他的未提取的第一数据包与第二基准数据包的相似度;计算公式如下:
其中,X表示相似度,为未提取的第一数据包的第个特征值;表示未提取的第
一数据包的第个特征值的权重;表示第二基准数据包的第个特征值;表示第二
基准数据包的第个特征值的权重;M表示其他的未提取的第一数据包和第二基准数据包
中特征值的个数;
统计相似度大于预设阈值的未提取的第一数据包的数量;将数量作为提取的第一数据包作为第二基准数据包的参考值;
比较各个参考值,获取其中最大的参考值对应的第二基准数据包以及与第二基准数据包的相似度大于预设阈值的未提取的第一数据包作为第二数据包。
上述技术方案的工作原理及有益效果为:
基于数据的相似度对接收的数据包进行筛选,确定可以拼包的数据包;因为越相似的数据,其存在前端和后端存在相同数据的长度就越长,就越容易进行数据包的缩减,从而实现了在拼包时,提高第三数据包中参与拼包的第二数据包的数量,进而提高了数据传输效率。
本发明还提供一种网络拼包的装置,包括:
筛选模块,用于对接收的第一数据包进行筛选,获得多个待拼包的第二数据包;
第一标识确定模块,用于解析每个第二数据包,分别获取每个第二数据包的第一标识;
拼包模块,用于基于第一标识;对第二数据包进行拼包处理。
上述技术方案的工作原理及有益效果为:
首先,筛选模块对于接受的数据包【第一数据包】进行筛选出符合拼包规则的数据包【第二数据包】,例如:对于达到最大传输单元MTU的数据包就无需进行拼包了;第一标识确定模块对筛选出的数据包进行解析,确定每个数据包对应的第一标识;然后拼包模块以第一标识对第二数据包进行拼包;通过对筛选出来的数据包进行拼包,使拼包后的数据包接近最大传输单元限制;进而使链路得到充分利用,提高数据传输的效率。
在一个实施例中,筛选模块执行包括如下操作:
确定第一数据包的数据长度,筛选出数据长度小于预设值的第一数据包为待拼包的第二数据包;
和/或,
解析第一数据包,获取第一数据包的目的地址,筛选出目的地址为同一地址的第一数据包为待拼包的第二数据包;
和/或,
解析第一数据包,获取第一数据包中数据的数据格式,筛选出数据格式为同一格式的第一数据包为待拼包的第二数据包。
上述技术方案的工作原理及有益效果为:
在对接收的第一数据包进行筛选时,主要依据数据包的数据长度、目的地址和数据格式;即当数据长度小于预设值【例如最大传输单元MTU的M分之一,M大于等于2】和/或目的地址为同一地址和/或数据格式为同一格式时,将第一数据包作为待拼包的第二数据包;本实施例通过接收的数据包进行初步筛选,筛选出适合拼包的数据包,为后续拼包操作提供数据基础。
在一个实施例中,第一标识确定模块,执行包括如下操作:
基于预设的关键词表提取第二数据包中的关键词,确定第二数据包中包含关键词表中各个关键词的数量,基于各个关键词的数量确定第二数据包的优先值,将优先值作为第一标识;
或,
确定第二数据包的数据内容的数据长度,将数据长度作为第一标识;
或,
计算第二数据包内的数据内容的哈希值,将哈希值作为第一标识;
或,
基于预设提取规则提取第二数据包中位于数据内容部分的起始端处的第一数据和位于数据内容部分的终止端的第二数据,将第一数据和第二数据作为第一标识;
拼包模块,执行包括如下操作:
按照优先值从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;
或,
按照数据长度从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;
或,
按照哈希值从大到小的顺序将第二数据包拼接获得第三数据包,在第三数据包中每个第二数据包之间嵌设预设的第二标识;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识;
或,
在第二数据包前端添加第一数据且在第二数据包后端添加第二数据,将添加好第一数据和第二数据的第二数据包按照添加前的所述第二数据包的获取时间进行拼包获得第三数据包;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符;
其中,预设提取规则包括:提取N个数据,N大于等于2;
基于各个关键词的数量确定第二数据包的优先值,包括:
上述技术方案的工作原理及有益效果为:
本实施例中提供四种拼包的方法:一、关键词表法:采用预设的关键词对数据包进行关键词词提取,确定优先值,以优先值顺序对数据包进行排序拼包,在拼包位置放入第二标识,作为拼包位置的标识,并且在拼包后的数据包前端设置标识符,通过前端的标识符与未拼包的数据包进行区分,即在接收端时,为拼包的数据包无需进行拆包处理;二、数据长度:以数据长度对数据包进行排序,同样在拼包位置放入第二标识,作为拼包位置的标识,并且在拼包后的数据包前端设置标识符;三、哈希值:以哈希值大小对数据包进行排序,同样在拼包位置放入第二标识,作为拼包位置的标识,并且在拼包后的数据包前端设置标识符;四、前后数据法:以第二数据包的前后两端数据作为拼接位置的标识,并且在拼包后的数据包前端设置标识符;通过四种方法可以实现数据包的拼包,使拼包后的数据包接近最大传输单元限制;并且需要注意拼包后的数据不能大于最大传输单元MTU;进而使链路得到充分利用,提高数据传输的效率。
在一个实施例中,第一标识确定模块,执行包括如下操作:
依次提取任一第二数据包作为第一基准数据包,
将提取的第一基准数据包与其他的未提取的第二数据包从起始端开始按从起始端到终止端的顺序依次提取数据,将数据进行一一比对,在比对过程,当数据不相同时,停止比对,并将上一次比对时的数据距离起始端的长度作为其他的未提取的第二数据包对应第一基准数据包的第一长度;
将提取的第二数据包与其他第二数据包从终止端开始按从终止端到起始端的顺序依次提取数据,将数据进行一一比对,在比对过程中,当数据不相同时,停止比对,并将上一次比对时的数据距离终止端的长度作为其他的未提取的第二数据包对应第一基准数据包的第二长度;
基于第一长度和第二长度,计算第二数据包作为第一基准数据包的适配度,计算公式如下:
以适配度最高的第二数据包作为第一基准数据包,将对应第一基准数据包的第一长度和第二长度和值作为第一标识;
拼包模块,执行包括如下操作:
以第一基准数据包为第一位,按照第一标识从大到小的顺序依次将第二数据包进行拼接形成第三数据包;在拼接过程中位于第二位的第二数据包依据第二数据包对应的第一长度和第二长度分别在前部和后部删除对应的数据,并在第二数据包前端嵌设预设的第二标识、第一长度和第二长度;在第三数据包的最前端添加表示第三数据包为拼包数据包的标示符,标示符包括第二标识。
上述技术方案的工作原理及有益效果为:
采用第一长度和第二长度的和值作为第一标识,在拼包时,除了第一位的数据包为完整的,其余的都可以进行第一长度和第二长度的数据省略,在拼接位置标示出第一长度和第二长度,实现了第一位之后的数据包的缩减,提高了第三数据包中参与拼包的第二数据包的数量,进而提高了数据传输的效率。
在一个实施例中,筛选模块,执行包括如下操作:
依次提取任一第一数据包为第二基准数据包;
计算其他的未提取的第一数据包与第二基准数据包的相似度;计算公式如下:
其中,X表示相似度,为未提取的第一数据包的第个特征值;表示未提取的第
一数据包的第个特征值的权重;表示第二基准数据包的第个特征值;表示第二
基准数据包的第个特征值的权重;M表示其他的未提取的第一数据包和第二基准数据包中
特征值的个数;
统计相似度大于预设阈值的未提取的第一数据包的数量;将数量作为提取的第一数据包作为第二基准数据包的参考值;
比较各个参考值,获取其中最大的参考值对应的第二基准数据包以及与第二基准数据包的相似度大于预设阈值的未提取的第一数据包作为第二数据包。
上述技术方案的工作原理及有益效果为:
基于数据的相似度对接收的数据包进行筛选,确定可以拼包的数据包;因为越相似的数据,其存在前端和后端存在相同数据的长度就越长,就越容易进行数据包的缩减,从而实现了在拼包时,提高第三数据包中参与拼包的第二数据包的数量,进而提高了数据传输效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种网络拼包的方法,其特征在于,包括:
步骤S1:对接收的第一数据包进行筛选,获得多个待拼包的第二数据包;
步骤S2:解析每个所述第二数据包,分别获取每个所述第二数据包的第一标识;
步骤S3:基于所述第一标识;对所述第二数据包进行拼包处理。
2.如权利要求1所述的网络拼包的方法,其特征在于,所述步骤S1:对接收的第一数据包进行筛选获取多个待拼包的第二数据包,包括:
确定所述第一数据包的数据长度,筛选出所述数据长度小于预设值的所述第一数据包为待拼包的所述第二数据包;
和/或,
解析所述第一数据包,获取所述第一数据包的目的地址,筛选出所述目的地址为同一地址的所述第一数据包为待拼包的所述第二数据包;
和/或,
解析所述第一数据包,获取所述第一数据包中数据的数据格式,筛选出所述数据格式为同一格式的所述第一数据包为待拼包的所述第二数据包。
3.如权利要求1所述的网络拼包的方法,其特征在于,所述步骤S2:解析每个所述第二数据包,分别获取每个所述第二数据包的第一标识,具体包括:
基于预设的关键词表提取所述第二数据包中的关键词,确定所述第二数据包中包含所述关键词表中各个所述关键词的数量,基于各个所述关键词的数量确定所述第二数据包的优先值,将所述优先值作为所述第一标识;
或,
确定所述第二数据包的数据内容的数据长度,将所述数据长度作为所述第一标识;
或,
计算所述第二数据包内的所述数据内容的哈希值,将所述哈希值作为所述第一标识;
或,
基于预设提取规则提取所述第二数据包中位于数据内容部分的起始端处的第一数据和位于所述数据内容部分的终止端的第二数据,将所述第一数据和所述第二数据作为所述第一标识;
所述步骤S3:基于所述第一标识;对所述第二数据包进行拼包处理,具体包括:
按照所述优先值从大到小的顺序将所述第二数据包拼接获得第三数据包,在所述第三数据包中每个所述第二数据包之间嵌设预设的第二标识;在所述第三数据包的最前端添加表示所述第三数据包为拼包数据包的标示符,所述标示符包括所述第二标识;
或,
按照所述数据长度从大到小的顺序将所述第二数据包拼接获得第三数据包,在所述第三数据包中每个所述第二数据包之间嵌设预设的第二标识;在所述第三数据包的最前端添加表示所述第三数据包为拼包数据包的标示符,所述标示符包括所述第二标识;
或,
按照所述哈希值从大到小的顺序将所述第二数据包拼接获得第三数据包,在所述第三数据包中每个所述第二数据包之间嵌设预设的第二标识;在所述第三数据包的最前端添加表示所述第三数据包为拼包数据包的标示符,所述标示符包括所述第二标识;
或,
在所述第二数据包前端添加所述第一数据且在所述第二数据包后端添加所述第二数据,将添加好所述第一数据和所述第二数据的所述第二数据包按照添加前的所述第二数据包的获取时间进行拼包获得第三数据包;在所述第三数据包的最前端添加表示所述第三数据包为拼包数据包的标示符;
其中,预设提取规则包括:提取N个数据,N大于等于2;
基于各个所述关键词的数量确定所述第二数据包的优先值,包括:
4.如权利要求1所述的网络拼包的方法,其特征在于,所述步骤S2:解析每个所述第二数据包,分别获取每个所述第二数据包的第一标识;具体包括:
步骤S21:依次提取任一所述第二数据包作为第一基准数据包,
步骤S22:将提取的所述第一基准数据包与其他的未提取的所述第二数据包从起始端开始按从所述起始端到终止端的顺序依次提取数据,将所述数据进行一一比对,在比对过程,当所述数据不相同时,停止比对,并将上一次比对时的所述数据距离所述起始端的长度作为其他的未提取的所述第二数据包对应所述第一基准数据包的第一长度;
步骤S23:将提取的所述第二数据包与其他所述第二数据包从所述终止端开始按从所述终止端到所述起始端的顺序依次提取数据,将所述数据进行一一比对,在比对过程中,当所述数据不相同时,停止比对,并将上一次比对时的所述数据距离所述终止端的长度作为其他的未提取的所述第二数据包对应所述第一基准数据包的第二长度;
步骤S24:基于所述第一长度和所述第二长度,计算所述第二数据包作为所述第一基准数据包的适配度,计算公式如下:
其中,表示第个所述第二数据包作为所述第一基准数据包的适配度;表示第个
所述第二数据包对应所述第一基准数据包的所述第一长度;表示第个所述第二数据包
对应所述第一基准数据包的所述第二长度;表示所述第二数据包的数量;
步骤S25:以适配度最高的所述第二数据包作为所述第一基准数据包,将对应所述第一基准数据包的所述第一长度和所述第二长度和值作为第一标识;
所述步骤S3:基于所述第一标识;对所述第二数据包进行拼包处理,具体包括:
以所述第一基准数据包为第一位,按照所述第一标识从大到小的顺序依次将所述第二数据包进行拼接形成第三数据包;在拼接过程中位于第二位的所述第二数据包依据所述第二数据包对应的第一长度和第二长度分别在前部和后部删除对应的数据,并在所述第二数据包前端嵌设预设的第二标识、所述第一长度和所述第二长度;在所述第三数据包的最前端添加表示所述第三数据包为拼包数据包的标示符,所述标示符包括所述第二标识。
5.如权利要求1所述的网络拼包的方法,其特征在于,所述步骤S1:对接收的第一数据包进行筛选获取多个待拼包的第二数据包,包括:
依次提取任一所述第一数据包为第二基准数据包;
计算其他的未提取的第一数据包与所述第二基准数据包的相似度;计算公式如下:
其中,X表示所述相似度,为所述未提取的第一数据包的第个特征值;表示所述
未提取的第一数据包的第个特征值的权重;表示所述第二基准数据包的第个特征
值;表示所述第二基准数据包的第个特征值的权重;M表示所述其他的未提取的所述
第一数据包和所述第二基准数据包中特征值的个数;
统计所述相似度大于预设阈值的所述未提取的第一数据包的数量;将所述数量作为所述提取的第一数据包作为所述第二基准数据包的参考值;
比较各个所述参考值,获取其中最大的所述参考值对应的所述第二基准数据包以及与所述第二基准数据包的所述相似度大于预设阈值的所述未提取的第一数据包作为所述第二数据包。
6.一种网络拼包的装置,其特征在于,包括:
筛选模块,用于对接收的第一数据包进行筛选,获得多个待拼包的第二数据包;
第一标识确定模块,用于解析每个所述第二数据包,分别获取每个所述第二数据包的第一标识;
拼包模块,用于基于所述第一标识;对所述第二数据包进行拼包处理。
7.如权利要求6所述的网络拼包的装置,其特征在于,所述筛选模块执行包括如下操作:
确定所述第一数据包的数据长度,筛选出所述数据长度小于预设值的所述第一数据包为待拼包的所述第二数据包;
和/或,
解析所述第一数据包,获取所述第一数据包的目的地址,筛选出所述目的地址为同一地址的所述第一数据包为待拼包的所述第二数据包;
和/或,
解析所述第一数据包,获取所述第一数据包中数据的数据格式,筛选出所述数据格式为同一格式的所述第一数据包为待拼包的所述第二数据包。
8.如权利要求6所述的网络拼包的装置,其特征在于,所述第一标识确定模块,执行包括如下操作:
基于预设的关键词表提取所述第二数据包中的关键词,确定所述第二数据包中包含所述关键词表中各个所述关键词的数量,基于各个所述关键词的数量确定所述第二数据包的优先值,将所述优先值作为所述第一标识;
或,
确定所述第二数据包的数据内容的数据长度,将所述数据长度作为所述第一标识;
或,
计算所述第二数据包内的所述数据内容的哈希值,将所述哈希值作为所述第一标识;
或,
基于预设提取规则提取所述第二数据包中位于数据内容部分的起始端处的第一数据和位于所述数据内容部分的终止端的第二数据,将所述第一数据和所述第二数据作为所述第一标识;
所述拼包模块,执行包括如下操作:
按照所述优先值从大到小的顺序将所述第二数据包拼接获得第三数据包,在所述第三数据包中每个所述第二数据包之间嵌设预设的第二标识;在所述第三数据包的最前端添加表示所述第三数据包为拼包数据包的标示符,所述标示符包括所述第二标识;
或,
按照所述数据长度从大到小的顺序将所述第二数据包拼接获得第三数据包,在所述第三数据包中每个所述第二数据包之间嵌设预设的第二标识;在所述第三数据包的最前端添加表示所述第三数据包为拼包数据包的标示符,所述标示符包括所述第二标识;
或,
按照所述哈希值从大到小的顺序将所述第二数据包拼接获得第三数据包,在所述第三数据包中每个所述第二数据包之间嵌设预设的第二标识;在所述第三数据包的最前端添加表示所述第三数据包为拼包数据包的标示符,所述标示符包括所述第二标识;
或,
在所述第二数据包前端添加所述第一数据且在所述第二数据包后端添加所述第二数据,将添加好所述第一数据和所述第二数据的所述第二数据包按照添加前的所述第二数据包的获取时间进行拼包获得第三数据包;在所述第三数据包的最前端添加表示所述第三数据包为拼包数据包的标示符;
其中,预设提取规则包括:提取N个数据,N大于等于2;
基于各个所述关键词的数量确定所述第二数据包的优先值,包括:
9.如权利要求6所述的网络拼包的装置,其特征在于,所述第一标识确定模块,执行包括如下操作:
依次提取任一所述第二数据包作为第一基准数据包,
将提取的所述第一基准数据包与其他的未提取的所述第二数据包从起始端开始按从所述起始端到终止端的顺序依次提取数据,将所述数据进行一一比对,在比对过程,当所述数据不相同时,停止比对,并将上一次比对时的所述数据距离所述起始端的长度作为其他的未提取的所述第二数据包对应所述第一基准数据包的第一长度;
将提取的所述第二数据包与其他所述第二数据包从所述终止端开始按从所述终止端到所述起始端的顺序依次提取数据,将所述数据进行一一比对,在比对过程中,当所述数据不相同时,停止比对,并将上一次比对时的所述数据距离所述终止端的长度作为其他的未提取的所述第二数据包对应所述第一基准数据包的第二长度;
基于所述第一长度和所述第二长度,计算所述第二数据包作为所述第一基准数据包的适配度,计算公式如下:
其中,表示第个所述第二数据包作为所述第一基准数据包的适配度;表示第个所
述第二数据包对应所述第一基准数据包的所述第一长度;表示第个所述第二数据包对
应所述第一基准数据包的所述第二长度;表示所述第二数据包的数量;
以适配度最高的所述第二数据包作为所述第一基准数据包,将对应所述第一基准数据包的所述第一长度和所述第二长度和值作为第一标识;
所述拼包模块,执行包括如下操作:
以所述第一基准数据包为第一位,按照所述第一标识从大到小的顺序依次将所述第二数据包进行拼接形成第三数据包;在拼接过程中位于第二位的所述第二数据包依据所述第二数据包对应的第一长度和第二长度分别在前部和后部删除对应的数据,并在所述第二数据包前端嵌设预设的第二标识、所述第一长度和所述第二长度;在所述第三数据包的最前端添加表示所述第三数据包为拼包数据包的标示符,所述标示符包括所述第二标识。
10.如权利要求6所述的网络拼包的装置,其特征在于,所述筛选模块,执行包括如下操作:
依次提取任一所述第一数据包为第二基准数据包;
计算其他的未提取的第一数据包与所述第二基准数据包的相似度;计算公式如下:
其中,X表示所述相似度,为所述未提取的第一数据包的第个特征值;表示所述
未提取的第一数据包的第个特征值的权重;表示所述第二基准数据包的第个特征
值;表示所述第二基准数据包的第个特征值的权重;M表示所述其他的未提取的所述第
一数据包和所述第二基准数据包中特征值的个数;
统计所述相似度大于预设阈值的所述未提取的第一数据包的数量;将所述数量作为所述提取的第一数据包作为所述第二基准数据包的参考值;
比较各个所述参考值,获取其中最大的所述参考值对应的所述第二基准数据包以及与所述第二基准数据包的所述相似度大于预设阈值的所述未提取的第一数据包作为所述第二数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010901834.5A CN111770117B (zh) | 2020-09-01 | 2020-09-01 | 一种网络拼包的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010901834.5A CN111770117B (zh) | 2020-09-01 | 2020-09-01 | 一种网络拼包的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111770117A true CN111770117A (zh) | 2020-10-13 |
CN111770117B CN111770117B (zh) | 2020-12-18 |
Family
ID=72729129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010901834.5A Active CN111770117B (zh) | 2020-09-01 | 2020-09-01 | 一种网络拼包的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111770117B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040100991A1 (en) * | 2002-11-26 | 2004-05-27 | Behrokh Samadi | Methods and apparatus for optimum packet aggregation in a communication network |
US6778495B1 (en) * | 2000-05-17 | 2004-08-17 | Cisco Technology, Inc. | Combining multilink and IP per-destination load balancing over a multilink bundle |
CN103973645A (zh) * | 2013-01-30 | 2014-08-06 | 华为技术有限公司 | 一种数据传输方法和相关装置 |
CN104378315A (zh) * | 2014-11-17 | 2015-02-25 | 京信通信系统(中国)有限公司 | 一种capwap隧道数据包传输的方法及装置 |
CN108307204A (zh) * | 2017-01-13 | 2018-07-20 | 上海交通大学 | 一种基于多业务ts流的alp封装方法 |
CN109818904A (zh) * | 2017-11-21 | 2019-05-28 | 中兴通讯股份有限公司 | 一种物联网终端数据流处理方法及装置 |
CN111478864A (zh) * | 2020-03-06 | 2020-07-31 | 视联动力信息技术股份有限公司 | 数据包的处理方法、装置、电子设备及存储介质 |
-
2020
- 2020-09-01 CN CN202010901834.5A patent/CN111770117B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6778495B1 (en) * | 2000-05-17 | 2004-08-17 | Cisco Technology, Inc. | Combining multilink and IP per-destination load balancing over a multilink bundle |
US20040100991A1 (en) * | 2002-11-26 | 2004-05-27 | Behrokh Samadi | Methods and apparatus for optimum packet aggregation in a communication network |
US7286560B2 (en) * | 2002-11-26 | 2007-10-23 | Lucent Technologies Inc. | Methods and apparatus for optimum packet aggregation in a communication network |
CN103973645A (zh) * | 2013-01-30 | 2014-08-06 | 华为技术有限公司 | 一种数据传输方法和相关装置 |
CN104378315A (zh) * | 2014-11-17 | 2015-02-25 | 京信通信系统(中国)有限公司 | 一种capwap隧道数据包传输的方法及装置 |
CN108307204A (zh) * | 2017-01-13 | 2018-07-20 | 上海交通大学 | 一种基于多业务ts流的alp封装方法 |
CN109818904A (zh) * | 2017-11-21 | 2019-05-28 | 中兴通讯股份有限公司 | 一种物联网终端数据流处理方法及装置 |
CN111478864A (zh) * | 2020-03-06 | 2020-07-31 | 视联动力信息技术股份有限公司 | 数据包的处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111770117B (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112468370B (zh) | 一种支持自定义规则的高速网络报文监测分析方法及系统 | |
US8510830B2 (en) | Method and apparatus for efficient netflow data analysis | |
US7602780B2 (en) | Scalably detecting and blocking signatures at high speeds | |
US20120099597A1 (en) | Method and device for detecting a packet | |
CN105847078B (zh) | 一种基于dpi自学习机制的http流量精细化识别方法 | |
US20120195208A1 (en) | Programmable multifield parser packet | |
CN101640594B (zh) | 一种在网络设备上提取流量攻击报文特征的方法和单元 | |
CN101316232B (zh) | 基于网络协议版本6的分片重组方法 | |
US10911579B1 (en) | Generating programmatically defined fields of metadata for network packets | |
US8774194B2 (en) | Method and apparatus for a high-speed frame tagger | |
CN105871619B (zh) | 一种基于n-gram多特征的流量载荷类型检测方法 | |
TW201501556A (zh) | 用於唯一枚舉解析樹中的路徑的裝置和方法 | |
WO2014135038A1 (zh) | 基于pcie总线的报文传输方法与装置 | |
CN105407096A (zh) | 基于流管理的报文数据检测方法 | |
CN104333483A (zh) | 互联网应用流量识别方法、系统及识别装置 | |
CN115225734A (zh) | 一种报文处理方法和网络设备 | |
CN111181819B (zh) | 一种基于链表结构的接收多字节数据帧的串口通讯方法 | |
US6687715B2 (en) | Parallel lookups that keep order | |
CN111770117B (zh) | 一种网络拼包的方法及装置 | |
CN103856370B (zh) | 一种应用流量识别方法及其系统 | |
CN111031073A (zh) | 一种网络入侵检测系统及方法 | |
CN103532779B (zh) | 一种快速定位分流设备丢包的方法及系统 | |
CN102655476B (zh) | 一种互联网协议流转发方法,及设备 | |
WO2012083748A1 (zh) | 一种基于深度包检测的协议跨包检测方法和装置 | |
CN111198855A (zh) | 日志数据的处理方法和装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |