Axis network model. Osi reference model levels. Open system interaction model

The OSI model is a conceptual model created by the International Organization for Standardization that allows various communication systems to communicate using standard protocols. In simple terms, OSI provides a standard for various computer systems to be able to communicate with each other.

OSI models can be thought of as a universal language for computer networks. It is based on the concept of dividing the communication system into seven abstract layers, each of which fits into the last.
Each layer of the OSI model does specific work and interacts with layers above and below itself. target specific levels of network connectivity. Application layer attacks target layer 7 and protocol layer attacks target layers 3 and 4.

Why OSI Models Matter

Although the modern Internet does not strictly follow the OSI model (it more closely matches the simpler set of Internet protocols), the OSI model is still very useful for troubleshooting network problems. Whether it's one person who can't get their port on the internet, or a website isn't working for thousands of users, the OSI model can solve the problem and isolate its source. If the problem can be narrowed down to one specific layer of the model, a lot of unnecessary work can be avoided.

The seven abstraction layers of the OSI model can be defined as follows, from top to bottom:

7. Application level

This is the only layer that directly interacts with user data. Software applications such as web browsers and email clients use the application layer to initiate communication. However, it should be clearly stated that client software applications are not part of the application layer. Rather, the application layer is responsible for the protocols and data processing that the software relies on to present meaningful data to the user. Application layer protocols include HTTP as well as SMTP, one of the protocols that enables communication via email.

6. Presentation layer

This layer is primarily responsible for preparing the data so that it can be used by the application layer. In other words, Layer 6 makes the data presentable to applications. The presentation layer is responsible for translating, encrypting and compressing data.

Two communicating devices can use different encoding methods, so layer 6 is responsible for converting the input data into syntax that is understandable by the application layer of the receiving device.
If devices communicate over an encrypted connection, layer 6 is responsible for adding encryption on the sender's side, as well as decoding the encryption on the receiver's side so that it can present the application layer with unencrypted, readable data.

Finally, the presentation tier is also responsible for compressing the data received from the application tier before delivering it to the tier. This helps to improve communication speed and efficiency by minimizing the amount of data transferred.

5. Session level

This layer is responsible for opening and closing communication between two devices. The time between the opening and closing of a connection is called a session. The session layer ensures that the session remains open long enough to transfer all exchanged data, and then quickly closes the session to avoid wasting resources.
The session layer also synchronizes data transfers with checkpoints. For example, when transferring a 100 megabyte file, the session layer might checkpoint every 5 megabytes. In the event of a disconnect or failure after a 52 megabyte transfer, the session can be resumed from the last checkpoint, which means another 50 megabytes of data must be transferred. Without checkpoints, the entire transfer would have to start from scratch.

4. Transport layer

Layer 4 is responsible for end-to-end communication between the two devices. This involves getting data from the session layer and breaking it up into chunks called segments before sending it to layer 3. The transport layer at the receiving device is responsible for reassembling the segments into data that the session layer can use.
The transport layer is responsible for flow control and error control. Flow control determines the optimal transmission rate to ensure that a sender with a fast connection does not overwhelm a receiver with a slow connection. The transport layer performs error control at the receiving end, ensuring that the received data is complete, and requesting retransmission if it is not.

3. Network layer

The network layer is responsible for facilitating the transfer of data between two different networks. If two communicating devices are on the same network, then the network layer is unnecessary. The network layer splits the transport layer segments into smaller units called packets at the sender's device and reassembles those packets at the receiving device. The network layer also finds the best physical path that data takes to reach its destination. This is called routing.

2. Data link layer

Very similar to the network layer, except that layer 2 facilitates the transfer of data between two devices on the same network. This link layer receives packets from the network layer and divides them into smaller parts called frames. Like the network layer, the data link layer is also responsible for flow control and error management in intra-network communications (the transport layer only performs flow control and error control for internetwork communication).

1. Physical layer

This layer includes the physical equipment involved in transmitting data, such as cables and switches. It is also the layer where the data is converted to a bitstream, which is a string of 1s and 0s. The physical layer of both devices must also negotiate a signaling agreement so that 1s can be distinguished from 0s on both devices.

Data streams through the OSI model

For human-readable information to travel from one device to another over the network, the data must travel down seven layers of the OSI model on the sending device and then up seven layers on the receiving side.
For example, someone wants to send a letter to a friend. The sender composes his message in the email attachment on his laptop and then clicks send. Its mail application will pass the email message to the application tier, which will choose the protocol (SMTP) and pass the data to the presentation tier. The data is then compressed and passed to the session layer, which initializes the communication session.

Then the data will go to the transport layer of the sender, where it will be segmented, then these segments will be broken into packets at the network layer, which will be split even further into frames at the data link layer. This layer will take them to the physical layer, which converts the data into a 1s and 0s bitstream and sends it through a physical medium such as a cable.
Once the recipient's computer receives the bitstream through a physical medium (like wifi), the data will go through the same series of layers on his device, but in reverse order. First, the physical layer converts the bitstream from 1s and 0s into frames, which are transmitted to the data link layer. The data link layer will then assemble the frames into packets for the network layer. The network layer will then make segments from packets for the transport layer, which will collect the segments into one piece of data.

The data then flows to the receiver session layer, which transfers the data to the presentation layer, and then ends the communication session. The presentation layer then removes the compression and passes the raw data to the application layer. The application layer will then transmit human-readable data along with the recipient's email software, allowing the sender's email to be read on the laptop screen.

In the video: OSI model and TCP IP protocol stack. Ethernet basics.

In networked science, as in any other field of knowledge, there are two fundamental approaches to learning: movement from general to specific and vice versa. Well, not that in life people use these approaches in their pure form, but nevertheless, at the initial stages, each student chooses for himself one of the above directions. For a higher school (at least a (post) Soviet-style), the first method is more characteristic, for self-education, the second is most often: a person worked for himself in the network, solved from time to time small single-user administrative tasks, and suddenly he wanted to figure out how, Actually, all this crap is arranged?

But the purpose of this article is not a philosophical discourse on teaching methodology. I would like to present to the attention of novice networkers that general and most importantly, from which, like from a stove, you can dance to the most sophisticated private shops. By understanding the seven-layer OSI model and learning to "recognize" its layers in the technologies you already know, you can easily move on in any direction you choose in the networking industry. The OSI model is the framework upon which any new knowledge about networks will be hung.

This model is somehow mentioned in almost any modern literature on networks, as well as in many specifications of specific protocols and technologies. Not feeling the need to reinvent the wheel, I decided to publish excerpts from the work of N. Olifer, V. Olifer (Center for Information Technologies) entitled "The Role of Communication Protocols and the Functional Purpose of the Main Types of Equipment in Corporate Networks", which I consider to be the best and most comprehensive publication on this topic. ...

editor-in-chief

model

The fact that a protocol is an agreement adopted by two interacting entities, in this case two computers operating on a network, does not at all follow that it is necessarily a standard. But in practice, when implementing networks, they tend to use standard protocols. These can be proprietary, national, or international standards.

The International Standards Organization (ISO) has developed a model that clearly defines the different levels of interaction between systems, gives them standard names, and specifies what work each level should do. This model is called the Open System Interconnection (OSI) model or ISO / OSI model.

The OSI model divides communication into seven layers or layers (Figure 1.1). Each level deals with one specific aspect of interaction. Thus, the problem of interaction is decomposed into 7 particular problems, each of which can be solved independently of the others. Each layer supports interfaces with higher and lower layers.

Rice. 1.1. ISO / OSI Open Systems Interconnection Model

The OSI model describes only system communications, not end-user applications. Applications implement their own communication protocols by accessing system tools. It should be borne in mind that an application can take over the functions of some of the upper layers of the OSI model, in which case, if necessary, internetworking, it directly accesses the system tools that perform the functions of the remaining lower layers of the OSI model.

An end-user application can use system communication tools not only to establish a dialogue with another application running on another machine, but also simply to receive services of a particular network service, for example, accessing remote files, receiving mail, or printing on a shared printer.

So let's say an application makes a request to an application layer, such as a file service. Based on this request, the application software generates a message in a standard format, into which it places service information (header) and, possibly, the transmitted data. This message is then sent to the representative layer. The presentation layer adds its own header to the message and passes the result down to the session layer, which in turn adds its own header, and so on. Some protocol implementations provide for the presence of not only a header, but also a trailer in the message. Finally, the message reaches the lowest, physical layer that actually carries it over the communication lines.

When a message arrives over the network to another machine, it sequentially moves up from level to level. Each level analyzes, processes and deletes the heading of its level, performs the functions corresponding to this level and passes the message to the higher level.

