The Open Systems Interconnect (OSI) model has seven layers.
This article describes and explains them, beginning with the 'lowest' in the
hierarchy (the physical) and proceeding to the 'highest' (the application). The
layers are stacked this way:
Application
Presentation
Session
Transport
Network
Data Link
Physical
PHYSICAL LAYER
The physical layer, the lowest layer of the OSI model, is
concerned with the transmission and reception of the unstructured raw bit
stream over a physical medium. It describes the electrical/optical, mechanical,
and functional interfaces to the physical medium, and carries the signals for
all of the higher layers. It provides:
Data encoding: modifies the simple digital signal pattern
(1s and 0s) used by the PC to better accommodate the characteristics of the
physical medium, and to aid in bit and frame synchronization.
It determines:
What signal state represents a binary 1
How the receiving station knows when a "bit-time"
starts
How the receiving station delimits a frame
DATA LINK LAYER
Media Access Control (MAC) Sublayer determines the physical addressing of the hosts. The MAC sub-layer maintains MAC addresses (physical device addresses) for communicating with other devices on the network. MAC addresses are burned into the network cards and constitute the low-level address used to determine the source and destination of network traffic. MAC Addresses are also known as Physical addresses, Layer 2 addresses, or Hardware addresses.
The Logical Link Control sublayer is responsible for synchronizing frames, error checking, and flow control.
The data link layer provides error-free transfer of data
frames from one node to another over the physical layer, allowing layers above
it to assume virtually error-free transmission over the link. To do this, the
data link layer provides:
Link establishment and termination: establishes and
terminates the logical link between two nodes.
Frame traffic control: tells the transmitting node to
"back-off" when no frame buffers are available.
Frame sequencing: transmits/receives frames sequentially.
Frame acknowledgment: provides/expects frame
acknowledgments. Detects and recovers from errors that occur in the physical
layer by retransmitting non-acknowledged frames and handling duplicate frame
receipt.
Frame delimiting: creates and recognizes frame boundaries.
Frame error checking: checks received frames for integrity.
Media access management: determines when the node "has
the right" to use the physical medium.
NETWORK LAYER
The third layer of the seven layers of Open Systems
Interconnection (OSI) network model is the Network layer. The Network layer of
the OSI model is responsible for managing logical addressing information
in the packets and the delivery of those packets to the correct destination.
Routers, which are special computers used to build the network, direct the data
packet generated by Network Layer using information stored in a table known as
routing table.
The routing table is a list of available destinations that are
stored in memory on the routers. The network layer is responsible for working
with logical addresses. The logical addresses are used to uniquely identify a
computer on the network, but at the same time identify the network that system
resides on. The logical address is used by network layer protocols to deliver
the packets to the correct network. The Logical addressing system used in
Network Layer is known as IP address.
The network layer controls the operation of the subnet,
deciding which physical path the data should take based on network conditions,
priority of service, and other factors. It provides:
Routing: routes frames among networks.
Subnet traffic control: routers (network layer intermediate
systems) can instruct a sending station to "throttle back" its frame
transmission when the router's buffer fills up.
Frame fragmentation: if it determines that a downstream
router's maximum transmission unit (MTU) size is less than the frame size, a
router can fragment a frame for transmission and re-assembly at the destination
station.
Logical-physical address mapping: translates logical addresses,
or names, into physical addresses.
Subnet usage accounting: has accounting functions to keep
track of frames forwarded by subnet intermediate systems, to produce billing
information.
Communications Subnet
The network layer software must build headers so that the
network layer software residing in the subnet intermediate systems can
recognize them and use them to route data to the destination address.
This layer relieves the upper layers of the need to know
anything about the data transmission and intermediate switching technologies
used to connect systems. It establishes, maintains and terminates connections
across the intervening communications facility (one or several intermediate
systems in the communication subnet).
In the network layer and the layers below, peer protocols
exist between a node and its immediate neighbor, but the neighbor may be a node
through which data is routed, not the destination station. The source and
destination stations may be separated by many intermediate systems.
TRANSPORT LAYER
The transport layer ensures that messages are delivered
error-free, in sequence, and with no losses or duplications. It relieves the
higher layer protocols from any concern with the transfer of data between them
and their peers.
The size and complexity of a transport protocol depends on
the type of service it can get from the network layer. For a reliable network
layer with virtual circuit capability, a minimal transport layer is required.
If the network layer is unreliable and/or only supports datagrams, the
transport protocol should include extensive error detection and recovery.
The transport layer
provides:
Another function of the transport layer is TCP segment sequencing. Sequencing is a connection-oriented service that takes TCP segments that are received out of order and place them in the right order.
The transport layer also enables the option of specifying a "service address" for the services or application on the source and the destination computer to specify what application the request came from and what application the request is going to.
Many network applications can run on a computer simultaneously and there should be some mechanism to identify which application should receive the incoming data. To make this work correctly, incoming data from different applications are multiplexed at the Transport layer and sent to the bottom layers. On the other side of the communication, the data received from the bottom layers are de-multiplexed at the Transport layer and delivered to the correct application. This is achieved by using "Port Numbers".
The protocols operating at the Transport Layer, TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) uses a mechanism known as "Port Number" to enable multiplexing and de-multiplexing. Port numbers identify the originating network application on the source computer and destination network application on the receiving computer.
Message segmentation:
accepts a message from the (session) layer above it, splits the message into
smaller units (if not already small enough), and passes the smaller units down
to the network layer. The transport layer at the destination station reassembles
the message.
Message
acknowledgment: provides reliable end-to-end message delivery with
acknowledgments.
Message traffic
control: tells the transmitting station to "back-off" when no message
buffers are available.
Session multiplexing:
multiplexes several message streams, or sessions onto one logical link and
keeps track of which messages belong to which sessions (see session layer).
Typically, the transport layer can accept relatively large
messages, but there are strict message size limits imposed by the network (or
lower) layer. Consequently, the transport layer must break up the messages into
smaller units, or frames, prepending a header to each frame.
The transport layer header information must then include
control information, such as message start and message end flags, to enable the
transport layer on the other end to recognize message boundaries. In addition,
if the lower layers do not maintain sequence, the transport header must contain
sequence information to enable the transport layer on the receiving end to get
the pieces back together in the right order before handing the received message
up to the layer above.
End-to-end layers
Unlike the lower "subnet" layers whose protocol is
between immediately adjacent nodes, the transport layer and the layers above
are true "source to destination" or end-to-end layers, and are not
concerned with the details of the underlying communications facility. Transport
layer software (and software above it) on the source station carries on a
conversation with similar software on the destination station by using message
headers and control messages.
SESSION LAYER
The position of Session Layer of the Seven Layered Open Systems Interconnection (OSI) model is between Transport Layer and the Presentation Layer. Session layer is the fifth layer of seven layered Open Systems Interconnection (OSI) Model. The session layer is responsible for establishing, managing, and terminating connections between applications at each end of the communication.
In the connection establishment phase, the service and the rules (who transmits and when, how much data can be sent at a time etc.) for communication between the two devices are proposed. The participating devices must agree on the rules. Once the rules are established, the data transfer phase begins. Connection termination occurs when the session is complete, and communication ends gracefully.
In practice, Session Layer is often combined with the Transport Layer.
The session layer allows session establishment between processes running on different stations. It provides:
Session establishment, maintenance and termination: allows
two application processes on different machines to establish, use and terminate
a connection, called a session.
Session support:
performs the functions that allow these processes to communicate over the
network, performing security, name recognition, logging, and so on.
PRESENTATION LAYER
Formatting functions at the presentation layer may include compression, encryption, and ensuring that the character code set (ASCII, Unicode, EBCDIC (Extended Binary Coded Decimal Interchange Code, which is used in IBM servers) etc) can be interpreted on the other side.
For example, if we select to compress the data from a network application that we are using, the Application Layer will pass that request to the Presentation Layer, but it will be the Presentation Layer that does the compression.
The presentation layer formats the data to be presented to
the application layer. It can be viewed as the translator for the network. This
layer may translate data from a format used by the application layer into a
common format at the sending station, then translate the common format to a
format known to the application layer at the receiving station.
The presentation
layer provides:
Character code translation: for example, ASCII to EBCDIC.
Data conversion: bit order, CR-CR/LF, integer-floating
point, and so on.
Data compression: reduces the number of bits that need to be
transmitted on the network.
Data encryption: encrypt data for security purposes. For
example, password encryption.
APPLICATION LAYER
The application layer serves as the window for users and
application processes to access network services. This layer contains a variety
of commonly needed functions:
Resource sharing and device redirection
Remote file access
Remote printer access
Inter-process communication
Network management
Directory services
Electronic messaging (such as mail)
Network virtual terminals
Application layer provides platform to send and receive data
over the network. All applications and utilities that communicate with network
fall in this layer. For examples
Browsers :- Mozilla Firefox, Internet Explorer, Google
Chrome etc
Email clients: - Outlook Express, Mozilla Thunderbird etc.
FTP clients :- Filezilla, sFTP, vsFTP
Application layer protocols that we should know for exam are
following:
SNMP (Simple Network Management Protocol) — Used to control
the connected networking devices.
TFTP (Trivial File Transfer Protocol) — Used to transfer the
files rapidly.
DNS (Domain Naming System) — Used to translate the name with
IP address and vice versa.
DHCP (Dynamic Host Configuration Protocol) — Used to assign
IP address and DNS information automatically to hosts.
Telnet— used to connect remote devices.
HTTP (Hypertext Transfer Protocol) — Used to browse web
pages.
FTP (File Transfer Protocol) — Used to reliably
sends/retrieves files.
SMTP (Simple Mail Transfer Protocol) — Used to sends email.
POP3 (Post Office Protocol v.3) — Used to retrieves email.
NTP (Network Time Protocol) — Used to synchronizes clocks.