The Domain Name System (DNS) associates IP addresses with assigned domain names. IANA directs the global allocation of domain names. Globally, DNS forms a hierarchical distributed database based on labels.
DNS records are maintained on DNS servers. Hosts that require the resolution of known domain name into an IP addresses are called resolvers. Once a resolver has mapped an IP address to a domain name, this information may be cached locally. If the resolver's local cache cannot identify the desired address, then a DNS query will be sent to one or more DNS servers. Should any of these servers not be able to resolve the request, each server in turn may redirect the query to higher level DNS server. Such server-to-server queries are called recursive. Ultimately, an unresolved DNS query will arrive at one of thirteen global root servers. Once an address(A) record has been identified, the response returns to the resolver host by way of the chain of servers that transmitted the query. Each server will cache the A record for future use.
In effect, DNS functions as a distributed database. Globally, DNS is subdivided into multiple domains. Each domain can further be divided into subdomains. Authority for DNS resolution can be delegated from the global root level to domain and subdomain levels A DNS zone is defined as the undelegated portion of a domain or subdomain. Each DNS zone must have an authoritative name server with respect to the DNS records in its zone. DNS servers and can also be deployed redundantly, with master-slave relationship for DNS database replication.
Typical DNS queries use UDP port 53. However, if a response is not forthcoming after repeated attempts, the request may be retransmitted on TCP port 53. Also, server-to-server DNS traffic that needs to be reliable utilizes TCP.