At what level of the osi model does the ssl protocol work. Open Systems Interconnection (OSI) model


OSI reference model

For clarity, the network process in the OSI reference model is divided into seven layers. This theoretical construct makes fairly complex concepts easier to learn and understand. At the top of the OSI model is the application that needs access to network resources, at the bottom is the network environment itself. As data moves from layer to layer down, the protocols operating at those layers gradually prepare it for transmission over the network. Once it reaches the target system, the data moves up through the layers, with the same protocols performing the same actions, only in reverse order. In 1983 International Organization for Standardization(International Organization for Standardization, ISO) and Standardization sectortelecommunications of the International Telecommunications Union(Telecommunication Standardization Sector of International Telecommunication Union, ITU-T) published the document “The Basic Reference Model for Open Systems Interconnection”, which described the distribution model network functions between 7 different levels (Fig. 1.7). This seven-layer structure was supposed to form the basis for a new protocol stack, but it was never implemented in commercial form. Instead, the OSI model is used with existing protocol stacks as a training and reference tool. Most of the protocols popular today predate the development of the OSI model, so they are not exactly consistent with its seven-layer structure. Often, one protocol combines the functions of two or even several levels of the model, and the boundaries of the protocols often do not correspond to the boundaries of the OSI layers. However, the OSI model remains an excellent visual aid for examining network processes, and professionals often associate functions and protocols with specific layers.

Data Encapsulation

Essentially, the interaction of protocols operating at different levels of the OSI model is manifested in the fact that each protocol adds title(header) or (in one case) trailer(footer) to the information it received from the level above. For example, an application generates a request to a network resource. This request moves down the protocol stack. When it reaches the transport layer, protocols at this layer add their own header to the request, consisting of fields with function-specific information of this protocol. The original request itself becomes a data field (payload) for the transport layer protocol. After adding its header, the transport layer protocol passes the request to the network layer. The network layer protocol adds its own header to the transport layer protocol header. Thus, for a network layer protocol, the payload becomes the original request and the transport layer protocol header. This entire construct becomes the payload for the link layer protocol, which adds a header and trailer to it. The result of this activity is plastic bag(packet), ready for transmission over the network. When the packet reaches its destination, the process is repeated in reverse. The protocol of each subsequent layer of the stack (now from bottom to top) processes and removes the header of the equivalent protocol of the sending system. When the process is completed, the original request reaches the application it was intended for, in the same form in which it was generated. The process of adding headers to a request (Figure 1.8) generated by an application is called data encapsulation(data encapsulation). In essence, this procedure resembles the process of preparing a letter for sending by mail. The request is the letter itself, and adding headings is the same as putting the letter in an envelope, writing the address, stamping it, and actually sending it.

Physical layer

At the lowest level of the OSI model - physical(physical) - the characteristics of network equipment elements are determined - the network environment, installation method, type of signals used to transmit binary data over the network. In addition, the physical layer determines what type of network adapter needs to be installed on each computer and what kind of hub to use (if necessary). At the physical level we are dealing with copper or fiber optic cable or any wireless connection. In a LAN, the physical layer specifications are directly related to the data link protocol used on the network. Once you select a link layer protocol, you must use one of the physical layer specifications supported by that protocol. For example, the channel protocol Ethernet level supports multiple various options physical layer - one of two types of coaxial cable, any cable type " twisted pair", fiber optic cable. The parameters of each of these options are formed from numerous information about the requirements of the physical layer, for example, the type of cable and connectors, the permissible length of cables, the number of hubs, etc. Compliance with these requirements is necessary for the normal operation of the protocols. For example, in a cable that is too long, the Ethernet system may not notice packet collisions, and if the system is unable to detect errors, it cannot correct them, resulting in data loss. Not all aspects of the physical layer are defined by the link layer protocol standard. Some of them are defined separately. One of the most commonly used physical layer specifications is described in the Commercial Building Telecommunications Cabling Standard, known as EIA/TIA 568A. It is jointly published American National Institute of Standarts(American National Standards Institute, ANSI), Associations fromelectronics industries(Electronics Industry Association, EIA) and Communications Industry Association(Telecommunications Industry Association, TIA). Included in this document detailed description cables for data transmission networks in industrial environments, including the minimum distance from sources of electromagnetic interference and other rules for laying cables. Today cable laying in large networks Most often they are entrusted to specialized companies. The contractor hired should be thoroughly familiar with EIA/TIA 568A and other similar documents, as well as city building codes. Another communication element defined at the physical layer is the type of signal for transmitting data over the network medium. For cables with a copper base, this signal is an electric charge; for a fiber-optic cable, it is a light pulse. Other types of network environments may use radio waves, infrared pulses, and other signals. In addition to the nature of the signals, the scheme for their transmission is established at the physical level, i.e. the combination electric charges or light pulses used for coding binary information, which is generated by higher levels. Ethernet systems use a signaling scheme known as Manchester encoding(Manchester encoding), and in systems Token Ring used differentialManchester(Differential Manchester) scheme.

Data Link Layer

