DNS: Domain Name System
Domain Name System (DNS) translates domain names to an IP (Internet Protocol) addresses. It helps us, as humans, navigate the internet with ease. Websites are hosted on various locations all over the internet. While web browsers know the locations as IP addresses, we know them as domain names, a more human-readable format.
Components of a domain name (also called a hostname) have a hierarchy.
- Top-level domain (TLD): The last part of a web address. Common examples are .com or .org and newer ones include .men or .academy. This part can be referred to as domain name extensions as well.
- Second-level Domain: It precedes the top-level domain and is the most customizable part of a web address. As the name gives away, it comes second in the domain name hierarchy. Sometimes referred to as mid-level domain.
- Third-level Domain Name: It precedes the second-level domain in a web address and is also customizable. Also known as a sub domain, this is used to organize a website with dedicated areas for specific purposes. It helps take the load off the main landing page if there are dedicated servers for the third-level domain.
Often known as the phone book of the internet, the naming system was designed to facilitate communication between devices and services connected to the internet or a private network. The purpose is name resolution, to resolve a fully qualified domain name (FQDN) to an IP address.
When a client device needs to go to a website, it sends out a DNS query or request. A DNS resolver is the part of a client device that facilitates DNS requests. A DNS server is an external computer that stores DNS records and communicates with other servers. Resolvers and servers work together to provide the relevant records for a query.
There are three types of queries.
- Recursive query: Occurs between a client device and local DNS server or resolver. The client demands a name resolution and the server must provide an IP address. If the server can’t provide an answer, then it starts an iterative query.
- Iterative query: Occurs between a local DNS server and other DNS servers. The local server does not demand a name resolution. That means the other servers can respond either with an IP address or a referral to another server.
- Non-recursive query: Occurs when the local DNS server has the IP address in its cache. That means it can immediate return a response without the need for additional queries.
An iterative query starts with the local DNS server querying the root name server. The root server have a large role because it is responsible for the first step in name resolution.
Queries, also known as DNS lookups, are happening all the time. Some of these activities take place within your network and that’s considered internal DNS. In a business setting, there is a dedicated internal DNS server that resolves all of the defined points inside the network. External DNS takes place outside of the network and relies on external servers for resolutions.
The response to any query is a DNS record and there are also many types of records. Here are examples of common ones:
- A Record: Short for Address Mapping Record, it contains the hostname and correlating IPv4 address. Also known as a host record.
- AAAA record: It contains the hostname and the correlating IPv6 address.
- CNAME record: Short for Canonical Name Record, it contains an alias for a hostname. A CNAME Record points to an A Record plus contain other CNAME Records.
- MX record: Short for Mail Exchanger Record, it identifies the SMTP email server that accepts emails for a specific domain.
- Servers cache DNS responses to help resolve queries efficiently. Records include a time to live (TTL) which indicates a period of time the response can be stored. This acts as a short-term memory for the server. Once the TTL expires, the server needs to resolve the query again.
DNS is commonly referred to in the term DDI, which stands for DNS, DHCP, and IPAM. DDI is used to describe the integration of all three technologies in a single solution. Together they provide core network services and enable communications across all points of the network.