Aryeh M. Friedman
aryeh.friedman at gmail.com
Wed Nov 7 08:35:44 PST 2007
-----BEGIN PGP SIGNED MESSAGE-----
> Hi all,
> Can you change the timeout for a tcp connection ?
Yes and no... Yes in that you can do it but no in that it will not
have the effect your seeking... all you have to do is raise the
default TTL value on IP.
> I need to do the following: start a tcp connection , unplug the
> network cable (it's actually wifi but the effect is the same),send
> some data over the connection,wait 20 seconds , reinsert the
> network cable and just keep working.
Since the TTL for almost all FreeBSD packets is >20 (I am perhaps
wrong since this is based largely on some low level protocol hacking I
did way back in 2.X) but since it is set to something like 256 (it's
max value) it means if a packet is lost/whatever it will *WAIT* 256
seconds before attempting to retransmit... in the mean time except for
the delay as far as TCP is concerned the connection was never lost....
see www.ecip.org for a techinical overview of some possible (but not
implemented) ways around this.
> When you normally do this the connection will be dead.
See above... it is not dead just inactive
> Is there a way in freebsd to change this ? are there parameters
> wich you can set so that the above would work (20 seconds without
> network can happen) ?
> If not is there a common way to tunnel these tcp connections over
> udp so that the problem doesn't happen.
That request is oxymornic in the sense that the only diff between udp
and tcp is the fact that tcp is "reliable" and udp is not so a clone
of tcp running on udp *IS* tcp... that being said there are other
possible error handling schemes and those are often implemented over udp.
Aryeh M. Friedman
Developer, not business, friendly
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
More information about the freebsd-questions