In addition to the term "message", there are other names used by network professionals to denote a unit of data exchange. ISO standards use a term such as Protocol Data Unit (PDU) for protocols of any layer. In addition, the names frame (frame), packet (packet), datagram (datagram) are often used.

ISO / OSI Model Layer Functions

Physical layer - This layer deals with the transmission of bits over physical channels such as coaxial cable, twisted pair cable, or fiber optic cable. This level is related to the characteristics of physical data transmission media, such as bandwidth, noise immunity, characteristic impedance, and others. At the same level, the characteristics of electrical signals are determined, such as requirements for pulse edges, voltage or current levels of the transmitted signal, the type of coding, and the signal transmission rate. In addition, the types of connectors and the purpose of each contact are standardized here.

The physical layer functions are implemented in all devices connected to the network. On the computer side, the physical layer functions are performed by a network adapter or serial port.

An example of a physical layer protocol is the 10Base-T Ethernet specification, which defines the cable to be used as an unshielded twisted pair of category 3 with a characteristic impedance of 100 Ohm, an RJ-45 connector, a maximum length of a physical segment of 100 meters, a Manchester code for representing data on the cable, and other characteristics of the environment and electrical signals.

Link layer - In the physical layer, bits are simply sent. This does not take into account that in some networks, in which communication lines are used (shared) alternately by several pairs of interacting computers, the physical transmission medium may be busy. Therefore, one of the tasks of the link layer is to check the availability of the transmission medium. Another task of the data link layer is to implement error detection and correction mechanisms. To do this, at the data link layer, bits are grouped into sets called frames. The link layer ensures that each frame is transmitted correctly by placing a special sequence of bits at the beginning and end of each frame to mark it, and also calculates a checksum by summing all the bytes of the frame in a specific way and adding the checksum to the frame. When a frame arrives, the receiver computes the checksum of the received data again and compares the result with the checksum from the frame. If they match, the frame is considered correct and accepted. If the checksums do not match, then an error is recorded.

The link layer protocols used in local networks have a certain structure of connections between computers and methods of their addressing. Although the link layer ensures the delivery of a frame between any two nodes of the local network, it does so only in a network with a completely defined link topology, exactly the topology for which it was designed. Common bus, ring, and star are typical topologies supported by LAN link-layer protocols. Examples of link layer protocols are Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

In local area networks, link-layer protocols are used by computers, bridges, switches, and routers. In computers, link layer functions are implemented jointly by network adapters and their drivers.

In wide area networks, which rarely have a regular topology, the data link layer provides the exchange of messages between two neighboring computers connected by an individual communication line. Examples of point-to-point protocols (as such protocols are often called) are the widely used PPP and LAP-B protocols.

Network layer This layer serves to form a single transport system that unites several networks with different principles of information transfer between end nodes. Let's consider the functions of the network layer using the example of local networks. The data link layer protocol of local networks ensures the delivery of data between any nodes only in a network with an appropriate typical topology... This is a very severe limitation that does not allow building networks with a developed structure, for example, networks that combine several enterprise networks into a single network, or highly reliable networks in which there are redundant connections between nodes. In order, on the one hand, to preserve the simplicity of data transfer procedures for typical topologies, and on the other hand, to allow the use of arbitrary topologies, an additional network layer is used. At this level, the concept of "network" is introduced. In this case, a network is understood as a set of computers interconnected in accordance with one of the standard typical topologies and using one of the data link-layer protocols defined for this topology for data transmission.

Thus, within the network, data delivery is regulated by the link layer, but the network layer is responsible for the delivery of data between networks.

Network layer messages are usually called packets... When organizing packet delivery at the network level, the concept is used "network number"... In this case, the recipient's address consists of a network number and a computer number on that network.

Networks are interconnected by special devices called routers. Router is a device that collects information about the topology of interconnection and, based on it, forwards network layer packets to the destination network. In order to transfer a message from a sender located in one network to a recipient located in another network, you need to make a number of hops between the networks, each time choosing a suitable route. Thus, a route is a sequence of routers through which a packet passes.

The problem of choosing the best path is called routing and its solution is the main task of the network layer. This problem is compounded by the fact that the shortest path is not always the best. Often a criterion for choosing a route is the time of data transmission along this route; it depends on the bandwidth of communication channels and traffic intensity, which may change over time. Some routing algorithms try to adapt to changes in load, while others make decisions based on averages over time. Route selection can be carried out according to other criteria, for example, transmission reliability.

At the network layer, two kinds of protocols are defined. The first type relates to the definition of rules for the transfer of packets with data of end nodes from a node to a router and between routers. These are the protocols that are commonly referred to when talking about network layer protocols. The network layer also includes another type of protocol, called routing exchange protocols... Using these protocols, routers collect information about the topology of interconnection. Network layer protocols are implemented by operating system software modules, as well as by software and hardware of routers.

Examples of network layer protocols are the IP interworking protocol of the TCP / IP stack and the IPX internetworking protocol of the Novell stack.

Transport layer - On the way from source to destination, packets can be garbled or lost. While some applications have their own error handling facilities, there are others that prefer to deal with a reliable connection straight away. The job of the transport layer is to ensure that applications or the upper layers of the stack — application and session — pass data with the degree of reliability they require. The OSI model defines five classes of service provided by the transport layer. These types of services are distinguished by the quality of the services provided: urgency, the ability to restore an interrupted connection, the availability of multiplexing facilities for multiple connections between different application protocols via a common transport protocol, and most importantly, the ability to detect and correct transmission errors such as distortion, loss and duplication of packets.

The choice of the class of service of the transport layer is determined, on the one hand, by the extent to which the problem of ensuring reliability is solved by the applications themselves and protocols higher than the transport levels, and on the other hand, this choice depends on how reliable the entire data transport system is. online. So, for example, if the quality of communication channels is very high, and the probability of errors that are not detected by the protocols of lower levels is small, then it is reasonable to use one of the lightweight services of the transport layer, not burdened with numerous checks, acknowledgment and other methods of increasing reliability. If the vehicles are initially very unreliable, then it is advisable to turn to the most developed service of the transport layer, which works using the maximum means for detecting and eliminating errors - by preliminary establishing a logical connection, monitoring message delivery using checksums and cyclic numbering of packets, establishing delivery timeouts, etc.

As a rule, all protocols, starting from the transport layer and higher, are implemented by the software of the end nodes of the network - the components of their network operating systems. Examples of transport protocols include the TCP and UDP protocols of the TCP / IP stack and the SPX protocol of the Novell stack.

Session layer - The session layer provides control of the conversation in order to record which side is currently active, and also provides a means of synchronization. The latter allow breakpoints to be inserted into long passes so that if a failure occurs, you can go back to the last breakpoint instead of starting over. In practice, few applications use the session layer, and it is rarely implemented.

Presentation layer - This layer provides assurance that the information conveyed by the application layer will be understood by the application layer on another system. If necessary, the presentation layer converts the data formats into some common presentation format, and at the reception, accordingly, performs the reverse conversion. In this way, application layers can overcome, for example, syntactic differences in data presentation. At this level, data encryption and decryption can be performed, thanks to which the secrecy of data exchange is ensured for all application services at once. An example of a protocol that operates at the presentation layer is Secure Socket Layer (SSL), which provides secure messaging for the application layer protocols of the TCP / IP stack.

Application Layer: The Application Layer is really just a collection of various protocols by which network users can access shared resources such as files, printers, or hypertext Web pages, and organize their collaboration, for example, using the e-mail protocol. ... The unit of data that the application layer operates on is usually called message .

There is a very wide variety of application layer protocols. Let's take as examples at least a few of the most common file service implementations: NCP in the Novell NetWare operating system, SMB in Microsoft Windows NT, NFS, FTP, and TFTP included in the TCP / IP stack.

The OSI model, although very important, is only one of many communication models. These models and their associated protocol stacks can differ in the number of layers, their functions, message formats, services provided at the upper layers, and other parameters.

Characteristics of popular stacks of communication protocols

So, the interaction of computers in networks occurs in accordance with certain rules for the exchange of messages and their formats, that is, in accordance with certain protocols. A hierarchically organized set of protocols that solve the problem of interaction between network nodes is called a communication protocol stack.

There are many protocol stacks that are widely used in networks. These are stacks that are international and national standards, and proprietary stacks that have become widespread due to the prevalence of equipment from a particular company. Examples of popular protocol stacks include Novell's IPX / SPX stack, the TCP / IP stack used on the Internet and many UNIX-based networks, the International Standards Organization's OSI stack, Digital Equipment Corporation's DECnet stack, and a few others.

