MPTCP Sub-session Establishment via NAT and Firewall Traversal

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The establishment of MPTCP connections is hindered by network address translators and firewalls, leading to failures in establishing sub-sessions due to mismatched external and internal IP addresses and port numbers, especially in configurations involving NAT64, NPTv6, IPv4, and IPv6 firewalls.

Innovation Solution

A TCP communication method that involves updating connection tables with reliable IP addresses and port numbers, creating entries in network address translators and firewalls, and transmitting TCP options to ensure seamless sub-session creation and management across multiple paths, including the TRUST, TRU_ADD, LIFETIME, and RATIO options to manage IP addresses, port numbers, and traffic distribution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If MPTCP connections are established using multiple IP addresses and port numbers, then network resource utilization and communication reliability are improved, but connection establishment fails when network address translators or firewalls are present due to mismatched external and internal addresses

Engineering Contradiction:
Improveconnection reliabilityVSAvoidNAT and firewall blocking
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by having the initiating device collect information about NAT devices and firewalls before establishing MPTCP connections. The device proactively creates appropriate entries in these network security devices and obtains reliable external IP addresses and port numbers in advance, ensuring that connection establishment can proceed successfully despite the presence of NAT and firewall configurations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses an intermediary approach by introducing a relay mechanism where the initiating device acts as an intermediary between the communicating devices. It collects NAT and firewall information, manages the creation of appropriate entries, and coordinates the exchange of reliable address and port number information between the two communicating devices, thereby mediating the connection establishment process through environments with NAT and firewalls.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If TCP connection information is updated dynamically, then adaptability to network changes is improved, but connection stability deteriorates due to IP address changes and interface unavailability

Engineering Contradiction:
Improvenetwork adaptabilityVSAvoidconnection stability
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent applies feedback by implementing a mechanism where communicating devices continuously exchange information about their available IP addresses and port numbers through TCP options. When a device's network conditions change (IP address change, interface unavailability), it notifies the other device through feedback messages, allowing the receiving device to update its connection information and maintain stable communication despite dynamic network changes.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent embodies dynamics by enabling TCP connections to adapt dynamically to changing network conditions. The connection information (IP addresses, port numbers) is not fixed but can be updated during the connection lifetime through the exchange of TCP options. This allows the connection to remain stable while adapting to dynamic changes in network topology, interface availability, and address assignments.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If multiple IP addresses are assigned to MIF terminals for different networks, then communication versatility is improved, but connection management complexity increases due to TCP session identification requirements

Engineering Contradiction:
Improvemulti-network communication capabilityVSAvoidconnection management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies universality by enabling a single TCP connection to serve multiple functions across different networks through the use of multiple IP addresses and port numbers. The MPTCP connection can dynamically utilize any of the assigned IP addresses and ports depending on network conditions, making the connection management system universal rather than requiring separate TCP connections for each network interface.

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

Solution Approach 2:

The patent implements self-service by enabling MPTCP terminals to autonomously manage their own multiple IP addresses and port numbers. The devices automatically collect NAT and firewall information, create appropriate entries, exchange connection information through TCP options, and maintain the connection without requiring external intervention, thereby reducing overall system complexity despite the multi-address configuration.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3127295B1Method of communication by multiple paths between two terminals
Publication Date: 2021.12.01 ORANGE SA
  • EP3127295B1 patent drawingFigure 1~13
  • EP3127295B1 patent drawingFigure 2~3
  • EP3127295B1 patent drawingFigure 4~5

AI summary

The present invention relates to a method of TCP (Transmission Control Protocol) communication between a first device (T1) and a second device (T2), comprising the following steps: a) said first device (T1), respectively a relay device (R) connected to the first device (T1), collects information relating to the possible existence of network address translators and/or firewalls spliced into the flow on at least one possible communication path between the first device (T1) and said second device (T2) and known to the first device (T1), respectively to the relay device (R) connected to the first device (T1); b) the first device (T1), respectively said relay device (R), creates in at least one such network address translator and/or firewall an input comprising at least one IP address and/or at least one port number of the first device (T1); and c) the first device (T1), respectively said relay device (R), transmits to the second device (T2) said at least one IP address and/or said at least one port number, in a TCP option. Application to the TCP multi-path protocol.