Re: NAT64 in RA, draft-ietf-6man-ra-pref64

Jen Linkova <furry13@gmail.com> Fri, 28 June 2019 04:31 UTC

Return-Path: <furry13@gmail.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 C9E5012013E for <ipv6@ietfa.amsl.com>; Thu, 27 Jun 2019 21:31:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.748
X-Spam-Level:
X-Spam-Status: No, score=-1.748 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, 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 jkWdp1RYeDRN for <ipv6@ietfa.amsl.com>; Thu, 27 Jun 2019 21:31:15 -0700 (PDT)
Received: from mail-qt1-x82e.google.com (mail-qt1-x82e.google.com [IPv6:2607:f8b0:4864:20::82e]) (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 6C8F612004E for <6man@ietf.org>; Thu, 27 Jun 2019 21:31:15 -0700 (PDT)
Received: by mail-qt1-x82e.google.com with SMTP id m29so4963828qtu.1 for <6man@ietf.org>; Thu, 27 Jun 2019 21:31:15 -0700 (PDT)
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=dYGpJ9Sl2z1RN/2WesJQrwItoag1ePzDGpmRv3gPGy8=; b=ss09wdc/j6d1qSDc1igfANQDkMHNKPFu1Nwijew/ieRAPZm/BNymdnsmJ/qqe86e3B Yv4PqB4QecP0tjT2OW0fresE7qY4gCGwv/3iP2Ebusnl8+8FSDKr2buXrRnVFv7QuLe1 da9JhbHkQ1feBiXJPHjWKceGiiYId9ngPNM3aoad5Hsnr1FMLL6HTQBJxQilHQZoKfKz RsD3HtuhHkYo1hYFN9vzXPNFI7WOyPhjLpqAE3y+8O6VhqfGHVUzzz3+no3IY5//Dn1f 3/0OCtpCj7FRXO+TRa/BQTpiloPof+rcw2rrqb/euV95ZLx4vmRQ9UJSHunKCOJ1fhiT Vasg==
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=dYGpJ9Sl2z1RN/2WesJQrwItoag1ePzDGpmRv3gPGy8=; b=p60XcUUxa7+X74NspHAhgU/8Mt5sopTz6kyQwtxj6k+OpPuTBL4j3I+IellYJY1C5G fOUdx1KLpOozy+Fs9qJw6W1qmm/gNBPKpaBgyo1mb9hqF81Ny03a9co0x6rlm4cjfztt sskhjtXhZ3+Afkq1FEPkY2LVwuUpR4dLIJNddpxvOo8QIbexCYti2sbCWvtyLBZlgbE4 s5QJSJE5oK6lPJw0U4j6eH3Fu5b6NLhiSROw2WRJ78IT0rhML1Tr3mWwdThziF4pWChu 2Eas9IZ+yfpgTfox43FqiwynthUI4dVmdk+Fch9vv3hpnUPkJJJv8bYXYsMrt1EXww2q yu2Q==
X-Gm-Message-State: APjAAAXOFt+xPD6qTwR5BiIb6eOuY/X0+nvFfS6zErVUoBYrTRD0rGXH TiEPa4XURySZ7B9/xW7I/MqwNEXgmztZpTRSp29E72DV
X-Google-Smtp-Source: APXvYqwytk6Q10FjTqorTvom6iMiNShfs5SBxOQfaNoWFCk+TH7Ekdj3eqGe1o1aLpZdiyTZ84hTy1zdm7+xL36fMFo=
X-Received: by 2002:a0c:81f0:: with SMTP id 45mr6455737qve.13.1561696274195; Thu, 27 Jun 2019 21:31:14 -0700 (PDT)
MIME-Version: 1.0
References: <12187.1558972629@localhost> <D3C7EB41-02E8-48D6-9335-26A041FD64C2@isc.org> <00C00FE5-C7CD-4B99-A2C9-CCBFCB1E4850@isc.org> <CAFU7BASfJ4YS6xBzK8hNJRSMnFZmdn3VE5A=sPCC3JqRa8SQEQ@mail.gmail.com> <EC63A89D-26CD-4093-8814-4461B6D3D327@isc.org>
In-Reply-To: <EC63A89D-26CD-4093-8814-4461B6D3D327@isc.org>
From: Jen Linkova <furry13@gmail.com>
Date: Fri, 28 Jun 2019 14:31:02 +1000
Message-ID: <CAFU7BASsAwitEc==Zj6qT4izy-tFosg23DHXFVVzOixidEfMFA@mail.gmail.com>
Subject: Re: NAT64 in RA, draft-ietf-6man-ra-pref64
To: Mark Andrews <marka@isc.org>
Cc: Michael Richardson <mcr+ietf@sandelman.ca>, 6man@ietf.org, Lorenzo Colitti <lorenzo@google.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/PDGZya-TXZEljNb_ebADeD6hr_s>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.29
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: Fri, 28 Jun 2019 04:31:18 -0000

On Fri, Jun 28, 2019 at 11:16 AM Mark Andrews <marka@isc.org> wrote:
> e.g. _dns64.example.com or _dns64.home.arpa
> 06 5f 64 6e 73 36 34 07 65 78 61 6d 70 6c 65 03 63 6f 6d 00
> or
> 06 5f 64 6e 73 36 34 04 68 6f 6d 65 04 61 72 70 61 00
>
> If there is no filter name you encode the root label “." (00).
>
> Any yes you would use the DNS servers in the RA to retrieve this or else
> it wouldn’t work for split DNS.
>
> Filters can be long. DNS has ~64K for encoding the filter information in.

The more I think about it the less I'm convinced it should be added to
this RA option. My concerns are:
1) do we really want to put DNS labels into the router configuration?
NAT64 prefix is smth which is defined and controlled by the routing
infrastructure, while this thing is totally different.

