[v6ops] <draft-ietf-v6ops-464xlat-optimization-00.txt> - pre-(shepherd-writeup) review

Jen Linkova <furry13@gmail.com> Fri, 10 July 2020 03:58 UTC

Return-Path: <furry13@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 273613A0BF2; Thu, 9 Jul 2020 20:58:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.849
X-Spam-Level:
X-Spam-Status: No, score=-1.849 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, 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 nQBIEOpwGfGb; Thu, 9 Jul 2020 20:58:16 -0700 (PDT)
Received: from mail-qv1-xf36.google.com (mail-qv1-xf36.google.com [IPv6:2607:f8b0:4864:20::f36]) (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 530BD3A0BF1; Thu, 9 Jul 2020 20:58:16 -0700 (PDT)
Received: by mail-qv1-xf36.google.com with SMTP id a14so1997930qvq.6; Thu, 09 Jul 2020 20:58:16 -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; bh=E6CKuTHI2o1wIQ6BsEQR27l7L6lAPEZNAPj4tB5G9VM=; b=kX+9ot8CbTyuFjKl1JXimRTbDLXwy2zzi7CPlV5cwo906Apw2Uxv5MBQIHq3JL431d aaalanS6BM8/Ah4pOV74cj+RQYlxTNngQwUFd1eQDdnSjQOkG2opZF0vQWtS49U6kmMu 3DjWR6bfG7bIaDroC62TWkFAfXV1CGCv/lrGqKRqfO2TjjZaKYI+wbh7Ifd3uD29YRxM GRNR7d+hYY5hzI2jsJJvvYYJ9K9nyJ4qZOQc85ypVHo9KZS5TfmFLuustRU7/tPF0Gvb K5PDXn2teercXbVTTzWDAeiQl4ZHb6/FXk3Q9iLMyitr7oxYLWI0/N4GaNhKJrJSDGSO +QGg==
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=E6CKuTHI2o1wIQ6BsEQR27l7L6lAPEZNAPj4tB5G9VM=; b=NTVV/QEuZHE9eJOTyt/1Pz0Z3qq7eqTiE97CfN9P6imHZScO6mV8AJDnKIYYA8E7EC k0kfGclvzfdnUlK1jxklU2F+4FinRRby8xb1GwslBQ+ympAf+saRRBIDufuxeOWZPiOy GB2i6iU0oHtS6LGIqepz6GtYRP/t4c2Nv/RcATNdKBelNNmwPVunVN5nQNtB+lsntdDc XnIdghwnIx/3qV3V31Ccm+gDGf6yjerggD3iNdcQ3r+hV658PsMNLck7ogrz1WfzTTn7 zbtnNOS1+FEhG4ubFTC8bgSz/ff/Kv8clvCpXx7kyMFJ86aYEbb6Ou9/wkdzw1vzTit4 ym3g==
X-Gm-Message-State: AOAM531jAAgqmE0klLWuTBw3XlzWTYW+/SDewjx5UfnYG6d+jTKzaG/M uP9jaBmF4Xr4aoX2zeCIAEYAOjF0EgCWtycUwQM=
X-Google-Smtp-Source: ABdhPJwj/ITrFlQgM9dC2rY2XVn7Q4nx1nFfRQg4NDguXox/jjYuIjnwA/xKpxgSOyr3E5Hd5zZ1ASdBmHgNo7243Zs=
X-Received: by 2002:ad4:4a6d:: with SMTP id cn13mr66095015qvb.165.1594353495227; Thu, 09 Jul 2020 20:58:15 -0700 (PDT)
MIME-Version: 1.0
References: <159393243745.16561.15755916877984628536@ietfa.amsl.com> <17D88CF8-B2CF-4737-910A-3D07881946BA@gmail.com> <24FDA390-8587-4366-8E4D-C6BBBB529CF8@theipv6company.com> <0B3CDBC8-3EBE-4FC4-AC5A-2DCD2480B502@theipv6company.com> <CAFU7BATueaCH5KL=-WVKZphs3fuwkOFvtmELPyQ9h9i4GBnkJw@mail.gmail.com>
In-Reply-To: <CAFU7BATueaCH5KL=-WVKZphs3fuwkOFvtmELPyQ9h9i4GBnkJw@mail.gmail.com>
From: Jen Linkova <furry13@gmail.com>
Date: Fri, 10 Jul 2020 13:58:04 +1000
Message-ID: <CAFU7BAR8CaA6uKfm001J6fSfTNTrvyLffWfVurpBUs2HBxgPqw@mail.gmail.com>
To: Jordi Palet Martínez <jordi.palet@theipv6company.com>
Cc: Fred Baker <fredbaker.ietf@gmail.com>, draft-ietf-v6ops-464xlat-optimization@ietf.org, warren <warren@kumari.net>, V6Ops Chairs <v6ops-chairs@ietf.org>, "Alejandro D'Egidio (Telecentro)" <adegidio@telecentro.net.ar>, V6 Ops List <v6ops@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/eJOu4ZdFXST5Pb46kNv8WCqMfx4>
Subject: [v6ops] <draft-ietf-v6ops-464xlat-optimization-00.txt> - pre-(shepherd-writeup) review
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, 10 Jul 2020 03:58:18 -0000

OK, I"ve read the document and before I finish the write up I'd like
to discuss a number of comments I have.
My apologies for not raising them during the WGLC - I was not paying
attention, got busy with work...

0) I might need coffee but I found the Abstract a bit confusing so if
I may suggest some text..