The use of a particular stack of communication protocols in a network largely determines the face of the network and its characteristics. On small networks, only one stack can be used. In large corporate networks that connect different networks, as a rule, several stacks are used in parallel.

Communication equipment implements lower-layer protocols that are more standardized than higher-layer protocols, and this is a prerequisite for the successful collaboration of equipment from different manufacturers. The list of protocols supported by a particular communication device is one of the most important characteristics of this device.

Computers implement communication protocols in the form of corresponding software elements of a network operating system, for example, data link-layer protocols, as a rule, are made in the form of network adapter drivers, and upper-layer protocols in the form of server and client components of network services.

The ability to work well in the environment of a particular operating system is an important characteristic of communication equipment. You can often read in advertisements for a network adapter or hub that it was designed specifically to run on a NetWare or UNIX network. This means that the hardware developers have optimized its characteristics in relation to the protocols used in this network operating system, or to the given version of their implementation, if these protocols are used in different operating systems. Due to the peculiarities of the implementation of protocols in various operating systems, one of the characteristics of communication equipment is its certification for the ability to work in the environment of this operating system.

At the lower layers - physical and channel - almost all stacks use the same protocols. These are well-standardized protocols Ethernet, Token Ring, FDDI and some others, which allow using the same hardware in all networks.

The networking and higher layer protocols of the existing standard stacks are very diverse and generally do not follow the ISO model's recommended layering. In particular, in these stacks, the session and presentation layer functions are most often combined with the application layer. This discrepancy is due to the fact that the ISO model appeared as a result of a generalization of existing and actually used stacks, and not vice versa.

OSI stack

A distinction should be made between the OSI protocol stack and the OSI model. While the OSI model conceptually defines the procedure for interoperability of open systems, decomposing the task into 7 layers, standardizing the purpose of each layer and introducing standard layer names, the OSI stack is a set of very specific protocol specifications that form a coherent protocol stack. This protocol stack is supported by the US government in its GOSIP program. All computer networks installed in government offices after 1990 must either directly support the OSI stack or provide the means to migrate to this stack in the future. However, the OSI stack is more popular in Europe than in the US, as there are fewer older networks in Europe that use their own protocols. There is also a great need for a common stack in Europe as there are a large number of different countries.

It is an international, manufacturer-independent standard. It can provide communication between corporations, partners and suppliers. This communication is complicated by addressing, naming, and data security issues. All of these problems in the OSI stack are partially resolved. OSI protocols are CPU intensive, making them more suitable for powerful machines than for personal computer networks. Most organizations are still planning to move to the OSI stack. Among those working in this direction are the US Navy and NFSNET. One of the largest manufacturers supporting OSI is AT&T. Its Stargroup network is entirely based on the OSI stack.

For obvious reasons, the OSI stack, unlike other standard stacks, is fully consistent with the OSI interoperability model, it includes specifications for all seven layers of the open systems interoperability model (Figure 1.3).


Rice. 1.3. OSI stack

On The OSI stack supports Ethernet, Token Ring, FDDI, LLC, X.25, and ISDN protocols. These protocols will be discussed in detail in other sections of the manual.

Services network, transport and session levels are also available in the OSI stack, but they are not widely used. At the network level, both connectionless and connectionless protocols are implemented. The OSI stack transport protocol, in accordance with the functions defined for it in the OSI model, hides the differences between connection-oriented and connectionless network services, so that users receive the desired quality of service regardless of the underlying network layer. To achieve this, the transport layer requires the user to specify the desired quality of service. Five classes of transport service are defined, from the lowest class 0 to the highest class 4, which differ in the degree of resistance to errors and the requirements for data recovery after errors.

Services application level include file transfer, terminal emulation, directory service, and mail. Of these, the most promising are directory service (X.500 standard), email (X.400), virtual terminal protocol (VT), file transfer, access and control protocol (FTAM), transfer and work control protocol (JTM). Recently, ISO has focused on top-level services.

X.400

is the CCITT family of recommendations that describe electronic messaging systems. X.400 recommendations are by far the most popular messaging protocol. X.400 Recommendations describe the model of the messaging system, the protocols of interaction between all components of this system, as well as the many types of messages and the capabilities that the sender has for each type of message sent.

X.400 Recommendations define the following minimum required set of services provided to users: access control, maintenance of unique system message identifiers, notification of delivery or non-delivery of a message with a reason, indication of the type of message content, indication of transformation of message content, time stamps in transmission and delivery, selecting a delivery category (urgent, non-urgent, normal), multicast delivery, delayed delivery (up to a certain point in time), converting content to interact with incompatible mail systems, for example, telex and fax services, asking if a particular message has been delivered, mailing lists, which can have a nested structure, means of protecting messages from unauthorized access, based on an asymmetric public key cryptosystem.

The purpose of the recommendations X.500 is the development of standards for the global reference service. The process of delivering a message requires knowledge of the recipient's address, which is a problem with large networks, so you need to have a help desk to help you get the addresses of senders and recipients. In general terms, an X.500 service is a distributed database of names and addresses. All users are potentially allowed to enter this database using a specific set of attributes.

The following operations are defined on the database of names and addresses:

  • reading - getting an address by a known name,
  • request - getting a name from known address attributes,
  • modification involving deletion and addition of records in the database.

The main challenges in implementing the X.500 recommendations stem from the sheer scale of this project, which claims to be a worldwide reference service. Therefore, software that implements X.500 recommendations turns out to be quite cumbersome and places high demands on hardware performance.

Protocol VT solves the problem of incompatibility of various terminal emulation protocols. Currently, the user of a personal computer compatible with IBM PC, in order to simultaneously work with computers VAX, IBM 3090 and HP9000, needs to purchase three different programs for emulating terminals of different types and using different protocols. If every host computer had ISO terminal emulation protocol software, then the user would only need one program that supports the VT protocol. ISO has accumulated widely used terminal emulation features in its standard.

File transfer is the most common computer service. All applications — text editors, email, databases, or remote launchers — need access to files, both local and remote. ISO provides such a service in the protocol FTAM... Along with the X.400 standard, it is the most popular OSI stack standard. FTAM provides a means for localizing and accessing file contents and includes a set of directives for inserting, replacing, expanding, and clearing file contents. FTAM also provides facilities for manipulating a file as a whole, including creating, deleting, reading, opening, closing a file, and selecting its attributes.

Transfer and Job Control Protocol JTM Allows users to upload jobs to be done on the host computer. The job control language, which handles the job transfer, tells the host computer what actions should be performed with what programs and files. The JTM protocol supports traditional batch processing, transaction processing, remote job input, and distributed database access.

TCP / IP stack

The TCP / IP stack, also called the DoD stack and the Internet stack, is one of the most popular and promising communication protocol stacks. If at present it is distributed mainly in networks with UNIX OS, then its implementation in the latest versions of network operating systems for personal computers (Windows NT, NetWare) is a good prerequisite for the rapid growth in the number of installations of the TCP / IP stack.

The stack was initiated by the US Department of Defense (DoD) over 20 years ago to link the experimental ARPAnet to other satellite networks as a set of common protocols for heterogeneous computing environments. The ARPA network has supported developers and researchers in the military. In the ARPA network, communication between two computers was carried out using the Internet Protocol (IP), which to this day is one of the main in the TCP / IP stack and appears in the name of the stack.

The University of Berkeley made a major contribution to the development of the TCP / IP stack by implementing the stack protocols in its version of the UNIX OS. The widespread adoption of UNIX has led to the widespread adoption of IP and other protocols in the stack. This is the same stack that powers the worldwide Internet, whose Internet Engineering Task Force (IETF) is a major contributor to the advancement of stack standards, published in the form of RFC specifications.

Since the TCP / IP stack was developed before the emergence of the ISO / OSI open systems interoperability model, although it also has a layered structure, the correspondence of the TCP / IP stack layers to the OSI model layers is rather arbitrary.

The structure of the TCP / IP protocols is shown in Figure 1.4. TCP / IP protocols are divided into 4 layers.

Rice. 1.4. TCP / IP stack

The lowest ( level IV ) - the layer of gateways - corresponds to the physical and data link layers of the OSI model. This layer is not regulated in the TCP / IP protocols, but it supports all popular standards of the physical and link layer: for local channels it is Ethernet, Token Ring, FDDI, for global channels - its own protocols for working on analog dial-up and leased lines SLIP / PPP, which establish point-to-point connections over serial WAN links, and X.25 and ISDN WAN protocols. A special specification has also been developed that defines the use of ATM technology as a data link layer transport.

