Skip to main content

Pros and Cons of IPv6 Transition Technologies for IPv4-as-a-Service (IPv4aaS)
draft-ietf-v6ops-transition-comparison-04

Yes

Warren Kumari

No Objection

(Alvaro Retana)

Note: This ballot was opened for revision 02 and is now closed.

Warren Kumari
Yes
Éric Vyncke
(was Discuss) Yes
Comment (2022-06-25) Sent
Thank you for addressing all my DISCUSS and COMMENT points (kept below for archiving purpose only). I have now cleared my DISCUSS ballot for this very useful and informative document.

Thank you all

-éric


# DISCUSS (for archive)

## Section 2.2

A important and trivial to fix "translates the IPv4 payload to public IPv4 source address using a stateful NAPT44" => "translates the IPv4 source address in the payload to public IPv4 source address using a stateful NAPT44"

## Section 3.3

"Here, the centralized network function (lwAFTR or BR) only needs to perform stateless encapsulation/decapsulation or NAT64", actually in MAP-T, BR does translation.

## Section 3.4

I am afraid that the number of IPv4 public addresses that are required goes beyond this "simple" computation. There are also other constraints such as laws, MoU, rules and operators BCP, see:

- https://bipt.be/operators/publication/consultation-of-11-october-2016-regarding-the-conditions-of-use-of-ipv4cgn (alas in French/Dutch) but meaning that in my country, Belgium, an IP address can be shared by 16 subscribers max

- https://www.europol.europa.eu/media-press/newsroom/news/are-you-sharing-same-ip-address-criminal-law-enforcement-call-for-end-of-carrier-grade-nat-cgn-to-increase-accountability-online

# COMMENTS (for archive)

Note for the shepherding AD: missing consensus boilerplate.

Generally, I would have appreciated some text about the difference between a residential CE (serving multiple hosts) and a mobile hand-set (serving usually a single host -- except when tethering)

## Section 1

"As the deployment of IPv6 becomes more prevalent", I hope that this sentence is a little outdated in 2022...

s/The following IPv6 transition technologies are covered:/The following IPv4aaS technologies are covered:/ ?

## Section 2.1

s/it performs stateless NAT64 translation/it performs stateless NAT46 translation/ ?

About "64:ff9b::/96 Well-Known Prefix", suggest adding a reference to RFC 8215.

s/In the operator's network, the provider-side translator/At the edge the operator's network, the provider-side translator/ ?

Hummm "when a dedicated /64 "... RFC 8215 is a /48, the text above is /96 and now it is a /64 ?

While I appreciate the text "When an IPv6-only client or application communicates with an IPv4-only server", the reader may benefit of the dual text for IPv4-only client app communicates with IPv4-only server.

Should figure 1 use "IPv4-only app" rather than "IPv4-only device" ? Especially when the actual device/handset is IPv6 only ?

## Section 2.3

Please explain / expand what is "only performs A+P routing" at the first use.

I like the last paragraph about hair-pinning the IPv4 traffic BUT this should also be explained in all sub-sections of section 2.

## Section 3.1

Is it worth mentioning whether the tunnels require any control plane ?

How can a tunnel not require additional header ? While I understand what the authors mean, I suggest to use the word "overhead".

"to implement buffering and fragment re-assembly in the BR node" but "BR node" is only applicable to MAP-[ET].

## Section 3.2

The 3rd paragraph is more on multicast and deserves a section on its own (or added in section 3.6). Especially the last sentence, which is about encapsulation in a NAT section ;-)

The 4th paragraph has also little to do with NAT but more with L4 visibility for ECMP/ACL, suggest to make its own section.

## Section 3.3

Should "CGN" be introduced before ? (at least expanded ?)

Please expand "EAMT" even if a reference is given.

## Section 3.4

Even if somehow obvious, please prefix "port" with "TCP/UDP"

Please provide references to the numbers of 300 ports and 4 devices. 

