5.5. Multi-level approach. Protocol. Interface. Protocol stack

Lecture



The interaction between devices on the network is a complex task. To solve it, apply the universal technique - decomposition, which consists in splitting one complex task into several simpler module tasks. Decomposition consists of a clear definition of the functions of each module that solves a separate task, and the interfaces between them. As a result, a logical simplification of the task is achieved, moreover, it becomes possible to transform individual modules without changing the rest of the system.

In decomposition, a multi-level approach is sometimes used. In this case, all modules are divided into levels that form a hierarchy, that is, there are overlying and underlying levels. The modules constituting each level are formed in such a way that, in order to fulfill their tasks, they address requests only to those modules that are directly adjacent to the underlying levels. However, the results of the work of all modules that belong to a certain level can be transferred only to the modules of the neighboring upper level. With this hierarchical decomposition of the task, it is necessary to clearly define the function of each level and the interfaces between the levels. The interface establishes a set of functions provided by the underlying layer above. As a result of hierarchical decomposition, considerable independence of levels is achieved, i.e., the possibility of their easy replacement.

Networking tools can also be represented in the form of a hierarchically organized set of modules. In this case, the modules of the lower level are able, in particular, to solve all the problems associated with the reliable transmission of electrical signals between two neighboring nodes. Higher-level modules will create message transport within the entire network, using the means of the underlying level. At the top level, there are modules that provide users with access to various services, including file service, print service, etc. However, this is only one of many possible ways to divide the overall task of organizing network interaction into private, smaller sub-tasks.

The multi-level approach applied to the description and implementation of system functions is used not only in relation to network facilities. This action model is used, for example, in local file systems, if an incoming request to access a file is processed in turn by several program levels, primarily the top level, which sequentially parses the composite symbolic file name and determines the unique file identifier. The subsequent level finds all the remaining characteristics of the file by its unique name: address, access attributes, etc. After that, the lower level checks access rights to this file, and then, after calculating the coordinates of the file area containing the necessary data, physical exchange is performed with an external device using a disk driver.

The multi-level presentation of the means of network interaction has its own specifics, which is related to the fact that two machines are involved in the exchange of messages, that is, in this case, the coordinated work of the two “hierarchies” should be organized. When sending messages, both members of a network exchange must accept many agreements. For example, they need to agree on the levels and form of electrical signals, the way to determine the length of messages, agree on ways to control the reliability, etc. Thus, agreements should be adopted for all levels, starting from the lowest level, which are the transmission levels of bits, to high, which performs the service for network users.

Modules that implement adjacent layer protocols that are located in the same node also interact with each other in accordance with well-defined norms and with the help of standardized message formats. These rules are called interface. An interface is a set of services that are provided by a given layer to a neighboring layer. In fact, the protocol and interface define the same concept, but traditionally in networks they have assigned different scopes: protocols assign rules for the interaction of modules of one level in different nodes, and interfaces define modules of neighboring levels in one node.

The tools of any level should work, firstly, on their own protocol, and secondly, on interfaces with neighboring levels.

A hierarchically organized set of protocols that is sufficient for organizing the interaction of nodes in a network is called the communication protocol stacks.

Communication protocols can be performed both in software and hardware. Lower layer protocols are most often implemented by a combination of software and hardware, and upper layer protocols are usually purely software.

A software module that implements a protocol is often also referred to as a protocol for brevity. In this case, the relationship between a protocol — a formally defined procedure and a protocol — is a software module that performs this procedure, similar to the relationship between an algorithm for solving a certain problem and a program that solves this problem.

The same algorithm can be programmed with varying degrees of efficiency. Similarly, a protocol may have several implementation tools. On this basis, when comparing protocols, it is necessary to consider not only the logic of their work, but also the quality of software solutions. In addition, the effectiveness of the interaction of devices in a network is influenced by the quality of the entire set of protocols that make up the stack, in particular, how efficiently the functions are distributed between the protocols of different levels and how well the interfaces between them are defined.

Protocols are organized not only by computers, but also by other network devices, such as hubs, bridges, switches, routers, etc. In the general case, computers are not connected to the network directly, but through various communication devices. Depending on the type of device, it requires certain built-in tools that implement one or another set of protocols.


Comments


To leave a comment
If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Informatics

Terms: Informatics