Re: [tcpm] draft-ietf-tcpm-fast-open

Yuchung Cheng <ycheng@google.com> Mon, 11 March 2013 19:29 UTC

Return-Path: <ycheng@google.com>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 569BE21F889D for <tcpm@ietfa.amsl.com>; Mon, 11 Mar 2013 12:29:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.977
X-Spam-Level:
X-Spam-Status: No, score=-101.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, NO_RELAYS=-0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZqCZ+cwG5Xl8 for <tcpm@ietfa.amsl.com>; Mon, 11 Mar 2013 12:29:48 -0700 (PDT)
Received: from mail-la0-x22d.google.com (mail-la0-x22d.google.com [IPv6:2a00:1450:4010:c03::22d]) by ietfa.amsl.com (Postfix) with ESMTP id EBE3121F8838 for <tcpm@ietf.org>; Mon, 11 Mar 2013 12:29:47 -0700 (PDT)
Received: by mail-la0-f45.google.com with SMTP id er20so4291590lab.4 for <tcpm@ietf.org>; Mon, 11 Mar 2013 12:29:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:mime-version:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=39rOw9BdcdZY9Ve2jmQT5ZSzKzwpciu5wcUq9KLBqUA=; b=OEDtz9Mdr5lq1FpJpZf4rBFY4v6oxLVwz/w6KMSxQ2+Fgj+n+YcHFYKUW4Us3is/5x qP8dydsCv6tVok+ToR+4rgsPYdt/b7VpbPVMRffVnQtDPeKz9ujInrYBMqXrEK6Vutuk +6f8uEJQeAbEu4+WLZM9Zc5ie3Zm3PSZ0pJd3ofbOdbr39SVQxWEBzrbu2UGb4qxl71j n8DN7tX9lvk4W/g3Acrv+u2+qAUhgN7Sjm+TkCu5/HI2eJqN/etjj/tcb5E+n6n9+lUv oaiPjcB9vZSCLdsOfGNHcXl9/Mgl1j4Oiyvk6+JxRas6pRiDVpxWLzOs3Jz+73qo5Mt5 cRMw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:mime-version:in-reply-to:references:from:date:message-id :subject:to:cc:content-type:x-gm-message-state; bh=39rOw9BdcdZY9Ve2jmQT5ZSzKzwpciu5wcUq9KLBqUA=; b=JmBBeccZexg9hVvmrUctUcK2vpUkQlpAaRHYY4KdkcQOo+9VLb1TsdtIPbzk8GYg3V imTZShYson3tfaTjwxmMWF6A5Qb3po0nky8fhiXu8R8xpI4LHinQIxinAo67rD+J9cru DO4LwZDM0G0Eq5k8kwtgVgLkiv5gy2d7I+4Xb25F/6G7p69D4kgjCWyT4+VC16CO5laW 5lzk6XkNbCl1I/dWnVdVIn2W76a8YHdkzqLUU544M3/TiZUQpqpnWW+VjFIsF+U+x4PY ile3TBDc4ZnJ0wxtLhet25Wi8WXejRQuXaKPbQGeWsQ8OQi6KpsnC/fUxXcaC5y4efVi yQlg==
X-Received: by 10.152.136.20 with SMTP id pw20mr11252278lab.16.1363030183740; Mon, 11 Mar 2013 12:29:43 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.112.7.138 with HTTP; Mon, 11 Mar 2013 12:29:23 -0700 (PDT)
In-Reply-To: <2A886F9088894347A3BE0CC5B7A85F3E9AB12A6BDF@FRMRSSXCHMBSE3.dc-m.alcatel-lucent.com>
References: <2A886F9088894347A3BE0CC5B7A85F3E9AB12A6BDF@FRMRSSXCHMBSE3.dc-m.alcatel-lucent.com>
From: Yuchung Cheng <ycheng@google.com>
Date: Mon, 11 Mar 2013 15:29:23 -0400
Message-ID: <CAK6E8=e1wS+B72E1cP2af=XPbV2HDyjS5xmgQkskp5gvuhG_QQ@mail.gmail.com>
To: "Scharf, Michael (Michael)" <michael.scharf@alcatel-lucent.com>
Content-Type: multipart/alternative; boundary="f46d042f9210eb9e5504d7ab3112"
X-Gm-Message-State: ALoCoQkOU+WYv4rGFM6sSxO4pVWvZJcuHdsUBT7aB2YJSKMELuIYS5dbsYbaZShsYh3W31Rur68hdVF+F4yzdnQu8lmhq6YkxsAT+Q3jdlwIZA3zARGp2kMl1S1bPu3trJtHf2VQJjpwQGkKNBSMXTfjphMSPlQ7UAg043bWTpmxWRPG8JDr8y11euHvp8XSJi92dQ0tqlBh
Cc: "tcpm@ietf.org" <tcpm@ietf.org>
Subject: Re: [tcpm] draft-ietf-tcpm-fast-open
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/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>
X-List-Received-Date: Mon, 11 Mar 2013 19:29:49 -0000