Next level ( level III ) is an interworking layer that deals with the transmission of datagrams using various local networks, X.25 wide area networks, special communication lines, etc. As the main network layer protocol (in terms of the OSI model), the stack uses the protocol IP, which was originally designed as a packet transfer protocol in concatenated networks, consisting of a large number of local networks, united by both local and global connections. Therefore, the IP protocol works well in networks with complex topologies, rationally using the presence of subsystems in them and economically using the bandwidth of low-speed communication lines. IP is a datagram protocol.

All protocols associated with the compilation and modification of routing tables, such as protocols for collecting routing information, also belong to the layer of interworking. RIP(Routing Internet Protocol) and OSPF(Open Shortest Path First) as well as Internet Control Message Protocol ICMP(Internet Control Message Protocol). The latter protocol is intended for the exchange of information about errors between the router and the gateway, the source system and the receiver system, that is, for organizing feedback. With the help of special ICMP packets, it is reported that a packet cannot be delivered, that the lifetime or the duration of assembling a packet from fragments has been exceeded, abnormal parameter values, a change in the forwarding route and type of service, the state of the system, etc.

Next level ( level II) is called main. At this level, the transmission control protocol functions TCP(Transmission Control Protocol) and User Datagram Protocol UDP(User Datagram Protocol). TCP provides a persistent virtual connection between remote application processes. The UDP protocol provides for the transmission of application packets using a datagram method, that is, without establishing a virtual connection, and therefore requires less overhead than TCP.

Top level ( level I) is called applied. Over the years of use in networks of various countries and organizations, the TCP / IP stack has accumulated a large number of application-level protocols and services. These include such widely used protocols as the FTP file copying protocol, telnet terminal emulation protocol, the SMTP mail protocol used in e-mail on the Internet and its Russian branch RELCOM, hypertext services for accessing remote information, such as WWW, and many others. Let us dwell in some detail on some of them that are most closely related to the subject of this course.

Protocol SNMP(Simple Network Management Protocol) is used to organize network management. The problem of management is divided here into two tasks. The first task is related to the transfer of information. Control information transfer protocols define the procedure for interaction between the server and the client program running on the administrator's host. They define the formats of messages that clients and servers exchange, as well as the formats of names and addresses. The second challenge relates to controlled data. The standards regulate what data should be stored and accumulated in gateways, the names of these data and the syntax of these names. The SNMP standard defines a specification for a network management information database. This specification, known as the Management Information Base (MIB), defines the items of data that a host or gateway must store and what operations are allowed on them.

File transfer protocol FTP(File Transfer Protocol) implements remote file access. In order to ensure reliable transmission, FTP uses the connection-oriented protocol TCP as its transport. Besides the file transfer protocol, FTP offers other services. So the user is given the opportunity to interactively work with a remote machine, for example, he can print the contents of its catalogs, FTP allows the user to specify the type and format of the stored data. Finally, FTP performs user authentication. Before accessing the file, according to the protocol, users must provide their username and password.

In the TCP / IP stack, FTP offers the widest range of file services, but it is also the most difficult to program. Applications that do not require all the capabilities of FTP can use a different, more economical protocol - the simplest file transfer protocol TFTP(Trivial File Transfer Protocol). This protocol implements only file transfer, and as a transport it uses a simpler than TCP, connectionless protocol - UDP.

Protocol telnet provides the transfer of a stream of bytes between processes, as well as between a process and a terminal. Most often this protocol is used to emulate the terminal of a remote computer.

IPX / SPX stack

This stack is the original Novell protocol stack that it developed for its NetWare network operating system back in the early 1980s. The Internetwork Packet Exchange (IPX) and Sequenced Packet Exchange (SPX) protocols, which gave the stack its name, are direct adaptations of Xerox's XNS protocols, which are far less common than IPX / SPX. IPX / SPX are leading in the number of installations, and this is due to the fact that NetWare itself has a leading position with a worldwide installation share of approximately 65%.

The Novell protocol family and their correspondence to the ISO / OSI model are shown in Figure 1.5.

Rice. 1.5. IPX / SPX stack

On physical and data link levels all popular protocols of these layers are used in Novell networks (Ethernet, Token Ring, FDDI and others).

On network layer the Novell stack runs a protocol IPX, as well as routing information exchange protocols RIP and NLSP(an analogue of the OSPF protocol of the TCP / IP stack). IPX is the protocol that deals with addressing and routing packets on Novell networks. IPX routing decisions are based on the address fields in the header of its packet, as well as information from the routing exchange protocols. For example, IPX uses information supplied by either RIP or NetWare Link State Protocol (NLSP) to forward packets to the destination computer or the next router. The IPX protocol only supports datagram messaging, which is economical in computing power. In summary, IPX provides three functions: addressing, routing, and datagram distribution.

The OSI transport layer in the Novell stack corresponds to the SPX protocol, which communicates connection-oriented messages.

On the upper application, representative and session levels NCP and SAP protocols work. Protocol NCP(NetWare Core Protocol) is a protocol between the NetWare server and the workstation shell. This application layer protocol implements the client-server architecture at the upper layers of the OSI model. Using the functions of this protocol, a workstation connects to the server, maps server directories to local drive letters, scans the server file system, copies remote files, changes their attributes, etc., and also shares a network printer between workstations.

(Service Advertising Protocol) - Service Advertising Protocol - conceptually similar to RIP. Just as RIP allows routers to exchange routing information, SAP allows network devices to exchange information about available network services.

Servers and routers use SAP to advertise their services and network addresses. The SAP protocol allows network devices to continually update what services are currently available on the network. At startup, the servers use SAP to notify the rest of the network about their services. When the server shuts down, it uses SAP to notify the network about the termination of its services.

On Novell networks, NetWare 3.x servers send SAP broadcasts every minute. SAP packets are pretty much clogging up the network, so one of the main tasks of routers going out to global connections is to filter the traffic of SAP packets and RIP packets.

The peculiarities of the IPX / SPX stack are due to the peculiarities of the NetWare OS, namely, the orientation of its earlier versions (up to 4.0) to work in small local networks, consisting of personal computers with modest resources. Therefore, Novell needed protocols that required a minimum amount of RAM (limited to 640 KB in IBM-compatible computers running MS-DOS) and that would run quickly on processors with little processing power. As a result, the protocols of the IPX / SPX stack until recently worked well in local networks and not very well in large corporate networks, since they overloaded slow global connections with broadcast packets that are intensively used by several protocols of this stack (for example, to establish communication between clients and servers).

This circumstance, as well as the fact that the IPX / SPX stack is the property of Novell and must be licensed from it, has long limited its distribution to NetWare networks only. However, by the time NetWare 4.0 was released, Novell had made and continues to make major changes to its protocols to make them work in corporate networks. Now the IPX / SPX stack is implemented not only in NetWare, but also in several other popular network operating systems - SCO UNIX, Sun Solaris, Microsoft Windows NT.

NetBIOS / SMB stack

Microsoft and IBM have collaborated on networking tools for personal computers, so the NetBIOS / SMB protocol stack is their joint brainchild. NetBIOS tools appeared in 1984 as a network extension of the standard functions of the basic input / output system (BIOS) of the IBM PC for the IBM PC Network program, which at the application level (Figure 1.6) used the SMB (Server Message Block) protocol to implement network services ...

Rice. 1.6. NetBIOS / SMB stack

Protocol NetBIOS works at three levels of the open systems interaction model: network, transport and session... NetBIOS can provide a higher level of service than IPX and SPX, but has no routing capability. Thus, NetBIOS is not a network protocol in the strict sense of the word. NetBIOS contains many useful network functions that can be attributed to the network, transport and session layers, but it cannot route packets, since the NetBIOS framing protocol does not introduce such a concept as a network. This limits the use of the NetBIOS protocol to non-subnetted LANs. NetBIOS supports both datagram and connection-oriented exchanges.

Protocol SMB, corresponding to the application and representative levels of the OSI model, governs the interaction of a workstation with a server. SMB functions include the following operations:

  • Session management. Creating and breaking a logical channel between the workstation and the network resources of the file server.
  • File access. A workstation can contact a file server with requests to create and delete directories, create, open and close files, read and write to files, rename and delete files, search for files, get and set file attributes, and block records.
  • Print service. The workstation can queue files for printing on the server and receive information about the print queue.
  • Message service. SMB supports simple messaging with the following functions: send a simple message; send a broadcast message; send the beginning of a block of messages; send the text of the message block; send the end of the message block; forward username; cancel the shipment; get the name of the machine.

Due to the large number of applications that use the API functions provided by NetBIOS, many network operating systems implement these functions as an interface to their transport protocols. NetWare has a program that emulates IPX-based NetBIOS functionality, and there are NetBIOS software emulators for Windows NT and the TCP / IP stack.

