Re: [v6ops] IPv6-Only Preferred DHCPv4 option

Mark Smith <markzzzsmith@gmail.com> Fri, 06 December 2019 00:59 UTC

Return-Path: <markzzzsmith@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 960D0120220 for <v6ops@ietfa.amsl.com>; Thu, 5 Dec 2019 16:59:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.497
X-Spam-Level:
X-Spam-Status: No, score=-0.497 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, FROM_LOCAL_NOVOWEL=0.5, HK_RANDOM_ENVFROM=0.001, HK_RANDOM_FROM=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NPTH-BoJuR52 for <v6ops@ietfa.amsl.com>; Thu, 5 Dec 2019 16:59:04 -0800 (PST)
Received: from mail-oi1-x234.google.com (mail-oi1-x234.google.com [IPv6:2607:f8b0:4864:20::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0F24D12021C for <v6ops@ietf.org>; Thu, 5 Dec 2019 16:59:04 -0800 (PST)
Received: by mail-oi1-x234.google.com with SMTP id b8so4636495oiy.5 for <v6ops@ietf.org>; Thu, 05 Dec 2019 16:59:04 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=VpKldaa18sFKS6rM1CfvtxxD83q7wVofplMnr7Xt5H8=; b=gcTpbIpCJX32v4+Hq58muueJSOp7vwhsaBrM89wjBPR12Qg6PaRN4WHcAC80c360oC YTvkqyX7AxoFNQE69ESZztaXoCJnoDLgoJ3Q4iMJwDJMprzl5LOzIucFXqQnqLOsv6pW mcPduNm2bTZWhK1D8HNXE7t61XxxpmjrVRO2ts23o1i71u74b13qjNnjCJ3rbxMmPA2X q/ClAofh/DfMq3f7D6diWUzsHXa061gRBspY3Uf/VRJKWQ9w2TyP9Yf2TaE20DtchzJm +A1pCOj36rFKzCWhavzPuqQ/xIaayPCUbk0glmov+XIqcwDfb49pOaUtIoeCVvBFKeY/ cXmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=VpKldaa18sFKS6rM1CfvtxxD83q7wVofplMnr7Xt5H8=; b=ku92mRK3GblKx5P1mhQHCZKTtQQtbiNteOGUbVRlOKzarRqD3jgNjJYNHEBkRn4lZR VDYHoqHdzJuPe2wSr0aih8tkOKaP7ogZvn4zMlPLCEJaae8bUwE7qB9PJ71+cF0AspEY S0WCnPkyKr2GNeTMKXX9JeAdsa3uQMGldmTA1AOkvxSm/XWoebfpjhERPZip6LSIWCcv ycwaIEsKKeLOUp1yust7VtZcdgdcUY8gqHFHiwKpBLObJxlNYaS1yUaPdWQwVXvBR0O2 2VI7yFchu4T5vKs+Bx+5L2+GmrOB8r+kT6Ue2LmpHNA0x7EOFpNGz3y0WxcVsykifvWT ZvVA==
X-Gm-Message-State: APjAAAVk5bbYTLPLlp2aCeQde8TLfs/45cyyBALqKsAcPn5U/7p64Gju YF2LoPofMCf4p7HSYudEtmIGF4Vy4RZ+z/1QtWM=
X-Google-Smtp-Source: APXvYqzr+PzrvpPClBYlezNlWJa1JgLpjyGCSM6fo+9uSb3AoyvsQ0A3JnZFEI61a4SEAwtt+4Y/VV7INQEDkeQWvxw=
X-Received: by 2002:a05:6808:f:: with SMTP id u15mr9797532oic.164.1575593943238; Thu, 05 Dec 2019 16:59:03 -0800 (PST)
MIME-Version: 1.0
References: <CAFU7BAR1JLUZps=CAqJfeQtUf-xQ88RYvgYrPCP+QP0Ter7YFg@mail.gmail.com> <E03BBE6C-3BED-4D49-8F79-0A1B313EFD9D@apple.com> <28594.1575483729@localhost> <7ac18a46-31d9-74cc-117a-0fd908413aac@gmail.com> <9bd73ee1-46f7-5084-06a6-59c7b391f9cb@foobar.org> <CAKD1Yr0KPfFvk7Y49WkiVnm1q0E6i1u1hi4p_x56=p+kP9g=0g@mail.gmail.com> <CAO42Z2w1hK75xBEKfFH52ki9U5ZTC=RNSs4d+9K0PFAtMYa42A@mail.gmail.com> <CAKD1Yr1M-00APXU4F2dnf1aaTqp7wmuugKSC=Rn14wW5WPk+CA@mail.gmail.com>
In-Reply-To: <CAKD1Yr1M-00APXU4F2dnf1aaTqp7wmuugKSC=Rn14wW5WPk+CA@mail.gmail.com>
From: Mark Smith <markzzzsmith@gmail.com>
Date: Fri, 06 Dec 2019 11:58:36 +1100
Message-ID: <CAO42Z2wd03gf2_LBd+Bb3N=KUer2yYue9TMhZffNtHPy_yG9Zg@mail.gmail.com>
To: Lorenzo Colitti <lorenzo@google.com>
Cc: Lorenzo Colitti <lorenzo=40google.com@dmarc.ietf.org>, v6ops list <v6ops@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/ojwmbrRhFsS3P4jcGWBSUV7GrVE>
Subject: Re: [v6ops] IPv6-Only Preferred DHCPv4 option
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.29
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, 06 Dec 2019 00:59:06 -0000

On Thu, 5 Dec 2019 at 13:20, Lorenzo Colitti <lorenzo@google.com> wrote:
>
> On Thu, Dec 5, 2019 at 9:53 AM Mark Smith <markzzzsmith@gmail.com> wrote:
>>
>> If hosts only acquired IPv4 addresses via DHCPv4 based on when the first IPv4 application started running, then when a host is only running IPv6 only applications, it would never acquire an IPv4 address because it wouldn't need one, meaning never try to use DHCPv4 (so would avoid the link-layer broadcast DHCP_DISCOVERS) and never use ARP (avoid link-layer broadcast ARP Requests).
>
>
> Speaking as an OS implementer: how do I know whether an application is an IPv4 application?
>

So these are reasonable questions, and they're uncovering some
assumptions and a view point I have:

- the hosts in question are commonly single homed (and I should know
better *, however I would't be surprised if that is the unstated
assumption of most people when they imagine the scenario being
discussed)

- the on-demand I'm imagining is inspired by the dial-on-demand that
used to be implemented with ISDN, triggered by IP traffic. ISDN
connection establishment happened quickly enough that it was tolerable
by end-users. If a DHCPv4 transaction occurred within 100 ms, users
will perceive it as instant - "Response Times: The 3 Important Limits"
- https://www.nngroup.com/articles/response-times-3-important-limits/

- IPv6 only applications clearly indicate they're IPv6 only, by only
opening IPv6 sockets.

This latter point is probably a significant difference between what is
being proposed here and what I'm thinking. My thinking is probably
about a passive and longer term mechanism that would result in IPv4
disappearing over time, rather than an active mechanism that purposely
switches IPv4 off on dual stack hosts.


Responding to these points for completeness:

> When it calls getaddrinfo() with AF_UNSPEC? Pretty much all apps do that.

They wouldn't be IPv6 Only applications.


> When it creates an IPv4 socket? But what if it's creating an IPv4 socket for the purpose of connecting to another network on the system (e.g., cellular data) that does have IPv4?

Yes, this would be an issue with what I was describing.

What I'm thinking about would probably more result in "IPv6 Only"
being a host level status on a host, covering all interfaces (1 or
many), rather than an interface status. In other words, if a host is
only currently running IPv6 Only applications, then there is no need
for any IPv4 addresses on any of its interfaces.


> When it does a connect() on an IPv4 socket? But what if that's just a happy eyeballs stack that is using IPv4 because it might be available?

As above, not an IPv6 Only application if trying to use HE.


> What if the app knows it needs IPv4 and will refuse to do any networking if it doesn't find an IPv4 address on the system?

Not an IPv6 Only application.


I see value in both applications being explicit about what Internet
Protocol they want to use (e.g. on demand addressing per above), and
also being agnostic about it.



Regards,
Mark.



(* "The Rapid Rise of the Mobile Multi-Homed Host" -
https://www.ausnog.net/sites/default/files/ausnog-2013/presentations/D01%20P06-the%20rapid%20rise%20of%20the%20mobile%20multihomed%20host.pdf)