Stateful Switch TCP Connection Acceleration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The time required for TCP connection establishment between a client and a server is significant due to the three-way handshake process, which can be a considerable part of overall connection time and is dependent on the round trip time between the two parties, and existing solutions like TCP proxies require permanent connections and state management.
Innovation Solution
Deploying stateful switches with packet generation capabilities that receive a TCP SYN segment, generate a sequence number coordinated with the server, respond with a SYN ACK segment, and forward the SYN segment to the server, acting as a mere forwarding element once the connection is established, without maintaining any state related to the TCP connection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If a TCP proxy is deployed close to the client to reduce connection establishment time, then the connection setup time is reduced, but the proxy requires permanent proactively established connections towards the server which increases device complexity and resource consumption
Solution Approach 1:
The patent applies preliminary action by having the stateful switch generate the SYN-ACK segment immediately upon receiving the SYN segment, before the actual three-way handshake is complete. This allows the switch to prepare the acknowledgment in advance, reducing the perceived connection establishment time for the client without requiring permanent proxy connections.
Solution Approach 2:
The stateful switch acts as an intermediary between the client and server during the TCP handshake. It receives the SYN from the client, generates a coordinated SYN-ACK response, and forwards the SYN to the server. This intermediary role eliminates the need for permanent proxy connections while still achieving connection acceleration.
2Speed
If a TCP proxy is deployed in the middle of the network path to provide early replies, then the connection acceleration is achieved, but the proxy must maintain permanent connections and manage state which increases resource consumption
Solution Approach 1:
The stateful switch performs preliminary actions by generating the SYN-ACK segment immediately when the SYN is received, rather than waiting for the complete handshake. This preliminary generation of the acknowledgment segment accelerates the connection process while allowing the switch to release state after the handshake completes, reducing ongoing resource consumption.
Solution Approach 2:
The patent implements dynamics by making the switch's state management temporary rather than permanent. The switch maintains state only during the brief TCP handshake process, then releases it once the connection is established. This dynamic state management allows connection acceleration without the continuous resource consumption associated with permanent proxy connections.
3Loss of time
If TCP Fast Open with session cookies is used for connection re-establishment, then subsequent connections are faster, but the initial connection still requires full three-way handshake and the client must manage cookies which increases client complexity
Solution Approach 1:
The stateful switch provides self-service by maintaining the necessary state information during the handshake process and automatically generating the SYN-ACK with appropriate sequence numbers. This eliminates the need for the client to manage session cookies or maintain state, reducing client complexity while still enabling fast re-connections.
Solution Approach 2:
The stateful switch acts as an intermediary that handles the complexity of state management during connection establishment. By managing the sequence number coordination and SYN-ACK generation, the switch offloads this complexity from the client, making the connection process simpler for the client while enabling faster re-connections.
Data Source
AI summary
A method for acceleration of TCP connection establishment between a client and a server in a network includes deploying at least one stateful switch with packet generation capabilities in the network, and configuring the at least one stateful switch to receive a TCP SYN segment from the client, generate a sequence number in a manner coordinated with the server, answer, on behalf of the server, the TCP SYN segment received from the client with a corresponding SYN ACK segment containing the sequence number, forward the TCP SYN segment received from the client to the server, and act as a forwarding element for segments exchanged between the client and the server once a TCP connection is established such that no state relating to the TCP connection is held by the at least one stateful switch.


