Internetworking I livelli del modello ISO

Internetworking




Problema: progettazione e messa in opera di reti di
computer di caratteristiche hw/sw diverse fra loro.
Soluzione: creazione di standard di comunicazione.
Alla fine degli anni '70, l'ISO (International Standard
Organization) sentì la necessità di proporre una serie di
standard per le reti di calcolatori e avviò il Progetto OSI
(Open System Interconnection), uno standard che
propose
un
modello
di
riferimento
per
l'interconnessione di sistemi aperti.
l'OSI ha adottato un approccio a livelli (layers): l'intero
problema della comunicazione tra due applicazioni di
rete (cioè appartenenti a 2 computer diversi) è stato
spezzato in un insieme di sette livelli, attraverso i quali
viene ridotta la complessità implementativa di un
sistema di comunicazione, ciascuno dei quali esegue
funzioni ben specifiche.
Ciascun sistema è decomposto in un insieme ordinato di
livelli, rappresentati per convenienza come una pila verticale
(stack). Viene infatti chiamato anche stack ISO/OSI
Interfacce
livelli 6-7
C
O
M
P
U
T
E
R
Protocollo
livello 4
1
2
livelli
Reti di computer
Prof. Paolo Michelini
Reti di computer
I livelli del modello ISO-OSI


Livelli adiacenti di uno stack comunicano
tramite la loro interfaccia (interface). Tale
approccio di progettazione a livelli è comune a
tutte le moderne architetture di rete (anche non
standard “de iure”);
Lo scopo delle interfacce è quello di fornire
servizi alle entità del livello superiore,
mascherando il modo in cui questi sono
implementati. Ad eccezione del livello più alto,
un livello N fornisce servizi di livello N alle
entità di livello N+1. Le entità di livello N,
eccetto il livello 1, per comunicare usano
servizi di livello N-1. Le entità di livello 1
comunicano direttamente tramite i mezzi
trasmissivi che le interconnettono.
Reti di computer
Prof. Paolo Michelini
C
O
M
P
U
T
E
R
Mezzo fisico
Prof. Paolo Michelini
Protocolli e peer process


Le operazioni specifiche di un livello, cioè le
regole e le convenzioni usate per la
conversazione fra pari livello adiacenti sono
dette protocollo (protocol). Anche se è definito
un protocollo di livello N, nessun dato è
trasferito direttamente fra i pari livello N di
stack adiacenti; infatti ogni livello passa dati e
informazioni di controllo a quello sottostante,
sino a quando si giunge al livello Fisico, che
effettua la trasmissione.
Le entità che includono uguali layer su
macchine diverse, sono chiamate “peer
process”.
Reti di computer
Prof. Paolo Michelini
Trasmissione fisica dei dati

La trasmissione dei dati avviene sempre attraverso una serie di passaggi
da livelli superiori a livelli inferiori in un primo sistema, quindi attraverso
mezzi fisici di comunicazione, e poi attraverso un'altra serie di passaggi,
questa volta da livelli inferiori a livelli superiori, in un secondo sistema. Si
noti che viene aggiunto uno specifico header ed un eventuale trailer per
ogni livello attraversato.
I 2 filosofi (A. Tanenbaum)

2 filosofi (peer process di livello 3), uno in Kenya
e l’altro in Indonesia vogliono comunicare. Non
avendo la stessa lingua, ingaggiano 2 traduttori
(peer process di livello 2), ciascuno dei quali
contatta un ingegnere per trasmetter il messaggio
(peer process di livello 1)
Il filosofo 1 passa il suo concetto in Swahili al
traduttore attraverso l’interfaccia 2/3, che traduce
in francese (protocollo di livello 2). A questo
punto il traduttore passa il messaggio
all’ingegnere che userà il telefono o altro
(protocollo di livello 1) per spedire il messaggio.
Percorrendo il passaggio inverso, quando il
messaggio arriva, viene tradotto in indonesiano e
passa attraverso l’interfaccia 2/3 al secondo
filosofo.


