Load balancing and destination network address translation middleboxes
First Claim
1. A non-transitory machine readable medium storing a controller application of a network control system for configuring a logical middlebox in a distributed manner across a plurality of physical machines, the logical middlebox part of a logical network that logically connects a plurality of machines, the controller application comprising sets of instructions for:
- configuring a plurality of middlebox instances, each operating in a different one of the physical machines, to (i) receive a packet directed to a set of servers providing a same service, (ii) select a server from the set of servers to which to send the packet, (iii) create a set of flow entries, using a network address of the selected server, that specify to send subsequent packets having similar characteristics to the received packet to the selected server, and (iv) provide the created set of flow entries to a corresponding managed forwarding element operating in the physical machine with the middlebox instance; and
configuring managed forwarding elements in the plurality of physical machines to forward subsequent packets based on the set of flow entries created by the corresponding middlebox instance without the corresponding middlebox instance processing the subsequent packets.
1 Assignment
0 Petitions
Accused Products
Abstract
A controller of a network control system for configuring several middlebox instances is described. The middlebox instances implement a middlebox in a distributed manner in several hosts. The controller configures a first middlebox instance to obtain status of a set of servers and disseminate the obtained status to a second middlebox instance. The controller configures the second middlebox instance to use the status to select a server from the set of servers.
-
Citations
11 Claims
-
1. A non-transitory machine readable medium storing a controller application of a network control system for configuring a logical middlebox in a distributed manner across a plurality of physical machines, the logical middlebox part of a logical network that logically connects a plurality of machines, the controller application comprising sets of instructions for:
-
configuring a plurality of middlebox instances, each operating in a different one of the physical machines, to (i) receive a packet directed to a set of servers providing a same service, (ii) select a server from the set of servers to which to send the packet, (iii) create a set of flow entries, using a network address of the selected server, that specify to send subsequent packets having similar characteristics to the received packet to the selected server, and (iv) provide the created set of flow entries to a corresponding managed forwarding element operating in the physical machine with the middlebox instance; and configuring managed forwarding elements in the plurality of physical machines to forward subsequent packets based on the set of flow entries created by the corresponding middlebox instance without the corresponding middlebox instance processing the subsequent packets. - View Dependent Claims (2, 3, 11)
-
-
4. A non-transitory machine readable medium storing a first controller of a network control system for configuring a load balancer in a distributed manner across a plurality of host machines, the load balancer part of a logical network that logically connects a plurality of machines, the network control system comprising a plurality of controllers, the controller comprising sets of instructions for:
-
receiving configuration data for the load balancer that specifies rules for selecting a server from a set of servers for packets, having a destination address corresponding to the set of servers, that are received at instances of the load balancer; identifying a plurality of host machines, on at least a subset of which machines of the plurality of machines connected by the logical network operate, on which to implement the load balancer; identifying a set of additional controllers in the network control system that manage the identified host machines on which to implement the load balancer; and distributing the configuration data for the load balancer to the identified set of additional controllers in order for the additional controllers to provide the configuration data to middlebox instances on the host machines. - View Dependent Claims (5, 6, 7, 8, 9, 10)
-
Specification