
On Wednesday 06 April 2005 01:26, Antoine Pitrou wrote:
You are wrong, UDP is more and more adopted by end-user P2P software because of its ability to transparently go through - in and out - many types of NAT devices (which are themselves more and more popular among home users). Incoming TCP traffic, on the other hand, often needs to be specifically enabled on the NAT box.
Bwahahahahahahaha. No, really - thanks for this. I haven't laughed so hard all day.
For juicy details, you can read the RFC for the STUN protocol (Simple Traversal of User Datagram Protocol - UDP - Through Network Address Translators - NATs): http://www.faqs.org/rfcs/rfc3489.html
STUN helps, but doesn't alter the fact that UDP + NAT is an absolute A-grade disaster. If you think that UDP will somehow make your software more reliable in the face of NATs, you're in for a rude rude surprise. In case you're wondering, I know what I'm talking about here - I've implemented STUN as part of shtoom, and it really only helps a small amount. NAT + UDP == a world of hurt. The only robust way to traverse a NAT with UDP is to use UPnP. And yes, I still regard UPnP as one of the worst protocols ever invented. -- Anthony Baxter <anthony@interlink.com.au> It's never too late to have a happy childhood.