Protocol channel(data-link) level ensures the exchange of information between the hardware of a computer connected to the network and network software. It prepares data sent to it by the network layer protocol for sending to the network, and transmits data received by the system from the network to the network layer. When designing and creating a LAN The link layer protocol used is the most important factor to select equipment and how to install it. To implement the link layer protocol, the following hardware and software are required: adapters network interface(if the adapter is separate device, connected to the bus, it is called a network interface card or simply network card); network adapter drivers; network cables(or other network environment) and auxiliary connecting equipment; network hubs (in some cases). How network adapters, and hubs are designed for specific link-layer protocols. Some network cables are also tailored for specific protocols, but there are also cables that are suitable for different protocols. Of course, today (as always) the most popular link layer protocol is Ethernet. Token Ring is far behind, followed by other protocols such as FDDI (Fiber Distributed Data Interface). There are typically three main elements included in a link layer protocol specification: the frame format (i.e., the header and trailer added to the network layer data before transmission to the network); mechanism for controlling access to the network environment; one or more physical layer specifications used with a given protocol.

Frame format

The link layer protocol adds a header and trailer to the data received from the network layer protocol, turning it into frame(frame) (Fig. 1.9). Using the mail analogy again, the header and trailer are the envelope for sending the letter. They contain the addresses of the sending and receiving systems of the packet. For LAN protocols like Ethernet and Token Ring, these addresses are 6-byte hexadecimal strings assigned to network adapters at the factory. They, in contrast to the addresses used at other levels of the OSI model, are called appa military addresses(hardware address) or MAC addresses (see below).

Note Protocols at different layers of the OSI model have different names for the structures they create by adding a header to data coming from a higher protocol. For example, what a link layer protocol calls a frame would be a datagram to the network layer. A more general name for a structural unit of data at any level is plastic bag.

It is important to understand that link layer protocols provide communication only between computers on the same LAN. The hardware address in the header always belongs to a computer on the same LAN, even if the target system is on a different network. Other important functions of the link layer frame are identification of the network layer protocol that generated the data in the packet and information for error detection. The network layer can use different protocols, so the link layer protocol frame usually includes code that can be used to identify which network layer protocol generated the data in that packet. Guided by this code, the link layer protocol of the receiving computer forwards the data to the corresponding protocol of its network layer. To detect errors, the transmitting system calculates cyclical cue redundant code(cyclical redundancy check, CRC) of the payload and writes it to the frame trailer. After receiving the packet, the target computer performs the same calculations and compares the result with the contents of the trailer. If the results match, the information was transmitted without errors. Otherwise, the recipient assumes that the package is damaged and does not accept it.

Media access control

Computers on a LAN typically share a half-duplex network medium. In this case, it is quite possible that two computers will start transmitting data simultaneously. In such cases, a kind of packet collision occurs, collision(collision), in which data in both packets is lost. One of the main functions of the data link layer protocol is media access control (MAC), i.e., controlling the transmission of data by each computer and minimizing packet collisions. The media access control mechanism is one of the most important characteristics of a link layer protocol. Ethernet uses a mechanism with carrier sense and collision detection (Carrier Sense Multiple Access with Collision Detection, CSMA/CD) to control access to the medium. Some other protocols, such as Token Ring, use token passing.

Physical Layer Specifications

Link layer protocols used in LANs often support more than one network medium, and one or more physical layer specifications are included in the protocol standard. The data link and physical layers are closely related because the properties of the network medium significantly influence how the protocol controls access to the medium. Therefore, we can say that in local networks, link layer protocols also perform the functions of the physical layer. IN global networks Link layer protocols are used that do not include physical layer information, for example, SLIP (Serial Line Internet Protocol) and PPP (Point-to-Point Protocol).

Network layer

At first glance it may seem that network(network) layer duplicates some functions of the data link layer. But this is not true: network layer protocols are “responsible” for end-to-end(end-to-end) communications, while link layer protocols operate only within a LAN. In other words, network layer protocols completely ensure the transmission of a packet from the source to the target system. Depending on the type of network, the sender and recipient may be on the same LAN, on different LANs within the same building, or on LANs separated by thousands of kilometers. For example, when you communicate with a server on the Internet, packets generated by your computer pass through dozens of networks on their way to it. The link layer protocol will change several times to accommodate these networks, but the network layer protocol will remain the same all the way. The cornerstone of the TCP/IP (Transmission Control Protocol/Internet Protocol) protocol suite and the most commonly used network layer protocol is the Internet Protocol (IP). Novell NetWare has its own IPX (Internetwork Packet Exchange) network protocol, and on small networks Microsoft Windows Typically the NetBEUI (NetBIOS Enhanced User Interface) protocol is used. Most of the functions assigned to the network layer are determined by the capabilities of the IP protocol. Like a link layer protocol, a network layer protocol adds a header to the data it receives from a higher layer (Figure 1.10). A data element created by a network layer protocol consists of transport layer data and a network layer header and is called datagram(datagram).


Addressing

The network layer protocol header, like the link layer protocol header, contains fields with the addresses of the source and target systems. However, in this case, the destination system address belongs to the final destination of the packet and may differ from the destination address in the link layer protocol header. For example, when you enter address bar browser address of the Web site, in the packet generated by your computer, the address of the Web server is indicated as the address of the target system at the network level, while at the link level the address of the router on your LAN that provides access to the Internet points to the target system. IP uses its own addressing system, which is completely independent of link-layer addresses. Each computer on an IP network is manually or automatically assigned a 32-bit IP address, identifying both the computer itself and the network on which it is located. In IPX, a hardware address is used to identify the computer itself, in addition, a special address is used to identify the network on which the computer is located. NetBEUI differentiates computers by the NetBIOS names assigned to each system during installation.

