Quick comparison of LSNs and NAT64

Hello,

Some people were talking about Large Scale NATs (LSN) or Carrier Grade NATs (CGN) yesterday. Comments included that DS-Lite and NAT64 are basically LSNs and they suffer from all the same problems. I don't think that NAT64 is as bad as other LSNs and here's why:

NAT64 scales much better than NAT44 and NAT444(*)

The trick is with its companion DNS64. If you need more NAT64 capacity, you can just add more NAT64 boxes with unique /96 prefixes around your network and have your DNS64 load-balance traffic to those boxes. You can also map one A record into two AAAA records of different NAT64 boxes, in case that works better with some application protocols.

The smallest granularity of load-balancing easily available with NAT444 is per customer or per customer group. DNS64 allows per flow granularity for load-balancing without even breaking a sweat.

I've been testing NAT64 at home using a public NAT64 trial and generally I've been very happy with it:

http://www.trex.fi/2011/dns64.html

A neat feature I've liked is that I don't have to pass all my traffic via the NAT64 box, and so it doesn't have to be between me and the Internet. NAT44 usually acts as a fuse between me and my Internet.

The biggest downsides I've encountered are:

I. Some streaming websites use IP addresses in their video stream URLs, so DNS64 doesn't get asked and that traffic won't flow via NAT64. Thankfully these are a minority.

II. Networked games usually use some sort of a tracker to help clients find games to connect to, and those only use plain IP addresses too. And some games only query for A records, and thus can't benefit from DNS64 either.

