Information on domain names and their IP addresses, as well as all the other information distributed via DNS is stored in the memory of name servers as Resource Records (RRs).
A name server (also referred to as a DNS server) loads data into its memory in several ways. Authoritative data are read from files on a disk or obtained via a zone transfer query from another server’s memory. Nonauthoritative data are obtained by the server from other servers’ memory as it answers individual DNS queries.
If a DNS client needs to obtain information from a DNS, it requests RRs from the DNS according to its requirements, i.e., a client can request from a domain server an A type RR with the IP addresses of the particular domain name. A client can be a resolver or a name server that cannot resolve the query on its own.
Each RR has the same structure in DNS protocol. The RR structure is shown in the following figure:
Each RR field...