Fragmentation

Network layer datagrams must traverse multiple networks on their way to their destination, encountering specific properties and constraints. various protocols link level. One such limitation is the maximum packet size allowed by the protocol. For example, the Token Ring frame size can be up to 4500 bytes, while the size Ethernet frames cannot exceed 1500 bytes. When a large datagram generated on the Token Ring network is transmitted to Ethernet network, the network layer protocol must break it into several fragments of no more than 1500 bytes in size. This process is called fragmentation(fragmentation). During the fragmentation process, the network layer protocol breaks the datagram into fragments, the size of which corresponds to the capabilities of the data link layer protocol being used. Each fragment becomes an independent package and continues its path to target system network level. The source datagram is formed only after all fragments have reached the destination. Sometimes, on the way to the target system, the fragments into which the datagram is broken must be re-fragmented.

Routing

Routing(routing) is the process of selecting the most efficient route on the Internet for transmitting datagrams from the sending system to the receiving system. In complex internetworks, such as the Internet or large corporate networks, there are often several ways to get from one computer to another. Network designers deliberately create redundant links so that traffic can find its way to its destination even if one of the routers fails. Routers are used to connect individual LANs that are part of the Internet. The purpose of a router is to accept incoming traffic from one network and forward it to a specific system on another. There are two types of systems on internet networks: terminal(end systems) and intermediate(intermediate systems). End systems are senders and receivers of packets. A router is an intermediate system. End systems use all seven layers of the OSI model, while packets arriving at intermediate systems do not rise above the network layer. There, the router processes the packet and sends it down the stack for transmission to the next target system (Figure 1.11).


To correctly route the packet to the target, routers store tables with network information in memory. This information can be entered manually by the administrator or collected automatically from other routers using specialized protocols. A typical routing table entry includes the address of another network and the address of the router through which packets must travel to that network. In addition, the routing table element contains route metric - conditional assessment of its effectiveness. If there are multiple routes to a system, the router selects the most efficient one and sends the datagram to the data link layer for transmission to the router specified in the table entry with the best metric. In large networks, routing can be an unusually complex process, but most often it is done automatically and unnoticed by the user.

Transport Layer Protocol Identification

Just as the link layer header specifies the network layer protocol that generated and transmitted the data, the network layer header contains information about the transport layer protocol from which the data was received. Based on this information, the receiving system forwards incoming datagrams to the appropriate transport layer protocol.

Transport layer

Functions performed by protocols transport(transport) layer, complement the functions of network layer protocols. Often the protocols of these levels used for data transmission form an interconnected pair, as can be seen in the example of TCP/IP: the TCP protocol operates at the transport layer, IP at the network layer. Most protocol suites have two or more transport layer protocols that perform different functions. An alternative to TCP is UDP protocol(User Datagram Protocol). The IPX protocol suite also includes several transport layer protocols, including NCP (NetWare Core Protocol) and SPX (Sequenced Packet Exchange). The difference between transport layer protocols from a particular set is that some are connection oriented and others are not. Systems using the protocol connection-oriented(connection-oriented), before transmitting data, they exchange messages to establish communication with each other. This ensures that systems are turned on and ready to go. TCP protocol, for example, is connection-oriented. When you connect to an Internet server using a browser, the browser and the server first perform a so-called three-step handshake(three-way handshake). Only after this the browser transmits the address of the desired Web page to the server. When the data transfer is complete, the systems perform the same handshake to terminate the connection. In addition, connection-oriented protocols perform additional actions, for example, send a packet acknowledgment signal, segment data, control flow, and detect and correct errors. Typically, protocols of this type are used to transmit large volumes information that must not contain a single bit of error, such as data files or programs. Additional features of connection-oriented protocols ensure correct data transfer. This is why these protocols are often called reliable(reliable). Reliability in this case is a technical term and means that every packet transmitted is checked for errors, and the sending system is notified of the delivery of each packet. The disadvantage of this type of protocol is the significant amount of control data exchanged between the two systems. Firstly, additional messages transmitted upon establishment and termination of communication. Second, the header added to the packet by a connection-oriented protocol is substantially larger than the header of a connection-less protocol. For example, the TCP/IP protocol header is 20 bytes, and the UDP header is 8 bytes. Protocol, not connection oriented(connectionless), does not establish a connection between two systems before data is transferred. The sender simply transmits information to the target system without worrying about whether it is ready to accept the data or whether the system even exists. Typically, systems resort to connectionless protocols such as UDP for short transactions consisting of only requests and response signals. The response signal from the receiver implicitly functions as a transmission acknowledgment signal.

Note Connection-oriented and connectionless protocols are not limited to the transport layer. For example, network layer protocols are usually not connection-oriented, since they rely on the transport layer to ensure communication reliability.

Transport layer protocols (as well as network and channel levels) usually contain information from higher levels. For example, the TCP and UDP headers include port numbers that identify the application that originated the packet and the application to which it is destined. On session(session) level, a significant discrepancy begins between the actually used protocols and the OSI model. Unlike lower layers, there are no dedicated session layer protocols. The functions of this layer are integrated into protocols that also perform the functions of the representative and application layers. The transport, network, data link and physical layers are responsible for the actual transmission of data over the network. Protocols of the session and higher levels have nothing to do with the communication process. The session layer includes 22 services, many of which define how information is exchanged between systems on the network. The most important services are dialogue management and dialogue separation. The exchange of information between two systems on a network is called dialogue(dialogue). Dialogue management(dialog control) consists of choosing the mode in which the systems will exchange messages. There are two such modes: half duplex(two-way alternate, TWA) and duplex(two-way simultaneous, TWS). In half-duplex mode, the two systems also transmit tokens along with the data. Information can only be transferred to a computer that has this moment there is a marker. This avoids message collisions along the way. The duplex model is more complicated. There are no markers in it; both systems can transmit data at any time, even simultaneously. Dividing dialogue(dialog separation) consists of inclusion in the data stream control points(checkpoints) that allow synchronizing the operation of two systems. The degree of difficulty of dividing the dialogue depends on the mode in which it is carried out. In half-duplex mode, systems perform minor synchronization by exchanging checkpoint messages. In full duplex mode, systems perform full synchronization using the master/active token.

Executive level

On representative(presentation) level performs a single function: syntax translation between various systems. Sometimes computers on a network use different syntaxes. The representative layer allows them to "agree" on a common syntax for exchanging data. When establishing a connection at the presentation layer, systems exchange messages about what syntaxes they have and select the one they will use during the session. Both systems involved in the connection have abstractsyntax(abstract syntax) is their “native” form of communication. The abstract syntaxes of different computer platforms may vary. During the system coordination process, a common transfer syntaxdata(transfer syntax). The transmitting system converts its abstract syntax into data transfer syntax, and the receiving system, upon completion of the transfer, does the opposite. If necessary, the system can select a data transfer syntax with additional functions, such as data compression or encryption.

Application layer

The application layer is the entry point through which programs access the OSI model and network resources. Most application layer protocols provide network access services. For example, SMTP (Simple Mail Transfer Protocol) is what most email programs use to send messages. Other application layer protocols, such as FTP ( File Transfer Protocol) are themselves programs. Application layer protocols often include session and presentation layer functions. As a result, a typical protocol stack contains four separate protocols that operate at the application, transport, network, and data link layers.

interaction of open systems. In other words, this is a certain standard by which network technologies operate.

The mentioned system consists of seven layers of the OSI model. Each protocol works with the protocols of its layer, either a layer below or above itself.

Each level operates on a specific data type:

  1. Physical - bit;
  2. Channel - frame;
  3. Network - package;
  4. Transport - segments/datagrams;
  5. Sessional - session;
  6. Executive - flow;
  7. Application - data

OSI Model Layers

Application layer ( application layer)

This is the top one OSI network model layer. It is also called the application layer. Designed for user interaction with the network. The layer provides applications with the ability to use various network services.

Functions:

  • remote access;
  • Post service;
  • generation of requests to the next level ( presentation layer)

Network layer protocols:

  • BitTorrent
  • HTTP
  • SMTP
  • SNMP
  • TELNET

Presentation layer ( presentation layer)

This is the second level. Otherwise called the executive level. Designed for protocol conversion, as well as for data encoding and decoding. At this stage, requests delivered from the application layer are formed into data for transmission over the network and vice versa.

Functions:

  • data compression/decompression;
  • data encoding/decoding;
  • redirection of requests

Network layer protocols:

  • LPP
  • NDR

Session level ( session layer)

This OSI network model layer is responsible for maintaining the communication session. Thanks to this level applications can interact with each other over time.

Functions:

  • granting rights
  • creating/pausing/restoring/terminating a connection

Network layer protocols:

  • ISO-SP
  • L2TP
  • NetBIOS
  • PPTP
  • SMPP

Transport layer ( transport layer)

This is the fourth level, if you count from above. Designed for reliable data transmission. However, transmission may not always be reliable. Duplication and non-delivery of data parcels are possible.

Network layer protocols:

  • UDP
  • SST
  • RTP

Network layer ( network layer)

The OSI network model layer is responsible for determining the best and shortest route for data transmission.

Functions:

  • address assignment
  • collision tracking
  • route determination
  • switching

Network layer protocols:

  • IPv4/IPv6
  • CLNP
  • IPsec
  • R.I.P.
  • OSPF

Link layer ( Data Link layer)

This is the sixth level, which is responsible for delivering data between devices that are located in the same network area.

Functions:

  • level addressing hardware
  • error control
  • error correction

Network layer protocols:

  • SLIP
  • LAPD
  • IEEE 802.11 wireless LAN,
  • FDDI
  • ARCnet

Physical layer ( physical layer)

Lowest and most recent OSI network model layer. Used to define the method of data transmission in the physical/electrical environment. Let's say any site, for example " play online casino http://bestforplay.net ", located on some kind of server, the interfaces of which also transmit some kind of electrical signal through cables and wires.

Functions:

  • determining the type of data transfer
  • data transfer

Network layer protocols:

  • IEEE 802.15 (Bluetooth)
  • 802.11Wi-Fi
  • GSMUm radio interface
  • ITU and ITU-T
  • EIARS-232

Table of the 7-layer OSI model

OSI model
Data type Level Functions
Data Applied Access to network services
Flow Executive Data representation and encryption
Sessions Session Session management
Segments/Datagrams Transport Direct communication between endpoints and reliability
Packages Network Route determination and logical addressing
Personnel Duct Physical addressing
Bits Physical Working with transmission media, signals and binary data

