Read ANY as some or all, not a complete inventory
01A DNS question has a query type, QTYPE. ANY is the common name for type 255; it is a meta-query, not a promise to list every kind of record.
A separate follow-up asks QTYPE=AAAA to obtain IPv6 address information through ordinary DNS processing. This is an application fallback example, not a mandatory retry schedule.
Source for this drawing: RFC 8482 · Read RFC section 1.1 ↗
New to this? Start hereA quick picture + helpful background
A message needs an address.
Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.
Helpful first, if these ideas are unfamiliar
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
Ask for the record type you actually need when a complete ANY answer cannot be assumed.
- A resource record set, or RRset, groups records with the same owner name, type and class. Two A address records form one A RRset, not two types.
- RFC 8482 describes optional behavior for existing QNAMEs (queried names), QCLASS=IN (Internet class) and QTYPE=ANY. Other normal DNS algorithms still apply.
- ANY has legitimate debugging uses, but applications expecting all records should provide a fallback using the needed explicit query types. A smaller response can also reduce UDP reflection amplification.
All names and addresses are fictional. The illustrated zone has A (IPv4 addresses), AAAA (IPv6 addresses) and TXT (text) RRsets. Absence of a type from an ANY response is not proof that the type does not exist. The RFC does not define new handling for explicit RRSIG queries.
Read the RFC section ↗