NAT Device Characterization via STUN Probe Packets
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Network Address Translation (NAT) devices hinder packet traversal due to unknown or uncharacterized NAT device characteristics, leading to dropped packets when internal computers are unaware of the NAT device's settings, particularly port mappings and filtering behaviors.
Innovation Solution
An internal computer behind a NAT device uses STUN servers to determine NAT characteristics by transmitting UDP packets and analyzing responses to identify port mappings, filtering behaviors, and allocation rules, allowing it to predict and communicate the necessary port information for successful packet traversal.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If NAT devices are used to increase the number of computer connections to the Internet, then the number of concurrent connections is improved, but packet traversal reliability deteriorates due to unknown NAT characteristics
Solution Approach 1:
The internal computer performs preliminary characterization of the NAT device by sending probe packets through the NAT to a STUN server before actual communication begins. This preliminary action determines NAT characteristics (port mapping behavior, filtering rules) in advance, allowing the system to adapt subsequent packet transmission to the identified characteristics, thereby resolving the contradiction between supporting multiple concurrent connections and ensuring reliable packet traversal.
2Device complexity
If internal computers do not know NAT device characteristics, then device complexity is reduced, but communication effectiveness deteriorates due to dropped packets
Solution Approach 1:
The internal computer autonomously characterizes the NAT device by independently sending probe packets and analyzing responses from STUN servers. This self-service approach allows the internal computer to determine NAT characteristics without requiring external assistance or complex configuration from network administrators. The computer uses the obtained characteristics to predict port mappings and construct appropriate packets, thereby maintaining communication effectiveness while avoiding increased device complexity.
3Measurement precision
If STUN requests are sent to multiple servers to determine NAT characteristics, then measurement precision is improved, but loss of time increases due to multiple network round trips
Solution Approach 1:
The system sends STUN requests to multiple STUN servers simultaneously to obtain sufficient NAT characteristic information. By using multiple servers in parallel rather than sequentially, the system achieves the measurement precision required for accurate NAT characterization while minimizing the time penalty. The internal computer can stop sending requests once adequate characteristics are gathered, avoiding excessive action that would waste additional time.
Data Source
AI summary
A characterization method for a network address translation (NAT) device by an internal computer behind the NAT device includes creating a plurality of sockets; binding the plurality of sockets, respectively, to a plurality of ports; transmitting a plurality of STUN requests in user datagram protocol (UDP) packets to a plurality of STUN servers, wherein each STUN request is associated with one of the sockets; determining that the NAT device does not support UDP packets if responses are not received from the STUN servers; and determining a set of NAT characteristics of the NAT device if a response is received from each of the STUN servers.


