[dns-operations] Signaling client protocol to authority

Jim Reid jim at rfc1035.com
Sun Jan 16 19:10:58 UTC 2011

On 16 Jan 2011, at 13:09, Patrick W. Gilmore wrote:

> Are there any ideas or efforts for a recursive NS to signal the  
> authoritative NS whether the client used v4 or v6 to request the  
> record?

Some DNS people consider this concept an Evil and/or Stupid DNS Trick  
and a very bad idea.

> We already have a suggestion to signal the client IP address,

I thought/hoped the authors of that withdrew the I-D?

> signaling the protocol the client used seems even easier.  So it  
> shouldn't be too difficult. Right?

Just because something isn't "too difficult" doesn't make it worth  
implementing. Or useful. Or even a good idea. IMO there are  
essentially three reasons why it's a bad (and pointless) idea to tell  
authoritative servers if the end client used IPv6 for its query or not.

First, what is the authoritative server expected to do with that  
information and how would this be implemented and deployed in the  
installed base? What about backwards compatibility? You seem to be  
hinting you'd like authoritative servers to hand out different answers  
depending on whether this hypothetical flag is set or not. That'll  
surely end in tears.

Second, just because an end client uses IPv6 to make a query it  
doesn't follow that the application which initiated the lookup is only  
interested in IPv6 data or prefers IPv6-specific answers. This also  
holds for IPv4 data and queries over IPv4. See Section 1.2 of RFC4472.

Third, there can be more than just a single recursive resolver in the  
path between the edge client and the authoritative server. [Think  
forwarding servers, load balancers, DNS relays or proxies in CPE, etc,  
etc.] Given past and current examples of erratic EDNS0 support in some  
of this deployed crippleware, it's unlikely these things can be made  
to honour the settings of this v6 bit. In fact they may well interfere  
with it. So the info that ends up at the authoritative server isn't  
necessarily what the edge client sent. It's likely legacy firmware  
will throw away queries (or responses) with this bit set because it  
does not recognise them as valid DNS packets. These issues will of  
course get worse the longer the resolving chain is because of the  
extra opportunities to introduce something broken into the lookup path.

More information about the dns-operations mailing list