Re: [tcpm] SYN/ACK Payloads, draft 01
Michael Tüxen <Michael.Tuexen@lurchi.franken.de> Thu, 14 August 2008 22:04 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 7F6F13A6857; Thu, 14 Aug 2008 15:04:39 -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 588183A6918 for <tcpm@core3.amsl.com>; Thu, 14 Aug 2008 15:04:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 2.038
X-Spam-Level: **
X-Spam-Status: No, score=2.038 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HOST_EQ_DIP_TDIAL=2.144, HOST_MISMATCH_NET=0.311, MIME_8BIT_HEADER=0.3, RCVD_IN_PBL=0.905, RCVD_IN_SORBS_DUL=0.877, RDNS_DYNAMIC=0.1]
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 eHH7DrwxcfO3 for <tcpm@core3.amsl.com>; Thu, 14 Aug 2008 15:04:37 -0700 (PDT)
Received: from mail-n.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) by core3.amsl.com (Postfix) with ESMTP id 4F50F3A6857 for <tcpm@ietf.org>; Thu, 14 Aug 2008 15:04:35 -0700 (PDT)
Received: from [192.168.1.15] (p508FE40C.dip.t-dialin.net [80.143.228.12]) by mail-n.franken.de (Postfix) with ESMTP id 3DE5B1C0C0BC0; Fri, 15 Aug 2008 00:04:36 +0200 (CEST)
Message-Id: <6FEDDE45-C396-4A97-A510-0FD236229197@lurchi.franken.de>
From: Michael Tüxen <Michael.Tuexen@lurchi.franken.de>
To: Joe Touch <touch@ISI.EDU>
In-Reply-To: <48A4A2DE.3090400@isi.edu>
Mime-Version: 1.0 (Apple Message framework v926)
Date: Fri, 15 Aug 2008 00:04:35 +0200
References: <396556a20808111035s2b974233o1e9d3671e82e3350@mail.gmail.com> <48A3C0B3.8050003@isi.edu> <396556a20808140940p63dec2d2ib3332b27da8260ae@mail.gmail.com> <48A465CC.8000402@isi.edu> <396556a20808141023s3abddc96u43b9e6e7898033ed@mail.gmail.com> <48A46BD3.4030408@isi.edu> <396556a20808141303k341599wfeef32d0841e9f76@mail.gmail.com> <48A491B9.3000209@isi.edu> <396556a20808141325u1e67c93co595eadeb3341539@mail.gmail.com> <48A4975D.3070303@isi.edu> <396556a20808141401of8ad149w5850e8dc552a9948@mail.gmail.com> <48A4A2DE.3090400@isi.edu>
X-Mailer: Apple Mail (2.926)
Cc: Adam Langley <agl@imperialviolet.org>, tcpm@ietf.org
Subject: Re: [tcpm] SYN/ACK Payloads, draft 01
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-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"; DelSp="yes"
Sender: tcpm-bounces@ietf.org
Errors-To: tcpm-bounces@ietf.org
On Aug 14, 2008, at 11:25 PM, Joe Touch wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > > > Adam Langley wrote: > | On Thu, Aug 14, 2008 at 1:36 PM, Joe Touch <touch@isi.edu> wrote: > |> Isn't it a *lot* simpler to avoid an option and just send the data > anyway? > | > | Yep! And I intend to patch Linux to support exactly this (no options > | involved anywhere) at some point. To reuse an example, I could > have an > | SMTP server which writes "200 example.com ESMTP\r\n" this way and > save > | a round trip. (Although SMTP isn't too latency sensitive some busy > | servers might be glad of it.) > | > | But many application level protocols have been designed as > | client-speaks-first, like HTTP. > > OK, so the crux of the matter is that: > > - most app protocols are client-speaks first > - you want server-speaks-first > > There's nothing about TCP that prevents that, but I agree that the > current socket interface isn't quite sufficient. > > | So, let's define HTTP-ssf (server > | speaks first). HTTP-ssf is exactly the same as HTTP, except that the > | client waits for a banner from the HTTP server before sending a > banner > | of it's own. We can use the same trick as the SMTP server to maybe > fit > | this banner in the SYNACK. If it doesn't fit, no loss, it can go in > | later packets. If the client doesn't ACK all the data from the > SYNACK, > | no loss, again it goes in the next packets. > > Yup. That works. > > | Now, I can run an HTTP-ssf server, but no web browser on the planet > | can talk to me! And the browsers that I modify to speak HTTP-ssf > can't > | take to any non-ssf HTTP servers. It's a very lonely website. > > YES. You have a problem because you're redefining HTTP, not because of > anything in TCP. FWIW, there's an HTTPbis WG in which this issue would > be relevant. > > | I could define a whole new URL scheme (httpssf://...) and a new > port. > | But then there's no gradual deployment path because users with old > | browsers don't understand httpssf:// and it confuses the users > anyway. > | Most type http:// by habit. > > So let's consider secure HTTP. That could have been done with a TCP > option, but instead it was done in exactly the way you don't think > works > - - a new port, and a new URI prefix (https:). Initially, users > needed to > know what to type; eventually, that ended up being embedded in URLs on > web pages people click anyway (e.g., search engine results). > > OK, so why doesn't that path suffice? It worked once, why won't it > work > again? > > - ---- > > What you're *really* asking for is a way to send data from client to > server BEFORE the TWHS completes. You talk about server-talks-first, > but > it's really the client speaking - by sending the option. If this > were a > flag in the HTTP request, and if the data were available to the server > app when the SYN arrives, you'd be done. You're using the option as a > trick to get around the fact that TCP doesn't want to send user data > up > to the app until the end of the TWHS. > > I don't think that sort of channel is something TCP needs. IMO, this > is > precisely what T/TCP was designed for; T/TCP may need fixing, but > that's > a different issue. I'm not familiar enough with SCTP to know if that's > an alternate path. SCTP has a four way handshake: ---- INIT ----> <-- INIT-ACK -- --- COOKIE ---> <- COOKIE-ACK - You can send user data with the third and fourth message, not with the first or second. The socket API supports sending user data on the third message... > > > I don't support the idea that doing this in TCP is appropriate just to > get around deployment issues. > > Joe > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.9 (MingW32) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iEYEARECAAYFAkikot4ACgkQE5f5cImnZrvyWACgtAlcCP3R5UijYW+IpRc2x3VX > Rw0AoPiUJhbWhD2cWKliTRFrhtINfYai > =pX3/ > -----END PGP SIGNATURE----- > _______________________________________________ > tcpm mailing list > tcpm@ietf.org > https://www.ietf.org/mailman/listinfo/tcpm > _______________________________________________ tcpm mailing list tcpm@ietf.org https://www.ietf.org/mailman/listinfo/tcpm
- Re: [tcpm] SYN/ACK Payloads, draft 01 Sergio Freire
- [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Sergio Freire
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Sergio Freire
- Re: [tcpm] SYN/ACK Payloads, draft 01 Lars Eggert
- Re: [tcpm] SYN/ACK Payloads, draft 01 Sergio Freire
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Sergio Freire
- Re: [tcpm] SYN/ACK Payloads, draft 01 Eric Rescorla
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Eric Rescorla
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Eric Rescorla
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Eric Rescorla
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Caitlin Bestler
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Caitlin Bestler
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Michael Tüxen
- Re: [tcpm] SYN/ACK Payloads, draft 01 Caitlin Bestler
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Eric Rescorla
- Re: [tcpm] SYN/ACK Payloads, draft 01 Michael Tüxen
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Caitlin Bestler
- Re: [tcpm] SYN/ACK Payloads, draft 01 Adam Langley
- Re: [tcpm] SYN/ACK Payloads, draft 01 Anantha Ramaiah (ananth)
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch
- Re: [tcpm] SYN/ACK Payloads, draft 01 Joe Touch