Re: [tcpm] Summary of mt comments/questions WGLC for draft-ietf-tcpm-fastopen-05

Yuchung Cheng <ycheng@google.com> Tue, 03 December 2013 00:33 UTC

Return-Path: <ycheng@google.com>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EBC9F1ADEC0 for <tcpm@ietfa.amsl.com>; Mon, 2 Dec 2013 16:33:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.779
X-Spam-Level:
X-Spam-Status: No, score=-0.779 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_36=0.6, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kuBzuVQa-PWu for <tcpm@ietfa.amsl.com>; Mon, 2 Dec 2013 16:33:07 -0800 (PST)
Received: from mail-ie0-x232.google.com (mail-ie0-x232.google.com [IPv6:2607:f8b0:4001:c03::232]) by ietfa.amsl.com (Postfix) with ESMTP id 055711ADFD8 for <tcpm@ietf.org>; Mon, 2 Dec 2013 16:33:06 -0800 (PST)
Received: by mail-ie0-f178.google.com with SMTP id lx4so22995747iec.9 for <tcpm@ietf.org>; Mon, 02 Dec 2013 16:33:04 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=tYQyqJ1OWrWEFQiwDhDfIFotYgfShXlnm0f8mU+9dZo=; b=diY3GrQidfHbZYKCihl5NTyYW2lGo5r2lzZr4DiK4nIMX05+s6xvSeko128boTpeZB PHsH+5RPAkr9N0i6QawrbYk66Mp5TSFXaFMObr9BIsiuGAVpzUgQo8ZK0ppWjUtZj/01 EVx40IXPuxC50tR4K8f/ol30mv/a3l4MOOM4ozw8IqD//LzlZu4m1yq/GlPXNvsK485f 1DRkZ9n9NWVJAuPjB6dOTEhuu2yghgIOXnhGNbnP0wzpNYADAXjzQHIbZTVwdBqrHtqv XIOvA4p62y8ic7K+NC1qNelKIQsm5M6cd19JdyP3lngMsUQoAbWG7cNzj1NkMU0yWpI1 268Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=tYQyqJ1OWrWEFQiwDhDfIFotYgfShXlnm0f8mU+9dZo=; b=K/N9YSwd3oiEdSox4hEw2vb9cpOJCkGBVFRmW3bIRvcDXUCCTtkJGSSB97agHdE1L3 CnXxkBb8dxFeuwkYNhT3pNveT8TMFY5QvSKjIQXydKF+blH5cWltPZR9IK4OpO5w0NVB sPSk0eB2qjlxYjLi/o3u/H34xxlkEXGHn4bYGHWHPIOcb+0P4GCTDUwHhj+9tV9M0Flt G1oA4WWBNL1b4NesgEJDQs0I7x35zGCNu25TDk79pA3EpxGK9Drr1VJuZ20rhh+RxDZL osWbnllEjsLLgMw2w3hHq0BkuzPOV6VmpNqBiUrAcKsK/ZL+tJhNgYBQcModnjeFw0v2 uMdw==
X-Gm-Message-State: ALoCoQlF1S5BAoJf8wvWkIEE5cGjBYP4qgG4v+d6gEefKDUZbrvmGvdhGztM3TzltagEkOE23pr/svLapJHXboa8uuSXW3i2TZbcfAeQ9WQGjYzrmuryPPjelkwUDTs8D8jQftQ0ztl5waTBqDPlK3rujRK/JSWjemOkTjL9ijduxLu7p2tcUX1kwMdyKHtwU++83HqX+mvu
X-Received: by 10.50.164.165 with SMTP id yr5mr38243igb.38.1386030784421; Mon, 02 Dec 2013 16:33:04 -0800 (PST)
MIME-Version: 1.0
Received: by 10.64.170.3 with HTTP; Mon, 2 Dec 2013 16:32:24 -0800 (PST)
In-Reply-To: <655C07320163294895BBADA28372AF5D140964@FR712WXCHMBA15.zeu.alcatel-lucent.com>
References: <655C07320163294895BBADA28372AF5D0EAFCE@FR712WXCHMBA15.zeu.alcatel-lucent.com> <526E8E6B.1060806@isi.edu> <0B96A5D7-0DAE-46FF-8D9A-311307BF7493@netapp.com> <3578D243-D0F6-41E8-B515-380C35BB27B9@isi.edu> <9267762C-FD7C-4BC6-85FB-730E774F7EEB@oracle.com> <527016BD.4090609@isi.edu> <88430820-7495-491A-AE7A-D3850973AA35@oracle.com> <527036D0.4030508@isi.edu> <2C14475E-675C-40BB-9DD6-8C2871161903@oracle.com> <CAK6E8=ccEmc-ghgbNwmxB6DwWMO+c4JmBx=-RnRMv1nZO9COyQ@mail.gmail.com> <2B85C60B-2301-4B1D-8176-044DAEA817A6@erg.abdn.ac.uk> <CAK6E8=dLnHYL2Gc5DydZuAhMvyGSqavSLZLwoF9-oTqU+P6evg@mail.gmail.com> <528B9E16.70602@erg.abdn.ac.uk> <CAK6E8=ea9c9RbPwzED=ts6xkAONhbMgzdJR+H1-EtrHGepCyBA@mail.gmail.com> <655C07320163294895BBADA28372AF5D13C310@FR712WXCHMBA15.zeu.alcatel-lucent.com> <CAK6E8=fd16b9droDiPZp_CgJ=TcRkF1xt8i9Wj-Ku=YTxkcwUA@mail.gmail.com> <763b3f8541277a7690bf859a87e69265.squirrel@www.erg.abdn.ac.uk> <CAK6E8=evoYYQ-6=MaCQbUgXgV3hP16HkXPB0+DM7mKWKO_SEdA@mail.gmail.com> <529A1B65.4070008@erg.abdn.ac.uk> <CAK6E8=fPE+9KN5YCxdhkP86ch_0f1COdm9vSK=7geuzB050D0w@mail.gmail.com> <655C07320163294895BBADA28372AF5D140964@FR712WXCHMBA15.zeu.alcatel-lucent.com>
From: Yuchung Cheng <ycheng@google.com>
Date: Mon, 02 Dec 2013 16:32:24 -0800
Message-ID: <CAK6E8=fE4yVG4_x__qLANiKyf29wp_J9XyCh4w9f6Mf1bBnSMA@mail.gmail.com>
To: "Scharf, Michael (Michael)" <michael.scharf@alcatel-lucent.com>
Content-Type: multipart/alternative; boundary="089e01229ed48db5b404ec9670d3"
Cc: "tcpm@ietf.org" <tcpm@ietf.org>, "draft-ietf-tcpm-fastopen@tools.ietf.org" <draft-ietf-tcpm-fastopen@tools.ietf.org>
Subject: Re: [tcpm] Summary of mt comments/questions WGLC for draft-ietf-tcpm-fastopen-05
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.15
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: Tue, 03 Dec 2013 00:33:10 -0000

