Re: [v6ops] [Alldispatch] Dispatching Happy Eyeballs Version 3

Tommy Pauly <tpauly@apple.com> Fri, 26 January 2024 17:07 UTC

Return-Path: <tpauly@apple.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 07C73C14F6F7 for <v6ops@ietfa.amsl.com>; Fri, 26 Jan 2024 09:07:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.103
X-Spam-Level:
X-Spam-Status: No, score=-2.103 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_NONE=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=apple.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 aug9MOBTzxia for <v6ops@ietfa.amsl.com>; Fri, 26 Jan 2024 09:07:40 -0800 (PST)
Received: from ma-mailsvcp-mx-lapp03.apple.com (ma-mailsvcp-mx-lapp03.apple.com [17.32.222.24]) (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 3E855C151545 for <v6ops@ietf.org>; Fri, 26 Jan 2024 09:07:40 -0800 (PST)
Received: from rn-mailsvcp-mta-lapp03.rno.apple.com (rn-mailsvcp-mta-lapp03.rno.apple.com [10.225.203.151]) by ma-mailsvcp-mx-lapp03.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPS id <0S7V00ZA0OWJMA10@ma-mailsvcp-mx-lapp03.apple.com> for v6ops@ietf.org; Fri, 26 Jan 2024 09:07:39 -0800 (PST)
X-Proofpoint-ORIG-GUID: XrQv-b-M0j-rm6Kl8Y-E0A4Z7miFvMkR
X-Proofpoint-GUID: XrQv-b-M0j-rm6Kl8Y-E0A4Z7miFvMkR
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.619, 18.0.1011 definitions=2024-01-25_14:2024-01-25, 2024-01-25 signatures=0
X-Proofpoint-Spam-Details: rule=interactive_user_notspam policy=interactive_user score=0 mlxscore=0 spamscore=0 suspectscore=0 adultscore=0 phishscore=0 mlxlogscore=724 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2401260126
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=from : message-id : content-type : mime-version : subject : date : in-reply-to : cc : to : references; s=20180706; bh=xS7/JnIZvcGx3l5592jQbHXOn7BuOV5cB7rGkdvjcSs=; b=u0pPVezhwfMWLkwwPxdw00JtOv7/G5N6rOOygKTDI4HuwNmJFHaqqPRa1V/jCgLlwi+X mMChILwznLPAPzcswQ/FV980fCx29GU68q+sWxmGrnl3Za/dUeZZTg64xvtD7hwRqKqE tLNxNUuUcO8+lzSnsYz2LQs85diZgXFv2zuBat9uinNllDrPJk8o6Hikp4gECBTWPpMR bh0e3JvbYxFIiM3nDqzTDMKOAQzvnH27ODVBSbgs6CPNh/qP65imggmlT/yo00sA00Hz DePoZ38EYD3JBWqiZzHHPO+FmhOPFlaRITPwxT51wX1WzG45nkfTlZKmz9sMbNaebm6z Tg==
Received: from rn-mailsvcp-mmp-lapp02.rno.apple.com (rn-mailsvcp-mmp-lapp02.rno.apple.com [17.179.253.15]) by rn-mailsvcp-mta-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPS id <0S7V00J9UOWO84G0@rn-mailsvcp-mta-lapp03.rno.apple.com>; Fri, 26 Jan 2024 09:07:36 -0800 (PST)
Received: from process_milters-daemon.rn-mailsvcp-mmp-lapp02.rno.apple.com by rn-mailsvcp-mmp-lapp02.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) id <0S7V01000OKYKS00@rn-mailsvcp-mmp-lapp02.rno.apple.com>; Fri, 26 Jan 2024 09:07:36 -0800 (PST)
X-Va-A:
X-Va-T-CD: 4f730284dbb5a82fcc8b1e5c2a0835df
X-Va-E-CD: 54f8ee7da60b0471247763f7133fa055
X-Va-R-CD: 98ab04715af79e99447d39927850374b
X-Va-ID: 36f3236f-c14c-4fe2-9f1e-4afffc598ec8
X-Va-CD: 0
X-V-A:
X-V-T-CD: 4f730284dbb5a82fcc8b1e5c2a0835df
X-V-E-CD: 54f8ee7da60b0471247763f7133fa055
X-V-R-CD: 98ab04715af79e99447d39927850374b
X-V-ID: a047324e-4860-49f3-b98e-01d35ed923ed
X-V-CD: 0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.619, 18.0.1011 definitions=2024-01-25_14:2024-01-25, 2024-01-25 signatures=0
Received: from smtpclient.apple ([17.11.150.223]) by rn-mailsvcp-mmp-lapp02.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPSA id <0S7V00QI6OWNRE00@rn-mailsvcp-mmp-lapp02.rno.apple.com>; Fri, 26 Jan 2024 09:07:36 -0800 (PST)
From: Tommy Pauly <tpauly@apple.com>
Message-id: <1C9E18DA-DE11-4F3E-B17C-86EC79BC62AF@apple.com>
Content-type: multipart/alternative; boundary="Apple-Mail=_C9993BA8-DBA2-4001-B21C-2821A2ABC46A"
MIME-version: 1.0 (Mac OS X Mail 16.0 \(3774.300.61.1.2\))
Date: Fri, 26 Jan 2024 09:07:31 -0800
In-reply-to: <18195.1706288500@obiwan.sandelman.ca>
Cc: Tommy Pauly <tpauly=40apple.com@dmarc.ietf.org>, Alldispatch@ietf.org, v6ops@ietf.org, draft-pauly-v6ops-happy-eyeballs-v3@ietf.org
To: Michael Richardson <mcr+ietf@sandelman.ca>
References: <35C7852E-FF43-4600-BD93-B05DF82E3AF3@apple.com> <18195.1706288500@obiwan.sandelman.ca>
X-Mailer: Apple Mail (2.3774.300.61.1.2)
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/jUYylYTWWM9VTn4BZtzX2Q559a0>
Subject: Re: [v6ops] [Alldispatch] Dispatching Happy Eyeballs Version 3
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: Fri, 26 Jan 2024 17:07:44 -0000

Regarding APIs, I agree that there are API implications here, and that’s exactly what the TAPS WG has been doing: https://datatracker.ietf.org/wg/taps/documents/

However, I think that the happy eyeballs layer is something that is part of the implementation of such an API system — it works for any API instantiation that works with connect-by-name, and doesn’t really require that things be standardized yet.

Regarding contributions, this certainly isn’t just something that Apple does, and just I work on. We have Google co-authors here working on Chrome, and many other implementations (like curl, etc) do happy eyeballs. I won’t speak for all other implementations, but I think this is already quite general-purpose.

Thanks,
Tommy

> On Jan 26, 2024, at 9:01 AM, Michael Richardson <mcr+ietf@sandelman.ca> wrote:
> 
> 
> Tommy Pauly <tpauly=40apple.com@dmarc.ietf.org> wrote:
>> We’d like to propose a draft to be dispatched at IETF 119. This draft
>> was discussed in a couple different working groups (V6OPS and TSVWG) at
>> IETF 118. One of the main points of discussion within those groups was
>> the question of which working group would be most appropriate to take
>> on the draft.
> 
> To me, the rework is either a set of trivial rejigging of some parameters, or
> it's really entirely new work that would actually benefit from a new WG.
> 
>> This work was originally developed in v6ops, and was primarily focused
>> on handling the selection of IPv6 vs IPv4 options.
> 
> Yes.  But, it seems to me that we now really have to do make selections among
> IPv6 ULA, GUA, multiple GUA from multiple routers,  X {TCP, QUIC}.
> 
> To me, this work is probably wasted unless we are defining new APIs.
> My understanding is that Apple has some such APIs.  I think that there is a
> tuscle that a WG needs to deal with between connect to "name" and connect to
> "address", and also connection caching vs HE-results caching vs multiple
> users/applications.  {Android applications are basically different users.  I
> don't know how IOS does this.  It would be good to spread this notion to all platforms}
> 
>> - SVCB/HTTPS records (RFC 9460), which provide additional ways to get
>> address hints, add priority between A/AAAA answers, indicate supported
>> ALPNs, and indicate support for TLS encrypted client hello
> 
>> - Growing support for QUIC (RFC 9000); previously, Happy Eyeballs was
>> defined in terms of TCP connections, and needs to have some text
>> adaptation
>> - New techniques for supporting v6-only networks and address synthesis
> 
> I am not really associated with any OS distribution, so whether or not I
> think this work should proceed may be irrelevant.  What I think we need for
> success is:
> * some core Microsoft "libc" people
> * some GNU glibc people
> * some Ubuntu/Fedora/Azure-server/Oracle-Linux people
> * some Android people
> * some Apply people (more than just Tommy)
> 
> Yes, this is API work, which some think we don't do, but this is squarly in
> the space of updating our own RFCs, and yes, fixing the "BSD socket API" for
> this century.
> 
> 
> --
> Michael Richardson <mcr+IETF@sandelman.ca>   . o O ( IPv6 IøT consulting )
>           Sandelman Software Works Inc, Ottawa and Worldwide
> 
> 
> 
>