killing NAT timeouts, for fun and profit |
killing NAT timeouts, for fun and profit |
Guest_eltee_* |
Jun 17 2004, 06:27 AM
Post
#1
|
Guests |
Given a number of users are stuck behind annoying timeout prone routers these days (and unfortunately that the number of us are growing not shrinking) it would be nice to have a 'world' option to kill NAT timeouts.
This is pretty easily done by jus sending an empty packet to the connected world every x minutes. The packet, being empty, is discarded, but after it fools the NAT device into realizing the connection is still live. A bonus (over using ##task) is that there is no indication its happened at all within the actual mu*. If you are idle 10 minutes and an empty packet is bounced, you are still idle 10 minutes. This helps by not leaving connections open indefinately (the mu* timeout will still apply) and lets people know when you are infact, idle. Once something like this is in place, those of us with these routers will *NEVER* suffer another NAT timeout again. Not bad, ending months or nigh on years of frustration for lots of people with a single little quick change. ^.^ |
|
|
Guest_eltee_* |
Jun 21 2004, 07:19 PM
Post
#2
|
Guests |
I don't know if it will help but the code I made for the win32 implementation of the nat timeout killer is literally just a timer event.. and every time the event triggers (once every 10 minutes by default) it does the following:
void timer(void) { socket.send NULL; } works on every NAT timeouting router i've had/tried (a belkin, three linksys' and a dlink-604 and as far as I know its never inter-acted with a mu* at all.. in fact if you are idle 10 minutes and send an empty tcp packet to the mu* server. The NAT router resets the connection as 0s idle (not actually inspecting the packet itself but merely passing it on), while the mu* opens the packet, then tosses it as worthless and you are still 10 minutes idle online. |
|
|
Lo-Fi Version | Time is now: 26th November 2024 - 07:58 PM |