Wednesday, May 9, 2007

The TCP/IP protocol layers

Like most networking software, TCP/IP is modeled in layers. This layered
representation leads to the term protocol stack, which refers to the stack of
layers in the protocol suite. It can be used for positioning (but not for functionally comparing) the TCP/IP protocol suite against others, such as Systems Network Architecture (SNA) and the Open System Interconnection (OSI) model.


Functional comparisons cannot easily be extracted from this, because there are
basic differences in the layered models used by the different protocol suites.
By dividing the communication software into layers, the protocol stack allows for
division of labor, ease of implementation and code testing, and the ability to
develop alternative layer implementations.

Layers communicate with those above and below via concise interfaces. In this regard, a layer provides a service for the layer directly above it and makes use of services provided by the layer directly below it. For example, the IP layer provides the ability to transfer data from one host to another without any guarantee to reliable delivery or duplicate suppression.

Transport protocols such as TCP make use of this service to
provide applications with reliable, in-order, data stream delivery.


TCP/IP protocols are modeled in four layers.

Each layer represents a package of functions

These layers include:

Application layer

The application layer is provided by the program that
uses TCP/IP for communication. An application is a
user process cooperating with another process usually
on a different host (there is also a benefit to application
communication within a single host). Examples of
applications include Telnet and the File Transfer
Protocol (FTP). The interface between the application
and transport layers is defined by port numbers and
sockets.

Transport layer

The transport layer provides the end-to-end data
transfer by delivering data from an application to its
remote peer. Multiple applications can be supported
simultaneously. The most-used transport layer
protocol is the Transmission Control Protocol (TCP),
which provides connection-oriented reliable data
delivery, duplicate data suppression, congestion
control, and flow control.

Another transport layer protocol is the User Datagram
Protocol. It provides connectionless, unreliable,
best-effort service. As a result, applications using UDP
as the transport protocol have to provide their own
end-to-end integrity, flow control, and congestion
control, if desired. Usually, UDP is used by
applications that need a fast transport mechanism and
can tolerate the loss of some data.


Internetwork layer

The internetwork layer, also called the internet layer
or the network layer, provides the “virtual network”
image of an internet (this layer shields the higher
levels from the physical network architecture below
it). Internet Protocol (IP) is the most important
protocol in this layer. It is a connectionless protocol
that does not assume reliability from lower layers. IP
does not provide reliability, flow control, or error
recovery. These functions must be provided at a
higher level.

IP provides a routing function that attempts to deliver
transmitted messages to their destination. A message unit in an IP network is called an IP datagram. This is the basic unit of information
transmitted across TCP/IP networks. Other
internetwork-layer protocols are IP, ICMP, IGMP,
ARP, and RARP.

Network interface layer

The network interface layer, also called the link layer
or the data-link layer, is the interface to the actual
network hardware. This interface may or may not
provide reliable delivery, and may be packet or stream
oriented. In fact, TCP/IP does not specify any protocol
here, but can use almost any network interface
available, which illustrates the flexibility of the IP layer.
Examples are IEEE 802.2, X.25 (which is reliable in
itself), ATM, FDDI, and even SNA.

TCP/IP specifications do not describe or standardize
any network-layer protocols per se; they only
standardize ways of accessing those protocols from
the internetwork layer.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home