[standards-jig] P2P with NAT?

Tijl Houtbeckers thoutbeckers at splendo.com
Thu Nov 28 13:34:36 UTC 2002


"M.Kiesel" <maqi at exmail.de> wrote on 28-11-2002 13:46:17:
>
>Hi!
>
>....I just found some description on how to make P2P connections even 
>if *both* parties are NATted. It uses UDP but nevertheless may be
>interesting.
>
>http://www.alumni.caltech.edu/~dank/peer-nat.html
>
>Regards

That's an oldie :)

UDP is stateless, so it's not really a connection ;)
I've experimented with this a bit in the past, and in some situations 
it works. In many it doesn't though. Any good *firewall* should block 
this, but many people use linux with NAT as a firewall (wich this again 
proves, it's not). I've never tested on linux 2.4 either. 

The problem is that not all NAT routers support it. But it would be 
intresting to see an implementation for it on Jabber. Using UDP for 
transfers when neither hosts are behind a NAT isn't a crime either, you 
could gain some speed with it. (keep an eye on security though!). 
(first try UDP<->UDP, then TCP and TCP callback, then UDP<->UDP with a 
component that exchanges the IP adresses) 

By the way, it's even possible to open a TCP/IP connection when both 
hosts are behind a NAT using "simultanious open". (google a bit and you 
might find something on it). This is even harder though (win 9x TCP/IP 
stack is not complete and doesn't support it for example, dunno about 
ME/2000/XP). 

-- 
Tijl Houtbeckers
Java/J2ME/GPRS Software Engineer @ Splendo
The Netherlands




More information about the Standards mailing list