Query Packets

Resolvers operate by sending query packets to a name server. A query packet contains the following fields:

RFC 1035 defines the query types and query classes. The name server attempts to match the three fields of the query packet to its database. For flexibility, the following wildcard query types are defined:

Type
Description
ANY
Indicates any record type for the domain name.
AXFR
Indicates the query type used by secondary name servers to transfer all records in the zone. (The query class is set to IN when using the AXFR query type.)
MAILB
Indicates any mailbox records for the domain name.

The name server can return the following query responses:

Response
Description
Authoritative
Is returned from a primary or secondary name server. The name server contains all the domain data used to define the zone for the specified query.
BADVERS
The name server received a request that contained a EDNS0 version that was not valid.
Nonauthoritative
Is returned from a cache kept by a name server. The cache does not contain the domain data used to define the zone for the specified query.
Format Error
The name server found an error in the query packet sent by the resolver.
Name Error
No resource records of any type (including wildcards) exist for the domain name specified.
NXDOMAIN (negative)
No records of the requested type were found for the domain name specified.
Not-implemented
The name server does not support the type of query requested.
NOTAUTH
The name server is not authoritative for the zone.
NOTZONE
A dynamic update failed because the name to be updated is not contained within the given zone.
NXRRSET
A dynamic update failed because the prerequisites were not satisfied. The Resource Record set existed when the prerequiste stated it should not.
Referral
Contains the addresses of other name servers that might be able to answer the query. A referral response is returned when a recursive query is not supported, not requested, or cannot be answered because of network connectivity.
Refused
The name server refuses to perform the specified operation. For example, some root name servers limit zone transfers to a set number of IP addresses.
YXDOMAIN
DNAME mapping failed because the new name was too long.
YXRRSET
A dynamic update failed because the prerequisites were not satisfied. The Resource Record set did not exist when the prerequiste stated it should.