The OSI Model
The OSI Model
Introduction
In the late 1970s the International Organization for Standardization (ISO) worked on a seven layer
model for LAN architectures by defining the Open Systems Interconnection Basic Reference Model
(OSI). Alongside this The ISO developed a set of protocols that fit within this model. Since then, other
models such as the 5 layer TCP/IP model were developed, however the OSI model is still used to map
and categorise protocols because of its concise and clear way of representing network functions.
The IEEE formed the 802 committee in February 1980 with the aim of standardising LAN protocols. This
resulted in the IEEE 802 series of committees that sit to develop worldwide standards for
communications. Within the OSI model, the Data Link layer was split into two, the Media Access Control
(MAC) sub-layer and the 802.2 Logical Link Control (LLC) sub-layer.
You can make up expressions to remember the order of the 7 layers, for example, 'Angus Prefers
Sausages To Nibbling Dried Pork' or 'A Pretty Silly Trick Never Does Please'. I remember it best using the
natty expression 'Application, Presentation, Session, Transport, Network, Datalink, Physical'. It just rolls
off the tongue!
The OSI protocol set is rarely used today, however the model that was developed serves as a useful
guide when referencing other protocol stacks such as ATM, TCP/IP and SPX/IPX.
Application Layer 7
It is employed in software packages which implement client-server software. When an application on one
computer starts communicating with another computer, then the Application layer is used. The header
contains parameters that are agreed between applications. This header is often only sent at the beginning
of an application operation. Examples of services within the application layer include:
FTP
DNS
SNMP
SMTP gateways
Web browser
X.400
FTAM
Database software
Presentation Layer 6
This provides function call exchange between host operating systems and software layers. It defines the
format of data being sent and any encryption that may be used, and makes it presentable to the
Application layer. Examples of services used are listed below:
MIDI
HTML
GIF
TIFF
JPEG
ASCII
EBCDIC
Session Layer 5
The Session layer defines how data conversations are started, controlled and finished. The Session layer
manages the transaction sequencing and in some cases authorisation. The messages may be
bidirectional and there may be many of them, the session layer manages these conversations and
creates notifications if some messages fail. Indications show whether a packet is in the middle of a
conversation flow or at the end. Only after a completed conversation will the data be passed up to layer 6.
Examples of Session layer protocols are listed below:
RPC
SQL
NetBIOS names
Appletalk ASP
DECnet SCP
Transport Layer 4
This layer is resonsible for the ordering and reassembly of packets that may have been broken up to
travel across certain media. Some protocols in this layer also perform error recovery. After error recovery
and reordering the data part is passed up to layer 5. Examples are:
TCP
UDP
SPX
Network Layer 3
This layer is responsible for the delivery of packets end to end and implements a logical addressing
scheme to help accomplish this. This can be connectionless or connection-oriented and is independent of
the topology or path that the data packets travel. Routing packets through a network is also defined at this
layer plus a method to fragment large packets into smaller ones depending on MTUs for different media
(Packet Switching). Once the data from layer 2 has been received, layer 3 examines the destination
address and if it is the address of its own end station, it passes the data after the layer 3 header to layer
4. Examples of Layer 3 protocols include:
Appletalk DDP
IP
IPX
DECnet
This layer deals with getting data across a specific medium and individual links by providing one or more
data link connections between two network entities. End points are specifically identified, if required by
the Network layer Sequencing. The frames are maintained in the correct sequence and there are facilities
for Flow control and Quality of Service parameters such as Throughput, Service Availability and Transit
Delay.
Examples include:
IEEE 802.2
IEEE 802.3
HDLC
Frame Relay
FDDI
ATM
PPP
The Data link layer performs the error check using the Frame Check Sequence (FCS) in the trailer and
discards the frame if an error is detected. It then looks at the addresses to see if it needs to process the
rest of the frame itself or whether to pass it on to another host. The data between the header and the
trailer is passed to layer 3. The MAC layer concerns itself with the access control method and determines
how use of the physical transmission is controlled and provides the token ring protocols that define how a
token ring operates. The LLC shields the higher level layers from concerns with the specific LAN
implementation.
Physical Layer 1
This layer deals with the physical aspects of the media being used to transmit the data. The electrical,
mechanical, procedural and functional means This defines things like pinouts, electrical characteristics,
modulation and encoding of data bits on carrier signals. It ensures bit synchronisation and places the
binary pattern that it receives into a receive buffer. Once it decodes the bit stream, the physical layer
notifies the data link layer that a frame has been received and passes it up. Examples of specifications
include:
V.24
V.35
EIA/TIA-232
EIA/TIA-449
FDDI
802.3
802.5
Ethernet
RJ45
NRZ
NRZI
You will notice that some protocols span a number of layers (e.g. NFS, 802.3 etc.). A benefit of the seven
layer model is that software can be written in a modular way to deal specifically with one or two layers
only, this is often called Modular Engineering.
Each layer has its own header containing information relevant to its role. This header is passed down to
the layer below which in turn adds its own header (encapsulates) until eventually the Physical layer adds
the layer 2 information for passage to the next device which understands the layer 2 information and can
then strip each of the layers' headers in turn to get at the data in the right location. Each layer within an
end station communicates at the same layer within another end station.