TCP Timestamp Synchronization for Offloaded Network Connections
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
TCP connections offloaded to a network interface device (NID) face challenges with accurate RTT measurement and PAWS mechanism due to non-monotonically increasing timestamp values during migration from host to NID or vice versa, leading to excessive retransmissions and poor performance.
Innovation Solution
Synchronizing the timestamp clocks between the host and NID by transferring a clock value during connection migration, ensuring the timestamp clock never runs backward, and preventing clock acceleration through periodic checks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If TCP connections are offloaded to NID for processing, then processing efficiency is improved, but timestamp clock synchronization becomes problematic leading to non-monotonically increasing timestamp values
Solution Approach 1:
The patent implements a feedback mechanism where the NID sends timestamp information to the host, and the host responds with synchronization adjustments. This closed-loop feedback ensures the NID's timestamp clock remains synchronized with the host, preventing non-monotonic timestamp values while maintaining connection offloading benefits.
Solution Approach 2:
The host acts as an intermediary between the NID and the network protocol requirements. It receives timestamp data from the NID, processes synchronization information, and sends corrective feedback to the NID, thereby mediating the timestamp clock synchronization issue that arises from connection offloading.
2Adaptability or versatility
If timestamp clocks are not synchronized between host and NID, then connection migration flexibility is improved, but RTT measurement accuracy deteriorates
Solution Approach 1:
The synchronization feedback mechanism allows the host to provide correction information to the NID based on observed timestamp deviations. This enables the NID to maintain accurate RTT measurements even when connections migrate between host and NID, as the feedback ensures timestamp clocks remain synchronized despite the migration flexibility.
3Reliability
If PAWS mechanism is implemented without synchronized timestamps, then duplicate segment rejection capability is improved, but erroneous segment discards increase
Solution Approach 1:
The timestamp synchronization feedback ensures that the NID's timestamp clock aligns with the host's clock. This prevents the PAWS mechanism from incorrectly identifying valid segments as duplicates, thereby eliminating erroneous segment discards while maintaining the ability to reject actual duplicate segments.
Data Source
AI summary
A host computer running a TCP connection transfers the connection to a TCP offload network interface device (NID) which performs certain network processes, thereby reducing the load on the host CPU. The NID later transfers the connection back to the host. The host and the NID maintain separate timestamp clocks which provide timestamp values for connections using the TCP Timestamp option. Synchronization of the host and NID timestamp clocks can be realized by transfer of a clock value. The NID or host receives the transferred TCP connection and the transferred clock value, and decides whether to update its own clock to equal the transferred clock value, the decision being guided by the requirement to never allow the timestamp clock to run backward. Acceleration of the timestamp clocks is prevented so that RTT measurements are accurate. Synchronization of the host and NID timestamp clocks improves performance and reduces erroneous connection drops.


