Re: [v6ops] Happy Eyeballs, v3!

Momoka Yamamoto <momoka.my6@gmail.com> Mon, 06 November 2023 10:45 UTC

Return-Path: <momoka.my6@gmail.com>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5132CC1FB89A for <v6ops@ietfa.amsl.com>; Mon, 6 Nov 2023 02:45:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.611
X-Spam-Level:
X-Spam-Status: No, score=-0.611 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_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_FONT_LOW_CONTRAST=0.001, HTML_MESSAGE=0.001, NUMERIC_HTTP_ADDR=1.242, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, 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=gmail.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 AmecUma8aeqV for <v6ops@ietfa.amsl.com>; Mon, 6 Nov 2023 02:45:49 -0800 (PST)
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com [IPv6:2a00:1450:4864:20::132]) (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 2BD60C1FB864 for <v6ops@ietf.org>; Mon, 6 Nov 2023 02:45:49 -0800 (PST)
Received: by mail-lf1-x132.google.com with SMTP id 2adb3069b0e04-507c5249d55so5580080e87.3 for <v6ops@ietf.org>; Mon, 06 Nov 2023 02:45:49 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699267547; x=1699872347; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Az8A8X33zlEJ/UUE0s//tT54ZUL12989bX1PRKpXuMg=; b=Dl8/BdtiY3hQEmjjWjNbis8f6ql1OwLOgnXpbMURtHTY2G+wDWoBjn98DotxkrlGPI /YfVVznIx6MIjjoyac+l3pTcOS770VM5fmmv3+qzBTMYtOKhRvktjZ0fR+xTRdyeyu+W IMMQfpgzwvUIhJH8SUjXfkZRQae8vtbeFDx67+lybrNZCJivtTuQn7RfEyoVhDwhfpfs HnYL8AI9rl55Qp+tm/mXu8VadWBdiSQ4EtXWp4LSHKLY1w4jmVYNopF/GHMnjkh2MDB5 tkCNZWxy0D7eyNSdKUfFh2LbMnUPzTja0vWm1Omd3LGa7qXifmf9XSpeLoqu3E+kH6tx UJxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699267547; x=1699872347; 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=Az8A8X33zlEJ/UUE0s//tT54ZUL12989bX1PRKpXuMg=; b=O0sx55CI6UCHUb9tS2py92y/89hTfez8si1YMVDHI3VeAPvLNjhZp75Y+NrZwFqto2 qmSvHuNqamHWv9SNDdBFtWwR0mSPTybTCz9/5nHVqq3H1alKQm4D8fa0IMVcPI1K4GmT hm3ZMb0YgsXwkxKer1ueE5+S815hODtmNu/YhDlSk5S+WEkcwOKiDFvJt2qR9Q+aVxS9 6Qkm7J/2/sf4Taed2azjrJ3RCDNB0ch0BzaOQbMGxfKAdGJd1SGktA5Yj92x8wmRT/t2 xaZ7w787p1czYlL5REPqTPB55zoz0YBwRhYfqtTzNn3Bo5nwaoxXA6DZ4NKsuKKJLdgJ FmKw==
X-Gm-Message-State: AOJu0Yxew9UVtPgcvl+c7sKb8YvCVQLX+TYxGvzWvQ/ANtj7Nt7Cmdpg gRLTORT7G4+sess+R30T0g28e7dQMpMFzvvgemPhee53Lk0vSw==
X-Google-Smtp-Source: AGHT+IHR6V+xj5HSB9uJkWbjzVQ6l22Cq4i99tpEPDH9hZErK3H5MEhiydigxFLGvKCL3YpyveRdDBE9Px3WVwjGWwQ=
X-Received: by 2002:a05:6512:23a8:b0:504:3807:22a4 with SMTP id c40-20020a05651223a800b00504380722a4mr24956461lfv.23.1699267546570; Mon, 06 Nov 2023 02:45:46 -0800 (PST)
MIME-Version: 1.0
References: <169807883999.63185.10548875925842571926@ietfa.amsl.com> <EB36C6F8-A71C-42E1-BD80-5CFF0EB59CC6@apple.com> <CAD9w2qbFjDbFBCF19adBna6ApYMrm801NXgTXdmUmAX2g6FZ_A@mail.gmail.com> <CCF41D2A-E8C1-4DD8-9B11-31F81951DED4@apple.com> <CAD9w2qaWoOqeaXvX8bkQwyaPOWRJaPUJ3Lsv26FH2eTfxwRoHg@mail.gmail.com> <78D35F6C-6C51-4A54-A648-9B371A3A61AD@apple.com> <CAD9w2qYz80W=tQhV_6yfCZM-N4K_Qpw29PwX3tKxCDv0hdKrxw@mail.gmail.com> <F03B58F6-C852-4817-B595-47B22DE8D40D@apple.com>
In-Reply-To: <F03B58F6-C852-4817-B595-47B22DE8D40D@apple.com>
From: Momoka Yamamoto <momoka.my6@gmail.com>
Date: Mon, 06 Nov 2023 11:45:35 +0100
Message-ID: <CAD9w2qb-iaUs166c4CG9Vtc5UnV_k7RRpGuKxwJTLP9bG0vzxA@mail.gmail.com>
To: Tommy Pauly <tpauly@apple.com>
Cc: Tommy Pauly <tpauly=40apple.com@dmarc.ietf.org>, "v6ops@ietf.org" <v6ops@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000007de3c20609798edc"
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/3IGmEOx1RDAK6EeZPuiOKyFrxvc>
Subject: Re: [v6ops] Happy Eyeballs, v3!
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/v6ops/>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 06 Nov 2023 10:45:51 -0000

>
> - Happy eyeballs (in all its versions) has been developed in v6ops
> - This is a -bis effort, where the majority of the text is copied
> verbatim, and thus in majority applies to the IPv6/IPv4 racing content.


Does a draft need to be in the original wg if it is a bis?

I’d argue that the main point of this revision is to describe how to handle
> SVCB queries,


I agree. However "how to handle SVCB queries" is not exclusively about IPv6.

The implementors of this algorithm are client applications.
Again I am still new to the IETF but I thought v6ops is a working group
mainly for network operators looking at the charter of the working group.
This draft should be adopted in the wg where the client implementors are
present.

Best,
Momoka Y

On Mon, Nov 6, 2023 at 11:21 AM Tommy Pauly <tpauly@apple.com> wrote:

>
>
> On Nov 6, 2023, at 11:13 AM, Momoka Yamamoto <momoka.my6@gmail.com> wrote:
>
> Thank you for your reply Tommy,
>
> Sorry for making a fuss about the word "Happy Eyeballs" and its meaning.
> I now understand that the meaning of words can change and there is no
> other better name for this draft.
>
> I have read the draft. I think this is a great draft. Very informational.
> Very excited about this.
> I think it should be adopted. But v6ops wg is not the venue for this
> draft.
> The main area of this draft is Transport and some DNS. IPv6 is not as
> important as it was in OG RFC6555 or HE2 RFC8305.
> I am still new to the IETF but I think this work should be done in a WG
> that specialises in Transport. (like tsvwg?)
>
>
> Happy to have the discussion of venue with the group, but I do want to
> emphasize a few points:
>
> - Happy eyeballs (in all its versions) has been developed in v6ops
> - This is a -bis effort, where the majority of the text is copied
> verbatim, and thus in majority applies to the IPv6/IPv4 racing content.
> - The main purpose of the document is not focused on transport details.
> While we are trying to generalize the previous text that existed for racing
> that only talked about TCP to also mention QUIC (since QUIC has come about
> since HEv2), work on truly racing between protocol stacks belongs
> elsewhere. Indeed, the TAPS WG already covers this:
> https://www.ietf.org/archive/id/draft-ietf-taps-impl-16.html#name-implementing-connection-est
> - I’d argue that the main point of this revision is to describe how to
> handle SVCB queries, since those are an increasing requirement for client
> stacks — but how to handle SVCB insofar as it changes the algorithm for
> racing *between addresses*. The point of the racing at this level is to end
> up with a connection to the preferred address, which includes v6 vs v4
> weighting, but has always also included other aspects. The fact that we
> have to also include SVCB record priority values and any local policy about
> available protocol details tweaks the algorithm, but does not change its
> core intent.
>
> Thanks,
> Tommy
>
>
> Best,
> Momoka
>
> On Tue, Oct 31, 2023 at 3:59 AM Tommy Pauly <tpauly@apple.com> wrote:
>
>>
>>
>> On Oct 30, 2023, at 4:58 PM, Momoka Yamamoto <momoka.my6@gmail.com>
>> wrote:
>>
>> > Please see my response to Bob, earlier. Happy Eyeballs is referring to
>> the overall racing technique, and there isn’t a specific preference for
>> SVCB, etc — just a handling of it.
>>
>> Isn't Section 5.  "Sorting Addresses" giving a preference?
>> It gives addresses obtained from SVCB records priority and then QUIC over
>> TCP.
>>
>>
>> While Happy Eyeballs as an algorithm inherently requires sorting based on
>> preferences, the specific preferences are more about practical decisions,
>> and can be changed by an implementation.
>>
>> The choice in the draft about using SVCB priorities is based on the fact
>> that a service that publishes SVCB records that have priorities indicates
>> it wants clients to have a preference in that priority order; and then we
>> are assuming that if there are any un-prioritized A/AAAA answers not
>> associated with an SVCB record, that they’d be lower priority. However,
>> this can be discussed and changed.
>>
>>
>> The preference of IPv6 over IPv4 is determined in RFC6724 (RFC3484 when
>> og HE was published) so RFC6555 was only giving a racing technique guide.
>> However, now (after HE2) this document gives advice on how to sort the
>> order to access the addresses other than that of RFC6724.
>> Is that not giving a preference on protocols?
>>
>>
>> I view it instead as acknowledging that there are many options that must
>> be ranked when creating the set of connections to try, and we are trying to
>> give the best advice based on a set of assumed preferences, but acknowledge
>> that those preferences could be different and thus sorting could be
>> different too.
>>
>>
>>
>> I've created issues in GitHub nn my comments on section 8.1.
>> I would like some input on the issue I raised, "Should synthesis be done
>> to all address spaces?" from others as well.
>> https://github.com/tfpauly/draft-happy-eyeballs-v3/issues/18
>>
>>
>> Thanks for opening these! We’ll keep the conversation going there.
>>
>> Best,
>> Tommy
>>
>>
>> Best,
>> Momoka Y
>>
>> 5.
>>
>>
>> On Thu, Oct 26, 2023 at 9:27 PM Tommy Pauly <tpauly@apple.com> wrote:
>>
>>> Hi Momoka,
>>>
>>> Thanks for reviewing! Some comments inline.
>>>
>>> On Oct 26, 2023, at 1:16 AM, Momoka Yamamoto <momoka.my6@gmail.com>
>>> wrote:
>>>
>>> Hi Tommy,
>>>
>>> This draft seems to add great insight into how the Happy Eyeballs 2
>>> algorithm changes with SVCB RRs and QUIC.
>>> I'm very excited for this work.
>>>
>>> Here are some comments I have.
>>>
>>> ## The word "Happy Eyeballs" Having multiple meanings.
>>> After RFC8305 the word "Happy Eyeballs" gained a new meaning from the
>>> original. With this draft, there are the below meanings.
>>> - Fall back to IPv4 if IPv6 doesn't work preperly. (original RFC6555)
>>> - Prefer AAAA over A records when doing DNS queries and sorting them.
>>> (v2 RFC8305)
>>>     - Prefer SVCB RRs over the two (v3)
>>> - Prefer QUIC over TCP. (v3)
>>>
>>> The confusing part about the word "Happy Eyeballs" is that the word
>>> "Happy" has two meanings.
>>> - The clinet will be happy if fallback is done after a timeout if an
>>> attempt is not working.
>>> - Prefer a better protocol over others.
>>>
>>> I guess this is hard to fix now but not knowing which "Happy" when
>>> hearing,
>>> "This client doesn't do Happy Eyeballs" out of context is sometimes
>>> misleading.
>>>
>>>
>>> Please see my response to Bob, earlier. Happy Eyeballs is referring to
>>> the overall racing technique, and there isn’t a specific preference for
>>> SVCB, etc — just a handling of it.
>>>
>>> I think we could talk about what version implementations support, where
>>> support for SVCB comes along with v3.
>>>
>>>
>>>
>>> ## Clairification; QUIC v.s. TCP
>>> With v3 QUIC is given preference over TCP but only when support for QUIC
>>> is detected.
>>> When support is not detected by SVCB RRs or Alt-Svc, only TCP should be
>>> attempted.
>>>
>>> is my understanding correct?
>>>
>>>
>>> I don’t think this algorithm is being prescriptive in that aspect.
>>> Connections can use QUIC based on what the application requests, apart from
>>> SVCB or Alt-Svc.
>>>
>>>
>>> ## 8.1.  IPv4 Address Literals
>>> >  Such translation also applies to any IPv4 address hints received in
>>> SVCB RRs.
>>> The mention of SVCB RRs makes this section a lot more meaningful as IP
>>> address literals may not have been so common but with SVCB RRS they will be
>>> common even in a client/server scenario.
>>>
>>>
>>> The other case that is common is when you’re using encrypted DNS
>>> (DoT/DoH/etc) and asking for both address families. That’s common to then
>>> get v4 answers that need to be translated.
>>>
>>>
>>>
>>> ### RFC8781
>>> > the device queries the network for the NAT64 prefix using
>>> > "Discovery of the IPv6 Prefix Used for IPv6 Address Synthesis"
>>> > [RFC7050] and then
>>> Regarding the use of RFC7050 for obtaining the NAT64 prefix, RA Option
>>> 38 (as specified in RFC8781) could also serve this purpose. However, given
>>> that this section is geared towards platforms not supporting 464XLAT, I
>>> assume doing rfc7050 is simpler than getting an RA message for an
>>> application so the omission of RFC8781 seems justified.
>>>
>>>
>>> I think it would be fine to mention to RFC8781. Perhaps you could file
>>> an issue on GitHub for that?
>>>
>>>
>>>
>>> ### Should synthesis be done to all address spaces?
>>> > If client applications or users wish to connect to IPv4 address
>>> > literals, the Happy Eyeballs engine will need to perform NAT64
>>> > address synthesis for them.
>>> I wonder if this has been discussed for RFC7050 but should this
>>> algorithm be applied to RFC1918 address space and 127.0.0.0/8? Maybe we
>>> should discuss if these address spaces should NOT be translated.
>>>
>>> For the loopback address range (127.0.0.0/8), it should not be
>>> translated as the client in question should have a route to the loopback
>>> network resulting in the synthesis not being needed.
>>>
>>> For addresses within the RFC1918 space, the translated address could be
>>> misrouted to an unintended host, diverging from the user's original
>>> intention. Nonetheless, it is worth noting that nothing stops the inclusion
>>> of RFC1918 addresses in DNS records. As a result, translated IPv6 addresses
>>> originating from RFC1918 space can still be acquired via DNS64. Given this,
>>> it may be counterintuitive to impose restrictions on such addresses in the
>>> Happy Eyeballs algorithm.
>>>
>>>
>>> Another good point — we can add a mention of that. Want to file an issue?
>>>
>>> Thanks,
>>> Tommy
>>>
>>>
>>>
>>> Best,
>>>
>>> Momoka
>>>
>>>
>>> On Tue, Oct 24, 2023 at 1:40 AM Tommy Pauly <tpauly=
>>> 40apple.com@dmarc.ietf.org> wrote:
>>>
>>>> Hello v6ops,
>>>>
>>>> We’ve just published a new draft for “Happy Eyeballs Version 3”, which
>>>> is intended as a -bis document to RFC 8305 (which was developed in this
>>>> WG). There are a few major points that needed updating:
>>>>
>>>> - Describing how to incorporate SVCB / HTTPS RRs
>>>> - Priority
>>>> - v4/v6 hints
>>>> - Affect on various timers, etc
>>>> - ECH, ALPN, etc
>>>> - Describing how happy eyeballs applies to QUIC (and also TLS over TCP)
>>>>
>>>> The bulk of the document is the same as RFC 8305, but updates the logic
>>>> and algorithm for these changes.
>>>>
>>>> Please take a look! We’d love to discuss at IETF 118 as time permits.
>>>>
>>>> Best,
>>>> Tommy
>>>>
>>>> Begin forwarded message:
>>>>
>>>> *From: *internet-drafts@ietf.org
>>>> *Subject: **New Version Notification for
>>>> draft-pauly-v6ops-happy-eyeballs-v3-00.txt*
>>>> *Date: *October 23, 2023 at 9:34:00 AM PDT
>>>> *To: *David Schinazi <dschinazi.ietf@gmail.com>, Kenichi Ishibashi <
>>>> bashi@google.com>, Nidhi Jaju <nidhijaju@google.com>, Tommy Pauly <
>>>> tpauly@apple.com>
>>>>
>>>> A new version of Internet-Draft
>>>> draft-pauly-v6ops-happy-eyeballs-v3-00.txt has
>>>> been successfully submitted by Tommy Pauly and posted to the
>>>> IETF repository.
>>>>
>>>> Name:     draft-pauly-v6ops-happy-eyeballs-v3
>>>> Revision: 00
>>>> Title:    Happy Eyeballs Version 3: Better Connectivity Using
>>>> Concurrency
>>>> Date:     2023-10-23
>>>> Group:    Individual Submission
>>>> Pages:    18
>>>> URL:
>>>> https://www.ietf.org/archive/id/draft-pauly-v6ops-happy-eyeballs-v3-00.txt
>>>> Status:
>>>> https://datatracker.ietf.org/doc/draft-pauly-v6ops-happy-eyeballs-v3/
>>>> HTML:
>>>> https://www.ietf.org/archive/id/draft-pauly-v6ops-happy-eyeballs-v3-00.html
>>>> HTMLized:
>>>> https://datatracker.ietf.org/doc/html/draft-pauly-v6ops-happy-eyeballs-v3
>>>>
>>>>
>>>> Abstract:
>>>>
>>>>   Many communication protocols operating over the modern Internet use
>>>>   hostnames.  These often resolve to multiple IP addresses, each of
>>>>   which may have different performance and connectivity
>>>>   characteristics.  Since specific addresses or address families (IPv4
>>>>   or IPv6) may be blocked, broken, or sub-optimal on a network, clients
>>>>   that attempt multiple connections in parallel have a chance of
>>>>   establishing a connection more quickly.  This document specifies
>>>>   requirements for algorithms that reduce this user-visible delay and
>>>>   provides an example algorithm, referred to as "Happy Eyeballs".  This
>>>>   document updates the algorithm description in RFC 8305.
>>>>
>>>>
>>>>
>>>> The IETF Secretariat
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> v6ops mailing list
>>>> v6ops@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/v6ops
>>>>
>>> _______________________________________________
>>> v6ops mailing list
>>> v6ops@ietf.org
>>> https://www.ietf.org/mailman/listinfo/v6ops
>>>
>>>
>>>
>>
>