2 OSI reference model
2.1 Layers of communication
An internetwork is a network of networks, composed of terminals, switches and communication media. The overall objective of an internetwork is to allow communication between two (or more) networks. This simple description hides the complications that arise in real networks, in which the types of medium vary, transmission errors occur, transmission links fail, switches fail or become congested, equipment is produced by different manufacturers, networks are owned and maintained by different organisations, and so on.
In large internetworks, communication between systems is a complicated process, and to cope with this complexity the hardware and software in the systems are organised as a hierarchy of layers. Each layer performs some of the functions necessary to achieve communication between systems. The layers, particularly higher layers, are mostly implemented as software components of communication networks. It is very important to appreciate the hierarchical nature of communication systems: each layer, except the lowest, is built upon the layer below. In Figure 4 the functions are divided into four layers. This is just an illustration and different protocol architectures have different numbers of layers. Because one layer is built upon another, each layer provides a particular view of the communication system: that is, the layers provide levels of abstraction of the communication system. This may seem rather vague at present, but it should become more concrete later when we examine some practical examples.

The layered separation of functions can also be seen in everyday examples, such as sending a letter. You write a letter to a friend and enclose it in an envelope with the address written on it. You then post the letter and wait for it to be delivered. You don't give precise instructions about how the letter is to be delivered and what to do if unusual events occur. You leave these sorts of tasks to the postal service – the lower layers. The postal workers should not be interested in the contents of your letter – only the address written on the envelope – and your letter should be delivered with the contents unchanged, that is, free from error. The postal workers will decide the best route for your letter. This may involve carrying the letter by road, rail, sea or air but all this is irrelevant to you (although it may affect the cost of postage and can be considered as part of a quality-of-service agreement). Within the postal service the functions may be divided further. The local postal workers may be interested only in parts of the address to decide to which country or town your letter should be forwarded. Within a town, the postal code or street name may be important to allocate your letter to the appropriate delivery round. Perhaps your friend has moved addresses and has told the postal service to forward their mail to a new address; the postal service would take care of this too.
I hope you can see that you and the postal workers are operating at different levels of abstraction. You may find it helpful to create your own analogies of layering. For instance, you could imagine the layers involved in someone dictating a letter to be translated into another language before or after delivery.
I need to explain what I mean by one layer being built on top of another. A layer can be thought of as providing services to the layer above. How these services are achieved is not the concern of the higher layer: it needs to know how to interact with the services, but not how they are implemented. The specification of the interface between two layers is very important because the equipment implementing the layers may be produced by different manufacturers. In providing services, a layer may perform several important functions. For instance, it is very convenient if the transfer of data can be considered to be free from transmission error. However, transmission errors do occur, and in some media they occur relatively frequently. It greatly simplifies the design of software if one layer performs the functions necessary to detect and correct transmission errors, thereby allowing all higher layers to assume that the transmission is free from this type of error.
A service normally requires some communication between systems in a communication network, and the set of rules which govern the communication is called a protocol. These rules are expressed in terms of the format of messages exchanged between two systems (the syntax), and the way in which the messages should be interpreted (the semantics). In this context, a protocol determines how communication takes place between the same layers in different systems, that is, between peer layers, and for this reason you may see this type of communication referred to as peer-to-peer. The peer layers exchange data as though there is a direct link between the two (as shown in Figure 4), but in reality all the data is passed down through all the layers and is carried by the physical media in the form of signals. However, it is convenient to imagine that there is a direct virtual connection and ignore all lower layers. It is very important to have open and internationally agreed protocols which enable widely different types of equipment to interact with each other.
In 1978 the International Organization for Standardization (ISO) defined a framework for describing the layers in communication networks, called the Open Systems Interconnection (OSI) reference model. Although many networks may not fit the strict definition of the model and the model has been modified with the introduction of sub-layers, the OSI reference model does provide a very good framework for discussing communication networks.
The OSI reference model has seven layers; these are shown at each end system in Figure 5. The layers were chosen after considerable reflection and the choice was influenced by the following broad principles (Tanenbaum, 1996; ITU-T X.200, 1994):
-
There should not be more layers than is necessary.
-
Boundaries should be located where they have proved successful in the past.
-
Boundaries should be located to minimise the interactions between layers.
-
Boundaries should be located where a standardised interface may be useful.
-
Separate layers should be created to perform functions that are associated with different technologies or levels of abstraction.
-
Functions associated with similar technology should be collected together in the same layers.

Before going into more detail about Figure 5, I shall describe very briefly the main functions of each of the seven layers:
-
Physical layer – provides the mechanical, electrical and procedural means for transmitting bits over a communication medium.
-
Data link layer – provides services for the transmission of data between directly connected systems in a communication network.
-
Network layer – handles the routing of data through communication networks.
-
Transport layer – provides reliable end-to-end services without being concerned about the route through communication networks.
-
Session layer – provides facilities to organise and synchronise dialogues, i.e. communications that consist of several strands such as audio and video components.
-
Presentation layer – deals with issues about how data is represented and ensures that the systems agree on how the information is transferred.
-
Application layer – provides the means for application programs to access the communication system represented by the OSI reference model. For instance, the application layer can provide services for supporting file transfer and email.
The lowest three layers are primarily concerned with the problems of transferring data across physical networks, and the highest four layers are associated with end-to-end issues and not the specific details of any communication network. Intermediate systems in Figure 5 are shown as pairs of stacks of layers. Different conditions may be encountered on the two sides of an intermediate system: for instance, different transmission media may link two systems together.
SAQ 3
Briefly summarise the view, or level of abstraction, each layer provides to its higher layer.
Answer
I have listed my version of the views below, but don't worry if you have included other points or you don't understand at this stage all the points I have included.
-
The physical layer deals with the practicalities of transmitting data over a physical medium and hides these from the data link layer. So from the data link layer's viewpoint transmitting data takes the form of sending 1s and 0s.
-
The data link layer may have to deal with errors occurring during transmission and with complications that arise from sharing a transmission medium. These problems are hidden from the network layer.
-
From the network layer's viewpoint a network sends blocks of data between switches, but these blocks may be lost or reordered. The network layer navigates the blocks of data through the network(s) and hides these complications from the transport layer.
-
The transport layer does not need to know about the physical structure, or architecture, of the network(s). It views a network as a direct channel between two users for transporting data.
-
The session layer does not always take any actions associated with the transport of data, but it may have to enhance the services of the transport layer in order to fulfil user requirements. For instance, a session may involve a sequence of independent transactions.
-
The presentation layer provides communication services to users about how certain information is represented, such as dates and people's names.
-
The application layer deals with specific classes of applications and may involve the identification of users.
Requests for service between adjacent layers take place through interfaces, which define the services provided by the lower layer and the operations necessary to interact with the services.