Following long discussions, a lot of emails exchanged and rejected drafts about NAT66, the IETF finally approved Network Prefix Translation or NPTv6 in RFC6296!
The NAT66 IETF Mail Archive can be found there:
NPTv6 proposes a lightweight stateless NAT solution that only translates the network prefix and not the full IPv6 address. This is a one to translation that requires no state on the routers and preserves the end-to-end reachability at the network layer.
NPTv6 (RFC6296) introduction clearly states that the IETF does not approve any Network Address Translation technology for IPv6. It provides many warning about the consequences of using Network Prefix Translation (more about the consequences of using NAT in RFC2993) and gives a reference to a document that explains all the IPv6 answers (RFC4864) to get the benefits people are looking for using NAT (RFC5902) without it!
So why was NPTv6 finally approved?
The arguments for NPTv6 are…
essentially Address Independency… and lobbying!
In other words, the end users will not have to renumber their networks when they move to another ISP. IPv6 made the renumbering process really easy but they are some operations that cannot be automated by the IPv6 protocol.
Also, for Multihoming, the best solution is to get a Provider Independent address but you must be eligible and place a request for it. To be eligible you must be multihomed so it should not be difficult but some people argue that NPTv6 will be easier anyway.
Some big companies and network vendors following some of their customers pushed very hard to get NAT66 approved as if IPv6 could not be deployed without any NAT!
Because NPTv6 modifies the IPv6 header, it still breaks IPSec and other applications and has many other drawbacks in common with the stateful NAT.
And you, what do you think?