Stateless Load Balancing via ARP Proxy and Layer 3 Forwarding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current stateless load balancing methods lack features and suffer from limitations such as less reliable flow persistency and restrictive addressing schemes, which restrict their ability to accurately distribute network traffic flows across servers.
Innovation Solution
A method and system for stateless load balancing using a layer 3 packet forwarding and layer 2 switching device that responds to ARP requests with a virtual IP address, load shares packets among servers using a layer 3 forwarding operation that appears as a layer 2 switching operation, and employs an ARP proxy function to manage traffic distribution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If stateless load balancing is used, then resource consumption is reduced and performance is improved, but flow persistency reliability deteriorates
Solution Approach 1:
The patent applies preliminary action by pre-establishing binding pairs between VIPs and server IPs in a forwarding table before traffic arrives. This allows the load balancer to perform fast stateless packet forwarding while maintaining flow persistency through pre-computed hash-based server selection, resolving the contradiction between speed and reliability.
Solution Approach 2:
The patent transitions from traditional layer 2 switching to layer 3 packet forwarding by introducing IP address-based hashing and binding pairs. This dimensional change enables stateless load balancing to achieve both high performance and reliable flow persistency by operating at the network layer with pre-computed forwarding decisions.
2Reliability
If stateful load balancing is used, then flow persistency and feature richness are improved, but resource consumption increases
Solution Approach 1:
The patent extracts only the essential load balancing functionality from stateful systems by implementing pre-computed binding pairs and hash-based server selection. This eliminates the need for continuous state tracking and maintenance while preserving flow persistency, thereby reducing resource consumption significantly.
Solution Approach 2:
The patent uses inexpensive hash functions and simple forwarding table lookups instead of complex state tracking mechanisms. The binding pairs are pre-computed and discarded after use, replacing expensive stateful operations with cheap stateless computations that achieve the same load balancing goals.
3Ease of manufacture
If conventional stateless load balancing is used, then implementation simplicity is improved, but addressing flexibility deteriorates
Solution Approach 1:
The patent makes the load balancer universal by implementing both layer 2 switching and layer 3 packet forwarding capabilities. The same device can handle traditional MAC address-based traffic and IP address-based load balanced traffic, providing addressing flexibility without sacrificing implementation simplicity.
Solution Approach 2:
The patent introduces an intermediary forwarding table containing binding pairs between VIPs and server IPs. This intermediary structure enables flexible addressing schemes by allowing VIPs to be mapped to multiple servers while maintaining simple packet forwarding rules, bridging the gap between simplicity and flexibility.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
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.