CN105337704A - 报文处理方法及装置 - Google Patents
报文处理方法及装置 Download PDFInfo
- Publication number
- CN105337704A CN105337704A CN201410379677.0A CN201410379677A CN105337704A CN 105337704 A CN105337704 A CN 105337704A CN 201410379677 A CN201410379677 A CN 201410379677A CN 105337704 A CN105337704 A CN 105337704A
- Authority
- CN
- China
- Prior art keywords
- message
- tcp
- sending
- repeated
- receiving
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 36
- 230000005540 biological transmission Effects 0.000 claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 21
- 230000004044 response Effects 0.000 claims description 14
- 230000007423 decrease Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种报文处理方法及装置,该方法包括:首先,报文处理装置根据接收到的第一传输控制协议TCP报文向发送端发送重复ACK报文;其次,若已发送的重复ACK报文的次数大于或等于第一设定阀值且小于第二预设阀值,则每接收到至少两个所述第一TCP报文后向发送端发送一个重复ACK报文;或者,若定时器超过预设时延,并且还未接收到期望接收报文,则向发送端发送一个重复ACK报文,从而降低向发送端发送重复ACK报文的频率,进而优化了报文处理装置性能。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种报文处理方法及装置。
背景技术
传输控制协议(TransmissionControlProtocol,TCP)提供一种面向连接的、全双工的、可靠的字节流服务,其中应用数据被分割成TCP认为最合适发送的数据块,该数据块被称为报文段或段,TCP中传输的每一个字节对应一个序列号,发送端按照报文的顺序向接收端发送报文。
然而,可能存在中间者或者发送端恶意发送TCP报文等情况,因此,接收端会出现收到一些乱序的报文的情况,一旦存在这种情况,接收端会向发送端发送重复响应(Acknowledge,ACK)报文,发送重复ACK报文的目的是告知发送端自己收到一个失序的报文,并说明其所期望的接收序列号。并且当接收端每接收一个TCP报文不是它的期望接收报文时,则会向发送端发送一次重复ACK报文,从而造成接收端重复发送重复ACK报文,进而形成ACK风暴,使得接收端性能降低。
发明内容
为了降低发送重复ACK报文的频率,进而优化报文处理装置的性能,本发明提供了一种报文处理方法及装置。
第一方面,本发明实施例提供了一种报文处理方法,包括:根据接收到的第一传输控制协议TCP报文向发送端发送重复响应ACK报文,所述第一TCP报文为非期望接收报文;确定发送重复ACK报文的次数,若已发送的所述重复ACK报文的次数大于或等于第一设定阀值,且小于第二设定阀值,则每接收到至少两个所述第一TCP报文后向所述发送端发送一个所述重复ACK报文;或者,接收到所述第一TCP报文之后启动定时器,若所述定时器超过预设时延,并且还未接收到所述期望接收报文,则向所述发送端发送一个所述重复ACK报文。
结合第一方面,在第一方面的第一种可能的实现方式中,所述第一设定阀值的个数为多个,发送所述重复ACK报文的频率随着所述第一设定阀值的增大而减小。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,TCP控制块或者TCP连接中的其他数据结构中记录有计数标识,所述计数标识用于标识已发送的所述重复ACK报文的次数。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述接收端接收到所述第一TCP报文之后还包括:通过选项数据中的比例因子和TCP头部的窗口WND字段来调整TCP头部的窗口大小,使得所述窗口大小不大于所述期望接收报文的长度。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,还包括:若已发送的所述重复ACK报文的次数大于或等于第二设定阀值,则向所述发送端发送重置RST报文。
第二方面,本发明实施例提供了一种报文处理装置,包括:发送模块,用于根据接收到的第一传输控制协议TCP报文向发送端发送重复响应ACK报文,所述第一TCP报文为非期望接收报文;确定模块,用于确定发送重复ACK报文的次数,若已发送的所述重复ACK报文的次数大于或等于第一设定阀值,且小于第二设定阀值,则每接收到至少两个所述第一TCP报文后,所述发送模块向所述发送端发送一个所述重复ACK报文;或者,接收到所述第一TCP报文之后启动定时器,若所述定时器超过预设时延,并且还未接收到所述期望接收报文,则所述发送模块向所述发送端发送一个所述重复ACK报文。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第一设定阀值的个数为多个,发送所述重复ACK响应报文的频率随着所述第一设定阀值的增大而减小。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,TCP控制块或者TCP连接中的其他数据结构中记录有计数标识,所述计数标识用于标识已发送的所述重复ACK报文的次数。
结合第二方面或第二方面的第一种可能的实现方式或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,还包括:调整模块,用于在接收到所述第一TCP报文之后通过选项数据中的比例因子和TCP头部的窗口WND字段来调整TCP报头的窗口大小,使得所述窗口大小不大于所述期望接收报文的长度。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式或第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,还包括:若已发送的所述重复ACK报文的次数大于或等于第二设定阀值,则所述发送模块向所述发送端发送重置RST报文。
本发明提供一种报文处理方法及装置,其中该方法包括:首先根据接收到的第一传输控制协议TCP报文向发送端发送重复ACK报文,其中第一TCP报文为非期望接收报文;然后,若已发送的重复ACK报文的次数大于或等于第一设定阀值且小于第二预设阀值,则每接收到至少两个所述第一TCP报文后向发送端发送一个重复ACK报文;或者,若定时器超过预设时延,并且还未接收到期望接收报文,则向发送端发送一个重复ACK报文,从而降低向发送端发送重复ACK报文的频率,进而优化了报文处理装置的性能。
附图说明
图1为本发明一实施例提供的一种报文处理方法的流程图;
图2为本发明另一实施例提供的一种报文处理方法的流程图;
图3为本发明另一实施例提供的RST报文格式示意图;
图4为本发明再一实施例提供的一种报文处理方法的流程图;
图5为本发明又一实施例提供的一种报文处理方法的流程图;
图6为本发明一实施例提供的一种报文处理装置的结构示意图;
图7为本发明另一实施例提供的一种报文处理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的一种报文处理方法的流程图,该方法可应用于TCP报文的传输场景,该方法的执行主体可以是报文处理装置,具体可以是TCP报文传输过程中的接收端或者接收端代理等,其中接收端代理可以为防火墙等网元,其中上述方法包括如下步骤:
S101:根据接收到的第一传输控制协议TCP报文向发送端发送重复ACK报文。
具体地,该第一TCP报文为非期望接收报文,所述重复ACK报文中携带确认号,该确认号为报文处理装置所期望的期望接收报文的序列号,若已发送的重复ACK报文的次数小于第一预设阀值时,则报文处理装置每接收到一个第一TCP报文,则向发送端发送一次重复ACK报文。
S102:确定发送重复ACK报文的次数,若已发送的重复ACK报文的次数大于或等于第一设定阀值且小于第二预设阀值时,则每接收到至少两个第一TCP报文后向发送端发送一个重复ACK报文。
S103:或者,接收到第一TCP报文之后启动定时器,若定时器超过预设时延,并且还未接收到期望接收报文,则向发送端发送一个重复ACK报文。
具体地:若已发送的重复ACK报文的次数大于或等于第一设定阀值且小于第二预设阀值时,则每接收到至少两个第一TCP报文后向发送端发送一个重复ACK报文;或者报文处理装置接收到所述第一TCP报文之后启动定时器,当定时器未超过预设时延时,则不发送重复ACK报文,一旦定时器超过预设时延,并且还未接收到所述期望接收报文,则向发送端发送一个重复ACK报文。
可选地,所述第一设定阀值的个数为多个,发送所述重复ACK报文的频率随着所述第一设定阀值的增大而减小。比如在终止TCP连接前有3个第一设定阀值,分别为5,10,15。大于或者等于5时每接收3个第一TCP报文回应一次重复ACK报文,大于或者等于10时每接收4个第一TCP报文回应一次重复ACK报文,大于或者等于15时每接收5个第一TCP报文回应一次重复ACK报文。其中,所述重复ACK报文中携带确认号,所述确认号为期望接收报文的序列号。进一步地,接收到第一TCP报文之后还包括:通过选项数据中的比例因子和TCP头部的窗口(Window,WND)字段来调整TCP头部的窗口大小,使得所述窗口大小不大于所述期望接收报文的长度,具体地,WND字段为16位字段,通过比例因子与16位字段的乘积得到调整后TCP头部的窗口大小。
可选地,TCP控制块或者TCP连接中的其他数据结构中记录有计数标识,所述计数标识用于标识已发送的所述重复ACK响应报文的次数。若TCP控制块中记录有计数标识,则现在TCP控制块增加REP_ACK_CNT来表示计数标识,控制块结构如下:
structTCP{
UINT32srcPort;
UINT32dstPort;
UINT32srcIP;
UINT32dstIP;
UINT8seq;
UINT8ack;
...........
UINT16REP_ACK_CNT;
............
TimerRT
TimerRTT
TimerD_ack
...........
};
进一步地,通常在丢包或者中间者恶意发送ACK报文或者发送端恶意发送第一TCP报文的情况下,则报文处理装置向发送端发送重复ACK报文。
本发明实施例提供了一种报文处理方法,首先根据接收到的第一传输控制协议TCP报文向发送端发送重复ACK报文,其中第一TCP报文为非期望接收报文;然后,若已发送的重复ACK报文的次数大于或等于第一设定阀值且小于第二预设阀值,则每接收到至少两个所述第一TCP报文后向发送端发送一个重复ACK报文;或者,若定时器超过预设时延,并且并未接收到期望接收报文,则向发送端发送一个重复ACK报文,从而降低向发送端发送重复ACK报文的频率,进而优化了报文处理装置性能。
图2为本发明另一实施例提供的一种报文处理方法的流程图,该方法可应用于TCP报文的传输场景,该方法的执行主体可以是报文处理装置,具体可以是TCP报文传输过程中的接收端或者接收端代理,本实施例是对上一实施例的进一步细化,本实施例所提供的报文处理方法具体包括如下步骤:
S201:令重复ACK报文次数为0,令第一TCP报文次数为0。
S202:接收TCP报文。
S203:判断TCP报文是否为第一TCP报文。
具体地,判断接下来接收到的TCP报文是否是第一TCP报文,其中第一TCP报文为非期望接收报文,若是,则执行S204,若否,则执行S205。
S204:判断重复ACK报文的次数是否大于或者等于第一设定阀值,且小于第二设定阀值,若是,则执行S206,若否,则执行S211。
可选地,当应用程序发送、确认和检索TCP报文后,发送端的窗口和报文处理装置的窗口都会向右侧滑动。显然报文处理装置的窗口是用于控制可从发送端发送给报文处理装置的未确认TCP报文的字节数量大小的窗口。为了使得报文处理装置有可能接收到期望接收报文,则报文处理装置接收到第一TCP报文之后还包括:通过选项数据中的比例因子和TCP头部的WND字段调整来窗口大小,使得窗口大小不大于期望接收报文的长度。
S205:向发送端发送ACK报文。
具体地,当报文处理装置接收到期望接收报文后,则向发送端发送ACK报文,其中ACK报文携带有一个确认号,该确认号是接收端期望的下一个TCP报文的序列号。
S206:第一TCP报文的次数加1。
S207:判断第一TCP报文的次数是否大于或者等于N。
具体地,当报文处理装置确定重复ACK报文的次数大于或者等于第一设定阀值之后,则判断第一TCP报文的次数是否大于或者等于N,若是,则执行S208,否则执行S202。从而优化了报文处理装置的性能。
S208:发送重复ACK报文,令重复ACK报文次数加1,第一TCP报文的次数为0。
可选地,重复ACK报文中携带确认号,确认号为的期望接收报文的序列号。
S209:判断重复ACK报文的次数是否大于或者等于第二设定阀值。
判断重复ACK报文的次数是否大于或者等于第二设定阀值,若是,则执行S210,若否,则执行S202。
S210:发送重置(Reset,RST)报文。
可选地,当判断重复ACK报文的次数大于或者等于第二设定阀值,则向发送端发送RST报文,进一步地,图3为本发明另一实施例提供的RST报文格式示意图,如图3所示,RST响应报文携带终止TCP连接的原因的选项数据,其中终止TCP连接的原因为接收期望接收报文超时或者发送ACK报文次数过多等。
S211:发送重复ACK报文,令重复ACK报文次数加1。
发送重复ACK报文,令重复ACK报文次数加1,并执行S202。
可选地,还可以在接收到第一TCP报文后,启动定时器,当定时器超过第一预设时延时,并且还未接收到期望接收报文,则向发送端发送一次重复ACK报文,否则,不发送重复ACK报文。
本发明实施例提供了一种报文处理方法,若已发送的重复ACK报文的次数大于或等于第一设定阀值,则每接收到至少两个第一TCP报文后向发送端发送一个重复ACK报文;或者,启动定时器,当定时器超过第一预设时延时,并且还未接收到期望接收报文,则向发送端发送一次重复ACK报文,然后,当重复ACK报文的次数大于或者等于第二预设阀值,则向发送端发送RST报文,另外,接收到第一TCP报文之后还包括:通过选项数据中的比例因子和TCP头部的WND字段来调整TCP头部的窗口大小,使得窗口大小不大于期望接收报文的长度。从而提高接收到期望接收报文的概率,进而优化报文处理装置的性能。
图4为本发明再一实施例提供的一种报文处理方法的流程图,本实施例以在网络服务器中的应用为例,这里的网络服务器即报文处理装置实现文件传输协议(FileTransferProtocol,FTP)应用,允许发送端上传数据到网络服务器进行数据云存储。发送端和网络服务器之间的交互流程如下:
S401:发送端和网络服务器建立TCP连接。
S402:发送端开始发送TCP报文。
S403:网络服务器对接收的TCP报文进行确认,并且发送ACK报文。
S404:发送端恶意发送序列号为6500的第一TCP报文。
其中,该第一TCP报文不是网络服务器所需的序列号为5000,长度为1500字节的期望接收报文,则网络服务器向发送端发送重复ACK报文,并且统计重复ACK报文的次数,其中用计数标识记录重复ACK报文的次数,若重复ACK报文的次数小于第一设定阀值5,则网络服务器立即回应重复ACK报文,使得计数标识累加,网络服务器接收到第一TCP报文之后还包括:通过选项数据中的比例因子和TCP头部的WND字段来调整TCP头部的窗口大小,使得所述窗口大小不大于所述期望接收报文的长度。
S405:网络服务器发送重复ACK报文。
其中该重复ACK报文中携带确认号为5000。
S406:发送端连续发送3次序列号为6500的第一TCP报文。
具体地,此时重复ACK报文的次数大于第一设定阀值5,小于第二设定阀值30,网络服务器每接收到3个第一TCP报文则回应一次重复ACK报文,同时计数标识累加。
S407:网络服务器发送重复ACK报文。
S408:网络服务器发送RST报文。
具体地,此时重复ACK报文的次数大于第二设定阀值30,则网络服务器发送RST报文给发送端,其中RST响应报文携带终止TCP连接的原因的选项数据,其中终止TCP连接的原因为接收期望接收报文超时或者发送ACK报文次数过多,从而终止TCP连接。
本实施例提供了一种报文处理方法,其中由于接收端对重复ACK报文的次数进行了统计,并根据该次数与第一设定阀值,第二设定阀值之间的关系,从而减少回应重复ACK报文的频率,最后终止TCP连接,从而不会因为发送端的恶意发送TCP报文而导致网络服务器性能大幅度下降,保证了网络服务器的访问能力。
图5为本发明又一实施例提供的一种报文处理方法的流程图,本实施例以在网络防火墙中的应用为例,防火墙即为报文处理装置,允许发送端上传数据到网络中的接收端进行数据云存储。发送端,防火墙和接收端之间的交互流程如下:
S501:发送端发起TCP连接请求,防火墙代理接收端接收TCP连接请求,建立TCP连接。
S502:防火墙和接收端建立TCP连接,用于转发发送端发送的TCP报文。
S503:发送端发送TCP报文。
S504:防火墙对接收TCP报文进行确认,并且发送ACK报文。
S505:防火墙向接收端发送TCP报文。
S506:接收端对接收到的TCP报文进行确认,并且发送ACK报文。
S507:发送端恶意发送序列号为6500的第一TCP报文。
具体地,该第一TCP报文不是接收端和防火墙所需的序列号为5000,长度为1500字节的期望接收报文。
S508:防火墙向发送端发送重复ACK报文。
具体地,防火墙向发送端发送重复ACK报文,该重复ACK报文中携带确认号为5000。并且统计重复ACK报文的次数,其中用计数标识记录重复ACK报文的次数,若重复ACK报文的次数小于第一设定阀值5,防火墙立即回应重复ACK报文,同时发送端每发送一次序列号为6500的TCP报文,则防火墙回应一次重复ACK报文,同时计数标识累加,接收到第一TCP报文之后还包括:通过选项数据中的比例因子和TCP头部的WND字段来调整TCP头部的窗口大小,使得所述窗口大小不大于所述期望接收报文的长度。
S509:发送端连续发送3次发送序列号为6500的第一TCP报文。
具体地,序列号为6500的第一TCP报文还不是防火墙期望接收报文,此时若重复ACK报文的次数大于或者等于第一设定阀值5,小于第二设定阀值30,防火墙每接收到3个第一TCP报文则回应一次重复ACK报文,同时计数标识累加。
S510:防火墙向发送端发送重复ACK报文。
S511:防火墙向发送端发起RST报文。
S512:终止TCP连接。
具体地,此时若重复ACK报文的次数大于第二设定阀值30,则防火墙发送RST报文给发送端,其中RST响应报文携带终止TCP连接的原因的选项数据。
本实施例提供了一种报文处理方法,其中由于防火墙对重复ACK报文的次数进行了统计,并根据该次数与第一设定阀值,第二设定阀值之间的关系,从而减少回应重复ACK报文的频率,最后终止TCP连接,从而不会因为发送端的恶意发送TCP报文而导致防火墙及接收端性能大幅度下降,保证了防火墙和接收端的访问能力。
图6为本发明一实施例提供的一种报文处理装置的结构示意图,该装置可应用于TCP报文的传输场景,其中该报文处理装置通常为传输TCP报文过程中的接收端或者接收端代理等,具体地,该装置包括:发送模块601,用于根据接收到的第一传输控制协议TCP报文向发送端发送重复响应ACK报文,所述第一TCP报文为非期望接收报文;确定模块602,用于确定发送重复ACK报文的次数,若已发送的所述重复ACK报文的次数大于或等于第一设定阀值,且小于第二设定阀值,则每接收到至少两个所述第一TCP报文后,所述发送模块601向发送端发送一个重复ACK报文;或者,接收到第一TCP报文之后启动定时器,若定时器超过预设时延,并且未接收到期望接收报文,则发送模块601向发送端发送一个重复ACK报文。
可选地,所述第一设定阀值的个数为多个,发送重复ACK响应报文的频率随着第一设定阀值的增大而减小。重复ACK报文中携带确认号,确认号为所述报文处理装置的所述期望接收报文的序列号。进一步地,TCP控制块或者TCP连接中的其他数据结构中记录有计数标识,所述计数标识用于标识已发送的所述重复ACK报文的次数。
可选地,该装置还可包括调整模块603,用于在接收到第一TCP报文之后通过选项数据中的比例因子和TCP头部的窗口WND字段来调整TCP报头的窗口大小,使得窗口大小不大于期望接收报文的长度。
进一步地,若已发送的重复ACK报文的次数大于或等于第二设定阀值,则发送模块601向发送端发送重置RST报文。其中,所述RST报文携带终止TCP连接的原因的选项数据。
本实施例的报文处理装置,可以用于执行图1对应的报文处理方法的实施技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本发明另一实施例提供的一种报文处理装置的结构示意图,该装置可应用于TCP报文的传输场景,其中该报文处理装置通常为传输TCP报文过程中的接收端或者接收端代理等,具体地,该装置包括:发送器701,用于根据接收到的第一传输控制协议TCP报文向发送端发送重复响应ACK报文,所述第一TCP报文为非期望接收报文;处理器702,用于确定发送重复ACK报文的次数,若已发送的所述重复ACK报文的次数大于或等于第一设定阀值,且小于第二设定阀值,则每接收到至少两个所述第一TCP报文后,所述发送器701向发送端发送一个重复ACK报文;或者,接收到第一TCP报文之后启动定时器,若定时器超过预设时延,并且未接收到期望接收报文,则发送器701向发送端发送一个重复ACK报文。
可选地,所述第一设定阀值的个数为多个,发送重复ACK响应报文的频率随着第一设定阀值的增大而减小。重复ACK报文中携带确认号,确认号为所述报文处理装置的所述期望接收报文的序列号。进一步地,TCP控制块或者TCP连接中的其他数据结构中记录有计数标识,所述计数标识用于标识已发送的所述重复ACK报文的次数。
可选地,所述处理器702还用于在接收到第一TCP报文之后通过选项数据中的比例因子和TCP头部的窗口WND字段来调整TCP报头的窗口大小,使得窗口大小不大于期望接收报文的长度。
进一步地,若已发送的重复ACK报文的次数大于或等于第二设定阀值,则发送器701向发送端发送重置RST报文。其中,所述RST报文携带终止TCP连接的原因的选项数据。
本实施例的报文处理装置,可以用于执行图1对应的报文处理方法的实施技术方案,其实现原理和技术效果类似,此处不再赘述。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种报文处理方法,其特征在于,包括:
根据接收到的第一传输控制协议TCP报文向发送端发送重复响应ACK报文,所述第一TCP报文为非期望接收报文;
确定发送重复ACK报文的次数,若已发送的所述重复ACK报文的次数大于或等于第一设定阀值,且小于第二设定阀值,则每接收到至少两个所述第一TCP报文后向所述发送端发送一个所述重复ACK报文;或者,
接收到所述第一TCP报文之后启动定时器,若所述定时器超过预设时延,并且还未接收到所述期望接收报文,则向所述发送端发送一个所述重复ACK报文。
2.根据权利要求1所述的方法,其特征在于,所述第一设定阀值的个数为多个,发送所述重复ACK报文的频率随着所述第一设定阀值的增大而减小。
3.根据权利要求1或2所述的方法,其特征在于,TCP控制块或者TCP连接中的其他数据结构中记录有计数标识,所述计数标识用于标识已发送的所述重复ACK报文的次数。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述接收到所述第一TCP报文之后还包括:通过选项数据中的比例因子和TCP头部的窗口WND字段来调整TCP头部的窗口大小,使得所述窗口大小不大于所述期望接收报文的长度。
5.根据权利要求1-4任一项所述的方法,其特征在于,还包括:若已发送的所述重复ACK报文的次数大于或等于第二设定阀值,则向所述发送端发送重置RST报文。
6.一种报文处理装置,其特征在于,包括:
发送模块,用于根据接收到的第一传输控制协议TCP报文向发送端发送重复响应ACK报文,所述第一TCP报文为非期望接收报文;
确定模块,用于确定发送重复ACK报文的次数,若已发送的所述重复ACK报文的次数大于或等于第一设定阀值,且小于第二设定阀值,则每接收到至少两个所述第一TCP报文后,所述发送模块向所述发送端发送一个所述重复ACK报文;或者,
接收到所述第一TCP报文之后启动定时器,若所述定时器超过预设时延,并且还未接收到所述期望接收报文,则所述发送模块向所述发送端发送一个所述重复ACK报文。
7.根据权利要求6所述的装置,其特征在于,所述第一设定阀值的个数为多个,发送所述重复ACK响应报文的频率随着所述第一设定阀值的增大而减小。
8.根据权利要求6或7所述的装置,其特征在于,TCP控制块或者TCP连接中的其他数据结构中记录有计数标识,所述计数标识用于标识已发送的所述重复ACK报文的次数。
9.根据权利要求6-8任一项所述的装置,其特征在于,还包括:调整模块,用于在接收到所述第一TCP报文之后通过选项数据中的比例因子和TCP头部的窗口WND字段来调整TCP报头的窗口大小,使得所述窗口大小不大于所述期望接收报文的长度。
10.根据权利要求6-9任一项所述的装置,其特征在于,还包括:若已发送的所述重复ACK报文的次数大于或等于第二设定阀值,则所述发送模块向所述发送端发送重置RST报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410379677.0A CN105337704B (zh) | 2014-08-04 | 2014-08-04 | 报文处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410379677.0A CN105337704B (zh) | 2014-08-04 | 2014-08-04 | 报文处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105337704A true CN105337704A (zh) | 2016-02-17 |
CN105337704B CN105337704B (zh) | 2019-01-08 |
Family
ID=55288032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410379677.0A Active CN105337704B (zh) | 2014-08-04 | 2014-08-04 | 报文处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105337704B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108173626A (zh) * | 2017-12-28 | 2018-06-15 | 中科创能实业有限公司 | 通信方法及装置 |
CN114979839A (zh) * | 2021-02-27 | 2022-08-30 | 华为技术有限公司 | 一种传输控制协议代理方法及通信装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003058873A1 (en) * | 2002-01-05 | 2003-07-17 | Lg Electronics Inc. | Method and apparatus for transmitting acknowledgement signals |
CN101094589A (zh) * | 2004-12-08 | 2007-12-26 | 尼克森茨瓦恩有限责任公司 | 对霜霉病菌引起的洋葱霜霉病的抗性 |
CN101340268A (zh) * | 2008-08-18 | 2009-01-07 | 杭州华三通信技术有限公司 | 节点间通信确认机制的实现方法和实现系统 |
CN102355462A (zh) * | 2011-10-09 | 2012-02-15 | 大唐移动通信设备有限公司 | 一种实现tcp传输的方法及装置 |
CN102893577A (zh) * | 2010-06-17 | 2013-01-23 | 松下电器产业株式会社 | 数据发送装置及数据发送方法 |
CN103503357A (zh) * | 2011-03-04 | 2014-01-08 | 黑莓有限公司 | 控制网络设备的行为 |
-
2014
- 2014-08-04 CN CN201410379677.0A patent/CN105337704B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003058873A1 (en) * | 2002-01-05 | 2003-07-17 | Lg Electronics Inc. | Method and apparatus for transmitting acknowledgement signals |
CN101094589A (zh) * | 2004-12-08 | 2007-12-26 | 尼克森茨瓦恩有限责任公司 | 对霜霉病菌引起的洋葱霜霉病的抗性 |
CN101340268A (zh) * | 2008-08-18 | 2009-01-07 | 杭州华三通信技术有限公司 | 节点间通信确认机制的实现方法和实现系统 |
CN102893577A (zh) * | 2010-06-17 | 2013-01-23 | 松下电器产业株式会社 | 数据发送装置及数据发送方法 |
CN103503357A (zh) * | 2011-03-04 | 2014-01-08 | 黑莓有限公司 | 控制网络设备的行为 |
CN102355462A (zh) * | 2011-10-09 | 2012-02-15 | 大唐移动通信设备有限公司 | 一种实现tcp传输的方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108173626A (zh) * | 2017-12-28 | 2018-06-15 | 中科创能实业有限公司 | 通信方法及装置 |
CN114979839A (zh) * | 2021-02-27 | 2022-08-30 | 华为技术有限公司 | 一种传输控制协议代理方法及通信装置 |
CN114979839B (zh) * | 2021-02-27 | 2024-09-24 | 华为技术有限公司 | 一种传输控制协议代理方法及通信装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105337704B (zh) | 2019-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9641650B2 (en) | TCP proxy server | |
CN104093170B (zh) | 基于tcp的数据传输方法和tcp代理装置 | |
JP5020076B2 (ja) | 低頻度ackのシステムに適した高性能tcp | |
JP5816718B2 (ja) | 通信装置、通信システム、およびデータ通信の中継方法 | |
CN102006283B (zh) | 数据传输的方法和装置 | |
CN111683019B (zh) | 在通信设备中管理待发送的确认数据包 | |
WO2017050216A1 (zh) | 一种报文传输方法及用户设备 | |
JP5928764B2 (ja) | 肯定応答パケットを処理するための方法、装置、およびシステム | |
JPWO2008023656A1 (ja) | 通信装置 | |
JP5867188B2 (ja) | 情報処理装置、輻輳制御方法および輻輳制御プログラム | |
JP2007534194A5 (zh) | ||
WO2017097201A1 (zh) | 一种数据传输方法、发送装置及接收装置 | |
CN106330742B (zh) | 一种流量控制的方法及网络控制器 | |
CN112242956B (zh) | 流速控制方法和装置 | |
WO2017114231A1 (zh) | 一种报文发送方法、tcp代理以及tcp客户端 | |
CN105207949B (zh) | 一种tcp优化方法和系统、sp服务器 | |
WO2016201904A1 (zh) | 一种基于tcp的数据传输方法及装置 | |
CN104683259A (zh) | Tcp拥塞控制方法及装置 | |
JP5832335B2 (ja) | 通信装置および通信システム | |
CN109792325A (zh) | 一种数据传输方法、装置及客户终端设备 | |
CN105337704A (zh) | 报文处理方法及装置 | |
CN106302361A (zh) | 一种防止网络攻击的方法及设备 | |
JP6217424B2 (ja) | 制御装置及び制御方法 | |
CN109714135B (zh) | 一种数据包传输方法及装置 | |
CN105592055A (zh) | 一种用于tcp syn flood的防攻击方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |