Sistemi e Tecnologie della
Comunicazione
Lezione 2: architettura delle reti e modello OSI
Architettura di rete
•
•
Una rete e’ costituita da componenti
hardware (cavi, interfacce, circuiti integrati,
processori, RAM,…) e componenti software
(per la implementazione di algoritmi
finalizzati al trasferimento dei dati non
realizzabili in hardware).
L’architettura di una rete definisce le
specifiche con cui si vuole realizzarla
2
Architettura strutturata




Per ridurre la complessita’ del problema lo
si spezza in parti
Si definisce l’insieme di compiti che ogni
parte deve eseguire
Si definiscono i meccanismi con cui le
diverse parti interagiscono tra loro
Si maschera la implementazione di
ciascuna parte alle altre parti
3
Architettura stratificata






La strutturazione piu’ idonea per una architettura di rete e’ la
stratificazione
La rete viene strutturata in livelli (detti anche strati, o layer), visti
come una pila di oggetti
Ciascuno strato ha come compito quello di fornire un servizio allo
strato superiore.
La definizione delle regole di accesso ai servizi offerti da uno strato
costituisce la interfaccia tra quello strato e lo strato superiore, ed e’
l’unica cosa che lo strato superiore deve conoscere sullo strato
sottostante
Ciascuno strato realizza i servizi per lo strato superiore comunicando
logicamente con lo strato paritario del nodo remoto, attraverso un
insieme di regole dette protocollo. Lo scambio di dati con lo strato
paritario viene realizzato utilizzando i servizi dello strato sottostante.
I dettagli implementativi di come i servizi che lo strato N fornisce allo
strato N+1 vengano realizzati (il protocollo di strato N) sono
sconosciuti agli altri strati
4
Struttura a strati
5
Lo strato

Uno strato e’ definito quando sono definite le sue funzioni



Uno strato puo’ occuparsi dello scambio dei dati tra due
applicazioni (ad es. richieste, risposte, controllo della
comunicazione logica), senza occuparsi di questioni relative al
modo in cui i dati debbano viaggiare sulla rete, o alla codifica dei
dati
Un altro strato puo’ occuparsi di come recapitare i dati attraverso
i vari nodi della sottorete, senza occuparsi ne’ del significato dei
dati, ne’ del modo in cui vanno codificati i bit sul mezzo
trasmissivo
Una questione comune a tutti gli strati riguarda
l’indirizzamento

uno strato puo’ fornire servizio a diverse entita’ dello strato
superiore, e deve poter indirizzare i dati verso la destinazione
corretta
6
Il protocollo


Un protocollo e’ un insieme di regole che definiscono la comunicazione tra
due strati di pari livello
Esempio: protocollo per trasferimento di file




il client comunica al server “voglio trasferire un file” ed attende la risposta dal
server
il server risponde “tu chi sei?” ed attende la comunicazione dal client
il client invia lo username
il server risponde




nel primo caso il client chiude, nel secondo invia la password
il server accetta la password (se corretta) o la richiede





non sei autorizzato
dammi la password
il
il
il
il
nel secondo caso il client deve fornirla nuovamente
client comunica il nome del file che vuole trasferire
server fornisce il file
client legge il file e lo copia localmente
server chiude la comunicazione
7
Protocol Data Unit


Il protocollo definisce quindi le modalita’ con cui due
entita’ comunicano
Generalmente un protocollo prevede lo scambio di dati e
di informazioni di controllo per gestire la comunicazione;
ad esempio:




informazioni di controllo per negoziare le caratteristiche della
comunicazione (la dimensione dei pacchetti, la velocita’, …)
informazioni di riscontro (acknowledge) sulla ricezione dei dati
Il pacchetto unitario (dati o informazioni di controllo) che
si scambiano due strati paritari e’ detto PDU
Normalmente ci si riferisce alla PDU dello strato X con la
sigla X-PDU, o XPDU
8
Il servizio

Il servizio offerto da uno strato allo strato
superiore definisce cosa lo strato superiore puo’
ottenere dallo strato inferiore; ad esempio:




servizio di recapito dei dati affidabile o non affidabile
servizio orientato alla connessione o connection less
servizi di comunicazione multicast o broadcast
Il servizio e’ sostanzialmente la definizione di un
rapporto client-server, dove il client e’ lo strato
superiore ed il server e’ lo strato inferiore
9
Servizi orientati alla connessione

La comunicazione si sviluppa in tre fasi:




attivazione della connessione: in questa fase non ci si
scambiano “dati”, ma si eseguono le operazioni
necessarie al successivo scambio di dati (si allocano le
risorse, ci si accorda sulle modalita’ di comunicazione,
eventualmente si rifiuta la connessione, …)
trasferimento dati: non e’ necessario che i dati siano
indirizzati, in quanto la loro destinazione e’
determinata dall’appartenenza ad una connessione.
rilascio della connessione: il rilascio lo si fa in modo
che entrambi i lati della connessione siano consapevoli
di cio’, e rilascino le risorse
L’esempio classico di servizio connection oriented
e’ la comunicazione telefonica
10
Servizi non orientati alla connessione



La comunicazione non prevede una fase
iniziale, ne’ una fase finale: i dati vengono
inviati alla controparte senza sapere se e’
pronta a riceverli.
Ogni blocco di dati deve riportare l’indirizzo
del destinatario (e del mittente)
Il servizio non orientato alla connessione
funziona come il servizio postale
11
Qualita’ del servizio

Servizio affidabile



garantisce che i dati arrivino correttamente a
destinazione, nell’ordine giusto
il servizio realizza l’affidabilita’ utilizzando un protocollo
che preveda riscontri sulla ricezione dei dati.
Servizio inaffidabile

non si occupa di garantire la riuscita del trasferimento
dei dati, o dell’ordinamento degli stessi: qualora fosse
necessario, si occuperanno della cosa gli strati
superiori.
12
Qualita’ del servizio (2)

I servizi orientati alla connessione si possono classificare:




flusso affidabile di messaggi (servizio affidabile orientato al
messaggio: una sequenza di pagine di un libro, fax)
flusso affidabile di byte (servizio affidabile orientato al byte:
trasferimento file)
connessione inaffidabile (servizio non affidabile: telefonia)
I servizi non orientati alla connessione si possono
classificare:


servizio di datagramma inaffidabile (servizio inaffidabile: accesso
ad un database)
servizio di datagramma affidabile (protocolli di data link layer)
13
L’interfaccia




L’interfaccia tra due strati adiacenti definisce le modalita’
con cui lo strato superiore puo’ usufruire dei servizi offerti
allo strato inferiore
L’interfaccia e’ specificata dalla definizione di primitive di
servizio, che istruiscono lo strato inferiore ad eseguire
determinate azioni
L’interfaccia definisce anche i parametri che gli strati si
scambiano (ad esempio un puntatore alla PDU che lo
strato superiore deve inviare o che lo strato inferiore deve
recapitare)
nel caso di implementazioni software, le primitive di
servizio sono di fatto chiamate a funzione, ed i parametri
sono gli argomenti delle funzioni
14
Primitive di servizio


Le primitive di servizio costituiscono le operazioni che lo
strato superiore ha a disposizione per accedere al servizio
Queste dipendono dalla natura del servizio reso
disponibile

un servizio connection oriented mettera’ a disposizione primitive
del tipo






Listen (attesa di una connessione entrante)
Connect (richiede una connessione)
Receive (attesa di dati)
Send (invio di dati)
Disconnect (richiesta di disconnessione)
un servizio connection less potrebbe avere le sole Send e Receive
15
Definizione della architettura

L’architettura (stratificata) della rete si
realizza con la definizione di




strati: partizionamento delle funzionalita’
servizi: quali servizi lo strato e’ in grado di
offrire allo strato superiore
interfacce tra gli strati: come lo strato
superiore accede ai servizi offerti dallo strato
inferiore
protocolli: come comunicano i processi paritari
16
Flusso dei dati
17
Flusso dei dati (2)



Ogni livello organizza la sua comunicazione come se avvenisse
direttamente con il processo paritario, secondo il protocollo (flusso
virtuale).
I dati in realta’ scorrono dal livello superiore al livello inferiore nel
nodo che trasmette, ed in senso inverso nel nodo che riceve
In generale un livello N preleva la PDU del livello N+1, e costruisce la
propria PDU:





se necessario spezza la PDU dello strato superiore in pezzi
aggiunge in testa a ciascun pezzo un header con informazioni di controllo
se deve, aggiunge in coda a ciascun pezzo un trailer con informazioni di
controllo
ciscun pezzo cosi’ formato costituisce una PDU del livello N
Il livello N accede quindi ai servizi dello strato N-1 per inviare i dati al
processo paritario N sul nodo remoto
18
Modello OSI