""IP/ICMP Translation Algorithm (SIIT) can be used to provide access
for IPv4-only devices or applications to IPv4-only or dual-stack
destinations over IPv6-only infrastructure. In that case the traffic
flows are translated twice: first from IPv4 to IPv6 (at the ingress
point to then IPv6-only network) and then from IPv6 back to IPv4 at
the egress point.  If the destination is IPv6-enabled that second
translation might not be required. This document describes some
optimization to 464XLAT and MAP-T deployments to avoid translating IP6
flows back to IPv4 if the destination is reachable over IPv6. The
proposed solution would significantly reduce the NAT64 utilisation in
the operator's network"

1) Introduction section
The draft says: "allow IPv4-only devices or applications to connect
with IPv4 services in Internet, by means of a
   stateless NAT46 SIIT (IP/ICMP Translation Algorithm) as described
by  [RFC7915]."

Do you think it would help saying  "with IPv4 services in Internet
over IPv6-only infrastructure"?  Otherwise it sounds confusing - why
do we need anything at all to help IPv4-only clients to talk to
IPv6-only services?

2) ""This allows to translate the IPv6-only flow back to IPv4, in
order to forward it to Internet."

I'm not sure we can call a flow 'IPv6-only'. Flows are usually IPv6 or
IPv4...I think the terms 'IPv6-only' and 'IPv4-only flows' are used
extensively in the draft.

3) "In both cases (NAT46 and NAT64), the translation of the packet
   headers is done using the IP/ICMP translation algorithm defined in
   [RFC7915] and algorithmically translating the IPv4 addresses to IPv6
   addresses following [RFC6052]."

IMHO this text would be more readable if we split it in two sentences:
" In both cases (NAT46 and NAT64), the translation of the packet
   headers is done using the IP/ICMP translation algorithm defined in
   [RFC7915] . Translation between IPv4 and IPv6 addresses is done as
per RFC6052]."

4) Section 3 is called "Possible Optimisation". However it comes
before the Section 4 (problem statement) and the text seems to be more
about the problem.
Also, the first 3 paragraphs of Section 4 (until "until "As shown in
the Figure 4" text) seem to repeat Section 3. Shall those two sections
be merged?
Or am I missing anything and they are actually talking about different things?

5) "In the case of 464XLAT, a DNS64 ([RFC6147]) is (optionally) in charge
of the synthesis of AAAA records from the A records, so they can use
   a NAT64, without the need of doing a double-translation by means of
   the NAT46/CLAT." - who are "they"?  This is the first sentence of
the section so not sure who you are referring to.

6) Fig 1: Shouldn't it be 'Dual-Stack LAN', not 'LAN's Dual-Stack'?

7) ""As it can be observed in the preceding picture, the situation is the
   same, regardless of in case of a wired network with a CE Router or a
   cellular network where a UE is connecting other devices (which may be
   IPv4-only or have IPv4-only apps), by means of a tethering
   functionality."

