[Twisted-Python] UDP File Copy

Anthony Baxter anthony at interlink.com.au
Mon Apr 11 11:33:05 EDT 2005

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 at interlink.com.au>
It's never too late to have a happy childhood.

More information about the Twisted-Python mailing list