DistributedNetworks DistributedNetworks


Domain Name Service  «Prev 

Recursive Queries

The browser makes a system call to the resolver library asking for the IP address of the machine www.company.com

The resolver library looks up the address of the DNS server in /etc/resolv.conf. Suppose this server is dns.acmetraining.com. The resolver library generates a DNS query directed at port 53 on dns.acmetraining.com asking: What is the IP address of www.company.com?

The name server at dns.acmetraining.com is not authoritative for the company.com zone. It therefore generates a query directed at a randomly chosen root server: What is the IP address of authoritative name server for the company.com zone?

The root server replies with the IP address of the authoritative name server for company.com. (It may supply several choices, authoritative and secondary).

The name server dns.acmetraining.com now generates a query of the name server at company.com. What is the IP address of the machine www?

The server at dns.company.com replies with the IP address of www.company.com. The name server at dns.acmetraining.com caches this response for a while ( in case it is asked for this information again in the near future).

The name server at dns.acmetraining.com sends the IP address of www.company.com back to the machine student.acmetraining.com, where the resolver library is listening for it.

The resolver library passes the IP address back to the browser process.

The browser process opens a TCP connection to port 80 on www.company.com, using the IP address it obtains from the resolver library.