Il modello ISO/OSI è basato su 7 strati (layer): ogni livello può in generale
comunicare solamente con il livello inferiore e fornisce servizi solo a quello superiore.
I livelli comunicano fisicamente tra di loro attraverso una interfaccia standardizzata,
la quale consiste in un set di operazioni che ogni livello offre al livello superiore.
Da un punto di vista logico la comunicazione avviene tra livelli identici ignorando
il modo di operare dei livelli sottostanti.
Il messaggio da trasferire è suddiviso in frame (al livello trasporto) che transitano
da un livello all'altro.
In trasmissione ogni livello aggiunge una intestazione (header) destinata
al corrispondente livello del ricevitore, il quale la eliminerà prima di passare il pacchetto
al livello superiore.
1. Livello di collegamento fisico (phisical layer)
Si occupa delle funzioni basilari della connessione fisica, fino a definire nei particolari
come instaurare la connessione, mantenere un flusso i dati e come terminare
la comunicazione e quindi la connessione.
Gestisce le caratteristiche hardware e la sua unità di scambio è il bit.
2. Livello di collegamento dati (data link layer)
Obiettivo: permettere il trasferimento affidabile di dati attraverso il livello fisico.
Invia frame di dati con la necessaria sincronizzazione ed effettua un controllo
degli errori e delle perdite di segnale.
Tutto ciò consente di far apparire, al livello superiore, il mezzo fisico come una linea
di trasmissione esente da errori di trasmissione.
Questo livello si occupa in primis di formare i dati da inviare attraverso il livello fisico,
incapsulando il pacchetto proveniente dallo strato superiore in un nuovo pacchetto
provvisto di un nuovo header (intestazione) e tail (coda), usati anche per sequenze
di controllo.
Questa frammentazione dei dati in specifici pacchetti è detta framing,
i singoli pacchetti sono i frame.
Come controllo di errore, 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 riscontro/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 (controllo di flusso):
in caso di sbilanciamento della velocità di trasmissione tra mittente e destinatario,
si occupa di rallentare l'opera della macchina più veloce, accordandola all'altra
e minimizzando così le perdite dovute a sovraccarico sul destinatario.
3. Livello di controllo della rete (network layer)
L’obiettivo è rendere i livelli superiori indipendenti dai meccanismi e dalle tecnologie
di trasmissione usate per la connessione e prendersi carico della consegna
a destinazione dei pacchetti.
È responsabile di:
- routing: scelta ottimale del percorso di rete da utilizzare per garantire
la consegna delle informazioni dal mittente al destinatario, scelta svolta dal router
attraverso dei particolari algoritmi di Routing e tabelle di routing.
- conversione: dei dati nel passaggio fra una rete ed un'altra con diverse
caratteristiche, come il protocollo di rete utilizzato (internet-working).
4. Livello del trasporto (transport layer)
L’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, cioè da host sorgente a destinatario.
Si occupa di:
- stabilire, mantenere e terminare una connessione, garantendo il corretto e
ottimale funzionamento della sottorete di comunicazione.
- controllo della congestione: evitare che troppi pacchetti dati arrivino
allo stesso router contemporaneamente con effetto di perdita di pacchetti stessi.
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 finale.
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.
5. Livello di sessione (session layer)
L’obiettivo è di controllare la comunicazione tra applicazioni.
Instaurare, mantenere ed abbattere connessioni (sessioni) tra applicazioni
cooperanti. Si occupa anche della sincronia di invio/ricezione messaggi;
si controllano gli aspetti strettamente legati alla struttura del sistema informativo,
fornendo le funzioni utili a porre il sistema operativo di ogni nodo.
Il livello di sessione realizza soprattutto l'interfaccia tra l'utente e la rete.
6. Livello di controllo di presentazione (presentation layer)
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.
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).
Le varie informazioni subiscono a questo livello una particolare decodifica, che le
trasforma in modo da renderle visualizzabili nei normali dispositivi di output a
disposizione degli utenti.
7. Livello applicativo/utente (application layer)
Obiettivo: interfacciare utente e macchina.
Fornisce un insieme di protocolli che operano a stretto contatto con le
applicazioni; fanno parte di questo livello tutte le applicazioni funzionanti in rete.
Qui sono implementate le procedure utilizzate dalle applicazioni scritte
dai programmatori, in particolare nella gestione di risorse che devono essere
condivise fra i vari utenti della rete, quali basi di dati e periferiche di output.
Inviato da: Recreation
il 08/02/2018 alle 15:25
Inviato da: prof_ludo
il 05/10/2014 alle 16:14
Inviato da: olioecaffe82
il 03/10/2014 alle 20:40
Inviato da: olioecaffe82
il 03/10/2014 alle 20:31
Inviato da: olioecaffe82
il 03/10/2014 alle 20:31