Modello ISO/OSI (Open Systems Interconnection)

18 Maggio 2008 di Daniele Frulla


Il modello ISO/OSI o OSI (Open Systems Interconnection), individua i livelli stardard per una comunicazione di rete. Tutti gli applicativi, devono sempre rispettare questi livelli concettuali per dare modo agli sviluppatori futuri di software di implementare facilmente altre funzionalità.

Vi sono 7 livelli concettuali per una comunicazione di rete

Livello 1: fisico

Obiettivo: trasmettere un flusso di dati non strutturati attraverso un collegamento fisico, occupandosi della forma e del voltaggio del segnale. Ha a che fare con le procedure meccaniche ed elettroniche necessarie a stabilire, mantenere e disattivare un collegamento fisico.

In questo livello si decidono:
  • Le tensioni scelte per rappresentare i valori logici 0 e 1
  • La durata in microsecondi del segnale elettrico che identifica un bit
  • L'eventuale trasmissione simultanea in due direzioni
  • La forma e la meccanica dei connettori usati per collegare l'hardware al mezzo trasmissivo

Livello 2: datalink

Obiettivo: permettere il trasferimento affidabile di dati attraverso il livello fisico. Invia trame di dati con la necessaria sincronizzazione ed effettua un controllo degli errori e delle perdite di segnale. Tutto cio' consente di far apparire, al livello superiore, il mezzo fisico come una linea di trasmissione esente da errori di trasmissione.

Questo livello si occupa di formare i dati da inviare attraverso il livello fisico, incapsulando i dati in un pacchetto provvisto di header (intestazione) e tail (coda), usati anche per sequenze di controllo. Questa frammentazione dei dati in specifici pacchetti è detta framing e i singoli pacchetti sono i frame.

Per ogni pacchetto ricevuto, il destinatario invia al mittente un pacchetto ACK (acknowledgement, conferma) contenente lo stato della trasmissione: il mittente deve ripetere l'invio dei pacchetti mal trasmessi e di quelli che non hanno ricevuto risposta. Per ottimizzare l'invio degli ACK, si usa una tecnica detta Piggybacking, che consiste nell'accodare ai messaggi in uscita gli ACK relativi ad una connessione in entrata, per ottimizzare l'uso del livello fisico. I pacchetti ACK possono anche essere raggruppati e mandati in blocchi.

Questo livello si occupa anche di controllare il flusso di dati: in caso di sbilanciamento di velocità di trasmissione, si occupa di rallentare l'opera della macchina più veloce, accordandola all'altra e minimizzando le perdite dovute a sovraccarico.

La sua unità dati fondamentale è la trama.

Livello 3: rete

Obiettivo: rende i livelli superiori indipendenti dai meccanismi e dalle tecnologie di trasmissione usate per la connessione. Si occupa di stabilire, mantenere e terminare una connessione, garantendo il corretto e ottimale funzionamento della sottorete di comunicazione.

È responsabile di:
La sua unità dati fondamentale è il pacchetto.

Livello 4: trasporto

Obiettivo: permettere un trasferimento di dati trasparente e affidabile (implementando anche un controllo degli errori e delle perdite) tra due host. È il primo livello realmente end-to-end, cioe' da host sorgente a destinatario.

A differenza dei livelli precedenti, che si occupano di connessioni tra nodi contigui di una rete, il Trasporto (a livello logico) si occupa solo del punto di partenza e di quello di arrivo.

Si occupa anche di effettuare la frammentazione dei dati provenienti dal livello superiore in pacchetti, detti 'segmenti' e trasmetterli in modo efficiente ed affidabile usando il livello rete ed isolando da questo i livelli superiori. Inoltre, si preoccupa di ottimizzare l'uso delle risorse di rete e di prevenire la congestione.

La sua unità dati fondamentale è il messaggio.

Livello 5: sessione

Obiettivo: controllare la comunicazione tra applicazioni. Stabilire, mantenere e terminare connessioni (sessioni) tra applicazioni cooperanti.

Esso consente di aggiungere, ai servizi forniti dal livello di trasporto, servizi più avanzati, quali la gestione del dialogo (mono o bidirezionale), la gestione del token (per effettuare mutua esclusione) o la sincronizzazione (inserendo dei checkpoint in modo da ridurre la quantità di dati da ritrasmettere in caso di gravi malfunzionamenti).

Si occupa anche di inserire dei punti di controllo nel flusso dati: in caso di errori nell'invio dei pacchetti, la comunicazione riprende dall'ultimo punto di controllo andato a buon fine.

Livello 6: presentazione

Obiettivo: trasformare i dati forniti dalle applicazioni in un formato standardizzato e offrire servizi di comunicazione comuni, come la crittografia, la compressione del testo e la riformattazione.

Esso consente di gestire la sintassi dell'informazione da trasferire. E sono previste tre diverse sintassi:

  • astratta (definizione formale dei dati che gli applicativi si scambiano),
  • concreta locale (come i dati sono rappresentati localmente)
  • di trasferimento (come i dati sono codificati durante il trasferimento).

Livello 7: applicazione

Obiettivo: interfacciare utente e macchina.

Fornisce un insieme di protocolli che operano a stretto contatto con le applicazioni. È errato identificare un'applicazione utente come parte del livello applicazione.

I protocolli delle applicazioni tipiche di questo livello realizzano operazioni come:

Fonte: Wikipedia

Related Posts


Lascia un commento

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


Copyright di Caterina Mezzapelle Part. I.V.A. 02413940814 - R.E.A. 191812