Does the above also apply to 464XLAT ?

## Section 4.1.1

A little strange to see a 3-row table associated to "on the basis of two aspects"... Suggest to have a single row indicating T/E.

## Section 4.2

This section would benefit from version / date for the browser data and for Netfilter implementation. A reference to Netfilter would be another plus.

## Section 4.4.1

Please add version for the miscellaneous OS and add a date for "at the time of writing is not available in MacOS."

## Section 8

Should DNSSEC interactions with translation (and not with encapsulation) be discussed ?

# NITS  

## Section 2.1

Figure 1, mostly cosmetic the "stateless/stateful" qualification is once before xLAT once after ;-) Let's try to be consistent.

## Section 2.2

"Basic Broadband Bridging' (B4)" while RFC 6333 uses "Basic Bridging BroadBand (B4)" ;-)

## Section 2.4

"The CE (Customer-Edge)", CE has already been expanded before.

s/The client address/port allocation size is a design parameter/The client address/port allocation size is a configuration parameter/

## Section 4.4.2

A table would be easier to read rather than a list ;-)

## Section 4.5.2 and 4.5.3

Do the authors have more recent data than in 2018 and 2020 ?
Erik Kline
No Objection
Comment (2022-04-19 for -03) Sent
# Internet AD comments for {draft-ietf-v6ops-transition-comparison-03}
CC @ekline

## Comments

An note throughout: consider preferring "transport layer" over "layer-4".

### S2.3, S4.3

* Suggest: s/layer-4 ports/transport layer ports/.

### S3.2

* Suggest: s/layer-4 next-header/transport layer next-header/.

### S3.4

* With respect to the 300 ports x ~4 devices numbers: I think it would be
  an improvement if there were some study that could be cited to back up
  these numbers.

* You might consider noting here that in some jurisdictions the number of
  available ports per subscriber for CGNAT/Large-scale NAT could be set by
  a relevant authority.

  I tried to find a reference to the Belgian ISP regulation limited CGNAT
  deployments to 16 subscribers per public IPv4 address, but I couldn't
  easily find it.  Maybe I'm misremembering something.

  (update) Aha, I see you mention something in S4.2.  Thanks.

* Some text from RFC 6888 might be useful, in terms of requirements for
  sizing CGNATs.

### S4.5.2, S4.5.3

* Probably best to have a citation here for where these numbers come from.

### S4.7

* You might see if RFC 6888 section 4 is worth referring to here.

### S5

* Since the text raises the point, you might explain what sorts of "tricks"
  are needed, and why.

### S8

* I support Roman's recommendation to remove the "bugs proportional to code
  size" text altogether.
Roman Danyliw
(was Discuss) No Objection
Comment (2022-06-16) Sent for earlier
Thank you for addressing my DISCUSS points and some of my COMMENTs.

Thank you to Joe Salowey for the SECDIR review.  I too would have found it useful for a comparative security analysis across the different IPv4aaS techniques.

===
** Section 3.4
   An alternative approximation for the other IPv4aaS technologies, when
   dynamically assignment of addresses is not possible, must ensure
   sufficient number of ports per subscriber.  That means 1,200 ports,
   and typically, it comes to 2,000 ports in many deployments. 

What is the basis of these values?

** Section 4.4.2.

In broadband networks, there are some deployments of 464XLAT, MAP-E
   and MAP-T.  Lw4o6 and DS-Lite have more deployments, with DS-Lite
   being the most common, but lw4o6 taking over in the last years.

   Please refer to Table 2 and Table 3 of [LEN2019] for a limited set of
   deployment information.

Is there a reference for these trends?  They don’t appear to fall out of Table 2 or 3 of [LEN2019].

** Section 4.5.2 and 4.5.3.  Both sections appear to cite real work measurement.  Can a reference or a more detailed explanation of the source be provided.   For example, is the 3/4 vs. 1/4 split in Section 4.5.2 a representative pattern of some kind?

