CN1728671A - 服务器设备及其控制方法和使用该服务器建立连接的方法 - Google Patents
服务器设备及其控制方法和使用该服务器建立连接的方法 Download PDFInfo
- Publication number
- CN1728671A CN1728671A CN200510088428.7A CN200510088428A CN1728671A CN 1728671 A CN1728671 A CN 1728671A CN 200510088428 A CN200510088428 A CN 200510088428A CN 1728671 A CN1728671 A CN 1728671A
- Authority
- CN
- China
- Prior art keywords
- message
- connection
- server apparatus
- syn
- data
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- 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]
-
- 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/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
公开了一种服务器设备及其控制方法和使用该服务器建立连接的方法,其中,当在客户机设备和服务器设备之间建立连接时,从客户机设备向服务器设备发送请求建立下行连接的第一消息,使已经接收到第一消息的服务器设备向客户机设备发送请求建立上行连接的第二消息。使已经接收到第二消息的客户机设备向服务器设备发送确认第二消息并请求建立下行连接的第三消息。使已经接收到第三消息的服务器设备根据第三消息的内容建立下行连接。
Description
技术领域
本发明涉及一种用于建立用来在客户机设备和服务器设备之间发送和接收数据的连接的技术。
背景技术
近年来,使用因特网的各种通信业务已经投入使用。用于在因特网上发送和接收数据的通信协议的一个示例是TCP(传输控制协议)。TCP是一种能够使数据通信在因特网上被高度可靠执行的连接型通信协议。在TCP环境下,在内容数据的传输之前,数据发送设备(以下称作“服务器设备”)和数据接收设备(以下称作“客户机设备”)交换连接数据(以下称作“连接标识符”)。将交换的连接标识符用于指定通信路径(以下称作“连接”),以便由此建立内容数据的传输所用的连接。连接标识符的示例包括:分配给服务器设备或客户机设备的通信地址;指示了由设备分别用于发送和接收数据的通信端口(例如,通信端口号)的数据;或序列号的初始值。在TCP环境下,利用被称作“3方握手(3-way handshake)”的过程来建立连接。该过程的概括说明如下。
图10提供了由客户机设备20和服务器设备40执行的3方握手的概况。每一个设备均能够在TCP环境下进行通信。出于说明的目的,假设希望从服务器40得到内容数据的用户执行例如输入数据(例如URL)的预定操作,所述数据表示了服务器设备40的通信地址和要用于获取希望的内容数据的通信协议。客户机设备20首先向服务器设备40发送SYN消息200,如图10所示。当要从服务器设备40向客户机设备20发送数据时(以下称作“下行连接”),SYN消息用于请求建立连接;该消息包括用于下行连接的连接标识符。
当接收到SYN消息200时,服务器设备40分配用于与SYN消息200的源(客户机设备20)建立连接的计算机资源(以下称作“资源”)。具体地,服务器设备40将用于识别对应设备(即,客户机设备20)的数据(例如上述下行连接的连接标识符)写入到例如RAM(随机存取存储器)的存储设备中。然后,服务器设备40向客户机设备20发送指示接收到了SYN消息200的SYN/ACK消息210,并且还发送用于在反方向建立连接(以下称作“上行连接”)的请求。当数据从客户机设备20传送到服务器设备40时,使用上行连接;所述SYN/ACK消息210包括用于上行连接的连接标识符。
当接收到SYN/ACK消息210时,客户机设备20读取SYN/ACK消息210中的连接标识符,并根据连接标识符建立连接(即,上行连接)。然后,客户机设备20向服务器设备40发送指示接收到了SYN/ACK消息210的确认消息(以下称作“ACK”)220。当接收到ACK220时,服务器设备40建立上行连接,从存储设备中删除识别对应设备的数据,并等待来自对应设备的消息的接收,例如用于发送数据的请求。
注意,由于服务器设备40的资源,例如存储设备的容量,是有限的,也因此限制了能够存储在存储设备中的连接标识符的数目。因此,服务器设备40等待的、来自客户机设备20的ACK220的数目被限制为能够在服务器处保留的连接标识符的数目。该限制造成容易滥用服务器。即,通过从设备向服务器发送大量用于排队的SYN消息200,能够发起恶意的、客户机设备对服务器的服务器攻击的拒绝,由此耗尽了服务器的资源。将这种攻击称作“SYN洪泛攻击(SYN FloodAttack)”。
当发起SYN洪泛攻击时,作为攻击源的恶意客户机设备连续地向服务器设备40发送大量SYN消息200。当服务器发送或试图发送响应SYN/ACK消息210时,没有来自客户机设备的ACK 220,因此,服务器在设定时间周期内保留包含在所接收的SYN消息中的连接标识符。当在服务器处排队的连接标识符的数目达到上限时,耗尽了服务器设备的资源。结果,服务器设备不再能够接受来自客户机设备的连接请求;并且不能提供通信服务。已经提出了各种方法用于对付SYN洪泛攻击。包括,J.Lemon,“Resisting SYN flood DoS attacks witha SYN cache”,Proceedings of the B SDC on 2002 Conference,2002。http://people.freebsd.org/~ilemon/papers/synchame-pdf,其中,说明了被称作SYN Cookie的技术。参考图11,现在将给出SYN Cookie的说明。
图11提供了根据SYS Cookie执行的连接打开过程的概况。在接收到来自客户机设备20的SYN消息200时,当服务器设备50根据SYN Cookie建立连接时,其通过根据预定算法来压缩所接收的SYN消息200的内容,产生散列数据。然后,当将所产生的散列数据写入消息210之后,服务器设备50将SYN/ACK消息210发送到客户机设备20。根据SYN Cookie,当接收到消息200时,服务器设备50不会将包含在SYN消息200中的连接标识符写入到其存储单元中。相反,如果散列数据包含在从客户机设备20返回的ACK 220中,服务器设备50从散列数据中读取连接标识符,然后根据连接标识符建立连接(即,下行连接)。因此,根据SYN Cookie,由于服务器设备50没有存储包含在SYN消息200中的连接标识符,即使在没有从一个或多个客户机设备返回ACK 220的情况下,也不存在耗尽服务器设备50的资源的危险。因此,服务器设备50能够避免由SYN洪泛攻击产生服务器状态的拒绝。
然而,如图11所示,假设TCP规定如果在消息的传输之后的预定时间内没有从对应设备返回ACK,则重新发送消息,在SYN/ACK消息210的接收之后的预定时间内没有接收到ACK220的情况下,根据SYN Cookie的服务器设备50必须重新发送SYN/ACK消息210。然而,由于服务器设备50没有存储包含在SYN消息200中的连接标识符,它不能识别用于重新传输的SYN/ACK消息210的目的地,所以也不能重新发送SYN/ACK消息210;该目的地通常是根据所存储的连接标识符来识别的。
结果,如果响应SYN/ACK消息210不能从客户机设备20向服务器设备50发送ACK 220,则服务器设备50和客户机设备20之间的连接保持不完整。具体地,如果客户机设备20安全地接收到SYN/ACK消息210,尽管建立了服务器设备50和客户机设备20之间的上行连接,由于ACK 220的丢失,导致没有建立下行连接。即,在服务器设备50和客户机设备20之间产生了连接的不完整、半打开状态。如果不能重新发送SYN/ACK消息210来使客户机设备20重新发送ACK220,由于没有建立下行连接,会持续曾经产生的该半打开通信状态。因此,利用SYN Cookie来对付SYN洪泛攻击容易出现服务器设备和客户机设备之间的连接保持不完整的问题。
发明内容
考虑到上述问题设想了本发明,其目的在于提供一种对抗SYN洪泛攻击的有效保护,同时避免产生客户机设备和服务器设备之间的不完整、半打开连接状态。
为了解决上述问题,在一方面,本发明提出了一种服务器设备,包括:接收装置,用于接收从对应设备发送的消息;发送装置,用于当接收装置接收到第一消息时,向对应设备发送请求建立要用于接收从对应设备发送的数据的上行连接的第二消息,所述第一消息包含识别要用于向对应设备发送数据的下行连接的标识符,并且用于请求下行连接的建立;读取装置,用于当接收装置接收到包含标识符的第三消息时,从第三消息中读取该标识符,请求下行连接的建立,并确认第二消息的接收;以及连接建立装置,用于根据由读取装置读取的标识符,建立与对应设备的下行连接。
在另一方面,本发明提出了一种程序,用于使计算机用作以下装置:接收装置,用于接收从对应设备发送的消息;发送装置,用于当接收装置接收到第一消息时,向对应设备发送请求建立要用于接收从对应设备发送的数据的上行连接的第二消息,所述第一消息包含识别要用于向对应设备发送数据的下行连接的标识符,并且请求下行连接的建立;读取装置,用于当接收装置接收到包含标识符的第三消息时,从第三消息中读取该标识符,请求下行连接的建立,并确认第二消息的接收;以及连接建立装置,用于根据由读取装置读取的标识符,建立与对应设备的下行连接,本发明还提供了一种存储了程序的记录介质。
根据这种服务器设备、程序和记录介质,当通过接收到第三消息确认作为对应设备的客户机设备已经接收到第二消息时,在客户机设备之间建立下行连接。
在优选的实施例中,在第三消息包含附加数据的情况下,所述附加数据指定了用于通过下行连接向对应设备发送数据的通信模式,除了标识符以外,读取装置还读取附加数据;以及连接建立装置根据由读取装置读取的标识符和附加数据来建立下行连接。
根据该优选实施例,在建立下行连接之后,客户机设备能够根据由附加数据指定的通信模式来执行通信。换句话说,能够避免持续不完整的通信状态,并且能够有效地对付SYN洪泛攻击;此外,能够按照微调(fine-tuned)模式来执行与客户机设备的通信。
在另一个优选实施例中,服务器设备还包括确定装置,用于根据第一和第三消息的内容来确定第一消息的源是否与第三消息的源相同,其中只有当确定的结果肯定时,读取装置才从第三消息中读取标识符。优选地,第一和第三消息中的每一个包含序列号数据,所述序列号数据示出了当发送数据时由第一和第三消息的每一个源所使用的消息的序列号的初始值;以及当包含在第一消息中的序列号数据与包含在第三消息中的序列号数据相同时,确定装置确定第一消息的源与第三消息的源相同。
根据该优选实施例,当第一消息的源与第三消息的源相同时,建立对应设备之间的下行连接。
根据另一个优选实施例,如果消息包含预定区域内的附加数据,则接收装置丢弃从对应设备发送的消息;以及当将附加消息写入预定区域之后,发送装置发送第二消息。优选地,服务器设备还包括确定装置,用于根据第一消息的内容,确定是否通过特定通信端口发送由接收装置接收的第一消息;以及在确定装置确定通过特定通信端口发送第一消息的情况下,当将附加数据写入预定区域之后,发送装置发送第二消息。
根据该优选实施例,在模仿本实施例的第一服务器设备的对应设备向本实施例的第二服务器设备发送第一消息时,当将附加数据写入第二消息的预定区域之后,第二服务器设备向第一服务器设备发送第二消息。然后,第一设备丢弃第二消息。结果,能够避免第一和第二服务器设备之间无休止的发送消息。
在另一方面,本发明提供了一种服务器设备,包括:通信装置和控制装置,其中控制装置执行:第一处理,在通信装置接收到第一消息的情况下,通信装置发送请求建立用于从对应设备接收数据的上行连接的第二消息,所述第一消息包含识别要用于向对应设备发送数据的下行连接的标识符,并且第一消息还请求下行连接的建立;第二处理,当通信装置接收到包含标识符的第三消息时,从第三消息中读取该标识符,请求下行连接的建立,并确认第二消息的接收;以及第三处理,根据在第二处理中读取的标识符,建立下行连接。
在另一方面,本发明还提供了一种程序,用于使计算机设备执行:第一处理,在通信装置接收到第一消息的情况下,通信装置发送请求建立用于从对应设备接收数据的上行连接的第二消息,所述第一消息包含识别要用于向对应设备发送数据的下行连接的标识符,并且第一消息还请求下行连接的建立;第二处理,当通信装置接收到包含标识符的第三消息时,从第三消息中读取该标识符,请求下行连接的建立,并确认第二消息的接收;以及第三处理,根据在第二处理中读取的标识符,建立下行连接,本发明还提供了一种其上存储了程序的计算机可读介质。
根据这种服务器设备、程序和计算机可读介质,在通过第三消息确认作为对应设备的客户机设备已经接收到第二消息的情况下,与客户机设备之间建立下行连接。
为了解决上述问题,本发明还提供了一种控制服务器设备的控制方法,所述服务器设备建立了与对应设备之间的连接并向对应设备发送数据,使服务器设备顺序地执行:第一步骤,在从对应设备发送第一消息的情况下,发送请求建立用于从对应设备接收数据的上行连接的第二消息,所述第一消息包含识别要用于向对应设备发送数据的下行连接的标识符,并且第一消息还请求下行连接的建立;第二步骤,当从对应设备发送包含标识符的第三消息时,从第三消息中读取该标识符,请求下行连接的建立,并确认第二消息;以及第三步骤,其中根据在第二步骤中读取的标识符,建立下行连接。
在另一方面,本发明提供了一种控制服务器设备的连接建立方法,所述服务器设备建立了与对应设备之间的连接并向对应设备发送数据,使服务器设备顺序地执行:第一步骤,在从对应设备发送第一消息的情况下,发送请求建立用于从对应设备接收数据的上行连接的第二消息,所述第一消息包含识别要用于向对应设备发送数据的下行连接的标识符,并且第一消息还请求下行连接的建立;第二步骤,当从对应设备发送包含标识符的第三消息时,从第三消息中读取该标识符,请求下行连接的建立,并确认第二消息;以及第三步骤,根据在第二步骤中读取的标识符,建立下行连接。
根据该连接建立方法,在通过第三消息确认客户机设备已经接收到第二消息的情况下,建立客户机设备和服务器设备之间的下行连接。
根据本发明,当建立客户机设备和服务器设备之间的连接时,能够防止持续不完整连接状态,并且能够有效地对付SYN洪泛攻击。
附图说明
图1示出了根据本发明实施例包括服务器设备30的通信系统的示例。
图2是示出了根据TCP交换的消息的消息格式的图。
图3是示出了服务器设备30的硬件配置的示例的图。
图4是示出了由服务器设备30的控制单元100根据控制软件执行的控制操作的流程的流程图。
图5是示出了在服务器设备30和客户机设备20之间执行的用于建立连接的通信序列的示例的图。
图6示出了当丢失从服务器设备30发送的ACK 220时执行的通信序列的示例。
图7示出了当丢失从客户机设备20发送的SYN消息205时执行的通信序列的示例。
图8示出了当客户机设备20模仿为服务器设备30B并根据变型4向服务器设备30A发送SYN消息时执行的通信序列的示例。
图9是示出了当客户机设备20模仿为服务器设备40并根据变型4向服务器设备30A发送SYN消息时执行的通信序列的示例。
图10是示出了传统3方握手的图。
图11是示出了传统SYN Cookie的图。
具体实施方式
下面,将参考附图,给出本发明优选实施例的说明。
A:配置
A-1:通信系统的配置
图1是示出了根据本发明的实施例,包括服务器设备30的通信系统的整体配置的示例的图。如图1所示,通信系统包括:通信网络10、与通信网络10相连的客户机设备20和服务器设备30。尽管在图1中只示出了与通信网络10相连的一个客户机设备和一个服务器设备,可以将多个客户机设备和/或多个服务器设备与通信网络10相连。下面,在二者之间的区分不必要时,将客户机设备和服务器设备统一地称作通信设备。
如图1所示,例如,通信网络10可以是因特网;其包括例如路由器、网关等的中继设备。当根据预定协议(在本实施例中是TCP)从与网络相连的通信设备发送消息时,通信网络10通过经过中继设备路由消息,将所述消息传送到其目的地。在本实施例中,以通信网络10是因特网的情况来进行说明;但是通信网络10还可以是LAN(局域网)、移动分组通信网和例如无线LAN的无线通信网等。
图1中的客户机设备20和服务器设备30是与通信网络10相连的个人计算机(以下称作“PC”);其能够通过通信网络10,执行根据TCP的通信。具体地,客户机设备20和服务器设备30产生图2所示格式的消息,并当将预定数据写入消息的报头部分的区域时,发送所述消息。
图2所示的格式用于根据TCP发送的消息。尽管省略了详细的图形描述,图2的控制标志区域是用于写入6比特标志的区域:URG、ACK、PSH、RST、SYN和FIN。在发送每一个SYN、SYN/ACK和ACK消息之前,客户机设备20和服务器设备30将“1”或“0”设置到这6比特标志中的每一个。
当从客户机设备20向服务器设备30发送SYN消息时,将各个数据写入到消息的报头部分的每一个区域。即,在源端口号字段,写入了已经请求通信开始的应用程序(浏览器等)的通信端口号;在目的端口号字段,写入了对应的应用程序(例如HTTPD)的通信端口号;以及在序列号字段,写入了客户机设备20使用的序列号的初始值。在控制标志字段,只将SYN标志设为“1”,而将其它标志设为“0”。注意,尽管图2未示出,当在低于TCP的协议(例如因特网协议:以下称作“IP”)处理消息时,还将报头附到在客户机设备20和服务器设备30之间交换的消息上。在较底层添加的报头中,写入了表示通信设备的数据,其构成了消息的目的地和源(例如,诸如分配到每一个设备的IP地址的通信地址)。
尽管在客户机设备20和服务器设备30是根据TCP进行通信的PC的实施例中给出了说明,客户机设备20和/或服务器设备30可以是根据TCP进行通信的PDA(个人数字助理)或移动电话,只要该设备能够根据TCP进行通信。
由于客户机设备20与根据TCP进行通信的传统计算机设备相同,省略图1所示的通信系统的客户机设备20的详细说明。相反,服务器设备30配备了本发明的服务器设备特有的功能,利用该功能,根据本发明的连接建立方法来建立连接。因此,下面的说明集中于本发明的服务器设备30。
A-2:服务器设备30的配置
现在,参考图3,给出服务器设备30的说明。如图所示,服务器设备30具有:控制单元100、通信接口(以下称作“IF”)单元110、存储器设备120和互连服务器设备30的每一个单元的总线130。
例如,控制单元100是CPU(中央控制单元),并通过运行存储在存储设备120上的软件来控制服务器设备30的每一个单元。与通信网络10相连的通信IF单元110接收通过通信网络10发送的消息,将消息送向控制单元100,并将来自控制单元100的消息发送到通信网络10。
如图3所示,存储设备120包括易失性存储器120a和非易失性存储设备120b。例如,易失性存储器120a是RAM,用作根据软件进行操作的控制单元100的工作区。例如,非易失性存储设备120b是硬盘,其中存储了各种数据。存储在非易失性存储设备120b中的数据的示例包括响应来自客户机设备20的请求,要发送到客户机设备20的发送数据,以及定义了根据TCP将发送数据传送到客户机设备20的通信模式的数据(例如,示出了拥塞窗大小、超时数值等的数据)。
此外,非易失性存储设备120b中存储了用于使控制单元100实现OS功能的操作系统(以下称作“OS”)软件和用于使控制单元100根据TCP执行通信的控制软件。下面,将给出当执行OS和控制软件时由控制单元100提供的功能的说明。
当开启服务器设备30时,控制单元100首先运行并执行来自非易失性存储设备120b中的OS软件。根据OS软件操作的控制单元100配备了控制服务器设备30的每一个单元的功能,还配备了运行并执行来自非易失性存储设备120b的其它软件的功能。当控制单元100完成OS软件的执行时,已经实现了OS的控制单元100立即运行并执行来自非易失性存储设备120b的上述控制软件。
当接收到来自客户机设备20的SYN消息或SYN/ACK消息时,根据控制软件进行操作的控制单元100根据图4的流程图所示的过程,执行以下三个处理。当从客户机设备20发送了请求建立下行连接的SYN消息时,执行第一处理,所述第一处理包括产生请求用于发送到客户机设备20的上行连接的SYN消息(步骤SA3,图4)。当接收到作为在请求建立下行连接的第一处理中发送的SYN消息的确认接收的SYN/ACK消息时,执行第二处理,所述第二处理包括通过从SYN/ACK消息中读取标识符来获取用于识别下行连接的连接标识符(步骤SA4)。第三处理包括根据在第二处理中获取的连接标识符来建立下行连接(步骤SA5)。因此,控制软件使服务器设备30的控制单元100实现了本发明特有的控制方法,并执行本发明特有的连接建立方法。
换句话说,控制软件使控制单元100提供以下四个功能:首先,用作接收装置,用于通过通信IF单元110来接收从客户机设备发送的消息;第二,用作发送装置,用于当接收装置接收的消息是请求打开与客户机设备20的下行连接的SYN消息时,产生请求建立用于发送到客户机设备20的上行连接的SYN消息;第三,用作读取装置,用于当接收装置接收的消息是SYN/ACK消息时,从SYN/ACK消息中读取用于识别下行连接的连接标识符,所述SYN/ACK消息确认由发送装置发送的SYN消息,并请求建立下行连接;以及第四,用作连接建立装置,用于根据由读取装置读取的连接标识符来建立下行连接。
如上所述,除了由控制单元100运行并执行存储在存储设备120中的各种软件,服务器设备30的硬件配置与通用计算机设备相同,由此使控制单元100实现了本发明的服务器设备特有的功能。因此,实现了根据本发明的控制方法,并且通过客户机设备20和服务器设备30执行了根据本发明的连接建立方法。在本实施例中,给出了根据软件模块实现本发明的服务器设备特有的功能的说明。当然,可以利用具有与软件模块相同功能的硬件模块来配置服务器设备30;即,可以通过利用硬件模块实现接收装置、发送装置以及读取装置和连接建立装置来配置服务器设备30。
B:操作
接下来将给出服务器设备30执行的操作的说明,具体地,给出当清楚地示出了服务器设备30的特性时执行的操作的说明。
B-1:基本操作
首先给出当建立连接时,由客户机设备20和服务器设备30执行的操作的流程图的说明。由于客户机设备20与根据TCP进行通信的传统通信设备相同,当用户执行例如输入服务器设备30的URL之类的预定操作时,客户机设备20向服务器设备30发送SYN消息200,如图5所示。下面,将参考图4,给出当接收到SYN消息200时由服务器设备30的控制单元100执行的操作的说明。
如图4所示,当通过通信IF单元110接收到消息时(步骤SA1),服务器设备30的控制单元100根据消息的内容确定该消息是SYN消息还是SYN/ACK消息(步骤SA2)。具体地,当只将“1”设置到包含在消息中的控制标志(图2)的SYN标志时,控制单元100确定该消息是SYN消息;而除SYN标志以外,当还将“1”设置到ACK标志时,确定消息是SYN/ACK消息。在控制单元100在步骤SA2确定所接收的消息是SYN消息时,执行图4中步骤SA3的处理;而当控制单元100在步骤SA2确定所接收的消息是SYN/ACK消息时,执行从步骤SA4到SA6的处理。
在本操作示例中,从客户机设备20发送SYN消息200。结果,执行步骤SA3的处理。在步骤SA3,控制单元100向在步骤SA1接收的SYN消息的源,即客户机设备20,发送请求建立上行连接的SYN消息。结果,如图5所示,将SYN消息从服务器设备30发送到客户机设备20。
基于当接收到SYN消息205的同时建立连接的假设,与能够根据TCP进行通信的传统客户机设备具有相同功能的客户机设备20进行操作;并假设在每一个客户机设备20及其对应设备实质上同时发送SYN消息,并且在接收ACK之间接收到由其它设备发送的SYN消息的情况下,出现连接的同时建立。(对于“同时打开”,参考W.RichardStevens,Tcp/Ip Illustrated:The Protocols(Addison-Wesley ProfessionalComputing Series),250到251页,Addison-Wesley Pub(Sd),1994)。因此,通过使服务器设备30向客户机设备20发送SYN消息205,假设在客户机设备20处同时出现打开。根据TCP,由于规定应当返回SYN/ACK消息,作为从对应设备发送的SYN消息的响应,所以客户机设备20向服务器设备30发送确认SYN消息205并请求下行连接的建立的SYN/ACK消息210(图5)。SYN/ACK消息210包含与SYN消息200所包含的相同的数据,而确认号(图2)递增,所述数据包括建立下行连接所需的信息,例如连接标识符。
当通过通信IF单元110接收到SYN/ACK消息时(步骤SA1),服务器设备30的控制单元100执行如上所述的步骤SA4到SA6的处理。具体地,控制单元100通过从接收自客户机设备20的SYN/ACK消息210中读取,得到下行连接的连接标识符(步骤SA4),并建立由连接标识符表示的连接(步骤SA5)。结果,建立客户机设备20和服务器设备30之间的下行连接。然后,在写入上行连接的标识符之后,控制单元100向客户机设备20发送确认上述SYN/ACK消息的ACK220(步骤SA6)。当ACK 220到达客户机设备20时,客户机设备20读取写入到ACK 220中的连接标识符,以建立由连接标识符指示的连接,即,上行连接。
因此,由于当接收到从客户机设备20发送的SYN消息200时,根据本实施例的服务器设备30不存储写入在SYN消息200中的连接标识符(即,上行连接的连接标识符),所以能够有效地对付SYN洪泛攻击。
B-2:当丢失ACK220或SYN/ACK210时的操作
前面,给出了从客户机设备20和服务器设备30发送的每一个消息到达其目的地的情况的说明。下面,将给出在通信网络10中丢失了消息的情况下由客户机设备20和服务器设备30执行的操作的情况。
首先,给出丢失了从服务器设备30发送到客户机设备20的ACK220的情况的说明。ACK 220用于通知客户机设备20已经在服务器设备30安全地接收到了从客户机设备20发送的SYN/ACK消息210。当在SYN/ACK消息210的发送之后的预定时间内(例如,Tc秒,参考图6)没有在客户机设备20处接收到ACK 220时,假设SYN/ACK消息210已经丢失,服务器重新发送SYN/ACK消息210。如图6所示,当接收到重新发送的SYN/ACK消息210时,服务器设备30重新发送ACK 220。
因此,根据本实施例,即使丢失了从服务器设备30发送到客户机设备20的ACK,客户机设备20重新发送SYN/ACK消息210,由此提示服务器设备30重新发送ACK 220。由于在SYN/ACK消息210发送之后的预定时间之后重新发送SYN/ACK消息210,即使丢失了从客户机设备20发送的SYN/ACK消息210,也重新发送SYN/ACK消息210。
此外,根据本实施例,给出了当将ACK 220看作是用于SYN/ACK消息210的ACK时的说明。这意味着当发送SYN消息200之后接收到SYN消息205时,停止用于测量SYN消息200发送之后的预定时间的定时器(未示出),并且当发送SYN/ACK消息210时,再次将其启动,以测量预定时间(Tv,图6)。然而,当SYN消息205的发送之后接收到SYN消息205时,不必停止定时器,如果没有,则将ACK220看作是用于SYN消息200的确认。因此,如果在SYN消息200的发送之后的预定时间内没有接收到ACK220,则能够重新发送SYN消息200。
B-3:当丢失SYN消息205或200时的操作
在丢失了从服务器设备30发送的SYN消息205的情况下,不将用于确认SYN消息205的SYN/ACK消息210返回到服务器设备30。在这种情况下,当SYN消息205的发送之后经过了预定时间时,不得不重新发送SYN消息205。然而,由于当接收到SYN消息200时,服务器设备30不存储示出了SYN消息200的源的数据,服务器设备30不能识别要重新发送的SYN消息205的目的地,并因此不能执行重新发送。
然而,根据本实施例,如图7所示,当SYN消息200的发送之后经过了预定时间之后,从客户机设备20重新发送SYN消息200。然后,使服务器设备30重新发送SYN消息205。本领域技术人员显而易见的是,在丢失了从客户机设备20发送的SYN消息的情况下,当SYN消息200的发送之后经过了预定时间之后重新发送该消息。
如上所述,根据本实施例,即使要在客户机设备20和服务器设备30之间交换的消息没有发送或已经丢失,则能够始终重新发送消息。因此,可以防止服务器设备30和客户机设备20之间的连接保持在不完整状态。
C:变型
上文中,已经给出了本发明优选实施例的说明。然而,可以如下进行变型。
C-1:变型1
在上述实施例中,给出了客户机设备和服务器设备基于TCP的情况的说明。然而,根据本发明的连接建立方法建立的连接并不局限于用于根据TCP执行的数据通信,而可以是用于根据其它通信协议执行的数据通信的连接,只要通信协议是连接型通信协议,例如在数据交换之前建立连接的TCP。此外,如上所述,即使使用了除TCP以外的连接型通信协议,如果重新发送装置配备了用于重新发送消息的通信设备,其中从消息的发送之后经过了预定时间周期内没有接收到确认,也可以避免连接的不完整状态的持续。
C-2:变型2
在上述实施例中,给出了当接收到来自客户机设备的SYN/ACK消息时从SYN/ACK消息中读取连接标识符并建立由连接标识符指示的下行连接的情况的说明。此外,在将指定了通过上述连接向客户机20发送数据中使用的通信模式的细节的附加数据中写入SYN/ACK消息的选项字段(参考图2)的情况下,当建立下行连接之后,服务器设备按照附加数据指定的通信模式发送数据。附加数据的示例是:示出了各种选项的可用性的数据,例如窗口比例选项和时间戳选项,指示了选择性确认(SACK)的可用性的数据,以及ECN。因此,根据本变型,利用根据本发明的连接建立方法建立的连接,能够按照取决于对应设备的能力的微调模式来执行通信。
C-3:变型3
在上述实施例中,给出了当接收到从客户机设备发送的SYN/ACK消息时,服务器设备无条件地建立与客户机设备20的下行连接的情况的说明。然而,还可以鉴别作为SYN消息的源(source)的客户机设备是否与作为SYN/ACK消息的源的客户机设备相同,以便只有当将两个客户机设备鉴别为相同时,才建立下行连接。
更详细地,上述实施例的服务器设备还配备了散列数据产生装置,用于通过根据预定算法来压缩所接收消息的内容来产生散列数据。然后,当根据从客户机设备发送的SYN消息200,将通过散列数据产生装置产生的散列数据写入到SYN消息205中之后,使服务器设备发送请求建立上行连接的SYN消息205。如果从客户机设备接收的SYN/ACK消息包含散列数据,则确定已经发送SYN消息200的客户机设备与已经发送SYN/ACK消息的客户机设备相同,然后,服务器设备从SYN/ACK消息中读取识别了下行连接的连接标识符。
C-.4:变型4
在上述实施例中,给出了当接收到来自客户机设备的请求建立下行连接的SYN消息时,服务器设备无条件地返回请求建立到客户机设备的上行连接的SYN消息的情况的说明。然而,在上述客户机设备使用特定通信端口(例如,作为公知端口的通信端口)来发送SYN消息的情况下,服务器设备可以发送具有写入到消息205的预定区域的预定附加数据的SYN消息205。下面将详细说明用于本变型的基本原理。
根据TCP执行通信的客户机设备通常利用被称作瞬息端口(ephemeral port)的通信端口来发送SYN消息。瞬息端口是没有预定义特定使用的通信端口,客户机设备能够自由地决定其使用。公知的端口是预定义了使用的通信端口。例如,端口号80用于根据HTTP执行的通信。
在客户机设备模仿另一个通信设备的情况下,即,另一个服务器设备,这种客户机设备通常通过传统由服务器设备使用的公知端口来发送SYN消息。换句话说,利用公知端口发送SYN消息的客户机设备像是模仿另一个服务器设备。
例如,假设客户机设备20向服务器设备30A发送SYN消息,其中将分配给服务器设备30B的通信地址(以下称作“AdrB”)写作源地址,并将“80”写作源端口号,服务器设备30A和30B具有与上述实施例的服务器设备30相同的功能。当接收到SYN消息时,服务器设备30A根据包含在SYN消息中的数据,检测出消息源是服务器设备30B,并向服务器设备30B发送请求建立上行连接的SYN消息。由于这是服务器设备30B第一次接收到来自服务器设备30A的SYN消息,其将SYN消息返回到服务器设备30A。从此时起,不停地在服务器设备30A和30B之间发送和接收SYN消息。
因此,由于当利用普通客户机设备不使用的特定通信端口(例如公知端口)来从客户机设备发送SYN消息,推断客户机设备在模仿另一个设备,并且通过将指示模仿的附加数据写入到SYN消息205的预定区域中,能够不停地进行SYN消息的无止交换。
为了详细说明,给出以下两种情况的说明:客户机设备20模仿本发明的服务器设备;以及客户机设备20模仿传统的服务器设备。下面,将控制标志字段(图2)的URG标志用作写入附加数据的区域,并将“1”或“0”的1比特数据写作附加数据。可选地,可以将附加数据写入到图2所示的选项字段中。
图8是示出了用于以下情况的通信系列:客户机设备20模仿本变型的服务器设备30B,并向本变型的服务器设备30A发送SYN消息。当接收到SYN消息时,服务器设备30A基于包含在SYN消息中的数据(例如,包含在SYN消息中的连接标识符),确定用于SYN消息的传输的通信端口是否是特定通信协议(例如,公知端口)。当确定的结果是肯定时,服务器设备30A发送其中将“1”设为控制标志字段的URG标志的SYN消息(以下称作SYN/URG消息)。
由于客户机设备20在模仿服务器设备30B,如图8所示,服务器设备30A将上述SYN/URG消息发送到服务器设备30B。另一方面,在没有执行例如SYN的消息交换的状态下(例如,根据TCP的LISTEN状态),服务器设备30B接收上述SYN/URG消息。为了避免SYN消息的无休止交换,当服务器设备30B进入这种状态时,使服务器设备30B放弃SYN/URG消息。
接下来,将参考图9,给出客户机设备20模仿传统服务器设备40并向服务器设备30发送SYN消息的第二状态的说明。首先,当按照与图8所示上述情况相同的方式接收到SYN消息时,服务器设备30向服务器设备40发送SYN/URG消息。
图9的服务器设备40是根据TCP进行通信的传统服务器设备,并且当接收到上述SYN/URG消息时,向SYN/URG消息的源发送SYN/ACK消息。在这种情况下,如图9所示,由于服务器设备40独立地将随机初始序列号设置为SYN/ACK消息的序列号,包含在SYN/ACK消息中的序列号(Nb)是独立于写入在从客户机设备20发送的SYN消息中的SYN消息的序列号(N0)并且与其无关的编号。另一方面,如果客户机设备20没有模仿其它服务器设备,当从本实施例的服务器设备30返回SYN/URG消息,作为从客户机设备20发送到服务器设备30的初始消息的响应时,客户机设备20确定这是同时连接状态,并且当递增确认号之后,向服务器设备30发送SYN/ACK消息,所述SYN/ACK消息中包含了与包含在发送到服务器设备30的初始SYN消息相同的数据。因此,在写入在SYN/ACK消息中的序列号与包含在SYN消息中的序列号相同的情况下,可以将SYN/ACK消息的源确定为与初始SYN消息的源相同。换句话说,在写入在SYN/ACK消息中的序列号与在SYN/ACK消息的接收之前接收到的SYN消息中包含的不同的情况下,服务器设备30确定SYN/ACK消息是非法消息,于是,使服务器设备30发送RST(RESSET)消息。结果,暂停了建立连接的操作,并且防止了SYN消息的无休止交换。
在本变型4中,在特定通信端口用于从对应设备发送的SYN消息的情况下,为此,使服务器设备30A返回包含了附加数据的SYN消息。然而,由于模仿其它设备的对应设备在发送SYN消息时不必使用特定通信端口,服务器设备30可以将附加数据添加到SYN消息中,作为对于从对应设备发送的每一个SYN消息的响应,而与是否利用特定通信端口从对应设备发送SYN消息无关。
C-5:变型5
在上述实施例中,提前将用于使控制单元100实现本发明的服务器设备特有的功能的软件存储在非易失性存储设备120中。为了存储软件,除了硬盘以外,存在可以用作非易失性存储设备的其它介质,例如CD-ROM(压缩盘只读存储器)、DVD(数字多功能盘)等,通常利用这种介质将软件安装到通用计算机设备上。按照这种方式,可以使处于已有通信系统中的服务器设备用作根据本发明的服务器设备。
C-6:变型6
在上述实施例中,当其每一次接收到来自客户机设备20的SYN消息200时,使服务器设备30发送SYN消息205,以便从客户机设备20发送SYN/ACK消息210。可选地,只有当确定服务器设备20处可用的资源稀缺时,服务器设备30才发送SYN消息205,作为对于从客户机设备20接收到的SYN消息200的响应。具体地,例如,通过连续地更新示出了已占用存储器区域相对于整个存储器容量的百分数的数据,服务器设备30的CPU100监控例如RAM的存储器单元的可用容量。当接收到来自客户机设备20的SYN消息200时,确定存储器单元的可用容量是否超出了百分数的特定阈值。当确定否定时,根据传统的3方握手方法,向客户机设备发送SYN/ACK消息;当确定存储器单元的可用容量超出了特定阈值时,即,当确定服务器设备30处的可用资源稀缺时,向客户机设备20发送SYN消息205。因此,由于在正常操作器件使用了传统的3方握手方法,并且只有当发现服务器设备处的可用资源稀缺时才使用本发明的连接建立方法,能够使由发送本发明方法的一个额外消息所引起的开销的潜在负面效果最小。因此,能够有效地对付SYN洪泛攻击。
Claims (9)
1、一种服务器设备,包括:
接收装置,用于接收从对应设备发送的消息;
发送装置,用于当所述接收装置接收到第一消息时,向所述对应设备发送请求建立要用于接收从对应设备发送的数据的上行连接的第二消息,所述第一消息包含识别要用于向所述对应设备发送数据的下行连接的标识符,并且请求所述下行连接的建立;
读取装置,用于当所述接收装置接收到包含标识符的第三消息时,从第三消息中读取该标识符,请求所述下行连接的建立,并确认所述第二消息的接收;以及
连接建立装置,用于根据由所述读取装置读取的所述标识符,建立与所述对应设备的所述下行连接。
2、根据权利要求1所述的服务器设备,其特征在于,
在所述第三消息包含指定了用于通过所述下行连接向所述对应设备发送数据的通信模式的附加数据的情况下,除了所述标识符以外,所述读取装置还读取所述附加数据;以及
所述连接建立装置根据由所述读取装置读取的所述标识符和所述附加数据来建立所述下行连接。
3、根据权利要求1所述的服务器设备,其特征在于还包括,
确定装置,用于根据所述第一和第三消息的内容来确定所述第一消息的源是否与第三消息的源相同,
其中,只有当所述确定的结果肯定时,所述读取装置才从第三消息中读取标识符。
4、根据权利要求3所述的服务器设备,其特征在于,
所述第一和第三消息中的每一个包含序列号数据,所述序列号数据示出了当发送数据时由第一和第三消息的每一个源所使用的消息的序列号的初始值;以及
其中当包含在所述第一消息中的所述序列号数据与包含在所述第三消息中的所述序列号数据相同时,所述确定装置确定所述第一消息的源与所述第三消息的源相同。
5、根据权利要求1所述的服务器设备,其特征在于,
如果消息包含预定区域内的附加数据,则所述接收装置丢弃从对应设备发送的消息;以及
当将所述附加消息写入所述预定区域之后,所述发送装置发送所述第二消息。
6、根据权利要求5所述的服务器设备,其特征在于还包括,
确定装置,用于根据所述第一消息的内容,确定是否通过特定通信端口发送由所述接收装置接收的所述第一消息;以及
在所述确定装置确定通过所述特定通信端口发送所述第一消息的情况下,当将所述附加数据写入所述预定区域之后,所述发送装置发送所述第二消息。
7、一种服务器设备,包括:
通信装置;以及
控制装置,
其中控制装置执行:
第一处理,在所述通信装置接收到第一消息的情况下,所述通信装置发送请求建立用于从对应设备接收数据的上行连接的第二消息,所述第一消息包含识别要用于向所述对应设备发送数据的下行连接的标识符,并且所述第一消息还请求所述下行连接的建立;
第二处理,当所述通信装置接收到包含标识符第三消息时,从所述第三消息中读取所述标识符,请求所述下行连接的建立,并确认所述第二消息的接收;以及
第三处理,根据在所述第二处理中读取的所述标识符,建立所述下行连接。
8、一种控制服务器设备的方法,所述服务器设备建立与对应设备之间的连接,并且向所述对应设备发送数据,其中使所述服务器设备顺序地执行:
第一步骤,在从所述对应设备发送第一消息的情况下,发送请求建立用于从所述对应设备接收数据的上行连接的第二消息,所述第一消息包含识别要用于向所述对应设备发送数据的下行连接的标识符,并且所述第一消息还请求所述下行连接的建立;
第二步骤,当从所述对应设备发送包含标识符的第三消息时,从所述第三消息中读取该标识符,请求所述下行连接的建立,并确认所述第二消息;以及
第三步骤,根据在所述第二步骤中读取的所述标识符,建立所述下行连接。
9、一种连接建立方法,包括以下顺序步骤:
第一步骤,从客户机设备向服务器设备发送请求建立用于接收数据的下行连接的第一消息;
第二步骤,从已经接收到所述第一消息的所述服务器设备发送第二消息,所述第二消息请求用于从所述客户机设备接收数据的上行连接的建立;
第三步骤,从已经接收到所述第二消息的所述客户机设备向所述服务器设备发送确认所述第二消息并请求所述下行连接的建立的第三消息;以及
第四步骤,根据所述第三消息的内容,在已经接收到所述第三消息的所述服务器设备处建立所述下行连接。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004221859 | 2004-07-29 | ||
JP2004221859A JP4313266B2 (ja) | 2004-07-29 | 2004-07-29 | サーバ装置、その制御方法およびコネクション確立方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1728671A true CN1728671A (zh) | 2006-02-01 |
CN100403716C CN100403716C (zh) | 2008-07-16 |
Family
ID=35033705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100884287A Expired - Fee Related CN100403716C (zh) | 2004-07-29 | 2005-07-28 | 服务器设备及其控制方法和使用该服务器建立连接的方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7990866B2 (zh) |
EP (1) | EP1622334B1 (zh) |
JP (1) | JP4313266B2 (zh) |
CN (1) | CN100403716C (zh) |
DE (1) | DE602005001426T2 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262421B (zh) * | 2007-03-06 | 2011-06-01 | 佳能株式会社 | 中继设备和中继方法 |
CN101505218B (zh) * | 2009-03-18 | 2012-04-18 | 杭州华三通信技术有限公司 | 攻击报文的检测方法和装置 |
CN103685410A (zh) * | 2012-09-18 | 2014-03-26 | 华耀(中国)科技有限公司 | 一种透传时间戳的方法 |
CN105049489A (zh) * | 2015-06-25 | 2015-11-11 | 上海斐讯数据通信技术有限公司 | 一种在uboot上实现三次握手的方法 |
CN109587163A (zh) * | 2018-12-27 | 2019-04-05 | 网宿科技股份有限公司 | 一种dr模式下的防护方法和装置 |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070130324A1 (en) * | 2005-12-05 | 2007-06-07 | Jieming Wang | Method for detecting non-responsive applications in a TCP-based network |
US7675854B2 (en) * | 2006-02-21 | 2010-03-09 | A10 Networks, Inc. | System and method for an adaptive TCP SYN cookie with time validation |
US8584199B1 (en) | 2006-10-17 | 2013-11-12 | A10 Networks, Inc. | System and method to apply a packet routing policy to an application session |
US8312507B2 (en) | 2006-10-17 | 2012-11-13 | A10 Networks, Inc. | System and method to apply network traffic policy to an application session |
GB0704836D0 (en) * | 2007-03-13 | 2007-04-18 | Blue Whale Systems Ltd | Messaging methoa and apparatus |
US7774490B2 (en) | 2007-09-20 | 2010-08-10 | Microsoft Corporation | Crisscross cancellation protocol |
US8180902B1 (en) | 2009-03-05 | 2012-05-15 | Riverbed Technology, Inc. | Establishing network connections between transparent network devices |
US7984160B2 (en) * | 2009-03-05 | 2011-07-19 | Riverbed Technology, Inc. | Establishing a split-terminated communication connection through a stateful firewall, with network transparency |
US8181060B1 (en) | 2009-03-05 | 2012-05-15 | Riverbad Technology, Inc. | Preventing data corruption with transparent network connections |
US9960967B2 (en) | 2009-10-21 | 2018-05-01 | A10 Networks, Inc. | Determining an application delivery server based on geo-location information |
US9083708B2 (en) * | 2010-05-17 | 2015-07-14 | Microsoft Technology Licensing, Llc | Asymmetric end host redundancy elimination for networks |
US9215275B2 (en) | 2010-09-30 | 2015-12-15 | A10 Networks, Inc. | System and method to balance servers based on server load status |
US9609052B2 (en) | 2010-12-02 | 2017-03-28 | A10 Networks, Inc. | Distributing application traffic to servers based on dynamic service response time |
US8897154B2 (en) | 2011-10-24 | 2014-11-25 | A10 Networks, Inc. | Combining stateless and stateful server load balancing |
US9386088B2 (en) | 2011-11-29 | 2016-07-05 | A10 Networks, Inc. | Accelerating service processing using fast path TCP |
US9094364B2 (en) | 2011-12-23 | 2015-07-28 | A10 Networks, Inc. | Methods to manage services over a service gateway |
US10044582B2 (en) | 2012-01-28 | 2018-08-07 | A10 Networks, Inc. | Generating secure name records |
US8782221B2 (en) | 2012-07-05 | 2014-07-15 | A10 Networks, Inc. | Method to allocate buffer for TCP proxy session based on dynamic network conditions |
CN103634264A (zh) * | 2012-08-20 | 2014-03-12 | 江苏中科慧创信息安全技术有限公司 | 一种基于行为分析的主动诱捕方法 |
CN103685171A (zh) * | 2012-09-10 | 2014-03-26 | 江苏中科慧创信息安全技术有限公司 | 保护账号系统的攻击控制方法 |
US9843484B2 (en) | 2012-09-25 | 2017-12-12 | A10 Networks, Inc. | Graceful scaling in software driven networks |
US10002141B2 (en) | 2012-09-25 | 2018-06-19 | A10 Networks, Inc. | Distributed database in software driven networks |
US9705800B2 (en) | 2012-09-25 | 2017-07-11 | A10 Networks, Inc. | Load distribution in data networks |
US9106561B2 (en) | 2012-12-06 | 2015-08-11 | A10 Networks, Inc. | Configuration of a virtual service network |
US10021174B2 (en) | 2012-09-25 | 2018-07-10 | A10 Networks, Inc. | Distributing service sessions |
US9338225B2 (en) | 2012-12-06 | 2016-05-10 | A10 Networks, Inc. | Forwarding policies on a virtual service network |
US9531846B2 (en) | 2013-01-23 | 2016-12-27 | A10 Networks, Inc. | Reducing buffer usage for TCP proxy session based on delayed acknowledgement |
US9900252B2 (en) | 2013-03-08 | 2018-02-20 | A10 Networks, Inc. | Application delivery controller and global server load balancer |
US9992107B2 (en) | 2013-03-15 | 2018-06-05 | A10 Networks, Inc. | Processing data packets using a policy based network path |
US10038693B2 (en) | 2013-05-03 | 2018-07-31 | A10 Networks, Inc. | Facilitating secure network traffic by an application delivery controller |
US10027761B2 (en) | 2013-05-03 | 2018-07-17 | A10 Networks, Inc. | Facilitating a secure 3 party network session by a network device |
US10230770B2 (en) | 2013-12-02 | 2019-03-12 | A10 Networks, Inc. | Network proxy layer for policy-based application proxies |
US10020979B1 (en) | 2014-03-25 | 2018-07-10 | A10 Networks, Inc. | Allocating resources in multi-core computing environments |
US9942152B2 (en) | 2014-03-25 | 2018-04-10 | A10 Networks, Inc. | Forwarding data packets using a service-based forwarding policy |
US9942162B2 (en) | 2014-03-31 | 2018-04-10 | A10 Networks, Inc. | Active application response delay time |
US9806943B2 (en) | 2014-04-24 | 2017-10-31 | A10 Networks, Inc. | Enabling planned upgrade/downgrade of network devices without impacting network sessions |
US9906422B2 (en) | 2014-05-16 | 2018-02-27 | A10 Networks, Inc. | Distributed system to determine a server's health |
US10129122B2 (en) | 2014-06-03 | 2018-11-13 | A10 Networks, Inc. | User defined objects for network devices |
US9986061B2 (en) | 2014-06-03 | 2018-05-29 | A10 Networks, Inc. | Programming a data network device using user defined scripts |
US9992229B2 (en) | 2014-06-03 | 2018-06-05 | A10 Networks, Inc. | Programming a data network device using user defined scripts with licenses |
EP3059922A1 (en) | 2015-02-20 | 2016-08-24 | Thomson Licensing | Devices and methods for performing tcp handshakes |
US10581976B2 (en) | 2015-08-12 | 2020-03-03 | A10 Networks, Inc. | Transmission control of protocol state exchange for dynamic stateful service insertion |
US10243791B2 (en) | 2015-08-13 | 2019-03-26 | A10 Networks, Inc. | Automated adjustment of subscriber policies |
US10318288B2 (en) | 2016-01-13 | 2019-06-11 | A10 Networks, Inc. | System and method to process a chain of network applications |
US10361997B2 (en) | 2016-12-29 | 2019-07-23 | Riverbed Technology, Inc. | Auto discovery between proxies in an IPv6 network |
US10389835B2 (en) | 2017-01-10 | 2019-08-20 | A10 Networks, Inc. | Application aware systems and methods to process user loadable network applications |
WO2024116666A1 (ja) * | 2022-12-02 | 2024-06-06 | パナソニックIpマネジメント株式会社 | 検知システム、検知方法、および、プログラム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5838894A (en) * | 1992-12-17 | 1998-11-17 | Tandem Computers Incorporated | Logical, fail-functional, dual central processor units formed from three processor units |
US5802106A (en) * | 1996-12-06 | 1998-09-01 | Packeteer, Inc. | Method for rapid data rate detection in a packet communication environment without data rate supervision |
US6457054B1 (en) * | 1997-05-15 | 2002-09-24 | Intel Corporation | System for reducing user-visibility latency in network transactions |
CA2281431A1 (en) * | 1998-10-28 | 2000-04-28 | Lucent Technologies Inc. | Mobile-tcp and method of establishing and maintaining a mobile-tcp connection |
FI107421B (fi) * | 1999-06-28 | 2001-07-31 | Stonesoft Oy | Yhteyksien valintamenetelmä |
US6789119B1 (en) * | 1999-11-24 | 2004-09-07 | Webex Communication, Inc. | Emulating a persistent connection using http |
TW518864B (en) * | 2000-05-12 | 2003-01-21 | Ibm | Methods and system for defeating TCP SYN flooding attacks |
US7562147B1 (en) * | 2000-10-02 | 2009-07-14 | Microsoft Corporation | Bi-directional HTTP-based reliable messaging protocol and system utilizing same |
JP2002290459A (ja) * | 2001-03-27 | 2002-10-04 | Nec Corp | パケット転送装置および方法 |
US7114182B2 (en) * | 2002-05-31 | 2006-09-26 | Alcatel Canada Inc. | Statistical methods for detecting TCP SYN flood attacks |
US7254133B2 (en) * | 2002-07-15 | 2007-08-07 | Intel Corporation | Prevention of denial of service attacks |
US20040202329A1 (en) * | 2003-04-11 | 2004-10-14 | Samsung Electronics Co., Ltd. | Method and system for providing broadcast service using encryption in a mobile communication system |
US7026954B2 (en) * | 2003-06-10 | 2006-04-11 | Bellsouth Intellectual Property Corporation | Automated parking director systems and related methods |
CN101060706B (zh) * | 2003-09-30 | 2010-12-08 | 三菱电机株式会社 | 移动通信系统 |
CN1630248A (zh) * | 2003-12-19 | 2005-06-22 | 北京航空航天大学 | 基于连接请求验证的SYN flooding攻击防御方法 |
-
2004
- 2004-07-29 JP JP2004221859A patent/JP4313266B2/ja not_active Expired - Fee Related
-
2005
- 2005-07-21 DE DE602005001426T patent/DE602005001426T2/de active Active
- 2005-07-21 EP EP05015878A patent/EP1622334B1/en not_active Ceased
- 2005-07-28 CN CNB2005100884287A patent/CN100403716C/zh not_active Expired - Fee Related
- 2005-07-29 US US11/192,608 patent/US7990866B2/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262421B (zh) * | 2007-03-06 | 2011-06-01 | 佳能株式会社 | 中继设备和中继方法 |
CN101505218B (zh) * | 2009-03-18 | 2012-04-18 | 杭州华三通信技术有限公司 | 攻击报文的检测方法和装置 |
CN103685410A (zh) * | 2012-09-18 | 2014-03-26 | 华耀(中国)科技有限公司 | 一种透传时间戳的方法 |
CN103685410B (zh) * | 2012-09-18 | 2016-08-31 | 华耀(中国)科技有限公司 | 一种透传时间戳的方法 |
CN105049489A (zh) * | 2015-06-25 | 2015-11-11 | 上海斐讯数据通信技术有限公司 | 一种在uboot上实现三次握手的方法 |
CN109587163A (zh) * | 2018-12-27 | 2019-04-05 | 网宿科技股份有限公司 | 一种dr模式下的防护方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2006042156A (ja) | 2006-02-09 |
US20060023721A1 (en) | 2006-02-02 |
US7990866B2 (en) | 2011-08-02 |
DE602005001426T2 (de) | 2008-02-28 |
EP1622334B1 (en) | 2007-06-20 |
EP1622334A1 (en) | 2006-02-01 |
CN100403716C (zh) | 2008-07-16 |
DE602005001426D1 (de) | 2007-08-02 |
JP4313266B2 (ja) | 2009-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1728671A (zh) | 服务器设备及其控制方法和使用该服务器建立连接的方法 | |
CN1741530A (zh) | 服务器设备、客户机设备以及处理执行方法 | |
CN1155901C (zh) | 补偿通信协议缺陷的拦截方法和系统 | |
CN1188991C (zh) | 用于可靠的和低时延的分组传输的通信设备和方法 | |
CN1222145C (zh) | 配置链路的方法及设备 | |
JP2000349830A (ja) | 相互接続装置及びアクティブQoSマッピング方法 | |
CN1228909A (zh) | 用于无线消息传送系统的堵塞控制方法 | |
CN101047618A (zh) | 获取网络路径信息的方法和系统 | |
CN1476181A (zh) | 一种分布式的卫星网络tcp性能加速协议格式和方法 | |
CN1909503A (zh) | 一种探测路径最大传输单元的方法 | |
EP2176989B1 (en) | Method of preventing tcp-based denial-of-service attacks on mobile devices | |
CN1909507A (zh) | 一种报文转发方法和系统 | |
JP2010520687A (ja) | 物理伝送媒体が中断した場合のtcpデータ伝送プロセスを改善する方法 | |
CN1889527A (zh) | 一种实现多链路传输的负荷分担的装置和方法 | |
CN1622536A (zh) | 用于控制数据发送的发送器设备 | |
CN110213167A (zh) | 一种传输控制协议在网络拥塞时的处理方法和装置 | |
CN1298132C (zh) | 接收设备、发送设备和程序 | |
CN1909551A (zh) | 基于Web服务的数据交换方法 | |
WO2014036885A1 (zh) | 一种实现地址共享的方法、装置和系统 | |
CN1595935A (zh) | 支持故障切换事件的网络状态对象的多个卸载 | |
CN103905331B (zh) | 一种实时媒体数据传输方法、装置及系统 | |
WO2016197498A1 (zh) | 一种防止网络攻击的方法及设备、存储介质 | |
CN1773993A (zh) | 会话中继设备和会话中继方法 | |
JP3705297B1 (ja) | ネットワーク伝送装置およびネットワーク伝送方法 | |
CN1638343A (zh) | 用于传输卸载引擎的连接管理系统和方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080716 Termination date: 20190728 |