Re: [v6ops] Happy Eyeballs, v3!

Momoka Yamamoto <momoka.my6@gmail.com> Mon, 30 October 2023 23:59 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 8E39BC14F693 for <v6ops@ietfa.amsl.com>; Mon, 30 Oct 2023 16:59:02 -0700 (PDT)
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_DNSWL_NONE=-0.0001, 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=unavailable 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 DZdAxFGA0wkF for <v6ops@ietfa.amsl.com>; Mon, 30 Oct 2023 16:59:01 -0700 (PDT)
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com [IPv6:2a00:1450:4864:20::133]) (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 5A38DC14CF1F for <v6ops@ietf.org>; Mon, 30 Oct 2023 16:59:01 -0700 (PDT)
Received: by mail-lf1-x133.google.com with SMTP id 2adb3069b0e04-50931355d48so368421e87.3 for <v6ops@ietf.org>; Mon, 30 Oct 2023 16:59:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698710339; x=1699315139; 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=sVm1yfIe59wU9lDHwCxhhJaQpSywFNfz8xM0pH7m3JU=; b=mvX6L5W73n5IVbY2I0+YbqeEM7mm/CQaGVsIRsyvbDnilwI+eT+ry7Pwo3xmHjRpGg 6cmHOaiWgxCddWdg7inr+BCBvRs9JqsJER6fYAf1JDticXaR6SBK4OLAXGxL3wT2aRaA enVUpgG5u5C9kDTTu/Z8WjcEEzCCD7uErfdEJ44d0Ljjbt2EwRtK4yijwPIq1SN1S/1t +N4pNIWs23UoBh4cyEaWi9PDVSXTEkw9RKv9T13yCtmAfA5SCE4WZCWVg6P5Z/MYvxcG o3DdTNknt+tzPfkeUZDqVPbz9qcR1mkzrYeZTnZDENTUufR+vuOIpUdDSb5IgTaYrGQM oi2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698710339; x=1699315139; 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=sVm1yfIe59wU9lDHwCxhhJaQpSywFNfz8xM0pH7m3JU=; b=MQ11ozTheoCieyYgpU8BomU57o/WwByt26+AIaiGS1wJkib+iKQyNVoepCMu9Ym6SO X1yhG66Zy5JfwbgMP70TD4kEKWg2WDMJ3SbOaF0FbXDZNEjJat5sgIwIK5I2Hf74l9kw bGFCXvFd6lrNNgkf72kcLwvTPWU9OVEVkLVbCKXZ+/jH38eMQSjWfudVlk3PpD4j7VnX Trhlr9npfmrf6tKsT0lxcfVHnf4xPPh0egKqHN63XdCldGnFDa7YJyqSTgrozMYlnfNX Snvh4pVVJnYFOs1aoJdImImw0Mg5PZJG4heQZi+wcFz4Qsa8LcNsvnz2hf3j8GqcsvuW OCQQ==
X-Gm-Message-State: AOJu0Yy8TCPOM/KIU6wfEHuITqcQ0cb0C2Whz41eI3WYmevnXqx34fyQ vsImeL8HDwjhgUny8CdAefr72MTfi8wRWCuoWWk=
X-Google-Smtp-Source: AGHT+IFC730Vzx7rctnNvSPVcPyE5GdSlZh8JqkhPN19cSAgwhX9yx244s654Ns+KvEAV1SwRY5ibBUaIH9YeaBpwQ4=
X-Received: by 2002:a05:6512:3b88:b0:507:a58f:79ad with SMTP id g8-20020a0565123b8800b00507a58f79admr9999137lfv.61.1698710338457; Mon, 30 Oct 2023 16:58:58 -0700 (PDT)
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>
In-Reply-To: <CCF41D2A-E8C1-4DD8-9B11-31F81951DED4@apple.com>
From: Momoka Yamamoto <momoka.my6@gmail.com>
Date: Tue, 31 Oct 2023 00:58:47 +0100
Message-ID: <CAD9w2qaWoOqeaXvX8bkQwyaPOWRJaPUJ3Lsv26FH2eTfxwRoHg@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="0000000000004cd6fc0608f7d2df"
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/_MO8dz6Tj4sL69sLoJyKarDl9qY>
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, 30 Oct 2023 23:59:02 -0000

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

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

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