Re: [IPv6] First hop selection [was: Adoption call for draft-bctb-6man-rfc6296-bis]

Vasilenko Eduard <vasilenko.eduard@huawei.com> Wed, 27 March 2024 07:17 UTC

Return-Path: <vasilenko.eduard@huawei.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 32F5EC14F61A for <ipv6@ietfa.amsl.com>; Wed, 27 Mar 2024 00:17:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.204
X-Spam-Level:
X-Spam-Status: No, score=-4.204 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, 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
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 QuBFg6nGyfjB for <ipv6@ietfa.amsl.com>; Wed, 27 Mar 2024 00:17:18 -0700 (PDT)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 285E8C14EB17 for <ipv6@ietf.org>; Wed, 27 Mar 2024 00:17:18 -0700 (PDT)
Received: from mail.maildlp.com (unknown [172.18.186.231]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4V4Hyl5CG4z6D8Y9; Wed, 27 Mar 2024 15:16:15 +0800 (CST)
Received: from mscpeml100004.china.huawei.com (unknown [7.188.51.133]) by mail.maildlp.com (Postfix) with ESMTPS id 48858140517; Wed, 27 Mar 2024 15:17:14 +0800 (CST)
Received: from mscpeml500004.china.huawei.com (7.188.26.250) by mscpeml100004.china.huawei.com (7.188.51.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.28; Wed, 27 Mar 2024 10:17:13 +0300
Received: from mscpeml500004.china.huawei.com ([7.188.26.250]) by mscpeml500004.china.huawei.com ([7.188.26.250]) with mapi id 15.02.1258.028; Wed, 27 Mar 2024 10:17:13 +0300
From: Vasilenko Eduard <vasilenko.eduard@huawei.com>
To: Ted Lemon <mellon@fugue.com>, Brian E Carpenter <brian.e.carpenter@gmail.com>
CC: "ipv6@ietf.org" <ipv6@ietf.org>
Thread-Topic: [IPv6] First hop selection [was: Adoption call for draft-bctb-6man-rfc6296-bis]
Thread-Index: AQHafuZ0VRNcXi2sFUWt1m0t3jEnsbFJio+AgABbzgCAAAZZgIAAUD2m///VcYCAABlOgIAAEhGAgADwocA=
Date: Wed, 27 Mar 2024 07:17:13 +0000
Message-ID: <afdd79df453c49029a498f0da4239867@huawei.com>
References: <CAPt1N1=eFFOkuJShykJn1_BZuY3BAGTgza=a7Hnp4JKZetxiCA@mail.gmail.com> <71BE78C4-17B9-4454-91CA-3F3132826688@employees.org> <CAKD1Yr3bjHXB36MJe0NjjXf5tsMFd52q_Ln9+R_oWS1gt3Kxgw@mail.gmail.com> <1aaf99f5-d600-2e13-26b7-48f1ecd73d48@gmail.com> <2A798A60-1934-488B-8FA8-E6E68AE95EE9@consulintel.es> <64ffe90f-8aea-ecbf-de1c-73d880a7ddd5@gmail.com> <CAPt1N1kkMzZgkJfykyZ1cffPhYFmEMOaRLP450jWmHoBvAj8Zw@mail.gmail.com> <CAKD1Yr3U7_Lk_MumEEFjHyfT2YR0u2DRpr9sPXB+Ziy6cO4C5Q@mail.gmail.com> <ZfvTkBLdMf873H2d@eidolon.nox.tf> <d131e3a5-9ec0-468b-9f62-9cf131d12b55@gmail.com> <ZgEltLsdDiqq9R2e@eidolon.nox.tf> <22ef98a2-e310-46f6-ab10-0b41454d8310@gmail.com> <CAKD1Yr1Gw3LmL-wv6YxcZbfRJUvVTBU6CdaQtOjR8FC8tsSvyQ@mail.gmail.com> <01B108A8-B94B-4964-A5B0-0F1657A8CCDC@employees.org> <CAPt1N1mkOKxEivsj-om+caiSD_AVChLLWxuOgKSrvbZO7wQ1wQ@mail.gmail.com> <m1rp9xB-0000KeC@stereo.hq.phicoh.net> <CAPt1N1ndW9=Moc12RrWOCOxrThZXc=yg9j6yRd1oOB+zrXMtZQ@mail.gmail.com> <e6e78e01-c74d-49b0-8623-4ae32c5a32f2@gmail.com> <CAPt1N1kJ5CjdJzUh3R0cY1wunjHdonFzTPjsx6hVmUfvgOgGXw@mail.gmail.com>
In-Reply-To: <CAPt1N1kJ5CjdJzUh3R0cY1wunjHdonFzTPjsx6hVmUfvgOgGXw@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.199.56.41]
Content-Type: multipart/alternative; boundary="_000_afdd79df453c49029a498f0da4239867huaweicom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/9WU2b-St7CzwcVhji_udmcAf9Ok>
Subject: Re: [IPv6] First hop selection [was: Adoption call for draft-bctb-6man-rfc6296-bis]
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 27 Mar 2024 07:17:22 -0000

Brian is replacing happy eyeballs because he is proposing to check DA properties in some tests. If we know enough about DA quality then we do not need happy eyeballs race/competition/duplicate_traffic.
It is indeed better to cache and share such information per host, not per session.
Ed/
From: ipv6 <ipv6-bounces@ietf.org> On Behalf Of Ted Lemon
Sent: Tuesday, March 26, 2024 22:51
To: Brian E Carpenter <brian.e.carpenter@gmail.com>
Cc: ipv6@ietf.org
Subject: Re: [IPv6] First hop selection [was: Adoption call for draft-bctb-6man-rfc6296-bis]

Right. Such APIs exist, but socket/getaddrinfo isn’t that. I guess getaddrinfo could return a sorted list? But you still need to do happy eyeballs and track changes, so it’s not really adequate to do a synchronous API no matter what.

Op di 26 mrt 2024 om 14:46 schreef Brian E Carpenter <brian.e.carpenter@gmail.com<mailto:brian.e.carpenter@gmail.com>>
On 27-Mar-24 06:15, Ted Lemon wrote:
>
>
> Op di 26 mrt 2024 om 12:47 schreef Philip Homburg <pch-ipv6-ietf-10@u-1.phicoh.com<mailto:pch-ipv6-ietf-10@u-1.phicoh.com> <mailto:pch-ipv6-ietf-10@u-1.phicoh.com<mailto:pch-ipv6-ietf-10@u-1.phicoh.com>>>
>
>      >It seems like in order for this to work each possible destination address
>      >has to be evaluated for reachability and then the set of source addresses
>      >that could combine with it can be constrained using the selected interface
>      >for that destination. And then you use source/dest address selection to
>      >pick the source/destination pair from each of these result sets, and do
>      >Happy Eyeballs to prioritize which S,D pairs you try. I don't see how you
>      >could do this right if you start by picking a destination address.
>
>     When it comes to destination addresses we can make one of two assumptions:
>     1) The Internet is professionally maintained and in general every destination
>         address you find is reachable. In that case, order destination addresses
>         in some way and try them in order. Of course sometimes there may be an
>         issue, but if that is rare it is fine. And operators like users who
>         complain because many operators are using user to detect problems. That
>         why there is a push for IPv6-mostly.
>     2) Whether a destination address works or not is mostly random. In that case
>         get advanced forms of happy eyeballs to dynamically pick the most likely
>         destination address and quickly try other ones as well to minimize
>         impact on the user.
>
>     For each destination address you try, there is essentially the same reasoning
>     for source addresses: in a well maintained network there is an algorithm
>     to select source addresses. If there is more randomness then trying multiple
>     source addresses for each destination address might be required.
>
>
> Oh, right, rule 5.5 means we have multiple possible routes per destination to deal with. So we have an extra iteration to do there. But still, ideally if all upstreams are working, the first s,d pair that you choose this way will work.

To me, this very interesting discussion underlines that the model presented to the application by the BSD socket model via getaddrinfo() is at best unfriendly and at worst wrong. The app needs a sorted list of address pairs, not a sorted list of destination addresses with no information about the source addresses that will be used.

   Brian
--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org<mailto:ipv6@ietf.org>
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------