IMHO it's a bit hard to parse...Maybe smth like:
"Examples of a topology shown on the picture above includes:
- a residential ISP IPv6-only access network with a dual-stack LAN
behind a CPE performing NAT46 (CLAT);
- IPv6-only mobile ISP network when a UE performs CLAT for IPv4-only
applications running on that UE or for traffic originated by other
devices connected to the UE via tethering."

8) Section 5.1. Approach 1: DNS/Routing-based Solution
"5.1. Approach 1: DNS/Routing-based Solution
"Because the WKP is non-routable, this solution will only be possible
   if the CDN/cache is in the same ASN as the provider network, or
   somehow interconnected without routing thru" Internet."

Maybe it's worth explicitly mentioning that this approach would
require that the path to the destination is NOT traversing NAT64
devices. Otherwise the simple configuration of such devices 'translate
everything with the destination address in the WKP' would become much
more complex.

9) Section 5.2.3
""In normal conditions the TTL for both A and AAAA records, of a given
FQDN, should be the same,"

I'm not sure it's the case actually and we can expect that to happen
'normally'. Do you have any references proving that point?

10) Section 5.2.7. Behavior in case of multiple A/AAAA RRs
Sorry but I have difficulties understanding those two sentences. What
'existing procedures'  the resolver must be using?
IMHO this section would be much easier to understand if there is an
example: the given FQDN has 15 A RRs and 5 AAAA RRs. What EAMT entries
would be created?
As most CDNs would have multiple entries, this is a key point of the proposal.

11) Section 5.2.8. Behavior in presence/absence of DNS64
"Furthermore,  because as indicated in Section 5.2.2, the EAMT entry
is not created
   when the service is IPv6-enabled."

Is it correct? The section 5.2.2 seems to be talking about detecting
IPv6 enabled services and using their AAAAs for creating EAMT entries.

12)  (related to 11) The draft seems to assume that the CPE/UA knows
the NAT64 prefix somehow. As it's an operational document I believe it
would be beneficial to provide some guidance on how exactly the device
should discover the prefix. Obviously, the operator could use RFC8781
(PREF64 RA option) or PCE. Or the device and use RFC7050. However if
the device uses RFC7050 then the Section 5.2.8 shall discuss this.

13) IMHO sections 5.2.9.  Behavior when using literal addresses or non
IPv6-compliant APIs and 5.2.12. Behavior in case of Foreign DNS should
be follow each other or  sections 5.2.9. might have a reference to
5.2.12.

14) Section 5.2.11 Behavior in presence of Happy Eyeballs
IMHO, this section should make it explicit and very very clear: as
soon as an EAMT entry is created for an IPv4 address, Happy Eyeballs
fallback to that IPv4 address becomes impossible. In case of
connectivity issues with the IPv6 address used in that EAMT entry, the
client would not be able to reach the destination.
I feel like the draft does not discuss the impact enough.  It's not
about delay, it's about IPv6 becoming the only protocol to reach
IPv6-enabled destinations for both dual-stack and IPv4-only hosts.
Maybe it's a good thing in 2020 ;)

15) Later in that section the draft says:
" So even if Happy Eyeballs is present, the fallback to IPv4-only
typically, will be slower than native IPv6 itself, because
   the added delay in the NAT46+NAT64 translations, when not using this
   optimization."

I think it should be saying "IPv4 would be slower", not "fallback to
IPv4".  So maybe smth like " 'IPv4 is expected to be slower than
native IPv6 due to delays added by NAT46+NAT64. This optimization
reduced that delay by eliminating the need of the second translation
(NAT64)"?

16) The draft does not discuss the troubleshooting implication. For
example if I'm running 'traceroute 8.8.8.8 from my IPv4-only host and
there is an EAMT entry for 8.8.8.8.
IMHO this draft needs to discuss this and potential impact on tech
support procedures.

17) Another thing which seems to be missing is some guidelines on
controlling this feature. I'd suggest adding some text about that.
IMHO, the router vendors SHOULD (I'd vote for MUST even) have that
optimization disabled by default. The routers MUST have a knob to turn
it off if it's enabled.

18) Acknowledgements Section
Pls remove "....and TBD".

-- 
SY, Jen Linkova aka Furry