My understanding is that it works on certain types of NAT firewalls. On these NATs, an external port is mapped to an internal IP:Port. If this is the case, all packets going to that external port will go to the internet IP:Port.
Making it work is not that simple though, with the difficult part being coordinating two parties that do not talk to each other. I'm not sure what's being used in real life solutions but it sounds to me that both A and B have to have very frequent UDP communications with S, or have a TCP connection with S in order to coordinate a hole punching attempt. > Isn't the translation state based on the remote peer IP address, too? Then > the same translation created for A-S and B-S would not work when you try to > connect directly A with B. > ----- Original Message ----- > From: "wayne forrest" <[EMAIL PROTECTED]> > To: "ICS support mailing" <twsocket@elists.org> > Sent: Thursday, February 21, 2008 8:22 PM > Subject: [twsocket] UDP Hole Punching >> Has any one made a UDP Hole puncher with ICS ? >> >> Let A and B be the two hosts, each in its own private network; N1 and N2 > are >> the two NAT devices; S is a public server with a well-known globally >> reachable IP address. >> >> 1. A and B each begin a UDP conversation with S; the NAT devices N1 >> and N2 create UDP translation states and assign temporary external port >> numbers >> 2. S relays these port numbers back to A and B >> 3. A and B contact each others' NAT devices directly on the translated >> ports; the NAT devices use the previously created translation states > and >> send the packets to A and B >> >> If I were to implement the above, is it really that simple? >> >> or is there much more to it than that ? >> >> Any help appreciated, or alternatives, maybe a plugin / generic solution >> that can be incorporated. >> >> Our current setup is "Server on PC behind nat" and then client on Cell >> phone. >> >> We will have a lot of users not knowing how to do port forwarding. -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be