Fixing "Slipping in the window" before 4.11-release
silby at silby.com
Thu Jan 6 12:46:45 PST 2005
On Wed, 5 Jan 2005, Mark Allman wrote:
> I ran this idea by Randall Stewart who has done a bunch of thinking on
> this topic (and, helped produce one of the current internet-drafts on
> the topic). He swayed me that my initial hit (above) might not be quite
> right. Below is Randall's response to my forward of Mike's note
> (forwarded with permission). This is a case that had not occurred to me
> and leaves me thinking maybe ignoring SYNs is not quite the right
> approach. However, I think there could be times when ignoring SYNs
> might be fine. E.g., if the connection is moving right along and there
> are other packets being transmitted and ACKed and we see a SYN that it
> should be ignored.
Don convinced me of the same thing, using similar reasoning.
I think that you're right that "there could be times when ignoring SYNs
might be fine." I think that we track how long a connection has been
idle; my plan is to only respond to SYNs if the connection has been idle
for more than 30 seconds or more. That should ensure that we handle the
client crashing case properly (even if the client reboots instantly, it'll
keep retransmitting SYNs for more than 30 sceonds), but also ensure that
we do not let a forged SYN flood prod us into sending unnecessary ACKs.
I'll try to get this coded up this weekend.
(Yes, rate limiting ACKs to these types of SYNs would also help, but it
would be nice to not send any unnecessary packets.)
Thanks for Randall's response, it provided some useful insight into the
Mike "Silby" Silbersack
More information about the freebsd-net