** Section 5.  I don’t follow the intent of this section.  There are no performance results to share.  This text appears to be foreshadowing another draft (draft-lencse-v6ops-transition-benchmarking).  However, this draft is -00 and contains no results.  I recommend removing this section.
Zaheduzzaman Sarker
No Objection
Comment (2022-04-20 for -03) Sent
Thanks for working on this informational document. It helps to get an overview of IPv4aaS technologies and I learned + got reminded number of stuffs while reading this document.

I have following comments/observations, I think addressing them would help improving this document even more.

-  Section 2.1: it has a note regarding mobile network and CLAT. It would be great if this references to some appropriate document ( any architectural description document should do the job here). 

- Section 3.1 : it strongly recommends the MTU in the IPv6-only domain to be "well managed". First, can the "strongly recommends" be replaced by normative text? second and more important, where is the definition of "well managed"? is there any description available or BCP's that we can refer to? To me, the "well managed" here is that we have sufficiently large MTU to support the tunneling and translation. if we are only meaning that feature the we can very well write it instead of asking them to be "well managed". If we mean more then I would recommend to either define what we mean by "well managed" or refer to where this is described.

- Section 4.5.2 and section 4.5.3: these sections refers to some figures from existing deployments. what are the sources of such figures? did the WG run some analysis or tests to derive those data? were they published somewhere? I think it is necessary to refer to the data source or describe the methods on how those data were collected and comprehended to be included here if those figures supposed to help the reader to understand and influence their decisions.
Alvaro Retana Former IESG member
No Objection
No Objection (for -03) Not sent

                            
Lars Eggert Former IESG member
No Objection
No Objection (2022-04-20 for -03) Sent
Section 3.4, paragraph 1, comment:
>    Often it is assumed that each user-device (computer, tablet,
>    smartphone) behind a NAT, could simultaneously use about 300 ports.
>    Typically, in the case of a residential subscriber, there will be a
>    maximum of 4 of those devices in use simultaneously, which means a
>    total of 1,200 ports.

Is there a reference for these numbers? They seem awfully low.

Section 4.2, paragraph 1, comment:
> 4.2.  Tradeoff between Port Number Efficiency and Stateless Operation

I'm missing some text in this section that clearly describes the bad and hard to
debug consequences of assigning too few ports to an end user, and ideally a
recommendation to assign a conservatively large number of ports.

Section 5, paragraph 1, comment:
> 5.  Performance Comparison

This section is entirely about future work, which could IMO be removed before
the RFC is published. (This should go into
I-D.lencse-v6ops-transition-benchmarking.)

The datatracker state does not indicate whether the consensus boilerplate
should be included in this document.

Found terminology that should be reviewed for inclusivity; see
https://www.rfc-editor.org/part2/#inclusive_language for background and more
guidance:

 * Term "native"; alternatives might be "built-in", "fundamental", "ingrained",
   "intrinsic", "original"