The OSI reference model is a 7-level network hierarchy created by the International Standards Organization (ISO). The presented model in Fig. 1 has 2 different models:

  • a horizontal protocol-based model that implements the interaction of processes and software on different machines
  • a vertical model based on services provided by adjacent layers to each other on the same machine

In the vertical - adjacent levels exchange information using API interfaces. Horizontal model requires common protocol to exchange information at the same level.

Picture 1

The OSI model only describes system methods interactions implemented by OS, software, etc. The model does not include end-user interaction methods. Ideally, applications should access the upper layer of the OSI model, but in practice many protocols and programs have methods for accessing lower layers.

Physical layer

At the physical layer, data is represented in the form of electrical or optical signals corresponding to the 1s and 0s of the binary stream. Transmission medium parameters are determined at the physical level:

  • type of connectors and cables
  • pin assignment in connectors
  • coding scheme for signals 0 and 1

The most common types of specifications at this level are:

  • — unbalanced serial interface parameters
  • - balanced serial interface parameters
  • IEEE 802.3 -
  • IEEE 802.5 -

At the physical level, it is impossible to understand the meaning of the data, since it is presented in the form of bits.

Data Link Layer

This channel implements the transportation and reception of data frames. The layer implements network layer requests and uses physical layer for reception and transmission. The IEEE 802.x specifications divide this layer into two sublayers: logical link control (LLC) and media access control (MAC). The most common protocols at this level are:

  • IEEE 802.2 LLC and MAC
  • Ethernet
  • Token Ring

Also at this level, error detection and correction during transmission is implemented. At the data link layer, the packet is placed in the data field of the frame - encapsulation. Error detection is possible using different methods. For example, the implementation of fixed frame boundaries, or a checksum.

Network layer

At this level, network users are divided into groups. This implements packet routing based on MAC addresses. The network layer implements transparent transmission of packets to the transport layer. At this level, the boundaries of networks of different technologies are erased. work at this level. An example of the operation of the network layer is shown in Fig. 2. The most common protocols:

Figure - 2

Transport layer

At this level, information flows are divided into packets for transmission at the network layer. The most common protocols at this level are:

  • TCP - Transmission Control Protocol

Session layer

At this level, information exchange sessions between end machines are organized. At this level, the active party is determined and session synchronization is implemented. In practice, many other layer protocols include a session layer function.

Presentation layer

At this level, data exchange occurs between software on different operating systems. At this level, information transformation (compression, etc.) is implemented to transfer the information flow to the transport layer. The layer protocols used are those that use the higher layers of the OSI model.

Application layer

The application layer implements application access to the network. The layer manages file transfer and network management. Protocols used:

  • FTP/TFTP - file transfer protocol
  • X 400 - email
  • Telnet
  • CMIP - Information Management
  • SNMP - network management
  • NFS - Network File System
  • FTAM - access method for transferring files

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

A self-respecting system administrator should be well versed in network terms

Translated from English - basic reference model interaction of open systems. More precisely, the network model of the OSI/ISO network protocol stack. Introduced in 1984 as a conceptual framework that separated the process of sending data to world wide web in seven easy steps. It is not the most popular, since the development of the OSI specification has been delayed. The TCP/IP protocol stack is more advantageous and is considered the main model used. However, you have a huge chance to encounter the OSI model in your position system administrator or in the IT field.

Many specifications and technologies have been created for network devices. It's easy to get confused in such diversity. It is the open systems interaction model that helps network devices using different communication methods understand each other. Note that OSI is most useful for software and hardware manufacturers involved in the design of compatible products.

Ask, what benefit does this have for you? Knowledge of the multi-level model will give you the opportunity to freely communicate with employees of IT companies; discussing network problems will no longer be oppressive boredom. And when you learn to understand at what stage the failure occurred, you can easily find the reasons and significantly reduce the range of your work.

OSI levels

The model contains seven simplified steps:

  • Physical.
  • Duct.
  • Network.
  • Transport.
  • Sessional.
  • Executive.
  • Applied.

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

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

Physical layer

The main task of the first stage is sending bits through physical communication channels. Physical communication channels are devices created for transmitting and receiving information signals. For example, fiber optic, coaxial cable or twisted pair. Shipping can also take place via wireless communication. The first stage is characterized by the data transmission medium: protection from interference, bandwidth, characteristic impedance. The qualities of the electrical final signals are also set (type of encoding, voltage levels and signal transmission speed) and connected to standard types of connectors, and contact connections are assigned.

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

Data Link Layer

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

Channel stage does possible transfer information, thanks to a special structure of connections. In particular, buses, bridges, and switches operate through link layer protocols. Step two specifications include: Ethernet, Token Ring, and PPP. The functions of the channel stage in a computer are performed by network adapters and drivers for them.

Network layer

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

To explain it another way, the third step processes the Internet protocol and performs the function of a router: finding the best path for the information. A router is a device that collects data about the structure of internetwork connections and transmits packets to the destination network (transit transfers - hops). If you encounter an error in the IP address, then it is a problem originating at the network level. The third stage protocols are broken down into networking, routing or address resolution protocols: ICMP, IPSec, ARP and BGP.

Transport layer

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

How to choose a transport stage service class? When the quality of communication channels is high, a lightweight service is an adequate choice. If communication channels are not secure at the very beginning, it is advisable to resort to a developed service that will provide maximum possibilities to find and solve problems (control of data delivery, delivery timeouts). Stage 4 specifications: TCP and UDP of the TCP/IP stack, SPX of the Novell stack.

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

