Reproxying Unproxied TCP Connections via Endpoint Reconstruction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing proxy devices face inefficiencies in re-establishing TCP endpoints after unproxying connections, requiring additional handshake phases that are time-consuming and disrupt transparency between clients and servers.
Innovation Solution
A method and apparatus for reproxying unproxied connections by reconstructing TCP endpoints at the proxy device using stored information and packet data, allowing for seamless re-establishment without additional handshake phases, maintaining transparency and enabling the proxy device to inspect and modify packets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If the proxy device dissolves TCP endpoints after unproxying connections to free resources, then resource utilization improves, but the ability to inspect and modify packets is lost
Solution Approach 1:
The proxy device performs preliminary actions by storing connection state information (TCP sequence numbers, acknowledgment numbers, window sizes, and other protocol parameters) in connection block data structures before dissolving the TCP endpoints. This allows the proxy to later reconstruct the endpoints without requiring a full handshake, thereby maintaining packet inspection capabilities while efficiently managing resources.
2Speed
If the proxy device reconstructs TCP endpoints using stored information without handshake phases, then connection re-establishment speed improves, but connection reliability may be compromised
Solution Approach 1:
The proxy device creates copies of the original TCP endpoint parameters and connection state information in connection block data structures. When reconstructing endpoints, it uses these copied parameters to rapidly re-establish connections without full handshakes. The system verifies reliability by matching packet sequences against the stored connection state, ensuring that the reconstructed connection maintains the same reliability characteristics as the original.
3Reliability
If the proxy device maintains full TCP connections with TCBs for each endpoint, then connection management reliability improves, but resource overhead increases
Solution Approach 1:
The proxy device extracts only the essential connection state information (TCP sequence numbers, acknowledgment numbers, window sizes, and other critical parameters) from the full TCB structures and stores them in simplified connection block data structures. This extraction allows the system to maintain connection management reliability with significantly reduced resource overhead, as the connection blocks contain only the minimal necessary information to reconstruct endpoints when needed.
Data Source
AI summary
A method is disclosed for reproxying connections. According to one aspect, a first connection is established between a client and a proxy device. A second connection is established between the proxy device and a server. The first connection comprises a first endpoint at the client and a second endpoint at the proxy device. The second connection comprises a third endpoint at the proxy device and a fourth endpoint at the server. The first and second connections are unproxied by dissolving the second and third endpoints while maintaining the first and fourth endpoints. After the connections have been unproxied, a packet is received at the proxy device. In response, the first and second connections are reproxied by creating fifth and sixth endpoints at the proxy device, so that the first connection comprises the fifth endpoint and the second connection comprises the sixth endpoint.


