Domain Name System (DNS)
Hierarchical and distributed naming system for computers, services, and other resources in the internet or other Internet Protocol (IP) networks. It associates various information with domain names assigned to each of the associated entities. Most prominently, it translates readily memorized domain names to the numerical IP addresses needed for locating and identifying computer services and devices with the underlying network protocols. The Domain Name System has been an essential component of the functionality of the Internet since 1985.
— Wikipedia
How a website found on the internet
- open http://example.com
- need to find IP address of example.com
- Places where we try to find IP address, next checked only if current one
fails
- Local Cache
- browser cache
- DNS Cache
- Hosts File
- Recursive DNS servers (resolver) Usually ISP DNS server, dns record can be cached.
- Root DNS servers Root DNS servers are responsible for finding the relevant TLD server (find .com .org .io … other TLD DNS servers).
- Top Level DNS Servers TLD Used to find relevant NS servers for domain (Authoritative DNS Servers). Used DNS glue records to break loop.
- Authoritative DNS Servers Place contains the information for the domain. Here we ask the A Record of the domain name, with IP address.
- Local Cache
- Since we have IP address, we connect to server:port (80/443 port) and get for example web-page HTML code.