Methods and apparatus for implementing anycast flow stickiness in stateful sessions
First Claim
1. An overlay network device on a network, comprising:
- at least one processor; and
a memory comprising program instructions, wherein the program instructions are executable by the at least one processor to;
receive an initial packet from an endpoint on a source device;
determine that the initial packet is directed to an anycast group on the network, wherein the anycast group comprises a plurality of anycast group endpoints that all publish the same anycast address;
determine one of the plurality of anycast group endpoints as a destination anycast endpoint for the initial packet;
store flow information for a session between the endpoint on the source device and the anycast group, wherein the flow information maps the endpoint on the source device to the determined destination anycast endpoint;
subsequent to determining the one of the plurality of anycast group endpoints as the determined destination anycast endpoint for the initial packet, encapsulate the initial packet according to an overlay network encapsulation format to form an overlay network packet, wherein the overlay network encapsulation format includes an overlay IP address of a host device that hosts the determined destination anycast endpoint, and forward the overlay network packet to the determined destination anycast endpoint on the network;
receive one or more additional packets from the endpoint on the source device; and
forward the one or more additional packets to the determined destination anycast endpoint on the network according to the stored flow information for the session between the endpoint on the source device and the anycast group;
wherein at least the initial packet is forwarded from the overlay network device to the determined destination anycast endpoint on the network according to the overlay IP address of the host device included in the overlay network packet and thus without anycast forwarding decisions being made at the network substrate level.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus for implementing anycast flow stickiness in stateful sessions are described. For the first packet from a source device to an anycast group, a destination anycast endpoint is selected from the anycast group by a routing process via an algorithm that is specified for the anycast group. A record of the mapping of the source device to the destination anycast endpoint may be stored. Additional packets in the flow are routed to the same anycast endpoint as the first packet according to the stored information. Alternatively, a hashing technique may be used to route packets to an anycast endpoint. The packets may be encapsulated in an encapsulation format that includes network substrate routing information to the destination anycast endpoint; anycast forwarding decisions are made at the overlay network level and not at the network substrate level, and thus flow stickiness can be maintained.
37 Citations
35 Claims
-
1. An overlay network device on a network, comprising:
-
at least one processor; and a memory comprising program instructions, wherein the program instructions are executable by the at least one processor to; receive an initial packet from an endpoint on a source device; determine that the initial packet is directed to an anycast group on the network, wherein the anycast group comprises a plurality of anycast group endpoints that all publish the same anycast address; determine one of the plurality of anycast group endpoints as a destination anycast endpoint for the initial packet; store flow information for a session between the endpoint on the source device and the anycast group, wherein the flow information maps the endpoint on the source device to the determined destination anycast endpoint; subsequent to determining the one of the plurality of anycast group endpoints as the determined destination anycast endpoint for the initial packet, encapsulate the initial packet according to an overlay network encapsulation format to form an overlay network packet, wherein the overlay network encapsulation format includes an overlay IP address of a host device that hosts the determined destination anycast endpoint, and forward the overlay network packet to the determined destination anycast endpoint on the network; receive one or more additional packets from the endpoint on the source device; and forward the one or more additional packets to the determined destination anycast endpoint on the network according to the stored flow information for the session between the endpoint on the source device and the anycast group; wherein at least the initial packet is forwarded from the overlay network device to the determined destination anycast endpoint on the network according to the overlay IP address of the host device included in the overlay network packet and thus without anycast forwarding decisions being made at the network substrate level. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method, comprising:
-
receiving, by an overlay network device on a network, an initial packet from an endpoint on a source device; determining, by the overlay network device, that the initial packet is directed to an anycast group on the network, wherein the anycast group comprises a plurality of anycast group endpoints that all publish the same anycast address; determining, by the overlay network device, one of the plurality of anycast group endpoints as a destination anycast endpoint for the initial packet; storing flow information for a session between the endpoint on the source device and the anycast group, wherein the flow information maps the endpoint on the source device to the determined destination anycast endpoint; subsequent to said determining one of the plurality of anycast group endpoints as the determined destination anycast endpoint for the initial packet, encapsulating the initial packet according to an overlay network encapsulation format to form an overlay network packet, wherein the overlay network encapsulation format includes an overlay network address of a host device that hosts the determined destination anycast endpoint, and forwarding the overlay network packet to the determined destination anycast endpoint on the network; receiving one or more additional packets from the endpoint on the source device; and forwarding the one or more additional packets to the determined destination anycast endpoint on the network according to the stored flow information for the session between the endpoint on the source device and the anycast group; wherein the initial packet is forwarded from the overlay network device to the determined destination anycast endpoint on the network according to the overlay IP address of the host device included in the overlay network packet and thus without anycast forwarding decisions being made at the network substrate level. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. A non-transitory computer-accessible storage medium, storing program instructions, wherein the program instructions are computer-executable to implement:
-
receiving an initial packet from an endpoint on a source device; determining that the initial packet is directed to an anycast group implemented on a hardware virtualization network, wherein the anycast group comprises a plurality of anycast group endpoints that all publish the same anycast address, and wherein the hardware virtualization network includes a plurality of host devices each providing one or more virtual resources, wherein each of the plurality of anycast group endpoints corresponds to a different one of the virtual resources on the plurality of host devices; determining one of the plurality of anycast group endpoints as a destination anycast endpoint for the initial packet; subsequent to determining one of the plurality of anycast group endpoints as the determined destination anycast endpoint for the initial packet, encapsulating the initial packet according to an overlay network encapsulation format to form an overlay network packet, wherein the overlay network encapsulation format includes an overlay network address of a host device of the plurality of host devices that hosts the determined destination anycast endpoint; and forwarding the overlay network packet to the determined destination anycast endpoint on the hardware virtualization network; wherein the initial packet is forwarded to the determined destination anycast endpoint on the hardware virtualization network according to the overlay network address of the host device included in the overlay network packet and thus without anycast forwarding decisions being made at the network substrate level. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
Specification