Caratteristiche e livelli del modello ISO/OSI nelle reti di telecomunicazioni

Caratteristiche e livelli del modello ISO/OSI nelle reti di telecomunicazioni

L’OSI (Open Systems Interconnection) Reference Model è il frutto del lavoro della ISO (International Standard Organization), ed ha lo scopo di fornire uno standard per la connessione di sistemi aperti, cioè in grado di colloquiare gli uni con gli altri, una base comune per lo sviluppo di standard per l’interconnessione di sistemi e un modello rispetto cui confrontare le varie architetture di rete. Esso non include di per se la definizione di protocolli specifici. Sono stati seguiti durante lo sviluppo del modello OSI alcune regole fondamentali tra le quali:

  • ogni livello deve avere un diverso livello di astrazione;
  • ogni livello deve avere una funzione ben definita;
  • la scelta dei livelli deve:
  • minimizzare il passaggio delle informazioni fra di essi;
  • evitare troppe funzioni in un livello, ma contemporaneamente non eccedere nella quantità dei livelli.

Il modello OSI consiste di 7 livelli strutturati seguendo le regole appena descritte.
Si noti che il modello OSI non è un’architettura di rete, perché suggerisce solo cosa devono fare i livelli, ma non stabilisce né i servizi né i protocolli. Per questo esistono separati documenti di definizione degli standard.

Caratteristiche e livelli del modello ISO/OSI nelle reti di telecomunicazioni

Livello fisico

Ha a che fare con la trasmissione di bit “grezzi” su un canale di comunicazione. Gli aspetti di progetto sono volti a garantire che se parte un 1, arrivi effettivamente un 1 e non uno zero e largamente riguardanti le caratteristiche meccaniche, elettriche e procedurali delle interfacce di rete (componenti che connettono l’elaboratore al mezzo fisico) e quelle relative al mezzo fisico. Si caratterizzano alcune grandezze fisiche tra le quali: tensioni, scelte per rappresentare 0 ed 1, durata (in microsecondi) di un bit; trasmissione simultanea in due direzioni oppure non meno importane la forma dei connettori.

Livello Data Link

Lo scopo di questo livello è far si che un mezzo fisico trasmissivo appaia, al livello superiore, esente da errori di trasmissione non rilevati. Normalmente funziona in questo modo: spezzetta i dati provenienti dal livello superiore in frame (da qualche centinaia a qualche migliaia di byte), invia i frame in sequenza; aspetta un acknowledgement frame (ack) per ogni frame inviato. Il livello Data Link deve offrire questi servizi:

  • aggiungere delimitatori (framing) all’inizio ed alla fine del frame;
  • gestire errori di trasmissione causati da: errori in ricezione; perdita di frame; duplicazione di frame (da perdita di ack);
  • regolare il traffico (per impedire che il ricevente sia “sommerso” di dati);
  • implementare meccanismi per l’invio degli ack: frame separati (che però competono col regolare traffico nella stessa direzione); piggybacking (da pickaback, cioè trasportare sulle spalle).

Le reti broadcast hanno l’ulteriore problema del controllo dell’accesso al canale trasmissivo, che è condiviso. Per questo hanno uno speciale sottolivello del livello data link, il sottolivello MAC (Medium Access Control).

Livello Network

Lo scopo del livello network è controllare il funzionamento della subnet di comunicazione. Inizialmente tale livello offriva solamente servizi connection oriented; successivamente fu aggiunta la modalità connectionless. Il livello Network deve offrire questi servizi:

  • routing: cioè scelta del cammino da utilizzare. Il suddetto può essere statico (fissato ogni tanto e raramente variabile) o dinamico (continuamente aggiornato, anche da un pacchetto all’altro);
  • gestione della congestione: a volte troppi pacchetti arrivano ad un router (come per esempio da molte linee in ingresso ad un unica linea di uscita);
  • accounting: in cui gli operatori della rete possono far pagare l’uso agli utenti sulla base del traffico generato;
  • conversione di dati nel passaggio fra una rete ed un’altra (diversa) e quindi indirizzi da rimappare; pacchetti da frammentare; protocolli diversi da gestire.
Livello Transport

Lo scopo di questo livello è accettare dati dal livello superiore, spezzettarli in pacchetti, passarli al livello network ed assicurarsi che arrivino alla peer entity che si trova all’altra estremità della connessione. In più, fare ciò efficientemente, isolando i livelli superiori dai cambiamenti della tecnologia di rete sottostante. Il livello transport è il primo livello realmente end-to-end, cioè da host sorgente a host destinatario: le peer entity di questo livello portano avanti una conversazione senza intermediari. Si noterà che certe problematiche sono, in ambito end-to-end, le stesse che il livello data link ha nell’ambito di una singola linea di comunicazione; le soluzioni però sono alquanto diverse per la presenza della subnet di comunicazione. I suoi compiti sono quelli di creare connessioni di livello network (attraverso i propri servizi) ; creare un canale punto a punto affidabile, che consegni i dati in ordine e senza errori (il servizio più diffuso, connection oriented); inviare messaggi isolati, con o senza garanzia di consegna (connectionless); ed infine broadcasting di messaggi a molti destinatari (connectionless).

Livello Session

Il livello session ha a che fare con servizi più raffinati che non sono quelli del transport layer, come ad es.: token management: autorizza le due parti, a turno, alla trasmissione. Come vedremo nel seguito, questo livello non ha mai avuto un grande successo.

Livello Presentation

Il livello presentation E’ interessato alla sintassi ed alla semantica delle informazioni da trasferire. Ad esempio, si occupa di convertire tipi di dati standard (caratteri, interi) da rappresentazioni specifiche della piattaforma HW di partenza in una rappresentazione “on the wire” e poi in quella specifica dell’ HW di arrivo. Anche questo livello non ha avuto molto successo.

Livello Application

Quest’ultivo livello prevede che qui risieda tutta la varietà di protocolli che sono necessari per offrire i vari servizi agli utenti, quali ad esempio: terminale virtuale; trasferimento file; posta elettronica, ecc. Attraverso l’uso di questi protocolli si possono scrivere applicazioni che offrono i suddetti servizi agli utenti finali.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *