3 ms·
You don't need to reinvent TCP. You can simply put TCP over UDP. Works like magic :) TCP hole punching works just fine in practice, but it's certainly a part o
by latitude 12y ago
You don't need to reinvent TCP. You can simply put TCP over UDP. Works like magic :)
TCP hole punching works just fine in practice, but it's certainly a part of the "long tail" of empirical hacks that allow bumping NAT traversal rates into 95+% range. Detecting NATs that decrement ports is another. Ports that are incremented/decremented by more than 1 is yet another. And there's also UPnP that gives you another percent or so.
I was doing this as a part of the Hamachi project [0], almost 10 years ago, and this long tail was absolutely instrumental to being able to serve hundreds of thousands of clients off just few measly Dell servers for $300/mo in hosting costs.
[0] http://swapped.cc/hamachi http://swapped.cc/hamachi
- jon-wood 12y agoIts somewhat OT, but thanks for Hamachi! It made many a late night gaming session possible in my teens and early twenties, and was always an astoundingly simple piece of software to use considering everything it did.
- latitude 12y agoMy pleasure, glad to have been of some help :)
- api 12y agoCool to get a ping from Hamachi's author. I deliberately did not use Hamachi while designing ZeroTier since I didn't want to pollute my headspace with something so similar. :) ZeroTier right now is sort of an OSS Hamachi, since I figured this would be a good starting application, but I've got different longer-term goals in mind. (Won't be abandoning that application though.)