Re: [v6ops] Our IPv6-only home network and future experiments

Vasilenko Eduard <vasilenko.eduard@huawei.com> Mon, 15 April 2024 08:38 UTC

Return-Path: <vasilenko.eduard@huawei.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 D0DC2C14F6FF for <v6ops@ietfa.amsl.com>; Mon, 15 Apr 2024 01:38:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.652
X-Spam-Level:
X-Spam-Status: No, score=-5.652 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, NORMAL_HTTP_TO_IP=0.001, NUMERIC_HTTP_ADDR=1.242, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-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 ZYlfATqdyG3l for <v6ops@ietfa.amsl.com>; Mon, 15 Apr 2024 01:38:05 -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 82CC1C14F617 for <v6ops@ietf.org>; Mon, 15 Apr 2024 01:38:05 -0700 (PDT)
Received: from mail.maildlp.com (unknown [172.18.186.216]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4VJ0r86RyRz6J9nd; Mon, 15 Apr 2024 16:36:08 +0800 (CST)
Received: from mscpeml100004.china.huawei.com (unknown [7.188.51.133]) by mail.maildlp.com (Postfix) with ESMTPS id 8F4E31400D9; Mon, 15 Apr 2024 16:38:02 +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; Mon, 15 Apr 2024 11:38:02 +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; Mon, 15 Apr 2024 11:38:02 +0300
From: Vasilenko Eduard <vasilenko.eduard@huawei.com>
To: Brian Candler <brian@nsrc.org>, "Soni \"They/Them\" L." <fakedme+ipv6@gmail.com>, IPv6 Operations <v6ops@ietf.org>
Thread-Topic: [v6ops] Our IPv6-only home network and future experiments
Thread-Index: AQHajOKQainvZ81VEUSU3NSRL3/g/bFo6ouQ///TLYCAADlCIP//1qcAgAA1m9A=
Date: Mon, 15 Apr 2024 08:38:01 +0000
Message-ID: <3bc5f6b440e24774a6c197460dc13399@huawei.com>
References: <91ee2782-c98a-4ccf-ae8f-71be571420b6@gmail.com> <7b89e8bd81674a61b364e1fec4176006@huawei.com> <5e65b7b4-b112-4875-a603-22b5e570619a@nsrc.org> <14eff54c01c24e0190397afff768efbb@huawei.com> <78b6ef7b-2ca5-455c-a727-f03964fe74b6@nsrc.org>
In-Reply-To: <78b6ef7b-2ca5-455c-a727-f03964fe74b6@nsrc.org>
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_3bc5f6b440e24774a6c197460dc13399huaweicom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/s9EoeKOhpl0wCBlibMcTBH9CdTM>
Subject: Re: [v6ops] Our IPv6-only home network and future experiments
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, 15 Apr 2024 08:38:09 -0000

Hi Brian,
We could put aside NAT64 because you do not want to change it.

Effectively you are trying to solve 2 problems:

  1.  For the IPv4 on the destination side:
You would like to eliminate DNS64 because it is not secure.
Why put it into libc? DNS64 may be on the host, then DNS could be secure again.

  1.  For the literal IPv4 request on the source side:
You would like to put CLAT into libc instead of the host itself.
But how many applications use literals? Ping, traceroute, what else?
And for these few applications, you would like to bloat the basic libc functions.
Because it would simplify the kernel. Libc is effectively the part of the kernel anyway.
Well, I do not know what is better.

By the way, what if the application is developed with a different language that does not use libc. Should it fail with literals?
Or there is a need for modernization of all dynamic libraries in the world?

Ed/
From: Brian Candler <brian@nsrc.org>
Sent: Monday, April 15, 2024 11:14
To: Vasilenko Eduard <vasilenko.eduard@huawei.com>; Soni "They/Them" L. <fakedme+ipv6@gmail.com>; IPv6 Operations <v6ops@ietf.org>
Subject: Re: [v6ops] Our IPv6-only home network and future experiments

On 15/04/2024 08:47, Vasilenko Eduard wrote:
OK. It looks like you want to avoid centralized DNS64, but still use NAT64 (and pref64).

We spend our lives trying to make the DNS trustworthy, but DNS64 destroys that by giving out fake information. In any case, DNS64 doesn't work for IP literals.

You should try running 464XLAT on an IPv6-only network some time: you can do "ping 8.8.8.8" and it works fine.

Most end-users don't use IP literals (even though https://1.1.1.1/ is a thing). But for sophisticated users, especially network engineers, it's an extremely useful thing to be able to use.



By the way, how NAT64 prefix would become available for libc *at the compilation time* (on a host in a different organization).
Or libc should get pref64 from the host at the run time?

The latter.

My doubt is still applicable:
If you have to change application then it is better to change it to IPv6.

The applications at the end-user (consumer) side are already IPv6-ready and don't need changing.

The problem here is that the vast majority of Internet content is only present with IPv4 addresses, and will be for a very long time - possibly forever.

At the consumer side, for the last 25+ years we've been telling people to run dual-stack. Most edge networks have rejected this, IMO quite understandably. They get all the pain (double addressing plans, double attack surface, double sets of firewall rules etc etc) with almost zero benefit, since everything they want is reachable via the IPv4 leg anyway.

Or to put it bluntly: dual stack is the problem, not the solution.

The only way I see out of this quandry is to make it realistic to run single-stack, IPv6-only networks at the access side. And that means having a usable mechanism to access IPv4-only content. An embedded CLAT gives this.

Traditional embedded CLATs appears as a local pseudo-device with IP address 192.0.2.2, and you point IPv4 default route at 192.0.2.1. macOS, iOS, Android all have this, and soon Windows. It works, but it's clunky, and it relies on an IPv4 stack in the kernel.

The initiative here is to try a different approach for Unix-like systems: one which is lightweight and requires fewer changes.

Regards,

Brian.