What is DNS?
DNS, Domain Name System – resolves domain names into numeral IP addresses. Often dubbed the “phonebook of the Internet”.
History of DNS
DNS was created in 1983. Before the invention of the Internet as we know we it, we had to assign addresses manually. During the days of ARPANET (precursor to the Internet), computers and their hostnames were added to a text file known as HOSTS.TXT – in fact, to add your computer to the list, you had to contact someone via phone and they would add it to the list. Of course, this worked fine for smaller networks, but it immediately became a pain when the network grew larger and larger… Imagine the introduction of the INTERNET…millions and millions of domains, hostnames and IP addresses to juggle. Manual input was *not* feasible – hello, scalability issues here! and synchronization issues here! and automation issues here! LOL!
HOSTS.TXT files are still used today in the DNS system; in fact, your machine will refer to it’s HOSTS.TXT file before reaching out to it’s DNS resolver server. HOSTS.TXT files will be empty (save for comments, instructions) by default. It’s up to the user or administrator to manually input entries into the HOSTS file to populate it with hostname + IP address mappings.
BUT! Usually, hostname resolutions are handled dynamically (using the DNS resolution system you’re most likely familiar with) because the HOSTS file is typically left empty. The HOSTS file is used for special cases or troubleshooting scenarios where you want to override DNS resolution behavior for specific domains or set up custom mappings for testing purposes.
HOSTS.TXT is usually compromised in DNS spoofing scams!
C:\Windows\System32\drivers\etc\hosts
Paul Mockapetris was tasked to create a new system that would work with the TCP/IP protocol – and thus, DNS was created! Woo-hoo! The DNS system was scalable, decentralized and hierarchal.
DNS Hierarchy
Our DNS servers resolve domain inquires in a strategic + sequential hierarchal manner for efficiency, scalability and manageability. Let’s explore the hierarchy together.
DNS ROOT SERVERS
Highest level in the DNS tree – it answers inquiries within the root zone*, which contains TLD (top level domain) servers. There are 13 root DNS servers, each identified A-M. These servers are located around the world and by different organizations (13 IP addresses are used to query the hundreds of root servers available).
Every DNS resolver has a list of the 13 IP root server addresses built into its software. Even custom DNS/local DNS servers will have the root hints installed into their software. Manual setup is *rarely* required – isn’t that handy?
Due to the HUNDREDS of root servers that exist due to redundancy and load balancing reasons, a root server will RARELY be down. Even if one was, your resolver can simply ask the remaining 12. Root servers are RELAIBLE with a capital R!