摘要 |
A capability is provided for statelessly load balancing Transmission Control Protocol (TCP) connections across a set of servers. A load balancer receives a TCP SYN packet from a client, selects a server for a TCP connection for the client, forms a modified TCP SYN packet including an address of the client, and propagates the modified TCP SYN packet toward the server. The server receives the modified TCP SYN packet, forms a TCP SYN+ACK packet including an identifier (e.g., n bits of an address, an n-bit server index based on mapping information of the load balancer, or the like) of the server, and propagates the modified TCP SYN+ACK packet toward the load balancer. The load balancer receives a TCP packet from the client on the TCP connection, determines a server associated with the TCP connection based on information included within the TCP packet, and propagates the TCP packet toward the server. |
主权项 |
1. An apparatus, comprising:
a processor and a memory communicatively connected to the processor, the processor configured to:
receive a Transmission Control Protocol (TCP) SYN packet comprising a source address field including an address of a client from which the TCP SYN packet is received and a destination address field including an address of a load balancer;select a server to support a TCP connection for the client;form, based on the TCP SYN packet, a modified TCP SYN packet comprising a source address field including the address of the load balancer, a destination address field including an address of the server, and the address of the client; andpropagate the modified TCP SYN packet toward the selected server. |