In this article we will talk about DNS Resource Record types. At the last part of this article we will also discuss about the anatomy of Domain Name. DNS in practice operates with a set of defined resource record types. These records allow different kinds of DNS resolutions to take place. But there are also lot of resource record types that only serve very specialized purposes. Here we will try to cover very basic of them.
DNS Resource Record Types | The Most Basic Records
DNS – A Records
The most common DNS resource record is an A Record. This A Record maps a certain domain name to certain IPv4 IP address. In our previous article about Name Resolution the DNS resolver was asking for the A record for a domain name. In most basic cases a single A Record maps a single domain name. But a single Domain Name can also have multiple A records. This allows for a technique name as DNS Round Robin. This technique balances web traffic across multiple IPs.
For example microsoft is a large company, therefore its website microsoft.com likely sees a lot of traffic. To help balance this traffic across multiple servers, we configure four A records for microsoft.com at the authoritative name server for microsoft.com domain. Suppose IPs that we use for this case are 10.1.1.1 to 10.1.1.4. So when a resolver performs a lookup of microsoft.com, then all four IPs would be returned in the order first configured 10.1.1.1, then 10.1.1.2, then 10.1.1.4, and finally 10.1.1.4. The Computer that ask for DNS resolving would know that it should try to use the first entry, 10.1.1.1. But it also knows all four just in case a connection to 10.1.1.1 fails. Hence the next computer that asks for resolving microsoft.com would also receive all four IPs, but in order that 10.1.1.2 first, then 10.1.1.3, .. finally 10.1.1.1 would be last on that list.
This pattern will continue for every DNS resolution attempt, cycling through all of A records for balancing the traffic across these IPs. This is the basic concept that how DNS Round Robin logic works.
Quad A Record – AAAA
This is just another resource record type that is becoming more and popular. This quad A record is similar to A Record, but it returns IPv6 address instead of IPv4 address.
CNAME Record | Canonical Name Record
This CNAME record redirects traffic from one domain name to another domain name. Consider that microsoft runs their web server at www.microsoft.com But they also want make sure that anyone that enters just microsoft.com will also get properly get redirected. So by configuring a CNAME record for microsoft.com that resolves to www.microsoft.com. The resolving clint would then know to perform another resolution for www.microsoft.com. Hence the DNS resolver will return the IP from second resolution.
The CNAME record is really helpful, because it ensures that all we need to change the canonical IP address of a server in just one place. Which means without CNAME if the underline IP address ever changes, we need to change the A Record for both microsoft.com and www.microsoft.com. But by setting up a CNAME that points microsoft.com is at www.microsoft.com we only have to change the A record for www.microsoft.com. Hence it ensures that client pointing at either domain would get the new IP address.
MX Record | Mail Exchange Record
MX Record is another resource record type. which stands for Mail Exchange. This resource Record delivers email to the correct server. Because many companies run their mail servers and web servers on different machines with different IPs. So MX ensures that email gets delivered to company’s email server and web traffic would get delivered to their web server.
SRV Record | Service Record
SRV Record is very similar to MX record, except that SRV Record returns the specifics of many different service types. For example SRV often used to return the records of services like CALDAV, or calendar and scheduling services.
TXT Record | Text Record
This resource record type points some associating descriptive text with a domain name for human consumption. The idea here is that one can leave notes or messages that humans can discover and read to learn more about arbitrary specifics of any network.But over the years as the internet and services that run on it have become more and more complex, the text record has been increasingly used to convey additional data intended other computer to process.
Since the text record has field that is entirely free form, engineers have figured out ways to use it to communicate data (such as configuration preferences about network services) between Systems like DNS.
There are lots of other DNS resource record types in common-use like the NS or SOA records which defines authority information about DNS zones.
Anatomy Of Domain Name
Any Domain Name has three primary parts that all serve for specific purposes. Consider our domain name www.microsoft.com that has three parts each part of it separated by period. Here the last part of a domain name refers to as Top Level Domain or TLD. In this it is the .com portion of the domain name.
There are only a certain restricted number of defined TLDs available. Although this number has been growing a lot in recent years. The most common TLDs we are familiar with are .com, .net, .edu, .org an so on. There are also some country specific TLDs are .bd for Bangladesh, .cn for China, .uk for United Kingdom etc. Due to the growth of internet, many TLDs becomes very crowded. Therefore today a number of vanity TLDs are also available. Such as .museum, .pizza etc.
A non-profit organization name as ICNN responsible for Administration and definition of TLD. It is a sister organization of IANA, and together they define and control both global IP address Spaces, along with global DNS system.
The Second part of a Domain Name refers to as domain. In our example microsoft is the domain. Domain demarcates where control moves from TLD Name Server to an Authoritative Name Server. This is typically under the control of an independent organization, or someone outside of ICANN.
In our example the www portion refers to as subdomain. This subdomain can also be referred to as hostname, if its been assigned to only one host. Combining all parts of a Domain Name together it establishes the FQDN, or Fully Qualified Domain Name. One can freely choose subdomain who has bought a domain name from a registrar. A registrar is just a company that has an agreement with ICANN to sell unregistered domain name.
Technically one can have lots of subdomains. For example, host.sub.subdomain.domain.com is completely valid. But we can rarely see a FQDN might have that many levels. Although DNS can technically support upto 127 levels of domain in total for a single fully qualified domain name. The are some other restriction for specifying a domain name like, each individual section can only have 63 characters, and a complete FQDN can have a total 255 characters.