ISO/OSI AND TCP/IP MODEL

COMMUNICATION BETWEEN HOST

retiEven on the Internet, communication between Hosts can take place if they all adopt the same standard and the same protocols regardless of the differences. Communication takes place on layers, placed one above the other in a sort of stack or stack. At the lowest level we have the Host to Network level which deals with managing communication on the physical medium. In the upper layer we have another layer that manages other aspects of the connection but still very important and that will implement its own protocols and so on up to go back to the top of the stack where you get to the application layer which, as we will see, is the last one both in the ISO/OSI model than in TCP/IP. At each of the levels, communication can take place if all the Hosts implement the same protocols.

ISO/OSI AND TCP/IP MODEL

ISO-OSI and TCP-IP model

STANDARD

ISO

International Standard Organization

  • Organization that produces and publishes international standards (on everything)
  • Members: the national standardization bodies of the member countries (89 in 2004)
    • ANSI (for the USA) one of the main members
    • UNI (Italian National Unification Body) for Italy

IEEE

Institute of Electrical and Electronics Engineers

  • The largest professional organization in the world
  • It develops research and produces standards in the fields of electrical engineering and computers
  • Its standards are often adopted as international standards. For example, on local networks:
    • IEEE 802.3 (Ethernet)
    • IEEE 802.5 (Token ring)
    • IEEE 802.11 (Wireless communication)

OSI MODEL

  • In 1977 the ISO formed a group to produce a universal standard for network architectures
  • The model was released in 1983 under the name OSI (Open System Interconnection)
  • The aim is to define an architecture (layers, protocols, interfaces) in a sufficiently precise way to allow independent but interoperable implementations.

STRATIFIED ARCHITECTURE

  • A structure considered suitable for a network architecture is stratification
  • The network is structured in levels (layers, or Layers), seen as a stack of objects (stack)
  • Each layer has the task of providing a service to the upper layer.
  • The definition of the rules for access to the services offered by a layer constitutes the interface between that layer and the upper layer, and is the only thing that the upper layer must know
  • Each layer realizes the services for the upper layer by communicating logically with the peer layer of the remote node, through a set of rules called protocol.
  • The exchange of data with the peer layer is carried out physically using the services of the underlying layer.

THE LAYERS OF THE OSI MODEL

OSI PHYSICAL LEVELS (1)

  • The physical layer deals with the transmission of bits on the transmission medium and includes the hardware devices necessary for the connection
  • Defines the physical quantities used and the handshaking rules (flow control)
  • Typical problems of this level are:
    • the encoding (voltage values, bit duration)
    • mechanical properties of connectors
    • electrical specifications of the interface circuits
  • RS232, Ethernet, Token Ring and modem protocols are part of this level.

OSI DATA LINK LEVELS (2)

  • The data link layer groups the bits received from the upper network layer into groups of bits called Frames and vice versa in reception. Transform a transmission of raw bits between adjacent nodes into an error-controlled transmission line (analysis)
  • It performs functions such as
    • division of data into frames
    • error checking
    • acknowledge receipt
    • flow control (handshacking)
    • access control to the transmission medium (MAC address: Medium Access Control of the network card)
  • Frame
    • delimitation, bit ordering, subdivision into fields, addresses, etc.
  • Error detection and correction
    • FCS (Frame Control Sequence), error correction codes, retransmission, etc.

LEVELS OSI NETWORK (3)

  • The network layer determines how frames are routed from the transmitter to the receiver (routing or data routing) by searching for the best paths
  • Characteristic functions are:
    • splitting data into packets
    • addressing of network nodes (IP address)
      delivery to destination (on which outgoing channel to forward data from a channel), usually based on tables
    • ways of defining and updating the tables
    • control of congestion, delays, transit times
  • Routing algorithms
    • definition of the network topology
    • route calculation on a local and / or global basis,
    • reconfiguration in case of failures, etc.

LEVELS OSI TRANSPORT (4)

  • The transport layer provides for the transfer of messages without the users, or higher levels, having to be aware of its structure.
  • It proceeds in three stages:

– making the connection

– data transfer

– removal of the connection

  • It is the first end-to-end protocol

– Reliability

all the frames arrive at their destination, in a single copy and in order

– Transparency: “form” of the information as it was at the source stored at destination

– Optimization: traffic distributed on the available channels, prevention of network congestion.

LEVELS OSI SESSION (5)

  • The session layer is responsible for negotiating the connection between the two nodes (login session) and setting the parameters of the conversation (speed, error control, type of transfer simplex, half-duplex or full-duplex, etc.)
    • control over which of the two parties has the right to broadcast
    • supervision of a long connection with possible restoration of the connection in case of failure of the underlying level
    • Dialogue and synchronization between application programs i in the use of shared resources.

LEVELS OR PRESENTATION (6)

  • The presentation level determines the way in which the information appears to the user, by checking its syntax and semantics, i.e. by converting codes and formats from one operating system to another
    • different data encodings (ASCII / EBCDIC, …)
      • ASCII: American National Standard Code for Information Interchange
      • EBCDIC: Extended Binary Coded Decimal Interchange Code data compression message encryption for security reasons.

