Communications Layers
You may have heard the term "communications
stack" or "that is a layer 3 protocol". This section
discusses the 7-layer OSI stack and will also explain how TCP/IP
applies to this way of understanding the functions performed at
each of the protocol layers.
RadCom
did an excellent poster of showing the various protocols and the
placement of these protocols with the OSI layers. Click
here to get their PDF poster (813 KB).
The OSI Reference Model
The seven-layer reference model for Open
Systems Interconnection (OSI) was developed by members of the
International Standards Organization (ISO). It provides a common
basis for the coordination of standards for the purpose of systems
interconnection. Each layer has a unique, defined function
and, theoretically, each layer is independent of the protocol
layer above and below it. This independence of each layer allows a system
to be constructed that can use a mix & match approach to communications
that can be optimize for a given task.
Figure
1. The OSI 7-Layer Model
Layer 1: Physical Layer
The physical layer is responsible for
the actual transmission of a bit stream across a physical circuit.
It allows signals, such as electrical signals, optical signals,
or radio signals, to be exchanged among communicating machines.
This layer addresses the cables, connectors, modems, and other
devices used to permit machines to physically communicate and
controls the generation and detection of signals that are interpreted
as 0 bits and 1 bits.
Layer 2: Data Link Layer
The data link layer is responsible for
providing data transmission over a single connection from one
system to another. Control mechanisms in the data link
layer handle the transmission of data units, often called frames,
over a physical circuit. This layer is also concerned with how
bits are grouped and the beginning and ending of a "frame" of
data. With some types of data links, the data link
layer may also perform procedures for flow control (starting &
stopping data), frame sequencing, and recovery from transmission
errors.
Layer 3: Network Layer
The network layer is concerned with making
routing decisions and relaying data from one device to another
through the network. Within the network, intermediate systems
perform routing and relaying functions. The application
programs running in two end systems that wish to communicate should
not need to be concerned with the route packets take nor with
how many data links they must cross.
Layer 4: Transport Layer
The transport layer builds on the services
of the lower layers to ensure a reliable end-to-end data transport
service. This layer for example might the task of asking
for retransmission of a missing packet or reorder packets that
arrive out of sequence. The transport layer hides from
the higher layers all the details concerning the actual moving
of packets and frames from one computer to another and shields
network users from the complexities of network operation.
The transport layer may also control
the rate at which messages flow through the network to prevent
and control congestion.
Layer 5: Session Layer
The session layer is responsible for
organizing the dialog between two application programs and for
managing the data exchanges between them. The top three layers
are more concerned with services that are oriented to the application
programs themselves. To do this, the session layer
imposes a structure on the interaction between two communicating
programs.
The session layer defines three types
of dialogs: two-way simultaneous interaction, where both programs
can send and receive concurrently; two-way alternate interaction,
where the programs take turns sending and receiving; and one-way
interaction, where one program sends and the other only receives.
Layer 6: Presentation Layer
The presentation layer is interested
in the meaning of the bits and deals with preserving the information
content of data transmitted over the network. It is concerned
with three types of data syntax that can be used for describing
and representing data including abstract syntax, transfer syntax,
and local concrete syntax.
The presentation layers between systems
negotiate a common transfer syntax to be used to transfer the
messages defined by a particular abstract syntax. If the local
concrete syntax in the two communicating systems are different,
an implementation of the presentation layer is responsible for
transforming from the local concrete syntax to the transfer syntax
in the sending system and from the transfer syntax to the local
concrete syntax in the receiving system.
Layer 7: Application layer:
The application layer is concerned with
high-level functions that provide support to the application programs
using the network for communication. This layer provides
a means for application programs to access the system interconnection
facilities to exchange information. As far as the application
layer is concerned, a program running in one computer sends a
message, and the program running in the other computer receives
it. The application layer is not concerned with any of the details
related to how the message gets from the source computer to the
destination computer.
The TCP/IP Internet Layering Mode
TCP and IP are separate layers within
the "communications stack" and, in reality, there are over 30
different protocols involved but generically people call the entire
suite of these protocols "TCP/IP".
Broadly, the
TCP/IP software is organized into four conceptual layers that
build on a fifth layer of hardware. These layers are slightly
different than the OSI layers but they can be mapped onto it.
-
Application Layer - Messages or streams
-
Transport Layer - Transport protocol packets
-
Internet Layer - Create IP datagrams
-
Network Interface Layer - Network-specific frames
Functions of the TCP/IP Application Layer:
TCP/IP defines
a wide range of application layer protocols that provide services
to network users, including remote login, file copying, file sharing,
electronic mail, directory services, and network management facilities.
Some application protocols are widely used, others are employed
only for specialized purposes. The following are the most commonly
used TCP/IP application layer protocols:
Functions of the TCP/IP Network Interface Layer:
The main function of the network interface
layer is to handle hardware-dependent functions and to present
a standardized interface to the Internet layer of TCP/IP. The
TCP/IP suite of protocols does not specify details concerning
the protocols to be used in the network interface layer and below. The
network interface layer of TCP/IP is responsible for accepting
messages from the Internet layer and preparing them for transmission
across any desired type of data link technology.
An individual TCP/IP network may be a
local area network, using LAN data link protocols such as Ethernet,
Token Ring, or FDDI. An individual TCP/IP network may also be
implemented using a wide area network data link technology, such
as a point-to-point leased or dial-up line, satellite link, or
specialized digital circuit. One of the reasons TCP/IP has become
widely used is that it can be used in conjunction with almost
any type of underlying physical circuit and data link technology.
One important function of the network
interface layer is to examine each frame that the network interface
card receives and to determine, from the way in which control
bits in the frame are set, for which of the internet layer protocols
the frame is intended, called a demultiplexing function.
Functions of the TCP/IP Internet Layer:
The TCP/IP internet layer provides routing
and relaying functions for carrying packets of data from a source
system to a destination system through an internet. This
is the layer at which routing decisions are made that determine
the path over which each packet travels. TCP/IP protocols that
operate in the Internet layer include the Internet Protocol (IP)
and the Internet Control Message Protocol (ICMP), the Address
Resolution Protocol (ARP) and the Reverse Address Resolution Protocol
(RARP).
IP is the core protocol of the TCP/IP
protocol suite. It provides a connectionless, best-effort data
delivery service that is used in moving packets from one system
to another through the internet. The ICMP employs the
services of IP to allow systems to report on error conditions
and to provide information about unexpected circumstances.
The ARP helps a source system deliver
data directly to a destination system when the two systems are
on the same physical network. It allows the source system to determine
the destination system's physical hardware address given the destination
system's internet address. The RARP allows a system that does
not yet have its internet address to obtain it. RARP is typically
used to support workstations and intelligent terminals that do
not have their own disk storage.
Functions of the TCP/IP Transport Layer:
The transport layer provides an end-to-end
data delivery service that application processes use to exchange
messages over the internet. Protocols operating in
the transport layer use the services or IP to deliver messages.
The two major TCP/IP transport layer protocols are User Datagram
Protocol (UDP) and Transfer Control Protocol (TCP).
UDP is the simpler of the two transport
protocols. It is a best-effort, connectionless transport
layer protocol that adds little to the underlying IP datagram
delivery service. TCP is a connection-oriented transport layer
protocol that provides for reliable, sequenced stream data delivery.
An application process can use either
UDP or TCP to request data transfer services. The protocol that
an application developer chooses to use depends on whether the
application requires only a best-effort, datagram data delivery
service or whether it requires the reliability controls provided
by a connection-oriented data transfer service.
|