IP Library › Granted Patent US 11,336,570
Granted Patent B1
US 11,336,570 · App. 17/196,514 · Granted May 17, 2022

Layer three multi-homing for virtual networks

Inventors: Kiran K N (Bangalore, IN); Sangarshan Pillareddy (Bangalore, IN); Ganesha Hebbale Venkatasubbaiah (Bangalore, IN)
Assignee: Juniper Networks, Inc.
H04L45/586H04L12/4633H04L45/24H04L45/42H04L45/566H04L47/125
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,336,570
App. No.
17/196,514
Filed
Mar 9, 2021
Granted
May 17, 2022
Kind
B1
Examiner
ZONG, RUOLEI
Art Unit
2441
USPC
709/238
Abstract

A network system includes a server comprising a set of virtual routers configured to extend virtual networks to virtual machines. A virtual router of the set of virtual routers may receive a tunnel packet comprising a outer header and an inner packet that defines a first packet flow, and determine, based at least on the outer header, that the tunnel packet is associated with a first virtual network of the virtual networks. The virtual router may also associate, based on the inner packet, the tunnel packet to a layer three link of a plurality of layer three links coupling the virtual router to two or more top-of-rack switches in the virtual network, where the plurality of layer three links form a layer three multi-homing connection between the virtual router and the top-of-rack switches in the virtual network. The virtual router may transmit the tunnel packet via the layer three link.

Claims (46)

1. A method comprising:

receiving, by a virtual router of a computing device for one or more virtual networks, a first tunnel packet comprising a first outer header and a first inner packet that defines a first packet flow;

determining, based at least on the first outer header, that the first tunnel packet is associated with a first virtual network of the one or more virtual networks;

associating, based on the first inner packet, the first tunnel packet to a first layer three link of a plurality of layer three links coupling the virtual router to two or more top-of-rack switches in the first virtual network, wherein the plurality of layer three links form a layer three multi-homing connection between the virtual router and the two or more top-of-rack switches in the first virtual network; and

transmitting, based on associating the first tunnel packet to the first layer three link, the first tunnel packet via the first layer three link of the plurality of layer three links.

2. The method of claim 1 , further comprising:

receiving a second tunnel packet comprising a second outer header and a second inner packet that defines a second packet flow;

determining, based at least on the second outer header, that the second tunnel packet is associated with the first virtual network of the one or more virtual networks;

associating, based on the second inner packet, the second tunnel packet to a second layer three link of the plurality of layer three links coupling the virtual router to the two or more top-of-rack switches in the first virtual network; and

transmitting, based on associating the second tunnel packet to the second layer three link, the second tunnel packet via the second layer three link of the plurality of layer three links.

3. The method of claim 1 , wherein the layer three multi-homing connection between the virtual router and the two or more top-of-rack switches comprises an active-active multi-homing connection between the virtual router and the two or more top-of-rack switches.

4. The method of claim 1 , wherein associating the first tunnel packet to the first layer three link comprises applying a hash to an inner header of the first inner packet to associate the first tunnel packet with the first layer three link, wherein the inner header identifies the first packet flow as one or more of a source address, a destination address, a source port, a destination port, and a protocol.

5. The method of claim 1 , wherein associating the first tunnel packet to the first layer three link comprises applying a hash to both the first outer header and an inner header of the first inner packet to associate the first tunnel packet with the first layer three link, wherein the inner header identifies the first packet flow as one or more of a source address, a destination address, a source port, a destination port, and a protocol.

6. The method of claim 1 , wherein associating the first packet flow to the first layer three link comprises performing load balancing with respect to the first packet flow to associate the first packet flow with the first layer three link such that traffic loads are balanced across the plurality of layer three links.

7. The method of claim 5 , wherein performing load balancing comprises performing equal cost multi-path with respect to the first packet flow to associate the first packet flow with the first layer three link.

8. The method of claim 1 , wherein associating the first packet flow to the first layer three link comprises associating, by the virtual router, the first packet flow to the first layer three link without having a bonding drive configured to maintain the layer three multi-homing connection between the virtual router and the two or more top-of-rack switches.

9. The method of claim 1 , further comprising configuring a first tunnel that operates via the layer three multi-homing connection such that the first tunnel packet receives a label identifying the first tunnel regardless of whether the first packet flow is associated with the first layer three link or a different layer three link of the plurality of layer three links.

10. The method of claim 1 , further comprising:

receiving configuration data specifying multiple layer two links; and

configuring, based on the configuration data, the layer three multi-homing connection via the multiple layer two links.

11. A network system comprising:

a switch fabric comprising a plurality of switches interconnected to form a physical network;

a virtual network controller configured to configure and manage virtual networks within the physical network; and

