Re: [v6ops] [dhcwg] IPv6-Only Preferred DHCPv4 option

Lorenzo Colitti <lorenzo@google.com> Fri, 06 December 2019 00:41 UTC

Return-Path: <lorenzo@google.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 6D9241201A3 for <v6ops@ietfa.amsl.com>; Thu, 5 Dec 2019 16:41:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.499
X-Spam-Level:
X-Spam-Status: No, score=-17.499 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.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 i8Tp5ihkMgf5 for <v6ops@ietfa.amsl.com>; Thu, 5 Dec 2019 16:41:43 -0800 (PST)
Received: from mail-il1-x136.google.com (mail-il1-x136.google.com [IPv6:2607:f8b0:4864:20::136]) (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 ADCAF1200C4 for <v6ops@ietf.org>; Thu, 5 Dec 2019 16:41:43 -0800 (PST)
Received: by mail-il1-x136.google.com with SMTP id z90so4707883ilc.8 for <v6ops@ietf.org>; Thu, 05 Dec 2019 16:41:43 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jvTIOWlFk9XmmDnrBPOZteACEkwkMfaOW/ZRf3v0Kw8=; b=Xwn0Ru+DErAA018ovA017aNa2cPaAmoqi+qR7/HUVXERgtP6ilIjZUhfcXYZIE4ciU q2SOzEEOZ0Ln8ouJ9TGGBDkHch6g4Z8ssrlVR87msyzu+4CYZQalr4+POpblkdzF1VHn sJgGTIPDJsCb0bg92J8A1PqK8OB7Tvhoc4g2kndp2Mr2B0NFXfkgjlEzoVbpexOQIihd /oaZgu1NEnQ1GOnAgoZHXa0SFBtsE6bSnPvcqfkET1osz5LOfyr/AacUN76TmqQoBnHP 4BCBkrqL+/SOfazrEFaC5NDpJFAFpM5nW31CGGRFd2gUgioKCfZzOS3dEY4nVtYS0Ntj JWDA==
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; bh=jvTIOWlFk9XmmDnrBPOZteACEkwkMfaOW/ZRf3v0Kw8=; b=evydxbaQzz1Qlz2p/OEH8WQ8WUzBF8vTaoo+7TbY8+VrXav7ib+JjN1sHLkUFyJm18 ryNrfepGoS1j2fjx2hgsaIpSgiovbl8gwKahinqY3HJqxQZTdSvbxpCElY2ISdLO2Aqs +NBJoneLLRNKsakn/MuVc3naMi6LqC5tHHMwT/yy0GnCu5aFIbOK46QFxN3tb37W6N6i u9HkoB6t/pC4XBVNuT0GdKIzAxX3lwjZ7F1/uccMvr232ZCKHoUaH/fVk2KazX3rWOxk YmSehlKSpkHbCygtk97sTHrsd9WJLZqgw4PBgDdENBOZ0kxTUwNqQ+aaOsGM8FdheuyT qMtg==
X-Gm-Message-State: APjAAAUznuGGM1Y4IsdQSH0vjcMv7n+8GtBkXVFdaEIcsAbOruTD14vK 8hRuij5tJgIpxbaMlkQubz3/grGmrt1BtbtIUfvjjw==
X-Google-Smtp-Source: APXvYqwi1Ue5ehDibROna6ISIV0W9eTzFH4bJNsMOiF3lvIlBlqkRVLIcYQZjJjOao9zzwWAnTSrDL5e+7d4Hi43xtQ=
X-Received: by 2002:a92:3b10:: with SMTP id i16mr12483227ila.170.1575592902668; Thu, 05 Dec 2019 16:41:42 -0800 (PST)
MIME-Version: 1.0
References: <a6035aba-cab5-c779-c977-8b1a995eccfd@marples.name> <7EC52F0F-DBB8-4339-89EE-5123DFAE415E@fugue.com> <e816e5b8-3db8-009f-fbb2-cf08ddd10237@marples.name>
In-Reply-To: <e816e5b8-3db8-009f-fbb2-cf08ddd10237@marples.name>
From: Lorenzo Colitti <lorenzo@google.com>
Date: Fri, 06 Dec 2019 09:41:29 +0900
Message-ID: <CAKD1Yr0A4wpUQPwiLOHhwi+hec4WN6a13AhsnPLGGgB1ZGYaVQ@mail.gmail.com>
To: Roy Marples <roy@marples.name>
Cc: Ted Lemon <mellon@fugue.com>, Tomek Mrugalski <tomasz.mrugalski@gmail.com>, dhcwg@ietf.org, V6 Ops List <v6ops@ietf.org>, draft-link-dhc-v6only@ietf.org
Content-Type: multipart/alternative; boundary="00000000000046ad550598fe4f23"
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/Ci8cuEGrHv2bqKg0jBpwCJdONFk>
Subject: Re: [v6ops] [dhcwg] 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:41:45 -0000

On Thu, Dec 5, 2019 at 11:48 PM Roy Marples <roy@marples.name> wrote:

> The *something* else is probably IPv6 but I don't see why this RFC
> should mention it other than a use case.
>

There is actually a reason why the option is specific to IPv6. Here's why.
The primary reason for the existence of option is that hosts (especially
moblie hosts) don't want to wait to find out what's available before they
make networking available to applications. This is why when they connect
they initiate IPv4 and IPv6 (and whatever else they have) in parallel. The
option as written conveys two important bits of information to the host:

   1. The network would prefer the host not use IPv4 if the host has
   something else available.
   2. Something else *is available* on this network, so the host is not
   going to wait forever for it.

In the current draft, "something else" is specifically IPv6 (because not
really any other credible alternative to IPv4) and more specifically, IPv6
with NAT64 (because there is no other IPv6 transition mechanism that is
widely implemented in hosts today - all the others are implemented in the
network).

I think you're saying that this option should mean "I'd prefer you not use
IPv4 except as a last resort" option, as opposed to "I'd prefer you use
IPv6 instead". What that means is that the option will only be providing #1
and not #2. I think it's worse that what we are currently proposing. The
reasons are:

   1. If we make this an "IPv4 as last resort" option, a client that gets
   the option is not being told if there is anything else available. So, say
   that the administrator sets this option because they want hosts to prefer
   IPX (or netbeui, or appletalk, or whatever) over IPv4. What if the host
   doesn't support/use any of those protocols, but only supports IPv6, which
   is the overwhelmingly common case today? The host doesn't really have a
   clear path forward. The only thing it can do is try IPv6 "for a while", and
   then go back to DHCPREQUEST (assuming the offer is still valid, and if not
   go back to DHCPDISCOVER), and use IPv4 anyway. That seems like a bad user
   experience.
   2. If we make this an "IPv4 as a last resort option" instead of a
   "please use IPv6" option, is that hosts will simply assume that the option
   means "please use IPv6". Even though this assumption is technically
   incorrect, if enough hosts do it, from a deployment perspective it won't
   matter, because network operators won't be able to use this option code for
   anything other than IPv6-only networks. That outcome is worse than if we
   had explicitly defined this as a "please use IPv6" option, because
   well-behaved hosts will have to incur the additional complexity to build
   the technically correct implementation that can never be used in practice.

If we really don't want to make this option specific to IPv6, then we can
define an option that can convey multiple alternatives. In other words, the
option would mean "please don't use IPv4 if you support any of the
alternative protocols listed in this option". We could initially define an
alternative code only for "IPv6-only with NAT64", but if later some other
protocol comes along, or some other IPv6 transition mechanism becomes
widely deployed on hosts, we could add a code for it. Personally I don't
think this is worth the engineering complexity because I don't see any
other credible alternative than IPv6-only with NAT64, but I would much
prefer it over an option that doesn't say anything at all about what else
is available.