Intermediary Device IP Address Insertion via TCP Options

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data communication networks struggle to maintain accurate identification of client IP addresses and overlay network data as requests traverse intermediary devices, leading to modifications in IP addresses and loss of original client information.

Innovation Solution

An intermediary device is deployed between clients and servers to receive acknowledgement packets with transport layer option fields, extracting and storing overlay network data containing IP addresses of traversed hosts, and inserting this data into application layer protocol headers for subsequent requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If intermediary devices are deployed to manage network traffic, then service quality and traffic management are improved, but original client IP address identification is lost or modified

Engineering Contradiction:
Improvetraffic managementVSAvoidclient IP address identification
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The intermediary device extracts overlay network data including client IP addresses from acknowledgment packets during the TCP handshake phase, before any application layer communication occurs. This preliminary extraction ensures the original client IP address is captured and stored in association with the transport layer connection before any potential modifications can occur during subsequent traffic forwarding.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a new intermediary component within the intermediary device that specifically handles overlay network data extraction and insertion. This component acts as a mediator between the TCP transport layer and application layer protocols, extracting IP address information from acknowledgment packets and inserting it into application layer headers, thereby preserving client identification information that would otherwise be lost through the intermediary device.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If overlay network data is extracted and inserted into application layer headers, then client IP address integrity is maintained, but device complexity increases

Engineering Contradiction:
ImproveIP address integrityVSAvoidintermediary device structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The intermediary device leverages existing TCP acknowledgment packet processing functionality to extract overlay network data, rather than requiring completely separate extraction and insertion mechanisms. The device uses its existing transport layer connection management capabilities to associate extracted IP address information with ongoing connections, thereby maintaining reliability while minimizing the need for additional complex components.

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

Solution Approach 2:

The intermediary device uses the acknowledgment packets themselves, which are already part of the TCP handshake process, to carry the overlay network data. The device extracts information that is already present in the acknowledgment packets, rather than requiring separate signaling mechanisms or additional protocol exchanges, thereby maintaining reliability while reducing device complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2504974B1Systems and methods for client IP address insertion via TCP options
Publication Date: 2019.04.24 CITRIX SYSTEMS INC
  • EP2504974B1 patent drawingFigure 1A
  • EP2504974B1 patent drawingFigure 1B
  • EP2504974B1 patent drawingFigure 1C

AI summary

The present disclosure presents systems and methods for maintaining identification of network devices sending or traversing a network packet en route to an intermediary device deployed between a source and a destination network device. An intermediary may receive an acknowledgement packet comprising an option field identified by an option number for a transport layer connection established via intermediary. The acknowledgement packet may comprise overlay network data that identifies IP addresses of the originating network device and host network devices intercepting and forwarding the network packet to the intermediary. The intermediary device may determine the option number for the option field from which to obtain the overlay network data identifying IP addresses. The intermediary device may receive a second request of the client to access the server via the transport layer connection and insert IP addresses from the overlay network data into an application layer protocol header of the second request forwarded to the server.