The OSI Model: A Layered Approach to Networking

Internetworking Models

            When networks first came into being, computers could typically communicate only with computers from the same manufacturer. For example, companies ran either a complete IBM solution or an DECnet solution, not both together. In the late 1970s, the OSI (Open System Interconnection) model was created by the International Organization for Standardization to break this barrier. The OSI model was meant to help vendors create standard network devices.

            The OSI model is the primary architectural model for networks. It describes how data and network information are communicated from an application on one computer, through the network media, to an application on another computer. The OSI reference model breaks this approach into layers.

The OSI Reference Model

            The reference model was created in the late 1970s to help facilitate data transfer between network nodes. A reference model is a conceptual blueprint of how communication should take place. It addresses all the processes required for effective communication and divides these processes into logical groupings called layers. When a communication system is designed in this manner, it’s known as layered architecture. One of the greatest functions of the OSI specifications is to assist in data transfer between disparate hosts. This means you can transfer data between a UNIX host and a PC, for example.

            The OSI is not a physical model; rather, it is a set of guidelines that application developers can use to create and implement applications that run on a network. It provides a framework for creating and implementing networking standards, devices, and internetworking schemes.

            The OSI has seven different layers. The principles that we applied to arrive at the seven layers are

  • A layer should be created where a different level of abstraction is needed.
  • Each layer should perform a well-defined function.
  • The function of each layer should be chosen with an eye towards defining internationally standardized protocols.
  • The layer boundaries should be chosen to minimize the information flow across the interfaces.
  • The number of layers should be large enough that distinct functions need not be thrown together in the same layer out of necessity, and small enough that the architecture does not become unwieldy.

The seven layers are divided into two groups. The top three layers define how the applications within the end stations will communicate with each other and with users. The bottom four layers define how data is transmitted end-to-end.

Fig 1: The seven layers of OSI

Application

Presentation

Session

Transport

Network

Data Link

Physical

The top three layers define how the applications within the end stations will communicate with each other and with the users. The user interacts with the computer at the application layer, and the upper layers are responsible for application communication between hosts. Remember that none of the upper layers know anything about networking or network addresses. That is the responsibility of the four bottom layers.

Transport

Network

Data Link

Physical

Fig 2:                          

Application

Presentation

Session

            The above figure (Fig 2), shows the two groups of OSI layers. The column on the right side represents the bottom four layers of OSI, which define how data is transferred through a physical wire or through switches and routers, and how to rebuild a data stream from a transmitting host to a destination host’s application.

The OSI Layers

            The International Organization for Standardization (ISO) is the Emily Post of the network protocol world. Defining the etiquette of communication models, it remains today the most popular means of comparison for protocol suites. The OSI reference model has seven layers:

  1. The Application layer
  2. The Presentation layer
  3. The Session layer
  4. The Transport layer
  5. The Network layer
  6. The Data Link layer
  7. The Physical layer

Layer Functions

Application

Provides a user interface, such as File, Print, Message, Database, and Application services.

Presentation

Presents Data, Handles processing such as encryption, compression, and Translation services.

Session

Keeps different applications data separate, Dialog Control

Transport

Provides reliable or unreliable delivery, performs error correction before retransmit. End-to-end Connection.

Network

Provides logical addressing which routers use for path determination, Routing.

Data Link

Combines packets into bytes and bytes into frames, provides access to media using MAC address.

Physical

Moves bits between devices.


The Application Layer

            The Application Layer is the top layer of the reference model. It provides a set of interfaces for applications to obtain access to networked services as well as access to the kinds of network services that support applications directly, including services such as networked file transfer, message handling, and database query processing.

            The application layer is where users communicate to the computer. The layer is responsible for identifying and establishing the availability of the intended communication partner and determining if sufficient resources for the intended communication exist.

            The application layer contains a variety of protocols that are commonly needed.

For example, there are hundreds of incompatible terminal types in the world. To handle each terminal type, a piece of software must be written to map the function of the network virtual terminal onto the real terminal.

Some characteristics

  • An end-user interface that provides a human or another application with the means to enter commands that direct the application to send files to and receive files from a remote host, list or change directories, rename or delete files, etc..
  • The means of performing input to and output from mass storage device(s) (disk-tape)
  • The means of transferring the files and file-related information between hosts.

