
180 CHAPTER EIGHT
servers to translate a human-readable domain name into a machine-readable IP address.
The ability to translate a logical address to an IP address is trivial. What makes the DNS
backbone fascinating is its flexibility, manageability, and scalability. Consider for a
moment that millions of IP addresses and billions of web requests are made every day.
Domain names and IP addresses are hardly static; new ones are added and existing ones
are modified every day. To provide the necessary performance, scaling, and availability
while maintaining the loose coupling between the various domain administration author-
ities, the DNS is implemented as a hierarchical, distributed database.
When you type a URL—say, http://www.oreilly.com—into your browser’s location bar, the
browser seeks to convert the domain name into an IP address. To do so, the browser
locates a name server (typically provided by your ISP) and requests the IP address corre-
sponding to the domain name. Upon receiving this request, the ISP’s name server can
either respond with an IP address itself or, if it does not have this information, contact one
of the root name servers. The root name server in turn locates a set of the authoritative
name servers for the requested top-level domain (.com in this case) and returns their
addresses. Next, your ISP’s name server contacts one of the authoritative DNS servers
referred by the ...