A Web-Based Introduction to Computer Networks for Non-Majors

Preliminaries


A single computer by itself can be useful, but sooner or later the user of the computer will want to send some data that is on the computer to another computer or to receive data that is on another computer. One way to do this is to transfer the data using a portable storage device. A more convenient way, however, is to connect the two computers by a network. If the network connects machines that are close to each other (such as in the same building), then the network is called a local area network. If the network connects machines that are far apart (such as across the country), then the network is called a wide area network.

The data that the user wants to send or receive is divided into messages that are transmitted across the network. For both computers to understand these messages, both of them need to agree on the rules for how the data is organized into messages and on the rules for how messages are sent. Both of these rules are parts of the protocol that the network uses to allow machines to communicate. These rules are complex enough in fact that in common networks today, the rules are organized into a series of protocols, called a protocol stack. One such protocol stack is called the TCP/IP protocol stack. The terms TCP and IP will be defined later.

Just as a computer by itself is isolated, a network by itself is also isolated. Often a computer on one network will want to communicate with a computer on another network. The solution is to connect the networks together either directly or indirectly through another network. The result is a collection of networks connected so that a computer on any of the networks can communicate with a computer on any of the other networks. This collection of networks is called an internetwork. There is one special internetwork which is called the Internet. The Internet is special because it has become so large; networks all over the world are part of the Internet. When you join an Internet Service Provider (ISP) your computer also has become part of the Internet.

Not only must the networks of an internetwork be physically connected, they must also all use the same protocol stack. The TCP/IP protocol stack is important because it is the protocol stack used by all the networks that are part of the Internet internetwork. In a sense the TCP/IP protocol stack has become a universal language since that stack is how all the computers on the Internet are able to communicate with each other.

This set of notes is intended to give you some idea about how the TCP/IP protocol stack works. It actually is rather amazing how complex a train of events is initiated by time your computer sends or receives a message. Moreover sending or receiving a message is not a rare event. For example, when you use a web browser and click on a hypertext link to another web page on a different machine, a number of messages are sent and received by your computer. Instead of trying to understand the complete train of events, we have just selected a few aspects of how the TCP/IP protocol stack arranges for message communication. Those aspects in order of discussion are:

  1. Encapsulation: Before a message leaves your computer it goes through a series of transformations. One of these transformations is wrapping it with a series of headers. Why adding these headers need to be added and what happens to them is our first topic.
  2. Fragmentation:
  3. The network has an upper limit on the size of the message that can cross it in a single packet. Your message may be larger than this upper limit. The solution is that the message is divided into fragments before crossing the network and is our second topic.
  4. Error Control: Messages sometimes get lost before they reach the destination computer or they reach the destination computer damaged. The TCP/IP protocol stack has a means of detecting and correcting both types of errors. How this is done is our third topic.
  5. Name Resolution: From using a web browser and even from television commercials you have been exposed to Internet names like www.wcu.edu or www.microsoft.com. When the TCP/IP protocol stack transfers your message through the Internet the stack does not actually usually such Internet names. Instead addresses called IP addresses are used. Consequently, before your message leaves your computer the Internet name has to be changed into an IP address. This change, our fourth topic, is called name resolution since you are resolving the name into an address.
  6. The Web Protocol: One major accomplishment of the Internet is having provided an infrastructure on which the web could be created. The web consists of web browsers, web servers, and a special protocol that allows the web browsers and the web servers to communicate. This protocol, called HTTP (HyperText Transfer Protocol), is part of the TCP/IP protocol stack. Our fifth topic discusses how HTTP works and how it is used by web browsers and web servers.
  7. Media Access: "Media access" may sound like a mysterious phrase, but it is actually a simple concept. Many networks are designed so that only one computer can be communicating on the network at a time. A problem arises if several computer want to communicate using the network at the same time. How is the computer allowed to communicate selected? That is the media access problem since it involves determining which computer may next access the media, that is, the network. The network is called a media since like the print media (newspapers and magazines) and the electronic media (radio and television), the network is a means by which different parties may communicate. Our sixth topic examines how the media access problem is solved in the most common type of local area network, Ethernet.