What level of the osi model does it work at? How network devices work according to the OSI network model

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

But the purpose of this article is not philosophical discussions about teaching methodology. I would like to introduce 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 forward in any direction of the networking industry you choose. The OSI model is the framework on which any new knowledge about networks will be hung.

This model is mentioned in one way or another in almost any modern literature on networks, as well as in many specifications of specific protocols and technologies. Without feeling the need to reinvent the wheel, I decided to publish excerpts from the work of N. Olifer, V. Olifer (Information Technology Center) entitled “The role of communication protocols and the functional purpose of the main types of equipment in corporate networks,” which I consider the best and most comprehensive publication on this topic .

chief editor

model

Just because a protocol is an agreement between two interacting entities, in this case two computers working on a network, does not mean that it is necessarily a standard. But in practice, when implementing networks, they tend to use standard protocols. These may 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.

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

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 facilities. It should be borne in mind that the application can take over the functions of some of the upper layers of the OSI model, in which case, if necessary, internetworking it accesses directly the system tools that perform the functions of the remaining lower layers of the OSI model.

An end-user application can use system interaction tools not only to organize a dialogue with another application running on another machine, but also simply to receive the 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 level software generates a standard format message, which contains service information (header) and, possibly, transmitted data. This message is then forwarded to the representative level. The presentation layer adds its header to the message and passes the result down to the session layer, which in turn adds its header, and so on. Some protocol implementations provide that the message contains not only a header, but also a trailer. Finally, the message reaches the lowest, physical layer, which actually transmits it along the communication lines.

When a message arrives on another machine over the network, it moves up sequentially from level to level. Each level analyzes, processes and deletes the header of its level, performs 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 specialists to designate a unit of data exchange. ISO standards for protocols of any level use the term “protocol data unit” - Protocol Data Unit (PDU). In addition, the names frame, packet, and 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, type of coding, signal transmission speed. In addition, the types of connectors and the purpose of each contact are standardized here.

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

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

Data Link Layer: The physical layer simply transfers bits. 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 occupied. Therefore, one of the tasks of the link layer is to check the availability of the transmission medium. Another task of the 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 certain way and adding the checksum to the frame. When the frame arrives, 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, an error is recorded.

The link layer protocols used in local networks contain a certain structure of connections between computers and methods for addressing them. Although the data link layer provides frame delivery between any two nodes on a local network, it does this only in a network with a very specific connection topology, precisely the topology for which it was designed. Typical topologies supported by LAN link layer protocols include shared bus, ring, and star. 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 through the joint efforts of network adapters and their drivers.

In global networks, which rarely have a regular topology, the data link layer ensures 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 level. This level serves to form a unified transport system that unites several networks with different principles for transmitting information between end nodes. Let's look at the functions of the network layer using local networks as an example. The local network link layer protocol ensures the delivery of data between any nodes only in a network with the appropriate typical topology. This is a very strict 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 maintain the simplicity of data transfer procedures for standard 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 collection of computers connected to each other in accordance with one of the standard typical topologies and using one of the link layer protocols defined for this topology to transmit data.

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

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

Networks are connected to each other by special devices called routers. Router is a device that collects information about the topology of internetwork connections and, based on it, forwards network layer packets to the destination network. In order to transmit a message from a sender located on one network to a recipient located on another network, you need to make a number of transit transfers (hops) between networks, each time choosing the appropriate 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 level. This problem is complicated 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 this route; it depends on the capacity of communication channels and traffic intensity, which can change over time. Some routing algorithms try to adapt to changes in load, while others make decisions based on long-term averages. The route can be selected based on other criteria, for example, transmission reliability.

At the network level, two types of protocols are defined. The first type refers to the definition of rules for transmitting end node data packets from the node to the router and between routers. These are the protocols that are usually meant when people talk about network layer protocols. The network layer also includes another type of protocol called routing information exchange protocols. Using these protocols, routers collect information about the topology of internetwork connections. Network layer protocols are implemented by operating system software modules, as well as router software and hardware.

Examples of network layer protocols are the TCP/IP stack IP Internetwork Protocol and the Novell IPX stack Internetwork Protocol.