Session layer

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

Executive level

The sixth stage is involved in the transformation of data into a universal recognizable format without changing the content. Since they are disposed of in different devices various formats, information processed at the representational level enables systems to understand each other, overcoming syntactic and coding differences. In addition, at the sixth stage, it becomes possible to encrypt and decrypt data, which ensures secrecy. Examples of protocols: ASCII and MIDI, SSL.

Application layer

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

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

Having considered the OSI model, you were able to understand the complex structure of the network and now understand the essence of your work. Things get pretty simple when you break the process down!

The concept of “open system” and problems of standardization

The universal thesis about the benefits of standardization, valid for all industries, acquires special significance in computer networks. The essence of the network is the connection of different equipment, which means that the problem of compatibility is one of the most acute. Without the adoption by all manufacturers of generally accepted rules for constructing equipment, progress in the matter of “building” networks would be impossible. Therefore, the entire development of the computer industry is ultimately reflected in standards - any new technology only acquires “legal” status when its content is enshrined in the appropriate standard.

In computer networks, the ideological basis of standardization is a multi-level approach to the development of network interaction tools. It was on the basis of this approach that a standard seven-level model of interaction of open systems was developed, which became a kind of universal language of network specialists.

Multi-level approach. Protocol. Interface. Protocol stack

Organizing interactions between devices on a network is a complex task. As you know, to solve complex problems, a universal technique is used - decomposition, that is, breaking one complex problem into several simpler task modules (Fig. 1.20). The decomposition procedure includes a clear definition of the functions of each module that solves a separate problem, and the interfaces between them. As a result, a logical simplification of the task is achieved, and in addition, it becomes possible to modify individual modules without changing the rest of the system.

Decomposition often uses a multi-level approach. It is as follows. All the many modules are divided into levels. The levels form a hierarchy, that is, there are overlying and underlying levels (Fig. 1.21). The set of modules that make up each level is formed in such a way that, to perform their tasks, they make requests only to the modules of the immediately adjacent underlying level. On the other hand, the results of the work of all modules belonging to a certain level can only be transferred to modules of the adjacent higher level. This hierarchical decomposition of the problem requires a clear definition of the function of each level and the interfaces between the levels. An interface defines a set of functions that the underlying layer provides to the upper layer. As a result of hierarchical decomposition, relative independence of levels is achieved, and therefore the possibility of their easy replacement.

In this case, lower-level modules can, for example, solve all issues related to the reliable transmission of electrical signals between two neighboring nodes. Modules of a higher level organize the transport of messages within the entire network, using the means of the mentioned lower level. And at the top level there are modules that provide users with access to various services - file, print, etc. Of course, this is only one of many possible options for dividing the general task of organizing network interaction into private subtasks.

A multi-level approach to the description and implementation of system functions is applied not only to network tools. This operating model is used, for example, in local file systems, when an incoming request to access a file is sequentially processed by several program levels (Fig. 1.22). The request is first analyzed by the upper level, which sequentially parses the compound symbolic file name and determines the unique file identifier. The next level finds by a unique name all the main characteristics of the file: address, access attributes, etc. Then, at a lower level, access rights to this file are checked, and then, after calculating the coordinates of the file area containing the required data, physical exchange is performed with external device using the disk driver.

The multi-level representation of network interaction means has its own specifics due to the fact that the message exchange process involves two machines, that is, in this case it is necessary to organize the coordinated work of two “hierarchies”. When transmitting messages, both participants in a network exchange must accept many agreements. For example, they must agree on the levels and shape of electrical signals, how to determine the length of messages, agree on methods of checking reliability, etc. In other words, agreements must be made for all levels, starting from the lowest - the bit transfer level - to the highest, implementing a service for network users.

In Fig. Figure 1.23 shows a model of interaction between two nodes. On each side, the means of interaction are represented by four levels. The interaction procedure between these two nodes can be described as a set of rules for the interaction of each pair of corresponding levels of both parties involved.

Formalized rules that determine the sequence and format of messages exchanged between network components located at the same level, but in different nodes, are called protocol.

Modules that implement protocols of neighboring layers and are located in the same node also interact with each other in accordance with clearly defined rules and using standardized message formats. These rules are usually called interface. An interface defines a set of services that a given layer provides to its neighboring layer.

In essence, a protocol and an interface express the same concept, but traditionally in networks they have been assigned different scopes of action: protocols define the rules for the interaction of modules of the same level in different nodes, and interfaces define the rules for the interaction of modules of neighboring levels in the same node.

The tools of each level must work, firstly, their own protocol, and secondly, interfaces with neighboring levels.

A hierarchically organized set of protocols sufficient to organize the interaction of nodes in a network is called stack of communication protocols.

Communication protocols can be implemented in both software and hardware. Lower-level protocols are often implemented using a combination of software and hardware, while higher-level protocols are typically implemented purely in software.

A software module that implements a certain protocol is often also called a “protocol” for brevity. Moreover, the relationship between a protocol - a formally defined procedure and a protocol - software module, implementing this procedure, is similar to the relationship between an algorithm for solving a certain problem and a program that solves this problem.

