Transparent Network Device Discovery via TCP SACK Piggybacking

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveautomated discoveryVSAvoidconfiguration complexity
Core Design Contradiction:
Extent of automationVSDevice complexity

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

Inventive Principle:
Principle #25Self-service

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

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvediscovery informationVSAvoidnetwork latency
Core Design Contradiction:
Loss of informationVSLoss of time

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

Inventive Principle:
Principle #5Merging (Combining)

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

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improvediscovery automationVSAvoidnetwork flow integrity
Core Design Contradiction:
Extent of automationVSReliability

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

Inventive Principle:
Principle #35Parameter changes

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

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8725894B2Transparent auto-discovery of network devices logically located between a client and server
Publication Date: 2014.05.13 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8725894B2 patent drawing
  • US8725894B2 patent drawing
  • US8725894B2 patent drawing

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.