A most elegant TCP hole punching algorithm

6 points by ahobson


andrewrk

I'm missing a couple key elements from the problem statement. What information do we have exactly, with which we intend to establish a connection?

Presumably it's two devices behind NAT, so you would need both the public IP of the router, and the internal IP of the device. That's not what the article says though:

Both sides must know each other’s WAN IPs

And now that I'm scrutinizing it, there are some other odd things in the article:

If packet exchange is off by even a few miniseconds the whole protocol can fail

the fuck is a minisecond?

Async networking won’t work here either.

This makes no sense, it then proceeds to exactly describe "async networking".

bitslayer

So all this song and dance goes away when we drop IPv4, correct?