Why do we need this valuable knowledge? (editorial)

Once a colleague asked me a tricky question. Well, he says, you know what the OSI model is ... And why do you need it, what practical use is this knowledge: except to show off in front of teapots? It is not true, the benefits of this knowledge are the essence of a systematic approach in solving many practical problems. For example:

  • troubleshooting (
troubleshooting)

A user (just a friend) comes to you as an administrator (experienced networker) and says - "does not connect" here. No, he says, networks and that's it. You start to figure it out. So, based on the experience of observing my neighbors, I noticed that the actions of a person who "does not realize the OSI model in his heart" are characterized by characteristic chaos: either the wire twitches, then suddenly something picks up in the browser. And this often leads to the fact that moving without direction such a "specialist" pulls anything and anywhere, except in the area of ​​the problem, killing a bunch of his own and others' time. When realizing the existence of levels of interaction, the movement will be more consistent. And although the starting point may be different (in each book I came across the recommendations were slightly different), the general logical premise of troubleshooting is as follows - if the interaction is carried out correctly at the X level, then at the X-1 level, most likely everything is also in order. At least for each specific moment time. Performing troubleshooting in IP networks, I personally begin to "dig" from the second level of the DOD stack, it is also the third OSI layer, it is also the Internet Protocol. Firstly, because it is most easy to make a "superficial examination of the patient" (the patient pings rather than does not ping), and secondly, if, thank God, he pings, you can reject unpleasant manipulations with testing the cable, network cards and disassembly and other pleasant things;) Although in especially difficult cases you will still have to start from the first level, and in the most serious way.

  • mutual understanding with colleagues

To illustrate this point, I will give you such a story from life as an example. Once my acquaintances from a small company invited me to visit to help figure out why the network is not working well, and to give any recommendations on this score. I come to the office. And they even have an administrator there, called by the good old tradition a "programmer" (but actually he is mainly engaged in FoxPro;) - an old pre-perestroika training IT specialist. Well, I ask him, what is your network? He: "I mean? Well, just a network." The network, in general, is like a network. Well, I have leading questions: what protocol is used at the network level? He: "And this is WHERE?" I clarify: "Well, IP or IPX or whatever you have ..." "Oh" - says - "it seems yes: IPX / still-there-something!" By the way, "something else-there-something", as you may have noticed, is located a little higher from the network layer, but not the point ... What is characteristic, he built this network and even poorly accompanied it. It is not surprising that it has withered away ...;) I would have known about OSI - in 5 minutes I would have scribbled a schematic diagram - from 10Base-2 to application programs. And I would not have to climb under the table - to survey the coaxial wires.

  • study of new technologies

I have already stopped at this important aspect in the preface and will repeat myself: when studying a new protocol, you should first understand a) in which protocol stack (s) it belongs and b) in which part of the stack and with whom it interacts from below and who with him from above can ... :) And full clarity in my head will come from this. And the message formats and API are different - well, this is already a matter of technology :)

In this article, we will understand what the OSI network model is, what layers it consists of, and what functions it performs. So, the subject of the conversation is a certain model of interaction between the standards that determine the sequence of data exchange and programs.

OSI Open Systems Interconnection stands for Open Systems Interconnection Model. To meet the challenge of interoperability across multiple systems, the standards organization released the OSI Model Reference in 1983. It describes the structure of open systems, their requirements, and their interactions.

An open system is a system made according to open specifications that are available to everyone, and also comply with certain standards. For example, Windows is considered an open system because it was created based on open specifications that describe the activities of the Internet, but the initial codes of the system are closed.

The advantage is that it is possible to build a network of devices from different manufacturers, if necessary, replace its individual components. It is possible to combine several networks into one without any problems.

According to the model we are considering, it is necessary that computer networks consist of seven levels. Due to the fact that the model does not describe the protocols defined by individual standards, it is not a network architecture.

Unfortunately, from a practical point of view, the open systems interoperability model does not apply. Its peculiarity lies in mastering the theoretical issues of network interaction. That is why this model is used as a simple language to describe the construction of various types of networks.

Model levelsOSI

The basic structure is a 7-level system. The question arises, what are the seven stages responsible for and why the model, so many levels? All of them are responsible for a certain stage of the process of sending a network message, and also contain a certain semantic load. The steps are performed separately from each other and does not require increased control by the user. Isn't it convenient?

The lower stages of the system, one through three, control the physical delivery of data over the network, they are called media layers.

The rest, the layers help ensure accurate delivery of data between computers on the network, they are called host machines.

Applied is the closest level to the user. It differs from others in that it does not provide services to other levels. Provides services to application processes that lie outside the scope of the model, such as database transmission, voice, and others.

This stage is comparatively simpler than others, because besides ones and zeros, there are no other measurement systems in it, this level does not analyze information and that is why it is the lowest of the levels. It mainly transfers information. The main parameter of the workload is the bit.

The main purpose of the physical layer is to represent zero and one as signals transmitted over a data transmission medium.

For example, there is a certain communication channel (CC), the message being sent, the sender and, accordingly, the recipient. KS has its own characteristics:

  • Throughput, measured in bits / s, that is, how much data we can transfer per unit of time.
  • The delay is how long it will take before the message gets from the sender to the recipient.
  • The number of errors, if errors occur frequently, then the protocols should provide error correction. And if it is rare, then they can be corrected at higher levels, for example, at the transport level.

The following are used as a channel for transmitting information:

  • Cables: telephone, coaxial, twisted pair, optical.
  • Wireless technologies such as radio waves, infrared radiation.
  • Satellite CS
  • Wireless optics or lasers are rarely used due to their low speed and a lot of interference.

It is very rare that errors occur in optical cables, since it is difficult to influence the propagation of light. In copper cables, errors occur, but rarely, and in a wireless environment, errors occur very often.

The next station that the information will visit will remind the customs. Namely, the IP address will be compared for compatibility with the transmission medium. It also identifies and corrects system deficiencies. For the convenience of further operations, the bits are grouped into frames - frame.

The purpose of the link layer is the transmission of messages over the CC - frames.

Tasksdata link

  • Find where in the stream of bits the message starts and ends
  • Detect and correct errors when sending information
  • Addressing, you need to know which computer to send information to, because basically several computers are connected to a shared environment
  • Provide consistent access to a shared environment so that information is transmitted by one computer at the same time.

At the link level, errors are detected and corrected. If such is detected, the correctness of data delivery is checked, if it is wrong, then the frame is discarded.

Correction of errors requires the use of special codes that add redundant information to the transmitted data.

Re-sending data, used in conjunction with the error detection method. If an error is detected in the frame, it is discarded and the sender forwards the frame again.

Detect and fix errors

Practice has shown the effectiveness of the following methods, if a reliable medium for data transfer (wired) is used and errors rarely occur, then it is better to correct them at the top level. If errors occur frequently in the CS, then the errors must be corrected immediately at the link level.

The functions of this stage in the computer are implemented by network adapters and drivers suitable for them. Direct data exchange takes place through them.

Some of the protocols used at the link layer are HDLC using bus topology and others.

(NETWORK)

The stage resembles the process of distributing information. For example, all users are divided into groups, and data packets are diverged according to IP addresses, consisting of 32 bits. It is thanks to the work of the routers at this instance that all the differences in networks are eliminated. This is a process called logical routing.

The main task is to create composite networks based on network technologies of different channel levels: Ethernet, MPLS. The network layer is the "backbone" of the Internet.

Network Layer Assignment

We can transfer information from one computer to another via Ethernet and Wi-Fi, then why do we need another layer? The link layer technology (CS) has two problems, firstly, the CS technologies differ from each other, and secondly, there is a limitation on scaling.

What are the differences in link layer technologies?

Different levels of service provided, some levels guarantee delivery and the required order of messages. Wi-Fi just guarantees message delivery, it doesn't.

Different addressing, size, hierarchy. Network technologies can support broadcasting, i. E. it is possible to send information to all computers on the network.

The maximum frame size (MTU) may differ, for example, in the Internet 1500, and in the Wi-Fi 2300. How can such differences be reconciled at the network level?

You can provide a different type of service, for example, frames from Wi-Fi are received with confirmation, and sent to Ethernet without confirmation.

In order to negotiate the difference in addressing, at the network layer, global addresses are introduced that do not depend on specific technology addresses (ARP for) the link layer.

Fragmentation is used to transmit data over concatenated networks that have different transmitted frame sizes. Consider an example, the first computer transmits data to the second, through 4 intermediate networks connected by 3 routers. Each network has a different MTU.

