DNAT-T Proxy Server for Multi-NAT VPN Traversal
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing VPN systems face challenges in traversing Network Address Translator (NAT) servers, particularly when multiple NATs are installed between the public network and VPN services, leading to data blockages and disruptions in communication.
Innovation Solution
A Dual NAT-Traversal (DNAT-T) proxy server is introduced to facilitate registration and detection of port allocation rules for both client and destination VPN services, enabling them to traverse multiple NATs by predicting and synchronizing external IP and port allocations, thereby establishing a bilateral data traversal channel through the NATs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a single NAT-Traversal method is used, then the VPN can traverse one NAT server, but it fails when multiple NAT servers are installed between the public network and VPN services
Solution Approach 1:
The patent divides the NAT traversal process into two independent phases: registration phase (for port allocation rule detection) and data transmission phase (for actual data forwarding). This segmentation allows the system to handle multiple NAT servers by separately managing port allocation rules for each NAT, enabling versatile traversal capability while maintaining reliable data transmission through established rules.
Solution Approach 2:
The patent implements preliminary action by conducting registration before data transmission, where the VPN service detects and stores the port allocation rules of NAT servers in advance. This preliminary detection and storage of rules enables the system to traverse multiple NAT servers without blocking, as the rules are already established before actual data communication occurs.
2Adaptability or versatility
If NAT port allocation rules are not detected, then the VPN service cannot traverse NAT, but detecting and adapting to port allocation rules enables successful traversal
Solution Approach 1:
The patent employs feedback mechanisms during the registration phase, where the VPN service sends registration requests to NAT servers and receives responses containing port allocation information. This feedback loop enables the system to detect and adapt to NAT port allocation rules automatically, achieving versatile NAT traversal while managing complexity through structured interaction protocols.
3Reliability
If the destination VPN service does not open the port, then the NAT cannot forward data, but the DNAT-T proxy server synchronizes port openings to enable bidirectional communication
Solution Approach 1:
The patent applies preliminary action by having the DNAT-T proxy server synchronize port openings between client and destination VPN services before actual data transmission. The proxy server establishes the necessary port mappings in advance during registration, ensuring both directions of communication are ready, thereby achieving reliable bidirectional transmission without complex real-time coordination.
Solution Approach 2:
The DNAT-T proxy server acts as an intermediary that manages port synchronization between the client VPN service and destination VPN service. This intermediary coordinates the port openings and maintains the mapping information, enabling bidirectional communication while simplifying the complexity through centralized management of port synchronization.
Data Source
AI summary
The present invention provides a method for NAT traversal in VPN so that the VPN can detect the rule of port allocation for NAT outside the VPN to achieve NAT traversal. The communication structure according to the present invention includes a public network, a client network, a destination network, a first NAT, a second NAT. A DNAT-T proxy server is installed between the first NAT and the second NAT and has the function for the VPN to conduct a plurality of (N times) registrations before sending data out to detect the rule for NAT port allocation of the DNAT-T proxy server, and then inform the next NAT port allocation to the other side of the VPN so as to achieve NAT traversal for the data packets in VPN.