Transport Layer: On the way from the sender to the recipient, packets may be corrupted or lost. While some applications have their own error handling, there are others that prefer to deal with a reliable connection right away. The job of the transport layer is to ensure that applications or the upper layers of the stack - application and session - transfer data with the degree of reliability that 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 interrupted communications, the availability of means for multiplexing multiple connections between different application protocols through 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 transport layer service class is determined, on the one hand, by the extent to which the problem of ensuring reliability is solved by the applications and protocols of higher levels than the transport one, and on the other hand, this choice depends on how reliable the entire data transportation system is online. So, for example, if the quality of communication channels is very high, and the likelihood of errors not detected by lower-level protocols is small, then it is reasonable to use one of the lightweight transport layer services that are not burdened with numerous checks, handshaking, and other techniques for increasing reliability. If the vehicles are initially very unreliable, then it is advisable to turn to the most developed transport level service, which works using maximum means for detecting and eliminating errors - using the preliminary establishment of a logical connection, monitoring the delivery of messages using checksums and cyclic numbering of packets, establishing delivery timeouts, etc.

As a rule, all protocols, starting from the transport layer and above, are implemented by software of the end nodes of the network - 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 conversation management to record which party is currently active and also provides synchronization facilities. The latter allow you to insert checkpoints into long transfers so that in case of failure you can go back to the last checkpoint, instead of starting all over again. In practice, few applications use the session layer, and it is rarely implemented.

Presentation Layer: This layer provides assurance that information conveyed by the application layer will be understood by the application layer in another system. If necessary, the presentation layer converts 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 representation. 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 the Secure Socket Layer (SSL) protocol, which provides secure messaging for the application layer protocols of the TCP/IP stack.

Application Layer The application layer is really just a set of various protocols through which network users access shared resources such as files, printers, or hypertext Web pages, and also organize their collaboration, for example, using the electronic 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 us give as examples at least a few of the most common implementations of file services: NCP in the Novell NetWare operating system, SMB in Microsoft Windows NT, NFS, FTP and TFTP, which are part of the TCP/IP stack.

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

Characteristics of popular communication protocol stacks

So, the interaction of computers in networks occurs in accordance with certain rules for exchanging 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 networks based on the UNIX operating system, the OSI stack of the International Standards Organization, the DECnet stack of Digital Equipment Corporation, and several others.

The use of a particular communication protocol stack in a network largely determines the face of the network and its characteristics. Smaller networks may use only one stack. In large corporate networks that connect various networks, several stacks are usually used in parallel.

Communication equipment implements lower-layer protocols that are more standardized than higher-layer protocols, and this is a prerequisite for successful collaboration between 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, link-level protocols are usually implemented in the form of network adapter drivers, and upper-level protocols are implemented in the form of server and client components of network services.

The ability to work well in a particular operating system environment is an important characteristic of communications equipment. You can often read in advertisements for a network adapter or hub that it was designed specifically to work on a NetWare or UNIX network. This means that the hardware developers have optimized its characteristics for the protocols used in that network operating system, or for a 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 a given operating system.

At the lower levels - physical and data link - almost all stacks use the same protocols. These are well-standardized protocols: Ethernet, Token Ring, FDDI and some others, which allow the same equipment to be used in all networks.

The network and higher layer protocols of existing standard stacks are highly variable and generally do not conform to the layering recommended by the ISO model. In particular, in these stacks, 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 already existing and actually used stacks, and not vice versa.

OSI stack

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

This is an international, manufacturer-independent standard. It can enable collaboration between corporations, partners and suppliers. This interaction is complicated by addressing, naming, and data security issues. All these problems are partially solved in the OSI stack. OSI protocols require a lot of CPU processing power, making them more suitable for powerful machines rather than networks of personal computers. Most organizations are just planning the transition to the OSI stack. Among those working in this direction are the US Navy Department and the NFSNET network. 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, fully complies with the OSI interconnection model; it includes specifications for all seven layers of the open systems interconnection model (Figure 1.3).


Rice. 1.3. OSI stack

