CN111371782A - 一种报文传输方法及装置、存储介质 - Google Patents
一种报文传输方法及装置、存储介质 Download PDFInfo
- Publication number
- CN111371782A CN111371782A CN202010140462.9A CN202010140462A CN111371782A CN 111371782 A CN111371782 A CN 111371782A CN 202010140462 A CN202010140462 A CN 202010140462A CN 111371782 A CN111371782 A CN 111371782A
- Authority
- CN
- China
- Prior art keywords
- message
- segmented
- tcp
- queue
- reassembly
- 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
- 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/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种报文传输方法及装置、存储介质,包括:当获取到应用层网关协议的TCP报文时,判断该TCP报文是否为分段报文;若该TCP报文为分段报文,将分段报文添加至对应分段报文重组队列中;若重组队列里面的分段报文收齐,将重组队列中的TCP分段报文进行报文重组,得到TCP整体报文;将TCP整体报文传输至应用层网关中,以供应用层网关对TCP整体报文进行解析或者修改。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种报文传输方法及装置、存储介质。
背景技术
当会话初始协议(Session Initiation Protocol,SIP)/H.323会话协议应用层长度超过最大报文段长度(Maximum Segment Size,MSS)最大值时,应用层把TCP载荷分成若干个TCP段发出;TCP分段报文经过防火墙的应用层网关(Application Layer Gateway,ALG)模块时,ALG模块无法对TCP分段报文进行改包处理,导致ALG网络改包失败。
发明内容
为解决上述技术问题,本发明实施例期望提供一种报文传输方法及装置、存储介质,能够解决ALG网络改包失败的问题。
本发明的技术方案是这样实现的:
本发明实施例提供一种报文传输方法,所述方法包括:
当获取到应用层网关协议的TCP报文时,判断所述TCP报文是否为分段报文;
若所述TCP报文为所述分段报文,将所述分段报文添加至对应分段报文重组队列中;
若所述重组队列里面的分段报文收齐,将所述重组队列中的TCP分段报文进行报文重组,得到TCP整体报文;
将所述TCP整体报文传输至应用层网关中,以供所述应用层网关对所述TCP整体报文进行解析或者修改。
在上述方法中,所述将所述分段报文添加至对应分段报文重组队列中,包括:
根据所述分段报文的链接跟踪,确定所述分段报文对应的重组队列;
按照所述分段报文携带的序列号,将所述分段报文缓存到所述重组队列的链表中。
在上述方法中,所述根据所述分段报文的链接跟踪,确定所述分段报文对应的重组队列,包括:
判断所述分段报文的链接跟踪是否存在预存重组队列;
当判断出所述分段报文的链接跟踪存在所述预存重组队列时,将所述预存重组队列确定为所述分段报文对应的重组队列;
当判断出所述分段报文的链接跟踪不存在所述重组队列时,为所述分段报文的链接跟踪分配第一重组队列,将初始化的第一重组队列确定为所述分段报文对应的重组队列。
在上述方法中,所述第一重组队列的初始化过程包括:
从所述分段报文中获取所述TCP整体报文的报文长度;
将所述TCP整体报文的报文长度存储至所述第一重组队列中。
在上述方法中,所述按照所述分段报文携带的序列号,将所述分段报文缓存到所述重组队列的链表中,包括:
将所述分段报文的序列号与所述重组队列的链表中的缓存序列号进行比较;
若所述分段报文的序列号与所述缓存序列号相同,禁止将所述分段报文缓存到所述重组队列的链表中;
若所述分段报文的序列号与所述缓存序列号不同,将所述分段报文缓存到所述重组队列的链表中。
在上述方法中,所述若所述重组队列里面的分段报文收齐,将所述重组队列中的TCP分段报文进行报文重组,得到TCP整体报文,包括:
分别获取所述重组队列里已经收到的TCP分段报文总长度和所述TCP整体报文的报文长度;
若所述重组队列里已经收到的TCP分段报文总长度与所述TCP整体报文的长度相同,判断出所述重组队列中的TCP分段报文满足所述报文重组条件;
将所述TCP分段报文进行报文重组,得到所述TCP整体报文;
对所述TCP整体报文进行TCP和IP校验,并释放所述重组队列。
在上述方法中,所述将所述TCP整体报文传输至应用层网关中之后,所述方法还包括:
当判断出所述应用层网关完成对所述TCP整体报文的解析或修改时,将所处理后的TCP整体报文重新分段成一组修改后的TCP分段报文进行传输。
本发明实施例提供一种报文传输装置,所述报文传输装置包括:
判断模块,用于当获取到应用层网关协议的TCP报文时,判断所述TCP报文是否为分段报文;
添加模块,用于若所述TCP报文为所述分段报文,将所述分段报文添加至对应分段报文重组队列中;
报文重组模块,用于若判断出所述重组队列里面的分段报文收齐,将所述重组队列中的TCP分段报文进行报文重组,得到TCP整体报文;
报文传输模块,用于将所述TCP整体报文传输至应用层网关中,以供所述应用层网关对所述TCP整体报文进行解析或者修改。
本发明实施例提供一种报文传输装置,所述报文传输装置包括:处理器、存储器及通信总线,所述处理器用于执行所述存储器中存储的运行程序,以实现上述任一项所述的方法。
本发明实施例提供一种存储介质,其上存储有计算机程序,应用于报文传输装置,其特征在于,该计算机程序被处理器执行时实现上述任一项所述的方法。
本发明实施例提供了一种报文传输方法及装置、存储介质,包括:当获取到应用层网关协议的TCP报文时,判断该TCP报文是否为分段报文;若该TCP报文为分段报文,将分段报文添加至对应分段报文重组队列中;若重组队列里面的分段报文收齐,将重组队列中的TCP分段报文进行报文重组,得到TCP整体报文;将TCP整体报文传输至应用层网关中,以供应用层网关对TCP整体报文进行解析或者修改。采用上述方法实现方案,报文传输装置在判断出TCP报文为分段报文时,将分段报文添加至重组队列中,并将重组队列中的TCP分段报文进行报文重组,并将得到的TCP整体报文传输至应用层网关中,由此,ALG模块能够对TCP整体报文进行改包操作,解决了ALG网络改包失败的问题。
附图说明
图1为现有技术中在应用层对SIP/H323报文进行数据拷贝的数据流图;
图2为本发明实施例提供的一种报文传输方法的流程图一;
图3为本发明实施例提供的一种示例性的报文传输装置将分段报文进行报文重组的数据流图;
图4为本发明实施例提供的一种示例性的报文传输装置对SIP/H323的TCP分段报文进行报文重组的流程示意图;
图5为本发明实施例提供的一种报文传输装置的结构示意图一;
图6为本发明实施例提供的一种报文传输装置的结构示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
目前,在应用层对TCP分段报文进行的操作包括:报文乱序重组和应用层数据拷贝到一块缓存区域中,如图1所示,为HTTP的TCP分段数据包进行处理的数据流:
1、HTTP的一个POST请求流分段成A、C、B、D段发送给应用层模块,应用层模块进行TCP分段报文的乱序重组,把报文重组成A、B、C、D顺序;
2、解析HTTP私有数据的头和body,把A、B、C、D的HTTP应用层数据拷贝到buf缓冲区中(buf缓冲区的最大长度是16k),然后把buf缓存区中的HTTP应用层数据传输至安全模块进行处理。
实施例一
本发明实施例提供一种报文传输方法,如图2所示,该方法可以包括:
S101、当获取到应用层网关协议的TCP报文时,判断TCP报文是否为分段报文。
本发明实施例提供的一种报文传输方法适用于在应用层将TCP分段报文传输至ALG模块之前,对TCP分段报文进行报文重组的场景下。
本发明实施例中,当SIP/H.323会话协议的应用层长度超过MSS最大值时,报文传输装置在应用层把TCP整体报文分成若干个TCP分段报文发出,由此,在报文传输装置将TCP报文传输至ALG模块之前,当报文传输装置获取到SIP/H.323的TCP报文时,报文传输装置判断该TCP报文是否为分段报文,当报文传输装置判断出该TCP报文为分段报文时,报文传输装置对该TCP报文进行报文重组后发送至ALG模块;当报文传输装置判断出该报文不是分段报文时,报文传输装置直接将该TCP报文发送至ALG模块。
需要说明的是,报文传输装置在内核中对SIP/H.323的TCP分段报文进行报文重组相关的处理。
S102、若TCP报文为分段报文,将分段报文添加至对应分段报文重组队列中。
当报文传输装置判断出TCP报文为分段报文之后,报文传输装置将TCP报文添加至分段报文对应的重组队列中。
本发明实施例中,当报文传输装置判断出TCP报文为分段报文时,报文传输装置根据分段报文的链接跟踪,确定分段报文对应的重组队列;并按照分段报文携带的序列号,将分段报文缓存到重组队列的链表中。
具体的,报文传输装置根据所述分段报文的链接跟踪,确定所述分段报文对应的重组队列的过程可以包括:报文传输装置判断分段报文的链接跟踪是否存在预存重组队列;当报文传输装置判断出分段报文的链接跟踪存在预存重组队列时,报文传输装置将预存重组队列确定为分段报文对应的重组队列;当报文传输装置判断出分段报文的链接跟踪不存在重组队列时,报文传输装置为分段报文的链接跟踪分配第一重组队列,初始化第一重组队列;并将初始化的第一重组队列确定为分段报文对应的重组队列。
需要说明的是,TCP整体报文在划分为多个TCP分段报文传输时,将TCP整体报文的报文长度存储在第一段TCP分段报文中,故,当报文传输装置判断出TCP的分段报文的链接跟踪不存在预存重组队列时,表征该分段报文即为TCP整体报文的第一段TCP分段报文,在报文传输装置初始化第一重组队列的过程中,报文传输装置从TCP报文中获取TCP整体报文的报文长度;之后,报文传输装置将TCP整体报文的报文长度存储至第一重组队列中。报文传输装置在对第一重组队列进行初始化的过程中不仅限于在第一重组队列中存储TCP整体报文的报文长度,还包括初始化队列所需的其他初始化过程,具体的根据实际情况进行选择,本发明实施例不做具体的限定。
本发明实施例中,报文传输装置按照分段报文携带的序列号,将分段报文缓存到重组队列的链表中的过程包括:报文传输装置将分段报文的序列号与重组队列的链表中的缓存序列号进行比较;若报文传输装置判断出分段报文的序列号与缓存序列号相同,表征该分段报文为重传报文,报文传输装置禁止将分段报文缓存到重组队列的链表中;当报文传输装置判断出分段报文的序列号与缓存序列号不同时,报文传输装置将分段报文缓存到重组队列的链表中。
本发明实施例中,报文传输装置从重组队列的链表中,查找与该分段报文携带的序列号相邻的序列号,之后,报文传输装置将分段报文插入链表中该相邻的序列号对应的链式报文之间。
本发明实施例中,TCP分段报文以链式报文的形式缓存在重组队列的链表中。
可以理解的是,本发明实施例利用了链接跟踪的流跟踪特性缓存TCP分段报文,无需对TCP分段报文重组流进行查找,提高了TCP分段报文重组的速度。
S103、若重组队列里面的分段报文收齐,将重组队列中的TCP分段报文进行报文重组,得到TCP整体报文。
当报文传输装置将分段报文添加至对应分段报文重组队列中之后,报文传输装置判断重组队列中的分段报文是否收齐,当报文传输装置判断出重组队列里面的分段报文收齐时,报文传输装置将重组队列中的TCP分段报文进行报文重组,得到TCP整体报文。
本发明实施例中,报文传输装置分别获取重组队列里已经收到的TCP分段报文总长度和TCP整体报文的报文长度;报文传输装置将重组队列里已经收到的TCP分段报文总长度与TCP整体报文的报文长度进行比较,当报文传输装置判断出重组队列里已经收到的TCP分段报文总长度与TCP整体报文的报文长度相同时,则判定重组队列里面的分段报文收齐,此时重组队列中的TCP分段报文满足报文重组条件,报文传输装置将TCP分段报文进行报文重组,得到TCP整体报文;报文传输装置对TCP整体报文进行TCP和IP校验,并释放重组队列。
进一步地,当报文传输装置判断出重组队列里已经收到的TCP分段报文总长度小于TCP整体报文的报文长度时,表征重组队列中并未缓存组成TCP整体报文的全部TCP分段报文,判定重组队列里面的分段报文未收齐,此时重组队列中的TCP分段报文不满足报文重组条件,报文传输装置继续下一轮将TCP报文缓存至重组队列的过程。
本发明实施例中,报文传输装置释放重组队列,并返回链表头报文,之后,将重组队列的链式报文进行报文重组。
示例性的,如图3所示,报文传输装置接收到分段报文数据流:报文a、报文c、报文b和报文d,报文传输装置为分段报文数据流的链接跟踪分配重组队列,并对该重组队列进行初始化,之后,报文传输装置将报文a、报文c、报文b和报文d按照逻辑顺序缓存至重组队列的链表中,当报文传输装置收集完毕全部分段报文之后,报文传输装置释放重组队列,并返回链表报文头,报文传输装置将链表报文进行报文重组,得到报文e,并将报文e传输至ALG模块,ALG模块对报文e进行改包处理和序列号处理之后,将报文e重新按照MSS分段成报文f、报文g、报文h和报文i进行传输。
S104、将TCP整体报文传输至应用层网关中,以供应用层网关对TCP整体报文进行解析或者修改。
当报文传输装置将重组队列中的TCP分段报文进行报文重组,得到TCP整体报文之后,报文传输装置将TCP整体报文传输至应用层网关中,以供应用层网关对TCP整体报文进行解析或者修改。
本发明实施例中,报文传输装置将TCP整体报文传输至ALG模块,ALG模块对TCP整体报文进行解析或者修改操作,得到处理后的TCP整体报文。
进一步地,当应用层网关完成对TCP整体报文的解析或者修改时,报文传输装置将处理后的TCP整体报文重新分段成一组修改后的TCP分段报文进行传输。
示例性的,图4为报文传输装置对SIP/H323的TCP分段报文进行报文重组,具体的:
1、报文传输装置接收SIP/H323的TCP报文;
2、报文传输装置判断TCP报文是否为分段报文;
3、当TCP报文不为分段报文时,执行11;
4、当TCP报文为分段报文时,报文传输装置判断TCP报文的链接跟踪是否存在重组队列;
5、当TCP报文的链接跟踪不存在重组队列时,报文传输装置为该链接跟踪分配重组队列,并执行7;
6、当TCP报文的链接跟踪存在重组队列时,执行7;
7、报文传输装置判断该TCP报文是否为重传报文;
8、当TCP报文为重传报文时,报文传输装置丢弃该报文;
9、当TCP报文不是重传报文时,报文传输装置按照序列号顺序把TCP报文缓存到重传队列的链表中;
10、当报文传输装置收齐TCP整体报文所需的全部TCP分段报文时,报文传输装置把重组队列链表中的链表报文进行报文重组,并释放之前的TCP分段报文,报文传输装置对报文重组后的TCP报文进行TCP和IP校验;
11、报文传输装置将校验完成的TCP报文传输至ALG模块进行处理;
12、在ALG模块对TCP报文处理完成之后,报文传输装置将处理完成的TCP报文分段成一组TCP分段报文进行传输。
可以理解的是,报文传输装置在判断出TCP报文为分段报文时,将TCP报文添加至重组队列中,并将重组队列中的TCP分段报文进行报文重组,并将得到的TCP整体报文传输至应用层网关中,由此,ALG模块能够对TCP整体报文进行改包操作,解决了ALG网络改包失败的问题。
实施例二
基于实施例一和实施例二同一发明构思,本发明实施例提供了一种报文传输装置1,对应于一种报文传输方法;图5为本发明实施例提供的一种报文传输装置的组成结构示意图一,该报文传输装置1可以包括:
判断模块10,用于当获取到应用层网关协议的TCP报文时,判断所述TCP报文是否为分段报文;
添加模块11,用于若所述TCP报文为所述分段报文,将所述分段报文添加至对应分段报文重组队列中;
报文重组模块12,用于若判断出所述重组队列里面的分段报文收齐,将所述重组队列中的TCP分段报文进行报文重组,得到TCP整体报文;
报文传输模块13,用于将所述TCP整体报文传输至应用层网关中,以供所述应用层网关对所述TCP整体报文进行解析或者修改。
在本发明的一些实施例中,所述装置还包括确定模块和缓存模块;
确定模块,用于根据所述分段报文的链接跟踪,确定所述分段报文对应的重组队列;
缓存模块,用于按照所述分段报文携带的序列号,将所述分段报文缓存到所述重组队列的链表中。
在本发明的一些实施例中,所述装置还包括:队列分配模块;
所述判断模块10,还用于判断所述分段报文的链接跟踪是否存在预存重组队列;
所述确定模块,还用于当判断出所述分段报文的链接跟踪存在所述预存重组队列时,将所述预存重组队列确定为所述分段报文对应的重组队列;
队列分配模块,用于当判断出所述分段报文的链接跟踪不存在所述重组队列时,为所述分段报文的链接跟踪分配第一重组队列,将初始化的第一重组队列确定为所述分段报文对应的重组队列。
在本发明的一些实施例中,所述装置还包括:获取模块和存储模块;
所述获取模块,用于从所述分段报文中获取所述TCP整体报文的报文长度;
所述存储模块,用于将所述TCP整体报文的报文长度存储至所述第一重组队列中。
在本发明的一些实施例中,所述装置还包括:比较模块和禁止模块;
所述比较模块,用于将所述分段报文的序列号与所述重组队列的链表中的缓存序列号进行比较;
所述禁止模块,用于若所述分段报文的序列号与所述缓存序列号相同,禁止将所述分段报文缓存到所述重组队列的链表中;
所述缓存模块,还用于若所述分段报文的序列号与所述缓存序列号不同,将所述分段报文缓存到所述重组队列的链表中。
在本发明的一些实施例中,所述获取模块,还用于分别获取所述重组队列里已经收到的TCP分段报文总长度和所述TCP整体报文的报文长度;
所述报文重组模块12,还用于若所述重组队列里已经收到的TCP分段报文总长度与所述TCP整体报文的长度相同,将所述TCP分段报文进行报文重组,得到所述TCP整体报文;对所述TCP整体报文进行TCP和IP校验,并释放所述重组队列。
在本发明的一些实施例中,所述报文传输模块13,还用于当判断出所述应用层网关完成对所述TCP整体报文的解析或修改时,将所处理后的TCP整体报文重新分段成一组修改后的TCP分段报文进行传输。
可以理解的是,本发明中的报文传输装置在判断出TCP报文为分段报文时,将TCP报文添加至重组队列中,并将重组队列中的TCP分段报文进行报文重组,并将得到的TCP整体报文传输至应用层网关中,由此,ALG模块能够对TCP整体报文进行改包操作,解决了ALG网络改包失败的问题。
图6为本发明实施例提出的报文传输装置1的组成结构示意图一,在实际应用中,基于实施例一的同一发明构思下,如图6所示,本发明实施例的报文传输装置1包括:处理器14、存储器15及通信总线16。在具体的实施例的过程中,上述处理器14可以为特定用途集成电路(ASIC,Application Specific Integrated Circuit)、数字信号处理器(DSP,DigitalSignal Processor)、数字信号处理设备(DSPD,Digital Signal Processing Device)、可编程逻辑设备(PLD,Programmable Logic Device)、现场可编程门阵列(FPGA,FieldProgrammable Gate Array)、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。
在本发明的实施例中,上述通信总线16用于实现处理器14和存储器15之间的连接通信;上述处理器14用于执行存储器15中存储的运行程序,以实现如实施例一所述的报文传输方法。
本发明实施例提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如实施例一所述的报文传输方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (10)
1.一种报文传输方法,其特征在于,所述方法包括:
当获取到应用层网关协议的TCP报文时,判断所述TCP报文是否为分段报文;
若所述TCP报文为所述分段报文,将所述分段报文添加至对应分段报文重组队列中;
若所述重组队列里面的分段报文收齐,将所述重组队列中的TCP分段报文进行报文重组,得到TCP整体报文;
将所述TCP整体报文传输至应用层网关中,以供所述应用层网关对所述TCP整体报文进行解析或者修改。
2.根据权利要求1所述的方法,其特征在于,所述将所述分段报文添加至对应分段报文重组队列中,包括:
根据所述分段报文的链接跟踪,确定所述分段报文对应的重组队列;
按照所述分段报文携带的序列号,将所述分段报文缓存到所述重组队列的链表中。
3.根据权利要求2所述的方法,其特征在于,所述根据所述分段报文的链接跟踪,确定所述分段报文对应的重组队列,包括:
判断所述分段报文的链接跟踪是否存在预存重组队列;
当判断出所述分段报文的链接跟踪存在所述预存重组队列时,将所述预存重组队列确定为所述分段报文对应的重组队列;
当判断出所述分段报文的链接跟踪不存在所述重组队列时,为所述分段报文的链接跟踪分配第一重组队列,将初始化的第一重组队列确定为所述分段报文对应的重组队列。
4.根据权利要求3所述的方法,其特征在于,所述第一重组队列的初始化过程包括:
从所述分段报文中获取所述TCP整体报文的报文长度;
将所述TCP整体报文的报文长度存储至所述第一重组队列中。
5.根据权利要求2所述的方法,其特征在于,所述按照所述分段报文携带的序列号,将所述分段报文缓存到所述重组队列的链表中,包括:
将所述分段报文的序列号与所述重组队列的链表中的缓存序列号进行比较;
若所述分段报文的序列号与所述缓存序列号相同,禁止将所述分段报文缓存到所述重组队列的链表中;
若所述分段报文的序列号与所述缓存序列号不同,将所述分段报文缓存到所述重组队列的链表中。
6.根据权利要求1所述的方法,其特征在于,所述若所述重组队列里面的分段报文收齐,将所述重组队列中的TCP分段报文进行报文重组,得到TCP整体报文,包括:
分别获取所述重组队列里已经收到的TCP分段报文总长度和所述TCP整体报文的报文长度;
若所述重组队列里已经收到的TCP分段报文总长度与所述TCP整体报文的长度相同,将所述TCP分段报文进行报文重组,得到所述TCP整体报文;
对所述TCP整体报文进行TCP和IP校验,并释放所述重组队列。
7.根据权利要求1所述的方法,其特征在于,所述将所述TCP整体报文传输至应用层网关中之后,所述方法还包括:
当判断出所述应用层网关完成对所述TCP整体报文的解析或修改时,将所处理后的TCP整体报文重新分段成一组修改后的TCP分段报文进行传输。
8.一种报文传输装置,其特征在于,所述报文传输装置包括:
判断模块,用于当获取到应用层网关协议的TCP报文时,判断所述TCP报文是否为分段报文;
添加模块,用于若所述TCP报文为所述分段报文,将所述分段报文添加至对应分段报文重组队列中;
报文重组模块,用于若判断出所述重组队列里面的分段报文收齐,将所述重组队列中的TCP分段报文进行报文重组,得到TCP整体报文;
报文传输模块,用于将所述TCP整体报文传输至应用层网关中,以供所述应用层网关对所述TCP整体报文进行解析或者修改。
9.一种报文传输装置,其特征在于,所述报文传输装置包括:处理器、存储器及通信总线,所述处理器用于执行所述存储器中存储的运行程序,以实现权利要求1至7任一项所述的方法。
10.一种存储介质,其上存储有计算机程序,应用于报文传输装置,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010140462.9A CN111371782A (zh) | 2020-03-03 | 2020-03-03 | 一种报文传输方法及装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010140462.9A CN111371782A (zh) | 2020-03-03 | 2020-03-03 | 一种报文传输方法及装置、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111371782A true CN111371782A (zh) | 2020-07-03 |
Family
ID=71211651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010140462.9A Pending CN111371782A (zh) | 2020-03-03 | 2020-03-03 | 一种报文传输方法及装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111371782A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113179219A (zh) * | 2021-03-29 | 2021-07-27 | 新华三信息安全技术有限公司 | 一种报文处理方法、装置、设备及机器可读存储介质 |
EP4033715A1 (en) * | 2021-01-22 | 2022-07-27 | Tata Consultancy Services Limited | Re-assembly middleware in fpga for processing tcp segments into application layer messages |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102860049A (zh) * | 2011-04-27 | 2013-01-02 | 华为技术有限公司 | 一种短信处理方法、相关设备及系统 |
CN101695067B (zh) * | 2009-10-13 | 2013-02-13 | 深圳市同洲电子股份有限公司 | 基于tcp的数据处理方法、装置、数字电视接收终端和系统 |
CN106911644A (zh) * | 2015-12-23 | 2017-06-30 | 中国移动通信集团广西有限公司 | 一种报文重组方法和设备 |
CN108134751A (zh) * | 2017-12-12 | 2018-06-08 | 杭州迪普科技股份有限公司 | 一种tcp分段报文待检测文本重组方法及装置 |
US10291750B1 (en) * | 2016-12-13 | 2019-05-14 | Juniper Networks, Inc. | Aggregating data sessions between autonomous systems |
CN109756505A (zh) * | 2019-01-16 | 2019-05-14 | 北京左江科技股份有限公司 | 一种对终端设备透明的tcp/ip网络传输报文重组方法 |
-
2020
- 2020-03-03 CN CN202010140462.9A patent/CN111371782A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101695067B (zh) * | 2009-10-13 | 2013-02-13 | 深圳市同洲电子股份有限公司 | 基于tcp的数据处理方法、装置、数字电视接收终端和系统 |
CN102860049A (zh) * | 2011-04-27 | 2013-01-02 | 华为技术有限公司 | 一种短信处理方法、相关设备及系统 |
CN106911644A (zh) * | 2015-12-23 | 2017-06-30 | 中国移动通信集团广西有限公司 | 一种报文重组方法和设备 |
US10291750B1 (en) * | 2016-12-13 | 2019-05-14 | Juniper Networks, Inc. | Aggregating data sessions between autonomous systems |
CN108134751A (zh) * | 2017-12-12 | 2018-06-08 | 杭州迪普科技股份有限公司 | 一种tcp分段报文待检测文本重组方法及装置 |
CN109756505A (zh) * | 2019-01-16 | 2019-05-14 | 北京左江科技股份有限公司 | 一种对终端设备透明的tcp/ip网络传输报文重组方法 |
Non-Patent Citations (1)
Title |
---|
CISCO: "ALG—H.323 vTCP with High Availability Support for Firewall and NAT", 《CISCO》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4033715A1 (en) * | 2021-01-22 | 2022-07-27 | Tata Consultancy Services Limited | Re-assembly middleware in fpga for processing tcp segments into application layer messages |
CN113179219A (zh) * | 2021-03-29 | 2021-07-27 | 新华三信息安全技术有限公司 | 一种报文处理方法、装置、设备及机器可读存储介质 |
CN113179219B (zh) * | 2021-03-29 | 2022-05-27 | 新华三信息安全技术有限公司 | 一种报文处理方法、装置、设备及机器可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8149705B2 (en) | Packet communications unit | |
US8649395B2 (en) | Protocol stack using shared memory | |
CN1968074B (zh) | 网络封包串流仿真方法 | |
US7529242B1 (en) | Routing network packets for multi-processor network flow analysis | |
EP3707880A1 (en) | Nic with programmable pipeline | |
US20150382240A1 (en) | Methods and apparatus for optimizing tunneled traffic | |
Mittal et al. | Recursively cautious congestion control | |
JP4743894B2 (ja) | データ・パケットを伝送しながらセキュリティを改良するための方法及び装置 | |
US20060203730A1 (en) | Method and system for reducing end station latency in response to network congestion | |
TW201242313A (en) | Detecting and mitigating denial of service attacks | |
US7953093B2 (en) | TCP/IP reordering | |
JP2002538725A (ja) | 初期のランダムなパケット廃棄方法および装置 | |
CN111371782A (zh) | 一种报文传输方法及装置、存储介质 | |
Fu et al. | Performance comparison of congestion control strategies for multi-path TCP in the NORNET testbed | |
US8111700B2 (en) | Computer-readable recording medium storing packet identification program, packet identification method, and packet identification device | |
CN105763375B (zh) | 一种数据包发送方法、接收方法及微波站 | |
GB2493130A (en) | SIP server overload control | |
WO2011012004A1 (zh) | 一种实现网络流量清洗的方法及系统 | |
CN112671662B (zh) | 数据流加速方法、电子设备和存储介质 | |
CN106790310B (zh) | 分布式拒绝服务攻击防护与负载均衡一体化的方法和系统 | |
US20100030911A1 (en) | Data transfer acceleration system and associated methods | |
Srivastava | Performance analysis of QUIC protocol under network congestion | |
US9270686B1 (en) | Zero copy packet buffering using shadow sends | |
CN111064673B (zh) | 一种用户面数据完整性保护方法、装置、电子设备及介质 | |
CN115190077B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200703 |