It is clear that the same algorithm can be programmed with different degrees of efficiency. In the same way, a protocol can have several software implementations. That is why, when comparing protocols, one should take into account not only the logic of their operation, but also the quality of software solutions. Moreover, the efficiency of interaction between devices on a network is influenced by the quality of the entire set of protocols that make up the stack, in particular, how rationally functions are distributed between protocols of different levels and how well the interfaces between them are defined.

OSI model

Just because a protocol is an agreement adopted by two interacting entities, in this case two computers working on a network, does not mean that it is necessarily standard. But in practice, when implementing networks, they tend to use standard protocols. These may be proprietary, national or international standards.

In the early 80s, a number of international standardization organizations - ISO, ITU-T and some others, developed a model that played a significant role in the development of networks. This model is called model of open systems interaction (Open System Interconnection, OSI) or OSI model. The OSI model defines different layers of system interaction, gives them standard names, and specifies what functions each layer should perform. The OSI model was developed based on extensive experience gained from creating computer networks, mainly global ones, in the 70s. A full description of this model takes up more than 1000 pages of text.

In the OSI model (Fig. 1.25), communication means are divided into seven levels:

    Applied

    Representative

    Session

    Transport

    Network

    Duct

    Physical.

Each layer deals with one specific aspect of network device interaction.

The OSI model only describes system tools interactions implemented by the operating system, system utilities, and system hardware. The model does not include means for end-user application interaction. Applications implement their own communication protocols by accessing system tools. Therefore, it is necessary to distinguish between the application interaction layer and the application layer.

You should also keep in mind that the application can take over the functions of some of the upper layers of the OSI model. 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 accesses directly the system tools responsible for transporting messages over the network, which are located at the lower layers of the OSI model.

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 message in a standard format. A typical message consists of a header and a data field. The header contains service information that must be passed through the network to the application layer of the destination machine to tell it what work needs to be done. In our case, the header obviously must contain information about the location of the file and the type of operation that needs to be performed on it. The message data field may be empty or contain some data, such as that which needs to be written to deleted file. 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 representative layer. The representative layer protocol, based on the information received from the application layer header, performs the required actions and adds its own service information to the message - the representative layer header, which contains instructions for the representative layer protocol of the destination machine. The resulting message is passed down to the session layer, which in turn adds its 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 layer, which actually transmits it along communication lines to the recipient machine. At this point, the message is “overgrown” with headers of all levels (Fig. 1.26).

When a message arrives over the network at the destination machine, 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 functions corresponding to this level, and then removes this header and passes the message to the higher level.

Along with the term message (message) There are other terms used by network specialists to designate units of data in exchange procedures. ISO standards use a common name to designate the units of data that protocols at different levels deal with: protocol block data ( Protocol Data Unit , PDU ). To designate data blocks of certain levels - Special names are often used: frame, packet, datagram, segment.

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

The second group of protocols is protocols without first establishing a connection (connectionless). Such protocols are also called datagram protocols. The sender simply transmits the message when it is ready. Dropping a letter into a mailbox is an example of communication without first establishing a connection. When computers interact, both types of protocols are used.

OSI Model Layers

Physical layer

