The OSI Model
Introduction
Compatible interconnection of network devices is fundamental to reliable network communications.
Developing a set of standards that equipment manufacturers could adhere to went
a long way towards providing an open environment for network communications.
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
- Network File System (NFS)
- Telnet and Remote Login (rlogin)
- X.400
- FTAM
- Database software
- Print Server 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:
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
Data Link Layer 2
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
- 802.5 - Token Ring
- 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.
|