LEVELS OR APPLICATION

  • The application layer is responsible for providing users with the means to access networks by acting as an interface between the data processing system and the outside world Tasks: to define the services through which the user uses the network, with all the related access interfaces

– User services

    • terminal, file transfer, e-mail, web browser, Client-Server applications (Database), etc.

– Operating system services

  • localization of resources, synchronization of clocks between different systems, control of access rights, etc.

FLOW OF DATA

  • Each level organizes its communication as if it happened directly with the peer process, according to the protocol (virtual flow).
  • The data actually flows from the upper level to the lower level in the transmitting node, and in the reverse direction in the receiving node
  • Layer N then accesses the services of layer N-1 to send data to peer process N on the remote node

THE PROTOCOL

  • A protocol is a set of rules that define the communication between two (or more) entities (hosts, devices, files, etc.)
  • Example: protocol for file transfer (FTP)
    • the client tells the server “I want to transfer a file” and waits for the respons
    •  from the server
    • the server replies “and who are you?” and waits for communication from the client
    • the client sends the username 
    • The server responds
      • you are not authorized
      • give me the password
    • in the first case the client closes, in the second it sends the password
    • the client communicates the name of the file it wants to transfer
    • the server provides the file
    • the client reads the file and copies it locally
    • eventually the server closes the communication.

PROTOCOL DATA UNIT

  • The protocol therefore defines the ways in which two entities communicate
  • Generally a protocol provides for the exchange of data and control information to manage the communication; for example:
    • control information to negotiate the characteristics of the communication (packet size, speed, …)
    • acknowledgment information on data reception
  • The unitary packet (data or control information) that two even layers exchange is called PDU 

ENCAPSULATION AND PDU

As we have seen, a network architecture is divided into levels (or layers), where each entity communicates logically (or virtually) with the corresponding peer entity, while it communicates in a physical (or real) way with the two adjacent levels ( the one immediately above and the one immediately below). Protocols define the rules of communication between two sibling entities on two corresponding levels.

PDU

Considering now the communication between two entities of the same level (logical communication), it generally takes place through the exchange of messages that are called Protocol Data Units (PDU). A Protocol Data Unit (PDU) is therefore the unit of information exchanged between two peer entities in a layered network architecture.

To make an analogy, the PDU could be the single SMS exchanged between two people (peer entity) who have an exchange of messages through their mobile phones. Just as SMS have a predetermined maximum length (140 bytes) and can contain only a certain type of data (characters), so too PDUs have a predetermined format based on the particular communication protocol.

Some PDUs can be used to send or receive control information (e.g. establish a connection, ensure that a message has arrived, close a connection, etc.), while others are used to transmit data (or information). However, from the point of view of the format, all PDUs of a certain protocol have the same structure, regardless of their purpose. To return to our example, SMS can also be used to establish a connection (“Hello”), to confirm a receipt (“Did you get my message this morning?”) Or to close it (“Now I have to go, see you later “), as they can also be used to transmit information (” I’m not well, I must have a bit of fever “): their” structure “however remains the same.

In practice, a PDU used to manage a communication is indistinguishable in form from a data exchange PDU and both are treated exactly the same way by the lower levels. Again using a metaphor, the postman does not care what is the content of a certain letter to be delivered or its purpose.

In any case, each PDU generally consists of two parts:

  • a header (or header)
  • a piece of data (data or body)

The header can be assimilated to the address on an envelope, while the data part corresponds to the content of a letter. In order to reach the recipient (i.e. the corresponding peer entity) a PDU must be delivered to the lower level, which in turn will deliver it to the lower level and so on up to the level of physical transmission (e.g. cables and communication devices connection in a network).

When moving from one level to the next, a new header is added to the PDU and the PDU itself is treated as the new piece of data. This process is called encapsulation. Look at the following figure:

Encapsulation

Layer 1 represents the physical transmission layer, while the other layers represent the layers of a TCP/IP network architecture that we will discuss later. Notice that the Upper Layer Message (PDU) is passed to the underlying TCP/UDP layer by adding a new header and so on until it reaches the bottom. In a symmetrical and reverse way, when the message arrives at the recipient, each level examines the corresponding header and removes it from the message itself. The encapsulation process is closely related to the concept of information hiding. Each level uses its own communication protocols, but the structure and content of the messages exchanged are of no interest to the other levels.

CONCEPTUAL SCHEME OF COMMUNICATION BETWEEN TWO HOST

REAL SCHEME OF A COMMUNICATION BETWEEN TWO HOST

Real communication scheme between two hosts

When an application-level message is sent from the sender to a recipient it must retrace all the layers in the sender’s stack, below it, up to the physical layer and then be transmitted as electrical impulses (0 and 1) on the medium. communication. On the recipient side, the message will be unpacked, it will arrive at the physical level, it will go up the top of the stack from level to level up to the application level. If the sender sends a message at level N, the recipient will always receive this message at level N.

LINK FOR MORE INFORMATION

DEEPENING