The basic protocol stack of the Internet. Stack (network switches)

Protocol stacks

A protocol stack is a hierarchically organized set of network protocols of various levels sufficient to organize and ensure the interaction of nodes in a network. Currently, networks use a large number of communication protocol stacks. The most popular stacks are: TCP/IP, IPX/SPX, NetBIOS/SMB, Novell NetWare, DECnet, XNS, SNA and OSI. All these stacks, except for SNA, at the lower levels - physical and channel - use the same well-standardized protocols Ethemet, Token Ring, FDDI and some others, which allow using the same equipment in all networks. But at the upper levels, all stacks work according to their own protocols. These protocols often do not conform to the layering recommended by the OSI model. In particular, the functions of the session and presentation layer are usually combined with the application layer. This discrepancy is due to the fact that the OSI model appeared as a result of a generalization of already existing and actually used stacks, and not vice versa.

All protocols included in the stack are developed by one manufacturer, that is, they are able to work as quickly and efficiently as possible.

An important point in the functioning of network equipment, in particular a network adapter, is protocol binding. It allows you to use different protocol stacks when serving one network adapter. For example, you can use the TCP/IP and IPX/SPX stacks at the same time. If suddenly an error occurs when trying to establish a connection with the addressee using the first stack, it will automatically switch to using the protocol from the next stack. An important point in this case is the order of binding, since it clearly affects the use of one or another protocol from different stacks.

Regardless of how many network adapters are installed in the computer, the binding can be carried out both “one-to-many” and “several-to-one”, that is, one protocol stack can be bound to several adapters at once or several stacks to one adapter.

NetWare is a network operating system and a set of network protocols that are used in this system to interact with client computers connected to a network. The system's network protocols are based on the XNS protocol stack. NetWare currently supports the TCP/IP and IPX/SPX protocols. Novell NetWare was popular in the 80s and 90s because of its superior performance over general purpose operating systems. This is now outdated technology.

The Xerox Network Services Internet Transport Protocol (XNS) protocol stack was developed by Xerox for data transmission over Ethernet networks. Contains 5 levels.

Layer 1 - transmission medium - implements the functions of the physical and link layers in the OSI model:

* manages data exchange between the device and the network;

* routes data between devices on the same network.

Layer 2 - internetwork - corresponds to the network layer in the OSI model:

* manages data exchange between devices located in different networks (provides a datagram service in terms of the IEEE model);

* describes the way data passes through the network.

Layer 3 - transport - corresponds to the transport layer in the OSI model:

* Provides end-to-end communication between data source and destination.

Level 4 - control - corresponds to the session and presentation level in the OSI model:

* manages the presentation of data;

* manages control over device resources.

Layer 5 - applied - corresponds to the highest levels in the OSI model:

* provides data processing functions for applied tasks.

The TCP / IP (Transmission Control Protocol / Internet Protocol) protocol stack is by far the most common and functional. It works in local networks of any scale. This stack is the main stack in the global Internet. Stack support was implemented in computers with the UNIX operating system. As a result, the popularity of the TCP/IP protocol has increased. The TCP / IP protocol stack includes a lot of protocols operating at various levels, but it got its name thanks to two protocols - TCP and IP.

TCP (Transmission Control Protocol) is a transport protocol designed to control data transmission in networks using the TCP / IP protocol stack. IP (Internet Protocol) is a network layer protocol designed to deliver data over a composite network using one of the transport protocols, such as TCP or UDP.

The lower level of the TCP / IP stack uses standard data transfer protocols, which makes it possible to use it in networks using any network technology and on computers with any operating system.

Initially, the TCP / IP protocol was developed for use in global networks, which is why it is as flexible as possible. In particular, due to the ability of packet fragmentation, data, despite the quality of the communication channel, in any case reaches the destination. In addition, due to the presence of the IP protocol, it becomes possible to transfer data between heterogeneous network segments.

The disadvantage of the TCP / IP protocol is the complexity of network administration. So, for the normal functioning of the network, additional servers are required, such as DNS, DHCP, etc., maintaining which takes up most of the time of the system administrator. Limoncelli T., Hogan K., Cheylap S. - System and network administration. 2nd ed. year 2009. 944s

The IPX/SPX (Internetwork Packet Exchange/Sequenced Packet Exchange) protocol stack is developed and proprietary by Novell. It was developed for the needs of the Novell NetWare operating system, which until recently occupied one of the leading positions among server operating systems.

The IPX and SPX protocols work at the network and transport layers of the ISO / OSI model, respectively, so they complement each other perfectly.

The IPX protocol can transmit data using datagrams using network routing information to do so. However, in order to transfer data along the found route, you must first establish a connection between the sender and the recipient. This is what the SPX protocol or any other transport protocol that works in tandem with IPX does.

Unfortunately, the IPX/SPX protocol stack was originally oriented to serving small networks, so its use in large networks is ineffective: excessive use of broadcasting on low-speed communication lines is unacceptable.

At the physical and link layers, the OSI stack supports the Ethernet, Token Ring, FDDI protocols, as well as the LLC, X.25 and ISDN protocols, that is, it uses all popular lower-level protocols developed outside the stack, like most other stacks. The network layer includes the relatively rarely used Connectionoriented Network Protocol (CONP) and Connectionless Network Protocol (CLNP). The routing protocols of the OSI stack are ES-IS (End System -- Intermediate System) between end and intermediate systems and IS-IS (Intermediate System -- Intermediate System) between intermediate systems. The transport layer of the OSI stack hides the distinction between connectionless and connectionless network services so that users receive the required quality of service regardless of the underlying network layer. To ensure this, the transport layer requires the user to specify the desired quality of service. Application layer services provide file transfer, terminal emulation, directory services, and mail. Of these, the most popular are Directory Service (X.500 standard), E-mail (X.400), Virtual Terminal Protocol (VTP), File Transfer, Access and Control Protocol (FTAM), Transfer and Job Control Protocol (JTM).

A fairly popular protocol stack developed by IBM and Microsoft, respectively, focused on use in the products of these companies. Like TCP / IP, standard protocols such as Ethernet, Token Ring and others work at the physical and data link layers of the NetBIOS / SMB stack, which makes it possible to use it in tandem with any active network equipment. At the upper levels, the NetBIOS (Network Basic Input / Output System) and SMB (Server Message Block) protocols work.

The NetBIOS protocol was developed in the mid-80s of the last century, but was soon replaced by the more functional NetBEUI (NetBIOS Extended User Interface) protocol, which allows organizing a very efficient exchange of information in networks consisting of no more than 200 computers.

Communication between computers uses logical names that are dynamically assigned to computers when they connect to the network. In this case, the name table is distributed to each computer on the network. Work with group names is also supported, which allows you to transfer data to several recipients at once.

The main advantages of the NetBEUI protocol are speed and very low resource requirements. If you want to organize fast data exchange in a small network consisting of a single segment, there is no better protocol for this. In addition, an established connection is not a mandatory requirement for message delivery: in the absence of a connection, the protocol uses the datagram method, when the message is supplied with the address of the recipient and the sender and “takes off”, moving from one computer to another.

However, NetBEUI also has a significant drawback: it is completely devoid of the concept of packet routing, so its use in complex composite networks does not make sense. Pyatibratov A.P., Gudyno L.P., Kirichenko A.A. Computing machines, networks and telecommunication systems Moscow 2009. 292s

As for the SMB (Server Message Block) protocol, it organizes network operation at the three highest levels - session, presentation and application levels. It is when using it that it becomes possible to access files, printers and other network resources. This protocol has been improved several times (three versions have been released), which made it possible to use it even in such modern operating systems as Microsoft Vista and Windows 7. The SMB protocol is universal and can be paired with almost any transport protocol, such as TCP / IP and SPX.

The DECnet (Digital Equipment Corporation net) protocol stack contains 7 layers. Despite the difference in terminology, the DECnet layers are very similar to the layers of the OSI model. DECnet implements the concept of DNA (Digital Network Architecture) network architecture developed by DEC, according to which heterogeneous computing systems (computers of different classes) operating under various operating systems can be combined into geographically distributed information and computing networks.

The SNA (System Network Architecture) protocol from IBM is designed for remote communication with large computers and contains 7 layers. SNA is based on the concept of a host machine and provides remote terminal access to IBM mainframes. The main distinguishing feature of SNA is the ability of each terminal to access any application program of the main computer. The system network architecture is implemented on the basis of a virtual telecommunication access method (Virtual Telecommunication Access Method - VTAM) in the main computer. VTAM manages all links and terminals, with each terminal having access to all applications.

The protocol stack, or in common parlance TCP / IP, is the network architecture of modern devices designed to use the network. Stack is a wall in which each constituent brick lies on top of another, depends on it. Calling the protocol stack the "TCP/IP stack" is due to the two main protocols that have been implemented - IP itself, and TCP based on it. However, they are only the main and most common. If not hundreds, then dozens of others are used to this day for various purposes.

The web we are used to (world wide web) is based on the HTTP (hyper-text transfer protocol), which in turn works on the basis of TCP. This is a classic example of using the protocol stack. There are also IMAP/POP and SMTP email protocols, SSH remote shell protocols, RDP remote desktop protocols, MySQL databases, SSL/TLS, and thousands of other applications with their own protocols (..)

What is the difference between all these protocols? Everything is pretty simple. In addition to the various goals set during development (for example, speed, safety, stability and other criteria), protocols are created for the purpose of differentiation. For example, there are application layer protocols that are different for different applications: IRC, Skype, ICQ, Telegram and Jabber are incompatible with each other. They are designed to perform a specific task, and in this case, the ability to call WhatsApp in ICQ is simply not technically defined, since the applications use a different protocol. But their protocols are based on the same IP protocol.

A protocol can be called a planned, regular sequence of actions in a process in which there are several actors, in the network they are called peers (partners), less often - a client and a server, emphasizing the features of a particular protocol. The simplest example of a protocol for those who still do not understand is a handshake at a meeting. Both know how and when, but the question of why is already a question of developers, not users of the protocol. By the way, there is a handshake in almost all protocols, for example, to ensure protocol differentiation and protection against "flying on the wrong plane."

Here's what TCP / IP is on the example of the most popular protocols. The dependency hierarchy is shown here. I must say that applications only use the specified protocols, which may or may not be implemented inside the OS.

In very, very simple terms, this is the postal service.

Each member of an IP-compatible network has its own address, which looks something like this: 162.123.058.209. In total, there are 4.22 billion such addresses for the IPv4 protocol.

Suppose one computer wants to communicate with another and send him a parcel - a "package". He will turn to the "postal service" TCP / IP and give her his package, indicating the address to which it must be delivered. Unlike addresses in the real world, the same IP addresses are often assigned to different computers in turn, which means that the "postman" does not know where the required computer is physically located, so he sends the package to the nearest "post office" - to the network computer board. Perhaps there is information about where the desired computer is located, or perhaps such information is not there. If it is not there, a request for an address is sent to all the nearest "post offices" (switchboards). This step is repeated by all "post offices" until they find the desired address, while they remember how many "post offices" this request went through before them and if it goes through a certain (large enough) number of them, then it will be returned back marked " address not found." The first "post office" will soon receive a bunch of answers from other "offices" with options for ways to the addressee. If no sufficiently short path is found (usually 64 transfers, but no more than 255), the package will be returned to the sender. If one or more paths are found, the parcel will be sent along the shortest of them, while the "post offices" will remember this path for a while, allowing you to quickly transfer subsequent parcels without asking anyone for an address. After delivery, the "postman" will make the recipient sign a "receipt" stating that he received the package and give this "receipt" to the sender as evidence that the package was delivered intact - delivery check in TCP is required. If the sender does not receive such a receipt after a certain period of time, or the receipt says that the package was damaged or lost during shipment, then he will try to send the package again.

TCP/IP is a set of protocols.

The protocol is the rule. For example, when you are greeted - you greet in response (and do not say goodbye or do not want happiness). Programmers will say that we use the hello protocol, for example.

