Intermediary Device MSS Learning for TCP Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Intermediary devices in data communication networks face inefficiencies when managing network traffic due to mismatched Maximum Segment Size (MSS) values between clients and services, leading to unnecessary CPU usage and packet splitting, which results in inefficient processing and resource wastage.
Innovation Solution
The intermediary device learns and adapts the MSS values of backend services through monitoring and statistics, allowing it to set an optimal MSS for TCP connections, thereby avoiding packet splitting and improving processing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If the intermediary device uses a globally configured max MSS value for all services, then the device is simple to operate and configure, but packet splitting occurs unnecessarily leading to CPU cycle waste and processing inefficiency
Solution Approach 1:
The system dynamically changes the MSS parameter based on service-specific requirements. Instead of using a fixed globally configured MSS value, the intermediary device learns and adapts MSS values for different backend services through monitoring TCP acknowledgments and statistics, then applies appropriate MSS values per service to eliminate unnecessary packet splitting and improve processing efficiency
Solution Approach 2:
The system transitions from a static MSS configuration approach to a dynamic learning and adaptation mechanism. The intermediary device continuously monitors TCP acknowledgments from backend services, learns the actual MSS values through statistics collection, and dynamically adjusts MSS settings per service based on observed network conditions and service requirements
2Productivity
If the intermediary device performs packet splitting to accommodate service-specific MSS requirements, then processing efficiency improves, but CPU cycles are consumed unnecessarily and resource wastage increases
Solution Approach 1:
The system performs preliminary learning of MSS values through monitoring TCP acknowledgments before actual data transmission occurs. By collecting statistics during the TCP handshake and initial communication phase, the intermediary device pre-determines the appropriate MSS values for each service, eliminating the need for runtime packet splitting operations and associated CPU overhead
Solution Approach 2:
The system uses feedback from TCP acknowledgment packets to learn and determine service-specific MSS values. The intermediary device monitors the ACK packets returned by backend services, extracts MSS information from these feedback signals, and uses this information to configure optimal MSS values, thereby avoiding unnecessary packet splitting and reducing CPU cycle consumption
Data Source
AI summary
The virtual Server (vServer) of an intermediary device deployed between a plurality of clients and services supports parameters for setting maximum segment size (MSS) on a per vServer/service basis and for automatically learning the MSS among the back-end services. In case of vServer/service setting, all vServers will use the MSS value set through the parameter for the MSS value set in TCP SYN+ACK to clients. In the case of learning mode, the backend service MSS will be learnt through monitor probing. The vServer will monitor and learn the MSS that is being frequently used by the services. When the learning is active, the intermediary device may keep statistics of the MSS of backend services picked up during load balancing decisions and once an interval timer expires, the MSS value may be picked by a majority and set on the vServer. If there is no majority, then the highest MSS is picked up to be set on the vServer.


