Re: [Masque] ECN & Flow IDs
Alex Chernyakhovsky <achernya@google.com> Wed, 07 April 2021 17:53 UTC
Return-Path: <achernya@google.com>
X-Original-To: masque@ietfa.amsl.com
Delivered-To: masque@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E16D33A22E4 for <masque@ietfa.amsl.com>; Wed, 7 Apr 2021 10:53:43 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.599
X-Spam-Level:
X-Spam-Status: No, score=-17.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 XKIEA_Dbvpym for <masque@ietfa.amsl.com>; Wed, 7 Apr 2021 10:53:39 -0700 (PDT)
Received: from mail-ot1-x336.google.com (mail-ot1-x336.google.com [IPv6:2607:f8b0:4864:20::336]) (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 15DA63A22DA for <masque@ietf.org>; Wed, 7 Apr 2021 10:53:38 -0700 (PDT)
Received: by mail-ot1-x336.google.com with SMTP id h6-20020a0568300346b02901b71a850ab4so18895154ote.6 for <masque@ietf.org>; Wed, 07 Apr 2021 10:53:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=svhcdFYtI6yy22MX3agOetvZ1VtBm+GvpyUJFr7mSBE=; b=BnbSnK9eJGWyemkFvMEappEoATfzLPxTJuF9lfLOd6SP841y4VzaL+eltj1dKUu5Nn NtaE6uGYlUUUhr+CFzfuPr/np77ANRLyrUNOXnVJCWOxe7xfHE7N+iCUKpnB96Yj0ld/ x2ZWapMEHhdzfsa0XC8bprt5Ef6GGHuwLQzDkyRC22Mh9t02tNNDPnd98NLQBptU0YW8 /vNovg2YPfUhs3kS/6qAaAPlDW1+UDM87PuGMcnzmjA5abLJw4GALq/s6UrW/1UEHqlJ URvrYR68oAyVGTju/FwxSn6b4cLg5zK6Q0vkkBgEZHRGutwTD8L10NC+JJh9k5M1BMaQ 1tpA==
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=svhcdFYtI6yy22MX3agOetvZ1VtBm+GvpyUJFr7mSBE=; b=VZlXe1PoB4j42S9A1oFHt8wNcEDYnAupyLP3EgAyAZZCjFIqDy7Zz6pXxY9vOdQnEj hyQDcuVxEmJ9nq0oSXLG/m/qSQI3D/xLQqaDBG9W+M59UbdntkTWs3ViGh/ZPnTnULKO 4AfIfM2SNcUODV47aTnlZcQCiP/NXmmHwGYZUEpaSEord8Jm7CtrcbcFFU8wur+nE4bp ap7E3dWQLw4/umvbGPJ9WJ48Pi0drtTfHCuZOp9BSiaGQg1upxAiTlhPk2qyMQcGV0Z2 J15X3ckL+bpnpULat27GEo6Lt+ccQsxqmeNdZDA52niPgH30AAIgjL9WCvj7eQGeJm87 Xakw==
X-Gm-Message-State: AOAM533MyJ8DRtD2NiRSf5JkoLo132OvWnSAD8D3/D09+I5sKqB6ms25 LTvmJkbXSXpV8uCW/T5cw1AxtiF8UHRT3asHPUy9MQ==
X-Google-Smtp-Source: ABdhPJwPE36AxuQgreCFavxlXV2GX1RWZ7zC7nUJ5eXpF3QzfUboxKqe+JYo/Ww0Hpyu564NVdRb/WIJY7GEMk3u5jk=
X-Received: by 2002:a9d:66c8:: with SMTP id t8mr3832234otm.173.1617818017283; Wed, 07 Apr 2021 10:53:37 -0700 (PDT)
MIME-Version: 1.0
References: <CAM4esxRmjWr-y-9-KAJmmKvGdONpPufgAbubUhPu_KaS1_Md9Q@mail.gmail.com> <CAPDSy+6go4xh4E55220upECkrept1Yb15diVhC8e3HEWsz52fQ@mail.gmail.com> <BBA47C7D-FBEC-419D-9BED-2D998EF526B0@ericsson.com> <CAM4esxTR1Y8oS0UpPu2_5cnDT_tnLTM-VbknCJDyWEz=JbyUKQ@mail.gmail.com>
In-Reply-To: <CAM4esxTR1Y8oS0UpPu2_5cnDT_tnLTM-VbknCJDyWEz=JbyUKQ@mail.gmail.com>
From: Alex Chernyakhovsky <achernya@google.com>
Date: Wed, 07 Apr 2021 13:53:26 -0400
Message-ID: <CAHbWFkRGTDraYPQrNHMiOM5Cg=opJvFT7hs2cWA=vd+=hKQBBw@mail.gmail.com>
To: Martin Duke <martin.h.duke@gmail.com>
Cc: Mirja Kuehlewind <mirja.kuehlewind@ericsson.com>, David Schinazi <dschinazi.ietf@gmail.com>, MASQUE <masque@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000003bbd9705bf659c4a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/masque/Rf-OA05y5nSn9MKO6Sy4dSXQOuk>
Subject: Re: [Masque] ECN & Flow IDs
X-BeenThere: masque@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Multiplexed Application Substrate over QUIC Encryption <masque.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/masque>, <mailto:masque-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/masque/>
List-Post: <mailto:masque@ietf.org>
List-Help: <mailto:masque-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/masque>, <mailto:masque-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Apr 2021 17:53:44 -0000
Hi Martin, What's stopping the client from opportunistically sending the packet with the extension in the same flight as requesting the extension? Then you'd at-best get the expected behavior and at-worst fall back to the 1RTT penalty. Sincerely, -Alex On Wed, Apr 7, 2021 at 1:07 PM Martin Duke <martin.h.duke@gmail.com> wrote: > Again, adding two bits to the datagram payload is not "simple enough" if > it's an extension. > > If it's part of the CONNECT-UDP standard, then sure. > > Otherwise, there is ambiguity in processing an H3 DATAGRAM frame sent by > the client before receiving the response from the server. The client can > send not-ECT or eat the 1RTT latency penalty. > > With flow IDs, the proxy will simply drop the datagram, incurring a 1RTT > penalty only if it doesn't support the extension. > > On Wed, Apr 7, 2021 at 10:00 AM Mirja Kuehlewind < > mirja.kuehlewind@ericsson.com> wrote: > >> Hi David, hi all, >> >> >> >> to also add to your question about multiple flow IDs. I guess we kind of >> agree that we don’t want flow ID for ECN information, as adding two bits is >> simple enough, however, then it is actually not fully clear to me why >> multiple flow IDs per connect request are needed. You briefly mentioned >> other extension below, however, not all, or only very few information, >> require per-packet information (as it was used for the ECN example). If you >> want to actually send multiple flows/connections to the same server you, >> can always send multiple connect requests. That’s slightly more overhead at >> connection establishment but not much, and I would say it’s architecturally >> more clean and therefore also simpler. >> >> >> >> Mirja >> >> >> >> >> >> *From: *Masque <masque-bounces@ietf.org> on behalf of David Schinazi < >> dschinazi.ietf@gmail.com> >> *Date: *Wednesday, 31. March 2021 at 02:36 >> *To: *Martin Duke <martin.h.duke@gmail.com> >> *Cc: *MASQUE <masque@ietf.org> >> *Subject: *Re: [Masque] ECN & Flow IDs >> >> >> >> The trivial other approach to solving ECN would be to prefix the UDP >> payload with a type byte that contains the two ECN bits and 6 unused bits. >> >> That would definitely work, and therefore I don't think ECN is a good >> example to use as a discussion starter for how flow IDs are managed. >> >> I wrote that draft to test out the extensibility of the CONNECT-UDP >> design, I'm not planning on moving it forward at this time. >> >> >> >> More conceptually, the main question is whether we allow one >> client-initiated bidirectional stream to map to multiple datagram flow IDs. >> >> The approach I've taken is to say yes: that allows us to reuse the flow >> ID multiplexing logic to encode additional information in the flow ID. >> >> You could build something isomorphic to this where you say no and have >> one flow ID per stream, and then add a second varint right after the flow >> ID. >> >> Since datagrams have to fit in a QUIC packet, adding more varints eats >> into available datagram MTU which makes me prefer the multiple flow IDs per >> stream approach. >> >> Both are pretty much equivalent in terms of implementation complexity: >> either way you need a hash table mapping from a varint to what that varint >> means. >> >> There is more complexity in how you convey that mapping (right now this >> is done using parameters on the Datagram-Flow-Id header), but I don't think >> >> requiring one flow ID per stream solves any of that complexity, you'll >> still need a way to convey extension information. The ECN example is so >> simple that >> >> it doesn't require sending much extension information, but if you look >> further at enabling optional IP header compression in CONNECT-IP, then >> you'll want >> >> a way to associate a varint with which IP addresses you're compressing. >> >> >> >> I think the question we have to answer becomes: do we want MASQUE >> protocols to be extensible? Our options are: >> >> - disallow extensibility and slightly simplify the protocol >> >> - allow extensibility via multiple flow IDs per stream, and deal with the >> slight complexity >> >> - allow extensibility with a single flow ID per stream, and deal with the >> slight complexity >> >> Personally, I feel strongly that we should allow extensibility. >> >> >> >> David >> >> >> >> >> >> On Tue, Mar 30, 2021 at 3:40 PM Martin Duke <martin.h.duke@gmail.com> >> wrote: >> >> Hello MASQUE, >> >> >> >> At IETF 110 there was a lot of good discussion challenging the >> foundations of the CONNECT-UDP framework, including the relationship >> between streams and Flow-IDs. While CONNECT-UDP happens to use flow IDs >> somewhat incidentally, the real action with the controversial >> multiple-flow-id-per-CONNECT happens in David's (unadopted) ECN draft: >> https://datatracker.ietf.org/doc/draft-schinazi-masque-connect-udp-ecn/ >> >> >> >> Leading up to the interim, it would be great if one of the detractors of >> the flow-id mapping submitted their own approach to solve ECN. This would >> help to illuminate the tradeoffs. Speaking as an individual, I am also >> hoping to move the ECN work forward and having another design would help to >> do that. >> >> >> >> Thanks, >> >> Martin >> >> -- >> Masque mailing list >> Masque@ietf.org >> https://www.ietf.org/mailman/listinfo/masque >> >> -- > Masque mailing list > Masque@ietf.org > https://www.ietf.org/mailman/listinfo/masque >
- [Masque] ECN & Flow IDs Martin Duke
- Re: [Masque] ECN & Flow IDs David Schinazi
- Re: [Masque] ECN & Flow IDs Alex Chernyakhovsky
- Re: [Masque] ECN & Flow IDs Martin Duke
- Re: [Masque] ECN & Flow IDs David Schinazi
- Re: [Masque] ECN & Flow IDs Mirja Kuehlewind
- Re: [Masque] ECN & Flow IDs Mirja Kuehlewind
- Re: [Masque] ECN & Flow IDs Martin Duke
- Re: [Masque] ECN & Flow IDs David Schinazi
- Re: [Masque] ECN & Flow IDs Alex Chernyakhovsky
- Re: [Masque] ECN & Flow IDs Martin Duke
- Re: [Masque] ECN & Flow IDs Mirja Kuehlewind
- Re: [Masque] ECN & Flow IDs Mirja Kuehlewind
- Re: [Masque] ECN & Flow IDs Alex Chernyakhovsky
- Re: [Masque] ECN & Flow IDs David Schinazi
- Re: [Masque] ECN & Flow IDs Mirja Kuehlewind
- Re: [Masque] ECN & Flow IDs Martin Duke
- Re: [Masque] ECN & Flow IDs Alex Chernyakhovsky
- Re: [Masque] ECN & Flow IDs Martin Duke
- Re: [Masque] ECN & Flow IDs David Schinazi