The Physical layer deals with the transmission of bits over physical communication channels, such as coaxial cable, twisted pair cable, fiber optic cable or digital territorial circuit. 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 transmitting discrete information are determined, for example, the steepness of pulse edges, voltage or current levels of the transmitted signal, type of encoding, and 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 1OBase specification - Ethernet technology, 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 in the cable, as well as some 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 Data 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, the link layer groups bits into sets called frames (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 distinguish it, and also calculates checksum, processing all the bytes of the frame in a certain way and adding a checksum to the frame. When a frame arrives over the network, the receiver again calculates the checksum of the received data and compares the result with the checksum from the frame. If they match, the frame is considered correct and accepted. If the checksums do not match, an error is recorded. The link layer can not only detect errors, but also correct them by retransmitting damaged frames. It should be noted that the error correction function is not mandatory for the data link layer, so some protocols at this level do not have it, for example, Ethernet and frame relay.

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 bus, ring, and star, as well as structures derived from them using bridges and switches. Examples of link layer protocols are Ethernet, Token Ring, FDDI, lOOVG-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 wide area networks, which rarely have a regular topology, the data link layer often provides messaging only between two neighboring computers connected by an individual link. Examples of point-to-point protocols (as such protocols are often called) are the widely used PPP and LAP-B protocols. In such cases, network layer facilities are used to deliver messages between end nodes across the entire network. This is how X.25 networks are organized. Sometimes in global networks, it is difficult to isolate the link layer functions in their pure form, since they are combined with network layer functions in the same protocol. Examples of this approach include ATM and frame relay technology protocols.

In general, the link layer is a very powerful and complete set of functions for sending messages between network nodes. In some cases, link layer protocols turn out to be self-sufficient transport vehicles and can allow application layer protocols or applications to work directly on top of them, without involving means of the network and transport layers. For example, there is an implementation of the SNMP network management protocol directly over Ethernet, although by default this protocol runs on top of the IP network protocol and the UDP transport protocol. Naturally, the use of such an implementation will be limited - it is not suitable for composite networks of different technologies, for example, Ethernet and X.25, and even for a network in which Ethernet is used in all segments, but there are loop-shaped connections between the segments. But in a two-segment Ethernet network connected by a bridge, the implementation of SNMP over the data link layer will be quite workable.

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

Network layer

The Network layer serves to form a unified transport system , uniting several networks, and these networks can use completely different principles for transmitting messages between end nodes and have an arbitrary connection structure. The functions of the network layer are quite diverse. Let's start considering them using the example of combining local networks.

Local network link layer protocols ensure data delivery between any nodes only in a network with the appropriate standard topology, for example, a hierarchical star 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 in single network, or highly reliable networks in which there are redundant connections between nodes. It would be possible to make link layer protocols more complex to support looping redundant connections, but the principle of separation of responsibilities between layers leads to a different solution. 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 introduced.

At the network level the term itself net endowed with specific meaning. 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.

Within the network, data delivery is ensured by the appropriate link layer, but data delivery between networks is handled by the network layer, which supports the ability to correctly select the message transmission route even when the structure of connections between the component networks has a character different from that adopted in link layer protocols.

Networks are connected to each other by special devices called routers. Router - This is a device that collects information about the topology of internetwork connections and, based on it, forwards network layer packets to the destination network. To transmit a message from a sender located on one network to a recipient located on another network, you need to make a certain number of transit transmissions between networks, or hops (from hop - jump), each time choosing the appropriate route. Thus, a route is a sequence of routers through which a packet passes.

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

The problem of choosing the best path is called routing, and its solution is one of the main tasks 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 transmission time of data along this route; it depends on the capacity of the communication channels and the intensity of the schedule, 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, such as transmission reliability.

In general, the functions of the network layer are broader than the functions of message transmission over connections with a non-standard structure, which we have now examined using the example of combining several local networks. The network level also solves the problem of harmonizing different technologies, simplifying addressing in large networks and creating reliable and flexible barriers to unwanted traffic between networks.

Network layer messages are usually called packages (packets). When organizing packet delivery at the network level, the concept of “network number” is used. In this case, the recipient's address consists of a major part - the network number and a minor part - the node number in this network. All nodes on the same network must have the same high part of the address, so the term “network” at the network level can be given another, more formal definition: a network is a collection of nodes whose network address contains the same network number.

At the network layer, two types of protocols are defined. First type - network protocols (routedprotocols) - implement the promotion of packets through the network. These are the protocols that are usually meant when people talk about network layer protocols. However, another type of protocol is often included in the network layer, called routing information exchange protocols or simply routing protocols (routing protocols). Using these protocols, routers collect information about the topology of internetwork connections. Network layer protocols are implemented by software modules of the operating system, as well as software and hardware of routers.

Another type of protocol operates at the network layer, which is responsible for mapping the host address used at the network layer to the local network address. Such protocols are often called address resolution protocols - Address Resolution Protocol, ARP. Sometimes they are classified not as a network layer, but as a channel layer, although the subtleties of the classification do not change their essence.

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 Transport layer provides applications or upper layers of the stack - application and session - with the transfer of 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 presence of means of 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 data transportation system is in network provided by the layers located below the transport - network, channel and physical. 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 of the lower levels are initially very unreliable, then it is advisable to turn to the most developed transport layer service, which works using maximum means to detect and eliminate errors - using preliminary establishment of a logical connection, control of message delivery by checksums and cyclic numbering packages, setting 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.

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

Session layer

The Session layer provides dialogue control: it records which party is active in currently, 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, rather than starting all over again. In practice, few applications use session level, and it is rarely implemented as separate protocols, although the functions of this layer are often combined with the functions of the application layer and implemented in a single protocol.

Representative level

The Presentation layer deals with the form of presentation of information transmitted over the network, without changing its content. Due to the presentation layer, the information transmitted application level one system is always understandable to the application layer of another system. With the help of this layer, application layer protocols can overcome syntactic differences in data representation or differences in character codes, such as ASCII and EBCDIC codes. 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 such a protocol is the Secure Socket Layer (SSL) protocol, which provides secure messaging for application layer protocols in 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 protocol. mail. The unit of data that the application layer operates on is usually called message (message).

There is a very wide variety of application layer services. Let us give as an example at least a few of the most common implementations of file services: NCP in operating system Novell NetWare, SMB on Microsoft Windows NT, NFS, FTP and TFTP included in the TCP/IP stack.

Network-dependent and network-independent levels

Functions at all layers of the OSI model can be classified into one of two groups:

either to functions that depend on a specific technical implementation of the network, or to functions that are oriented to work with applications.

The three lower layers - physical, data link and network - are network-dependent, that is, the protocols of these levels are closely related to the technical implementation of the network and the communication equipment used. For example, the transition to FDDI equipment means a complete change in the protocols of the physical and data link layers in all network nodes.

The three upper layers - application, representative and session - are application-oriented and have little dependence on the technical features of network construction. The protocols at these layers are not affected by any changes in the network topology, replacement of equipment, or transition to another network technology. Thus, the transition from Ethernet to high-speed lOOVG-AnyLAN technology will not require any changes in software that implements the functions of the application, representative and session levels.

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

In Fig. 1.28 shows the levels of the OSI model , on which various network elements operate. A computer with a network OS installed on it interacts with another computer using protocols of all seven levels. Computers carry out this interaction indirectly through various communication devices: hubs, modems, bridges, switches, routers, multiplexers. Depending on the type, a communication device can operate either only at the physical layer (repeater), or at physical and link (bridge), or at physical, link and network, sometimes also capturing the transport layer (router).

In Fig. Figure 1.29 shows the correspondence of the functions of various communication devices to the levels of the OSI model .

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 supported at the upper layers, and other parameters.







2024 gtavrl.ru.