Thanks to Dan Romascanu for their General Area Review Team (Gen-ART) review
(https://mailarchive.ietf.org/arch/msg/gen-art/0LD7N9OxJR4KupJKbaISQ9518ng).

-------------------------------------------------------------------------------

All comments below are about very minor potential issues that you may choose to
address in some way - or ignore - as you see fit. Some were flagged by
automated tools (via https://github.com/larseggert/ietf-reviewtool), so there
will likely be some false positives. There is no need to let me know what you
did with these suggestions.

Uncited references: [RFC2119] and [RFC8174].

Paragraph 683, nit:
> rovide network operators with an easy to use reference to assist in selecting
>                                  ^^^^^^^^^^^
It appears that two hyphens are missing.

Paragraph 2448, nit:
> t have been developed makes it time consuming for a network operator to iden
>                                ^^^^^^^^^^^^^^
This word is normally spelled with a hyphen.

Paragraph 6866, nit:
> 275,000 subscribers being served with a only a /22. In the other IPv4aaS tec
>                                       ^
Use "an" instead of "a" if the following word starts with a vowel sound, e.g.
"an article", "an hour".

Paragraph 7145, nit:
> t extreme limit is probably not a very a safe choice. This extremely reduced
>                                 ^^^^^^^^^^^^^
It seems like one article is redundant in this context.

Paragraph 10011, nit:
> time of writing is not available in MacOS. The remaining four solutions are
>                                     ^^^^^
The operating system from Apple is written "macOS".

Paragraph 10205, nit:
> ar networks, as they are neither standardised nor implemented in UE devices.
>                                  ^^^^^^^^^^^^
Do not mix variants of the same word ("standardise" and "standardize") within a
single text.

Paragraph 11483, nit:
>  with a stateless technology alone. Thus a centralized NAPT44 model may be th
>                                     ^^^^
A comma may be missing after the conjunctive/linking adverb "Thus".

Paragraph 11593, nit:
> ns that the traffic flow will cross thru the AFTR, lwAFTR or BR, depending o
>                                     ^^^^
The word "thru" is informal. Consider replacing it with "through".

Paragraph 11654, nit:
> head. However, in the case of those mechanism that use a NAT46 function, in
>                               ^^^^^^^^^^^^^^^
The plural demonstrative "those" does not agree with the singular noun
"mechanism".

Paragraph 12129, nit:
> e format of [RFC2544] including "hard wired" source and destination port num
>                                  ^^^^^^^^^^
This expression is normally spelled as one or with a hyphen.
Martin Duke Former IESG member
No Objection
No Objection (2022-04-21 for -03) Sent
Thanks to Brian Trammell for the tsvart review.

It would be nice to at least point to draft-ietf-tsvwg-natsupp-23 to discuss the issues with SCTP and NAT.
Robert Wilton Former IESG member
No Objection
No Objection (2022-04-21 for -03) Sent
Thanks Dan for the OPSDIR review.

I support Roman's discuss comment regarding comparing security based on the binary object size - I think that there are many more significant factors that come into play (source language, LOC in source, how widely is the technology used/deployed, experience of the developers, is the code being actively maintained, what level of regression/fuzz testing exists) ...

Thank you for this document, I think that it is useful.  Some minor comments/suggestions:

2.1.  464XLAT
   The customer-side translator (CLAT) is located in the customer's
   device, and it performs stateless NAT64 translation [RFC7915] (more
   precisely,

Is NAT64 definitely right here, and not NAT46?

3.4.  IPv4 Pool Size Considerations

   Often it is assumed that each user-device (computer, tablet,
   smartphone) behind a NAT, could simultaneously use about 300 ports.
   Typically, in the case of a residential subscriber, there will be a
   maximum of 4 of those devices in use simultaneously, which means a
   total of 1,200 ports.

Is a maximum of 4 devices in simultaneous use on a residential internet connection realistic?  This feels low to me, and potentially this is likely to be increasing over time.

   If the CGN (in case of DS-Lite) or the CE (in case of lw4o6, MAP-E
   and MAP-T) make use of a 5-tuple for tracking the NAT connections,
   the number of ports required per subscriber can be limited as low as
   4 ports per subscriber.  However, the practical limit depends on the
   desired limit for parallel connections that any single host behind
   the NAT can have to the same address and port in Internet.  Note that
   it is becoming more common that applications use AJAX and similar
   mechanisms, so taking that extreme limit is probably not a very a
   safe choice.

Previously we were talking about 300 - 1200 ports/subscriber.  It wasn't really clear to me how this goes down to just 4 ports per subscriber.

If QUIC/HTTP3 deployment continues to pick up then I would expect that may reduce the number of ports required since it handled better multiplexing of streams.

Finally, I think that having some sort of high level summary (maybe in tabular form) may be beneficial, e.g., comparing relative MTU overheads of the approaches, stateful vs stateless, IPv4 address scalability/usage.

Thanks,
Rob