2) as you've said, filters can be long. How can we prevent inflating
the RA beyond any reasonable limit?

3) it would *only* work if the application using the APL is also using
the network-provided resolvers - and I can not see how it could be
guaranteed (== it would lead to rather non-obvious failure scenarios
and operational nightmares).

4) as I've mentioned before the use case seems to be pure hypothetical
(I can not recall anyone claiming it's a real operational problem -
but I might be wrong). In the scenario when a dual-stack network is
connected to IPv6-only uplink (so DNS64 synthesis shouldn't be
performed for the IPv4 addresses local to the network), 464XLAT would
be most likely solution.
SO for me it looks like a very special corner case for which we do not
have operational experience yet and which would most likely arise in
multihoming scenario. So should the need arise,
APL could be provided as a part of additional PVD information:
https://tools.ietf.org/html/draft-ietf-intarea-provisioning-domains-05#section-4
(or by using the universal RA option, maybe).

> While the first label doesn’t have to be _dns64, having a leading underscore
> takes it out of hostname namespace.

Stupid question: why can not we reserve a well-known label (_dns64 ?)
and let the client to request APL in the domains from its search list?

>
> > On 27 Jun 2019, at 8:35 pm, Jen Linkova <furry13@gmail.com> wrote:
> >
> > Hi Mark,
> >
> > On Tue, May 28, 2019 at 6:39 AM Mark Andrews <marka@isc.org> wrote:
> >>
> >> The RA optionally includes the name of the APL record.  Inclusion is signalled by the option length.
> >
> > I'm working on then -01 version of the draft and while trying to
> > incorporate the suggestion you made at the microphone @IETF104, I've
> > realized I'm still confused.
> >
> > If I got it right, you are suggesting to use the option length to
> > indicate not just the prefix length, but the presence of the APL
> > record, right?
> > So how shall it look like?
> > Are you suggesting to use the Reserved bits to store the APL label length?
> >
> > Let's look at all possible scenarios:
> >
> > Scenario 1: /96 prefix, no APL.
> > The option length = 2, the option contains 96 bits of the prefix.
> >
> > Scenario 2: non-/96 prefix, no APL.
> > The option length = 3, the last 32 bits of the option contains 8 bits
> > of the prefix length + reserved bits.
>
> >
> > Scenario3: /96 prefix, APL name exists.
> > The option length is....well, I guess it would depend on the label
> > length, right? So 3 or more.
> > So the first 8 bits after the prefix length would be the APL label
> > length, then the APL (with padding to the 8 octets if needed).
> >
> > Scenario 4:  non-/96 prefix, APL name exists
> > The same as scenario 3.
> >
> > My concerns here are:
> > 1) we are making the option parsing quite complicated just to
> > accomodate a hypothetical use case of 'dual-stack network with NAT64';
> > I'm afraid it might slow down the deployment.
>
> > 2) the state machine is unclear to me:
> > - does the presence of the APL part mean that now the host MUST use
> > the DNS servers provided by the network to resolve the APL (remember,
> > one of the benefit of providing pref64 is ability to remove
> > dependencies on DNS64)? What if the host has DNS servers configured
> > manually? How could the client tell the difference?
> >
> > So far I'm still not convinced that it's worth doing (at least currently).
> > If anything, I'd say the APL information should be in RDNSS option as
> > it shares fate with the DNS.
> >
> > Or am I missing smth/misunderstood your suggestion?
> >
> >>> On 28 May 2019, at 06:29, Mark Andrews <marka@isc.org> wrote:
> >>>
> >>> You use  an APL record to define which addresses are mapped/excluded  (the difference is where the negations goes and whether you include the /0 entries at the end normally) on a first match basis.
> >>>
> >>> e.g.
> >>>
> >>> APL !1:10.0.0.0/8 1:0.0.0.0/0
> >>>
> >>> Not net 10 but everything else.
> >>>
> >>> TYPE42 \#9 00 01 08 81 0a 00 01 00 00
> >>>
> >>> The above is a mapping list not a exclude list.
> >>>
> >>> You can also encode the IPv6 prefixes you want to ignore when determining if you are doing.  This is useful for when you want to be IPv6 internally but don’t have external connectivity  or you only have partial IPv6 connectivity or for ignoring the results of a seperate DNS64 mapping.
> >>>
> >>> Both lists can be encoded in a single APL record. Also it is easy enough to encode the record in unknown record format by hand as the encoding is not hard to do.  See above.
> >>>
> >>> --
> >>> Mark Andrews
> >>>
> >>>> On 28 May 2019, at 01:57, Michael Richardson <mcr+ietf@sandelman.ca> wrote:
> >>>>
> >>>>
> >>>> I just watched the 6man recording on draft-ietf-6man-ra-pref64.
> >>>> I am very enthusiastic about having this progress, because it enables DNSSEC
> >>>> resolution to be done on the host.
> >>>> (We just have to find a way in CAPPORT to shame
> >>>>
> >>>> The document says:
> >>>>
> >>>> In a network that provides both IPv4 and NAT64, it may be desirable
> >>>> for certain IPv4 addresses not to be translated.  An example might be
> >>>> private address ranges that are local to the network and should not
> >>>> be reached through the NAT64.  This type of configuration cannot be
> >>>> conveyed to hosts using this option, or through other NAT64 prefix
> >>>> provisioning mechanisms such as [RFC7050] or [RFC7225].  This problem
> >>>> does not apply in IPv6-only networks, because in such networks, the
> >>>> host does not have an IPv4 address and cannot reach any IPv4
> >>>> destinations without the NAT64.
> >>>>
> >>>> And I guess I disagree with this in a subtle way, which Section 7
> >>>> (multihoming) tries to deal with.   Maybe you could write:
> >>>>
> >>>> In a provisioning domain that provides both IPv4 and NAT64, it may be desirable
> >>>> for certain IPv4 addresses not to be translated.  An example might be
> >>>> private address ranges that are local to the provisioning domain and should not
> >>>> be reached through the NAT64.  This type of configuration cannot be
> >>>> conveyed to hosts using this option, or through other NAT64 prefix
> >>>> provisioning mechanisms such as [RFC7050] or [RFC7225].  This problem
> >>>> does not apply to hosts that are provisioned in IPv6-only networks,
> >>>> because in such networks, the host does not have an IPv4 address and
> >>>> cannot reach any IPv4 destinations without the NAT64.
> >>>> Section 7 deals with the multihoming sitution more.
> >>>>
> >>>> ----
> >>>>
> >>>> The slides had some optional stuff which I think is gone from the document.
> >>>> Mark Andrews made some suggestions, which I did not understand what happened.
> >>>>
> >>>> --
> >>>> Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
> >>>> -= IPv6 IoT consulting =-
> >>>>
> >>>>
> >>>>
> >>>> --------------------------------------------------------------------
> >>>> IETF IPv6 working group mailing list
> >>>> ipv6@ietf.org
> >>>> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> >>>> --------------------------------------------------------------------
> >>>
> >>> --------------------------------------------------------------------
> >>> IETF IPv6 working group mailing list
> >>> ipv6@ietf.org
> >>> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> >>> --------------------------------------------------------------------
> >>
> >> --------------------------------------------------------------------
> >> IETF IPv6 working group mailing list
> >> ipv6@ietf.org
> >> Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
> >> --------------------------------------------------------------------
> >
> >
> >
> > --
> > SY, Jen Linkova aka Furry
>
> --
> Mark Andrews, ISC
> 1 Seymour St., Dundas Valley, NSW 2117, Australia
> PHONE: +61 2 9871 4742              INTERNET: marka@isc.org
>


-- 
SY, Jen Linkova aka Furry