Re: [Masque] ECN & Flow IDs

Alex Chernyakhovsky <achernya@google.com> Wed, 31 March 2021 02:32 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 811733A1830 for <masque@ietfa.amsl.com>; Tue, 30 Mar 2021 19:32:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.598
X-Spam-Level:
X-Spam-Status: No, score=-17.598 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, RCVD_IN_DNSWL_BLOCKED=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 RKuPDKl9yirX for <masque@ietfa.amsl.com>; Tue, 30 Mar 2021 19:32:35 -0700 (PDT)
Received: from mail-ot1-x32f.google.com (mail-ot1-x32f.google.com [IPv6:2607:f8b0:4864:20::32f]) (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 4D8073A1391 for <masque@ietf.org>; Tue, 30 Mar 2021 19:31:43 -0700 (PDT)
Received: by mail-ot1-x32f.google.com with SMTP id 68-20020a9d0f4a0000b02901b663e6258dso17520500ott.13 for <masque@ietf.org>; Tue, 30 Mar 2021 19:31:43 -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=i1uYtxfFxhzKOgpFdoMUcf5ZzBNDLWKs1lQDD9ylnl0=; b=eBO1jwJISpiu4P43u7xviCNwdwDQzIEQuXhjqNm75h+1+ThjxfBaPlXCcezC+pwq9X K6kCbqX9wSWAVFLDwe96s5Ky/05wdc9jJYe7knPZA6F6D6Pw2Mu9cGX+PRal4pDYTS/t 5iIY0OV+JzfAPlem30nR3QScoUb9xODEHIhdUzy4Lub2am3ZBXEUyM885twi506sedmX 3Z36kI+7Z3BLixT+XidnAOdwPsHZu0ZZSznbiQqLLaFM+mGLiZmo901TAxKI1hCF86sQ 1CNcAq89ABsiaw8ccinQ/YX4VKLftxki4xdkOYUZx7RV4YnmvB7noQ9rLV3IULJvPfUq vpaQ==
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=i1uYtxfFxhzKOgpFdoMUcf5ZzBNDLWKs1lQDD9ylnl0=; b=LNaiuvSMDj0VdNB8mXj6hIEvUdYUEG+n8iw3/g+X7QbLOPwqbutDjy1VXFOZ5tVUeh se+kxyYDEISBDHeSJzzf+N61GMlwWKJnC592bBbSi18cLxRkKlOwrcBEpqTGILu5qFWw A23Y/6PbMljx4QI8XxN0nHpKUNuNRTr+38S4jArl1tdHajnOgu3IeDKdqlSnn7PW4TIK Pr7m714sLN3eECiZI2Gc6/qeV3murweadtx1NyjfpPhBaKBfR+AVy1Ol3dlW9ZA9esAV QnHQSJaawh9sy4XwxKEvI1jRYM7k75d5//vVQKlOvcQKCiTyi0YEWyCQ9AV1WFqGNO9w Nhnw==
X-Gm-Message-State: AOAM5308LaWwbNKfu4cYxIbankum9Rtl4xykEZ+JhM6MFGKQZr6e3xaP W2TlsLXsoXheiDtNN4z0MdIZXO9olq6EHU1xZMxxjw==
X-Google-Smtp-Source: ABdhPJwiI6mYQKt5FEdnv2fvM0nD/BTnujmvAOONZXKN/lWuG4KVgnuNpLwO+mXrd0dCWNQcMTBUopVnzbyAmNc5kqk=
X-Received: by 2002:a9d:7513:: with SMTP id r19mr746597otk.85.1617157901806; Tue, 30 Mar 2021 19:31:41 -0700 (PDT)
MIME-Version: 1.0
References: <CAM4esxRmjWr-y-9-KAJmmKvGdONpPufgAbubUhPu_KaS1_Md9Q@mail.gmail.com> <CAPDSy+6go4xh4E55220upECkrept1Yb15diVhC8e3HEWsz52fQ@mail.gmail.com>
In-Reply-To: <CAPDSy+6go4xh4E55220upECkrept1Yb15diVhC8e3HEWsz52fQ@mail.gmail.com>
From: Alex Chernyakhovsky <achernya@google.com>
Date: Tue, 30 Mar 2021 22:31:26 -0400
Message-ID: <CAHbWFkTLC-VdZOX6yTTR9UAy37UZ8R8_t-pWtH=z0rdBZoV4Tg@mail.gmail.com>
To: David Schinazi <dschinazi.ietf@gmail.com>
Cc: Martin Duke <martin.h.duke@gmail.com>, MASQUE <masque@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000049097305becbea2d"
Archived-At: <https://mailarchive.ietf.org/arch/msg/masque/vKdQUFqUBhqn4DVgVT7EwSyROZw>
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, 31 Mar 2021 02:32:44 -0000

I don't think ECN is a good example for discussing datagram flow IDs. I
have a github issue (
https://github.com/ietf-wg-masque/draft-ietf-masque-h3-datagram/issues/35)
out to remove the ECN example. (I much prefer passing the ECN information
in the datagram payload, prefixed ahead of the packet as David describes).

In addition to the issues that David describes, I think we should also
consider whether the Datagram-Flow-Id header is a list separately from
whether we allow a 1:many mapping between streams and datagram flow IDs. (I
would like to make sure we do not have a many:many or many:1 mapping where
multiple streams are responsible for multiple datagram flow IDs)

Sincerely
-Alex

On Tue, Mar 30, 2021 at 8:36 PM David Schinazi <dschinazi.ietf@gmail.com>
wrote:

> 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
>