Verizon EVDO Issues
Robert E. Seastrom
rs at seastrom.com
Thu Apr 9 15:45:08 UTC 2009
Daniel Senie <dts at senie.com> writes:
> We observe this same kind of behavior with firewalls in the path
> watching for dead sessions they can clean up. Appears they send RSTs
> to both end points when they decide a session has gone away, as
> that'll let end hosts figure it out sooner. Same workaround of turning
> on keep=alives once a minute solves this too. The behavior in the case
> of firewalls makes sense, as state tables have to be cleaned up
> eventually.
While I agree with you that the behavior makes perfect sense, I submit
that the controls are often set improperly (by default or due to
configuration by underskilled technicians) - that is to say, without
taking into account the likely behavior of TCP when the connection is
in fact still open. Consider the default keepalive interval on a
selection of operating systems:
FreeBSD - 7200 seconds:
root at clack [17] # sysctl -a | grep keepidle
net.inet.tcp.keepidle: 7200000
root at clack [18] #
MacOSX - 7200 seconds:
[Superfly:~] root# sysctl -a | grep keepidle
net.inet.tcp.keepidle: 7200000
[Superfly:~] root#
Windows XP - 7200 seconds:
http://support.microsoft.com/kb/314053
(notice a pattern here?)
Seems to me that a well-engineered firewall will have enough memory in
it that (in the application for which it is specified, with
anticipated traffic levels) it doesn't have to be over-aggressive and
try cleaning up flows that haven't seen any traffic in less than, say,
two hours and ten minutes.
-r
More information about the NANOG
mailing list