The Presentation layer

            The presentation layer gets its name from its purpose: It presents data to the application layer. The Presentation Layer handles data format information for networked communications. For outgoing messages, it converts data into a generic format that can survive the rigors of network transmission; for incoming messages, it converts data from its generic networked representation into a format that will make sense to the receiving application. A successful data transfer technique is to adapt the data into a standard format before transmission.

            The presentation layer performs certain functions that are requested sufficiently often to warrant finding a general solution for them, rather than letting each user solve the problems. In particular, unlike all the lower layers, which are just interested in moving bits reliably from here to there, the presentation layer is concerned with the syntax and semantics of the information transmitted. In order to make it possible for computers with different representations to communicate, the data structures to be exchanged can be defined in an abstract way, along with a standard encoding to be used “on the wire”. The presentation layer manages these abstract data structures and converts from the representation used inside the computer to the network standard representation and back.

            The presentation layer is also concerned with other aspects of information representation. The OSI has protocol standards that define how standard data should be formatted. For example, data compression can be used to reduce the number of bits that have to be transmitted and cryptography is frequently required for privacy and authentication.

The Session layer

            The Session Layer permits two parties to hold ongoing communications called a session across a network. These applications on either end of the session can exchange data or send packets to another for as long as the session lasts. The Session layer handles session setup, data or message exchanges, and tear-down when the session ends. It also monitors session identification so only designated parties can participate and security services to control access to session information. It coordinates communication between systems and serves to organize their communication by offering three modes: simplex, half-duplex, and full-duplex.

            The session layer allows users on different machines to establish sessions between them. A session allows ordinary data transport, as does the transport layer, but it also provides enhanced services useful in some applications. One of the services of the session layer is to manage dialogue control. Sessions can allow traffic to go in both directions at the same time, or in only one direction at a time. The session layer basically keeps different application’s data separate from other application’s data.

The Transport layer

            The basic function of the transport layer is to accept data from the session layer, split it up into smaller units if need be, pass these to the network layer, and ensure that the pieces all arrive correctly at the other end. Furthermore, all this must be done efficiently, and in a way that isolates the upper layers from the inevitable changes in the hardware technology.

            The transport layer creates a distinct network connection for each transport connection required by the session layer. If the transport connection requires a high throughput, however, the transport layer might create multiple network connections, dividing the data among the network connections to improve throughput. The transport layer also determines what type of service to provide the session layer, and ultimately, the users of the network. The most popular type of transport connection is an error-free point-to-point channel that delivers messages or bytes in the order in which they were sent. The transport layer is a true end-to-end layer. From source to destination. The difference between layers 1 through 3, which are chained, and layers 4 through 7, which are end-to-end.

The Network layer

            The Network layer is responsible for routing through an internetwork and for network addressing. This means that the Network layer is responsible for transporting traffic between devices that are not locally attached.

            When a packet is received on a router interface, the destination IP address is checked. If the packet is not destined for the router, then the router will look up the destination network address in the routing table. Once an existing interface is chosen, the packet will be sent to the interface to be framed and sent out on the local network. If the entry for the destination network is not found in the routing table, the router drops the packet.

The Data Link layer

            The Data Link layer ensures that messages are delivered to the proper devices and translates messages from the Network layer into bits for the Physical layer to transmit. It formats the messages into data frames and adds a customized header containing the hardware destination and source address. In other words, the Data Link Layer transforms a stream of raw bits (0s and 1s) from the physical into a data frame and provides an error-free transfer from one node to another, allowing the layers above it to assume virtually error-free transmission.

The Physical layer

            The Physical layer has two responsibilities: i) to send bits ii) to receive bits. Bits come only in values of 1 and 0’s. The Physical layer communicates directly with the various types of actual communication media. Different kinds of media represent these bit values in different ways. Some use audio tones, while others employ state transitions changes in voltage from high to low and low to high. Basically, this means that the typical role of the physical layer is to transform bits in a computer system into electromagnetic (or equivalent) signals for a particular transmission medium (wire, fiber, ether, etc.).

            The physical layer is concerned with transmitting raw bits over a communication channel. The design issues have to do with making sure that when one side sends a 1 bit, it is received by the other side as a 1 bit, not as 0 bit. It should also note that how many volts should be used to represent a one and how many for zero, how many microseconds a bit lasts, whether transmission may proceed simultaneously in both directions, how the initial connection is established and how it is torn down when both sides are finished, and how many pins the network connector has and what each pin is used for. The design issue here largely deals with mechanical, electrical, and procedural interface, and the physical transmission medium, which lies below the physical layer.

That’s all for now. Thanks a lot.

With regards

VijayAnand