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:
- 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.
- Fragmentation:
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.
- 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.
- 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.
- 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.
- 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.