Fixing "Slipping in the window" before 4.11-release

Mike Silbersack 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.
>
> FWIW.
>
> allman

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 
situation.

Mike "Silby" Silbersack


More information about the freebsd-net mailing list