So I guess the optimal way to stretch the lifetime of IPv4 while still moving toward IPv6 all the time would be to dual-stack customers and deploy both NAT64/DNS64 and some other LSN which can handle the two downsides above. All the traffic that you can shift to NAT64 means that your other LSN (which doesn't scale as well) can handle that much more traffic before becoming a bottleneck. And naturally, you'll want to shift all that youtube/facebook/whatever traffic to native IPv6 to help both NAT boxes cope.

My 2 cents delivered,

Hello,

Some people were talking about Large Scale NATs (LSN) or Carrier Grade
NATs (CGN) yesterday. Comments included that DS-Lite and NAT64 are
basically LSNs and they suffer from all the same problems. I don't think
that NAT64 is as bad as other LSNs and here's why:

NAT64 scales much better than NAT44 and NAT444(*)

The trick is with its companion DNS64. If you need more NAT64 capacity,
you can just add more NAT64 boxes with unique /96 prefixes around your
network and have your DNS64 load-balance traffic to those boxes. You can
also map one A record into two AAAA records of different NAT64 boxes, in
case that works better with some application protocols.

You can add more capacity with DS-Lite as well though it does take a while
for the DHCP option to be refreshed without push support.

The smallest granularity of load-balancing easily available with NAT444
is per customer or per customer group. DNS64 allows per flow granularity
for load-balancing without even breaking a sweat.

I've been testing NAT64 at home using a public NAT64 trial and generally
I've been very happy with it:

TREX - Public Service: DNS64 Name Servers

A neat feature I've liked is that I don't have to pass all my traffic
via the NAT64 box, and so it doesn't have to be between me and the
Internet. NAT44 usually acts as a fuse between me and my Internet.

You don't have to pass all the traffic through the AFTR box or the
LSN when dual stacked either. The AFTR box can be on the other
side of the world or out sourced if you want it to be. The same
can be done with NAT64.

The biggest downsides I've encountered are:

I. Some streaming websites use IP addresses in their video stream
URLs, so DNS64 doesn't get asked and that traffic won't flow via NAT64.
Thankfully these are a minority.

Not a problem with DS-Lite or NAT444.

II. Networked games usually use some sort of a tracker to help clients
find games to connect to, and those only use plain IP addresses too. And
some games only query for A records, and thus can't benefit from DNS64
either.

Not a problem with DS-Lite or NAT444

> Hello,
>
> Some people were talking about Large Scale NATs (LSN) or Carrier Grade
> NATs (CGN) yesterday. Comments included that DS-Lite and NAT64 are
> basically LSNs and they suffer from all the same problems. I don't think
> that NAT64 is as bad as other LSNs and here's why:
>
> NAT64 scales much better than NAT44 and NAT444(*)
>
> The trick is with its companion DNS64. If you need more NAT64 capacity,
> you can just add more NAT64 boxes with unique /96 prefixes around your
> network and have your DNS64 load-balance traffic to those boxes. You can
> also map one A record into two AAAA records of different NAT64 boxes, in
> case that works better with some application protocols.

You can add more capacity with DS-Lite as well though it does take a while
for the DHCP option to be refreshed without push support.

> The smallest granularity of load-balancing easily available with NAT444
> is per customer or per customer group. DNS64 allows per flow granularity
> for load-balancing without even breaking a sweat.
>
> I've been testing NAT64 at home using a public NAT64 trial and generally
> I've been very happy with it:
>
> TREX - Public Service: DNS64 Name Servers
>
> A neat feature I've liked is that I don't have to pass all my traffic
> via the NAT64 box, and so it doesn't have to be between me and the
> Internet. NAT44 usually acts as a fuse between me and my Internet.

You don't have to pass all the traffic through the AFTR box or the
LSN when dual stacked either. The AFTR box can be on the other
side of the world or out sourced if you want it to be. The same
can be done with NAT64.

> The biggest downsides I've encountered are:
>
> I. Some streaming websites use IP addresses in their video stream
> URLs, so DNS64 doesn't get asked and that traffic won't flow via NAT64.
> Thankfully these are a minority.

Not a problem with DS-Lite or NAT444.

> II. Networked games usually use some sort of a tracker to help clients
> find games to connect to, and those only use plain IP addresses too. And
> some games only query for A records, and thus can't benefit from DNS64
> either.

Not a problem with DS-Lite or NAT444

> So I guess the optimal way to stretch the lifetime of IPv4 while still
> moving toward IPv6 all the time would be to dual-stack customers and
> deploy both NAT64/DNS64 and some other LSN which can handle the two
> downsides above. All the traffic that you can shift to NAT64 means that
> your other LSN (which doesn't scale as well) can handle that much more
> traffic before becoming a bottleneck. And naturally, you'll want to
> shift all that youtube/facebook/whatever traffic to native IPv6 to help
> both NAT boxes cope.
>
> My 2 cents delivered,
>
> --
> Aleksi Suhonen
>
> () ascii ribbon campaign
> /\ support plain text e-mail
>
> (*) NAT44 means the normal NAT from private IPv4 addresses to public
> IPv4 addresses. NAT444 means that there are two layers of NAT boxes:
> usually one at customer premises and the other at the ISP, doing LSN.
>

All good and accurate info. I would just restate that nat64 unlike nat444
does not need to be "on path", this is what drives its improved scaling over
nat444.

Also, unlike ds-lite, nat64 works without any special client, such as the b4
function in the ds-lite architecture. Any fully functional ipv6 system such
as win7 can work out of the box (ipv4 only apps being the exception)

Finally, ds-lite and nat444 are just crutches for ipv4. Nat64 pushes ipv6 by
making ipv6 end to end and forcing applications to be AF agnostic .... as
where the others enable ipv4 without any backpressure.

Each solution fits well for some set of constraints and objectives

Cb

A handy/succinct phrase I often use for that (in total agreement, of course) is:
   "NAT444 is NOT an IPv6 Transition Technology".

Using an "anycast"-flavored model, where all DNS64 servers synthesize
using the same prefix[es] and all NAT64 gateways are otherwise out of
the critical path (injecting said prefix[es]), is indeed a highly
scalable methodology. I've been deploying as such for the last ~6mo
with great success.

What was surprising was how Enterprise-applicable this has been in
"v6-only access client" trials. The lack of need for gaming,
streaming radio/media (i.e., "hard-coded IPv4 literals"), and desktop
VoIP/P2P apps have turned out exceedingly well.

-Jeff

Hi,

> Some people were talking about Large Scale NATs (LSN) or Carrier Grade
> NATs (CGN) yesterday. Comments included that DS-Lite and NAT64 are
> basically LSNs and they suffer from all the same problems. I don't think
> that NAT64 is as bad as other LSNs and here's why:

My statement is that a *pure* ipv6-only network, in the sense you have
0 NAT:ed reachability to the IPv4 Internet, will only attract people
like me. :slight_smile:

All good and accurate info. I would just restate that nat64 unlike nat444
does not need to be "on path", this is what drives its improved scaling over
nat444.

Also, unlike ds-lite, nat64 works without any special client, such as the b4
function in the ds-lite architecture. Any fully functional ipv6 system such
as win7 can work out of the box (ipv4 only apps being the exception)

Finally, ds-lite and nat444 are just crutches for ipv4. Nat64 pushes ipv6 by
making ipv6 end to end and forcing applications to be AF agnostic .... as
where the others enable ipv4 without any backpressure.

You are absolutely correct here.

The proper solution is indeed to backtrack from the end-goal, which is
to have only one stack in the network.

Thanks,
Martin

Indeed. Unfortunately there's no good way to support v6-only clients in
an environment, where dual stacked endpoints do exist as well, see
RFC6147 (DNS64) ch. 6.3.2.

We still need to find some solution to that problem.

Best regards,
Daniel

Indeed. Unfortunately there's no good way to support v6-only clients in
an environment, where dual stacked endpoints do exist as well, see
RFC6147 (DNS64) ch. 6.3.2.

We still need to find some solution to that problem.

We've been using two workarounds:
1. Separate DNS resolvers (both BIND 9.8; one DNS64 and the other
DNS6). Have the client provisioning system assign the appropriate DNS
server IPs (dual-stack to anycast set 1, v6-only to anycast set 2).
2. Use range-specific views to determine whether or not to apply DNS64
(this setup isn't standard BIND, though).

One is a kludge, and the other is vendor-specific, but they work.
-Jeff

--000e0ce0b4eaf1531104a5486aed
Content-Type: text/plain; charset=ISO-8859-1

>
>
> > Hello,
> >
> > Some people were talking about Large Scale NATs (LSN) or Carrier Grade
> > NATs (CGN) yesterday. Comments included that DS-Lite and NAT64 are
> > basically LSNs and they suffer from all the same problems. I don't think
> > that NAT64 is as bad as other LSNs and here's why:
> >
> > NAT64 scales much better than NAT44 and NAT444(*)
> >
> > The trick is with its companion DNS64. If you need more NAT64 capacity,
> > you can just add more NAT64 boxes with unique /96 prefixes around your
> > network and have your DNS64 load-balance traffic to those boxes. You can
> > also map one A record into two AAAA records of different NAT64 boxes, in
> > case that works better with some application protocols.
>
> You can add more capacity with DS-Lite as well though it does take a while
> for the DHCP option to be refreshed without push support.
>
> > The smallest granularity of load-balancing easily available with NAT444
> > is per customer or per customer group. DNS64 allows per flow granularity
> > for load-balancing without even breaking a sweat.
> >
> > I've been testing NAT64 at home using a public NAT64 trial and generally
> > I've been very happy with it:
> >
> > TREX - Public Service: DNS64 Name Servers
> >
> > A neat feature I've liked is that I don't have to pass all my traffic
> > via the NAT64 box, and so it doesn't have to be between me and the
> > Internet. NAT44 usually acts as a fuse between me and my Internet.
>
> You don't have to pass all the traffic through the AFTR box or the
> LSN when dual stacked either. The AFTR box can be on the other
> side of the world or out sourced if you want it to be. The same
> can be done with NAT64.
>
> > The biggest downsides I've encountered are:
> >
> > I. Some streaming websites use IP addresses in their video stream
> > URLs, so DNS64 doesn't get asked and that traffic won't flow via NAT64.
> > Thankfully these are a minority.
>
> Not a problem with DS-Lite or NAT444.
>
> > II. Networked games usually use some sort of a tracker to help clients
> > find games to connect to, and those only use plain IP addresses too. And
> > some games only query for A records, and thus can't benefit from DNS64
> > either.
>
> Not a problem with DS-Lite or NAT444
>
> > So I guess the optimal way to stretch the lifetime of IPv4 while still
> > moving toward IPv6 all the time would be to dual-stack customers and
> > deploy both NAT64/DNS64 and some other LSN which can handle the two
> > downsides above. All the traffic that you can shift to NAT64 means that
> > your other LSN (which doesn't scale as well) can handle that much more
> > traffic before becoming a bottleneck. And naturally, you'll want to
> > shift all that youtube/facebook/whatever traffic to native IPv6 to help
> > both NAT boxes cope.
> >
> > My 2 cents delivered,
> >
> > --
> > Aleksi Suhonen
> >
> > () ascii ribbon campaign
> > /\ support plain text e-mail
> >
> > (*) NAT44 means the normal NAT from private IPv4 addresses to public
> > IPv4 addresses. NAT444 means that there are two layers of NAT boxes:
> > usually one at customer premises and the other at the ISP, doing LSN.
> >

All good and accurate info. I would just restate that nat64 unlike nat444
does not need to be "on path", this is what drives its improved scaling over
nat444.

NAT44 only needs to be on the IPv4 path. It does NOT need to be
on the IPv6 path. Similarly NAT64 and AFTR need to be on the IPv4
path not the IPv6 path.

Also, unlike ds-lite, nat64 works without any special client, such as the b4
function in the ds-lite architecture. Any fully functional ipv6 system such
as win7 can work out of the box (ipv4 only apps being the exception)

No. It needs a specialised nameserver with DNS64 support, which
prevents machines running there own nameserver until they get such
a nameserver and get the prefix information to configure the DNS64
component.

As for the B4, I can manually configure that on 10 year old boxes. It's
basically a IPv4 in IPv6 tunnel.

Finally, ds-lite and nat444 are just crutches for ipv4. Nat64 pushes ipv6 by
making ipv6 end to end and forcing applications to be AF agnostic .... as
where the others enable ipv4 without any backpressure.

DS-lite and NAT444 don't break existing applications. If you have a green
field deployment the limitations of NAT64/DNS64 can often be overlooked.
When you are deploying into a exist IPv4 network you don't have the luxury
of breaking more existing applications that is absolutely necessary.

Not for SLAAC environments and others where there is no mandatory
endpoint registration. E.g. residential LANs.

Best regards,
Daniel

DS-lite and NAT444 don't break existing applications.

They do, to different degrees. There is plenty of evidence for that.

> Each solution fits well for some set of constraints and objectives

Pick your poison. :slight_smile:

Best regards,
Daniel