On The OSI stack supports Ethernet, Token Ring, FDDI protocols, as well as 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 very common. The network layer implements both connectionless and connection-based protocols. The OSI stack transport protocol, consistent 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 provide this, the transport layer requires the user to specify the desired quality of service. 5 classes of transport service have been defined, from the lowest class 0 to the highest class 4, which differ in the degree of error tolerance and requirements for data recovery after errors.

Services application level include file transfer, terminal emulation, directory services, and mail. Of these, the most promising are directory service (X.500 standard), electronic mail (X.400), virtual terminal protocol (VT), file transfer, access and management (FTAM) protocol, forwarding and job management protocol (JTM). Recently, ISO has concentrated its efforts on top-level services.

X.400

are a family of recommendations from the International Consultative Committee on Telegraphy and Telephony (CCITT) that describe electronic message forwarding systems. Today, the X.400 recommendations are the most popular messaging protocol. The X.400 recommendations describe the model of a messaging system, the protocols for 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.

The X.400 Recommendations define the following minimum required set of services to be provided to users: access control, maintenance of unique system message identifiers, message delivery or non-delivery notification with reason, message content type indication, message content conversion indication, transmission and delivery timestamps, selecting a delivery category (urgent, non-urgent, normal), multicast delivery, delayed delivery (up to a specific point in time), transforming content to interface with incompatible mail systems such as telex and fax services, querying whether a specific message was delivered, mailing lists, which may 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 to develop global help desk standards. The process of delivering a message requires knowledge of the recipient's address, which is a problem in large networks, so it is necessary to have a help desk that helps obtain the addresses of senders and recipients. In general, an X.500 service is a distributed database of names and addresses. All users are potentially allowed to log into this database using a specific set of attributes.

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

  • reading - getting an address by a known name,
  • request - obtaining a name based on known address attributes,
  • modification involving deleting and adding records in a database.

The main challenges to implementing the X.500 recommendations stem from the scale of this project, which purports to be a worldwide reference service. Therefore, software implementing X.500 recommendations is very cumbersome and places high demands on hardware performance.

Protocol VT solves the problem of incompatibility between different terminal emulation protocols. Currently, a user of a personal computer compatible with an IBM PC, in order to simultaneously work with VAX, IBM 3090 and HP9000 computers, needs to purchase three different programs to emulate 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 supported the VT protocol. In its standard, ISO has accumulated widely used terminal emulation functions.

File transfer is the most common computer service. Access to files, both local and remote, is needed by all applications - text editors, email, databases or remote launch programs. 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 facilities for localizing and accessing file content and includes a set of directives for inserting, replacing, extending, and clearing file content. FTAM also provides facilities for manipulating the file as a whole, including creating, deleting, reading, opening, closing the file, and selecting its attributes.

Forwarding and Work Control Protocol JTM Allows users to forward work that needs to be completed on the host computer. The job control language that enables job submission tells the host computer what actions should be performed on what programs and files. The JTM protocol supports traditional batch processing, transaction processing, remote job entry, 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 developed at the initiative of the US Department of Defense (DoD) more than 20 years ago to connect the experimental ARPAnet network with other satellite networks as a set of common protocols for heterogeneous computing environments. The ARPA network supported developers and researchers in military fields. 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 ones in the TCP / IP stack and appears in the name of the stack.

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

Since the TCP/IP stack was developed before the advent of the ISO/OSI open systems interconnection model, although it also has a multi-level structure, the correspondence of the TCP/IP stack levels to the levels of the OSI model is rather conditional.

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

Rice. 1.4. TCP/IP stack

The lowest one ( level IV ) - level of network interfaces - corresponds to the physical and data link levels of the OSI model. This level in the TCP/IP protocols is not regulated, but supports all popular standards of the physical and data link layer: for local channels these are Ethernet, Token Ring, FDDI, for global channels - their own protocols for operating on analog dial-up and leased lines SLIP/PPP, which establish point-to-point connections via WAN serial links, and WAN protocols X.25 and ISDN. 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 the internetworking layer that deals with the transmission of datagrams using various local networks, X.25 area networks, ad hoc lines, etc. The stack uses the protocol IP, which was originally designed as a protocol for transmitting packets in composite networks consisting of a large number of local networks connected 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. The IP protocol is a datagram protocol.

