5

Why was NAT64 developed? What does it do that can't be done by deploying IPv6 + NAT444, and allocating your customers a (public) IPv6 and a (private) IPv4 address (behind a shared public IPv4 address)?

One of the drawbacks of NAT444 (pointed out in the comments) is that inbound connections require the customer to get the ISP to somehow map it for them. But NAT64 has the same issue for inbound IPv4 connections (AFAIK) so there is no improvement in this regard.

9
  • 1
    You mean dual stack, native IPv6 and NAT for IPv4, don't you?
    – Zac67
    Jul 12, 2019 at 19:29
  • I read this as: NAT44 is already widely implemented and used today. As ISP's roll out IPv6 support, their users will already be dual-stack, so what would be the point in dropping IPv4 completely, and going with IPv6+NAT64 considering the added complexities and incompatibilities with NAT64.
    – caesay
    Jul 12, 2019 at 19:34
  • 1
    @RonMaupin NAT64 also requires at least one public IPv4 address, right? So in what way is this different to NAT44, aside from the fact that consumer hardware would not be required to support dual stack?
    – caesay
    Jul 12, 2019 at 19:55
  • 2
    That will break most businesses and many home networks. It is now called CGN (Carrier-Grade NAT), and it has become common for residential networks (off-topic here), and there are many questions about it on Super User because it breaks things. Ports can no longer be forwarded because the ISP would need to do that on the public/private NAT, but which customer gets to say, "Forward Port X to me," at the expense of any other customer on the same public address getting traffic for that port?
    – Ron Maupin
    Jul 13, 2019 at 23:15
  • 1
    Regarding the "incompatibilities with NAT64" see this presentation from the last RIPE Meeting: ripe78.ripe.net/wp-content/uploads/presentations/… There aren't many.
    – user2084
    Jul 14, 2019 at 7:45

1 Answer 1

6

What it does is simplify your network administration, particularly for large high-traffic networks.

  • Running dual stack means administering two seperate IP allocations for every network. Running IPv6 with NAT64 means running only one.
  • Dual stack networks can be a pain to debug, it can cause a lot of confusion if one protocol is working, but the other is not.
  • Assignment of users to NAT44s must be managed at the routing level. This is problematic for a couple of reasons, firstly it potentially means routing based on source rather than destination, which is not really what routers are designed to do. Secondly it means there is no way to gracefully move load around or "drain" a NAT for maintinance. Assignment of users to NAT64s on the other hand can be managed through DNS, which makes it much easier to gracefully move load around.
  • If you are very large then you may not have enough private addresses to give every customer a unique one. So not only do you have to manage private V4, you have to manage overlapping private v4.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.