Re: [tsvwg] New Version Notification for draft-herbert-tcp-in-udp-00.txt

Tom Herbert <tom@herbertland.com> Thu, 17 August 2023 17:38 UTC

Return-Path: <tom@herbertland.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 61AD2C151533 for <tsvwg@ietfa.amsl.com>; Thu, 17 Aug 2023 10:38:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.106
X-Spam-Level:
X-Spam-Status: No, score=-7.106 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=herbertland.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id V79iG-I4SGCd for <tsvwg@ietfa.amsl.com>; Thu, 17 Aug 2023 10:38:38 -0700 (PDT)
Received: from mail-pf1-x433.google.com (mail-pf1-x433.google.com [IPv6:2607:f8b0:4864:20::433]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5B9BCC151532 for <tsvwg@ietf.org>; Thu, 17 Aug 2023 10:38:38 -0700 (PDT)
Received: by mail-pf1-x433.google.com with SMTP id d2e1a72fcca58-68859ba3a93so44116b3a.1 for <tsvwg@ietf.org>; Thu, 17 Aug 2023 10:38:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland.com; s=google; t=1692293917; x=1692898717; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=oowKZlXzJ0d+Owx3ttW1hMDVC8TkV75hHBgKM2j9r1A=; b=gSysiA5m7JfNPGOgNk8IjHl8/rBR3TIHe0+JkSLgbrETb1hYbq1k2fgaLN53MaZ0qA a8bgyr0uhLgc78iTXjl9N0A9DCnQo+XUKRhhvMci6xSfgYBVvlkcJGbh4YpoDP7C+7jz nKYvEEXuwgJ7wjfAVC4X+GaqgybbqWE0PJ1GDlL/oDnz/wEyfml2DphnykUEalP3ygt7 uOxdPvfU/yQysTi46dhw6tPZcP6ZPir/aodSai5HwL3UpYfpv5lX61FePiknuUNn0ucU 0xCPBq/aV4rcXHwV60E6UCJBRbTEjjjm/SNuIrZs8hs3GQOGnv+WRr9HH+hdkJjQsN67 CEsQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692293917; x=1692898717; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=oowKZlXzJ0d+Owx3ttW1hMDVC8TkV75hHBgKM2j9r1A=; b=S+G5ZLTnpdW0s/lWICTXqv3eTf4C10KSi+vIIYzqvmzHkR6Qmxmu6GM+1F5CRkzHWq JwqTivRdszUkA0ZoJdA5UxXwZ5EA4guDs6GuCuzBHGXVZpdw3SCYYxiMoD+TX5a62fEo pAqPCFMeD9H2QqHJNo3t06K2Te+JkPwTdqjtXDCu3WUBJQCY0JSePw3z6P8bpQ4jgt4e kKE726uiSHmgamEMeNnUCsDEWIkp9BFwoCrzY7vXPZ6zXK+Plu5WfwT71sXh0dI6B/CD /jdiYh0z7HhSXY+8E/YJVDYUqvyVpTNQ7vA4pUTHmf/c4sao3WQLa76U29uKHwr37u5c VfDw==
X-Gm-Message-State: AOJu0Yy6WIZtjb/7LsLCAHOWP1vUohtxaqbNNMedXnK8MdTqf1XRaKa/ HEKAYxDhxZjPB8FlAiqMARmjjl231Y77a7LDoUbxkkuvXRwzHJnS
X-Google-Smtp-Source: AGHT+IFVC9PzIJl0MSb+WJ+4xtIPx3oA2oUjXQoDzOqcE1duGgL0keX/ZdQe5g1/NfZ4cwiFbVh0fHgiO6ooCVxRkUE=
X-Received: by 2002:a05:6a20:4420:b0:131:f504:a631 with SMTP id ce32-20020a056a20442000b00131f504a631mr495439pzb.51.1692293917274; Thu, 17 Aug 2023 10:38:37 -0700 (PDT)
MIME-Version: 1.0
References: <169179236696.36797.6075120394432124931@ietfa.amsl.com> <CALx6S36-4d=48UMKusabbRnQiZ7B=0uTvd-Oksrnwj9bxN7xmg@mail.gmail.com> <579B1F7E-CE8C-47C5-94A8-39BE643C5796@ifi.uio.no> <CALx6S34aQ+cX--1OAs_TzjUxL2GwN2-5iigYegxWAzwv+_rR4A@mail.gmail.com> <D627976D-82FC-4C51-A983-FB724EFADC5B@ifi.uio.no> <CALx6S37ucLeXZUT-wKBHgpPqSiicDu197ai7QXphhxQDua45=Q@mail.gmail.com> <FC6D5711-1FF7-4429-84EC-76782017ED8F@ifi.uio.no>
In-Reply-To: <FC6D5711-1FF7-4429-84EC-76782017ED8F@ifi.uio.no>
From: Tom Herbert <tom@herbertland.com>
Date: Thu, 17 Aug 2023 10:38:23 -0700
Message-ID: <CALx6S35eX9Ew5Z5RcGDpDX6N+b2RFkLkGUXf=56=ZRMRb7siiw@mail.gmail.com>
To: Michael Welzl <michawe@ifi.uio.no>
Cc: tsvwg <tsvwg@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000cb9221060321e167"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/1abPYz5qLsPwXNZgNiqu-FKaP-M>
Subject: Re: [tsvwg] New Version Notification for draft-herbert-tcp-in-udp-00.txt
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 17 Aug 2023 17:38:42 -0000

On Wed, Aug 16, 2023, 11:47 PM Michael Welzl <michawe@ifi.uio.no> wrote:

> Hi,
>
> [snip: checksum or not, changing the header or not]
>
> Whether or not the arguments are strong depend on what is being argued.
> Generally, minimal change to protocols is good, and I believe that
> philosophy was applied in GRE/UDP, SCTP/UDP, and MPLS/UDP. So I think from
> that perspective the arguments are strong.
>
>
> Fair enough; we can stop discussing this and see what others think - I
> don’t have a strong opinion here. If we’d indeed find that there would be
> very good reasons to change the header, a choice of alternate header
> formats could also be encoded in your own header's reserved field….
>
>
> You mentioned doing encapsulation without changing the MTU is a great
> benefit, can you elaborate on that?
>
>
> (nit-picking: you probably mean the MSS, not the MTU).
>
> No, sorry, that’s a misunderstanding - I meant that being able to use the
> same outer (UDP) ports for multiple TCP connections is a great benefit.
>
> Perhaps just noise since it was a misunderstanding, but I’ll elaborate a
> bit anyway:
>
> That’s because it enables combining their congestion controls, with gains
> such as lower queuing delay (from less competition), total control over
> priorities, and more…  one particularly noteworthy gain: a new (or
> quiescent!) connection that hasn’t probed for capacity yet can immediately
> make use of capacity probing that another connection has already carried
> out. I.e., instead of starting with IW, if there is e.g. one other
> connection that has reached a large cwnd, the new connection can
> immediately be assigned cwnd/2, at potentially little disadvantage for the
> other connection - no need to go through slow start, no need to waste RTTs
> trying to understand where the limit is…
>
> We have some results on this particular aspect in this paper:
> https://irtf.org/anrw/2016/anrw16-final28.pdf   … but generally we have
> more results on more aspects of the whole thing, in various contexts, and
> it’s just a big win altogether.  I think people now see multi-streaming as
> one of the major benefits of QUIC, and one out of several benefits thereof
> is its combined congestion control. I’m talking about getting the same
> gains with a relatively simple gradual change to the TCP CC. engine, all
> possible when the UDP ports are the same.
>
>
> BTW, in a previous email, you wrote:
> > Yes, there is an interesting benefit since the UDP ports can be
> decoupled from the TCP ports. This is also a property of the IPv6 flow
> label and in fact both the flow label and UDP source port in UDP
> encapsulation are set in Linux using the same functions.
>
> …so I’ll note that the IPv6 flow label doesn’t seem to yield that same
> benefit: being able to do single-path coupled CC means that we must be able
> to rely on the path being the same (at least “rely” as much as other
> transports already do), and that means that, with IPv6, routers would have
> to hash over at most the IP addresses + protocol + flow label tuple for
> load balancing, not the tuple containing the ports. The spec allows both,
> and we have done some measurements which indicate that, alas, we can’t rely
> on such hashing without the ports.
>

Michael,

Within the network, the flow label serves the same function as how devices
are using the ports in UDP encapsulation- in both cases they are use to
mark packet as belonging to the same flow.

A "flow" in this context is purposely ill defined, it does not have to
correspond one to one to a transport flow. So you're idea of combining TCP
flows into a mega flow for purposes of network visibility is a valid use
case; although I'd recommend that the IPv6 flow label and UDP source port
in encapsulation should be correlated to be consistent, i.e. packets of the
same flow should share the same flow label and source port.

The caveat with UDP port numbers is that some Firewalls might enforce
symmetric use of UDP ports to establish a quasi transport state. Like if
ports are (A,B) in one direction, they must be (B,A) in the other
direction. Personally, I'd rather not require that for TCPinUDP and I
believe it's not a requirement of QUIC, but I am interested in opinions on
this

Tom


> Cheers,
> Michael
>
>