The level of internetworking also includes all protocols related to the compilation and modification of routing tables, such as protocols for collecting routing information R.I.P.(Routing Internet Protocol) and OSPF(Open Shortest Path First), as well as the Internet Control Message Protocol ICMP(Internet Control Message Protocol). The latter protocol is designed to exchange information about errors between the router and the gateway, the source system and the destination system, that is, to organize feedback. Using special ICMP packets, it is reported that it is impossible to deliver a packet, that the lifetime or duration of assembling a packet from fragments has been exceeded, anomalous parameter values, a change in the forwarding route and type of service, the state of the system, etc.

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

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

Protocol SNMP(Simple Network Management Protocol) is used to organize network management. The management problem is divided here into two problems. The first task is related to the transfer of information. Control information transfer protocols determine the procedure for interaction between the server and the client program running on the administrator’s host. They define the message formats that are exchanged between clients and servers, as well as the formats for names and addresses. The second challenge is related to controlled data. The standards regulate what data should be stored and accumulated in gateways, the names of this 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 data elements that a host or gateway must store and the permissible operations on them.

File Transfer Protocol FTP(File Transfer Protocol) implements remote file access. In order to ensure reliable transfer, FTP uses the connection-oriented protocol - TCP - as its transport. In addition to file transfer protocol, FTP offers other services. This gives the user the opportunity to interact interactively with a remote machine, for example, he can print the contents of its directories; FTP allows the user to specify the type and format of the data to be stored. Finally, FTP authenticates users. Before accessing the file, protocol requires users to provide their username and password.

In the TCP/IP stack, FTP offers the most comprehensive set of file services, but is also the most complex to program. Applications that do not require all the capabilities of FTP can use another, more cost-effective protocol - the simplest file transfer protocol. TFTP(Trivial File Transfer Protocol). This protocol only implements file transfer, and the transport used is 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 a remote computer terminal.

IPX/SPX stack

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

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

Rice. 1.5. IPX/SPX stack

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

On network level the protocol works in the Novell stack IPX, as well as routing information exchange protocols R.I.P. And NLSP(analogous to the OSPF protocol of the TCP/IP stack). IPX is a protocol that deals with addressing and routing packets on Novell networks. IPX routing decisions are based on the address fields in its packet header as well as information from routing information exchange protocols. For example, IPX uses information provided by either RIP or NLSP (NetWare Link State Protocol) to forward packets to the destination computer or the next router. The IPX protocol supports only the datagram method of message exchange, due to which it economically consumes computing resources. So, the IPX protocol provides three functions: setting an address, establishing a route, and sending datagrams.

The transport layer of the OSI model in the Novell stack corresponds to the SPX protocol, which carries out connection-oriented message transfer.

On the top application, presentation and session levels NCP and SAP protocols work. Protocol NCP(NetWare Core Protocol) is a protocol for interaction 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, the workstation connects to the server, maps the 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) - the service advertisement protocol is conceptually similar to the RIP protocol. 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 constantly update information about what services are currently available on the network. At startup, servers use SAP to notify the rest of the network about their services. When a server shuts down, it uses SAP to notify the network that its services have ceased.

On Novell networks, NetWare 3.x servers send out SAP broadcast packets every minute. SAP packets significantly clog the network, so one of the main tasks of routers that access global communications is to filter traffic from SAP packets and RIP packets.

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

