TCP/IP protocol architecture
The TCP/IP protocol architecture is a result of protocol research and development conducted
on the experimental packet-switched network, ARPANET, funded by the
Defense Advanced Research Projects Agency (DARPA), and is generally referred to as
the TCP/IP protocol suite. This protocol suite consists of a large collection of protocols
that have been issued as Internet standards by the Internet Architecture Board (lAB).
The TeplIP Layers
In general terms, communications can be said to involve three agents: applications, computers,
and networks. Examples of applications include file transfer and electronic mail.
The applications that we are concerned with here are distributed applications that
involve the exchange of data between two computer systems. These applications, and
others, execute on computers that can often support multiple simultaneous applications.
Computers are connected to networks, and the data to be exchanged are transferred by
the network from one computer to another. Thus, the transfer of data from one application
to another involves first getting the data to the computer in which the application
resides and then getting the data to the intended application within the computer.
With these concepts in mind, it appears natural to organize the communication
task into five relatively independent layers:
• Physical layer
• Network access layer
• Internet layer
• Host-to-host, or transport layer
• Application layer
The physical layer covers the physical interface between a data transmission
device (e.g., workstation, computer) and a transmission medium or network. This
layer is concerned with specifying the characteristics of the transmission medium,
the nature of the signals, the data rate, and related matters.
The network access layer is concerned with the exchange of data between an
end system (server, workstation, etc.) and the network to which it is attached. The
sending computer must provide the network with the address of the destination
computer, so that the network may route the data to the appropriate destination.
The sending computer may wish to invoke certain services, such as priority, that
might be provided by the network. The specific software used at this layer depends
on the type of network to be used; different standards have been developed for
circuit switching, packet switching (e.g., ATM), LANs (e.g., Ethernet), and others.
Thus it makes sense to separate those functions having to do with network access
into a separate layer. By doing this, the remainder of the communications software,
above the network access layer, need not be concerned about the specifics of the
network to be used. The same higher-layer software should function properly
regardless of the particular network to which the computer is attached.
The network access layer is concerned with access to and routing data across a
network for two end systems attached to the same network. In those cases where
two devices are attached to different networks, procedures are needed to allow data
to traverse multiple interconnected networks. This is the function of the internet
layer. The Internet Protocol (IP) is used at this layer to provide the routing function
across multiple networks. This protocol is implemented not only in the end systems
but also in routers. A router is a processor that connects two networks and whose
primary function is to relay data from one network to the other on its route from the
source to the destination end system.
Regardless of the nature of the applications that are exchanging data, there is
usually a requirement that data be exchanged reliably. That is, we would like to be
assured that all of the data arrive at the destination application and that the data arrive
in the same order in which they were sent. As we shall see, the mechanisms for providing
reliability are essentially independent of the nature of the applications. Thus, it
makes sense to collect those mechanisms in a common layer shared by all applications;
this is referred to as the host-to-host layer, or transport layer. The Transmission Control
Protocol (TCP) is the most commonly used protocol to provide this functionality.
Finally, the application layer contains the logic needed to support the various
user applications. For each different type of application, such as file transfer, a separate
module is needed that is peculiar to that application.
No comments:
Post a Comment