Reti di computer
Prof. Paolo Michelini
Reti di computer
Livello 1: livello fisico


Livello 2: livello data link
Effettua la trasmissione di
sequenze di bit sul canale di
comunicazione


Permettere il trasferimento affidabile di dati
attraverso il livello fisico.
I servizi offerti al livello di rete sono:


Definisce




Reti di computer
Prof. Paolo Michelini
La codifica della trasmissione binaria
Le caratteristiche fisiche del canale di
comunicazione (cavi, connettori, ecc.)
Prof. Paolo Michelini
I servizi offerti al livello fisico sono:


Impacchetamento o framing (identifica l’inizio e fine dei
pacchetti inserendo un codice di controllo per la verifica
degli errori)
Controllo e correzione degli errori con eventuale
richiesta di ritrasmissione dei pacchetti corrotti
Controllo di flusso tra trasmettitore e ricevitore
Controllo di accesso al mezzo trasmissivo
L’unità dati di questo livello è il frame o trama
Tutto ciò consente di far apparire, al livello superiore, il
mezzo fisico come una linea di trasmissione esente da
errori di trasmissione
Reti di computer
Prof. Paolo Michelini
Routing
Livello 3: livello di rete (network)


Il compito del livello di rete è la trasmissione di pacchetti
(packet) (unità dati del livello di network) tra due host
arbitrari, che in generale non sono direttamente connessi
(ovvero non hanno un collegamento diretto tra di loro)
LAN 1
In particolare:

effettua l’instradamento dei pacchetti di dati (routing) attraverso
i nodi intermedi della sottorete di comunicazione (deve
conoscere la topologia della rete scegliere il cammino migliore
per ciascun pacchetto dati)

Gestisce le incompatibilità tra reti di tipo diverso (ad esempio
frammentando i pacchetti se la nuova rete ha una diversa unità
massima di trasmissione)

Effettua la rilevazione degli errori, ma non la loro correzione
Sottorete di
comunicazione
I cammini per raggiungere due
nodi possono essere molteplici
LAN 2
router
Tutto ciò rende i livelli superiori indipendenti dai meccanismi e
dalle tecnologie di trasmissione usate per la connessione
Reti di computer
Prof. Paolo Michelini
Reti di computer
Livello 4: livello di trasporto





Prof. Paolo Michelini
Livello 5: livello di sessione
Permette un trasferimento di dati trasparente e
affidabile (implementando anche un controllo
degli errori e delle perdite) tra due computer
(host). È il primo livello realmente end-to-end,
cioè da host sorgente a destinatario (a differenza
dei livelli precedenti, che si occupano di
connessioni tra nodi contigui di una rete)


LAN 3


Effettua la frammentazione dei dati provenienti dal livello
superiore
Apre e chiude le connessioni (realizzazione di un canale
virtuale tra mittente e destinatario )
Rileva e corregge gli errori
Previene la congestione.
Gestisce le connessioni multiple in uno stesso elaboratore
Controlla la comunicazione
tra le applicazioni e la loro
sincronizzazione.
Stabilisce,
mantiene
e
termina
le
connessioni
(sessioni) tra applicazioni
cooperanti.
La sua unità dati fondamentale è il messaggio
Reti di computer
Prof. Paolo Michelini
Reti di computer
Prof. Paolo Michelini
Livello 6: livello di presentazione

Trasforma i dati forniti dalle
applicazioni in un formato
standardizzato
(sintassi
dell’informazione)

Livello 7: livello di applicazione

(es: crittografia, compressione del
testo e riformattazione)

Reti di computer
Prof. Paolo Michelini
Reti di computer
Prof. Paolo Michelini
Rappresenta l’interfaccia utente e
macchina, cioè fornisce un insieme
di protocolli (es: trasferimento di
file, terminale virtuale, posta
elettronica) che operano a stretto
contatto con le applicazioni
NB: un’applicazione utente non
appartiene al livello di applicazione
Reti di computer
Prof. Paolo Michelini