[p2p-hackers] NAT hole-punch keepalive/timeouts
David Barrett
dbarrett at quinthar.com
Mon Jun 6 01:50:36 UTC 2005
Ok, next question: What kind of keepalive period do you used to maintain
the holes you so meticulously punched?
I'm in the process of testing my NAT hole-punching solution, and I'm
finding erratic behavior that I *think* is caused by my holes closing on
me. (Ie, I'm able to receive from a peer for a time, and then I
cannot.) So I'm implementing a keepalive, but I'm unsure of what period
to use. For now I'm just using a fixed 20-second period, but I have no
idea if that's high or low.
Another option is to have some kind of adaptive solution that tracks
elapsed time between sent and received data (thus estimating the last
known 'good' window), but that's a pain I'd prefer to avoid.
Any suggestions?
The IETF BEHAVE group has discussed recommendations from anywhere
between 30 seconds
(http://list.sipfoundry.org/archive/ietf-behave/msg00441.html) and 15
minutes (http://list.sipfoundry.org/archive/ietf-behave/msg00127.html).
But ultimately those are foward-looking discussions, and therefore not
relevant.
In the real world, I've seen mention that even 30 seconds is
insufficient
(http://www.frameip.com/nntp/article-comp-protocols-tcp-ip.php?numero=20119).
Perhaps 20 seconds works
(http://www.tisc2001.com/newsletters/322.html), but who knows.
Basically, I'm curious what keepalives you've found work today in your
real applications, in the real world.
-david
More information about the P2p-hackers
mailing list