HTTP, FIN_WAIT_1 and ppp hangup delay
nkoch at gmx.com
Sun Jan 2 05:37:57 PST 2005
For connecting to internet I am using
PPP via ISDN.
One of my FreeBSD (4.10) boxes uses kernel sppp,
the other one is configured with userland ppp.
My isp charges the connection time in
seconds resolution so I configured a very
short hangup delay of 25 seconds after
inactivity. This works fine for udp connections
and also for smtp/pop/nntp, but not for http.
After closing a web browser (I use konqueror
or opera) "netstat -nf inet" shows
a lot of active or closing connections.
So I reduced all "net.inet.tcp.*" times I could
find to not more than 15 seconds. This
helped, but still from time to time I see
a connection slowly dying in FIN_WAIT_1 state.
That means, ppp disconnects and immediately
dials again, disconnects again after 25 seconds
without any traffic and dials again and so on...
for about 3 minutes.
I read through the tcp codebut,
well, can't say, I really look through it.
May be, there is still a hard-coded timeout, I
could manipulate through an additional sysctl?
I am rather sure that it is a problem of the
tcp protocol (or its misuse), and not an isdn
or ppp problem.
(BTW, the windows software Fritz!ISDN, shipped with
the AVM isdn card, does quite a good job with
short hangup delays, but I don't know how)
Any ideas? May be there is a way to RST a tcp connection
in the ppp-down script? Or perhaps some stateful ipfw rule?
More information about the freebsd-questions