IP Library › Granted Patent US 11,916,785
Granted Patent B2
US 11,916,785 · App. 17/484,871 · Granted Feb 27, 2024

Symmetric routing in virtualized networks

Inventors: Chirag Wighe (Milpitas, CA); Samrat Ganguly (Fremont, CA)
Assignee: Apple Inc.
H04L45/586H04L12/4641H04L63/0254H04L63/0272
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,916,785
App. No.
17/484,871
Granted
Feb 27, 2024
Kind
B2
Abstract

Embodiments disclosed herein relate to source-based symmetric routing of network traffic in virtual networks. In particular, a source of network traffic in the virtual network is equipped with a routing table that causes the source of the network traffic to route the network traffic symmetrically across zones of the virtual network.

Claims (71)

1. A tangible, non-transitory, computer-readable medium, comprising computer-readable instructions that, when executed by one or more processors of a computer, cause the computer to:

identify network traffic to be routed via a virtual network;

determine a source zone and a destination of the network traffic;

identify whether the network traffic is cross-zone traffic, where the destination is in a routable space protected by a plurality of stateful firewall instances or external network traffic, where the destination is outside the routable space protected by the plurality of stateful firewall instances;

when the network traffic is the external network traffic, route the network traffic through a particular one of the plurality of stateful firewall instances assigned to the source zone; and

otherwise, when the network traffic is the cross-zone traffic, route the network traffic through a second particular one of the plurality of stateful firewall instances assigned to a cross-zone pair, the cross-zone pair comprising the source zone and a destination zone associated with the destination of the network traffic.

2. The tangible, non-transitory, computer-readable medium of claim 1 , wherein the computer-readable instructions comprise a routing table generated by:

determining a number of the plurality of stateful firewall instances, zones, or both available to the virtual network;

dividing the routable space protected by the number of the plurality of stateful firewall instances into a number of blocks equaling the number of the plurality of stateful firewall instances, zones, or both;

creating an assignment for each division of the routable space to a particular one of the stateful firewall instances,

based upon the assignment, generating the routing table, where the cross-zone traffic is routed symmetrically and the external network traffic is routed to a particular one of the stateful firewall instances assigned to a particular division of the routable space associated with a source of the external network traffic.

3. The tangible, non-transitory, computer-readable medium of claim 2 , wherein the routing table is generated by:

creating an assignment, in the routing table, for each possible cross-zone pair represented by two of the blocks, the particular one of the stateful firewall instances to route a corresponding cross-zone pair to.

4. The tangible, non-transitory, computer-readable medium of claim 3 , wherein the assignment provides an approximately equal balance of assignment of the plurality of stateful firewall instances to the possible cross-zone pairs, to avoid over-utilization of a particular one or more of the plurality of stateful firewall instances.

5. The tangible, non-transitory, computer-readable medium of claim 3 , wherein the assignment provides a disproportionate balance of assignment of the plurality of stateful firewall instances to the possible cross-zone pairs, the disproportionate balance of assignment corresponding to an expected disproportionate amount of traffic within a particular zone, an observed disproportionate amount of traffic within a particular zone, or both.

6. The tangible, non-transitory, computer-readable medium of claim 2 , wherein the routing table is hosted by each of a plurality of virtual private clouds of the virtual network.

7. The tangible, non-transitory, computer-readable medium of claim 2 , wherein the routing table is generated by:

creating the assignment, in the routing table, for the external network traffic sourced from a particular zone to a stateful firewall instance associated with the particular zone.

8. The tangible, non-transitory, computer-readable medium of claim 2 , wherein the routing table is generated by:

creating the assignment, in the routing table, for inner-zone network traffic that is sourced from and is destined for a common zone to a stateful firewall instance associated with the common zone.

9. The tangible, non-transitory, computer-readable medium of claim 2 , wherein the computer-readable instructions comprise the computer-readable instructions that, when executed by the one or more processors of a computer, cause the computer to:

identify the number of the plurality of stateful firewall instances, zones, or both and the routable space protected by the number of the plurality of stateful firewall instances, by:

generating a graphical user interface (GUI) comprising:

a first prompt requesting a first user input representative of the number of the plurality of stateful firewall instances, zones, or both; and

a second prompt requesting a second user input representative of the routable space; and

receiving the first user input and the second user input via the GUI; and

generating the routing table based upon the first user input and the second user input.

10. The tangible, non-transitory, computer-readable medium of claim 2 , wherein the computer-readable instructions comprise the computer-readable instructions that, when executed by the one or more processors of a computer, cause the computer to:

receive zone metrics regarding each zone of the virtual network, the zone metrics providing an indication of zone demands, use, performance, or a combination there of each zone;

compare the zone demands, use, performance, or a combination thereof of each zone to identify target firewall instance assignment modifications to make to the routing table; and

adjust the routing table based upon the identified target firewall instance assignment modifications.

11. A computer-implemented method, comprising:

generating, a routing table to be used at a plurality of network traffic sources, the routing table configured to cause the plurality of network traffic sources to route traffic, by:

