On 31Aug19, Wes Hardaker allegedly wrote: > Naveen Kottapalli <naveen.sa...@gmail.com> writes: > > > Can one of you tell why would a v4 client send AAAA query or a by client > > send a > > A query when the resolved address cannot be used? > > As others have pointed out it's very common. > > As an example, I looked at all the requests arriving to a root server in > the DITL data for 2019-04-10 and found:
> So you can see that of all the ipv4 clients, 53% were asking for A Ahh. But are you both talking about the same "clients"? I assume Naveen is asking about clients as in applications on end-point devices whereas your data is talking about clients as in recursive resolvers asking on behalf of applications on end-point devices. Your data is showing which transports the recursive resolvers prefer not which transports the end-point devices have available to them. Even if there was a correlation between the two (which I don't believe there is in general) it still doesn't tell you whether that end-point device has both transports available or not - it only shows which they prefer. I think the answer is two-fold. First there is no standardized or easy way for an application or a stub library to determine which transports are available without actually trying them. As a consequence programmers, being a naturally indolent mob, gravitate to the simplest and easiest thing to do which is to ask for all addresses then iterate over them until they find one that works. Using 'getaddrinfo' in perl tends to produce that outcome as does net.Dial("tcp") in Go. Second, as others have pointed out, almost all systems these days have at least a loopback ipv6 address so well-written applications really must ask for both types just in case ::1 comes back as an answer (or the only answer!). What would be telling from those stats is how many clients are still only asking for v4 addresses when they presumably have an interface with a v6 address as that probably indicates legacy code using pre-ipv6 APIs (or poorly written modern code) which specifically asks for v4-only addresses. Having said all that, there are still a scary number of IoT-type devices that are v4-only; webcams and VOIP phones come to mind. But code in those things are so poorly cobbled together that expecting rational DNS behavior is probably asking too much. Mark. _______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop