Domain Name System
Overview
The Domain Name System (DNS) is a hierarchical and decentralized naming system for computers, services, or other resources connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities. A central function is to translate human-friendly hostnames into the numerical IP addresses that networking equipment needs for the purpose of locating and addressing these devices worldwide. An often-used analogy to explain the Domain Name System is that it serves as the "phone book" for the Internet by translating human-friendly computer hostnames into IP addresses.
History
The Domain Name System was created in the early 1980s by Paul Mockapetris and Jon Postel. The two recognized the need for a manageable naming system for domains that were being created at a rapid pace. They developed the DNS to replace the previous naming system, which was a simple text file maintained by the Stanford Research Institute for the Advanced Research Projects Agency Network.
Structure
The Domain Name System is a hierarchical system, with each level providing a specific piece of the overall domain name. The levels of the hierarchy are separated by periods, or "dots". For example, in the domain name "www.example.com", "com" is the top-level domain, "example" is the second-level domain, and "www" is the third-level domain.
Function
The primary function of the DNS is to translate domain names into IP addresses. This is necessary because, although domain names are easier for people to remember, computers or machines access websites based on IP addresses.
DNS Records
A DNS record is a database record used to map a URL to an IP address. DNS records are stored in DNS servers and work to help users connect their websites to the outside world. When the URL is entered into a browser, the DNS server will return the IP address corresponding to that domain name, effectively "resolving" the name to the address.
DNS Servers
DNS servers are the servers that hold the DNS records and perform the translation of domain names to IP addresses. There are several types of DNS servers, including DNS resolvers, root servers, and authoritative servers.
DNS Resolvers
A DNS resolver, or simply resolver, is a server that takes a domain name request from a user, checks its cache for a matching IP, and if it doesn't find one, sends the request to a DNS root server.
DNS Root Servers
A DNS root server is a server that contains the IP addresses of the top-level domain (TLD) servers. It acts as a reference for these servers and is the first step in translating (resolving) human readable host names into IP addresses.
Authoritative DNS Servers
Authoritative DNS servers are the final holders of the IP addresses for a domain. They have the final authority over a domain and are responsible for providing the IP address of the domain being requested.
DNS Security
Security has been a long-standing issue in the Domain Name System. DNS was not originally designed with strong security mechanisms, and as such, has been the target of numerous attacks such as DNS spoofing or cache poisoning. To address these issues, various solutions have been proposed and implemented over the years, including DNSSEC (DNS Security Extensions).
DNSSEC
DNSSEC is a suite of Internet Engineering Task Force (IETF) specifications for securing certain kinds of information provided by the Domain Name System (DNS) as used on Internet Protocol (IP) networks. It is a set of extensions to DNS which provide to DNS clients (resolvers) origin authentication of DNS data, authenticated denial of existence, and data integrity, but not availability or confidentiality.
Conclusion
The Domain Name System is a crucial component of the Internet, providing a way to match names (a website you're seeking) to numbers (the address for the website). Anything connected to the Internet - laptops, tablets, mobile phones, websites - has an Internet Protocol (IP) address made up of numbers. Your favorite website might have an IP address like 64.202.189.170, but how on earth are you expected to remember that? And what if the IP address changes? DNS to the rescue!
See Also
- Internet Protocol Suite - IP Address - Internet Engineering Task Force - ARPANET