Network traffic load balancing system using IPV6 mobility headers
First Claim
1. A machine-implemented method for enabling communication between nodes of a network, the method comprising:
- receiving, at a server node, a first data packet that originated from a client node and that a load-balancing node forwarded to the server node after selecting the server node from among a plurality of server nodes;
in response to receiving the first data packet, the server node creating a second data packet and sending the second data packet to the client node;
wherein the second data packet contains information that will cause the client node to address to the server node a third data packet that the client node would have addressed to the load-balancing node if not for the information, the information in the second data packet instructing the client node to continue to address data packets to the server node instead of the load-balancing node for a period of time that is specified by the information;
wherein the information contained in the second data packet comprises an IPv6 Mobility Header that will cause the client node to replace an original source address of the second data packet with an address that is specified in a Home Address option of a Binding Update option contained within the IPv6 Mobility Header; and
,wherein the method is performed at least in part by one or more processors formed by circuitry within the server node.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are provided for using the mobility support features of IPv6 to allow client and server nodes to communicate without the continuing intervention of a load-balancing node that selected the server node. A load-balancing node intercepts a TCP SYN packet addressed to a virtual IP address. The load-balancing node selects a server node from among multiple server nodes, and sends the packet toward the server node. The server node sends an IPv6 packet toward the client node. The packet contains a Binding Update option that specifies the virtual IP address as a Home Address. This information causes the client node to replace destination addresses in outgoing IP packets so that packets that the client node would have sent toward the virtual IP address are sent toward the selected server node'"'"'s IP address instead. Consequently, the IP packets are routed toward the selected server node instead of the load-balancing node.
105 Citations
36 Claims
-
1. A machine-implemented method for enabling communication between nodes of a network, the method comprising:
-
receiving, at a server node, a first data packet that originated from a client node and that a load-balancing node forwarded to the server node after selecting the server node from among a plurality of server nodes; in response to receiving the first data packet, the server node creating a second data packet and sending the second data packet to the client node; wherein the second data packet contains information that will cause the client node to address to the server node a third data packet that the client node would have addressed to the load-balancing node if not for the information, the information in the second data packet instructing the client node to continue to address data packets to the server node instead of the load-balancing node for a period of time that is specified by the information; wherein the information contained in the second data packet comprises an IPv6 Mobility Header that will cause the client node to replace an original source address of the second data packet with an address that is specified in a Home Address option of a Binding Update option contained within the IPv6 Mobility Header; and
,wherein the method is performed at least in part by one or more processors formed by circuitry within the server node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for enabling communication between nodes of a network that have circuitry forming one or more processors and memory storing processor-executable instructions, the system comprising:
-
a server node that receives a first data packet that originated from a client node and that a load-balancing node forwarded to the server node after selecting the server node from among a plurality of server nodes; the server node creating, in response to receiving the first data packet, a second data packet and sending the second data packet to the client node; wherein the second data packet contains information that will cause the client node to address to the server node a third data packet that the client would have addressed to the load-balancing node if not for the information, the information in the second data packet instructing the client node to continue to address data packets to the server node instead of the load-balancing node for a period of time that is specified by the information; and
,wherein the information contained in the second data packet comprises an IPv6 Mobility Header that will cause the client node to replace an original source address of the second data packet with an address that is specified in a Home Address option of a Binding Update option contained within the IPv6 Mobility Header. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A machine-readable non-transitory storage medium on which is encoded one or more sequences of instructions for enabling communication between nodes of a network, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform steps comprising:
-
receiving, at a server node, a first data packet that originated from a client node and that a load-balancing node forwarded to the server node after selecting the server node from among a plurality of server nodes; in response to receiving the first data packet, the server node creating a second data packet and sending the second data packet to the client node; wherein the second data packet contains information that will cause the client node to address to the server node a third data packet that the client would have addressed to the load-balancing node if not for the information, the information in the second data packet instructing the client node to continue to address data packets to the server node instead of the load-balancing node for a period of time that is specified by the information; and
,wherein the information contained in the second data packet comprises an IPv6 Mobility Header that will cause the client node to replace an original source address of the second data packet with an address that is specified in a Home Address option of a Binding Update option contained within the IPv6 Mobility Header. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
Specification