When a user types a domain name like www.wikipedia.org in the browser, the system needs to convert that human friendly name into an IP address so it can actually locate the server. This whole process is called DNS resolution. Instead of directly knowing where the server is, the browser has to go through a few steps to figure it out.
The first thing the system does is check locally to save time. It looks into the browser cache and the OS cache to see if the IP address for that domain was already stored from a previous request. If it finds the IP here, it can skip the entire DNS process and directly connect to the server.
If the IP is not found locally, then a DNS query is started. This request first goes to the local resolver, which is responsible for handling DNS queries from the system. If the local resolver doesn’t have the answer, it forwards the request to the ISP’s DNS resolver.
The ISP resolver also checks its own cache. If it still doesn’t have the IP, it starts the actual lookup process. It first contacts the root name server. The root server doesn’t give the exact IP address, but instead tells the resolver which TLD (Top-Level Domain) server to contact based on the domain extension like .com, .org, or .in.
For example, in wikipedia.org, the request is directed to the .org TLD server. This TLD server then points the resolver to the authoritative DNS server, which is where the actual records for the domain are stored.
The authoritative server contains the zone file, which has all the important DNS records like A (IPv4), AAAA (IPv6), CNAME (aliases), and MX (mail-related info). From here, the correct IP address for the domain is obtained.
Once the IP is found, it is sent back through the same path from the authoritative server to the TLD server, then to the ISP resolver, then to the local resolver, and finally back to the browser. After receiving the IP address, the browser can now connect to the actual server using protocols like TCP and send the HTTP request.
So, DNS resolution is what makes it possible for us to use simple domain names instead of remembering complex IP addresses, while ensuring that the request reaches the correct server.
Top comments (0)