This circumstance, as well as the fact that the IPX/SPX stack is the property of Novell and requires a license to implement it, has for a long time limited its distribution only to NetWare networks. However, by the time NetWare 4.0 was released, Novell had made and continues to make major changes to its protocols aimed at adapting them to 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 worked together 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 PC Network network program from IBM, which at the application level (Fig. 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 the IPX and SPX protocols, but does not have routing capabilities. Thus, NetBIOS is not a network protocol in the strict sense of the word. NetBIOS contains many useful networking functions that can be attributed to the network, transport and session layers, but it cannot be used to route packets, since the NetBIOS frame exchange protocol does not introduce such a concept as a network. This limits the use of the NetBIOS protocol to local networks that are not subnetted. NetBIOS supports both datagram and connection-based communications.

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

  • Session management. Creation and breaking of a logical channel between the workstation and the network resources of the file server.
  • File access. A workstation can contact the 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 lock records.
  • Printing service. The workstation can queue files for printing on the server and obtain information about the print queue.
  • Messaging service. SMB supports simple messaging with the following functions: send a simple message; send a broadcast message; send start of message block; send message block text; send end of message block; forward username; cancel the shipment; get the machine name.

Because of 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 NetBIOS functions based on the IPX protocol, and there are software emulators for NetBIOS for Windows NT and the TCP/IP stack.

Why do we need this valuable knowledge? (editorial)

A colleague once asked me a tricky question. Well, he says, you know what the OSI model is... And why do you need it, what is the practical benefit of this knowledge: unless you show off in front of dummies? It’s not true, the benefits of this knowledge are a systematic approach to solving many practical problems. For example:

  • troubleshooting (
troubleshooting)

A user (just a friend) comes to you as an admin (an experienced networker) and says - it “doesn’t connect” to me here. There is no network, he says, and that’s it. You start to figure it out. So, based on my experience of observing my neighbors, I noticed that the actions of a person “not aware of the OSI model in his heart” are characterized by characteristic chaotic behavior: either he tugs at a wire, or suddenly he tinkers with something in the browser. And this often leads to the fact that, moving without direction, such a “specialist” will tug on anything and anywhere except in the area of ​​the problem, wasting a lot of his own and other people’s 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 this - if at level X the interaction is carried out correctly, then at level X-1 most likely everything is in order too. At least for each specific moment time. When troubleshooting in IP networks, I personally start “digging” from the second level of the DOD stack, aka the third OSI layer, aka Internet Protocol. Firstly, because it is easiest to carry out a “superficial examination of the patient” (the patient is more likely to ping than not), and secondly, if, thank God, it pings, you can skip the unpleasant manipulations of testing cables, network cards and disassemblies, etc. pleasant things;) Although in especially severe cases you will still have to start from level one, and in the most serious way.

  • mutual understanding with colleagues

To illustrate this point, I will give you an example from life. One day, my friends from a small company invited me to visit me to help figure out why the network was not working well, and to give some recommendations on this matter. I come to the office. And it turns out that they even have an administrator there, called according to the good old tradition “programmer” (and in fact, he mainly deals with FoxPro;) - an old pre-perestroika IT specialist. Well, I ask him, what kind of network do you have? He: “What do you mean? Well, just a network.” The network, in general, is like a network. Well, I have some guiding questions: what protocol is used at the network level? He: “WHERE is this?” I clarify: “Well, IP or IPX or whatever you have...” “Oh,” he says, “it seems yes: IPX/something else!” By the way, “there-is-something else,” as you may have noticed, is located a little higher from the network level, but that’s not the point... What’s typical is that he built this network and even poorly maintained it. It’s not surprising that it withered away... ;) If I had known about OSI, I would have scribbled out a diagram in 5 minutes - from 10Base-2 to application programs. And you wouldn’t have to crawl under the table to inspect the coaxial wires.

  • learning new technologies

I have already dwelled on this important aspect in the preface and I will repeat it again: when studying a new protocol, you should first of all 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 on top... :) And this will give you complete clarity in your head. And there are different message formats and APIs - well, that’s a matter of technology :)


OSI network model(open systems interconnection basic reference model - basic reference model of interaction of open systems, abbr. EMVOS; 1978) - network model of the OSI/ISO network protocol stack (GOST R ISO/IEC 7498-1-99).

General characteristics of the OSI model


Due to the protracted development of the OSI protocols, the main protocol stack currently in use is TCP/IP, which was developed before the adoption of the OSI model and without connection with it.

By the end of the 70s, a large number of proprietary communication protocol stacks already existed in the world, including, for example, such popular stacks as DECnet, TCP/IP and SNA. This variety of internetworking tools has brought to the fore the problem of incompatibility between devices using different protocols. One of the ways to solve this problem at that time was seen as a general transition to a single protocol stack common to all systems, created taking into account the shortcomings of existing stacks. This academic approach to creating a new stack began with the development of the OSI model and took seven years (from 1977 to 1984). The purpose of the OSI model is to provide a generalized representation of network communication tools. It was developed as a kind of universal language for network specialists, which is why it is called the reference model. In the OSI model, the means of interaction are divided into seven layers: application, presentation, session, transport, network, link and physical. Each layer deals with a very specific aspect of how network devices interact.