a plurality of servers interconnected by the switch fabric, wherein each of the servers comprises an operating environment configured to execute one or more virtual machines in communication via the virtual networks, and wherein the servers comprise a set of virtual routers configured to extend the virtual networks to the virtual machines,

wherein a virtual router of the set of virtual routers is configured to:

receive a first tunnel packet comprising a first outer header and a first inner packet that defines a first packet flow;

determine, based at least on the first outer header, that the first tunnel packet is associated with a first virtual network of the one or more virtual networks;

associate, based on the inner packet, the first tunnel packet to a first layer three link of a plurality of layer three links coupling the virtual router to two or more top-of-rack switches in the first virtual network, wherein the plurality of layer three links form a layer three multi-homing connection between the virtual router and the two or more top-of-rack switches in the first virtual network; and

transmit the first tunnel packet via the first layer three link of the plurality of layer three links.

12. The network system of claim 11 , wherein the virtual router of the set of virtual routers is further configured to:

receive a second tunnel packet comprising a second outer header and a second inner packet that defines a second packet flow;

determine, based at least on the second outer header, that the second tunnel packet is associated with the first virtual network of the one or more virtual networks;

associate, based on the second inner packet, the second tunnel packet to a second layer three link of the plurality of layer three links coupling the virtual router to the two or more top-of-rack switches in the first virtual network; and

transmit, based on associating the second tunnel packet to the second layer three link, the second tunnel packet via the second layer three link of the plurality of layer three links.

13. The network system of claim 11 , wherein the layer three multi-homing connection between the virtual router and the two or more top-of-rack switches comprises an active-active multi-homing connection between the virtual router and the two or more top-of-rack switches.

14. The network system of claim 11 , wherein the virtual router of the set of virtual routers, to associate the first tunnel packet to the first layer three link, is configured to apply a hash to an inner header of the first inner packet to associate the first tunnel packet with the first layer three link, wherein the inner header identifies the first packet flow as one or more of a source address, a destination address, a source port, a destination port, and a protocol.

15. The network system of claim 11 , wherein the virtual router of the set of virtual routers, to associate the first tunnel packet to the first layer three link, is configured to apply a hash to both the first outer header and an inner header of the first inner packet to associate the first tunnel packet with the first layer three link, wherein the inner header identifies the first packet flow as one or more of a source address, a destination address, a source port, a destination port, and a protocol.

16. The network system of claim 11 , wherein the virtual router of the set of virtual routers, to associate the first tunnel packet to the first layer three link, is configured to perform load balancing with respect to the first packet flow to associate the first packet flow with the first layer three link such that traffic loads are balanced across the plurality of layer three links.

17. The network system of claim 15 , wherein the virtual router of the set of virtual routers, to perform load balancing, is configured to perform equal cost multi-path with respect to the first packet flow to associate the first packet flow with the first layer three link.

18. The network system of claim 11 , wherein the virtual router of the set of virtual routers, to associate the first tunnel packet to the first layer three link, is configured to associate the first packet flow to the first layer three link without having a bonding drive configured to maintain the layer three multi-homing connection between the virtual router and the two or more top-of-rack switches.

19. The network system of claim 11 , wherein the virtual router of the set of virtual routers is further configured to configure a first tunnel that operates via the layer three multi-homing connection such that the first tunnel packet receives a label identifying the first tunnel regardless of whether the first packet flow is associated with the first layer three link or a different layer three link of the plurality of layer three links.

20. A non-transitory computer-readable medium comprising instructions for causing one or more programmable processors to:

receive, by a virtual router of a computing device for one or more virtual networks, a first tunnel packet comprising a first outer header and a first inner packet that defines a first packet flow;

determine, based at least on the first outer header, that the first tunnel packet is associated with a first virtual network of the one or more virtual networks;

associate, based on the inner packet, the first packet flow to a first layer three link of a plurality of layer three links coupling the virtual router to two or more top-of-rack switches in the first virtual network, wherein the plurality of layer three links form a layer three multi-homing connection between the virtual router and the two or more top-of-rack switches in the first virtual network; and

transmit the first tunnel packet via the first layer three link of the plurality of layer three links.

Assignments (2)
CONFIRMATORY ASSIGNMENT Recorded Oct 19, 2023
From: K N, KIRAN; PILLAREDDY, SANGARSHAN; VENKATASUBBAIAH, GANESHA HEBBALE
To: JUNIPER NETWORKS, INC.
Reel/Frame 065287/0612 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2021
From: K N, KIRAN; PILLAREDDY, SANGARSHAN; VENKATASUBBAIAH, GANESHA HEBBALE
To: JUNIPER NETWORKS, INC.
Reel/Frame 055538/0065 →
Cited By (5)
US 12,278,872 US 12,549,455 US 12,609,982 US 12,652,257 US 12,665,787