On Mon, Dec 2, 2013 at 5:49 AM, Scharf, Michael (Michael) <
michael.scharf@alcatel-lucent.com> wrote:

>  Some comments, with chair hat off…
>
>
>
> a)+b):
>
>
>
> I have no strong opinion on whether the connection initiator (client)
> should cache the RTT, or not. It seems partly orthogonal to TFO. If the RTO
> expires spuriously, the document recommends to retransmit without data in
> SYN, i.e., the amount of bytes sent into the network is the same as for
> regular TCP. From a congestion control perspective, the result is more or
> less the same.
>
>
>
> However, after having followed this discussion, I wonder why the document
> does not comment at all about RTT estimation at the connection acceptor
> (server). With TFO, the connection acceptor (server) is allowed to send a
> full IW of data back to the connection initiator (client), following the
> SYN-ACK. However, at that point in time, the connection acceptor (server)
> has no recent RTT measurement, right? This is different to the traditional
> TCP handshake, in which
>
correct

> an RTT measurement is available before data is sent into the network.  The
> fact that TFO allows sending of a full IW of data before an RTT estimation
> is available should be mentioned as a warning sign, IMHO. For instance, it
> will make it more difficult to apply pacing.
>
I can add that point about RTT estimation.


>
>
> c)+d):
>
>
>
> In almost all existing use of regular TCP, the endpoints negotiate the MSS
> before actually sending any data, because adding data to SYNs doesn’t make
> a lot of sense without TFO. Therefore, “MSS clamping” in middleboxes
> usually works for regular TCP, and it may avoid PMTUD procedures in many
> cases. With TFO, the situation can be more
>
I need more information about the MSS clamping feature.

My understanding (which can be wrong) of MSS clamping is that the
middle-box is transparently reducing the value in the MSS option in the SYN
packet. If so the connection that negotiate the cookie, should receive and
cache the reduced value, which will be used by the later Fast Open
connection.

It is possible the middle-box lowers the MSS prior the to SYN-data. In that
case it is equivalent to sending a SYN-data, or a data packet on a new path
that has lower MTU. In that case, the remedy is ICMP error or ultimately a
timeout. When recurring SYN-data timeouts happen, then the client should
disable Fast Open (temporarily) due to the negative caching suggested in
the draft.


> complex. In addition to the case of MSS<536 bytes raised by Gorry, it is
> also not clear to me what a middlebox should do if it receives a TFO SYN
> with data, and if this segment is larger than the “MSS clamping” value of
> that middlebox. This corner case can occur e.g. after path routing changes.
> Therefore, I agree with Gorry that the document should at least mention
> that MSS issues may require further experimentation.
>
As replied earlier, I will document SYN-data / middlebox issue as the "area
of experimentation" in the previous email.


