CN105162883B - 网络负载均衡处理系统及其方法和装置 - Google Patents
网络负载均衡处理系统及其方法和装置 Download PDFInfo
- Publication number
- CN105162883B CN105162883B CN201510623156.XA CN201510623156A CN105162883B CN 105162883 B CN105162883 B CN 105162883B CN 201510623156 A CN201510623156 A CN 201510623156A CN 105162883 B CN105162883 B CN 105162883B
- Authority
- CN
- China
- Prior art keywords
- client
- server
- virtual server
- packet
- data packet
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- 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/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- 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
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/164—Implementing security features at a particular protocol layer at the network layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1027—Persistence of sessions during load balancing
-
- 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/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- 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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络负载均衡处理系统及其方法和装置。网络负载均衡处理方法包括:虚拟服务器与客户端建立连接;虚拟服务器向后端服务器发送控制命令,将连接的相关信息发送至后端服务器,以使后端服务器根据控制命令针对连接开启连接服务;以及虚拟服务器向后端服务器转发来自客户端的数据请求包,其中,后端服务器用于基于连接服务对数据请求包进行响应并将响应消息发送至客户端。通过本发明,解决了网络负载均衡处理内存消耗高的问题,进而达到了网络负载均衡处理内存消耗低的效果。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种网络负载均衡处理系统及其方法和装置。
背景技术
虚拟服务器,多指一个虚拟的服务器集群系统,例如,Linux虚拟服务器(LinuxVirtual Server,简称LVS)。该虚拟服务器可提供虚拟网络之间的互联协议(VirtualInternet Protocol,简称为VIP)以供用户访问。访问请求首先经过虚拟服务器的VIP到达负载调度器,之后由负载调度器从后端服务器列表中选取一个服务节点来进行响应。
图1是根据现有技术中的一种网络负载均衡处理方法的流程图,如图1所示,该虚拟服务器的连接可以在直接路由(Direct Routing,简称为DR),或者隧道模式TUNELL,或者网络地址转换(Network Address Translation,简称为NAT)的模式下进行建立。客户端发起一条目标IP为VIP的传输控制协议(Transmission Control Protocol,简称为TCP)的连接请求,在Linux的外部预设命令SEQ为1时,首先,客户端发送TCP的握手信号(Synchronous,简称为SYN)包到达虚拟服务器,其次,虚拟服务器将SYN包转发给后端服务器,后端服务器接收SYN包之后再向客户端发送应答信号(Synchronous Acknowledgement,简称为SYN ACK)包。如图1中的虚线和实线所示,不同模式下SYN ACK包在发向客户端的过程中是否依然经过虚拟服务器略有差别。当客户端接收到SYN ACK包之后发送响应信号包(Acknowledgement,简称为ACK)给虚拟服务器,虚拟服务器将接收到的ACK包再转发给后端服务器。因此,用户的TCP请求连接实际上是与后端服务器建立连接的,而虚拟服务器仅起到转发数据包的作用。
在这种方式下,当服务器遭受到拒绝服务型攻击SYN Flood时,虚拟服务器需要为每个SYN包建立一条连接记录并将SYN包转发给后端的后端服务器。当攻击量很大时,虚拟服务器要建立大量连接记录,消耗内存资源,使内存极易耗光,从而导致系统因负担过大而宕机,造成服务中断的后果。
针对相关技术中网络负载均衡处理内存消耗高的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种网络负载均衡处理系统及其方法和装置,以解决网络负载均衡处理内存消耗高的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种网络负载均衡处理方法,该方法包括:虚拟服务器与客户端建立连接;虚拟服务器向后端服务器发送控制命令,将连接的相关信息发送至后端服务器,以使后端服务器根据控制命令针对连接开启连接服务;以及虚拟服务器向后端服务器转发来自客户端的数据请求包,其中,后端服务器用于基于连接服务对数据请求包进行响应并将响应消息发送至客户端。
为了实现上述目的,根据本发明的另一方面,还提供了一种网络负载均衡处理方法,该方法包括:后端服务器接收来自虚拟服务器的控制命令,其中,虚拟服务器用于在与客户端建立连接之后,向后端服务器发送控制命令,将连接的相关信息发送至后端服务器;后端服务器根据控制命令针对连接开启连接服务;后端服务器接收虚拟服务器转发的来自客户端的数据请求包;以及后端服务器基于连接服务对数据请求包进行响应并将响应消息发送至客户端。
进一步地,控制命令以数据包的方式进行发送,在后端服务器接收数据包之后,网络负载均衡处理方法还包括:后端服务器判断数据包是否是虚拟服务器转发的数据包;如果后端服务器判断出数据包不是虚拟服务器转发的数据包,则后端服务器不对数据包执行处理;以及如果后端服务器判断出数据包是虚拟服务器转发的数据包,则后端服务器对数据包执行解析,从数据包中解析出控制命令。
进一步地,后端服务器通过以下方式判断数据包是否是虚拟服务器转发的数据包:后端服务器判断数据包是否是携带有预设验证标识的数据包;如果后端服务器判断出数据包是携带有预设验证标识的数据包,则后端服务器确定数据包是虚拟服务器转发的数据包;以及如果后端服务器判断出数据包未携带有预设验证标识的数据包,则后端服务器确定数据包不是虚拟服务器转发的数据包。
进一步地,后端服务器根据控制命令针对连接开启连接服务包括:后端服务器从控制命令中解析出客户端的地址信息和客户端的端口信息;以及后端服务器根据客户端的地址信息和客户端的端口信息为客户端开启连接服务。
为了实现上述目的,根据本发明的另一方面,还提供了一种网络负载均衡处理装置,该装置包括:连接单元,用于虚拟服务器与客户端建立连接;发送单元,用于向后端服务器发送控制命令,将连接的相关信息发送至后端服务器,以使后端服务器根据控制命令针对连接开启连接服务;以及转发单元,用于向后端服务器转发来自客户端的数据请求包,其中,后端服务器用于基于连接服务对数据请求包进行响应并将响应消息发送至客户端。
为了实现上述目的,根据本发明的另一方面,还提供了一种网络负载均衡处理装置,包括:第一接收单元,用于接收来自虚拟服务器的控制命令,其中,虚拟服务器用于在与客户端建立连接之后,向后端服务器发送控制命令,将连接的相关信息发送至后端服务器;开启单元,用于根据控制命令针对连接开启连接服务;第二接收单元,用于接收虚拟服务器转发的来自客户端的数据请求包;以及响应单元,用于基于连接服务对数据请求包进行响应并将响应消息发送至客户端。
进一步地,所述网络负载均衡处理装置还包括:判断单元,用于在接收数据包之后,判断所述数据包是否是所述虚拟服务器转发的数据包,其中,所述控制命令以所述数据包的方式进行发送;解析处理单元,用于在所述后端服务器判断出所述数据包不是所述虚拟服务器转发的数据包时,不对所述数据包执行处理,在判断出所述数据包是所述虚拟服务器转发的数据包时,对所述数据包执行解析,从所述数据包中解析出所述控制命令。
进一步地,所述判断单元用于通过判断所述数据包是否是携带有预设验证标识的数据包判断所述数据包是否是所述虚拟服务器转发的数据包,其中,如果所述后端服务器判断出所述数据包是携带有预设验证标识的数据包,则所述后端服务器确定所述数据包是所述虚拟服务器转发的数据包,如果所述后端服务器判断出所述数据包未携带有预设验证标识的数据包,则所述后端服务器确定所述数据包不是所述虚拟服务器转发的数据包。
为了实现上述目的,根据本发明的另一方面,还提供了一种网络负载均衡处理系统,该系统包括:客户端、虚拟服务器和后端服务器,其中:虚拟服务器用于与客户端建立连接,向后端服务器发送控制命令,将连接的相关信息发送至后端服务器,向后端服务器转发来自客户端的数据请求包;后端服务器用于根据控制命令针对连接开启连接服务,并接收虚拟服务器转发的数据请求包,基于连接服务对数据请求包进行响应并将响应消息发送至客户端。
通过本发明,采用虚拟服务器与客户端建立连接;虚拟服务器向后端服务器发送控制命令,将连接的相关信息发送至后端服务器,以使后端服务器根据控制命令针对连接开启连接服务;以及虚拟服务器向后端服务器转发来自客户端的数据请求包,其中,后端服务器用于基于连接服务对数据请求包进行响应,解决了网络负载均衡处理内存消耗高的问题,进而达到了网络负载均衡处理内存消耗低的效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据现有技术中的网络负载均衡处理方法的流程图;
图2是根据本发明实施例的网络负载均衡处理系统的示意图;
图3是根据本发明实施例的网络负载均衡处理系统的结构示意图;
图4是根据本发明第一实施例的网络负载均衡处理方法的流程图;
图5是根据本发明第二实施例的网络负载均衡处理方法的流程图;
图6是根据本发明第三实施例的网络负载均衡处理方法的流程图;
图7是根据本发明第四实施例的网络负载均衡处理方法的流程图;
图8是根据本发明第一实施例的网络负载均衡处理装置的示意图;
图9是根据本发明第二实施例的网络负载均衡处理装置的示意图;
图10是根据本发明第三实施例的网络负载均衡处理装置的示意图;
图11是根据本发明第四实施例的网络负载均衡处理装置的示意图;
图12是根据本发明实施例的攻击流量情况的示意图;以及
图13是根据本发明实施例的内存占用率情况的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供了一种网络负载均衡处理系统,图2是根据本发明实施例的网络负载均衡处理系统的示意图。
如图2所示,该实施例的网络负载均衡处理系统包括客户端10、虚拟服务器20以及后端服务器30。
客户端10用于向虚拟服务器20发送TCP连接请求的握手信号SYN包、响应信号ACK包和数据请求包,以及接收虚拟服务器20发送的应答信号SYN ACK包。客户端10可以是普通的上网客户,也可以是用于专门领域的特殊客户。
虚拟服务器20用于与客户端10建立连接,接收客户端10发送的SYN包,以及向客户端发送SYN ACK包。优选地,虚拟服务器为Linux虚拟服务器LVS。在虚拟服务器20与客户端10建立连接之后,虚拟服务器20向后端服务器30发送控制命令,并将连接的相关信息发送至后端服务器30中,其中,后端服务器30为响应TCP请求连接的真实服务器,连接的相关信息包括客户端10的IP地址、端口等关键信息。虚拟服务器20还用于向后端服务器30转发来自客户端10的数据请求包。
后端服务器30用于根据接收到的虚拟服务器20发送的控制命令,针对客户端10和虚拟服务器20之间建立的连接开启连接服务。在开启连接服务之后,后端服务器30还用于接收虚拟服务器20转发的数据请求包,基于已经开启的连接服务对数据请求包进行响应。
图3是根据本发明实施例的网络负载均衡处理系统的结构示意图,如图3所示,该实施例的网络负载均衡处理系统包括客户端10、虚拟服务器20和后端服务器30,其中,对于虚拟服务器20,以Linux虚拟服务器,也即,LVS服务器为例进行描述。虚拟服务器20包括防攻击模块和负载均衡模块,后端服务器包括30包括后端模块和后端服务器内核。客户端10与LVS服务器为建立TCP握手连接,客户端10首先向LVS服务器发起TCP连接请求,其中,该TCP请求为目标IP是VIP的请求。客户端10将SYN包发送到LVS服务器的防攻击性模块上,LVS服务器的防攻击性模块接收客户端10发送来的SYN包。优选地,LVS服务器的防攻击性模块带有储存在本地用户终端上的数据SYN Cookies,该防攻击性模块主要负责对客户端10发送的SYN包进行应答,并且回复SYN ACK包给客户端10,而并非将SYN ACK包直接发送给后端服务器30。在客户端10响应SYN ACK之后,LVS服务器的防攻击性模块接收客户端10回复的ACK包。
该实施例的虚拟服务器的连接采用DR模式,LVS服务器的防攻击性模块参考LinuxTCP协议栈中的SYN Cookies思想,具体而言,在DR模式下,LVS服务器构造特殊预设外部命令SEQ的SYN ACK包发送给客户端10,并且验证客户端10发送的ACK包中的验证标志ACK_SEQ是否合法,如果LVS服务器的防攻击性模块接收到的ACK包中的验证标志ACK_SEQ合法,则LVS服务器为SYN包分配内存,如果不合法,则LVS服务器不分配内存。这种带有SYN Cookies功能的防攻击性模块避免在攻击量很大的情况下,LVS服务器为不同源地址(包括合法的源地址和不合法的源地址)的SYN包分配特定内存,占用有效内存,进而耗光内存,增加了机器负担。
可选地,当TCP握手连接中的接收与发送出现故障时,这样的TCP握手连接可以进行多次,比如,客户端10三次响应接收到的SYN ACK包,在第三次回复ACK包给LVS服务器的防攻击模块后,LVS服务器的防攻击模块将接收到的ACK包发送给LVS服务器的负载均衡模块,从而建立连接。因为LVS服务器没有将SYN包直接转发给后端服务器30,所以后端服务器30还没有与客户端10建立连接。
为了客户端10与后端服务器30建立连接,优选地,LVS服务器中的防攻击模块向后端服务器30发送控制命令CTRL包。后端服务器30增加后端模块后,其业务逻辑无任何改变,主要负责与LVS服务器中的防攻击模块进行通信,接收和解析防攻击模块转发过来的控制命令CTRL包。LVS服务器的防攻击性模块发送控制命令CTRL包给后端服务器30的后端模块,通知后端服务器30之前已经建立连接的相关信息。已经建立连接的相关信息是指客户端10与LVS服务器建立连接的相关信息,包括客户端10的IP地址,端口等关键信息,同时后端模块开启连接等待请求。后端服务器接收到CTRL包之后对其进一步进行解析,将解析到的客户端10的IP地址,端口等关键信息传递给后端服务器内核,后端服务器内核根据这些信息与客户端10正式建立连接。
在本发明实施例的网络负载均衡处理系统中,采用客户端10向LVS服务器的防攻击性模块发送SYN包,LVS服务器的防攻击性模块在接收到SYN包后对其进行应答,发送SYNACK包给客户端10,客户端10接收到SYN ACK包后对其进行响应,发送ACK包给LVS服务器的防攻击性模块,LVS服务器的防攻击性模块向后端服务器30发送控制命令CTRL包,通知后端服务器30中的后端模块针对客户端10开启连接服务,后端服务器30中的后端模块对接收到的CTRL包进行解析,进一步将解析的信息传递给后端服务器内核,从而建立客户端10与后端服务器30的连接,解决了网络负载均衡处理内存消耗高的问题,进而达到了网络负载均衡处理内存消耗低的效果。
本发明实施例还提供了一种网络负载均衡处理方法。本发明实施例的网络负载均衡处理方法可以通过本发明实施例的网络负载均衡处理系统来实现。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图4是根据本发明第一实施例的网络负载均衡处理方法的流程图,如图4所示,该网络负载均衡处理方法包括如下步骤:
步骤S102,虚拟服务器与客户端建立连接。
该实施例的虚拟服务器为LVS服务器。客户端向LVS服务器发起TCP连接请求,以进行TCP握手连接。优选地,虚拟服务器通过以下步骤与客户端建立连接:
步骤S1:虚拟服务器接收客户端发送的握手信号。
虚拟服务器接收客户端发送的握手信号,进一步地,虚拟服务器中的防攻击性模块接收客户端发送的握手信号SYN包,对其连接请求进行响应。其中,客户端可以是普通的上网用户,也可以是用于专门领域的特殊客户。
步骤S2:虚拟服务器根据握手信号直接生成握手信号的应答信号。
虚拟服务器接收客户端发送的握手信号SYN包后,对其进行分析,做出是否同意其TCP连接请求的决定。如果虚拟服务器同意客户端发送的TCP连接请求,则生成应答信号SYNACK包,准备发送给客户端,以告知客户端可以进行TCP连接。如果不同意客户端的TCP连接请求,则不予理会。
步骤S3:虚拟服务器向客户端发送应答信号。
虚拟服务器接收客户端发送的握手信号SYN包后对其进行分析的结果是同意其TCP连接请求,则虚拟服务器向客户端发送应答信号,进一步地,虚拟服务器中的防攻击性模块根据握手信号SYN包直接生成应答信号SYN ACK包,发送给客户端,等待其响应。
步骤S4:虚拟服务器接收来自客户端的响应信号,与客户端建立连接。
客户端在接收到虚拟服务器中的防攻击性模块发送的应答信号SYN ACK后,明确可以进行TCP连接,则向虚拟服务器发送响应信号ACK包,虚拟服务器接收来自客户端的响应信号ACK包后,明确客户端可以进行TCP连接。
优选地,该虚拟服务器的防攻击性模块带有SYN Cookies功能,主要负责对客户端发送的SYN包进行应答,回复SYN ACK包给客户端,而并非将SYN ACK包直接发送给后端服务器,并且接收客户端响应SYN ACK包后回复的ACK包。这种带有SYN Cookies功能的防攻击性模块避免在攻击量很大的情况下,虚拟服务器为不同源地址(包括合法的源地址和不合法的源地址)的SYN包分配特定内存,占用有效内存,进而耗光内存,增加了机器负担。因为虚拟服务器没有将SYN包直接转发给后端服务器,所以后端服务器还没有与客户端建立连接。
步骤S104,虚拟服务器向后端服务器发送控制命令。
虚拟服务器中的防攻击性模块接收到客户端发送的响应信号ACK包后,防攻击性模块将ACK包发送给虚拟服务器的负载均衡模块去建立TCP连接。为了客户端与后端服务器建立连接,优选地,虚拟服务器具备发送控制命令给后端服务器的功能,虚拟服务器的防攻击性模块向后端服务器发送控制命令将已经建立连接的相关信息发送至后端服务器,通过与后端服务器的后端模块进行通信,以使后端服务器根据控制命令针对连接开启连接服务。其中,发送的控制命令包括客户端的IP地址,端口等关键信息。
进一步地,虚拟服务器发送控制命令CTRL包给后端服务器的后端模块,其中,在后端服务器的业务逻辑无任何改变的情况下,后端服务器的后端模块接收和解析虚拟服务器发送的控制命令CTRL包,将解析到的客户端的IP地址,端口等关键信息传递给后端服务器内核,后端服务器内核根据这些信息与客户端正式建立连接。
优选地,在虚拟服务器与客户端建立连接之后,为了使已经建立的连接随时有效,方便调用,虚拟服务器为连接分配内存,内存用于存储已经建立连接的连接记录,保证连接记录的安全性。进一步地,虚拟服务器可以在本次连接建立之后,从内存中调取连接记录,并将连接记录发送至后端服务器。
步骤S106,虚拟服务器向后端服务器转发来自客户端的数据请求包。
在客户端发送TCP连接请求,客户端与后端服务器的连接建立之后,客户端向虚拟服务器发送数据请求包,虚拟服务器进而向后端服务器转发来自客户端的数据请求包,其中,后端服务器用于基于连接服务对数据请求包进行响应并将响应消息发送至客户端。
该实施例的网络负载均衡处理方法,采用虚拟服务器与客户端建立连接;虚拟服务器向后端服务器发送控制命令,将连接的相关信息发送至后端服务器,以使后端服务器根据控制命令针对连接开启连接服务;以及虚拟服务器向后端服务器转发来自客户端的数据请求包,其中,后端服务器用于基于连接服务对数据请求包进行响应,解决了网络负载均衡处理内存消耗高的问题,进而达到了网络负载均衡处理内存消耗低的效果。
图5是根据本发明第二实施例的网络负载均衡处理方法的流程图,如图5所示,该网络负载均衡处理方法包括如下步骤:
步骤S202,后端服务器接收来自虚拟服务器的控制命令。
后端服务器包括后端模块,其业务逻辑没有任何改变。该后端模块主要负责与虚拟服务器中的防攻击模块进行通信,接收和解析防攻击模块转发过来的控制命令。其中,虚拟服务器用于在与客户端建立连接之后,向后端服务器发送控制命令,将连接的相关信息发送至后端服务器。
进一步地,控制命令为CTRL包。后端模块接收虚拟服务器的防攻击性模块发送的控制命令CTRL包,获取之前已经建立连接的相关信息。已经建立连接的相关信息是指客户端与虚拟服务器建立连接的相关信息,包括客户端的IP地址,端口等关键信息,同时后端模块开启连接等待请求。
步骤S204,后端服务器根据控制命令针对连接开启连接服务。
优选地,后端服务器根据控制命令针对连接开启连接服务包括:后端服务器从控制命令中解析出客户端的地址信息和客户端的端口信息;以及后端服务器根据客户端的地址信息和客户端的端口信息为客户端开启连接服务。具体而言,后端服务器接收到CTRL包后对其进行解析,将解析到的客户端的IP地址,端口等关键信息传递给后端服务器内核,后端服务器内核根据这些信息与客户端开启连接服务,正式建立半连接。
步骤S206,后端服务器接收虚拟服务器转发的来自客户端的数据请求包。
在后端服务器根据控制命令针对连接开启连接服务之后,后端服务器接收虚拟服务器转发的来自客户端的数据请求包。
步骤S208,后端服务器基于连接服务对数据请求包进行响应并将响应消息发送至客户端。
后端服务器接收虚拟服务器转发的来自客户端的数据请求包之后,由于后端服务器已经开启了连接服务,可以对数据请求包直接进行响应。
该实施例的网络负载均衡处理方法,采用后端服务器接收来自虚拟服务器的控制命令,其中,虚拟服务器用于在与客户端建立连接之后,向后端服务器发送控制命令,将连接的相关信息发送至后端服务器;后端服务器根据控制命令针对连接开启连接服务;后端服务器接收虚拟服务器转发的来自客户端的数据请求包;以及后端服务器基于连接服务对数据请求包进行响应,解决了网络负载均衡处理内存消耗高的问题,进而达到了网络负载均衡处理内存消耗低的效果。
图6是根据本发明第三实施例的网络负载均衡处理方法的流程图,如图6所示,该网络负载均衡处理方法包括如下步骤:
步骤S302,接收数据包。
控制命令以数据包的方式进行发送,优选地,在后端服务器接收数据包之后,首先,需要判断接收到的数据包是否是虚拟服务器发送的数据包,具体地,数据包为虚拟服务器的防攻击性模块向后端服务器的后端模块发送的控制命令CTRL包。
步骤S304,判断数据包是否带有验证标识。
为了判断接收到的数据包是否是虚拟服务器发送的数据包,后端服务器通过以下方式进行判断:判断接收到的数据包是否携带预设验证标识;如果判断出数据包是携带有预设验证标识的数据包,则数据包通过验证,后端服务器确定数据包是虚拟服务器转发的数据包,执行步骤S306,后端服务器对数据包执行解析,从数据包中解析出控制命令;如果后端服务器判断出数据包未携带有预设验证标识的数据包,则数据包没有通过验证,后端服务器确定数据包不是虚拟服务器转发的数据包,后端服务器不对数据包执行处理。
步骤S306,解析数据包。
在后端服务器判断出数据包是虚拟服务器转发的数据包后,后端服务器对数据包执行解析,从数据包中解析出控制命令,控制命令包含的信息包括客户端的IP地址,端口等关键信息。
步骤S308,回复应答信号给虚拟服务器并建立半连接。
在后端服务器对数据包执行解析之后,后端服务器回复应答信号给虚拟服务器并建立半连接。
步骤S310,退出后端模块,后端服务器内核继续处理。
当半连接建立之后,退出后端模块。当虚拟服务器转发数据请求包时,内核根据记录的控制命令信息,对数据请求包进行响应。
该实施例的网络负载均衡处理方法,采用接收数据包,判断数据包是否带有验证标识,如果后端服务器判断出数据包是携带有预设验证标识的数据包,则数据包通过验证,后端服务器确定数据包是虚拟服务器转发的数据包,后端服务器对数据包执行解析,从而实现了虚拟服务器到后端服务器连接的建立,解决了网络负载均衡处理内存消耗高的问题,进而达到了网络负载均衡处理内存消耗低的效果。
图7是根据本发明第四实施例的网络负载均衡处理方法的流程图,如图7所示,该网络负载均衡处理方法包括如下步骤:
步骤S401,客户端向虚拟服务器发送握手信号。
可选地,在Linux的外部预设命令SEQ为1时,客户端向虚拟服务器发送握手信号,进一步地,虚拟服务器中的防攻击性模块接收客户端发送的握手信号SYN包,对其连接请求进行响应。其中,客户端可以是普通的上网用户,也可以是用于专门领域的特殊客户。
步骤S402,虚拟服务器向客户端发送应答信号。
虚拟服务器接收客户端发送的握手信号SYN包后,对其进行分析,做出是否同意其TCP连接请求的决定。如果同意其TCP连接请求,则生成应答信号SYN ACK包,准备发送给客户端,以告知客户端可以进行TCP连接。如果不同意客户端的TCP连接请求,则不予理会。
虚拟服务器接收客户端发送的握手信号SYN包后对其进行分析的结果如果是同意其TCP连接请求,则虚拟服务器向客户端发送应答信号,进一步地,虚拟服务器中的防攻击性模块根据握手信号SYN包直接生成应答信号SYN ACK包,发送给客户端,等待其响应。
步骤S403,客户端向虚拟服务器发送响应信号。
客户端在接收到虚拟服务器中的防攻击性模块发送的应答信号SYN ACK后,明确可以进行TCP连接,则向虚拟服务器发送响应信号ACK包,虚拟服务器接收来自客户端的响应信号ACK包后,明确客户端可以进行TCP连接。
优选地,该虚拟服务器的防攻击性模块带有SYN Cookies功能,主要负责对客户端发送的SYN包进行应答,回复SYN ACK包给客户端,而并非将SYN ACK包发送给后端服务器,并且接收客户端响应SYN ACK包后回复的ACK包。这种带有SYN Cookies功能的防攻击性模块避免在攻击量很大的情况下,虚拟服务器因为不同源地址(包括合法的源地址和不合法的源地址)的SYN包分配特定内存,占用有效内存,进而耗光内存,增加了机器负担。
步骤S404,虚拟服务器向后端服务器发送控制命令。
虚拟服务器中的防攻击性模块接收到客户端发送的响应信号ACK包后,防攻击性模块将ACK包发送给虚拟服务器的负载均衡模块去建立TCP连接。进一步地,虚拟服务器发送控制命令CTRL包给后端服务器的后端模块,其中,在后端服务器的业务逻辑无任何改变的情况下,后端服务器的后端模块接收和解析虚拟服务器发送控制命令CTRL包,将解析到的客户端的IP地址,端口等关键信息传递给后端服务器内核,后端服务器内核根据这些信息与客户端正式建立连接。
步骤S405,客户端向虚拟服务器发送数据请求包。
步骤S406,虚拟服务器转发客户端向虚拟服务器发送数据请求包给后端服务器。
步骤S407,后端服务器对数据请求包进行响应。
由于后端服务器与客户端已经建立连接,所以后端服务器可对数据请求包直接进行响应,而不需经过虚拟服务器。
该实施例的网络负载均衡处理方法,采用客户端发送握手信号给虚拟服务器,虚拟服务器根据接收到的握手信号向客户端发送应答信号,客户端接收到应答信号后向虚拟服务器发送响应信号,虚拟服务器接收到响应信号后发送控制命令给后端服务器,客户端与后端服务器建立连接之后,客户端向虚拟服务器发送数据请求包,虚拟服务器转发客户端向虚拟服务器发送数据请求包给后端服务器,后端服务器对数据请求包进行直接响应,解决了网络负载均衡处理内存消耗高的问题,进而达到了网络负载均衡处理内存消耗低的效果。
本发明实施例还提供了一种网络负载均衡处理装置,需要说明的是,本发明实施例的网络负载均衡处理装置可以用于执行本发明实施例的网络负载均衡处理方法。
图8是根据本发明第一实施例的网络负载均衡处理装置的示意图。如图8所示,该网络负载均衡处理装置包括连接单元10,发送单元20,转发单元30。
连接单元10,用于虚拟服务器与客户端建立连接。优选地,该实施例的虚拟服务器为LVS服务器。客户端向LVS服务器发起TCP连接请求,进行TCP握手连接。
发送单元20,用于虚拟服务器向后端服务器发送控制命令,将连接的相关信息发送至后端服务器,以使后端服务器根据控制命令针对连接开启连接服务。虚拟服务器中的防攻击性模块接收到客户端发送的响应信号ACK包后,防攻击性模块将ACK包发送给虚拟服务器的负载均衡模块去建立TCP连接。优选地,虚拟服务器具备发送控制命令给后端服务器的功能,虚拟服务器向后端服务器发送控制命令将已经连接的相关信息发送至后端服务器,通过与后端服务器的后端模块进行通信,以使后端服务器根据控制命令针对连接开启连接服务。其中,发送的控制命令包括客户端的IP地址,端口等关键信息。
进一步地,虚拟服务器发送控制命令CTRL包给后端服务器的后端模块,其中,后端服务器的业务逻辑无任何改变,后端服务器的后端模块接收和解析虚拟服务器发送的控制命令CTRL包,对其进行解析,将解析到的客户端的IP地址,端口等关键信息传递给后端服务器内核,后端服务器内核根据这些信息与客户端正式建立连接。
转发单元30,用于虚拟服务器向后端服务器转发来自客户端的数据请求包,其中,后端服务器用于基于连接服务对数据请求包进行响应并将响应消息发送至客户端。在客户端发送TCP连接请求,后端服务器与客户端的连接建立之后,客户端向虚拟服务器发送数据请求包,虚拟服务器进而向后端服务器转发来自客户端的数据请求包。
图9是本发明第二实施例的网络负载均衡处理装置的示意图。如图所示,该网络负载均衡处理装置包括连接单元10,发送单元20,转发单元30,其中,连接单元10包括第一接收模块11,生成模块12,发送模块13,第二接收模块14。
第一接收模块11,用于虚拟服务器接收客户端发送的握手信号。进一步地,虚拟服务器中的防攻击性模块接收客户端发送的握手信号SYN包,对其连接请求进行响应。
生成模块12,用于虚拟服务器根据握手信号直接构造握手信号的应答信号。虚拟服务器接收客户端发送的握手信号SYN包后,对其进行分析,做出是否同意其TCP连接请求的决定。如果同意其TCP连接请求,则生成应答信号SYN ACK包,准备发送给客户端,以告知客户端可以进行TCP连接。如果不同意客户端的TCP连接请求,则不予理会。
发送模块13,用于虚拟服务器向客户端发送应答信号。虚拟服务器接收客户端发送的握手信号SYN包后对其进行分析的结果如果是同意其TCP连接请求,则虚拟服务器向客户端发送应答信号,进一步地,虚拟服务器中的防攻击性模块根据握手信号SYN包直接生成应答信号SYN ACK包,发送给客户端,等待其响应。
第二接收模块14,用于虚拟服务器接收来自客户端的响应信号,与客户端建立连接。客户端在接收到虚拟服务器中的防攻击性模块发送的应答信号SYN ACK后,明确可以进行TCP连接了,则向虚拟服务器发送响应信号ACK包,虚拟服务器接收来自客户端的响应信号ACK包后,确定客户端可以进行TCP连接。
图10是根据本发明第三实施例的网络负载均衡处理装置的示意图。如图10所示,该装置包括:连接单元10,发送单元20,转发单元30,其中发送单元20包括分配单元21,调取单元22。
分配单元21,用于在虚拟服务器与客户端建立连接之后,为连接分配内存,内存用于存储连接的连接记录。
调取单元22,用于从内存中调取连接记录,并将连接记录发送至后端服务器。
在客户端与虚拟服务器建立连接之后,为了使已经建立的连接随时有效,方便调用,虚拟服务器为连接分配内存,内存用于存储连接的连接记录,保证连接记录的安全性。进一步地,虚拟服务器可以在本次连接之后,从内存中调取连接记录,并将连接记录发送至后端服务器。
图11是根据本发明第四实施例的网络负载均衡处理装置的示意图,如图11所示,该装置包括:第一接收单元40,开启单元50,第二接收单元60,响应单元70。
第一接收单40,用于后端服务器接收来自虚拟服务器的控制命令,其中,虚拟服务器用于在与客户端建立连接之后,向后端服务器发送控制命令,将连接的相关信息发送至后端服务器。后端服务器包括后端模块,后端服务器的业务逻辑无任何改变。该后端模块主要负责与虚拟服务器中的防攻击模块进行通信,接收和解析防攻击模块转发过来的控制命令。
进一步地,控制命令为CTRL包。虚拟服务器的防攻击性模块发送控制命令CTRL包给后端服务器的后端模块,通知后端服务器之前已经建立连接的相关信息,已经建立连接的相关信息是指客户端与虚拟服务器建立连接的相关信息,包括客户端的IP地址,端口等关键信息,同时后端模块开启连接等待请求。
开启单元50,用于后端服务器根据控制命令针对连接开启连接服务。优选地,后端服务器根据控制命令针对连接开启连接服务包括:后端服务器从控制命令中解析出客户端的地址信息和客户端的端口信息;以及后端服务器根据客户端的地址信息和客户端的端口信息为客户端开启半连接服务。具体而言,后端服务器接收到CTRL包后对其进行解析,将解析到的客户端的IP地址,端口等关键信息传递给后端服务器内核,后端服务器内核根据这些信息与客户端开启连接服务,正式建立半连接。
第二接收单元60,用于后端服务器接收虚拟服务器转发的来自客户端的数据请求包。在后端服务器根据控制命令针对连接开启连接服务之后,后端服务器接收虚拟服务器转发的来自客户端的数据请求包。
响应单元70,用于后端服务器基于连接服务对数据请求包进行响应。后端服务器接收虚拟服务器转发的来自客户端的数据请求包后,由于后端服务器已经开启了连接服务,可以直接对数据请求包进行响应。
该实施例的网络负载均衡处理装置可采用网络负载均衡处理方法,针对虚拟服务器而言,通过连接单元10,与客户端建立连接;通过发送单元20,向后端服务器发送控制命令,将连接的相关信息发送至后端服务器,以使后端服务器根据控制命令针对连接开启连接服务;以及通过转发单元30,向后端服务器转发来自客户端的数据请求包,其中,后端服务器用于基于连接服务对数据请求包进行响应,以及针对后端服务器而言,通过第一接收单元40,接收来自虚拟服务器的控制命令,其中,虚拟服务器用于在与客户端建立连接之后,向后端服务器发送控制命令,将连接的相关信息发送至后端服务器;通过开启单元50,根据控制命令针对连接开启连接服务;通过第二接收单元60,接收虚拟服务器转发的来自客户端的数据请求包;以及通过响应单元70,基于连接服务对数据请求包进行响应,解决了网络负载均衡处理内存消耗高的问题,进而达到了网络负载均衡处理内存消耗低的效果。
图12是根据本发明实施例的攻击流量情况的示意图,通过本发明建立客户端与后端服务器的连接后,传输数据请求包,如图12所示,接收数据每秒请求数(RX)可以为9829633pps/s,10264612pps/s,10411770pps/s,10335642pps/s,10327597pps/s,10127690pps/s,10182987pps/s等,虚拟服务器可以抵抗住高达104000000pps/s的攻击。在上述强度的攻击下,后端服务器仍然能够正常服务,机器的万兆网卡已经跑到峰值,此时网卡出现少量丢包流量,到达网卡极限,如图所示:接收数据丢包流量(RX_drop)可以为5.401%,2.810%,5.659%,3.185%,1.308%,3.940%,2.582%等,接收数据损失程度较低。
图13是根据本发明实施例的内存占用率情况的示意图,在图12所示实施例的攻击流量情况下,如图所示,虚拟服务器的内存占用率(%soft)可以为15.38%,79.17%,78.26%,80.22%,67.74%,46.15%,33.33%,71.58%,65.08%,43.48%,36.67%,33.33%,32.26%等,内存消耗低,由此可见,本发明解决了网络负载均衡处理内存消耗高的问题,进而达到了网络负载均衡处理内存消耗低的效果。
本发明的主要目的是为了提升服务器虚拟服务器防攻击性能,同时保证虚拟服务器进行高效低耗的负载均衡调度。针对现有技术存在的弊端,本发明采用DR模式进行调度,保证了虚拟服务器负载均衡高效、低耗地运行;在DR模式的基础上添加了SYN Cookies功能,由虚拟服务器代理TCP的三次握手过程,增强了服务器的防御SYN Flood攻击的能力;改进虚拟服务器与后端服务器的连接的建立方式后,虚拟服务器与后端服务器不再需要通过完整的TCP三次握手,而是简单地通过一条控制命令就可以可建立连接,大幅度降低了高并发业务下虚拟服务器与后端服务器建立连接所造成的额外消耗;后端服务器直接响应数据给客户端,不需要经过虚拟服务器,大大增强集群系统的服务能力,同时,系统可扩展性强,可以带动较多的后端服务器,解决了网络负载均衡处理内存消耗高的问题,进而达到了网络负载均衡处理内存消耗低的效果。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种网络负载均衡处理方法,其特征在于,包括:
虚拟服务器与客户端建立连接;
所述虚拟服务器向后端服务器发送控制命令,将所述连接的相关信息发送至所述后端服务器,以使所述后端服务器根据所述控制命令针对所述连接开启连接服务;以及
所述虚拟服务器向所述后端服务器转发来自所述客户端的数据请求包,其中,所述后端服务器用于基于所述连接服务对所述数据请求包进行响应并将响应消息发送至所述客户端;
其中,所述客户端用于向所述虚拟服务器发送握手信号包、响应信号包和所述数据请求包,以及接收所述虚拟服务器发送的应答信号包;
所述控制命令包含的信息中包括所述客户端的地址信息和所述客户端的端口信息;
所述虚拟服务器包括防攻击模块和负载均衡模块,所述虚拟服务器构造特殊预设外部命令的所述应答数据包发送给所述客户端,并且验证所述客户端发送的所述响应数据包中的验证标志是否合法,如果所述虚拟服务器的所述防攻击性模块接收到的所述响应数据包中的所述验证标志合法,则所述虚拟服务器为所述握手信号数据包分配内存,如果不合法,则所述虚拟服务器不分配内存。
2.一种网络负载均衡处理方法,其特征在于,包括:
后端服务器接收来自虚拟服务器的控制命令,其中,所述虚拟服务器用于在与客户端建立连接之后,向所述后端服务器发送控制命令,将所述连接的相关信息发送至所述后端服务器;
所述后端服务器根据所述控制命令针对所述连接开启连接服务;
所述后端服务器接收所述虚拟服务器转发的来自所述客户端的数据请求包;以及
所述后端服务器基于所述连接服务对所述数据请求包进行响应并将响应消息发送至所述客户端;
其中,所述客户端用于向所述虚拟服务器发送握手信号包、响应信号包和所述数据请求包,以及接收所述虚拟服务器发送的应答信号包;
所述控制命令包含的信息中包括所述客户端的地址信息和所述客户端的端口信息;
所述虚拟服务器包括防攻击模块和负载均衡模块,所述虚拟服务器构造特殊预设外部命令的所述应答数据包发送给所述客户端,并且验证所述客户端发送的所述响应数据包中的验证标志是否合法,如果所述虚拟服务器的所述防攻击性模块接收到的所述响应数据包中的所述验证标志合法,则所述虚拟服务器为所述握手信号数据包分配内存,如果不合法,则所述虚拟服务器不分配内存。
3.根据权利要求2所述的网络负载均衡处理方法,其特征在于,所述控制命令以数据包的方式进行发送,在所述后端服务器接收所述数据包之后,所述网络负载均衡处理方法还包括:
所述后端服务器判断所述数据包是否是所述虚拟服务器转发的数据包;
如果所述后端服务器判断出所述数据包不是所述虚拟服务器转发的数据包,则所述后端服务器不对所述数据包执行处理;以及
如果所述后端服务器判断出所述数据包是所述虚拟服务器转发的数据包,则所述后端服务器对所述数据包执行解析,从所述数据包中解析出所述控制命令。
4.根据权利要求3所述的网络负载均衡处理方法,其特征在于,所述后端服务器通过以下方式判断所述数据包是否是所述虚拟服务器转发的数据包:
所述后端服务器判断所述数据包是否是携带有预设验证标识的数据包;
如果所述后端服务器判断出所述数据包是携带有预设验证标识的数据包,则所述后端服务器确定所述数据包是所述虚拟服务器转发的数据包;以及
如果所述后端服务器判断出所述数据包未携带有预设验证标识的数据包,则所述后端服务器确定所述数据包不是所述虚拟服务器转发的数据包。
5.根据权利要求2所述的网络负载均衡处理方法,其特征在于,所述后端服务器根据所述控制命令针对所述连接开启连接服务包括:
所述后端服务器从所述控制命令中解析出所述客户端的地址信息和所述客户端的端口信息;以及
所述后端服务器根据所述客户端的地址信息和所述客户端的端口信息为所述客户端开启连接服务。
6.一种网络负载均衡处理装置,其特征在于,包括:
连接单元,用于使虚拟服务器与客户端建立连接;
发送单元,用于向后端服务器发送控制命令,将所述连接的相关信息发送至所述后端服务器,以使所述后端服务器根据所述控制命令针对所述连接开启连接服务;以及
转发单元,用于向所述后端服务器转发来自所述客户端的数据请求包,其中,所述后端服务器用于基于所述连接服务对所述数据请求包进行响应并将响应消息发送至所述客户端;
其中,所述客户端用于向所述虚拟服务器发送握手信号包、响应信号包和所述数据请求包,以及接收所述虚拟服务器发送的应答信号包;
所述控制命令包含的信息中包括所述客户端的地址信息和所述客户端的端口信息;
所述虚拟服务器包括防攻击模块和负载均衡模块,所述虚拟服务器构造特殊预设外部命令的所述应答数据包发送给所述客户端,并且验证所述客户端发送的所述响应数据包中的验证标志是否合法,如果所述虚拟服务器的所述防攻击性模块接收到的所述响应数据包中的所述验证标志合法,则所述虚拟服务器为所述握手信号数据包分配内存,如果不合法,则所述虚拟服务器不分配内存。
7.一种网络负载均衡处理装置,其特征在于,包括:
第一接收单元,用于接收来自虚拟服务器的控制命令,其中,所述虚拟服务器用于在与客户端建立连接之后,向后端服务器发送控制命令,将所述连接的相关信息发送至所述后端服务器;
开启单元,用于根据所述控制命令针对所述连接开启连接服务;
第二接收单元,用于接收所述虚拟服务器转发的来自所述客户端的数据请求包;以及
响应单元,用于基于所述连接服务对所述数据请求包进行响应并将响应消息发送至所述客户端;
其中,所述客户端用于向所述虚拟服务器发送握手信号包、响应信号包和所述数据请求包,以及接收所述虚拟服务器发送的应答信号包;
所述控制命令包含的信息中包括所述客户端的地址信息和所述客户端的端口信息;
所述虚拟服务器包括防攻击模块和负载均衡模块,所述虚拟服务器构造特殊预设外部命令的所述应答数据包发送给所述客户端,并且验证所述客户端发送的所述响应数据包中的验证标志是否合法,如果所述虚拟服务器的所述防攻击性模块接收到的所述响应数据包中的所述验证标志合法,则所述虚拟服务器为所述握手信号数据包分配内存,如果不合法,则所述虚拟服务器不分配内存。
8.根据权利要求7所述的网络负载均衡处理装置,其特征在于,所述网络负载均衡处理装置还包括:
判断单元,用于在接收数据包之后,判断所述数据包是否是所述虚拟服务器转发的数据包,其中,所述控制命令以所述数据包的方式进行发送;以及
解析处理单元,用于在所述后端服务器判断出所述数据包不是所述虚拟服务器转发的数据包时,不对所述数据包执行处理,在判断出所述数据包是所述虚拟服务器转发的数据包时,对所述数据包执行解析,从所述数据包中解析出所述控制命令。
9.根据权利要求8所述的网络负载均衡处理装置,其特征在于,所述判断单元用于通过判断所述数据包是否是携带有预设验证标识的数据包判断所述数据包是否是所述虚拟服务器转发的数据包,其中,如果所述后端服务器判断出所述数据包是携带有预设验证标识的数据包,则所述后端服务器确定所述数据包是所述虚拟服务器转发的数据包,如果所述后端服务器判断出所述数据包未携带有预设验证标识的数据包,则所述后端服务器确定所述数据包不是所述虚拟服务器转发的数据包。
10.一种网络负载均衡处理系统,其特征在于,包括客户端、虚拟服务器和后端服务器,其中:
所述虚拟服务器用于与所述客户端建立连接,向所述后端服务器发送控制命令,将所述连接的相关信息发送至所述后端服务器,向所述后端服务器转发来自所述客户端的数据请求包;
所述后端服务器用于根据所述控制命令针对所述连接开启连接服务,并接收所述虚拟服务器转发的数据请求包,基于所述连接服务对所述数据请求包进行响应并将响应消息发送至所述客户端;
其中,所述客户端用于向所述虚拟服务器发送握手信号包、响应信号包和所述数据请求包,以及接收所述虚拟服务器发送的应答信号包;
所述控制命令包含的信息中包括所述客户端的地址信息和所述客户端的端口信息;
所述虚拟服务器包括防攻击模块和负载均衡模块,所述虚拟服务器构造特殊预设外部命令的所述应答数据包发送给所述客户端,并且验证所述客户端发送的所述响应数据包中的验证标志是否合法,如果所述虚拟服务器的所述防攻击性模块接收到的所述响应数据包中的所述验证标志合法,则所述虚拟服务器为所述握手信号数据包分配内存,如果不合法,则所述虚拟服务器不分配内存。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510623156.XA CN105162883B (zh) | 2015-09-25 | 2015-09-25 | 网络负载均衡处理系统及其方法和装置 |
PCT/CN2016/097988 WO2017050117A1 (zh) | 2015-09-25 | 2016-09-04 | 网络负载均衡处理系统及其方法和装置 |
US15/556,363 US10313247B2 (en) | 2015-09-25 | 2016-09-04 | System, method, and device for network load balance processing |
EP16847999.6A EP3352431B1 (en) | 2015-09-25 | 2016-09-04 | Network load balance processing system, method, and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510623156.XA CN105162883B (zh) | 2015-09-25 | 2015-09-25 | 网络负载均衡处理系统及其方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105162883A CN105162883A (zh) | 2015-12-16 |
CN105162883B true CN105162883B (zh) | 2019-06-07 |
Family
ID=54803635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510623156.XA Active CN105162883B (zh) | 2015-09-25 | 2015-09-25 | 网络负载均衡处理系统及其方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10313247B2 (zh) |
EP (1) | EP3352431B1 (zh) |
CN (1) | CN105162883B (zh) |
WO (1) | WO2017050117A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105162883B (zh) * | 2015-09-25 | 2019-06-07 | 网宿科技股份有限公司 | 网络负载均衡处理系统及其方法和装置 |
CN106412114A (zh) * | 2016-11-16 | 2017-02-15 | 广州市品高软件股份有限公司 | 一种基于sdn的负载均衡方法及系统 |
CN110968419A (zh) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | 数据接收方法及装置 |
CN109088892B (zh) * | 2018-10-19 | 2021-02-12 | 网宿科技股份有限公司 | 数据传输方法、系统以及代理服务器 |
US11381505B2 (en) * | 2018-12-14 | 2022-07-05 | Hewlett Packard Enterprise Development Lp | Acknowledgment storm detection |
CN109587163B (zh) * | 2018-12-27 | 2022-08-16 | 网宿科技股份有限公司 | 一种dr模式下的防护方法和装置 |
CN110351246A (zh) * | 2019-06-12 | 2019-10-18 | 深圳市奥克多普科技有限公司 | 服务器集群系统Socket管理方法及装置 |
CN112153447B (zh) * | 2020-09-27 | 2022-06-14 | 海信视像科技股份有限公司 | 一种显示设备及音画同步控制方法 |
CN113438301B (zh) * | 2021-06-22 | 2023-06-06 | 北京百度网讯科技有限公司 | 网络负载均衡器、请求消息分配方法、程序产品及系统 |
CN114390056B (zh) * | 2022-01-11 | 2024-05-17 | 京东科技信息技术有限公司 | 负载均衡方法、装置、电子设备及存储介质 |
CN115225733B (zh) * | 2022-02-22 | 2024-04-05 | 北京邮电大学 | 基于直接路由和动态量化解析负载的标识解析方法及装置 |
CN114640679A (zh) * | 2022-03-14 | 2022-06-17 | 京东科技信息技术有限公司 | 数据包传输方法及装置、存储介质、电子设备 |
CN114826887A (zh) * | 2022-03-21 | 2022-07-29 | 阿里云计算有限公司 | 私网连接通信方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523302A (zh) * | 2011-12-26 | 2012-06-27 | 成都市华为赛门铁克科技有限公司 | 虚拟机集群的负载均衡方法、服务器及系统 |
CN103533080A (zh) * | 2013-10-25 | 2014-01-22 | 北京奇虎科技有限公司 | 用于lvs的服务器调度方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6519051B1 (en) * | 2000-03-06 | 2003-02-11 | Shinestar Llc | Fax through data network and remote access network appliance control apparatus and method |
EP1847093A1 (en) | 2005-02-04 | 2007-10-24 | Nokia Corporation | Apparatus, method and computer program product to reduce tcp flooding attacks while conserving wireless network bandwidth |
ES2397646T3 (es) * | 2006-03-23 | 2013-03-08 | Thales | Sistema de control de despliegue de ingenios espaciales que deben volar en formación , por determinación simultánea y de gran precisión de sus posiciones |
US20090271521A1 (en) * | 2008-04-24 | 2009-10-29 | International Business Machines Corporation | Method and system for providing end-to-end content-based load balancing |
CN103973584B (zh) | 2013-02-06 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 动态切换数据包的转发方式的方法和设备 |
US20150189010A1 (en) * | 2013-12-30 | 2015-07-02 | Alcatel-Lucent Canada Inc. | Communication network with load balancing functionality |
US10104166B2 (en) * | 2014-05-20 | 2018-10-16 | Citrix Systems, Inc. | Systems and methods for providing load balancing as a service |
CN105162883B (zh) | 2015-09-25 | 2019-06-07 | 网宿科技股份有限公司 | 网络负载均衡处理系统及其方法和装置 |
-
2015
- 2015-09-25 CN CN201510623156.XA patent/CN105162883B/zh active Active
-
2016
- 2016-09-04 WO PCT/CN2016/097988 patent/WO2017050117A1/zh active Application Filing
- 2016-09-04 US US15/556,363 patent/US10313247B2/en active Active
- 2016-09-04 EP EP16847999.6A patent/EP3352431B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523302A (zh) * | 2011-12-26 | 2012-06-27 | 成都市华为赛门铁克科技有限公司 | 虚拟机集群的负载均衡方法、服务器及系统 |
CN103533080A (zh) * | 2013-10-25 | 2014-01-22 | 北京奇虎科技有限公司 | 用于lvs的服务器调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105162883A (zh) | 2015-12-16 |
US20180109456A1 (en) | 2018-04-19 |
EP3352431B1 (en) | 2021-04-14 |
WO2017050117A1 (zh) | 2017-03-30 |
EP3352431A1 (en) | 2018-07-25 |
US10313247B2 (en) | 2019-06-04 |
EP3352431A4 (en) | 2018-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105162883B (zh) | 网络负载均衡处理系统及其方法和装置 | |
US10616379B2 (en) | Seamless mobility and session continuity with TCP mobility option | |
EP3633932A1 (en) | Multipath data transmission processing method, and network device | |
CN105516080B (zh) | Tcp连接的处理方法、装置及系统 | |
JP2011160041A (ja) | フロントエンドシステム、フロントエンド処理方法 | |
WO2009052452A2 (en) | Virtual dispersive routing | |
CN105847142B (zh) | 一种报文传输方法及装置 | |
EP3174261B1 (en) | Multilink fusion method, server and client | |
EP2991294A1 (en) | Data transmission method, apparatus, and computer storage medium | |
WO2014023003A1 (zh) | 控制数据传输的方法、装置和系统 | |
CN108429682A (zh) | 一种网络传输链路的优化方法及系统 | |
EP3493507A1 (en) | Session persistence method and apparatus, and storage medium | |
US8433808B1 (en) | Learning values of transmission control protocol (TCP) options | |
CN114301996A (zh) | 传输数据处理方法及装置 | |
CN112929264B (zh) | 业务流量传输方法、系统及网络设备 | |
US9491098B1 (en) | Transparent network multipath utilization through encapsulation | |
JP2008537421A (ja) | 通信システム内の接続を確立する方法 | |
CN102215231A (zh) | 一种转发数据的方法及网关 | |
CN112311448B (zh) | 一种基于虚拟机的卫星网络加速系统 | |
US20110113145A1 (en) | Stateless Transmission Control Protocol Rendezvous Solution For Border Gateway Function | |
EP2996291A1 (en) | Packet processing method, device, and system | |
CN104184729A (zh) | 一种报文处理方法和装置 | |
EP3059909A1 (en) | Method, apparatus and system for controlling forwarding of service data in virtual network | |
CN105991629B (zh) | Tcp连接建立方法及装置 | |
CN112187551B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |