Policy-Based Forwarding Element Preserves Client IP in Load Balancer Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Server clusters in datacenters face challenges in maintaining client IP address information for proper operation, as existing load balancers perform NAT operations that hide client IP addresses, necessitating complex techniques or additional header information to support server operations.
Innovation Solution
A method involving an intervening forwarding element, such as a router, creates and stores L2 or L3 redirection records to associate a load balancer identifier with a message flow, allowing for the forwarding of data messages between clients and servers while ensuring that return traffic is routed through the load balancer, thereby preserving client IP information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If load balancers perform NAT operation to replace source IP address with load balancer IP, then return traffic is routed back to load balancer for stateful services, but client IP address is hidden from servers
Solution Approach 1:
The patent introduces a forwarding element as an intermediary between the load balancer and servers. This intermediary receives forward traffic from the load balancer, stores the association between load balancer identifier and flow identifier, and redirects return traffic back to the correct load balancer. This mediator enables servers to receive traffic with preserved client IP addresses while maintaining load balancer stateful services.
2Extent of automation
If load balancers hide client IP addresses through NAT, then load balancer stateful operations are maintained, but servers require complex techniques like cookie persistence or additional header information
Solution Approach 1:
The forwarding element acts as a mediator that preserves client IP addresses in the traffic flow while routing through the load balancer. By implementing policy-based routing with redirection records, the system maintains load balancer stateful operations without requiring servers to implement complex workarounds like cookie persistence or additional header information.
3Loss of information
If forwarding element creates redirection records to preserve client IP, then client IP visibility is maintained for servers, but additional forwarding operations are required
Solution Approach 1:
The forwarding element performs preliminary actions by creating redirection records in advance when forward traffic is received. These records associate load balancer identifiers with flow identifiers before return traffic arrives. This preliminary setup enables efficient redirection of return traffic without requiring complex real-time decision-making, reducing operational complexity.
Data Source
AI summary
Some embodiments of the invention provide a method for forwarding data messages between a client and a server (e.g., between client and server machines and/or applications). In some embodiments, the method receives a data message that a load balancer has directed from a particular client to a particular server after selecting the particular server from a set of several candidate servers for the received data message's flow. The method stores an association between an identifier associated with the load balancer and a flow identifier associated with the message flow, and then forwards the received data message to the particular server. The method subsequently uses the load balancer identifier in the stored association to forward to the particular load balancer a data message that is sent by the particular server. The method of some embodiments is implemented by an intervening forwarding element (e.g., a router) between the load balancer set and the server set.