>
>
> Thanks
>
>
>
> Michael
>
>
>
>
>
> *From:* tcpm [mailto:tcpm-bounces@ietf.org] *On Behalf Of *Yuchung Cheng
> *Sent:* Sunday, December 01, 2013 7:08 PM
> *To:* Gorry Fairhurst
> *Cc:* tcpm@ietf.org; draft-ietf-tcpm-fastopen@tools.ietf.org
> *Subject:* Re: [tcpm] Summary of mt comments/questions WGLC for
> draft-ietf-tcpm-fastopen-05
>
>
>
>
>
>
>
> On Sat, Nov 30, 2013 at 9:07 AM, Gorry Fairhurst <gorry@erg.abdn.ac.uk>
> wrote:
>
>
> Sorry for the delay (I was unwell), so this email is to restart.
> I think we got a long way through discussing things, so I've
> summarised below all the points as I understand from my side,
> so we and others know where we have arrived and can fix others.
>
> I support the experimentation with TFO, although I would argue
> we do need to write more about how the proposed changes in this
> ID will modify STD behaviour and explicitly say how to "negatively"
> cache path info that indicates TFO should not be used.
>
> I would like to see documented the cases where this could
> @@potentially@@ be worse than STD mechanisms. The ID already
> has some good documentation, but I think it needs a little
> more detail especially the set of potential issues that we
> expect to be mitigated by a cache at both the client and server
> - especially when and why do we need to revoke the cookie
> to prevent potentially bad pathologies from being
> repeated in a short time between a pair of clients and servers
> that keep starting up new connections.
>
> ---
>
> The points below hopefully help us see what we can agree on:
>
> a) Case: cached RTT greater than minRTO
>    The current text says "RECOMMEND that the client caches the MSS
>    and RTT to the server to enhance performance."
>
>    I think ideally we should also explicitly say if the RTT is
>    not cached TCP SHOULD disable use of TFO (make the cookie
>    invalid) when the RTT>MinRTO.
>
>    ... & note something about  "this prevents a premature RTO
>    for flows with a long RTT and also provides an acceptable RTT
>    for pacing" - I feel the current text focuses on performance
>    improvement for a low RTT, but does not explain why it is
>    important for large RTTs.
>
>
> b) Case: cached RTT less than minRTO and path change
>    We could just note that this ID does not change the behaviour
>    that a path change can result in an invalid RTT/RTO value,
>    and that normal TCP behaviour is expected to recover.
>
>  no on a and b.
>
>
>
> The agreed change is to remove RTT caching in TFO spec.
>
> TFO will benefit higher RTT client more. Do I need to explain such a
> simple logic further?
>
>
>
> min-RTO is not defined in IETF RFCs, nor do I see your new logic improves
> TFO b/c ultimately cached RTT can be out-dated. I don't see how tweaking
> TFO with historical RTT values can make it safer.
>
>
>
>
> c) Case: receiver-advertised MSS less than 536 bytes.
>
>    This is an unusual corner-case and is not one that I think we need
>    to engineer for. However, I do think we need to note that an IPv4
>    receiver advertised MSS less than 536 would result in
>    transmission of an unexpected large segment to the receiver.
>    (I.e. say we noted this, but don't change the recommendation).
>
>  Why is that specific to TFO?
>
>
>
>
> d) Case: receiver-advertised MSS greater than 1460 B,
>    i.e. allowing TFO with large segments.
>
>    I think we should explicitly say MUST NOT use an MSS that
>    results in a packet size greater than 1500B.
>
>  No. if you send a packet too big you risk it getting lost and wish you
> get some ICMP warnings. Why is that specific to TFO?
>
>
>
>
>    - AND I think we should caution that we do not have current
>    experience of the effect of this behaviour. We could note
>    it as an area for further experimentation? I'm not sure what
>    we agreed?
>
>  ok. Sending SYN-data is indeed a new behavior and an area for further
> experimentation. I think that's why TFO-draft is experimental. I could add
> more words about this in the "areas for experimentation".
>
>
>
>
>
> e) Case: A sender overwhelms a path with limited capacity.
>    This is the corner case where a SYN may fail. The issue is most
>    severe for links that suffer major overload (think low-speed
>    large multiplexing).
>
>    First SORRY - I'd like to avoid "slightly" and "significantly"
>    wording  - we discussed on the thread - instead what matters
>    to me really is:
>
>    This draft updates the congestion-control behaviour while the
>    sender is waiting acknowledgement for a SYN. This will result in
>    more data (up to one IW of segments) being sent before the sender
>    receives the ACK for the SYN. This could result in additional
>    congestion on links that have a high loss rate where the initial
>    ACK would have been lost, which in standard behaviour would have
>    resulted in a lower initial congestion window.
>
>  I can merge the text above into the draft.
>
>
>
>
>    - personally I see the effect as important to document,
>    but is OK for experimentation with an IW of 3 (see (g)).
>
> f) The cookie-less experimental method will likely also need a negative
>    cache to disable inappropriate TFO usage.
>
>    I'd like to see an explicit note for the future experimentation
>    something a bit like this would be good:
>
>   "Even if cookie-less methods are found, it is expected that a
>    future method will still need a way to detect conditions where
>    TFO should not be used due to path properties and some
>    equivalent method may then be needed to disable TFO."
>
>  ok.
>
>
>
>
> g) I am unsure that allowing TFO to use IW=10 is safe!
>
>
> Best wishes,
>
> Gorry
>
>
>