Transparent Network Device Discovery via TCP SACK Piggybacking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network technologies lack an efficient and automated method for discovering intermediate network devices without disrupting standard network flows or requiring additional configuration, especially in high-latency environments.
Innovation Solution
The technique modifies the TCP receive window size in SYN packets during the three-way handshake and uses the SACK option to piggyback discovery information between intermediate devices, allowing them to discover each other transparently and automatically without impacting standard TCP/IP behavior or introducing additional round trips.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Extent of automation
If manual configuration methods are used to discover intermediate network devices, then device discovery can be achieved, but the complexity of deployment and configuration increases significantly
Solution Approach 1:
The intermediate devices perform self-discovery by automatically modifying TCP window size values in packets they intercept and by embedding their identification information in SACK options of packets they forward. This eliminates manual configuration requirements while maintaining simple deployment
Solution Approach 2:
The system changes the TCP window size parameter from its standard value to a special indicator value to mark packets for discovery purposes. This parameter modification enables automated discovery without requiring new protocols or complex configuration
2Loss of information
If dedicated discovery protocols or additional packets are introduced, then intermediate devices can be discovered, but network latency increases and standard TCP/IP behavior is disrupted
Solution Approach 1:
The patent combines device discovery functionality with existing TCP control packets (SYN, SYN-ACK, ACK) and standard TCP options (window size, SACK). Discovery information is embedded in the SACK option field, allowing simultaneous data transmission and discovery without additional round trips
Solution Approach 2:
Standard TCP packets and options serve dual purposes: maintaining normal TCP connection management and enabling intermediate device discovery. The window size field and SACK option are used both for their original TCP control functions and for carrying discovery information
3Extent of automation
If intermediate devices modify standard TCP/IP packet fields for discovery purposes, then automated discovery is enabled, but network flow integrity may be compromised
Solution Approach 1:
The system modifies the TCP window size parameter to a special value range (1-1500 bytes) that is reserved for discovery indication. This parameter change is reversible and does not affect the actual data transmission window, maintaining network flow integrity while enabling discovery
Solution Approach 2:
The SACK option acts as an intermediary carrier that transports discovery information between intermediate devices without affecting the core TCP data transmission. The SACK option is a standard TCP extension that can carry additional information without disrupting the primary data flow
Data Source
AI summary
Discovery of intermediate network devices is performed using a technique that piggybacks upon the existing standard TCP (Transport Control Protocol) “SACK” (Selective Acknowledgment) option in a SYN/ACK packet so that discovery information may be shared between pair-wise-deployed peer intermediate devices when a TCP/IP connection (Transport Control Protocol/Internet Protocol) is first established between network endpoints using a conventional three-way handshake. Use of the SACK option is combined with another technique which comprises modifying the original 16-bit value of the TCP receive window size to a special arbitrary value to mark a SYN packet as being generated by a first peer device. The marked SYN when received by the second peer device triggers that device's discovery information to be piggybacked in the SACK option of the SYN/ACK packet. The first device then piggybacks its discovery information in the SACK option of the ACK packet which completes the three-way handshake.


