Selective TCP Option Handling in Proxy Spoofing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional TCP proxies often fail to effectively handle TCP options, leading to loss of benefits, failures in establishing or maintaining TCP connections, and unintended transport- or application-level behavior due to inadequate handling of TCP options.

Innovation Solution

A method and system for enhanced selective proxying of TCP options, where local and remote proxy nodes determine whether to spoof TCP connections and handle TCP options by selectively processing and communicating them, using a proxying protocol that encodes TCP options information in messages, allowing for optimized TCP option handling based on connection-specific rules and configurations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If TCP proxies spoof connections to improve performance, then throughput is improved, but TCP options are lost or mishandled causing connection failures

Engineering Contradiction:
ImprovethroughputVSAvoidconnection establishment
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a proxy node as an intermediary between the client and server that maintains separate TCP connections with each endpoint. The proxy node receives TCP options from the client connection and selectively forwards appropriate options to the server connection, acting as a mediator that preserves option information while enabling performance optimizations like connection spoofing and local acknowledgments.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the TCP connection into multiple legs (client-to-proxy and proxy-to-server) with independent TCP option handling for each leg. This allows the proxy to selectively apply different option sets to different connection segments, enabling optimized handling where options are preserved where needed and suppressed where they would cause issues.

Inventive Principle:
Principle #1Segmentation

2Reliability

If TCP proxies handle all TCP options to maintain compatibility, then connection reliability is improved, but processing complexity and overhead increase

Engineering Contradiction:
Improveconnection compatibilityVSAvoidoption processing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies different handling strategies to different TCP options based on their specific requirements. The proxy node selectively forwards, modifies, or suppresses individual options based on pre-configured rules and connection characteristics, rather than applying a uniform handling approach to all options. This local quality approach reduces complexity by only processing what is necessary for each specific option type.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the handling parameters for TCP options based on connection state, option type, and configuration. The proxy dynamically adjusts which options are forwarded, modified, or suppressed by changing the processing parameters for each option based on the specific connection context, reducing overall processing complexity through adaptive parameter adjustment.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If TCP proxies suppress TCP options to simplify processing, then processing overhead is reduced, but benefits of TCP options are lost

Engineering Contradiction:
Improveprocessing overheadVSAvoidTCP performance benefits
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent performs preliminary configuration of TCP option handling rules before connections are established. The proxy node is pre-configured with policies that determine which options to forward, modify, or suppress based on connection type, endpoint characteristics, and performance requirements. This preliminary action reduces runtime processing overhead while preserving beneficial options.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic TCP option handling where the proxy adapts its option processing behavior based on real-time connection characteristics, network conditions, and observed endpoint behavior. The proxy dynamically adjusts which options are active on each connection leg, enabling flexible optimization that preserves performance benefits while managing processing overhead through adaptive rather than static handling.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3577877B1Methods and systems for enhanced support of TCP options in a TCP spoofed system
Publication Date: 2022.05.04 HUGHES NETWORK SYST
  • EP3577877B1 patent drawingFigure 1
  • EP3577877B1 patent drawingFigure 2
  • EP3577877B1 patent drawingFigure 3A

AI summary

Methods and systems utilizing receiving, at a first proxy node, a first TCP SYN segment from a first endpoint to establish a TCP connection with a second endpoint, the first TCP SYN segment including a first TCP option having a first option-kind value; transmitting a first spoofed connection request message corresponding to the first TCP SYN segment from the first proxy node to a second proxy node associated with the second endpoint; including, in response to the first TCP option having the first option-kind value, an indication in the first spoofed connection request message that a TCP option having the first option-kind value was included in the first TCP SYN segment; receiving, at the first proxy node, a second TCP SYN segment from a third endpoint to establish a TCP connection with a fourth endpoint, the second TCP SYN segment including a second TCP option having a second option-kind value different from the first option-kind value; transmitting a second spoofed connection request message corresponding to the second TCP SYN segment from the first proxy node to a third proxy node associated with the fourth endpoint; and not including, in response to the second TCP option having the second option-kind value, an indication in the second spoofed connection request message that a TCP option having the second option-kind value was included in the second TCP SYN segment.