Applications can implement their own communication protocols using a multi-level set of system tools for these purposes. It is for this purpose that an application program interface (API) is provided to programmers. In accordance with the ideal design of the OSI model, an application can make requests only to the topmost layer - the application one, however, in practice, many communication protocol stacks allow programmers to directly access services, or services, located below the layers. For example, some DBMSs have built-in tools for remote file access. In this case, the application does not use the system file service when accessing remote resources; it bypasses the upper layers of the OSI model and directly addresses the system tools responsible for transporting messages over the network, which are located at the lower layers of the OSI model. So, suppose an application on Host A wants to communicate with an application on Host B. To do this, Application A makes a request to an application layer, such as a file service. Based on this request, the application level software generates a message in a standard format. But in order to deliver this information to its destination, there are still many tasks to be solved, the responsibility for which lies with lower levels. After the message is generated, the application layer forwards it down the stack to the presentation layer. The presentation layer protocol, based on the information received from the application layer message header, performs the required actions and adds its own service information to the message - the presentation layer header, which contains instructions for the presentation layer protocol of the destination machine. The resulting message is passed down to the session layer, which, in turn, adds its header, etc. (Some protocol implementations place service information not only at the beginning of the message in the form of a header, but also at the end in the form of a so-called trailer.) Finally, the message reaches the lower, physical, level, which, in fact, transmits it along communication lines to the recipient machine. At this point, the message is “overgrown” with headings of all levels.

The physical layer places the message on the physical output interface of computer 1, and it begins its “journey” through the network (up to this point, the message was transmitted from one layer to another within computer 1). When a message over the network arrives at the input interface of computer 2, it is received by its physical layer and sequentially moves up from layer to layer. Each level analyzes and processes the header of its level, performing the appropriate functions, and then removes this header and passes the message to the higher level. As can be seen from the description, protocol entities of the same level do not communicate with each other directly; intermediaries are always involved in this communication - protocol tools of lower levels. And only the physical levels of different nodes interact directly.

OSI Model Layers

OSI model
Layer ) Functions Examples
Host
layers
7. Application Access to network services HTTP, FTP, SMTP
6. Presentation Data representation and encryption ASCII, EBCDIC, JPEG
5. Session Session management RPC, PAP
4. Transport Segments/
Datagrams
Direct communication between endpoints and reliability TCP, UDP, SCTP

layers
3. Network Packets Route determination and logical addressing IPv4, IPv6, IPsec, AppleTalk
2. Channel (data link) Bits/
Frames
Physical addressing PPP, IEEE 802.2, Ethernet, DSL, L2TP, ARP
1. Physical Bits Working with transmission media, signals and binary data USB, twisted pair, coaxial cable, optical cable

In the literature, it is most often customary to start describing the layers of the OSI model with layer 7, called application layer, at which user applications access the network. The OSI model ends with the 1st layer - physical, which defines the standards required by independent manufacturers for data transmission media:

  • type of transmission medium (copper cable, optical fiber, radio air, etc.),
  • signal modulation type,
  • signal levels of logical discrete states (zero and one).

Any protocol of the OSI model must interact either with protocols at its layer, or with protocols one unit higher and/or lower than its layer. Interactions with protocols of one level are called horizontal, and with levels one higher or lower - vertical. Any protocol of the OSI model can perform only the functions of its layer and cannot perform functions of another layer, which is not performed in the protocols of alternative models.

Each level, with some degree of convention, corresponds to its own operand - a logically indivisible element of data, which at a separate level can be operated within the framework of the model and the protocols used: at the physical level the smallest unit is a bit, at the link level information is combined into frames, at the network level - into packets ( datagrams), on transport - into segments. Any piece of data logically combined for transmission - frame, packet, datagram - is considered a message. It is messages in general that are the operands of the session, representative and application levels.

Basic network technologies include the physical and data link layers.

Application layer


