communicate.
On the right side of Figure 1.2 we have noted that normally the application layer is a user process while the
lower three layers are usually implemented in the kernel (the operating system). Although this isn't a
requirement, it's typical and this is the way it's done under Unix.
There is another critical difference between the top layer in Figure 1.2 and the lower three layers. The
application layer is concerned with the details of the application and not with the movement of data across
the network. The lower three layers know nothing about the application but handle all the communication
details.
We show four protocols in Figure 1.2, each at a different layer. FTP is an application layer protocol, TCP is
a transport layer protocol, IP is a network layer protocol, and the Ethernet protocols operate at the link layer.
The TCP/IP protocol suite is a combination of many protocols. Although the commonly used name for the
entire protocol suite is TCP/IP, TCP and IP are only two of the protocols. (An alternative name is the
Internet Protocol Suite.)
The purpose of the network interface layer and the application layer are obvious-the former handles the
details of the communication media (Ethernet, token ring, etc.) while the latter handles one specific user
application (FTP, Telnet, etc.). But on first glance the difference between the network layer and the transport
layer is somewhat hazy. Why is there a distinction between the two? To understand the reason, we have to
expand our perspective from a single network to a collection of networks.
One of the reasons for the phenomenal growth in networking during the 1980s was the realization that an
island consisting of a stand-alone computer made little sense. A few stand-alone systems were collected
together into a network. While this was progress, during the 1990s we have come to realize that this new,
bigger island consisting of a single network doesn't make sense either. People are combining multiple
networks together into an internetwork, or an internet. An internet is a collection of networks that all use the
same protocol suite.
The easiest way to build an internet is to connect two or more networks with a router. This is often a
special-purpose hardware box for connecting networks. The nice thing about routers is that they provide
connections to many different types of physical networks: Ethernet, token ring, point-to-point links, FDDI
(Fiber Distributed Data Interface), and so on.
These boxes are also called IP routers, but we'll use the term router.
Historically these boxes were called gateways, and this term is used throughout much of the TCP/IP literature. Today the term
gateway is used for an application gateway: a process that connects two different protocol suites (say, TCP/IP and IBM's SNA)
for one particular application (often electronic mail or file transfer).
Figure 1.3 shows an internet consisting of two networks: an Ethernet and a token ring, connected with a
router. Although we show only two hosts communicating, with the router connecting the two networks, any
host on the Ethernet can communicate with any host on the token ring.
In Figure 1.3 we can differentiate between an end system (the two hosts on either side) and an intermediate
system (the router in the middle). The application layer and the transport layer use end-to-end protocols. In
our picture these two layers are needed only on the end systems. The network layer, however, provides a
hop-by-hop protocol and is used on the two end systems and every intermediate system.
Chapter 1. Introduction
file:///F|/USER/DonahuJ/tcpip/tcpip_ill/introduc.htm (3 of 17) [1/23/2002 10:11:22 AM]