IP Library Granted Patent US 12,074,846
Granted Patent B2
US 12,074,846 · App. 18/223,846 · Granted Aug 27, 2024

Scaling IP addresses in overlay networks

Inventors: Myron Decker King (Arlington, MA); Lucas Michael Kreger-Stickles (Seattle, WA); Jagwinder Singh Brar (Bellevue, WA); Leonard Thomas Tracy (Bothell, WA)
Assignee: Oracle International Corporation
H04L61/5046H04L45/20H04L45/7453H04L47/2483H04L61/5007
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 12,074,846
App. No.
18/223,846
Granted
Aug 27, 2024
Kind
B2
Abstract

Techniques are disclosed for scaling an IP address in overlay networks without using load balancers. In certain implementations, an overlay IP address can be attached to multiple compute instances via virtual network interface cards (VNICs) associated with the multiple compute instances. Traffic directed to the multi-attached IP address is distributed across the multiple compute instances. In some other implementations, ECMP techniques in overlay networks are used to scale an overlay IP address. In forwarding tables used for routing packets, the IP address being scaled is associated with multiple next hop paths to multiple network virtualization devices (NVDs) associated with the multiple compute instances. When a particular packet directed to the overlay IP address is to be routed, one of the multiple next hop paths is selected for routing the packet. This enables packets directed to the IP address to be distributed across the multiple compute instances.

Claims (31)

1. A method comprising:

for a first packet whose destination address is a first Internet Protocol (IP) address, determining by a first network virtualization device (NVD) receiving the first packet that a plurality of next hop paths are associated with the first IP address, wherein the first NVD determines there are a plurality of next hop paths associated with the first IP address based on a forwarding table of the first NVD;

selecting, by the first NVD, a particular next hop path from among the plurality of next hop paths associated with the destination address, wherein the particular next hop path identifies a virtual cloud network (VCN) tunnel to a particular IP address; and

communicating, by the first NVD and using a tunneling protocol associated with the VCN tunnel, the first packet to the particular IP address, without changing the destination address of the first packet.

2. The method according to claim 1 , further comprising generating, by the first NVD, a hash value based upon contents of one or more fields of the first packet, wherein the particular next hop path is selected based on the generated hash value.

3. The method according to claim 1 , wherein the hash value is generated using a consistent hashing technique.

4. The method according to claim 1 , wherein the first IP address is an overlay IP address that is attached to multiple compute instances.

5. The method according to claim 4 , wherein the overlay IP address is attached to a plurality of virtual network interface cards (VNICs) and the plurality of VNICs are associated with a plurality of compute instances.

6. The method according to claim 1 , wherein the forwarding table identifies a plurality of active next hop paths to NVDs associated with a server compute instance that is attached to a multi-attached IP address.

7. The method according to claim 1 , wherein a virtual cloud network (VCN) control plane generates the forwarding table, and distributes the forwarding table to an NVD in an overlay network.

8. The method according to claim 1 , further comprising determining a health of plurality of next hop paths, wherein the health of the plurality of next hop paths is determined by peer-to-peer between network virtualization devices.

9. A non-transitory computer-readable memory storing a plurality of instructions executable by one or more processors, the plurality of instructions comprising instructions that when executed by the one or more processors perform processing comprising:

for a first packet whose destination address is a first Internet Protocol (IP) address, determining by a first network virtualization device (NVD) receiving the first packet that a plurality of next hop paths are associated with the first IP address, wherein the first NVD determines there are a plurality of next hop paths associated with the first IP address based on a forwarding table of the first NVD;

selecting, by the first NVD, a particular next hop path from among the plurality of next hop paths associated with the destination address, wherein the particular next hop path identifies a virtual cloud network (VCN) tunnel to a particular IP address; and

communicating, by the first NVD and using a tunneling protocol associated with the VCN tunnel, the first packet to the particular IP address, without changing the destination address of the first packet.

10. The computer-readable memory according to claim 9 , further comprising generating, by the first NVD, a hash value based upon contents of one or more fields of the first packet, wherein the particular next hop path is selected based on the generated hash value.

11. The computer-readable memory according to claim 9 , wherein the first IP address is an overlay IP address that is attached to multiple compute instances.

12. The computer-readable memory according to claim 11 , wherein the overlay IP address is attached to a plurality of virtual network interface cards (VNICs) and the plurality of VNICs are associated with a plurality of compute instances.

13. The computer-readable memory according to claim 9 , wherein the forwarding table identifies a plurality of active next hop paths to NVDs associated with a server compute instance that is attached to a multi-attached IP address.

14. The computer-readable memory according to claim 9 , wherein a virtual cloud network (VCN) control plane generates the forwarding table, and distributes the forwarding table to an NVD in an overlay network.

15. The computer-readable memory according to claim 9 , further comprising determining a health of plurality of next hop paths, wherein the health of the plurality of next hop paths is determined by peer-to-peer between network virtualization devices.

16. A system comprising:

one or more processors; and

a memory storing a plurality of instructions which when executed by the one or more processors cause the system to:

for a first packet whose destination address is a first Internet Protocol (IP) address, determining by a first network virtualization device (NVD) receiving the first packet that a plurality of next hop paths are associated with the first IP address, wherein the first NVD determines there are a plurality of next hop paths associated with the first IP address based on a forwarding table of the first NVD;

selecting, by the first NVD, a particular next hop path from among the plurality of next hop paths associated with the destination address, wherein the particular next hop path identifies a virtual cloud network (VCN) tunnel to a particular IP address; and

communicating, by the first NVD and using a tunneling protocol associated with the VCN tunnel, the first packet to the particular IP address, without changing the destination address of the first packet.

17. The system according to claim 16 , further comprising generating, by the first NVD, a hash value based upon contents of one or more fields of the first packet, wherein the particular next hop path is selected based on the generated hash value.

18. The system according to claim 16 , wherein the first IP address is an overlay IP address, wherein the overlay IP address is attached to a plurality of virtual network interface cards (VNICs) and the plurality of VNICs are associated with a plurality of compute instances.

19. The system according to claim 16 , wherein a virtual cloud network (VCN) control plane generates the forwarding table, and distributes the forwarding table to an NVD in an overlay network.

20. The system according to claim 16 , further comprising determining a health of plurality of next hop paths, wherein the health of the plurality of next hop paths is determined by peer-to-peer between network virtualization devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2023
From: KING, MYRON DECKER; KREGER-STICKLES, LUCAS MICHAEL; BRAR, JAGWINDER SINGH; TRACY, LEONARD THOMAS
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 064331/0367 →
Continuity (2)
Continuation 17175285 · Feb 12, 2021
Related Publication 20230370421A1 · Nov 16, 2023