Domain+names,+domain+name+system+(DNS)

=Strand 3: IT Systems=

Domain names, domain name system (DNS)
= Internet Protocol: Domain Name System = When internet just commenced it consisted of small computers connected together by modems and telephone lines. You could only make connections to the computer you wanted by providing its IP address. e.g. 216.27.22.162. This was fine when there were few systems online but, it became difficult as more systems came online. The first solution to the problem was a simple file maintained by the Network Information Center that mapped names to IP addresses. Later, this file becomes too large to maintain. In 1983, the University of Wisconsin created the **Domain Name System** (DNS), which mapped text names to IP addresses automatically. This way you only needed to remember [|www.google.com], for example, instead of Google’s IP address. = URL: Uniform Resource Locator = When you use the Web or send an e-mail message, you use a domain name to do it. For example, the **Uniform Resource Locator** (URL) "http://www.google.com " contains the domain name google.com. So does this e-mail address: example@bmisw.com. Every time you use a domain name, you use the Internet's DNS servers to translate the human-readable domain name into the machine-readable IP address.

Top-level domain names, also called first-level domain names, include .COM, .ORG, .NET, .EDU and .GOV. Within every top-level domain there is a huge list of second-level domains. For example, in the .COM first-level (top level) domain there is:
 * Google
 * Yahoo
 * Microsoft
 * Facebook

DNS servers accept requests from programs and other name servers to convert domain names into IP addresses. When a request comes in, the DNS server can do one of four things with it:
 * Every name in the .COM top-level domain must be unique.
 * The left-most word, like www, is the host name. It specifies the name of a specific machine (with a specific IP address) in a domain.
 * A given domain can contain millions of host names as long as they are all unique within that domain.

= = = A DNS Example = One of the keys to making this concept work is data redundancy. There are multiple DNS servers at every level, so that if one fails, there are others to handle the requests. The other key is caching. Once a DNS server resolves a request, it caches the IP address it receives.
 * 1.** It can answer the request with an IP address because it already knows the IP address for the requested domain.
 * 2.** It can contact another DNS server and try to find the IP address for the name requested. It may have to do this multiple times.
 * 3.** It can say, "I don't know the IP address for the domain you requested, but here's the IP address for a DNS server that knows more than I do."
 * 4.** It can return an error message because the requested domain name is invalid or does not exist.
 * Let's say that you type the URL www.google.com into your browser.
 * The browser contacts a DNS server to get the IP address.
 * A DNS server would start its search for an IP address by contacting one of the **root DNS servers**. The root servers know the IP addresses for all of the DNS servers that handle the top-level domains (.COM, .NET, .ORG, etc.). Your DNS server would ask the root for www.google.com, and the root would say, "I don't know the IP address for www.google.com, but here's the IP address for the .COM DNS server." Your name server then sends a query to the .COM DNS server asking it if it knows the IP address for www.google.com. The DNS server for the COM domain knows the IP addresses for the name servers handling the www.google.com domain, so it returns those.
 * Your name server then contacts the DNS server for [|www.google.com] and asks if it knows the IP address for www.google.com . It actually does, so it returns the IP address to your DNS server, which returns it to the browser, which can then contact the server for www.google.com to get a Web page.

Once it has made a request to a root DNS server for any .COM domain, it knows the IP address for a DNS server handling the .COM domain (top/first level domain), so it doesn't have to bug the root DNS servers again for that information. DNS servers can do this for every request, and this [|caching] helps to keep things from slowing down.

This process is totally invisible, as DNS servers handle billions of requests every day; they are the essential part of internets smooth functioning. If they do not manage these servers well, internet website requests may all be a failure.

.