The computer generated the first frame and transmitted it to the router, the router analyzed the frame size, and realized that it was impossible to transmit it completely through network 2, because its mtu2 was too small.

The router splits the data into 3 parts and transmits them separately.

The next router combines the data into one large packet, determines its size and compares it with the mtu of network 3. And sees that one MTU3 packet cannot be transmitted entirely (MTU3 is greater than MTU2, but less than MTU1) and the router splits the packet into 2 parts and sends it to the next router.

The last router concatenates the packet and sends it in its entirety to the recipient. Fragmentation deals with the joining of networks and it is hidden from the sender and receiver.

How is scalability at the network level solved?

The work is carried out not with individual addresses, as at the link level, but with blocks of addresses. Packets for which the path is not known are discarded, rather than forwarded back to all ports. And a significant difference from the channel one, the possibility of several connections between devices of the network layer and all these connections will be active.

Network Layer Tasks:

  • Combine networks built by different technologies;
  • Provide quality service;
  • Routing, finding a path from the sender of information to the recipient, through intermediate network nodes.

Routing

Finding a path for sending a packet between networks through transit nodes - routers. Let's look at an example of routing. The circuit consists of 5 routers and two computers. How can data be transferred from one computer to another?

Next time, the data can be sent in a different way.

If one of the router breaks down, nothing bad will happen, you can find a way around the broken router.

The protocols used at this stage: Internet Protocol IP; IPX required for routing packets on networks, etc.

(TRANSPORT)

There is the next task, a packet arrives on a computer that is connected to a composite network, a lot of network applications (web browser, skype, mail) are running on the computer, we need to understand which application we need to transfer this packet to. The transport layer deals with the interaction of network applications.

Transport Layer Tasks

Sending data between processes on different hosts. Providing addressing, you need to know for which process this or that packet is intended. Ensuring the reliability of information transfer.

Interaction modelopen system

Hosts are devices where useful user programs and network equipment operate, for example, switches, routers.

A feature of the transport layer is the direct interaction of one computer with the transport layer on another computer; at the other levels, the interaction goes along the links of the chain.

This layer provides an end-to-end connection between two communicating hosts. This layer is independent of the network, it allows you to hide the details of network interaction from application developers.

For addressing at the transport level, ports are used, these are numbers from 1 to 65535. Ports are written like this: 192.168.1.3:80 (IP address and port).

Features of the transport layer

Providing higher reliability, in contrast to the network, which is used for data transmission. Reliable communication channels are used, errors in these COPs are rare, therefore, you can build a reliable network that will be cheap, and errors can be corrected programmatically on the hosts.

The transport layer guarantees the delivery of data, it uses the confirmation from the recipient, if the confirmation has not arrived, the transport sends the confirmation of the data again. Guaranteed message follow-up.

Session level (SESSION)

Session (session) is a set of network interactions aimed at solving a single problem.

Nowadays, networking has become more complex and does not consist of simple questions and answers, as it used to be. For example, you load a web page to show it in a browser, you first need to load the text of the web page itself (.html), a style file (.css) that describes the elements of the web page, load images. Thus, in order to complete the task, load a web page, it is necessary to implement several, separate network operations.

Session determines what will be the transfer of information between 2 applied processes: half-duplex (by the next transmission and reception of data); or duplex (simultaneous transmission and reception of information).

Presentation layer(PRESENTATION)

Functions - present the data transferred between application processes in the required form.

To describe this level, they use automatic translation on the web from various languages. For example, you dial a phone number, speak Russian, the network automatically translates into French, transmits information to Spain, where a person picks up the phone and hears your question in Spanish. This task has not yet been implemented.

To protect the data sent over the network, encryption is used: secure sockets layer, as well as transport layer security, these technologies allow you to encrypt data that is sent over the network.

Application layer protocols use TSL / SSL and can be distinguished by the letter s at the end. For example, https, ftps and others. If you see in the browser that the https protocol and a lock are used, this means that data is being protected over the network using encryption.

(APPLICATION)

It is necessary for interaction between network applications such as web, e-mail, skype, etc.

In essence, it is a set of specifications that allow the user to enter the pages to find the information he needs. In simple terms, the task of the application is to provide access to network services. The content of this level is very varied.

Functionsapplication:

  • Solving problems, sending files; job and system management;
  • Identifying users by their login, e-mail address, passwords, electronic signatures;
  • Requests to connect to other application processes;

Videos about all levels of the modelOSI

Conclusion

Analyzing problems using OSI network models can help you quickly find and fix them. It is not for nothing that the work on the project of the program, capable of revealing the shortcomings, having at the same time a complex stepped device, was carried out for quite a long time. This model is in fact a benchmark. Indeed, at the same time, work was carried out on the creation of other protocols. For example, . Today, they are used quite often.

Just started working as a network administrator? Don't want to be confused? Our article will be useful to you. Have you heard how a time-tested administrator talks about network problems and mentions some levels? Have you ever been asked at work what levels are protected and working if you are using an old firewall? To understand the basics of information security, you need to understand the principle of the hierarchy of the OSI model. Let's try to see the capabilities of this model.

A self-respecting sysadmin should be well versed in networking terms

Translated from English - the basic reference model for the interaction of open systems. More precisely, the network model of the OSI / ISO network protocol stack. Introduced in 1984 as a conceptual framework that divided the process of sending data on the World Wide Web into seven simple steps. It is not the most popular, since the development of the OSI specification was delayed. The TCP / IP protocol stack is more cost effective and is considered the primary model used. However, you have a huge chance of encountering the OSI model as a system administrator or in the IT field.

Many specifications and technologies have been created for network devices. It's easy to get confused with such a variety. It is the model of interaction of open systems that helps network devices to understand each other using various methods of communication. Note that OSI is most useful for software and hardware manufacturers who design interoperable products.

Ask, what is the benefit to you? Knowing the multi-level model will give you the opportunity to communicate freely with employees of IT companies, discussing network problems will no longer be depressing boredom. And when you learn to understand at what stage the failure occurred, you can easily find the causes and significantly reduce the range of your work.

OSI layers

The model contains seven simplified steps:

  • Physical.
  • Channel.
  • Network.
  • Transport.
  • Session.
  • Executive.
  • Applied.

Why does decomposition into steps make life easier? Each of the levels corresponds to a certain stage of sending a network message. All steps are sequential, which means that the functions are performed independently, there is no need for information about the work at the previous level. The only necessary component is how the data from the previous step is received, and how the information is sent to the next step.

Let's move on to direct acquaintance with the levels.

Physical layer

The main task of the first stage is the transfer of bits through physical communication channels. Physical communication channels are devices designed to transmit and receive information signals. For example, optical fiber, coaxial cable, or twisted pair. The transfer can also be carried out wirelessly. The first stage is characterized by the data transmission medium: protection against interference, bandwidth, characteristic impedance. The qualities of the electrical final signals (type of coding, voltage levels and signal transmission rate) are also set and connected to standard types of connectors, contact connections are assigned.

The functions of the physical stage are carried out absolutely on every device connected to the network. For example, a network adapter implements these functions from the computer side. You may have already come across the first step protocols: RS-232, DSL and 10Base-T, which determine the physical characteristics of the communication channel.

Link layer

At the second stage, the abstract address of the device is associated with the physical device, and the availability of the transmission medium is checked. Bits are formed into sets - frames. The main task of the link layer is to identify and correct errors. For correct transmission, before and after the frame, specialized bit sequences are inserted and the calculated checksum is added. When the frame reaches the destination, the checksum of the already arrived data is calculated again, if it matches the checksum in the frame, the frame is recognized as correct. Otherwise, an error appears, which can be corrected by re-transmission of information.

The channel stage makes it possible to transfer information, thanks to the special structure of the links. In particular, buses, bridges, switches work through the link-level protocols. The second step specifications include Ethernet, Token Ring, and PPP. The functions of the channel stage in the computer are performed by network adapters and their drivers.

Network layer

In standard situations, the functions of the channel stage are not enough for high-quality information transfer. The specifications of the second step can only transfer data between nodes with the same topology, for example, a tree. There is a need for a third stage. It is necessary to form a united transport system with a branched structure for several networks with an arbitrary structure and differing in the method of data transfer.

In other words, the third step processes the Internet protocol and acts as a router: finding the best path for information. A router is a device that collects data about the structure of interconnection and forwards packets to the destination network (transit transmissions - hops). If you encounter an error in the IP address, then this is a problem at the network level. The third stage protocols are broken down into networking, routing, or address resolution: ICMP, IPSec, ARP, and BGP.

Transport layer

