Subject: Implementing DNS client for support IPv6/IPv4

From: "sasson, shuki" <[email-masked]>
Date: Mon, 17 Nov 2003 16:41:27 -0500

Hi all, I have been reading the RFCs related to extending DNS support for
IPv6 and I am a bit confused.

I understand that there 2 types of RR that may represent IPv6 entries
basically AAAA and A6. These entries will be on to of the previous type A.

On top of that from the Transition Mechanism RFC a DNS resolver may return
only the requested type as an answer. The AAAA RFC states that the all other
IPv4/IPv6 address should be returned on the additional information field.

Our host is aiming on Dual Stack implementation, basically we need to
implement the following 3 requests:

1.	Give up all the addresses IPv6 or IPv4 for a name.
2.	Give us all the IPv4 addresses.
3.	Give us all the IPv6 addresses.

My questions are:

1.	What QTYPE should I use in order to get all the IPv4 and IPv6
addresses A, AAAA, A6? Is that possible through one query or multiple
queries are needed?
2.	What QTYPE should I use in order to get all the IPv6 address AAAA or
A6? Should we apply two separate queries for A6 and For AAAA?
3.	What is the status of A6 since I saw an informational RFC
recommending to stay away from implementing A6 RR:
ftp://ftp.rfc-editor.org/in-notes/rfc3363.txt
<ftp://ftp.rfc-editor.org/in-notes/rfc3363.txt> 

Thanks for your help!

Shuki Sasson 
Principal Engineer, Network Storage Group 
EMC² 
where information lives 
Phone: 508 305 8515 
Cell:     617 834 4258
Pager: 877 919 0794 
Email: [email-masked]

---

From: [email-masked] (Niels Möller)
Date: 17 Nov 2003 23:04:43 +0100

> addresses A, AAAA, A6? Is that possible through one query or multiple

I'n not really a DNS expert, but I've been hacking the adns resolver
to add IPv6 support, and my conclusions are as follows:

  1. Make two separate requests for A and AAAA. Preferably, send both
     in parallel. In theory, you could make a single request with
     QDCOUNT=2, but then bind (and probably other name server software
     as well) will refuse to answer your requests.

  2. Don't bother with A6. A6 is controversial, and not needed for
     IPv6 support in the forseeable future. I doubt (and hope) that A6
     will never be deployed.

If you only want IPv4 addresses, you naturally send only one request,
for A records. If you only want IPv6 addresses, you may want to send
requests for both A and AAAA addresses anyway, and convert any
received A records into "IPv4-mapped IPv6"-addresses to be returned to
the application.

Regards,
/Niels

--------------------------------------------------------------------
IETF IPv6 working group mailing list
[email-masked]
Administrative Requests: https://www1.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------

---

From: Suresh Satapati <[email-masked]>
Date: Mon, 17 Nov 2003 17:36:50 -0800 (PST)

> received A records into "IPv4-mapped IPv6"-addresses to be returned to

I would say, just send AAAA request if you only want IPv6 address.
Do not convert A records into "IPv4-mapped IPv6"-addresses, as mentioned
above.

There are problems w/ using mapped addresses. Refer to:
http://community.roxen.com/developers/idocs/drafts/draft-itojun-v6ops-v4mapped-harmful-02.html

--
Suresh