NAT Traversal via Sequential Port Number Sequences
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network devices behind different NATs cannot connect to each other due to the shielding effect of their respective NATs, limiting peer-to-peer communication across different local networks.
Innovation Solution
A network communication system and method that involves a link server and two address translators, where one network device generates a port number sequence with a mix of gradually and randomly generated port values based on external port numbers to establish a connection through the link server, allowing traversal across NATs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If NAT is used to conserve IP addresses, then the number of usable IP addresses is improved, but network devices behind different NATs cannot traverse to connect to each other
Solution Approach 1:
The patent introduces a link server as an intermediary component that facilitates peer-to-peer connection establishment between devices behind different NATs. The link server stores address information of communicating devices and assists in the traversal process by providing external port numbers, enabling devices to establish direct connections despite being behind NAT barriers.
Solution Approach 2:
The patent transitions from traditional single-port NAT traversal to multi-port sequence traversal. By generating and trying multiple port numbers in sequence (combining sequential and random port values), the system adds a dimensional aspect of port number exploration, increasing the probability of successfully traversing symmetric NATs that block unsolicited incoming connections.
2Device complexity
If traditional NAT traversal methods are used, then connection establishment is simple, but the connection speed and success rate are low due to random port guessing
Solution Approach 1:
The patent performs preliminary actions by first obtaining the external port number through the link server before attempting connection. This preliminary information gathering step allows the system to start port traversal from a known reference point (the external port number) rather than completely random guessing, significantly improving connection establishment speed while maintaining manageable complexity.
Solution Approach 2:
The patent implements dynamic port number generation by combining sequential port values (starting from the external port number) with random port values. This dynamic approach adapts the traversal strategy during the connection process, trying ports in a structured sequence first and then expanding to random ports if needed, optimizing both speed and success rate.
Data Source
AI summary
A network-traversal method includes: receiving an address information of a network device from a link server; generating a port number sequence composed of port values according to an external port number of the address information; and sending a link packet to an external network address of the address information in an order of the port values in the port number sequence until receiving an acknowledgement packet from the network device. At least one of the port values is related to the external port number. A part of the rest port values is/are generated gradually based on the external port number, and the others of the rest port values is/are generated randomly.


