From nobody Mon Feb 15 12:07:24 2021
Return-Path: <martin.h.duke@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 664853A10A7
 for <quic@ietfa.amsl.com>; Mon, 15 Feb 2021 12:07:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.197
X-Spam-Level: 
X-Spam-Status: No, score=-0.197 tagged_above=-999 required=5
 tests=[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 WsQfN3Z8-raI for <quic@ietfa.amsl.com>;
 Mon, 15 Feb 2021 12:07:20 -0800 (PST)
Received: from mail-io1-xd2d.google.com (mail-io1-xd2d.google.com
 [IPv6:2607:f8b0:4864:20::d2d])
 (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 9E0143A10A4
 for <quic@ietf.org>; Mon, 15 Feb 2021 12:07:20 -0800 (PST)
Received: by mail-io1-xd2d.google.com with SMTP id u8so7914377ior.13
 for <quic@ietf.org>; Mon, 15 Feb 2021 12:07:20 -0800 (PST)
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=LkLNsh09w1FN6BJ4ldtug886P2UPp6n1UqrGkgCnOH4=;
 b=NOWm+YvHQpSLAHLxzriJDsAuAqcIghPMKA5pnwaWW6PsqxzDy/mv0ymSsnZztny6Tz
 Zdh1OZeIBdu7JgjvUwE4puFnMIhBGBJADJ0wdfz5cI6SHp+5X42avxBnkwHFHwlytB8B
 zS+9PWoYjJuJ88zdPB55q9UkBKUyO2qwWUlrWmi8uJfTRsGHKKyuKr5B7SAmQ8MGN2QR
 1XgrmRNny7r0d4Ii3Cf52XWAxSEh72D9KyorvW2r7x0LJinm6O2ChSRMYXLV8AA1uC2T
 vE+FQws8gTJSUCSTF1oVdVu3PNtGI5keKb84HkdjtazYFpJCrzUX9qdr6xbD9BhI56Qv
 6wcA==
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=LkLNsh09w1FN6BJ4ldtug886P2UPp6n1UqrGkgCnOH4=;
 b=PhN3hr0EnumKYwyXpUayV3BTIxq0ovRR8VBTOtt7SPuqdc7/Bs40Lch7VMxJ8ZTrvQ
 qrsProloY17pdOu5wgx3p5Olwqmgb91aCOy5gQnP18mhE+2duCiyZdlXabUksp5uCnYJ
 s3dwv+RkTLnvs3N/g0cUzxTU63rylye5fOn+yjl71DSaIgsxt8d+N3dTBUodgdmrODoZ
 vH/y7fR9ujEWspE1+8kqbRoyNzg+aKDTe5vZcXjA7apeBOqydkKBJphXTZ3y4jZPPqFX
 +uw/LaVQUYsXKDRw5/Q1vZsFRwhWE4PjtMKTqAgZdY6oHkSXOM8kUgU87KVk0cR9kTeT
 LPLg==
X-Gm-Message-State: AOAM532Q9P8kGOuuVvnydH0EN965qUdw93qKdUh42qzsRDjtg3V2EWS4
 Dt7zl2OkweQCJFryWS/VA1z1noK5DLeKAcS94HM=
X-Google-Smtp-Source: ABdhPJyuof6J3u3hOWeZE7RuwgZRHvzlOPE3ZxG8nQ3GE6bljEzL8RpLKhP2p1fxvtq86gyZs6dx2L3EgqHXkbz+Ooo=
X-Received: by 2002:a5d:818f:: with SMTP id u15mr13827734ion.95.1613419639760; 
 Mon, 15 Feb 2021 12:07:19 -0800 (PST)
MIME-Version: 1.0
References: <cbd1acfa-bfdd-0ce7-f381-ad87cacd85aa@huitema.net>
 <CAC8QAcc+D5DRXUXu4ZRP_9dn_Tp0edU7dsNq+Xy4DYBqV-r_oQ@mail.gmail.com>
In-Reply-To: <CAC8QAcc+D5DRXUXu4ZRP_9dn_Tp0edU7dsNq+Xy4DYBqV-r_oQ@mail.gmail.com>
From: Martin Duke <martin.h.duke@gmail.com>
Date: Mon, 15 Feb 2021 12:07:08 -0800
Message-ID: <CAM4esxTyp79-Sq5SMxHCUSO4GPTW_7iN0JZRMcXA9dv7TG4kBA@mail.gmail.com>
Subject: Re: Options for QUIC Multipath
To: sarikaya@ieee.org
Cc: Christian Huitema <huitema@huitema.net>, IETF QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000806aee05bb658834"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/rfGc919otartQIWtwWd0LtVkunQ>
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, 15 Feb 2021 20:07:22 -0000

--000000000000806aee05bb658834
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Thanks for all of this, Christian.

FWIW, I am deeply concerned about the complexity of the second approach,
and like that the first approach's changes are almost entirely sender-side.
IIUC on the receiver side, the only requirement is enough state to keep
more than 1 path validated and active at once. If the objective is to
provide a way to get MP-QUIC experiments up and running, this is an
important consideration.

I am also quite fearful of undermining the assumption that sequence numbers
increase monotonically; in particular, I'm afraid of messing up the key
update logic.

On Mon, Feb 15, 2021 at 7:48 AM Behcet Sarikaya <sarikaya2012@gmail.com>
wrote:

>
>
> On Sun, Feb 14, 2021 at 4:23 PM Christian Huitema <huitema@huitema.net>
> wrote:
>
>> I authored two drafts proposing two different solutions for Multipath
>> QUIC: QUIC Multipath Negotiation Option (
>> https://datatracker.ietf.org/doc/draft-huitema-quic-mpath-option/); and,
>> in collaboration with colleagues at Ali Baba, Multipath Extension for QU=
IC (
>> https://datatracker.ietf.org/doc/draft-liu-multipath-quic/). Apart from
>> some details that could easily be aligned, the main difference is that t=
he
>> =E2=80=9Cnegotiation option=E2=80=9D maintains the property of QUIC Tran=
sport
>> <https://datatracker.ietf.org/doc/draft-ietf-quic-transport/> to have a
>> single packet number space for all application packets while the =E2=80=
=9Cmultipath
>> extension for QUIC=E2=80=9D specifies that there will be a specific pack=
et number
>> space for each path. I have now implemented both options in Picoquic. Th=
is
>> blog describes what I learned:
>> https://huitema.wordpress.com/2021/02/14/how-many-packet-number-spaces-f=
or-quic-multipath/
>> .
>>
>> To summarize, I believe now that both options work. The simple option
>> requires some additional work for managing acknowledgement, but the
>> multiple number space option adds a lot more complexity (41 new code
>> branches compared to only 6), and will require a lot more testing becaus=
e
>> it also change the processing of the "single path" scenarios. The multip=
le
>> number space option also prevents the use of zero-length connection IDs,
>> and thus causes additional overhead in some important deployment scenari=
os.
>> So, yes, both options work, but the simpler option provides simpler code
>> and also less overhead.
>>
>
>
> Great!
> I thought it was a given.
>
> Thanks for your hard work Christian.
>
> Behcet
>
>> In any case, I hope that this exercise will inform our efforts to
>> standardize multipath support in QUIC.
>>
>> -- Christian Huitema
>>
>>
>>

--000000000000806aee05bb658834
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Thanks for all of this, Christian.</div><div><br></di=
v><div>FWIW, I am deeply concerned about the complexity of the second appro=
ach, and like that the first approach&#39;s changes are almost entirely sen=
der-side. IIUC on the receiver side, the only requirement is enough state t=
o keep more than 1 path validated and active at once. If the objective is t=
o provide a way to get MP-QUIC experiments up and running, this is an impor=
tant consideration.<br></div><div><br></div><div>I am also quite fearful of=
 undermining the assumption that sequence numbers increase monotonically; i=
n particular, I&#39;m afraid of messing up the key update logic.<br></div><=
/div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">O=
n Mon, Feb 15, 2021 at 7:48 AM Behcet Sarikaya &lt;<a href=3D"mailto:sarika=
ya2012@gmail.com">sarikaya2012@gmail.com</a>&gt; wrote:<br></div><blockquot=
e class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px s=
olid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div dir=3D"ltr"><=
br></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_att=
r">On Sun, Feb 14, 2021 at 4:23 PM Christian Huitema &lt;<a href=3D"mailto:=
huitema@huitema.net" target=3D"_blank">huitema@huitema.net</a>&gt; wrote:<b=
r></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex=
;border-left:1px solid rgb(204,204,204);padding-left:1ex">
 =20

   =20
 =20
  <div>
    <p>I authored two drafts proposing two different solutions for
      Multipath QUIC: QUIC Multipath Negotiation Option
      (<a href=3D"https://datatracker.ietf.org/doc/draft-huitema-quic-mpath=
-option/" target=3D"_blank">https://datatracker.ietf.org/doc/draft-huitema-=
quic-mpath-option/</a>);
      and, in collaboration with colleagues at Ali Baba, Multipath
      Extension for QUIC
      (<a href=3D"https://datatracker.ietf.org/doc/draft-liu-multipath-quic=
/" target=3D"_blank">https://datatracker.ietf.org/doc/draft-liu-multipath-q=
uic/</a>).
      Apart from some details that could easily be aligned, the main
      difference is that the =E2=80=9Cnegotiation option=E2=80=9D maintains=
 the property
      of <a href=3D"https://datatracker.ietf.org/doc/draft-ietf-quic-transp=
ort/" target=3D"_blank">QUIC
        Transport</a> to have a single packet number space for all
      application packets while the =E2=80=9Cmultipath extension for QUIC=
=E2=80=9D
      specifies that there will be a specific packet number space for
      each path. I have now implemented both options in Picoquic. This
      blog describes what I learned:
<a href=3D"https://huitema.wordpress.com/2021/02/14/how-many-packet-number-=
spaces-for-quic-multipath/" target=3D"_blank">https://huitema.wordpress.com=
/2021/02/14/how-many-packet-number-spaces-for-quic-multipath/</a>.</p>
    <p>To summarize, I believe now that both options work. The simple
      option requires some additional work for managing acknowledgement,
      but the multiple number space option adds a lot more complexity
      (41 new code branches compared to only 6), and will require a lot
      more testing because it also change the processing of the &quot;singl=
e
      path&quot; scenarios. The multiple number space option also prevents
      the use of zero-length connection IDs, and thus causes additional
      overhead in some important deployment scenarios. So, yes, both
      options work, but the simpler option provides simpler code and
      also less overhead.</p></div></blockquote><div><br></div><div><br></d=
iv><div>Great!=C2=A0</div><div>I thought it was a given.</div><div><br></di=
v><div>Thanks for your hard work Christian.</div><div><br></div><div>Behcet=
=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0=
.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
    <p>In any case, I hope that this exercise will inform our efforts to
      standardize multipath support in QUIC.</p>
    <p>-- Christian Huitema<br>
    </p>
    <p><br>
    </p>
  </div>

</blockquote></div></div>
</blockquote></div>

--000000000000806aee05bb658834--