In order for the data to reach applications and the upper levels of the stack, a fourth stage is required. It provides the required degree of information transmission reliability. There are five classes of services of the transport stage. Their difference lies in the urgency, the feasibility of restoring the interrupted communication, the ability to detect and correct transmission errors. For example, packet loss or duplication.

How to choose the class of services of the transport stage? When the quality of communication channels is high, a lightweight service will be an adequate choice. If communication channels at the very beginning work unsafely, it is advisable to resort to a developed service that will provide maximum opportunities for finding and solving problems (data delivery control, delivery timeouts). Stage 4 specifications: TCP and UDP of the TCP / IP stack, SPX of the Novell stack.

The union of the first four levels is called the transport subsystem. It fully provides the selected level of quality.

Session level

The fifth stage helps in regulating the dialogues. It is impossible for the interlocutors to interrupt each other or speak synchronously. The session layer remembers the active side at a specific moment and synchronizes information, coordinating and maintaining connections between devices. Its functions allow you to return to a checkpoint during a long transfer and not start over. Also, at the fifth stage, you can terminate the connection when the exchange of information is completed. Session-level specifications: NetBIOS.

Representative level

The sixth stage is involved in transforming data into a universal recognizable format without changing the content. Since different devices utilize different formats, the information processed at the representative level makes it possible for the systems to understand each other, overcoming syntactic and code differences. In addition, at the sixth stage, it becomes possible to encrypt and decrypt data, which ensures secrecy. Examples of protocols: ASCII and MIDI, SSL.

Application level

The seventh stage on our list and the first if the program sends data over the network. Consists of a set of specifications through which the user, Web pages. For example, when sending messages by mail, it is at the application level that a convenient protocol is selected. The composition of the specifications for the seventh stage is very diverse. For example, SMTP and HTTP, FTP, TFTP, or SMB.

You may hear somewhere about the eighth level of the ISO model. Officially, it does not exist, but a comic eighth stage has appeared among IT workers. All due to the fact that problems can arise through the fault of the user, and as you know, a person is at the pinnacle of evolution, so the eighth level appeared.

Having looked at the OSI model, you were able to understand the complex structure of the network and now you understand the essence of your work. It gets pretty easy when the process is broken down!

In practice, when implementing networks, they tend to use standard protocols, which can be proprietary, national or international standards.

Between 1977 and 1984, professionals developed a network architecture model called the Reference Model of Open Systems Interconnection (OSI). The OSI model defines the various levels of interaction between systems, gives them standard names, and specifies what functions each layer should perform. The OSI model was developed based on the extensive experience gained in the creation of computer networks, mainly global, in the 70s. A complete description of this model employs over 1000 pages of text.

The term "Recommended Model for Open Systems Interconnection" is often found in the literature under the name "ISO Model / OSI ”, noting the contribution of ISO to its formation. For some professional network programmers, this model represents the ideal network architecture.

The ISO / OSI model uses layering to organize an overall view of the structure of a network into well-defined, interconnected modules. In a network, divided into layers, each layer serves to perform a specific function or service of the network in relation to the surrounding neighboring layers. Each level, as it were, protects the neighboring one from redundant information that can leak from a lower level to the top. A well-designed level should hide all the features of its functioning from the overlying one. Based on these provisions, it is possible to create a network consisting of functional modules with a clearly described interface.

In the ISO / OSI model (Figure 22), communication tools are divided into seven layers: application, presentation (presentation layer), session, transport, network, data link (connection layer), and physical. Each layer deals with one specific aspect of the interaction of network devices. The model describes the system interaction facilities implemented by the operating system, system utilities, and system hardware. The model does not include specifications for end-user application interaction. Applications implement their own communication protocols using system tools. Therefore, it is necessary to distinguish between the application interoperability layer and the application layer.

Figure 22 depicts a simple network based on the ISO / OSI model. The network consists of two computers, which, in turn, are made up of layers. The arrows connecting the layers show the path of the data in the network. For each layer there is a corresponding protocol (transport protocol, network protocol).


Each level uses a different unit to measure the amount of data. Application layers (application layer), presentation, session, transport - use the term « message » as a unit of measure. The network layer treats data as « packages » and the connection layer is like « frame » ... The physical layer deals with bits - a sequence of zeros and ones

So, let's say the application makes a request to the application layer, such as the file service. Based on this request, the application software generates a message in a standard format. A typical message consists of a header and a data field. Heading contains service information that needs to be passed across the network to the application layer of the destination machine to tell it what work needs to be done. In our case, the header, obviously, should contain information about the location of the file and the type of operation to be performed on it. Data field messages can be empty or contain any data, for example, those that need to be written to a remote file. But in order to deliver this information to its intended purpose, there are still many tasks to be solved, the responsibility for which is borne by the lower levels.

After the message is formed, the application layer directs it down the stack to the representative layer. The representative layer protocol, based on the information received from the application layer header, performs the required actions and supplements the service information to the received message - the representative layer header, which contains instructions for the representative layer protocol of the destination machine.



The resulting message is passed down to the session layer, which in turn adds its own header, and so on. Figure 23 illustrates the nesting of messages at different levels.

Some protocol implementations place service information not only at the beginning of the message, but also at the end, in the form of the so-called " limit switch ". Finally, the message reaches the lower, physical level, which actually transmits it over the networks to the destination machine. At this point, the message is "overgrown" with headers of all levels (Fig. 22). When a message reaches the destination machine, it is received by its physical layer and passed up from layer to layer. Each level also analyzes the header of its level, performing the functions corresponding to this level, and then removes this header and passes the message to the higher level.

Along with the term message, there are other terms used by network specialists to denote data units in exchange procedures. In ISO standards, the common name Protocol Data Unit (PDU) is used to refer to the units of data with which the protocols of different layers are dealt with. To designate blocks of data of certain levels, special names are often used: packet (packet), datagram (datagram), segment (segment).

The OSI model distinguishes between two main types of protocols. In protocols with connection establishment, before exchanging data, the sender and receiver must first establish a connection and possibly select some protocol parameters that they will use when exchanging data. After completing the dialogue, they must disconnect. The telephone is an example of a connection-based interaction.

The second group of protocols - protocols without first establishing a connection. The sender simply transmits the message when it is ready. Dropping a letter into a mailbox is an example of a connection without first establishing a connection. Both types of protocols are used in the interaction of computers.

Let's consider in more detail the functions of each level.

Physical layer consists of physical elements (hardware) that serve directly to transmit information over network communication channels. Therefore, communication lines - the cables that connect computers - belong to the physical layer. Methods of electrical conversion of signals also belong to it. Various networking technologies such as Ethernet, ARCNET, or token ring refer to the physical layer as defining the parameters for converting signals for transmission over the network. The physical layer transfers data bit by bit.

At the physical layer, the type of data transmission is determined: simplex, half-duplex or full-duplex.

Link layer or connection layer. The job of the connection layer is to transfer data from the physical layer to the network layer and vice versa. The data link layer transforms data from a sequence of bits into something more understandable to the network layer, often called a "data frame" (a data frame is usually called a connection layer formatted bit stream coming from the physical layer).

On the contrary, the data link layer receives frames from the network in order to transform them into a bit stream, observing the correct format for the physical layer. The main function of the connection layer is to ensure data integrity, so the frame format includes the information required for this.

The link layer ensures the correctness of the transmission of each frame by placing a special sequence of bits at the beginning and end of each frame, to extract it, and also calculates the checksum, processing all bytes frame in a certain way and adding checksum to the frame. When frame arrives over the network, the receiver again calculates the checksum of the received data and compares the result with the checksum from the frame. If they match, the frame is considered correct and accepted. If the checksums do not match, then an error is recorded. The link layer can not only detect errors, but also correct them by retransmitting damaged frames. It should be noted that the error correction function is not mandatory for the link layer, therefore, it is not available in some protocols of this layer, for example, in Ethernet and frame relay.

The data frame also contains the information necessary for its correct identification and routing..

In local area networks, link-layer protocols are used by computers, bridges, switches, and routers. In computers, link layer functions are implemented jointly by network adapters and their drivers. A network card in a computer is an example of a connection layer implementation.

In wide area networks, which rarely have a regular topology, the data link layer often allows messages to be exchanged only between two neighboring computers connected by a single link.

Sometimes in wide area networks, it is difficult to isolate link layer functions in their pure form, since in the same protocol they are combined with network layer functions. Examples of this approach are ATM and frame relay protocols.

In general, the data link layer is a very powerful and complete set of functions for transferring messages between network nodes. In some cases, link layer protocols turn out to be self-sufficient vehicles and can allow application layer protocols or applications to work directly on top of them, without involving the means of the network and transport layers.

