[v6ops] draft-palet-v6ops-nat64-deployment-02 comments

Fred Baker <fredbaker.ietf@gmail.com> Wed, 27 June 2018 17:04 UTC

Return-Path: <fredbaker.ietf@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 E6D95130DD9 for <v6ops@ietfa.amsl.com>; Wed, 27 Jun 2018 10:04:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham 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 nEBwd7jAAgFu for <v6ops@ietfa.amsl.com>; Wed, 27 Jun 2018 10:04:39 -0700 (PDT)
Received: from mail-pl0-x233.google.com (mail-pl0-x233.google.com [IPv6:2607:f8b0:400e:c01::233]) (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 06ADE124D68 for <v6ops@ietf.org>; Wed, 27 Jun 2018 10:04:39 -0700 (PDT)
Received: by mail-pl0-x233.google.com with SMTP id c41-v6so1331517plj.10 for <v6ops@ietf.org>; Wed, 27 Jun 2018 10:04:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:mime-version:date:subject:message-id:to; bh=wRxdcJnCkRNWneT+VJblYiN//5a/LV3WuhfFDWM7XIk=; b=J6qODb4O5MGHNiDkzzTo7PZeEOBb8Cor/2H23DgU5QqY0JxWpM2CCxlYC8qGwcsx6c h2/yvMYSHS/pCFSKqUupiHhmnvOfsK/Fa8MFzgmweqM3SjIfL8QfhEHhV/82XPqpEr3Y QRvIZrc0dngYc1wimv2iBdz13Nvcdwo6nDqAk+OcYatvXmWzLU1gSy+V/daZc6Tv6DpV qaC6EpLR+vx233uil37kH6FCsYWWKRw0nb+obf6vKU7+coodNYzxA69Yy31ksRG4EBJJ 0zLYhURQCvTCPolfsnGCkG5Mi0ZSAP1cGnk/EfP0HWZTlYvvLkr01XiaMaipbRmaZHTm PenQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:mime-version:date:subject:message-id:to; bh=wRxdcJnCkRNWneT+VJblYiN//5a/LV3WuhfFDWM7XIk=; b=Ja3XLB5GbjfbuG08tDiCNKFOVp3r7pE6MCMpAt37XztCwahnzOwQGY6R6zGhfXnCIe Vqfd5IDvFLS/7v4dLStvR3p263DZA80swrLeGwplRif+DlN9pO5kw7Hk+akRS2fSUF85 cIH0Q8lg4lqoQL9qVj/rbkU49J8Kw4qCHlXPEfPNzA0yAfUyuX4ZRYUTxnAeKVp4vZqP fEERrm2tWUXHmn7YHAI7+e/Qer6A2/T5uQzy4DWOdAj0haQNb2B2npjZsPOc78gDURX6 NnOHIz3xzpUy3uS6xBFjDwE1fgAr2p4c8b5r/OHnnUR3GFvabCdHUylrgAjuCapRzgTv PDcg==
X-Gm-Message-State: APt69E1wSwshXglsrgAVkA9batvuEr90Xy3DJdmKOoqonr30pk8+YN7d aVchha76bXv9FtAtq+mmDgrl9hD2
X-Google-Smtp-Source: ADUXVKLAE4R3b+RMDTfirf/ho6Qi/8e/DZTnvC33IqhJpwNV92vp5anmI0+ja+yo/vSPxKShzFCaag==
X-Received: by 2002:a17:902:1e4:: with SMTP id b91-v6mr6994380plb.155.1530119078550; Wed, 27 Jun 2018 10:04:38 -0700 (PDT)
Received: from [10.196.220.133] (41-197.icannmeeting.org. [199.91.197.41]) by smtp.gmail.com with ESMTPSA id 127-v6sm3228304pfe.0.2018.06.27.10.04.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 27 Jun 2018 10:04:37 -0700 (PDT)
From: Fred Baker <fredbaker.ietf@gmail.com>
Content-Type: multipart/signed; boundary="Apple-Mail=_EE7756E6-37FB-47C1-9FCB-DE1D4614D84E"; protocol="application/pgp-signature"; micalg="pgp-sha512"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Date: Wed, 27 Jun 2018 12:04:34 -0500
Message-Id: <663F489C-7F63-4B0C-A5E6-F7EE4634E62B@gmail.com>
To: Jordi Palet Martínez <jordi.palet@theipv6company.com>, "v6ops@ietf.org list" <v6ops@ietf.org>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/M1q4IMYDn3NAiKl9sq5ggyXGPEw>
Subject: [v6ops] draft-palet-v6ops-nat64-deployment-02 comments
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.26
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: Wed, 27 Jun 2018 17:04:46 -0000

Chair comment: I am interested in making this draft a working group draft. I think there is merit in it to do so. However, following our usual process, I need agreement from the working group. Consider this a solicitation for that. To do so, I'm looking for comments, supportive or otherwise, especially from operators. To respond to Barbara's question that she raised with ipv4aas, making it a working group document doesn't mean it's done, it means it's a work item as opposed to a suggestion to the working group.

The rest of this is sans hats.

Thanks for your new draft. Let me say that I am increasingly hearing about ISPs (cellular and broadband) that, in the words of one, "just don't want to allocate IPv4 addresses anymore", and are taking important steps toward turning IPv4 off within their networks in favor of IPv4 as a service. As you know, this falls into a couple of categories - those that are willing to offer a client-only IPv4-over-IPv6 or IPv4-cum-IPv6 service, and those that need to be able to somehow still put an IPv4 address into an A record (such as a company like Lumix that uses Dynamic DNS Update and firewall hole-punching to allow a residential user to access their surveillance system from an Android/iPhone app) and use it to send a message to the IPv4 server. So IMHO, this is an important draft, and it would be useful to get operator comment on it.

I'm reviewing the draft. I'll bring up nits inline, and I may have some other thoughts as well.

> Abstract
> 
>    This document describes how NAT64 and 464XLAT can be deployed in an
>    IPv6 operator (cellular and broadband) or enterprise network and the

I suspect that this would read better as "IPv6 network, whether cellular ISP, broadband ISP, or enterprise".

> 1.  Introduction

>    To avoid changes in both, the IPv6-only hosts and the IPv4-only
>    server, NAT64 requires also the use of a DNS64 ([RFC6147]), in charge
>    for the synthesis of AAAA records from the A records.

I would disagree that NAT64 "requires" DNS64. NAT64 requires that the destination IPv6 address contain an embedded IPv4 address. The source of that IPv4-embedded IPv6 address is up to the system that sent the packet. A CLAT (stateless translation as in RFC 7915) uses address synthesis with a PLAT translation prefix. MAP-T adds NAPT44 functionality to that with respect to the outbound IPv4 source address. A random IPv6 host accessing an IPv4-only peer might use DNS64, and the AAAA records might simply exist in DNS containing an IPv4-embedded IPv6 address. But the NAT64 function doesn't use, nor does it require, DNS64.

BTW, SIIT-DC makes rather a point that RFC 6146 is a per-session (effectively NAPT) translator, and provides translation strictly at the IP layer. I suspect that is also a valid configuration, one that needs to be supported. In the 464XLAT case, I think it falls out, but I'll have to think about MAP-T.

> 3.  NAT64 Deployment Scenarios

>    Consequently, the perspective in this document is to broader those

"broaden"

> 3.1.2.  Service Provider offering 464XLAT, with DNS64

Pictorial image of what I'm picturing:

                          +----+                +----+
                          |DNS |     +-----+    |DNS |
                          |IPv6|     |DNS64|    |IPv4|
                          +--+-+     +--+--+    +--+-+
  +------+ v6 +------+       |          |          |
  |      +----+      |    ,--+--.       |       ,--+--.
  |Dual  |    | IPv6 |   /       \    ,-+-.    /       \
  |Stack |  +-+Router+--(  IPv6   )--( PLAT)--(  IPv4   )
  |Device|v4|C|      |   \Network/`.  `---'    \Network/
  |      +--+L|      |    `--+--'   `.         /`-----'
  +------+  |A|      |       |        `+------+
            |T|      |    +--+---+     | Peer |
            +-+------+    | IPv6 |     |Device|
                          |Device|     +------+
                          +------+

The dual stack device obviously has an IPv4 and an IPv6 address, and the IPv4 side of it speaks through the CLAT. The IPv6 device has no IPv4 address. The peer device is the thing the "dual stack" device connects to, and might itself be dual stack or IPv4-only. In both cases, however, IPv4 access to the peer device will go through the PLAT.

When the IPv6 device wants to talk with the peer device, it will need a AAAA record. In the dual stack case, that will contain a "usual" IPv6 address, and connectivity will be IPv6 end to end; in the IPv4-only case, it will need its IPv4 address embedded into the PLAT's translation prefix, which is or is functionally equivalent to DNS64.

When the dual stack device wants to talk with the Peer Device, its IPv4 side will need an A record and the CLAT will do the address synthesis. Hence, no need for DNS64, and no requirement for it if it exists. The IPv6 side will need a AAAA record. If there is a native IPv6 address, that's fine, it will use that, and the system might be best served if the IPv6 connectivity is used. If there is a DNS64 AAAA record, the IPv4 side will use an A record and the CLAT and PLAT, and the IPv6 side will use the PLAT and the DNS64 address.

> 3.1.3.  Service Provider offering 464XLAT, without DNS64

The difference from the preceding section will be connectivity between an IPv6-only device and an IPv4-only peer. In the previous section, the IPv6 device will be unable to communicate with an IPv4-only peer, and the dual stack device will use its IPv4 side, the CLAT, and the PLAT.

>    The major advantage of this scenario, using 464XLAT without DNS64, is
>    that the service provider ensures that DNSSEC is never broken.

Yes, but at the cost of IPv6-IPv4 connectivity.

> 3.2.  Known to Work Under Special Conditions
> 
>    The scenarios in this category are known not to work unless

"known to not work"

I'll probably have more comments later, but I'm sending this much now.