Nel 1977 l’ISO ha costituito un gruppo che producesse
uno standard universale per le architetture di rete
Il modello e’ stato pubblicato nel 1983 col nome OSI
(Open System Interconnection)
Lo scopo era quello di definire una architettura (strati,
protocolli, interfacce) in modo sufficientemente preciso da
consentire implementazioni indipendenti ma interoperanti

in realta’ il modello non definisce esattamente i protocolli ed i
servizi, ma piu’ in generale quello che ogni strato deve fare; le
specifiche di protocolli e servizi sono state definite e pubblicate a
parte.
19
Livelli del modello OSI
20
Livelli OSI: fisico



Lo strato fisico si occupa della trasmissione dei
bit sul mezzo trasmissivo
La sua funzione e’ di fare in modo che un bit 0
sia ricevuto dal livello fisico del nodo remoto
come bit 0, e non come 1
Problemi tipici di questo livello sono:






la codifica (i valori delle tensioni, la durata dei bit)
modulazione e multiplexing
proprieta’ meccaniche dei connettori
specifiche elettriche dei circuiti dell’interfaccia
caratteristiche del mezzo trasmissivo
direzionalita’ della trasmissione
21
Livelli OSI: data link


Lo strato di data link si occupa di trasformare una
trasmissione di bit grezzi tra nodi adiacenti in una
linea di trasmissione priva di errori (!)
Esegue funzioni quali





divisione dei dati in frame
controllo degli errori
conferma della ricezione (acknowledge)
controllo del flusso
controllo di accesso al mezzo trasmissivo in caso di
canali condivisi (substrato MAC: Medium Access
Control)
22
Livelli OSI: network


Lo strato di network si occupa del recapito dei
dati tra nodi non necessariamente adiacenti
(quindi del funzionamento della sottorete di
comunicazione)
Funzioni caratteristiche sono:





suddivisione dei dati in pacchetti
indirizzamento dei nodi della rete
recapito a destinazione (su quale canale uscente
inoltrare i dati provenienti da un canale), solitamente
basandosi su tabelle
modalita’ di definizione ed aggiornamento delle tabelle
controllo della congestione, dei ritardi, dei tempi di
transito
23
Livelli OSI: transport



Lo strato di trasporto deve prelevare dati dallo strato
superiore, eventualmente suddividerli in unita’ piu’
piccole, ed inviarli (tramite lo strato di rete) la nodo
remoto occupandosi di controllare che le unita’ arrivino al
processo pari del nodo remoto nell’ordine di trasmissione
E’ il primo protocollo end-to-end
Deve occuparsi del tipo di servizio offerto allo strato
superiore (affidabile, non affidabile)


OSI specifica solo un servizio connection oriented
Affronta diverse problematiche simili a quelle del livello di
data link su connessioni punto-punto ma in un contesto
molto piu’ complesso
24
Livelli OSI: session

Lo strato di sessione si occupa del controllo
del dialogo


controllo su quale delle due parti abbia diritto
di trasmettere
supervisione di una connessione lunga con
eventuale ripristino della connessione in caso
di fallimento del livello sottostante
25
Livelli OSI: presentation

Il livello di presentazione si occupa
essenzialmente di rendere trasparente eventuali
rappresentazioni differenti dei dati

codifiche differenti dei dati (ASCII/EBCDIC, …)




ASCII: American Standard Code for Information Interchange
(7 bit encoding, esteso in seguito ad 8 bit)
EBCDIC: Extended Binary Coded Decimal Interchange Code (8
bit encoding)
compressione
crittografia
26
Livelli OSI: application


Il livello di applicazione si occupa di
definire le specifiche che le applicazioni
utente possono utilizzare per accedere alla
rete
L’ISO ha fornito specifiche su sole tre
applicazioni:



FTAM (file transfer)
X.400 (posta elettronica)
X.500 (servizio di directory)
27
Schema del modello OSI
28
Service Access Point





Uno strato puo’ fornire
servizio a piu’ entita’ dello
strato superiore
Per essere identificabili
queste entita’ devono
avere un indirizzo
L’indirizzo generico di accesso ad uno strato si chiama
Service Access Point (SAP)
L’indirizzo di accesso allo strato di Network e’ detto
NSAP, allo strato di trasporto TSAP
Lo strato N del computer ricevente deve sapere a
quale entita’ dello strato N+1 deve recapitare le
informazioni, quindi ricevere dal pari l’informazione
dell’ NSAP utilizzato dallo strato N+1 destinatario
29
Scarica

ppt - INFN