Application layer (application layer) - the top level of the model, ensuring the interaction of user applications with the network:

  • Allows applications to use network services:
    • remote access to files and databases,
    • forwarding email;
  • is responsible for transmitting service information;
  • provides applications with error information;
  • generates queries to the presentation layer.

Application level protocols: RDP, HTTP, SMTP, SNMP, POP3, FTP, XMPP, OSCAR, Modbus, SIP, TELNET and others.

Presentation layer


The presentation layer provides protocol conversion and data encoding/decoding. Application requests received from the application layer are converted into a format for transmission over the network at the presentation layer, and data received from the network is converted into an application format. This layer can perform compression/decompression or encryption/decryption, as well as redirecting requests to another network resource if they cannot be processed locally.

The presentation layer is usually an intermediate protocol for transforming information from neighboring layers. This allows communication between applications on disparate computer systems in a manner transparent to the applications. The presentation layer provides code formatting and transformation. Code formatting is used to ensure that the application receives information to process that makes sense to it. If necessary, this layer can perform translation from one data format to another.

The presentation layer not only deals with the formats and presentation of data, it also deals with the data structures that are used by programs. Thus, layer 6 provides organization of data as it is sent.

To understand how this works, let's imagine that there are two systems. One uses EBCDIC, such as an IBM mainframe, to represent data, and the other uses ASCII (most other computer manufacturers use it). If these two systems need to exchange information, then a presentation layer is needed that will perform the conversion and translate between the two different formats.

Another function performed at the presentation layer is data encryption, which is used in cases where it is necessary to protect transmitted information from access by unauthorized recipients. To accomplish this task, processes and code in the presentation layer must perform data transformation. There are other routines at this level that compress texts and convert graphics into bitstreams so they can be transmitted over a network.

Presentation layer standards also define how graphical images are represented. For these purposes, the PICT format can be used - an image format used to transfer QuickDraw graphics between programs.

Another representation format is the tagged TIFF image file format, which is typically used for high-resolution raster images. The next presentation layer standard that can be used for graphic images is that developed by the Joint Photographic Expert Group; in everyday use this standard is simply called JPEG.

There is another group of presentation level standards that define the presentation of audio and film fragments. This includes the Musical Instrument Digital Interface (MIDI) for the digital representation of music, the Motion Picture Experts Group's MPEG standard, used to compress and encode CD-ROM videos, store them in digitized form, and transmit at bit rates up to 1.5 Mbps, and QuickTime is a standard that describes audio and video elements for programs running on Macintosh and PowerPC computers.

Presentation layer protocols: AFP - Apple Filing Protocol, ICA - Independent Computing Architecture, LPP - Lightweight Presentation Protocol, NCP - NetWare Core Protocol, NDR - Network Data Representation, XDR - eXternal Data Representation, X.25 PAD - Packet Assembler/Disassembler Protocol .

Session layer


The session layer of the model ensures the maintenance of a communication session, allowing applications to interact with each other for a long time. The layer manages session creation/termination, information exchange, task synchronization, data transfer eligibility determination, and session maintenance during periods of application inactivity.

Session layer protocols: ADSP (AppleTalk Data Stream Protocol), ASP (AppleTalk Session Protocol), H.245 (Call Control Protocol for Multimedia Communication), ISO-SP (OSI Session Layer Protocol (X.225, ISO 8327)), iSNS (Internet Storage Name Service), L2F (Layer 2 Forwarding Protocol), L2TP (Layer 2 Tunneling Protocol), NetBIOS (Network Basic Input Output System), PAP (Password Authentication Protocol), PPTP (Point-to-Point Tunneling Protocol), RPC (Remote Procedure Call Protocol), RTCP (Real-time Transport Control Protocol), SMPP (Short Message Peer-to-Peer), SCP (Session Control Protocol), ZIP (Zone Information Protocol), SDP (Sockets Direct Protoco]) .

Transport layer


