MPTCP Sub-session Establishment via NAT and Firewall Traversal
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
Figure 1~13
Figure 2~3
Figure 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.