Re: [tcpm] TCP Long Options - Why not as payload in SYNs?
"Adam Langley" <agl@imperialviolet.org> Mon, 14 July 2008 13:48 UTC
Return-Path: <tcpm-bounces@ietf.org>
X-Original-To: tcpm-archive@megatron.ietf.org
Delivered-To: ietfarch-tcpm-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id D71F73A69D8; Mon, 14 Jul 2008 06:48:22 -0700 (PDT)
X-Original-To: tcpm@core3.amsl.com
Delivered-To: tcpm@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8D08B3A69D8 for <tcpm@core3.amsl.com>; Mon, 14 Jul 2008 06:48:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.977
X-Spam-Level:
X-Spam-Status: No, score=-1.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FpZ4wRMphDUt for <tcpm@core3.amsl.com>; Mon, 14 Jul 2008 06:48:17 -0700 (PDT)
Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.224]) by core3.amsl.com (Postfix) with ESMTP id 9FEDF3A6903 for <tcpm@ietf.org>; Mon, 14 Jul 2008 06:48:17 -0700 (PDT)
Received: by rv-out-0506.google.com with SMTP id b25so4277640rvf.49 for <tcpm@ietf.org>; Mon, 14 Jul 2008 06:48:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender :to:subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references :x-google-sender-auth; bh=vxFkSGxxXzwomuOmhqnS2NNhlix26g02PIMryhfAgxA=; b=Tf0leIV704r5hgQrVaPOQjb0rzs7OPvgRheT1sV+yXslaXv4COt9FYXdi9BLUAAowc Em2UlR8Cx7S4uKkyU8EdA1dgAKY0jKUMHwiBnP0SN5mUqEC0eHtUWraYbv6fPLMgGH+v mxk0F7czz8y5km1FiXPjh1zbM/z4IPmH7tTCE=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references:x-google-sender-auth; b=jgBwO2GCt3cP91itjlwrmQg1/kLgJEGguKj86TgwPhqFovUx93urBzMI2gZTBLJn/u c+TkMUMETEUJarxZkhwv2+dfpgs+c+3qtQk5Br6w1lrGKIw+Ssl9gUH07TvMG+RpnxPF IZ20a7ElmY33Q0kt+zlsSQJSSE4RG5m52bsNM=
Received: by 10.141.88.3 with SMTP id q3mr6627490rvl.46.1216043323275; Mon, 14 Jul 2008 06:48:43 -0700 (PDT)
Received: by 10.141.186.3 with HTTP; Mon, 14 Jul 2008 06:48:43 -0700 (PDT)
Message-ID: <396556a20807140648lb5f923x478665473667d807@mail.gmail.com>
Date: Mon, 14 Jul 2008 06:48:43 -0700
From: Adam Langley <agl@imperialviolet.org>
To: Michael Scharf <michael.scharf@ikr.uni-stuttgart.de>
In-Reply-To: <20080714121424.GA31382@ikr.uni-stuttgart.de>
MIME-Version: 1.0
Content-Disposition: inline
References: <20080714121424.GA31382@ikr.uni-stuttgart.de>
X-Google-Sender-Auth: f200b8855f1ad763
Cc: tcpm@ietf.org
Subject: Re: [tcpm] TCP Long Options - Why not as payload in SYNs?
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://www.ietf.org/mailman/private/tcpm>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: tcpm-bounces@ietf.org
Errors-To: tcpm-bounces@ietf.org
On Mon, Jul 14, 2008 at 5:14 AM, Michael Scharf <michael.scharf@ikr.uni-stuttgart.de> wrote: > Even though RFC 793 explicitly allows payload in SYN segments, there > are TCP stacks that just seem to ignore it. Couldn't this offer an > opportunity to transport long TCP options in the payload of SYN > segments, instead of expanding the header option space? > > Sorry if this question has already been answered elsewhere. I don't have the necessary menagerie of operating systems needed to gather good data. But Linux's net/ipv4/tcp_input.c [1] says 5188 /* Now we have several options: In theory there is 5189 * nothing else in the frame. KA9Q has an option to 5190 * send data with the syn, BSD accepts data with the 5191 * syn up to the [to be] advertised window and 5192 * Solaris 2.1 gives you a protocol error. For now 5193 * we just ignore it, that fits the spec precisely 5194 * and avoids incompatibilities. It would be nice in 5195 * future to drop through and process the data. [1] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=net/ipv4/tcp_input.c;h=cad73b7dfef07798ddc0b8debba24c9aad94c53b;hb=HEAD And that suggests that it's not just those OSes which ignore SYNs with payloads - it's also those which reject the packet completely. Having to retransmit SYNs in such cases is sufficiently common, and sufficiently painful that I think it's a non-starter. AGL -- Adam Langley agl@imperialviolet.org http://www.imperialviolet.org _______________________________________________ tcpm mailing list tcpm@ietf.org https://www.ietf.org/mailman/listinfo/tcpm
- [tcpm] TCP Long Options - Why not as payload in S… Michael Scharf
- Re: [tcpm] TCP Long Options - Why not as payload … Adam Langley
- Re: [tcpm] TCP Long Options - Why not as payload … Joe Touch
- Re: [tcpm] TCP Long Options - Why not as payload … Michael Scharf
- Re: [tcpm] TCP Long Options - Why not as payload … Joe Touch
- Re: [tcpm] TCP Long Options - Why not as payload … Adam Langley
- Re: [tcpm] TCP Long Options - Why not as payload … Caitlin Bestler
- Re: [tcpm] TCP Long Options - Why not as payload … Joe Touch
- Re: [tcpm] TCP Long Options - Why not as payload … Joe Touch
- Re: [tcpm] TCP Long Options - Why not as payload … Joe Touch
- Re: [tcpm] TCP Long Options - Why not as payload … Christian Huitema
- Re: [tcpm] TCP Long Options - Why not as payload … Sergio Freire
- Re: [tcpm] TCP Long Options - Why not as payload … Joe Touch
- Re: [tcpm] TCP Long Options - Why not as payload … Adam Langley
- Re: [tcpm] TCP Long Options - Why not as payload … Joe Touch