The transport layer of the model is designed to ensure reliable data transfer from sender to recipient. However, the level of reliability can vary widely. There are many classes of transport layer protocols, ranging from protocols that provide only basic transport functions (for example, data transfer functions without acknowledgment), to protocols that ensure that multiple data packets are delivered to the destination in the proper sequence, multiplex multiple data streams, provide data flow control mechanism and guarantee the reliability of the received data. For example, UDP is limited to monitoring the integrity of data within one datagram, and does not exclude the possibility of losing an entire packet, or duplicating packets, or disrupting the order in which data packets are received; TCP provides reliable continuous data transmission, eliminating data loss or disruption of the order of its arrival or duplication; it can redistribute data, breaking large portions of data into fragments and, conversely, merging fragments into one packet.

Transport layer protocols: ATP (AppleTalk Transaction Protocol), CUDP (Cyclic UDP), DCCP (Datagram Congestion Control Protocol), FCP (Fiber Channel|Fiber Channel Protocol), IL (IL Protocol), NBF (NetBIOS Frames protocol), NCP ( NetWare Core Protocol), SCTP (Stream Control Transmission Protocol), SPX (Sequenced Packet Exchange), SST (Structured Stream Transport), TCP (Transmission Control Protocol), UDP (User Datagram Protocol).

Network layer


The network layer (lang-en|network layer) of the model is designed to determine the path of data transmission. Responsible for translating logical addresses and names into physical ones, determining the shortest routes, switching and routing, monitoring problems and congestion in the network.

Network layer protocols route data from source to destination. Devices (routers) operating at this level are conventionally called third-level devices (based on the level number in the OSI model).

Network layer protocols: IP/IPv4/IPv6 (Internet Protocol), IPX (Internetwork Packet Exchange), X.25 (partially implemented at layer 2), CLNP (connectionless network protocol), IPsec (Internet Protocol Security). Routing protocols - RIP (Routing Information Protocol), OSPF (Open Shortest Path First).

Data Link Layer


The data link layer is designed to ensure the interaction of networks at the physical level and control errors that may occur. It packs the data received from the physical layer, presented in bits, into frames, checks them for integrity and, if necessary, corrects errors (forms a repeated request for a damaged frame) and sends them to the network layer. The data link layer can communicate with one or more physical layers, monitoring and managing this interaction.

The IEEE 802 specification divides this layer into two sublayers: MAC (Media Access Control) regulates access to the shared physical medium, LLC (logical link control) provides network layer service.

Switches, bridges and other devices operate at this level. These devices are said to use Layer 2 addressing (based on the layer number in the OSI model).

Link layer protocols: ARCnet, ATM (Asynchronous Transfer Mode), Controller Area Network (CAN), Econet, IEEE 802.3 (Ethernet), Ethernet Automatic Protection Switching (EAPS), Fiber Distributed Data Interface (FDDI), Frame Relay, High-Level Data Link Control (HDLC), IEEE 802.2 (provides LLC functions to IEEE 802 MAC layers), Link Access Procedures, D channel (LAPD), IEEE 802.11 wireless LAN, LocalTalk, Multiprotocol Label Switching (MPLS), Point-to-Point Protocol (PPP), Point-to-Point Protocol over Ethernet (PPPoE), StarLan, Token ring, Unidirectional Link Detection (UDLD), x.25]], ARP.

In programming, this level represents the network card driver; in operating systems there is a software interface for the interaction of the channel and network layers with each other. This is not a new level, but simply an implementation of the model for a specific OS. Examples of such interfaces: ODI, NDIS, UDI.

Physical layer


Physical layer is the lowest level of the model, which defines the method of transferring data, presented in binary form, from one device (computer) to another. Various organizations are involved in compiling such methods, including: the Institute of Electrical and Electronics Engineers, the Electronics Industry Alliance, the European Telecommunications Standards Institute and others. They transmit electrical or optical signals into a cable or radio broadcast and, accordingly, receive and convert them into data bits in accordance with digital signal encoding methods.

Hubs]], signal repeaters and media converters also operate at this level.

Physical layer functions are implemented on all devices connected to the network. On the computer side, the physical layer functions are performed by the network adapter or serial port. The physical layer refers to the physical, electrical, and mechanical interfaces between two systems. The physical layer defines such types of data transmission media as optical fiber, twisted pair, coaxial cable, satellite data link, etc. Standard types of network interfaces related to the physical layer are:)