Re: New Version Notification for draft-kuhn-quic-0rtt-bdp-07.txt
Kazuho Oku <kazuhooku@gmail.com> Mon, 26 October 2020 23:42 UTC
Return-Path: <kazuhooku@gmail.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8FA2C3A1105 for <quic@ietfa.amsl.com>; Mon, 26 Oct 2020 16:42:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 XR01vP8GbHzp for <quic@ietfa.amsl.com>; Mon, 26 Oct 2020 16:42:37 -0700 (PDT)
Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com [IPv6:2a00:1450:4864:20::631]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ADA5F3A10F2 for <quic@ietf.org>; Mon, 26 Oct 2020 16:42:34 -0700 (PDT)
Received: by mail-ej1-x631.google.com with SMTP id t25so16488961ejd.13 for <quic@ietf.org>; Mon, 26 Oct 2020 16:42:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=w6ijnkdFctKZeZXHg1kPANQY+Bb6w2PoTxxhHhidKfM=; b=NYt3AgBLGRz0VskqVT+7qGry7eiPkpcqwPxbFj2nYkNiMeKX+9Q+ozrE/aFiz60QO/ o3fDlEdae6U2cmFMVE4vIPW/lenfVASZtifNNC+FyxL7+ZtjewCl562oT4wNsQMJJzZN ShFToerMccfmYH/a3A1Wz5cvyRF+H5iKfkh7zzTftm+EPswFI/mdBtvTRQyOp3sfVy7U zbX4Pt5/yCOzIcgXUGVe4KYLC2Kaq4OHGr9UZqSydYO2XY7BCE/l5ZwsX/qF7TztfJCE lspD6sKRD66S48M9qAQaUoQrF+wW9FytivvHgqPIfep7yvYJWAwTRtTh0I++7FR6e/1g sUIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=w6ijnkdFctKZeZXHg1kPANQY+Bb6w2PoTxxhHhidKfM=; b=EeUNW4KwzaBAe6mzzbZ7h0+gYwTuDdmWXFyryiBx5FBE3KVj5j7JueSfyCF4XD845r 2Dq92UuE0SfrrvIoQM6pYFszbRuvhADROwE5fG/AM9XjvnDlZHSfZr9z9h61pSw82vFa p7ncJqpKwbkPZd6jAY/VHAbUvDckqCD1a47R3UIrzLaxlhrRYcOZlWztgXLsQ085n27u DXbZB1ARxPeBD4E9sSVl+kBrCSNwF2sMl2z6zURlMVOz1WxqUCNJGVCptZuSkGnc9Hva ueMAsRGsX4t6n1kazRBDjnuv/Fynxvtj9F5l72iyr3RDoP2chXVAORIctt0J0bYc9/Oh c8LA==
X-Gm-Message-State: AOAM531nSO1urX8hL63F0l7YKMEizkXwbed9LpImTB5ACgR0a3YP/pVu 0rMaC42BzyIQTfYF22tIO36NUNfyeXXGUQXXu84=
X-Google-Smtp-Source: ABdhPJyx2cZPqnLG6pQhbe5bIazxf1KCGLqABnHhE++PjRVnF1x2wCENqKXz7FBOVPj/Kee0XkLZ51sEpyntAXwz3+k=
X-Received: by 2002:a17:906:2649:: with SMTP id i9mr19048204ejc.449.1603755753300; Mon, 26 Oct 2020 16:42:33 -0700 (PDT)
MIME-Version: 1.0
References: <158978951893.22751.4814113172992555805@ietfa.amsl.com> <F3B0A07CFD358240926B78A680E166FF1EDAB042@TW-MBX-P03.cnesnet.ad.cnes.fr> <CANatvzw8+tUG2NjO2OoN1FgsE5mZdzTVZ05ACSTR2zseDdasBg@mail.gmail.com> <55494829-b0eb-43c3-2717-fcae429c8b04@huitema.net>
In-Reply-To: <55494829-b0eb-43c3-2717-fcae429c8b04@huitema.net>
From: Kazuho Oku <kazuhooku@gmail.com>
Date: Tue, 27 Oct 2020 08:42:21 +0900
Message-ID: <CANatvzzkD3+R6qWbpwoxyh4neq2+c_WwRU7eNKuDuYmu1a1Yhw@mail.gmail.com>
Subject: Re: New Version Notification for draft-kuhn-quic-0rtt-bdp-07.txt
To: Christian Huitema <huitema@huitema.net>
Cc: Kuhn Nicolas <Nicolas.Kuhn@cnes.fr>, IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000fb682b05b29b7bd6"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/rkOeCacRYSvhxT8TApynHrgUaQ0>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 26 Oct 2020 23:42:47 -0000
2020年10月27日(火) 8:24 Christian Huitema <huitema@huitema.net>: > > On 10/26/2020 2:36 PM, Kazuho Oku wrote: > > Hello, > > > > Thank you for the draft. I just had the opportunity to read it, and > > therefore am leaving comments. > > > > First of all, I think it is a good idea to write down how endpoints > > can reuse information from previous connections when reconnecting. > > Many people have been talking about the idea, it seems that there are > > pitfalls, and having a compilation of good practices could help. > > > > At the same time, I was puzzled with the following two aspects of the > > draft: > > > > 1. The draft requires the characteristics of paths be communicated via > > session tickets. IIUC, QUIC resumes the properties of the *endpoint* > > using TLS session tickets, while the properties of a path (e.g., > > peer's IP address) is to be remembered by a NEW_TOKEN token. The > > draft's use of session ticket goes against that principle. > > I also think that forcing the information in the session ticket is a bad > idea. As Kazuho says, the session ticket is used to resume sessions, not > necessarily from the same network location at which the session ticket > was acquired. Using a "token" is better from that point of view. It also > has the advantage that tokens are fully managed within the QUIC layer, > without any dependency on the TLS stack, which makes the implementation > significantly simpler. However, there is still an issue because New > Tokens are normally sent just once at the beginning of the connection, > and are used to manage the "stateless retry" process. If the server > sends several New Tokens, the client is expected to remember all of > them, and use them only once. > > It might be simpler to create a new frame, very similar to the "New > Token" frame, maybe calling it "BDP_TOKEN", and a "bdp_token" transport > parameter. The frame carries a binary blob that encode server defined > data. The server sends the client whatever blob it wants. It may send it > several time, in which case the client only remembers the last one. The > client puts the blob in the bdp_token TP, or if no token is available > sends an empty blob to signal its support for the process. The server > may reply with an empty token if it does support the process. > I tend to agree with the high order design, and it is my understanding that use of NEW_TOKEN tokens is fine for the purpose. The transport draft has a paragraph stating that a server might send new NEW_TOKEN tokens as the state of the connection changes, and that it makes sense for the client to use the most recently received NEW_TOKEN token. https://quicwg.org/base-drafts/draft-ietf-quic-transport.html#section-8.1.3-9 > > > > 2. The draft suggests that the server's properties (e.g., server's > > BDP) be shared with the client. Is there any reason why they have to > > be shared? I tend to think that each endpoint unilaterally remembering > > what they prefer provides the most agility without the need to > > standardize something. > > I think that "the endpoint remembers" should be the starting point. For > one thing, we should also care of the scenario in which the client > pushes data to the server, in which case the client needs to remember > the BDP and RTT of the previous connection to the server. The server > could do the same thing, just keep an LRU list of recent client > connection addresses and the associated BDP and RTT. > > The whole business of sending blobs is just an optimization on top of > the "endpoint remembers" strategy. We may be concerned that servers have > to remember data for too many clients, that local server storage would > not scale, or maybe that the same client hits a different server in the > farm each time its reconnect. Hence the idea of storing these parameters > in a blob, sending the blob to the client during the previous > connection, and have the client provide the blob back during the new > connection. Also, we seem concerned that the server does not trust the > client, because otherwise the client could just add a couple of TP such > as "previous RTT" and "previous Bandwidth", based on what the client > observed before. Managing blobs has some complexity, so the tradeoffs > should be explored. > > -- Christian Huitema > > > > > -- Kazuho Oku
- TR: New Version Notification for draft-kuhn-quic-… Kuhn Nicolas
- Re: New Version Notification for draft-kuhn-quic-… Kazuho Oku
- Re: New Version Notification for draft-kuhn-quic-… Christian Huitema
- Re: New Version Notification for draft-kuhn-quic-… Kazuho Oku
- Re: New Version Notification for draft-kuhn-quic-… Matt Joras
- Re: New Version Notification for draft-kuhn-quic-… Christian Huitema
- Re: New Version Notification for draft-kuhn-quic-… Lucas Pardue
- Re: New Version Notification for draft-kuhn-quic-… Matt Joras
- Re: New Version Notification for draft-kuhn-quic-… Lucas Pardue
- Re: New Version Notification for draft-kuhn-quic-… Christian Huitema
- Re: New Version Notification for draft-kuhn-quic-… Kazuho Oku
- Re: New Version Notification for draft-kuhn-quic-… Ian Swett