Secure Session Keepalive Autotuning for Middlebox Timeout Avoidance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current keepalive protocols have fixed configurations that do not adapt to network conditions, leading to inefficient packet transmission and potential connection termination due to unnecessary decryption and analysis, or connection loss from insufficient packet transmission.
Innovation Solution
A client device determines an optimal keepalive interval based on network conditions by sending keepalive test probes at varying intervals and adjusting the interval based on response reception, caching this interval for subsequent sessions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a fixed keepalive interval is used to ensure connections remain open through middleboxes, then connection reliability is improved, but unnecessary packet transmission occurs during prolonged data inactivity
Solution Approach 1:
The keepalive interval is changed from a fixed configuration to a dynamic value that adapts based on network conditions and observed middlebox behavior. The system monitors connection status and adjusts the interval accordingly, sending packets more frequently when needed and less frequently when the connection is stable, thereby maintaining reliability while reducing unnecessary transmissions.
Solution Approach 2:
The system implements feedback mechanisms by monitoring whether keepalive packets are successfully transmitted and whether connections remain open. Based on this feedback, the keepalive interval is adjusted - if packets are successfully sent and connections maintained, the interval may be increased; if connections are terminated, the interval is decreased. This closed-loop control optimizes the balance between reliability and resource consumption.
2Stability of the object's composition
If keepalive packets are sent frequently to prevent connection termination by middleboxes, then connection stability is improved, but resource consumption increases due to decryption and analysis
Solution Approach 1:
The system changes the parameter of keepalive interval from a static configuration to a dynamic value that is adjusted based on observed network conditions and middlebox behavior. By modifying this parameter adaptively, the system maintains connection stability while minimizing the frequency of keepalive packets to the lowest necessary level, thereby reducing decryption and analysis overhead.
Solution Approach 2:
Instead of sending keepalive packets at a fixed conservative interval that ensures stability but causes excessive resource usage, the system uses partial action by sending packets only at the minimum necessary frequency to maintain connections. The interval is extended as much as possible while still preventing middlebox termination, thereby reducing the number of packets requiring decryption and analysis.
3Reliability
If a conservative keepalive interval is used to account for unknown middlebox behavior, then connection reliability is improved, but the interval cannot be optimized for specific network conditions
Solution Approach 1:
The system performs preliminary actions by initially using a conservative keepalive interval to ensure connection reliability when network conditions are unknown. As the system observes middlebox behavior and network conditions over time, it gradually adjusts the interval to be optimized for the specific network environment. This allows the system to start with reliability as the priority and then adapt to achieve optimization.
Solution Approach 2:
The system uses self-service by automatically monitoring its own connection status and middlebox responses, then autonomously adjusting the keepalive interval without external intervention. This self-adjustment mechanism enables the system to adapt to specific network conditions while maintaining reliability, eliminating the need for manual configuration or external control.
Data Source
AI summary
Techniques for auto tuning keepalive packets intervals to an optimal interval are described. A communication session between a client device and a server over a network is established. The client device determines that an optimal keepalive interval associated with sending packets to the server over the network is unknown to the client device. The optimal keepalive interval defines an amount of time that is less than a maximum amount of time between the packets after which an intermediary device in the network will terminate the communication session. In response to determining that the optimal keepalive interval is unknown to the client device, keepalive test probes are transmitted to the server at different time intervals. An optimal keepalive interval is determined based at least in part on response packets received. Finally, keepalive packets are transmitted to the server according to the optimal keepalive interval.