What kind of TCP / IP (now it will be quite simple, don't bomb your colleagues):

Information to your computer goes by wire (radio or whatever - it doesn't matter). If a current was let through the wires, it means 1. Turned off, it means 0. It turns out 10101010110000 and so on. 8 zeros and ones (bits) is a byte. For example 00001111. This can be represented as a number in binary form. In decimal form, a byte is a number between 0 and 255. These numbers map to letters. For example 0 is A, 1 is B. (This is called encoding).

So. In order for two computers to effectively transmit information over wires, they must supply current according to some rules - protocols. For example, they must agree on how often the current can be changed so that a 0 can be distinguished from a second 0.

This is the first protocol.

Computers somehow understand that one of them has stopped giving information (such as "I said everything"). To do this, at the beginning of the data sequence 010100101 computers can send a few bits, the length of the message they want to send. For example, the first 8 bits could indicate the length of the message. That is, first, in the first 8 bits, the encoded number 100 is transmitted and then 100 bytes. The receiving computer will then wait for the next 8 bits and the next message.

Here we have another protocol, with its help you can send messages (computer).

There are many computers so that they can understand who needs to send a message using unique computer addresses and a protocol that allows you to understand who this message is addressed to. For example, the first 8 bits will indicate the recipient's address, the next 8 - the length of the message. And then a message. We just tucked one protocol into another. The IP protocol is responsible for addressing.

Communication is not always reliable. For reliable delivery of messages (computer) use TCP. When executing the TCP protocol, computers will ask each other again if they received the correct message. There is also UDP - this is when the computers do not ask again whether they received it. Why is it necessary? Here you are listening to internet radio. If a couple of bytes arrive with errors, you will hear, for example, "psh" and then music again. Not fatal, and not particularly important - UDP is used for this. But if a couple of bytes get corrupted when loading the site, you will get crap on the monitor and will not understand anything. The site uses TCP.

TCP/IP (UDP/IP) are nested protocols that run the Internet. In the end, these protocols make it possible to transmit a computer message in one piece and exactly at the address.

There is also http protocol. The first line is the site address, the next lines are the text that you send to the site. All http lines are text. Which is thrust into TCP a message that is addressed using IP, and so on.

Reply

The Internet is a global system of interconnected computer, local and other networks that interact with each other through the TCP / IP protocol stack (Fig. 1.).

Figure 1 - Generalized diagram of the Internet

The Internet enables the exchange of information between all computers connected to it. The type of computer and the operating system it uses does not matter.

The main cells of the Internet are local area networks (LAN - Local Area network). If some local network is directly connected to the Internet, then every workstation of this network can also connect to it. There are also computers that are independently connected to the Internet. They're called host computers(host - host).

Each computer connected to the network has its own address, where it can be found by a subscriber from anywhere in the world.

An important feature of the Internet is that, by combining different networks, it does not create any hierarchy - all computers connected to the network are equal.

Another distinctive feature of the Internet is its high reliability. If some of the computers and communication lines fail, the network will continue to function. Such reliability is ensured by the fact that there is no single control center on the Internet. If some communication lines or computers fail, then messages can be transmitted over other communication lines, since there are always several ways to transfer information.

The Internet is not a commercial organization and does not belong to anyone. There are Internet users in almost all countries of the world.

Users connect to the network through the computers of special organizations called Internet Service Providers. The Internet connection can be permanent or temporary. ISPs have many lines to connect users and high speed lines to connect to the rest of the Internet. Often, smaller providers are connected to larger ones, which in turn are connected to other providers.

Organizations connected to each other by the fastest communication lines form the basic part of the network, or backbone of the Internet Backbon [Bekbon]. If the supplier is connected directly to the ridge, then the information transfer rate will be maximum.

In reality, the difference between users and Internet service providers is rather relative. Any person who has connected his computer or his local area network to the Internet and installed the necessary programs can provide network connection services to other users. A single user can, in principle, be connected by a high-speed line directly to the backbone of the Internet.

In general, the Internet exchanges information between any two computers connected to the network. Computers connected to the Internet are often referred to as Internet hosts or Internet sites. , from the English word site, which translates as a place, location. Sites installed at ISPs provide users with access to the Internet. There are also nodes specialized in providing information. For example, many firms create sites on the Internet through which they distribute information about their products and services.

How is information transmitted? There are two main concepts used on the Internet: address and protocol. Every computer connected to the Internet has its own unique address. Just as a mailing address uniquely identifies a person's location, an Internet address uniquely identifies a computer's location on a network. Internet addresses are the most important part of it, and they will be discussed in detail below.

Data sent from one computer to another using the Internet is broken up into packets. They move between computers that make up network nodes. Packets of the same message can go through different routes. Each package has its own marking, which ensures the correct assembly of the document on the computer to which the message is addressed.

What is a protocol? As previously stated, a protocol is the rules of interaction. For example, diplomatic protocol prescribes what to do when meeting foreign guests or when holding a reception. Also, the network protocol prescribes the rules for the operation of computers that are connected to the network. Standard protocols force different computers to "speak the same language". Thus, it is possible to connect to the Internet different types of computers running different operating systems.

The underlying protocols of the Internet are the TCP/IP protocol stack. First of all, it is required to clarify that, in the technical understanding of TCP / IP - this is not one network protocol, but two protocols lying at different levels of the network model (this is the so-called protocol stack). TCP protocol - protocol transport level. He controls that how data is transferred. IP protocol - address. He belongs network layer and determines where the transmission takes place.

Protocol TCP. According to the TCP protocol , the sent data is "cut" into small packets, after which each packet is marked so that it contains the data necessary for the correct assembly of the document on the recipient's computer.

To understand the essence of the TCP protocol, you can imagine a game of chess by correspondence, when two participants play ten games at the same time. Each move is recorded on a separate postcard indicating the game number and move number. In this case, between two partners through the same mail channel, there are, as it were, a dozen connections (one per batch). Two computers linked together by a single physical connection can just as easily support multiple TCP connections at the same time. So, for example, two intermediate network servers can simultaneously transmit to each other in both directions a lot of TCP packets from multiple clients over one communication line.

When we work on the Internet, we can simultaneously receive documents from America, Australia and Europe over a single telephone line. Packages of each of the documents arrive separately, with separation in time, and as they arrive, they are collected into different documents.

Protocol IP . Now consider the address protocol - IP (Internet Protocol). Its essence is that each member of the World Wide Web must have its own unique address (IP address). Without this, it is impossible to talk about the exact delivery of TCP packages to the right workplace. This address is expressed very simply - four numbers, for example: 195.38.46.11. We will look at the structure of the IP address in more detail later. It is organized in such a way that each computer through which any TCP packet passes can determine by these four numbers which of the nearest “neighbors” needs to forward the packet so that it is “closer” to the recipient. As a result of a finite number of hops, the TCP packet reaches its destination.

The word "closer" is not in quotation marks by chance. In this case, it is not geographic “proximity” that is being assessed. The communication conditions and line capacity are taken into account. Two computers located on different continents, but connected by a high-performance space communication line, are considered closer to each other than two computers from neighboring villages connected by a simple telephone wire. Solving the issues of what to consider "closer" and what is "further" are dealt with by special means - routers. The role of routers in the network is usually performed by specialized computers, but these can also be special programs running on the network's node servers.

TCP/IP protocol stack

TCP/IP protocol stack- a set of network data transfer protocols used in networks, including the Internet. The name TCP/IP comes from the two most important protocols in the family, the Transmission Control Protocol (TCP) and Internet Protocol (IP), which were developed and described first in this standard.

Protocols work with each other in a stack. stack, stack) - this means that the protocol located at the higher level works "on top" of the lower one, using encapsulation mechanisms. For example, the TCP protocol runs on top of the IP protocol.

The TCP/IP protocol stack includes four layers:

  • application layer (application layer),
  • transport layer (transport layer),
  • network layer (internet layer),
  • link layer.

The protocols of these layers fully implement the functionality of the OSI model (Table 1). All user interaction in IP networks is built on the TCP / IP protocol stack. The stack is independent of the physical transmission medium.

Table 1– Comparison of the TCP/IP protocol stack and the OSI reference model

Application layer

The Application layer is where most network applications run.

These programs have their own communication protocols, such as HTTP for WWW, FTP (file transfer), SMTP (e-mail), SSH (secure connection to a remote machine), DNS (character name to IP address translation), and many others.

For the most part, these protocols work on top of TCP or UDP and are tied to a specific port, for example:

  • HTTP on TCP port 80 or 8080,
  • FTP to TCP port 20 (for data transfer) and 21 (for control commands),
  • DNS requests to UDP port (less commonly TCP) 53,

transport layer

Transport layer protocols can solve the problem of non-guaranteed message delivery (“did the message reach the destination?”), And also guarantee the correct sequence of data arrival. In the TCP/IP stack, the transport protocols determine which application the data is intended for.

The automatic routing protocols that are logically present at this layer (because they run on top of IP) are actually part of the network layer protocols; for example OSPF (IP ID 89).

TCP (IP ID 6) is a "guaranteed" connection-pre-established transport mechanism that provides an application with a reliable data stream, gives confidence in the correctness of received data, re-requests data in case of loss, and eliminates duplication of data. TCP allows you to regulate the load on the network, as well as reduce the waiting time for data when transmitted over long distances. Moreover, TCP guarantees that the received data was sent in exactly the same sequence. This is its main difference from UDP.

UDP (IP ID 17) is a connectionless datagram protocol. It is also called an "unreliable" transfer protocol, in the sense of the inability to verify the delivery of a message to the addressee, as well as the possible mixing of packets. Applications that require guaranteed data transmission use the TCP protocol.

UDP is commonly used in applications such as video streaming and gaming, where packet loss is tolerated and retrying is difficult or unreasonable, or in challenge-response applications (such as DNS queries) where establishing a connection takes more resources than Resending.

Both TCP and UDP use a number called a port to define the upper layer protocol.

network layer

The Internet layer was originally designed to transfer data from one (sub)network to another. With the development of the concept of a global network, additional capabilities were introduced into the layer for transferring from any network to any network, regardless of the lower layer protocols, as well as the ability to request data from a remote side, for example, in the ICMP protocol (used to transfer diagnostic information of an IP connection) and IGMP (used to control multicast streams).

ICMP and IGMP are located above IP and should go to the next - transport - layer, but functionally they are network layer protocols, and therefore they cannot be entered into the OSI model.

IP network protocol packets can contain a code that specifies which next layer protocol to use to extract the data from the packet. This number is unique protocol IP number. ICMP and IGMP are numbered 1 and 2, respectively.

Link layer

The Link layer describes how data packets are transmitted over the physical layer, including coding(that is, special sequences of bits that determine the beginning and end of a data packet). Ethernet, for example, in the fields of the packet header contains an indication of which machine or machines on the network this packet is intended for.

Examples of link layer protocols are Ethernet, Wi-Fi, Frame Relay, Token Ring, ATM, etc.

The link layer is sometimes divided into 2 sublayers - LLC and MAC.

In addition, the link layer describes the data transmission medium (be it coaxial cable, twisted pair, optical fiber or radio channel), the physical characteristics of such a medium and the principle of data transmission (channel separation, modulation, signal amplitude, signal frequency, transmission synchronization method, latency response and maximum distance).

Encapsulation

Encapsulation is the packing, or nesting, of high-level packets (possibly of a different protocol) into packets of the same protocol (lower level), including the address.

For example, when an application needs to send a message using TCP, the following sequence of actions is performed (Fig. 2):

Figure 2 - Encapsulation process

  • first of all, the application fills in a special data structure, in which it indicates information about the recipient (network protocol, IP address, TCP port);
  • transfers the message, its length and structure with information about the recipient to the TCP protocol handler (transport layer);
  • the TCP handler forms a segment in which the message is the data, and the recipient's TCP port (as well as other data) is in the headers;
  • the TCP handler passes the generated segment to the IP handler (network layer);
  • the IP handler treats the transmitted TCP segment as data and prefixes it with its header (which, in particular, contains the recipient's IP address, taken from the same application data structure, and the upper protocol number;
  • the IP handler passes the received packet to the link layer, which again considers this packet as "raw" data;
  • the link layer handler, similarly to the previous handlers, adds its header to the beginning (which also indicates the top-level protocol number, in our case it is 0x0800 (IP)) and, in most cases, adds the final checksum, thereby forming a frame;
  • then the received frame is transmitted to the physical layer, which converts the bits into electrical or optical signals and sends them to the transmission medium.

On the recipient side, to unpack the data and provide it to the application, the reverse process (bottom-up), called decapsulation, is performed.

Related information:



2015-2020 lektsii.org -

Transport Layer (TL) defines the rules for transporting packets over the network. The transport layer oversees the end-to-end delivery of individual packets; it does not take into account any dependencies between these packets (even if they belong to the same message). It treats each packet as if each part belonged to a separate message, whether or not it actually did. Transport layer protocols ensure that all messages arrive at their destination intact and that packets are in their original order. At the transport level, information violation control and error control are performed, as well as flow control along the entire source-destination path.

The transport layer performs the following tasks:

  • Service Point Addressing. Computers often run multiple programs at the same time. For this reason, source-to-destination delivery means delivery not only from one computer to the next, but also from a given process (running program) on one computer to a given process (running program) on another. Therefore, the transport layer header must include an address type called a service point address (or port address). The network layer delivers each packet to the correct computer address; the transport layer delivers the complete message to the correct process on that computer.
  • Segmentation and reassembly. The message is divided into transportable segments, each segment contains a sequence number. These numbers allow the transport layer to properly reassemble the message after reaching the destination and replace packets that were lost in transit.
  • Connection management. The transport layer can be connection-oriented (connectionless transfer) or connection-oriented (connection-oriented transfer) - datagram mode. The connectionless transport layer (over a pre-established virtual connection) processes each segment as an independent packet and delivers it to the transport layer on the destination machine. The connection-oriented transport layer first establishes a connection with the transport layer on the destination computer before delivering packets. After all the data has been transferred, the connection ends.

    In connectionless mode, the transport layer is used to transmit single datagrams without guaranteeing their reliable delivery. The connection-oriented mode is used for reliable data delivery.

  • flow control. Like the data link layer, the transport layer is responsible for flow control. However, flow control at this level is end-to-end.
  • Error control. Like the data link layer, the transport layer is responsible for error control. The transmit transport layer verifies that the complete message reached the receive transport layer without error (corruption, loss, or duplication). Error correction is usually done by retransmission.

Session Layer (SL)- network controller dialogue. It establishes, maintains and synchronizes communication between communicating systems.

With the help of the session layer ( Session Layer ) a dialogue is organized between the parties, it is fixed which of the parties is the initiator, which of the parties is active and how the dialogue ends.

The tasks of the session layer are:

  • Dialog management. session layer allows the two systems to enter into a dialogue. It allows the exchange of messages between two processes. In this case, the modes are possible: either half-duplex (one path at the same time), or full-duplex (two paths at the same time). For example, the conversation between the terminal and the mainframe may be half duplex.
  • Synchronization. session layer allows a process to add checkpoints (synchronization points) to the data stream. For example, if the system sends a file of 2,000 pages, it is desirable to insert checkpoints after every 100 pages to ensure that each 100-page module is received and recognized independently. In this case, if a violation occurs during the transmission of page 523, the only page that is required and will be sent again after the system restore is page 501 (the first page of the fifth hundred)

Presentation Layer deals with the form of providing information to lower levels, for example, recoding or encrypting information.

The tasks of the presentation layer are:

  • Information recoding. Processes (running programs) on two systems typically change information in the form of character strings, numbers, and so on. Information must be changed to bit streams before being transmitted. Because different computers use different coding systems, presentation layer is responsible for the interoperability between these different encoding methods. Presentation Layer at the transmitter changes the information from a transmitter-specific form to a generic form. Presentation Layer in the receiving computer replaces the common format with the format of its receiver.
  • Encryption. To deliver confidential information, the system must provide secrecy. Encryption means that the transmitter converts the original information to another form and sends the resulting message over the network. Decryption must be the exact opposite of the original process in order to convert the message back to its original form.
  • Compression. Data compression reduces the number of bits contained in the information. Data compression becomes especially important in the transmission of multimedia such as text, audio and video.

Application Layer (AL) is a set of protocols exchanged between remote nodes that implement the same task (program). Application layer allows a user (human or software) to access the network. It provides user interfaces and service support for email, remote access and funds transfer, public database management, and other types of distributed information services.

Examples of services provided by the application layer:

  • Network virtual terminal. A network virtual terminal is a software version of a physical terminal that allows the user to log into a remote host. To do this, the application creates a software simulation of a terminal on the remote host. The user's computer communicates with the software terminal, which in turn communicates with the host, and vice versa. The remote host defines this link as a link to one of its own terminals and allows entry.
  • File transfer, access and control. This application allows the user to access files on a remote host to modify or read data, retrieve files from a remote computer for use on a local computer, and administer or manage files on a remote computer.
  • Postal services. This application provides a framework for sending and storing email.
  • Directory Services. This application provides distributed database sources and access to global information about various objects and services.

Internet protocol stack

The Internet2 protocol stack was developed prior to the OSI model. Therefore, the layers in the Internet protocol stack do not correspond to those in the OSI model. The Internet protocol stack consists of five layers: physical, data link, network, transport, and application. The first four layers provide the physical standards, network interface, internetworking, and transport functions that correspond to the first four layers of the OSI model. The top three layers in the OSI model are represented in the Internet protocol stack by a single layer, called the application layer in Fig. 1.3.


Rice. 1.3.

ARP Address Resolution Protocol Address discovery protocol
ATM Asynchronous Transfer Mode Asynchronous transfer mode
BGP Border Gateway Protocol Border Routing Protocol
DNS Domain Name System Domain Name System
ethernet ethernet network Ethernet network
FDDI Fiber Distributed Data Interface Fiber Optic Distributed Data Interface
http Hyper Text Transfer Protocol Hypertext Transfer Protocol
FTP File Transfer Protocol File Transfer Protocol
ICMP Internet Control Message Protocol Control Message Protocol
IGMP Internet Group Management Protocol Internet Group (User) Control Protocol
IP Internet Protocol Internet protocol
NFS Network File System Network File System Access Protocol
OSPF Open Shortest Path First Open Shortest Channel Preference Protocol
PDH Plesiochronous Digital Hierarchy Plesiochronous digital hierarchy
PPP Point-to-Point Protocol Point-to-point communication protocol

protocol stack is a hierarchically organized set of network protocols, sufficient to organize the interaction of nodes in the network. The protocols work simultaneously on the network, which means that the work of the protocols must be organized in such a way that there are no conflicts or incomplete operations. Therefore, the protocol stack is divided into hierarchically constructed levels, each of which performs a specific task - preparing, receiving, transmitting data and subsequent actions with them.

The number of layers in a stack varies according to the specific protocol stack. Lower layer protocols are often implemented in a combination of software and hardware, while upper layer protocols are typically implemented in software.

There are a sufficient number of protocol stacks that are widely used in networks. The most popular protocol stacks are: OSI of the International Organization for Standardization, TCP / IP, used on the Internet and in many networks based on the UNIX operating system, IPX / SPX from Novell, NetBIOS / SMB, developed by Microsoft and IBM, DECnet of Digital Equipment Corporation, SNA from IBM and some others.

Encyclopedic YouTube

    1 / 3

    Fundamentals of data networks. OSI model and TCP IP protocol stack. Ethernet Basics.

    protocol stack

    Informatics. Network technologies: OSI protocol stack. Foxford Online Learning Center

    Subtitles

Standard communication protocol stacks

OSI

It is important to distinguish OSI model and OSI protocol stack. While the OSI model is a conceptual diagram for how open systems interact, the OSI stack is a set of specific protocol specifications.

Unlike other protocol stacks, the OSI stack is fully compliant with the OSI model, including protocol specifications for all seven communication layers defined in this model:

  • On the physical and link layers The OSI stack supports the Ethernet, Token ring, FDDI protocols, as well as the LLC, X.25 and ISDN protocols, that is, it uses all popular lower-level protocols developed outside the stack, like most other stacks.
  • network layer includes the relatively rarely used Connection-oriented Network Protocol (CONP) and Connectionless Network Protocol (CLNP). As the names suggest, the former is connection-oriented, the latter is not (connectionless). More popular are the OSI stack routing protocols: ES-IS (End System - Intermediate System) between the final and intermediate systems and IS-IS (Intermediate System - Intermediate System) between intermediate systems.
  • transport layer The OSI stack, 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 required quality of service regardless of the underlying network layer. To ensure this, the transport layer requires the user to specify the desired amount of maintenance.
  • Services application layer provide file transfer, terminal emulation, directory services, and mail. Of these, the most popular are Directory Service (X.500 standard), E-mail (X.400 standard), Virtual Terminal Protocol (VTP), File Transfer, Access and Control Protocol (FTAM), Job Transfer and Management Protocol (JTM).

TCP/IP

The TCP/IP protocol stack is the set of network protocols on which the Internet is based. Typically, in the TCP / IP stack, the top 3 layers (application, presentation and session) of the OSI model are combined into one - application. Since such a stack does not provide a unified data transfer protocol, the functions for determining the type of data are transferred to the application.

TCP/IP stack levels:

  1. Link layer describes how data packets are transmitted through the physical layer, including encoding (that is, special bit sequences that determine the beginning and end of a data packet).
  2. network layer originally designed to transfer data from one (sub)network to another. Examples of such a protocol are X.25 and IPC on the ARPANET. With the development of the concept of a global network, additional capabilities were introduced into the level for transferring from any network to any network, regardless of lower-level protocols, as well as the ability to request data from a remote side.
  3. Protocols transport layer can solve the problem of non-guaranteed message delivery (“did the message reach the addressee?”), And also guarantee the correct sequence of data arrival.
  4. On the application layer most network applications work. These programs have their own communication protocols, such as HTTP for WWW, FTP (file transfer), SMTP (e-mail), SSH (secure connection to a remote machine), DNS (character-to-IP address translation) and many others.

There is disagreement about how to fit the TCP/IP model into the OSI model, because the layers in the models are not the same. A simplified interpretation of the TCP / IP stack can be represented as follows:

OSI TCP/IP
7. Applied HTTP, FTP, Telnet, SMTP, DNS (RIP over UDP and BGP over TCP are part of the network layer), LDAP Applied
6. Submissions
5. Session
4. Transport TCP, UDP, RTP, NCP) and the Service Advertising Protocol (SAP).

NetBIOS/SMB

At the physical and data link layers of this stack, protocols that have already become widespread, such as Ethernet, Token Ring, FDDI, are also involved, and at the upper levels, specific protocols NetBEUI (NetBEUI Extended User Interface Protocol) and SMB. NetBEUI was designed as an efficient, low resource protocol for networks with up to 200 workstations. This protocol contains many useful networking features that can be attributed to the transport and session layers of the OSI model, but it cannot be used to route packets. This limits the use of the NetBEUI protocol to local networks that are not divided into subnets, and makes it impossible to use it in composite networks.

The Server Message Block (SMB) protocol supports session layer, presentation layer, and application layer functions. Based on SMB, the file service is implemented. as well as printing and messaging services between applications.