Resolvers

TCP/IP provides three programs for interactively querying a name server:
  • NSLOOKUP
  • DIG
  • A CMS command interface (CMSRESOL)

For more information about these programs, see NSLOOKUP—Querying Name Servers, DIG—Querying Name Servers, and CMSRESOL—Resolver and Name Server.

Programs that query a name server are called resolvers. Because many TCP/IP applications need to query the name server, a set of routines is usually provided for application programmers to perform queries. Under z/VM, these routines are available in the TCP/IP application programming interface (API) for each supported language.

Resolvers operate by sending query packets to a name server, either over the network or to the local name server.

A query packet contains the following fields:
  • a domain name
  • a query type
  • a query class
Resource Records lists valid query class (network class) and query type (data type) records. The name server attempts to match the three fields of the query packet to its database.
The name server can return the following query responses:
Response
Description
Authoritative
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.
Nonauthoritative
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.
Referral
Contains the addresses of other name servers that can 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.
Negative
Indicates that no records of the requested type were found for the domain name specified, if returned from an authoritative name server.
Name Error
Indicates that no resource records of any type (including wildcards) exist for the domain name specified.
Format Error
Indicates that the name server found an error in the query packet sent by the resolver.
Not-implemented
Indicates that the name server does not support the type of query requested.
Refused
Indicates that 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.
Data from a name server is stored and distributed in a format known as a resource record. Resource record fields are described in detail in Resource Records. Each response from a name server can contain several resource records that can contain a variety of information. The format of a response is defined in RFC 1035, and includes the following sections:
  • A question section, echoing the query for which the response is returned.
  • An answer section, containing resource records matching the query.
  • An additional section, containing resource records that do not match the query, but might provide useful information for the client. For example, the response to a query for the host name of a name server for a specific zone includes the internet address of that name server in the additional section.
  • An authority section, containing information specific to the type of response made to the query. If a referral is returned, this section contains the domain names of name servers that could provide an authoritative answer. If a negative response is returned indicating the name does not exist, this section contains a Start Of Authority (SOA) record defining the zone of authority of the responding name server.