However, to ensure high-quality transport of messages in networks of any topology and the technologies of the functions of the link layer are not enough, therefore, in the OSI model, the solution of this problem is assigned to the following two layers - network and transport .

Network layer it is an intranet primary delivery service and serves to form a unified transport system, connecting several networks Moreover, these networks can use completely different principles of transferring messages between end nodes and have an arbitrary structure of connections. The functions of the network layer are quite diverse. Since the network layer manages the network-wide routing information, the function belongs to it. counting the amount of data ... He also monitors traffic , possible collisions and speeds transmission over communication channels.

On network level the term "network" itself is endowed with a specific meaning. In this case, a network is understood as a set of computers interconnected in accordance with one of the standard typical topologies and using one of the data link protocols defined for this topology for data transmission.

Within the network, data delivery is provided by the appropriate link layer, but the network layer is responsible for the delivery of data between networks, which supports the ability to choose the correct route for transmitting messages even when the structure of connections between the constituent networks has a character that is different from that adopted in the link layer protocols.

Networks are interconnected by special devices called routers. Router - it is a device that collects information about the topology of interconnection and, based on it, forwards the network layer packets to the destination network.

To transfer a message from a sender on one network to a recipient on another network, you need to make a number of transit transmissions between the networks, each time choosing a suitable route. Thus, a route is a sequence of routers through which a packet passes.

In fig. 24 shows four networks connected by three routers. There are two routes between nodes A and B in this network: the first through routers 1 and 3, and the second through routers 1, 2, and 3.


The problem of choosing the best path is called routing, and its solution is one of the main problems of the network layer. This problem is compounded by the fact that the shortest path is not always the best. Often the criterion for choosing a route is the time of data transmission along that route; it depends on the bandwidth of the communication channels and the traffic intensity, which can change over time. Some routing algorithms try to adapt to changes in load, while others make decisions based on averages over time. Route selection can be carried out according to other criteria, for example, transmission reliability.

In general, the functions of the network layer are broader than the functions of passing messages over links with a non-standard structure. The network layer also solves the problem of harmonizing different technologies, simplifying addressing in large networks, and creating reliable and flexible barriers to unwanted traffic between networks.

Network layer messages are commonly referred to as packets. When organizing the delivery of packets at the network level, the concept of "network number" is used. In this case, the recipient's address consists of the upper part - the network number and the lower part - the node number in this network. All nodes of one network must have the same upper part of the address, therefore the term "network" at the network level can be given another, more formal definition: a network is a collection of nodes whose network address contains the same network number.

At the network level, two kinds of protocols are defined. The first type is network protocols (routed protocols) - implement the promotion of packages through the network. These are the protocols that are commonly referred to when talking about network layer protocols. However, another type of protocol is often referred to as the network layer, called routing information exchange protocols, or simply routing protocols. Using these protocols, routers collect information about the topology of interconnection. Network layer protocols are implemented by operating system software modules, as well as software and hardware of routers.

At the network level, there are other types of protocols that are responsible for mapping the node address used at the network level to the local network address. Such protocols are often referred to as address resolution protocols. - Address Resolution Protocol, ARP.

Transport layer just like the network layer delivers packets over the network. The transport layer delivers (transports) data between the computers themselves. As soon as the network layer delivers data to the recipient computer, the transport protocol comes into play, delivering the data to the application process.

The transport layer allows applications or the upper layers of the stack — application and session — to transfer data with the degree of reliability they require. The OSI model defines five classes of service provided by the transport layer. These types of services are distinguished by the quality of the services provided, the urgency, the ability to restore the interrupted connection, the availability of multiplexing facilities for multiple connections between different application protocols via a common transport protocol, and most importantly, the ability to detect and correct transmission errors such as distortion, loss and duplication of packets.

The choice of the class of service of the transport layer is determined, on the one hand, by the extent to which the problem of ensuring reliability is solved by the applications themselves and protocols higher than the transport levels, and on the other hand, this choice depends on how reliable the data transport system is. a network provided by the layers below the transport - network, data link and physical. So, for example, if the quality of communication channels is very high and the probability of errors that are not detected by the protocols of lower levels is small, then it is reasonable to use one of the lightweight services of the transport layer, not burdened with numerous methods of increasing reliability. If the vehicles of the lower levels are initially very unreliable, then it is advisable to turn to the most developed service of the transport level, which works using the maximum means for detecting and eliminating errors.

As a rule, all protocols, starting from the transport layer and higher, are implemented by the software of the end nodes of the network - the components of their network operating systems. Examples of transport protocols include the TCP and UDP protocols of the TCP / IP stack and the SPX protocol of the Novell stack.

In a packet-switched network, the transport layer must fragment the data coming from the session layer into smaller packets in order to forward it to the network layer. The receiving side, on the other hand, must collect data from smaller packets into larger ones in order to transmit it to the higher layer.

The transport layer determines the number of packets traveling over the network. In other words, the transport layer generates data packet traffic that must be managed by the network layer.

The transport layer controls the bandwidth of the network. The bandwidth is the maximum amount of data passing through the communication channel in a given time interval. To increase bandwidth (and performance), the transport layer opens multiple network connections for the same transport connection. To do this, the transport layer needs to multiplex and demultiplex the transmitted data. The term "multiplexing" refers to the process of stacking multiple data streams into one communication channel. The term "demultiplexing" means the opposite action. The transport layer of the sending computer multiplexes (combines) multiple messages into one transport connection. In contrast, the data-receiving transport layer demultiplexes one connection into multiple messages.

The protocols of the lower four levels are generally called network transport or transport subsystem, since they completely solve the problem of transporting messages with a given level of quality in composite networks with arbitrary topology and various technologies. The other three upper levels solve the problem of providing application services based on the existing transport subsystem.

Session level as a user network interface, it solves such problems as handling connections between processes and applications on different computers, such as handling names, passwords and access rights. The session layer converts the format of data prepared for transmission over the network into a format suitable for transmission to applications. In addition, it handles requests to change connection parameters such as baud rate and error control. The session layer eliminates the possibility of application data loss.

From this point on, the direct exchange of bytes takes on an internal meaning. Only this level allows you to perform functions such as accessing the server directory.

The session layer also provides control of the exchange, fixing which of the parties is currently active, provides a means of synchronization. The latter allow breakpoints to be inserted into long passes so that if a failure occurs, you can go back to the last breakpoint rather than starting over. In practice, few applications use the session layer, and it is rarely implemented as separate protocols, although the functions of this layer are often combined with the functions of the application layer and implemented in a single protocol.

Presentation layer brings together some of the common functions that the network uses repeatedly over network connections. The presentation layer forms a network interface to computer devices such as printers, monitors, file formats. The presentation layer defines how the network looks in terms of the software and hardware of a networked computer. Messages from lower levels are provisioned as necessary for the application.

Due to the presentation layer, the information transmitted by the application layer of one system is always understood by the application layer of the other system. With the help of this layer, application protocols can overcome syntactic differences in data representation or differences in character codes, such as ASCII and EBCDIC. At this level, for example, data conversion occurs if the receiving computer uses a different number format than the sending computer. At this level, data encryption and decryption can be performed, thanks to which the secrecy of data exchange is ensured for all application services at once.

Application layer. This layer concentrates functions related to network-wide applications, through which network users can access shared resources such as files, printers, or hypertext Web pages, and organize their collaboration, for example, using the e-mail protocol. Application programs such as e-mail, a browser, or a distributed database are examples of using application-level functionality.

The unit of data that the application layer operates on is usually called a message.

Network dependent and network independent levels. The functions of all layers of the ISO / OSI model can be classified into one of two groups. Either to functions that depend on the specific technical implementation of the network, or to functions focused on working with applications (Fig. 25).

The three lower layers - physical, channel and network - are network-dependent, that is, the protocols of these layers are closely related to the technical implementation of the network and the communication equipment used. Moving to other equipment means a complete change of the physical and link layer protocols at all network nodes.

The top three levels — application, representative, and session — are application-oriented and depend little on the technical features of the network design. The protocols at these layers are not affected by changes in network topology, hardware replacement, or migration to a different network technology. Thus, the transition from Ethernet to high-speed AnyLAN technology will not require any changes in the software that implements the functions of the application, representative and session layers.

The transport layer is intermediate, it hides all the details of the functioning of the lower layers from the upper ones. This allows you to develop applications that do not depend on the technical means of direct transport of messages.

Control questions:

1. What is ISO \ OSI Model?

2. How many and what levels does the ISO \ OSI model include?

3. Describe the functions of each layer of the ISO \ OSI model.

4. What are the messages at each level.

5. Explain the concept of "nesting messages of various levels"

Did you like the article? To share with friends: