Usually, the analysis of communication protocol stacks begins, relatively reasonably, by considering the seven-layer Open System Interconnection model (seven-layer model or just OSI model or OSI), which the International Organization for Standardization ISO developed jointly with the telecommunications division of the International Telecommunication Union (ITU-T). The OSI model is still an excellent tool for learning the fundamentals of telecommunications network architecture, although it has not gained the popularity its creators hoped for.
The main feature of the OSI model is its openness. This means that an appropriate standardized set of protocols guarantees the possibility of interoperability between equipment from different manufacturers, which is vital not only for equipment and software manufacturers but also for telecom operators, service providers, and users since it dramatically simplifies the procedure for equipping networks.
The OSI model was developed in the 1970s based on experience gained in creating computer networks, mainly global ones. Therefore, its application area, strictly speaking, is packet data networks.
Interestingly enough, global data networks came earlier than local ones. This is explained by the history of the development of computers (computing machines), the first stage of which is associated with mainframes. These vast machines were costly and served many users, who were granted access only for a certain period. Long-distance communication channels were needed to organize such access. In the first stage, the role of such data transmission media was played by analog modems operating over voice-frequency channels (touch-tone) of analog transmission systems (Analog Data Transmission Systems, or ADTS), and the first data transmission protocols were modem protocols of physical levels that ITU-T has standardized in a series of Type V recommendations.
Since the touch-tone ADTS channel is very narrow, with a width of 300 to 3200 Hz, in addition to multi-position modulation methods for data transmission, additional efficient algorithms for using the frequency band were required, particularly data signal compression algorithms. The critical issue with modem data transmission over ADTS channels was the number of errors since touch-tone channels were initially designed only to transmit telephone signals. Therefore, the third group of V-series protocols contains, among other things, error correction protocols.
In terms of error correction, communication systems are divided into systems with and without retransmission of corrupted data elements. In transmission systems over electrical cables subject to external interference and containing many intermediate amplifiers or regenerators, the probability of errors in the data signals is very high. Therefore, the channels of these systems usually retransmit corrupt message fragments. Naturally, this method significantly reduces the data efficiency of channels.
The situation turned around with the transition to optical cables, which are well-protected from external interference and contain a small number of intermediate amplifiers and repeaters. This significantly reduced the number of errors, so it was possible to eliminate error correction at the physical layer and, if necessary, perform it at higher protocol levels.
The active development of local networks began with the advent of mini, micro, and, finally, personal computers (PCs). Thus, telephone networks first formed local ones, and only then, with technological progress, intercity ones; data transmission networks, on the contrary, evolved from global down to local.
The creation of the seven-layer OSI model was based on the following principles:
It is clear that solving such a problem successfully takes not only a lot of experience and knowledge but also a particular artistic approach.
Each layer of the OSI model interacts with three others: it provides services to an upper one, uses the services of a lower one, and accesses an equal (peer) layer of another computer system.
More formally, a service architecture contains three essential elements: the Service User, the Service Provider, and the Service Access Point (SAP).
In this context, a service user is an OSI model layer receiving services from an adjacent OSI model layer. The service provider is the layer of the OSI model that provides services. Finally, SAP is an element of the OSI model through which one OSI layer can request a service from another OSI model layer. Simply put, SAP is nothing more than a service delivery protocol.
For example, the link layer of system A is a user of physical layer services, a service provider for the network layer of this system, and exchanges information with the link layer of system B.
Each layer of the OSI model performs specific functions necessary for the system's proper functioning. Let's list the seven layers of the OSI model from top to bottom and describe their main functions.
Implementations of the four upper layers of the OSI model (application, presentation, session, and transport) can be found in every peripheral device; the three lower layers (network, data link, and physical) are present at all intermediate (transit) connection points between endpoints.
Therefore, all the OSI model layers can be divided into two functionally different groups: the upper and lower layers. The first—also called 'Host Layers' or 'end-end'—are responsible for the operation of applications and are implemented only in software products. The second—'Media Layers' or 'chained'—transmits data. Moreover, the physical and data link layers contain software and hardware components.
A common feature of the three lower levels is that they can support any type of data (including service data) generated by the four upper levels. In other words, the lower levels are utterly indifferent to the data they transmit and are solely concerned with delivering it from one point to another.
In this part, we will talk about the four upper levels that ensure the operation of network applications.
The Application Layer provides services directly to the user's apps. It forms a set of open and standard application programming interfaces (APIs). Implementing the application layer might be complex because many applications use its services. Examples of OSI application layer protocols are distributed directory services by the ITU-T X.500 recommendation and its "lightweight" version (Lightweight Directory Access Protocol, LDAP), as well as remote procedure calls (RPC). The latter is a very efficient way to distribute computing power between the client and the server.
The Presentation Layer performs general data transformation. One of the services at this level is encryption, which ensures information security. In particular, Web server software includes encryption protocols to protect customers' financial information. Another example of a presentation-level service is compression, which reduces the amount of data sent between two computers. Thus, many virtual private network (VPN) implementations use tunneling protocols, where a packet of one protocol is placed inside another packet. The tunneling mechanism requires adding significant service information to the transmitted data, which can be easily compressed. Therefore, VPNs usually include a compression algorithm.
Another typical operation of the presentation level is transcoding, which is less complex than encrypting/decrypting or compressing/decompressing. An example of transcoding is the conversion of ASCII codes to EBCDIC and back according to specific tables. Still, such simple transcoding operations are only sometimes possible. Therefore, the International Organization for Standardization (ISO) has developed a special Abstract Syntax Notation program version 1 (ASN.1), which helps programs running on different machines and written in different programming languages to exchange data.
The Session Layer provides additional services to the transport layer if the connection session is established first. In addition to managing data back and forth, the most important functions of this layer are starting and terminating the session and syncing data. Session layer services are unused if the connection does not need to be established.
The Transport Layer performs error-free, message-oriented end-to-end transmission, and it must support this function regardless of the reliability of the underlying layer. The underlying layer is especially unreliable during packet transmission in connectionless communication. In this case, the transport layer must be 'smart' enough to compensate for the weaknesses of the underlying layer. Due to its greater reliability, the transport layer can be less complex in a connection-oriented packet network. Finally, the underlying service can be highly robust, connection-oriented with channel switching, and have a reliable link-layer protocol. In this case, the transport layer does not need to do anything to ensure consistently high transmission quality. Thus, the complexity of the transport layer is inversely proportional to the reliability of the underlying layers. To perform its main task—error-free delivery of messages—the transport layer provides the functions of addressing, opening, and closing connections, assigning priority to data, monitoring and error correction, data flow control, failure recovery, and multiplexing.
Continued in the next Around Cable category post.
Hi! I'm Kevin! I am a very curious engineer :))
I'm the website founder and author of many posts.
I invite you to follow exciting experiments, research, and challenges.
Let's go on to new knowledge and adventures!