CN102427452A - 同步报文发送方法、装置和网络设备 - Google Patents
同步报文发送方法、装置和网络设备 Download PDFInfo
- Publication number
- CN102427452A CN102427452A CN2011104025998A CN201110402599A CN102427452A CN 102427452 A CN102427452 A CN 102427452A CN 2011104025998 A CN2011104025998 A CN 2011104025998A CN 201110402599 A CN201110402599 A CN 201110402599A CN 102427452 A CN102427452 A CN 102427452A
- Authority
- CN
- China
- Prior art keywords
- message
- value
- confirmation
- sync
- sync message
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种同步报文发送方法、装置和网络设备,该同步报文发送方法包括:同步报文发送装置接收到客户端发送的第一同步报文后,向客户端发送同步确认报文;接收客户端针对同步确认报文发送的第一确认报文;如果确定第一确认报文为合法报文,则根据第一确认报文生成第二同步报文,并根据第一确认报文的确认号设置第二同步报文的MSS选项的值;将设置上述值后的第二同步报文发送给服务器。从而可以使服务器将该服务器发送给客户端的报文的MSS设置为上述第二同步报文的MSS选项的值,进而可以解决SYNCOOKIE无法保存SYN报文的MSS选项的值,导致服务器发送给客户端的报文的长度超过VPN通道允许的MTU而被VPN网关丢弃的问题。
Description
技术领域
本发明涉及防火墙技术,尤其涉及一种同步报文发送方法、装置和网络设备,属于通信技术领域。
背景技术
同步洪水(Synchronize Flood;以下简称:SYN Flood)攻击是当前最流行的拒绝服务攻击(Denial of Service;以下简称:DoS)与分布式拒绝服务攻击(Distributed Denial of Service;以下简称:DDoS)的方式之一,这是一种利用传输控制协议(Transmission Control Protocol;以下简称:TCP)协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽的攻击方式。
现有技术中,TCP连接建立过程具体为:
第一步,请求端(客户端)发送一个包含同步(Synchronize;以下简称:SYN)标志的TCP报文,该包含SYN标志的TCP报文(下称“SYN报文”)会指明客户端使用的端口以及TCP序列号的初始值。
第二步,服务器在收到客户端的SYN报文后,将响应一个同步确认(SYNACK)报文,表示客户端的请求被接受,同时TCP序列号被加1,其中ACK为确认(Acknowledgement)的简称。
第三步,客户端收到服务器的SYNACK报文后,也返回一个ACK报文给服务器,同样TCP序列号被加1,至此一个TCP连接建立完成。
以上的连接过程在TCP中被称为三次握手(Three-way Handshake)。
在建立TCP连接的三次握手中,假设一个客户端向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYNACK报文后是无法收到客户端的ACK报文的,这样第三次握手无法完成,这种情况下服务器端一般会重试,即再次发送SYNACK报文给客户端,并等待一段时间后丢弃这个未完成的连接,这段时间的长度称为同步超时(SYN Timeout),一般来说这个时间是分钟的数量级(大约为0.5-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源——数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的中央处理单元(Central Processing Unit;以下简称:CPU)时间和内存,何况还要不断对这个列表中的因特网协议(Internet Protocol;以下简称:IP)进行SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃;即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求,此时从正常客户的角度看来,服务器失去响应,这种情况称作:服务器端受到了SYN Flood攻击。
SYNCOOKIE安装在保护服务器的防火墙上,SYNCOOKIE收到客户端的SYN报文后,SYNCOOKIE根据SYN报文的特征(例如:IP和/或端口等),经过保密的算法,计算出一个值X。SYNCOOKIE基于SYN报文构造一个SYNACK报文,以X作为SYNACK报文的序列号。
SYNACK报文发给TCP会话发起方,即客户端后,防火墙释放本次会话发起请求占用的全部内存资源。
SYNCOOKIE收到来自TCP会话发起方,即客户端的ACK报文后,则根据该ACK报文的特征(例如:IP和/或端口等),用相同的保密算法得出一个值,与ACK报文的确认号比较,如果一致,则说明ACK报文是对SYNCOOKIE之前发送的SYNACK报文的确认,可以确定上述客户端的连接请求不是SYN Flood攻击,SYNCOOKIE接着代替客户端和服务器建立TCP连接;若不一致则SYNCOOKIE丢弃ACK报文。
SYNCOOKIE的优势在于,受到SYN Flood攻击时,对SYN Flood报文的处理不占用系统内存资源。SYNCOOKIE在保护服务器的同时,避免了防火墙本身由于内存资源被耗尽而成为SYN洪水攻击的牺牲品。
SYNCOOKIE把SYN报文改造为SYNACK报文,反馈给客户端后,在防火墙本地并不保留SYN报文的任何信息。
SYNCOOKIE收到ACK报文,发现该ACK报文是对SYNACK报文的响应,确认客户端的连接请求非SYN Flood攻击后,把ACK报文改造成SYN报文,发给服务器。构造SYN报文过程中,由于防火墙没有保存客户端发来的SYN报文的信息,无从获知客户端可接受的确切最大报文段长度(Maximum Segment Size;以下简称:MSS),因此,通常不设置MSS选项。
其中,MSS就是TCP数据包每次能够传输的最大数据分段。为了达到最佳的传输效能TCP在建立连接的时候通常要协商双方的MSS值,这个值TCP在实现时取自最大传输单元(Maximum Transmission Unit;以下简称:MTU),一般来说,MTU减去IP数据包包头的大小20字节(Bytes)和TCP数据段的包头20Bytes后获得值即为MSS。举例来说,如果路径MTU是1500字节,则MSS为1460字节。通讯双方会取双方可接受的MSS中的最小值作为本次连接的MSS。
防火墙与服务器完成三次握手后,在客户端与服务器的报文往来过程中,由于服务器不知道客户端可以接受的MSS,于是采用缺省MSS,通常是1460字节。
如果服务器发送到虚拟专用网络(Virtual Private Network;以下简称:VPN)网关的IP报文携带长度为1460字节的用户数据,则该IP报文的总长为IP报头20字节+TCP报头20字节+1460字节,即1500字节。由于VPN网关在转发IP报文之前需要在报头附加4字节的通用路由封装(Generic Routing Encapsulation;以下简称:GRE)报头和20字节的外层IP头,因此如果VPN通道可接受的MTU小于1500字节+4字节+20字节,则上述IP报文将被VPN网关丢弃。
现有的SYNCOOKIE方案没有保存SYN报文的TCP报头选项MSS的值,导致服务器发送给客户端的报文的长度超过VPN通道允许的MTU而被VPN网关丢弃。
发明内容
本发明一方面提供一种同步报文发送方法,包括:同步报文发送装置接收到客户端发送的第一同步报文后,向所述客户端发送同步确认报文,所述同步确认报文的序列号携带所述第一同步报文的最大报文段长度;所述同步报文发送装置接收所述客户端针对所述同步确认报文发送的第一确认报文;如果确定所述第一确认报文为合法报文,则所述同步报文发送装置根据所述第一确认报文生成第二同步报文,并根据所述第一确认报文的确认号设置所述第二同步报文的最大报文段长度选项的值;所述同步报文发送装置将设置所述值后的第二同步报文发送给服务器。
本发明另一方面提供一种同步报文发送装置,包括:接收模块、发送模块、确定模块、生成模块和设置模块;
所述接收模块,用于接收客户端发送的第一同步报文;
所述发送模块,用于在所述接收模块接收到所述客户端发送的第一同步报文之后,向所述客户端发送同步确认报文,所述同步确认报文的序列号携带所述第一同步报文的最大报文段长度;
所述接收模块,还用于接收所述客户端针对所述同步确认报文发送的第一确认报文;
所述确定模块,用于确定所述接收模块接收的第一确认报文是否为合法报文;
所述生成模块,用于在所述确定模块确定所述第一确认报文为合法报文之后,根据所述第一确认报文生成第二同步报文;
所述设置模块,用于根据所述接收模块接收的第一确认报文的确认号设置所述第二同步报文的最大报文段长度选项的值;
所述发送模块,还用于将设置所述值后的第二同步报文发送给服务器。
本发明又一方面提供一种网络设备,包括如上所述的同步报文发送装置。
本发明一方面的技术效果是:同步报文发送装置接收到客户端发送的第一同步报文后,向上述客户端发送同步确认报文,该同步确认报文的序列号携带第一同步报文的MSS;然后同步报文发送装置接收上述客户端针对上述同步确认报文发送的第一确认报文,如果确定上述第一确认报文为合法报文,则根据上述第一确认报文生成第二同步报文,并根据上述第一确认报文的确认号设置上述第二同步报文的最大报文段长度MSS选项的值,然后将设置所述值后的第二同步报文发送给服务器;从而可以使服务器将该服务器发送给客户端的报文的最大报文段长度设置为上述第二同步报文的MSS选项的值,进而可以解决SYNCOOKIE无法保存SYN报文的MSS选项的值,导致服务器发送给客户端的报文的长度超过VPN通道允许的MTU而被VPN网关丢弃的问题。
本发明另一方面的技术效果是:接收模块接收到客户端发送的第一同步报文之后,发送模块向上述客户端发送同步确认报文,该同步确认报文的序列号携带第一同步报文的MSS;然后,接收模块接收上述客户端针对上述同步确认报文发送的第一确认报文;在确定模块确定接收模块接收的确认模块为合法报文之后,生成模块根据上述第一确认报文生成第二同步报文;接下来,设置模块根据接收模块接收的第一确认报文的确认号设置上述第二同步报文的MSS选项的值;最后,发送模块将设置上述值后的第二同步报文发送给服务器;从而可以使服务器将该服务器发送给客户端的报文的最大报文段长度设置为上述第二同步报文的MSS选项的值,进而可以解决SYNCOOKIE无法保存SYN报文的MSS选项的值,导致服务器发送给客户端的报文的长度超过VPN通道允许的MTU而被VPN网关丢弃的问题。
附图说明
图1为本发明同步报文发送方法一个实施例的流程图
图2为本发明同步报文发送装置一个实施例的结构示意图;
图3为本发明同步报文发送装置另一个实施例的结构示意图。
具体实施方式
图1为本发明同步报文发送方法一个实施例的流程图,如图1所示,该同步报文发送方法可以包括:
步骤101,同步报文发送装置接收到客户端发送的第一同步报文后,向上述客户端发送同步确认报文,该同步确认报文的序列号携带该第一同步报文的MSS。
步骤102,同步报文发送装置接收上述客户端针对上述同步确认报文发送的第一确认报文。
步骤103,如果确定上述第一确认报文为合法报文,则同步报文发送装置根据上述第一确认报文生成第二同步报文,并根据上述第一确认报文的确认号设置上述第二同步报文的MSS选项的值。
步骤104,同步报文发送装置将设置上述值后的第二同步报文发送给服务器。
进一步地,步骤101中,同步报文发送装置接收到客户端的第一同步报文后,向上述客户端发送同步确认报文之前,同步报文发送装置还可以根据上述第一同步报文的特征,经过保密算法,计算出值X;以及获得第一同步报文的MSS除以第一预定数值后的值转换的二进制数Y;然后,同步报文发送装置根据Y的位数,将X的末尾L位置为第二预定数值,其中L与Y的位数相等;最后,同步报文发送装置获得末尾L位置为第二预定数值后的X加上Y后的值Z,以Z作为上述同步确认报文的序列号;其中,将末尾L位置为第二预定数值后的X加上Y,即为将Y存储在X末尾的L个比特中。
其中,上述第一同步报文的特征包括上述第一同步报文的IP地址和/或端口号等。
具体地,根据第一确认报文的确认号设置第二同步报文的MSS选项的值可以为:同步报文发送装置获得由上述确认号与第三预定数值之差的末尾L位组成的二进制数,将上述二进制数转换为十进制数;然后,同步报文发送装置将上述第二同步报文的MSS选项的值设置为上述十进制数与第一预定数值的乘积。
进一步地,本实施例中,同步报文发送装置接收上述客户端针对上述同步确认报文发送的第一确认报文之后,同步报文发送装置还可以根据上述第一确认报文的特征,经过上述保密算法,计算出值M;然后,将上述第一确认报文的确认号与第三预定数值之差的末尾L位置为上述第二预定数值,获得第一数值;以及将M的末尾L位置为上述第二预定数值,获得第二数值;如果第一数值等于第二数值,则同步报文发送装置确定上述第一确认报文为合法报文;如果第一数值不等于第二数值,则同步报文发送装置确定上述第一确认报文为非法报文。
其中,上述第一确认报文的特征包括上述第一确认报文的IP地址和/或端口号等。
本实施例中,优选地,上述第一预定数值可以为100,当然本发明实施例并不仅限于此,上述第一预定数值也可以为其他数值,例如:10或50等等,本发明实施例对上述第一预定数值的大小不作限定。但是第一预定数值越小,L越大,上述X的末尾需要被置为0的位数就越多,上述保密算法被破解的可能性越大。
本实施例中,上述第二预定数值可以为0;上述第三预定数值可以为1;当然本发明实施例并不仅限于此,本发明实施例对上述第二预定数值和上述第三预定数值的大小不作限定。
上述实施例中,同步报文发送装置接收到客户端发送的第一同步报文后,向上述客户端发送同步确认报文,该同步确认报文的序列号携带该第一同步报文的MSS;然后同步报文发送装置接收上述客户端针对上述同步确认报文发送的第一确认报文,如果确定上述第一确认报文为合法报文,则根据上述第一确认报文生成第二同步报文,并根据上述第一确认报文的确认号设置上述第二同步报文的MSS选项的值,然后将设置所述值后的第二同步报文发送给服务器;从而可以使服务器将该服务器发送给客户端的报文的最大报文段长度设置为上述第二同步报文的MSS选项的值,进而可以解决SYNCOOKIE无法保存SYN报文的MSS选项的值,导致服务器发送给客户端的报文的长度超过VPN通道允许的MTU而被VPN网关丢弃的问题。
本发明图1所示实施例中的同步报文发送装置可以采用SYNCOOKIE技术,设置在网络设备,例如:防火墙、路由器或交换机中,下面对本发明提供的同步报文发送方法进行详细介绍。本发明以下实施例的描述中,以SYNCOOKIE表示上述同步报文发送装置,并且以第一预定数值为100,第二预定数值为0,第三预定数值为1为例进行说明。
SYNCOOKIE接收到客户端发送的第一SYN报文之后,SYNCOOKIE根据第一SYN报文的特征(例如:第一SYN报文的IP地址和/或端口号等),经过保密算法,计算出值X;并获得第一SYN报文的MSS除以100(MSS/100)后的值转换的二进制数Y,即获得MSS的千位数和百位数组成的二进制数。
由于MSS通常情况下不超过1500,假设第一SYN报文的MSS为1460,则第一SYN报文的MSS除以100后的值转换的二进制数为1110(十进制数为14),因此Y的位数为4,也就是说以下描述中,本发明图1所示实施例中的L等于4。
接下来,SYNCOOKIE通过式(1)计算获得Z,并以Z作为SYNACK报文的序列号。
(X&0xfffffff0)+Y=Z (1)
式(1)中,(X&0xfffffff0)即为将X的末4位置为0;“(X&0xfffffff0)+Y”即为将末4位置0后的X与Y相加获得Z。式(1)即为将Y存储在X末尾的4个比特中,获得Z。
接收到客户端针对上述SYNACK报文发送的ACK报文后,SYNCOOKIE根据该ACK报文的特征(例如:IP地址和/或端口号等),经过上述保密算法,计算出值M。
假设ACK报文的确认号是N,则如果(N-1)&0xfffffff0==M&0xfffffff0,则SYNCOOKIE确定上述ACK报文为合法报文,否则确定上述ACK报文为非法报文。其中,“(N-1)&0xfffffff0”即为将上述确认号与1之差的末4位置为0,获得的第一数值;“M&0xfffffff0”即为将M的末4位置为0,获得的第二数值。
在确定上述ACK报文为合法报文之后,SYNCOOKIE将上述ACK报文改造为第二SYN报文,通过式(2)获得二进制数P,将P转换为十进制数,并将上述第二SYN报文的MSS选项的值设置为该十进制数与100的乘积;最后SYNCOOKIE将设置MSS选项的值之后的第二SYN报文发送给服务器。
(N-1)&0xf==P (2)
式(2)中,“(N-1)&0xf”即为获得上述确认号与1之差的末4位组成的二进制数。
如果第一SYN报文的MSS为1460,则由“(N-1)&0xf”获得的二进制数转换的十进制数为14,所以SYNCOOKIE将第二SYN报文的MSS选项的值设置为14×100=1400。
这样,服务器接收到上述第二SYN报文之后,会以上述第二SYN报文的MSS选项的值,即1400作为后续服务器需要发送给上述客户端的报文的MSS,这样后续服务器发送给客户端的报文就不会因长度超过VPN通道的MTU而被VPN网关丢弃。
本实施例中,只取X末尾的4个比特来保存MSS信息的目的是为了尽可能地减少SYNCOOKIE使用的保密算法被破解的可能性。这样就以较微小的代价(不能100%地充分利用VPN通道带宽),解决了SYNCOOKIE无法保存SYN报文MSS选项的值,导致后续服务器发送给客户端的报文因长度超过VPN通道的MTU而被VPN网关丢弃的问题。
当然,如果上述网络设备所处环境中的VPN通道允许的MTU较大,和/或设置的第一预定数值较小,则可以占用X末尾的更多比特位来存放第一SYN报文的MSS选项的值;本发明实施例对此不作限定。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图2为本发明同步报文发送装置一个实施例的结构示意图,本实施例中的同步报文发送装置可以实现本发明图1所示实施例的流程,如图2所示,该同步报文发送装置可以包括:接收模块21、发送模块22、确定模块23、生成模块24和设置模块25;
其中,接收模块21,用于接收客户端发送的第一同步报文;
发送模块22,用于在接收模块21接收到上述客户端发送的第一同步报文之后,向上述客户端发送同步确认报文,该同步确认报文的序列号携带该第一同步报文的MSS;
接收模块21,还用于接收上述客户端针对上述同步确认报文发送的第一确认报文;
确定模块23,用于确定接收模块21接收的第一确认报文是否为合法报文;
生成模块24,用于在确定模块23确定上述第一确认报文为合法报文之后,根据上述第一确认报文生成第二同步报文;
设置模块25,用于根据接收模块21接收的第一确认报文的确认号设置上述第二同步报文的MSS选项的值;
发送模块22,还用于将设置上述值后的第二同步报文发送给服务器。
本实施例中的同步报文发送装置可以应用SYNCOOKIE技术,设置在网络设备,例如:防火墙、路由器或交换机中。
上述同步报文发送装置中,接收模块21接收到客户端发送的第一同步报文之后,发送模块22向上述客户端发送同步确认报文,该同步确认报文的序列号携带该第一同步报文的MSS;然后,接收模块21接收上述客户端针对上述同步确认报文发送的第一确认报文;在确定模块23确定接收模块21接收的第一确认报文为合法报文之后,生成模块24根据上述第一确认报文生成第二同步报文;接下来,设置模块25根据接收模块21接收的第一确认报文的确认号设置上述第二同步报文的MSS选项的值;最后,发送模块22将设置上述值后的第二同步报文发送给服务器;从而可以使服务器将该服务器发送给客户端的报文的最大报文段长度设置为上述第二同步报文的MSS选项的值,进而可以解决SYNCOOKIE无法保存SYN报文的MSS选项的值,导致服务器发送给客户端的报文的长度超过VPN通道允许的MTU而被VPN网关丢弃的问题。
图3为本发明同步报文发送装置另一个实施例的结构示意图,与图2所示的同步报文发送装置相比,不同之处在于,图3所示的同步报文发送装置还可以包括:计算模块26和获得模块27;
其中,计算模块26,用于根据上述第一同步报文的特征,经过保密算法,计算出值X;
获得模块27,用于获得上述第一同步报文的最大报文段长度除以第一预定数值后的值转换的二进制数Y;
本实施例中,设置模块25,还用于根据Y的位数,将X的末尾L位置为第二预定数值,其中L与Y的位数相等;
获得模块27,还用于获得末尾L位置为第二预定数值后的X加上Y后的值Z,以Z作为同步确认报文的序列号。
具体地,设置模块25可以获得由上述确认号与第三预定数值之差的末尾L位组成的二进制数,将上述二进制数转换为十进制数,并将第二同步报文的最大报文段长度选项的值设置为上述十进制数与第一预定数值的乘积。
进一步地,计算模块26,还用于根据上述第一确认报文的特征,经过上述保密算法,计算出值M;
获得模块27,还用于将上述第一确认报文的确认号与第三预定数值之差的末尾L位置为第二预定数值,获得第一数值;以及将M的末尾L位置为第二预定数值,获得第二数值;
则确定模块26,可以在获得模块27获得的第一数值等于获得模块27获得的第二数值时,确定上述第一确认报文为合法报文;以及在获得模块27获得的第一数值不等于获得模块27获得的第二数值时,确定所述第一确认报文为非法报文。
本实施例中,上述第一预定数值可以为100,当然本发明实施例并不仅限于此,上述第一预定数值也可以为其他数值,例如:10或50等等,本发明实施例对上述第一预定数值的大小不作限定。但是第一预定数值越小,L越大,上述X的末尾需要被置为0的位数就越多,上述保密算法被破解的可能性越大。
本实施例中,上述第二预定数值可以为0;上述第三预定数值可以为1;当然本发明实施例并不仅限于此,本发明实施例对上述第二预定数值和上述第三预定数值的大小不作限定。
上述同步报文发送装置可以解决SYNCOOKIE无法保存SYN报文的MSS选项的值,导致服务器发送给客户端的报文的长度超过VPN通道允许的MTU而被VPN网关丢弃的问题。
本发明实施例还提供一种网络设备,包括如本发明图2或图3所示实施例所述的同步报文发送装置;其中,该网络设备可以为防火墙、路由器或交换机等。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种同步报文发送方法,其特征在于,包括:
同步报文发送装置接收到客户端发送的第一同步报文后,向所述客户端发送同步确认报文,所述同步确认报文的序列号携带所述第一同步报文的最大报文段长度;
所述同步报文发送装置接收所述客户端针对所述同步确认报文发送的第一确认报文;
如果确定所述第一确认报文为合法报文,则所述同步报文发送装置根据所述第一确认报文生成第二同步报文,并根据所述第一确认报文的确认号设置所述第二同步报文的最大报文段长度选项的值;
所述同步报文发送装置将设置所述值后的第二同步报文发送给服务器。
2.根据权利要求1所述的方法,其特征在于,所述同步报文发送装置接收到客户端的第一同步报文后,向所述客户端发送同步确认报文之前,还包括:
所述同步报文发送装置根据所述第一同步报文的特征,经过保密算法,计算出值X;以及获得所述第一同步报文的最大报文段长度除以第一预定数值后的值转换的二进制数Y;
所述同步报文发送装置根据所述Y的位数,将所述X的末尾L位置为第二预定数值,其中L与所述Y的位数相等;
所述同步报文发送装置获得末尾L位置为第二预定数值后的X加上所述Y后的值Z,以所述Z作为所述同步确认报文的序列号。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一确认报文的确认号设置所述第二同步报文的最大报文段长度选项的值包括:
所述同步报文发送装置获得由所述确认号与第三预定数值之差的末尾L位组成的二进制数,将所述二进制数转换为十进制数;
所述同步报文发送装置将所述第二同步报文的最大报文段长度选项的值设置为所述十进制数与所述第一预定数值的乘积。
4.根据权利要求2所述的方法,其特征在于,所述同步报文发送装置接收所述客户端针对所述同步确认报文发送的第一确认报文之后,还包括:
所述同步报文发送装置根据所述第一确认报文的特征,经过所述保密算法,计算出值M;
所述同步报文发送装置将所述第一确认报文的确认号与第三预定数值之差的末尾L位置为所述第二预定数值,获得第一数值;以及将所述M的末尾L位置为所述第二预定数值,获得第二数值;
如果所述第一数值等于所述第二数值,则所述同步报文发送装置确定所述第一确认报文为合法报文;如果所述第一数值不等于所述第二数值,则所述同步报文发送装置确定所述第一确认报文为非法报文。
5.根据权利要求2-4任意一项所述的方法,其特征在于,
所述第一预定数值为100;所述第三预定数值为1。
6.一种同步报文发送装置,其特征在于,包括:接收模块、发送模块、确定模块、生成模块和设置模块;
所述接收模块,用于接收客户端发送的第一同步报文;
所述发送模块,用于在所述接收模块接收到所述客户端发送的第一同步报文之后,向所述客户端发送同步确认报文,所述同步确认报文的序列号携带所述第一同步报文的最大报文段长度;
所述接收模块,还用于接收所述客户端针对所述同步确认报文发送的第一确认报文;
所述确定模块,用于确定所述接收模块接收的第一确认报文是否为合法报文;
所述生成模块,用于在所述确定模块确定所述第一确认报文为合法报文之后,根据所述第一确认报文生成第二同步报文;
所述设置模块,用于根据所述接收模块接收的第一确认报文的确认号设置所述第二同步报文的最大报文段长度选项的值;
所述发送模块,还用于将设置所述值后的第二同步报文发送给服务器。
7.根据权利要求6所述的装置,其特征在于,还包括:计算模块和获得模块;
所述计算模块,用于根据所述第一同步报文的特征,经过保密算法,计算出值X;
所述获得模块,用于获得所述第一同步报文的最大报文段长度除以第一预定数值后的值转换的二进制数Y;
所述设置模块,还用于根据所述Y的位数,将所述X的末尾L位置为第二预定数值,其中L与所述Y的位数相等;
所述获得模块,还用于获得末尾L位置为第二预定数值后的X加上所述Y后的值Z,以所述Z作为所述同步确认报文的序列号。
8.根据权利要求7所述的装置,其特征在于,
所述设置模块,具体用于获得由所述确认号与第三预定数值之差的末尾L位组成的二进制数,将所述二进制数转换为十进制数,并将所述第二同步报文的最大报文段长度选项的值设置为所述十进制数与所述第一预定数值的乘积。
9.根据权利要求7所述的装置,其特征在于,
所述计算模块,还用于根据所述第一确认报文的特征,经过所述保密算法,计算出值M;
所述获得模块,还用于将所述第一确认报文的确认号与第三预定数值之差的末尾L位置为所述第二预定数值,获得第一数值;以及将所述M的末尾L位置为所述第二预定数值,获得第二数值;
所述确定模块,具体用于在所述获得模块获得的第一数值等于所述获得模块获得的第二数值时,确定所述第一确认报文为合法报文;以及在所述获得模块获得的第一数值不等于所述获得模块获得的第二数值时,确定所述第一确认报文为非法报文。
10.一种网络设备,其特征在于,包括如权利要求6-9任意一项所述的同步报文发送装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110402599.8A CN102427452B (zh) | 2011-12-06 | 2011-12-06 | 同步报文发送方法、装置和网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110402599.8A CN102427452B (zh) | 2011-12-06 | 2011-12-06 | 同步报文发送方法、装置和网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102427452A true CN102427452A (zh) | 2012-04-25 |
CN102427452B CN102427452B (zh) | 2014-07-30 |
Family
ID=45961395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110402599.8A Active CN102427452B (zh) | 2011-12-06 | 2011-12-06 | 同步报文发送方法、装置和网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102427452B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491061A (zh) * | 2012-06-13 | 2014-01-01 | 华为技术有限公司 | 缓解攻击方法、序列号提供方法及设备 |
CN105516080A (zh) * | 2015-11-24 | 2016-04-20 | 网宿科技股份有限公司 | Tcp连接的处理方法、装置及系统 |
CN106506522A (zh) * | 2016-11-28 | 2017-03-15 | 杭州迪普科技股份有限公司 | Tcp连接的管理方法和装置 |
CN111835471A (zh) * | 2020-06-24 | 2020-10-27 | 青岛海洋科学与技术国家实验室发展中心 | 基于北斗三代卫星短报文传输文件的方法及通信终端 |
CN112436950A (zh) * | 2020-10-19 | 2021-03-02 | 中标慧安信息技术股份有限公司 | 基于udp广播发现局域网内设备的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1533083A (zh) * | 2003-03-25 | 2004-09-29 | 株式会社Ntt都科摩 | 通信设备,传输控制方法,和程序产品 |
CN101594359A (zh) * | 2009-07-01 | 2009-12-02 | 杭州华三通信技术有限公司 | 防御传输控制协议同步洪泛攻击方法及传输控制协议代理 |
JP2010109775A (ja) * | 2008-10-30 | 2010-05-13 | Kyocera Corp | 無線通信装置および無線通信方法 |
CN101771695A (zh) * | 2010-01-07 | 2010-07-07 | 福建星网锐捷网络有限公司 | Tcp连接的处理方法、系统及syn代理设备 |
-
2011
- 2011-12-06 CN CN201110402599.8A patent/CN102427452B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1533083A (zh) * | 2003-03-25 | 2004-09-29 | 株式会社Ntt都科摩 | 通信设备,传输控制方法,和程序产品 |
JP2010109775A (ja) * | 2008-10-30 | 2010-05-13 | Kyocera Corp | 無線通信装置および無線通信方法 |
CN101594359A (zh) * | 2009-07-01 | 2009-12-02 | 杭州华三通信技术有限公司 | 防御传输控制协议同步洪泛攻击方法及传输控制协议代理 |
CN101771695A (zh) * | 2010-01-07 | 2010-07-07 | 福建星网锐捷网络有限公司 | Tcp连接的处理方法、系统及syn代理设备 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491061A (zh) * | 2012-06-13 | 2014-01-01 | 华为技术有限公司 | 缓解攻击方法、序列号提供方法及设备 |
CN103491061B (zh) * | 2012-06-13 | 2017-02-15 | 华为技术有限公司 | 缓解攻击方法、序列号提供方法及设备 |
CN105516080A (zh) * | 2015-11-24 | 2016-04-20 | 网宿科技股份有限公司 | Tcp连接的处理方法、装置及系统 |
CN105516080B (zh) * | 2015-11-24 | 2019-03-15 | 网宿科技股份有限公司 | Tcp连接的处理方法、装置及系统 |
CN106506522A (zh) * | 2016-11-28 | 2017-03-15 | 杭州迪普科技股份有限公司 | Tcp连接的管理方法和装置 |
CN106506522B (zh) * | 2016-11-28 | 2019-08-06 | 杭州迪普科技股份有限公司 | Tcp连接的管理方法和装置 |
CN111835471A (zh) * | 2020-06-24 | 2020-10-27 | 青岛海洋科学与技术国家实验室发展中心 | 基于北斗三代卫星短报文传输文件的方法及通信终端 |
CN111835471B (zh) * | 2020-06-24 | 2022-09-30 | 青岛海洋科学与技术国家实验室发展中心 | 基于北斗三代卫星短报文传输文件的方法及通信终端 |
CN112436950A (zh) * | 2020-10-19 | 2021-03-02 | 中标慧安信息技术股份有限公司 | 基于udp广播发现局域网内设备的方法 |
CN112436950B (zh) * | 2020-10-19 | 2022-07-12 | 中标慧安信息技术股份有限公司 | 基于udp广播发现局域网内设备的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102427452B (zh) | 2014-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE49053E1 (en) | System and method for an adaptive TCP SYN cookie with time validation | |
JP6858749B2 (ja) | 負荷平衡システムにおいて接続を確立するデバイス及び方法 | |
US10305904B2 (en) | Facilitating secure network traffic by an application delivery controller | |
US10630784B2 (en) | Facilitating a secure 3 party network session by a network device | |
AU2016266557B2 (en) | Secure dynamic communication network and protocol | |
CN106685992B (zh) | 基于单向传输技术跨网安全交换及交互式应用系统及方法 | |
US20120227088A1 (en) | Method for authenticating communication traffic, communication system and protective apparatus | |
CN102427452B (zh) | 同步报文发送方法、装置和网络设备 | |
CN105262737B (zh) | 一种基于跳通道模式的抵御ddos攻击的方法 | |
CN110213224B (zh) | 数据包异步转发方法和系统、数据处理系统及共识节点终端 | |
CN104917765A (zh) | 一种防范攻击的方法和设备 | |
CN107666491B (zh) | 基于对称加密的空地一体化网络的数据传输方法 | |
US10630479B2 (en) | Network communication method having function of recovering terminal session | |
US10447599B2 (en) | Packet forwarding method, system, and apparatus | |
CN105656994B (zh) | 一种业务加速方法和装置 | |
CN108540461B (zh) | 一种基于滑动时间窗口的IPv6地址跳变主动防御方法 | |
CN101860544A (zh) | 会话启动协议消息的发送系统及方法 | |
CN107579984B (zh) | 一种面向网络层的安全通信链路建立方法 | |
JP6413543B2 (ja) | 負荷分散装置、サーバ、負荷分散システム、負荷分散プログラム | |
CN115426116B (zh) | 一种基于动态密钥的加密哈希跳变方法 | |
CN111031065B (zh) | 一种文件传输方法、系统、客户端及防火墙 | |
CN112242934B (zh) | 一种tcp连接的rtt计算方法 | |
KR101112150B1 (ko) | 디도스 공격 상황에서 세션 유지 시스템 | |
JP4622754B2 (ja) | 通信システム、通信方法、送信装置、送信方法、受信装置、受信方法、およびプログラム | |
Rothenpieler | Distributed Protocol Stacks for Wireless Sensor Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |