IP Library Granted Patent US 8,499,093
Granted Patent B2
US 8,499,093 · App. 12/786,152 · Granted Jul 30, 2013

Methods, systems, and computer readable media for stateless load balancing of network traffic flows

Inventors: Donald B. Grosser (Apex, NC); Hood L. Richardson, Jr. (Chapel Hill, NC)
Assignee: Extreme Networks, Inc.
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 8,499,093
App. No.
12/786,152
Granted
Jul 30, 2013
Kind
B2
Abstract

Methods, systems, and computer readable media for performing stateless load balancing of network traffic flows are disclosed. According to one aspect, the subject matter described herein includes a method for performing stateless load balancing of network traffic flows. The method occurs at a layer 3 packet forwarding and layer 2 switching device. The method includes responding to address resolution protocol (ARP) requests from clients, the ARP requests including a virtual IP (VIP) address shared by the device and a plurality of servers coupled to the device, with the medium access control (MAC) address of the device. The method also includes receiving, from the clients, packets addressed to the VIP address and having the MAC address of the device. The method further includes load sharing the packets among the servers using a layer 3 forwarding operation that appears to the clients as a layer 2 switching operation.

Claims (42)

1. A method for performing stateless load balancing of network traffic flows, the method comprising:

at a layer 3 packet forwarding and layer 2 switching device:

responding to address resolution protocol (ARP) requests from clients, the ARP requests including a virtual IP (VIP) address shared by the device and a plurality of servers coupled to the device, with the medium access control (MAC) address of the device;

receiving, from the clients, packets addressed to the VIP address and having the MAC address of the device; and

load sharing the packets among the servers using a layer 3 forwarding operation that appears to the clients as a layer 2 switching operation by performing the layer 3 forwarding operation based on the MAC address received from the client.

2. The method of claim 1 wherein load sharing the packets using a layer 3 forwarding operation comprises:

determining an equal cost multipath (ECMP) group corresponding to the VIP address and load sharing the packets among servers in the ECMP group.

3. The method of claim 1 wherein the servers have different MAC addresses.

4. The method of claim 1 wherein the servers are members of the same virtual local area network (VLAN).

5. The method of claim 1 wherein the servers are members of different virtual local area networks (VLANs) and wherein the layer 3 packet forwarding and layer 2 switching device is configured to perform the load sharing on a per-VLAN basis using different VIP addresses for different VLANs.

6. The method of claim 1 comprising forwarding packets of the same network traffic flow to the same server without storing state information for the flows.

7. The method of claim 1 wherein the layer 3 packet forwarding and layer 2 switching device is configured to actively check the status of the servers and to update load sharing information based on the status.

8. The method of claim 1 wherein packets addressed to an individual server are forwarded by the layer 3 packet forwarding and layer 2 switching device to the server without performing load sharing.

9. The method of claim 1 wherein the layer 3 packet forwarding and layer 2 switching device configures network-facing ports and server-facing ports into a single VLAN.

10. The method of claim 1 wherein the layer 3 packet forwarding and layer 2 switching device configures network-facing ports and server-facing ports into multiple VLANs, wherein each VLAN includes one or more network-facing ports and one or more server-facing ports.

11. The method of claim 1 wherein the servers receive amounts of network traffic corresponding to weights associated with the servers.

12. The method of claim 11 wherein the weights are determined using on one or more factors, the factors comprising central processing unit (CPU) resources, memory resources, and availability of resources relative to other servers.

13. The method of claim 1 wherein load sharing the packets using a layer 3 forwarding operation comprises accessing an equal cost multipath (ECMP) routing table using parameters in the packets to perform the load sharing.

14. The method of claim 1 wherein the IP packet forwarding device uses access control lists (ACLs) in determining whether to load balance network traffic flows.

15. A layer 3 packet forwarding and layer 2 switching device for performing stateless load balancing, the device comprising:

a processor; and

a memory storing instructions, which when executed by the processor implement;

a proxy address resolution protocol (ARP) function for responding to ARP requests from clients, the ARP requests including a virtual IP (VIP) address shared by the device and a plurality of servers coupled to the device, with the medium access control (MAC) address of the device; and

a load balancing module for receiving, from the clients, packets addressed to the VIP address and having the MAC address of the device and for load sharing the packets among the servers using a layer 3 forwarding operation that appears to the clients as a layer 2 switching operation by performing the layer 3 forwarding operation based on the MAC address received from the client.

16. The device of claim 15 wherein the servers have different MAC addresses.

17. The device of claim 15 wherein the servers are members of the same virtual local area network (VLAN).

18. The device of claim 15 wherein the servers are members of different virtual local area networks (VLANs) and wherein the load balancing module is configured to perform the load sharing on a per-VLAN basis using different VIP addresses for different VLANs.

19. The device of claim 15 wherein the load balancing module is configured to forward packets of the same network traffic flow to the same server without storing state information for the flows.

20. The device of claim 15 wherein the device is configured to actively check the status of the servers and to update load sharing information based on the status.

21. The device of claim 15 wherein the device is configured to forward packets addressed to an individual server without performing load sharing.

22. The device of claim 15 wherein the device is configured to group network-facing ports and server-facing ports into a single VLAN.

23. The device of claim 15 wherein device is configured to group network-facing ports and server-facing ports into multiple VLANs, wherein each VLAN includes one or more network-facing ports and one or more server-facing ports.

24. The device of claim 15 wherein the load balancing module is configured to load share packets among servers corresponding to weights associated with the servers.

25. The device of claim 24 wherein the weights are determined using or more factors, the factors comprising central processing unit (CPU) resources, memory resources, and availability of resources relative to other servers.

26. The device of claim 15 wherein the load balancing module is configured to access an equal cost multipath (ECMP) routing table using parameters in the packets to perform the load sharing.

27. The device of claim 15 comprising:

access control lists (ACLs) for use in determining whether to load balance network traffic flows.

28. A non-transitory computer readable medium containing a computer program including computer executable instructions that when executed by the processor of a computer perform steps comprising:

at a layer 3 packet forwarding and layer 2 switching device:

responding to an address resolution protocol (ARP) request from clients, the ARP request including a virtual IP (VIP) address shared by the device and a plurality of servers coupled to the device with the medium access control (MAC) address of the device;

receiving, from the clients, packets addressed to the VIP address and having the MAC address of the device; and

load sharing the packets among the servers using a layer 3 forwarding operation that appears to the clients as a layer 2 switching operation by performing the layer 3 forwarding operation based on the MAC address received from the client.

Assignments (8)
AMENDED SECURITY AGREEMENT Recorded Aug 18, 2023
From: EXTREME NETWORKS, INC.; AEROHIVE NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 064782/0971 →
SECURITY INTEREST Recorded May 1, 2018
From: EXTREME NETWORKS, INC.
To: BANK OF MONTREAL
Reel/Frame 046050/0546 →
RELEASE OF SECURITY INTEREST Recorded May 1, 2018
From: SILICON VALLEY BANK
To: EXTREME NETWORKS, INC.
Reel/Frame 046051/0775 →
THIRD AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 044639/0300 →
SECOND AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Jul 14, 2017
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 043200/0614 →
AMENDED AND RESTATED PATENT AND TRADEMARK SECURITY AGREEMENT Recorded Oct 31, 2016
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 040521/0762 →
SECURITY AGREEMENT Recorded Jul 27, 2015
From: EXTREME NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 036189/0284 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2010
From: GROSSER, DONALD B.; RICHARDSON, HOOD L. JR.
To: EXTREME NETWORKS, INC.
Reel/Frame 024694/0543 →
Continuity (2)
Provisional Application 61334724 · May 14, 2010
Related Publication 20110283013A1 · Nov 17, 2011