[Twisted-Python] Punching a firewall with Twisted?

Glyph Lefkowitz glyph at twistedmatrix.com
Fri Jun 18 00:49:41 EDT 2010


On Jun 17, 2010, at 9:37 AM, Stefan Reich wrote:

>> I'm not sure about Deluge, but <http://divmod.org/trac/wiki/DivmodVertex> does some NAT hole-punching.  It does it via sending UDP packets though, not by communicating directly with your router.
>> 
> Yeah, I found that too... it looks quite interesting, but as you say, it 
> is UDP-based. I know that there is a working TCP-solution. As I said, 
> Deluge does it, and for example, the original Bittorrent client does it too.

For what it's worth, Vertex includes an *implementation* of TCP, on top of UDP instead of IP.  You can run any Twisted stream-based protocol with Vertex, you don't need to send UDP datagrams around.

(In fact, Vertex _only_ provides a stream-based transport; the UDP part is an implementation detail.  If possible, vertex will try to use TCP first, and could be modified to use a techniques such as the ones described in <http://www.brynosaurus.com/pub/net/p2pnat/> section 4 to speak real TCP instead.)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://twistedmatrix.com/pipermail/twisted-python/attachments/20100617/ac367c8a/attachment.htm 


More information about the Twisted-Python mailing list