On Mon, Mar 11, 2013 at 3:05 PM, Scharf, Michael (Michael) <
michael.scharf@alcatel-lucent.com> wrote:

> Hi all,
>
> With the chair hat off:
>
> I've read draft-ietf-tcpm-fast-open. I think that the draft significantly
> improved, but I still came up with a number of questions:
>
> * Section 3, "performing TCP fast open" (and other places): I recall both
> some meeting as well as mailing list discussion what will happen if
> draft-ietf-tcpm-fast-open is combined with draft-ietf-tcpm-initcwnd. I
> really wonder why there is hardly any text on congestion control
> implications in the draft. Even if the impact may be minor and congestion
> control is not the major focus of this draft, I think that implementors and
> users will wonder like me about that question and some explanation would
> help them. The way the draft is written right now seems to imply that an
> application developer may have to decide whether to experiment with IW10 or
> with fast open. If an app developer has to decide this, this will be a
> non-trivial tradeoff for him, in particular at design time.
>
What's the problem of experimenting both? whatever issue identified in IW10
draft will occur with TFO except it'll happen an RTT earlier, except for
this case, which is addressed in the new draft in 4.2.2

"" Note that if SYN-ACK is lost, regular TCP reduces the initial


   congestion window before sending any data. In this case TFO is
   slightly more aggressive in the first data round trip even though
   it does not change the congestion control.

"""

Maybe you can suggest what exactly to add in the draft because I am not
sure what to do.


>
> * Section 4.1.1: I don't recall a discussion about cookie option size,
> right? Out of my head, 4 bytes seem reasonable; beyond that I wonder about
> the tradeoff between option size consumption and security. I am not sure,
> but maybe even 2 bytes could be sufficient in some cases (see also below)?
> At least, some guidance on the length would really make sense.
>
> * Section 4.1.3: I wonder why the client "MUST" cache cookies. Why is not
> a "SHOULD"? At least if the client is short of memory, there might be valid
> reasons to "forget" cookies?
>
> if the client is short of memory, does it matter if  a MUST or a SHOULD? :(
Happy to change to SHOULD if other co-authors agree.

* Section 4.1.3: "Since TFO is enabled on a per-service port basis but
> cookies are independent of service ports, clients' cache should include
> remote port numbers too." Is it possible that there are different cookies
> for different service ports on the same server IP? This is probably not
> what the specification intends, but I wonder whether it would be a possible

of course, why not? the server applications (on different) may prefer to
use different secrets, whatever reason they think. in our Linux
implementation but we'd like to keep the option open.

> system design. I also wonder if that could improve security (e. g.,
> possibly a shorter cookie)?
>
> * Section 4.2.2: Thanks for adding the text on simultaneous open! I think
> that this scenario can only occur if fast open is activated on the
> corresponding ports on both endpoints, i. e., it is really a corner case.
> But are the fast open cookie semantics in that corner case indeed clear? In
> particular, I wonder whether one can savely distinguish between a client
> "Fast Open Cookie Request Option" (Sect. 4.1.1) and a server "null cookie"
> (Section 4.1.2).
>
I am not sure I understand the problem. When a (simul open) client sends a
SYN w/ FO cookie request option, he gets a SYN-ACK that may have the Fast
Open cookie option (from the other simul-open client)

The null cookie is only used by server responding SYN-ACK to a (simul open)
client sending SYN-data with Fast Open cookie option, not FO cookie
"request" option.


>
> * General: The draft explicitly states that API changes are outside the
> scope of the document. Still, I wonder if that could be discussed briefly
> in an non-normative appendix.
>
I actually consider doing that but I don't know any previous TCP RFC has
done that. I am happy to do that if tcpm list considers this appropriate.


>
> * General: This draft is heading for experimental track. Recent IESG
> feedback suggests that the IESG is interested in statements about the scope
> of such experiment. Maybe some text on that could be added? (Very obvious
> is further real-world experince on the performance benefit.)
>

I need some help on this text. maybe an example exp RFC that exactly scopes
its experiment.


>
> Editorial nit: Section 2.1, second paragraph: "applications in section
> 2.1" looks like a self-reference
>

will fix that thx

>
> Thanks
>
> Michael
>
>
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm
>