First consider the simple scenario in which the two clients (probably unknowingly) happen to reside behind the same NAT, and are therefore located in the same private IP address realm, as shown in Figure . Client A has established a UDP session with server S, to which the common NAT has assigned its own public port number 62000. Client B has similarly established a session with S , to which the NAT has assigned public port number 62005.
Suppose that client A uses the hole punching technique outlined above to establish a UDP session with B , using server S as an introducer. Client sends a message requesting a connection to B. S responds to A with B 's public and private endpoints, and also forwards A's public and private endpoints to B. Both clients then attempt to send UDP datagrams to each other directly at each of these endpoints.
Look at this link on forum Apex DC++:
hub isn't on the private network, is on internet is have an ip [url removed, login to view]
are 2 university campus, each having a server used as rooter for the private network inside each campus (IP 192.168.0.1/255)
server ip university campuses are [url removed, login to view]
passive mode is the only option to connect to the hub and to download from other users outside the campus
users on the private network within a campus can not downlad each other using passive mode
hub is made just for the two campuses
passive mode and NAT traversal allows users to connect from one campus to campus but not inside two private networks within campuses
mode active allows connecting users within the private network on campus 1 and not allow users to connect to the campus 2
Green Line allows connection
The red line does not allow connection
on photo from attach link.
[url removed, login to view]