On 26 jul 2008, at 17:56, Iljitsch van Beijnum wrote:

There has been some discussion whether it would be a good idea to use the IPv4 mapped IPv6 prefix (::ffff:0:0/96) or the IPv4 compatible prefix (::/96) as the prefix used for a NAT-PT/NAT64 translator that lets IPv6 clients talk to IPv4 servers.

We haven't been able to run the full set of tests yet, but here are preliminary results which may or may not be useful in the discussions the coming week.

IPv4-compatible IPv6 addresses (::/96) in AAAA records:

It looks like at least several systems (including MacOS and Linux) will send packets towards these addresses. Linux seems to prefer normal AAAA records, and we expect Windows to do the same because of the RFC 3484 rules. However, MacOS seems to round robin between AAAA records with normal addresses and compatible addresses.

IPv4-mapped IPv6 addresses (::ffff:0:0/96) in AAAA records:

It looks like at least several systems (including MacOS and Linux) will at some point go from treating IPv4-mapped addresses as IPv6 addresses to treating them as IPv4 addresses. So they generate IPv4 packets on dual stack connected systems. These addresses didn't show up in any IPv6 packets in our (limited) tests.

Linux seems to favor normal IPv6 addresses (if available) over mapped addresses. On MacOS (at least) these addresses won't work with IPv4- only connectivity because the resolver library doesn't perform AAAA lookups when there is no IPv6 reachability. With dual stack connectivity, MacOS consistently chooses the AAAA records and most of the time, but not always, the mapped addresses which generate IPv4 packets.

Conclusions: using the v4-mapped prefix requires changes for at least some OSes, and probably all or most. Using the v4-compatible prefix has the advantage that RFC 3484 compatible systems prefer real/normal IPv6 addresses, but then this would be true for any prefix that is "far" from the currently used global unicast space (2000::/3), i.e., in ::/3 or 4000:/2.

Based on this, I'd say that it doesn't make much sense to use either of these prefixes for NAT64, but either to use addresses out of service provider ranges, which has the downside that configuration is necessary, or define a new well-known, non-globally-routable prefix for this purpose which should work without configuration or host changes (and be less preferred than real AAAA records on RFC 3484 compatible systems, which is most of them apart from MacOS) and additional benefits can be gained by changes in the host OS and/or applications.

If anyone is interested in further tests (we don't have any data for Windows Vista yet) or more detailed tests, see my original message from saturday and/or contact me directly.
_______________________________________________
Int-area mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/int-area

Reply via email to