Here's the process shown in Figure 13-4:
|
1. |
Hannah opens a browser, types in www.fredsco.com (just like
in the previous example), and sends a DNS resolution request to her
DNS.
|
|
2. |
example.com's DNS doesn't know the name
http://www.fredsco.com. However, the DNS now has some configuration that tells
it that if it doesn't know the name, it should ask the DNS server at IP address
1.1.1.1.
|
|
3. |
The DNS server at 1.1.1.1 has a table that lists the IP
addresses of a bunch of name servers. DNS server 1.1.1.1 knows that for all
names that end in "example.com," DNS 150.1.3.4 can resolve the names. It also
knows that for all names that end in "fredsco.com," DNS 199.1.1.3 can resolve
the names. Finally, DNS server 1.1.1.1 knows about a lot of other name servers
and the names they know about, so this name server can direct each request to
the right name server. This DNS sends a message back to the example.com DNS,
referring it to the DNS at 199.1.1.3.
|
|
4. |
The example.com DNS repeats the name resolution request, now
sending the request to the DNS server at Fredsco
(199.1.1.3).
|
|
5. |
The Fredsco DNS gets the request, and it knows the name and
IP address. It sends a reply to the requesting hostnamely, example.com's DNS
server.
|
|
6. |
Finally, the example.com DNS server replies to Hannah,
telling her that www.fredsco.com resolves to IP address
199.1.1.2.
|
Ultimately, Hannah learns the IP address of the www.fredsco.com
web server. Before this process could work, special DNS servers, called root DNS servers, are installed
somewhere in the Internet. Root DNS servers do not really perform name
resolution; rather, they know the IP addresses of several other DNS servers. (In
Figure 13-4, the DNS server at IP address
1.1.1.1 served as a root DNS server.) Each company's DNS server can refer to one
or more root servers, so when it doesn't know a name, a DNS server can ask a
root DNS server for help. The root DNS refers the original DNS server to the
right DNS server, as in Figure 13-4.
After Hannah knows the IP address of the server, everything
else can happen as was described in earlier chapters because the name resolution
process is complete. For instance, Hannah can send packets to the web server,
and those packets can hold TCP segments. Those TCP segments, in turn, hold HTTP
messages, as well as the contents of a web page.