identifying network traffic to be routed via a virtual network;

determining a source zone and a destination of the network traffic;

identifying that the network traffic is cross-zone traffic, where the destination is in a routable space protected by a plurality of stateful firewall instances or external network traffic, where the destination is outside the routable space protected by the plurality of stateful firewall instances;

when the network traffic is the external network traffic, routing the network traffic through a particular one of the plurality of stateful firewall instances assigned to the source zone; and

otherwise, when the network traffic is the cross-zone traffic, routing the network traffic through a second particular one of the plurality of stateful firewall instances assigned to a cross-zone pair, the cross-zone pair comprising the source zone and a destination zone associated with the destination of the network traffic; and

otherwise, when the network traffic is inner-zone traffic, routing the network traffic through a stateful firewall instance associated with a common zone of the source zone and the destination; and

providing the routing table to the plurality of network traffic sources to cause the plurality of network traffic sources to route the network traffic.

12. The computer-implemented method of claim 11 , comprising:

identifying one or more updates to the routing table;

generating an updated routing table; and

providing the updated routing table to the plurality of network traffic sources.

13. The computer-implemented method of claim 12 , comprising:

identifying the one or more updates to the routing table, by:

receiving zone metrics regarding each zone of the virtual network, the zone metrics providing an indication of zone demands, use, performance, or a combination there of each zone;

comparing the zone demands, use, performance, or a combination thereof of each zone to identify target firewall instance assignment modifications to make to the routing table.

14. The computer-implemented method of claim 11 , wherein the routing table comprises an assignment for each cross-zone pair of the virtual network to a corresponding particular one of the stateful firewall instances to route the corresponding cross-zone pair to, and the assignment provides an approximately equal balance of assignment of the plurality of stateful firewall instances to possible cross-zone pairs, to avoid over-utilization of a particular one or more of the plurality of stateful firewall instances.

15. The computer-implemented method of claim 14 , comprising generating the assignment, by:

determining a number of the stateful firewall instances, zones, or both available to the virtual network;

dividing the routable space protected by the number of the plurality of stateful firewall instances into a number of blocks equaling the number of the stateful firewall instances, zones, or both;

creating the assignment for each division of the routable space to a particular one of the stateful firewall instances.

16. A virtual network system, comprising:

a plurality of zones;

a plurality of firewall instances, where each firewall instance corresponds to one of the plurality of zones;

a network fabric coupling the plurality of zones;

a plurality of virtual private clouds configured to generate network traffic for transmission via the virtual network system, wherein the plurality of virtual private clouds, as sources of the network traffic, are configured to symmetrically route the network traffic, based upon a routing table stored at each of the plurality of virtual private clouds.

17. The virtual network system of claim 16 , wherein the routing table is configured to cause the plurality of virtual private clouds to symmetrically route the network traffic, by:

route traffic, by:

determining a source zone and a destination of the network traffic;

identifying that the network traffic is cross-zone traffic, where the destination is in a routable space protected by a plurality of stateful firewall instances or external network traffic, where the destination is outside the routable space protected by the plurality of stateful firewall instances;

when the network traffic is the external network traffic, routing the network traffic through a particular one of the plurality of stateful firewall instances assigned to the source zone; and

otherwise, when the network traffic is the cross-zone traffic, routing the network traffic through a second particular one of the plurality of stateful firewall instances assigned to a cross-zone pair, the cross-zone pair comprising the source zone and a destination zone associated with the destination of the network traffic; and

otherwise, when the network traffic is inner-zone traffic, routing the network traffic through a stateful firewall instance associated with a common zone of the source zone and the destination.

18. The virtual network system of claim 17 , wherein the routing table comprises an assignment for each cross-zone pair of the virtual network system to a corresponding particular one of the stateful firewall instances to route the corresponding cross-zone pair to, and the assignment provides an approximately equal balance of assignment of the plurality of stateful firewall instances to possible cross-zone pairs, to avoid over-utilization of a particular one or more of the plurality of stateful firewall instances.

19. The virtual network system of claim 18 , comprising generating the assignment, by:

determining a number of the stateful firewall instances, zones, or both available to the virtual network system;

dividing the routable space protected by the number of the plurality of stateful firewall instances into a number of blocks equaling the number of the stateful firewall instances, zones, or both;

creating an assignment for each division of the routable space to a particular one of the stateful firewall instances.

20. The virtual network system of claim 17 , wherein the routing table comprises an assignment for each cross-zone pair of the virtual network system to a corresponding particular one of the stateful firewall instances to route the corresponding cross-zone pair to, and the assignment provides a disproportionate balance of assignment of the plurality of stateful firewall instances to the possible cross-zone pairs, the disproportionate balance of assignment corresponding to an expected disproportionate amount of traffic within a particular zone, an observed disproportionate amount of traffic within a particular zone, or both.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2021
From: WIGHE, CHIRAG; GANGULY, SAMRAT
To: APPLE INC.
Reel/Frame 058008/0835 →
Continuity (1)
Related Publication 20230096862A1 · Mar 30, 2023