Web @ Kiowok

The Internet

The explanations below are highly simplified, and are only intended to give a rough, high-level view of the Internet and some of its core technologies.

The Internet is a set of interconnected networks (or "internet"). There are a set of rules that these interconnected computers must follow to work together in a meaningful way. A set of rules is known as a protocol. The set of rules used by the computers on the Internet is known as the Internet Protocol, often abbreviated to IP. One of the most basic rules is how each computer on the Internet is given a unique address, so that when a message is sent from one computer to another it can be addressed to (and successfully delivered to) the intended computer.

IP addresses are made up of four numbers in the range of 0 to 255, such as

	67.18.0.34  

(this happens to be the IP address of kiowok.com). Every computer connected directly to the Internet must have a unique IP address. The diagram below shows the IP addresses of some of the computers currently on the Internet (each computer must have an address -- not all of the computers are labeled with one in the diagram, below):

Internet with IP addresses

Electronic messages sent from one computer to another on the Internet use these IP addresses. Each message, or packet, uses an IP addresses for both the from and to addresses on the packet.

Most people would prefer to remember a name for a computer, versus a string of digits. For example, all of the computers with addresses in the previous diagram are well known computers. Here are the names associated with those computers (note that the name associated with an IP address can possibly change over time):

The Internet with some of the computers marked both with IP addresses and their domain name.

These names are called domain names. A domain name can be purchased and associated with an IP address. For example, I bought the name kiowok.com and had it associated with the IP address 67.18.0.34. The IP addresses are used internally by the Internet. There is an entire structure, or system, on the Internet to translate the domain names that people like to use into the IP addresses that the computers use. This is known as the Domain Name System (DNS) and is implemented by a set of computers known as domain name servers. A domain name server is a computer that has a table that contains domain names and the IP addresses that correspond to those domain names. The diagram below shows one such domain name server, and a simplified version of it domain name table.

The Internet with an ebay server, a client computer running a web browser, and a DNS server with a table mapping domain names to IP addresses.

When a user is working on the Internet and specifies a domain name, the user's computer will contact the domain name server to get the IP address that matches the indicated domain name. For example, if the user in the diagram above starts up a web browser, such as Intenet Explorer or Firefox, and asks to see the home page at "http://ebay.com", then the following issues are encountered and resolved:

  1. The web browser wants to retrieve a web page from a computer named "ebay.com" -- unfortunately, the browser needs to create an electronic envelope using an IP address, not the the name "ebay.com".
  2. Fortunately, the web browser's computer knows it can contanct a domain name server to help out. It contacts the domain name server and asks for the IP address corresponding to "ebay.com". The DNS server responds with "66.211.160.88".
  3. Now that the user's browser has the correct IP address, it creates an electronic envelope where the "To:" address contains ebay's IP address (the envelope also contains this PC's "From:" IP address so that ebay knows where to send a return message). The message in the envelope says something to the effect of "Give me your home page".
  4. The message is sent off to 66.211.160.88 (i.e., ebay.com).
  5. The ebay computer receives the message and sends a reply back to our user's computer. The reply contains a copy of ebay's home page, which will be displayed by the user's web browser.

You can see that getting a web page is a two step procedure -- first the domain name needs to be translated to an IP address, then that IP address is used to send off the request for the web page.

The above introduction is highly simplified. For example, not every domain name server knows all of the name-to-IP-address mappings. Lower level domain name servers know how to contact higher-level servers that know more addresses (which may, in turn, need to contact other higher-level servers). There are a handul of root domain name servers that are at the heart of the DNS system.

If a domain name is frequently asked for, it is unnecessarily time consuming to continue asking a domain name server for the translation of the same domain name over and over. A PC will often cache domain name results -- i.e., the PC will keep a small local list of names (and the corresponding IP addresses) that it has already asked for. This local list is known as a cache. When the user asks for the name, the system will first look in the cache on their local computer first to see if it there. If it is in the cache, then the recorded IP is used directly, and there is no need to ask the DNS server for it.

The Internet Corporation for Assigned Names and Numbers (ICANN) is responsible for managing the assignment of unique IP addresses and unique domain names (the purchase of domains names is processed by private vendors, such as the heavily advertised godaddy.com).

The Internet is the Structure

The Internet is a set of inter-connected computers. These computers follow the Internet Protocol to communicate with each other. The Internet is a useful structure, and inventive people are always finding interesting programs that make use of the Internet. A couple of interesting systems that run on the Internet are e-mail and the World Wide Web (WWW). Note that the World Wide Web is not the Internet -- the World Wide Web runs on the Internet. Email is not the Internet -- it runs on the Internet.

Top