Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261597AbTIKXJo (ORCPT ); Thu, 11 Sep 2003 19:09:44 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261600AbTIKXJo (ORCPT ); Thu, 11 Sep 2003 19:09:44 -0400 Received: from zero.aec.at ([193.170.194.10]:14343 "EHLO zero.aec.at") by vger.kernel.org with ESMTP id S261597AbTIKXJm (ORCPT ); Thu, 11 Sep 2003 19:09:42 -0400 To: Alan Cox Cc: Breno , Stan Bubrouski , Linux Kernel Mailing List , Mike Fedyk Subject: Re: Size of Tasks during ddos From: Andi Kleen Date: Fri, 12 Sep 2003 01:08:49 +0200 In-Reply-To: (Alan Cox's message of "Thu, 11 Sep 2003 23:50:11 +0200") Message-ID: User-Agent: Gnus/5.090013 (Oort Gnus v0.13) Emacs/21.2 (i586-suse-linux) References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1399 Lines: 29 Alan Cox writes: > Syn cookies accept the SYN frame and encode sufficient information into > the reply that they can avoid storing any data until the next packet > arrives from the other end completing the connection. > > That means squashing all the information we track (mss, window, etc) > into very few bits. A modern TCP will offer large windows, selective ack > and other features which we can't fit into a syn cookie so with this off > a burst of traffic will cause pauses while the socket queue clears and > negotiate fully featured TCP, with syncookies enabled many of the > connections on the burst will not have the extra features so many not > perform as well. Another side effect of syncookies is that flow control for new connections breaks: when you have a client that is connecting to a overloaded server it will only notice this after a long timeout. With syncookies off you get actually useful errnos back on connect(). (overloaded here doesn't necessarily mean DoS, just e.g. a single threaded service that is taking a long time to do some job and expresses this with a small argument to listen()) -Andi - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/