IP Library Granted Patent US 11,740,923
Granted Patent B2
US 11,740,923 · App. 17/850,925 · Granted Aug 29, 2023

Architecture of networks with middleboxes

Inventors: Teemu Koponen (San Francisco, CA); Ronghua Zhang (San Jose, CA); Pankaj Thakkar (Cupertino, CA); Martin Casado (Portola Valley, CA)
Assignee: NICIRA, INC.
G06F9/45558G06F9/455G06F9/45533G06F15/177H04L41/08H04L41/0803H04L41/0806H04L41/0813H04L41/0823H04L41/0889H04L41/0893H04L41/12H04L45/64H04L45/74H04L49/70H04L61/2503H04L61/256H04L61/2517H04L61/2521H04L63/0218H04L67/1008G06F2009/4557G06F2009/45595H04L45/02H04L49/15
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,740,923
App. No.
17/850,925
Granted
Aug 29, 2023
Kind
B2
Abstract

Some embodiments provide a system for implementing a logical network that includes a set of end machines, a first logical middlebox, and a second logical middlebox connected by a set of logical forwarding elements. The system includes a set of nodes. Each of several nodes includes (i) a virtual machine for implementing an end machine of the logical network, (ii) a managed switching element for implementing the set of logical forwarding elements of the logical network, and (iii) a middlebox element for implementing the first logical middlebox of the logical network. The system includes a physical middlebox appliance for implementing the second logical middlebox.

Claims (30)

1. A method of performing firewall operations in a data center comprising a plurality of host computers that execute source and destination machines for data message flows, the method comprising:

deploying a set of two or more firewall modules to execute on a set of two or more host computers to implement a plurality of distributed logical firewalls for a plurality of logical networks, each distributed logical firewall for each logical network identified by a different tag, each distributed logical firewall implemented by at least two firewall modules executing on at least two host computers; and

distributing, to the set of host computers, firewall rules for the set of firewall modules executing on the set of host computers to process,

said distributing comprising distributing to at least one firewall module two different sets of firewall rules for two different logical networks, with each particular distributed set of firewall rules for each particular logical network associated with a particular tag of the particular logical network,

each firewall module processing flows associated with a machine that is associated with each particular logical network by using the particular tag of the particular logical network to identify the set of firewall rules for the particular logical network to examine for the flows.

2. The method of claim 1 , wherein the distributed firewall rules specify firewall operations including packet drop and allow operations.

3. The method of claim 1 further comprising deploying the source and destination machines.

4. The method of claim 1 , wherein the source and destination machines comprise virtual machines (VMs).

5. The method of claim 1 , wherein a set of software switches execute on the set of host computers, and the firewall modules receive data messages of the data message flows from the software switches, and analyze the data messages to determine whether the data messages should be allowed or dropped.

6. The method of claim 1 , wherein the set of firewall modules is a first set of firewall modules and the distributed firewall rules are a first set of firewall rules, the method further comprising:

deploying a second set of firewall modules to execute on a set of devices at a boundary of a network to which the source and destination machines connect; and

distributing a second set of firewall rules to the set of devices, said second set of firewall rules for configuring the second set of firewall modules to implement a centralized firewall that processes data message flows entering or exiting the network.

7. The method of claim 6 , wherein the set of devices comprise a set of gateways through which data message flows enter and exit the network.

8. The method of claim 6 , wherein the second set of firewall modules comprise firewall virtual machines (VMs) executing on the set of devices.

9. A system comprising:

a plurality of host computers that execute source and destination machines for data message flows;

a set of two or more firewall modules that execute on a set of two or more host computers to perform firewall operations to implement a plurality of distributed logical firewalls for a plurality of logical networks, each distributed logical firewall for each logical network identified by a different tag, each distributed logical firewall implemented by at least two firewall modules executing on at least two host computers; and

a set of controllers that distribute a set of firewall rules to the set of host computers for the set of firewall modules executing on the set of the host computers to process,

wherein the controller set distributes to at least one firewall module two different sets of firewall rules for two different logical networks, with each particular distributed set of firewall rules for each particular logical network associated with a particular tag of the particular logical network,

each firewall module processing flows associated with a machine that is associated with each particular logical network by using the particular tag of the particular logical network to identify the set of firewall rules for the particular logical network to examine for the flows.

10. The system of claim 9 , wherein the distributed firewall rules specify firewall operations including packet drop and allow operations.

11. The system of claim 9 , wherein the source and destination machines comprise virtual machines (VMs).

12. The system of claim 9 , wherein the firewall modules comprise kernel space modules.

13. The system of claim 12 , wherein the kernel space modules operate in a kernel space of a set of hypervisors executing on the set of host computers.

14. The system of claim 9 , wherein a set of software switches execute on the set of host computers, and the firewall modules receive data messages of the data message flows from the software switches, and analyze the data messages to determine whether the data messages should be allowed or dropped.

15. The system of claim 9 , wherein the set of firewall modules is a first set of firewall modules and the distributed firewall rules are a first set of firewall rules, the system further comprising:

a second set of firewall modules that execute on a set of devices at a boundary of a network to which the source and destination machines connect; and

wherein the set of controllers distributes a second set of firewall rules to the set of devices, said second set of firewall rules for configuring the second set of firewall modules to implement a centralized firewall that processes data message flows entering or exiting the network.

16. The system of claim 15 , wherein the set of devices comprise a set of gateways through which data message flows enter and exit the network.

17. The system of claim 15 , wherein the second set of firewall modules comprise firewall virtual machines (VMs) executing on the set of devices.

Assignments (1)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →