Re: [IPv6] Suggestion for multi homed clients without NAT/NPT

Vasilenko Eduard <vasilenko.eduard@huawei.com> Sat, 07 January 2023 10:55 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 9DD3BC1516E0 for <ipv6@ietfa.amsl.com>; Sat, 7 Jan 2023 02:55:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, 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 mqMELjy9MSiG for <ipv6@ietfa.amsl.com>; Sat, 7 Jan 2023 02:54:57 -0800 (PST)
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 54D13C14CE34 for <ipv6@ietf.org>; Sat, 7 Jan 2023 02:54:57 -0800 (PST)
Received: from mscpeml100001.china.huawei.com (unknown [172.18.147.226]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Npxqh54bHz67btc; Sat, 7 Jan 2023 18:52:32 +0800 (CST)
Received: from mscpeml500001.china.huawei.com (7.188.26.142) by mscpeml100001.china.huawei.com (7.188.26.227) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Sat, 7 Jan 2023 13:54:54 +0300
Received: from mscpeml500001.china.huawei.com ([7.188.26.142]) by mscpeml500001.china.huawei.com ([7.188.26.142]) with mapi id 15.01.2375.034; Sat, 7 Jan 2023 13:54:54 +0300
From: Vasilenko Eduard <vasilenko.eduard@huawei.com>
To: "Philipp S. Tiesel" <philipp@tiesel.net>
CC: Michael Richardson <mcr+ietf@sandelman.ca>, 6man <ipv6@ietf.org>
Thread-Topic: [IPv6] Suggestion for multi homed clients without NAT/NPT
Thread-Index: AQHZHOy7l9f89tMDvE2g8IQ1Jw9DE66IOhkAgAAdrgCABXpxAIACAQwAgAG7q/D//+FgAIABXQmw
Date: Sat, 07 Jan 2023 10:54:54 +0000
Message-ID: <293b396ce317460bb8e111581257c3db@huawei.com>
References: <b3742e2b-6472-9eb4-bee2-507fa8cdf4c6@posteo.de> <05ed3426-7731-baef-44a1-6fc50ce69a5b@gmail.com> <9586.1672523456@localhost> <14437462-8E95-4554-A4A4-A83E08382439@tiesel.net> <9192.1672934804@localhost> <94476ea4e8894e60b6c7d43d4ddde616@huawei.com> <2E1C1D16-9CE0-4A82-AF8F-B5F51397BFB7@tiesel.net>
In-Reply-To: <2E1C1D16-9CE0-4A82-AF8F-B5F51397BFB7@tiesel.net>
Accept-Language: en-US, zh-CN
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.81.194.22]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/RIYh6onniK23C5cYxvGiUR6ie58>
Subject: Re: [IPv6] Suggestion for multi homed clients without NAT/NPT
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: Sat, 07 Jan 2023 10:55:01 -0000

The application could use:
1) bind() to choose the source address first then it should have a complex logic comparable to RFC 6724 or use human intelligence (for a manual source address appointment). It is typically used by servers.
2) getaddrinfo() that would choose the next hop first (construct the packet later). It is typically used by clients

RFC 8028 stated in the abstract that it assumes source address choice first. If you read it carefully, you would see that it follows this assumption throughout the whole text. RFC 8028 is just not relevant to the second case (when the next hop is chosen first).
RFC 8028 is important because it fixes the case for bind().

But the second case (getaddrinfo()) is the more popular in the wild.
The exercise to fix MHMP is primarily related to the attempt to fix RFC 6724/getaddrinfo() and maybe ND itself (RFC 4861). 

In general, RFC 6724 is redundant because it is a "local decision".
I hear already that "vendor X already abandoned getaddrinfo()/RFC 6724 - they use their proprietary logic - lets everybody do the same".
It is effectively a mild request to deprecate RFC 6724.
Well, it is possible. I am not sure that it is the right way in such a complex matter (to cut the number of people discussing it).

Eduard
-----Original Message-----
From: Philipp S. Tiesel [mailto:philipp@tiesel.net] 
Sent: Friday, January 6, 2023 7:45 PM
To: Vasilenko Eduard <vasilenko.eduard@huawei.com>
Cc: Michael Richardson <mcr+ietf@sandelman.ca>; 6man <ipv6@ietf.org>
Subject: Re: [IPv6] Suggestion for multi homed clients without NAT/NPT

Hi,

> On 6. Jan 2023, at 16:43, Vasilenko Eduard <vasilenko.eduard@huawei.com> wrote:
> 
> PvD has no value for 1)ND, 2)source routing, That may be needed in a 
> multihoming environment.

We don’t need 2) when we follow RFC 8028 I am not sure why you need 1)

> But PvD has a value for 3) DNS,
> If RDNSS is received from the same router in a situation where it may have a different context (different PIOs).
> 
> Strictly speaking, all 3 solutions are needed for a complete multihoming package.

Agreed!

> 
> I am not aware of any PvD alternative on how to inform from the same router that "this DNS is for this PIO, but that DNS is for a different PIO".
> 
> PS: if the host is receiving different RDNSSes (with respective PIOs) from different routers then PvD is not needed.
> 
> Eduard
> -----Original Message-----
> From: ipv6 [mailto:ipv6-bounces@ietf.org] On Behalf Of Michael 
> Richardson
> Sent: Thursday, January 5, 2023 7:07 PM
> To: Philipp S. Tiesel <philipp@tiesel.net>; 6man <ipv6@ietf.org>
> Subject: Re: [IPv6] Suggestion for multi homed clients without NAT/NPT
> 
> 
> Philipp S. Tiesel <philipp@tiesel.net> wrote:
>> I did my Ph.D. on that topic and called it Happy Eyeballs on Steroids.
> 
>> Most results went into the TAPS WG… maybe have a look at
>> - https://datatracker.ietf.org/doc/draft-ietf-taps-arch/
>> - https://datatracker.ietf.org/doc/draft-ietf-taps-interface/
>> - https://datatracker.ietf.org/doc/draft-ietf-taps-impl/
> 
> Very cool.  I will read them. I didn't know TAPS was doing this, and I suspect that few in 6man know either.  Maybe a 5 minute presentation is in order.
> 
> Philipp S. Tiesel <philipp@tiesel.net> wrote:
>> I am convinced RFC 8028 would also be a great start for clients with 
>> multiple default routes, e.g., enabling stuff like multi-path TCP to 
>> work correctly, but it will not be sufficient for meaningful 
>> multi-homing / source address selection.
> 
> Do your IDs explain why?
> 
>> In addition, to avoiding problems with CDNs, it is also  required to 
>> separately keep track of DNS on a per-router/PvD basis and only use 
>> the matching source addresses for new connections, so RDNSS should 
>> also be treated analog to the source address in RFC 8028.
> 
> I'm surprised to hear this.  I'm not convinced that PvD are a good idea, I think that they represent IPv4 thinking, and I think that there are better ways to do this in IPv6.  So I'm curious to understand how they are connected.
> 
>> Having tried to manage traffic from within getaddrinfo() I can only 
>> recommend to abandon that idea.
>> A lengthly write-up why can be found here in Section 6 of this 
>> expired
>> draft:
>> https://datatracker.ietf.org/doc/html/draft-tiesel-taps-socketintents
>> -bsdsockets-02
> 
> Thank you. I agree that it can't be done properly in getaddrinfo().
> 
>> The only way forward I see is something like TAPS and Appel’s 
>> implementation is already pretty close what it would needs to make 
>> use of multi-homing here. They just need a litte more 
>> aggressive/opportunistic happy eyeball candidate selection.
> 
> Is there a FAQ on how to play with this code?
> 
> 
> --
> Michael Richardson <mcr+IETF@sandelman.ca>   . o O ( IPv6 IøT consulting )
>           Sandelman Software Works Inc, Ottawa and Worldwide
> 
> 
> 
> 

--
Philipp S. Tiesel
https://philipp.tiesel.net/