Protocolli di rete - www3

Transcript

Protocolli di rete - www3
Protocolli di rete
Vittorio Maniezzo
Università di Bologna
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 1/30
Strati di protocolli
(Protocol Layers)
Le reti sono complesse!
Molti elementi:
– host
– router
– link fisici dalle
caratteristiche diverse
– applicazioni
– protocolli
– hardware, software
Vittorio Maniezzo – Università di Bologna
Problema:
Come organizzare la
struttura della rete?
02 – Protocolli - 2/30
1
Esempio di stratificazione:
servizio postale
Attività a diverso livello di astrazione
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 3/30
Servizio postale: una prospettiva diversa
Strati: ogni strato implementa un servizio
– Mediante funzionalità interne
– Usando i servizi messi a disposizione dagli strati
inferiori
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 4/30
2
Stratificazione del servizio
postale
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 5/30
Strati di protocolli
• Il modello a strati é una soluzione al problema
della complessità dei protocolli di rete
• Il modello suggerisce di suddividere i protocolli in
strati (layers) ognuno dei quali risolve una parte
specifica del problema.
• Il protocollo di rete avrà uno o più protocolli
specifici per ciascuno strato
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 6/30
3
Perché la stratificazione?
I sistemi sono complessi:
La stratificazione permette una più facile organizzazione e
individuazione delle funzionalità
La modularità facilita la manutenzione e la modifica dei
sistemi
– La modifica dell’implementazione dei servizi resi da
uno strato è trasparente (non si modifica l’interfaccia)
– Es., cambiare il trasportatore non altera il
funzionamento complessivo del servizio postale
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 7/30
Suite di protocolli
La comunicazione fra computer di una rete é un problema
complesso
La complessità richiede una molteplicità di protocolli,
ciascuno dei quali é specializzato su una parte del
problema
Un insieme correlato di protocolli, progettati per essere fra
loro compatibili, é detto suite di protocolli
Un suite ben progettata risolve il problema di
comunicazione senza ridondanze e utilizza al meglio la
capacità della rete
Permette di rimpiazzare ogni singolo protocollo senza
modificare gli altri
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 8/30
4
Il concetto di livello
Le reti sono in generale organizzate a livelli, ciascuno
costruito sopra il precedente. Fra un tipo di rete ed un
altra, possono essere diversi:
– il numero di livelli
– il contenuto dei livelli
– le funzioni dei livelli
• Lo scopo di un livello è offrire servizi ai livelli più alti,
nascondendo i dettagli sul come tali servizi siano
implementati
• Il livello n su un host interagisce esplicitamente col livello
n su di un altro host. Le regole che governano la
interazione sono collettivamente indicate col termine di
protocollo di livello n
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 9/30
Protocolli
Nome derivato dal greco protokollen, l'
indice di
una pergamena
I diplomatici usano delle regole, dette protocolli,
per guidare le interazioni formali
Un protocollo di rete é un insieme di regole che
specifica il formato e il significato dei messaggi
scambiati fra i calcolatori di una rete
Il formato é detto anche sintassi
Il significato é detto anche semantica
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 10/30
5
Entità di pari livello
• Le entità
(processi) che
interagiscono si
chiamano peer
entity (entità di
pari livello)
• Il dialogo fra due
peer entity di
livello n viene
realizzato tramite
i servizi offerti dal
livello n-1 tramite
l’opportuna
interfaccia
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 11/30
SW a strati e stack
I moduli della fig. precedente sono detti protocol
stack o anche solo stack
Due vincoli:
1. Il SW di ogni strato dipende solo dai servizi
forniti dal SW del livello inferiore
2. Il SW al livello n della ricevitore riceve
esattamente lo stesso messaggio inviato dal
livello n del trasmettitore.
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 12/30
6
Implementazione del modello a
strati
Il SW realizzato per un sistema a strati é esso
stesso organizzato a strati
I moduli SW possono essere visti come:
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 13/30
Trasferimenti dati
In realtà non c'è un trasferimento diretto dal livello
n di host 1 al livello n di host 2. Ogni livello di host
1 passa al livello sottostante
– i dati
– informazioni di controllo
• Al di sotto del livello 1 c'
è il mezzo fisico,
attraverso il quale i dati vengono trasferiti da host
1 ad host 2
• Quando arrivano a host 2, i dati vengono passati
da ogni livello (a partire dal livello 1) a quello
superiore, fino a raggiungere il livello n
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 14/30
7
Interfacce
• Fra ogni coppia di livelli adiacenti è definita una
interfaccia, che caratterizza:
– le operazioni primitive che possono essere richieste
al livello sottostante
– i servizi che sono offerti dal livello sottostante
• I vantaggi di una buona progettazione delle
interfacce sono:
– minimizzazione delle informazioni da trasferire
– possibilità di modificare l'
implementazione del livello
(ad es., sostituzione di linee cablate con wireless) con
un’altra che offra gli stessi servizi
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 15/30
Protocolli - interfacce - servizi
Interfaccia di livello n
• le operazioni che possono essere richieste al livello n-1
• i servizi che sono offerti al livello n+1
Il livello inferiore è il service provider, quello superiore è il
service user
I servizi sono disponibili ai SAP (Service Access Point)
SAP del livello n (n-SAP) punti di accesso nei quali il livello
n+1 può accedere ai servizi del livello n
Ogni n-SAP è identificato univocamente da un indirizzo
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 16/30
8
Stratificazione e dati
Ogni strato riceve dati dallo strato
superiore
Aggiunge header e crea nuova unità dati
Passa nuova unità dati a strato inferiore
$
$
%
$
% %
$
% % %
$
!
!
!
!
"#
%
$
% %
$
% % %
$
"#
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 17/30
Architettura di rete
• L'
insieme dei livelli e dei relativi protocolli è detto
architettura di rete.
• La specifica dell'
architettura deve essere abbastanza
dettagliata da consentire la realizzazione di SW e/o HW
che, per ogni livello, rispetti il relativo protocollo
Un servizio di livello n è formalmente specificato da un
insieme di primitive (cioè operazioni) che un'
entità di
livello n+1 può adoperare per accedere al servizio. Esse
indicano al servizio:
• l'
azione da compiere (l'
informazione viaggia da livello n al
livello n-1)
• cosa riportare di una azione effettuata dalla peer entity di
livello n (l'
informazione viaggia dal livello n-1 al livello n)
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 18/30
9
Es. primitive
• request(): Si chiede al servizio di fare qualcosa
• indication(): Si viene avvertiti, dal servizio, di
qualche evento
• response(): Si vuole rispondere ad un evento
• confirm(): La risposta che si attendeva è arrivata
Le primitive hanno vari parametri (mittente, destinatario,
tipo del servizio richiesto, ecc.), che possono essere
usati dalle peer entity per negoziare le caratteristiche
della connessione. I dettagli della negoziazione fanno
parte del protocollo
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 19/30
La stratificazione di Internet
Application (applicazione): supporto per
le applicazioni di rete
– ftp, smtp, http
Transport (trasporto): trasferimento dati
end-to-end
– tcp, udp
!
Network (rete): trasferimento di dati da
sorgente a destinazione (host-to-host)
!
– ip, routing protocols
Link (data link): trasferimento di dati tra
elementi di rete adiacenti
"#
– ppp, ethernet
Physical (fisico): bit “sul cavo”
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 20/30
10
Stratificazione: comunicazione logica
Ogni strato:
• distribuito
• “entità”
implementano le
funzionalità di
strato in ogni
nodo
• Le entità
eseguono azioni
e scambiano
messaggi con le
entità di pari
livello (peer
entities)
!
!
"#
!
!
"#
!
!
"#
!
!
!
!
"#
"#
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 21/30
Esempio: livello trasporto
• Preleva dati da
applicazione
• Indirizzamento,
crea datagramma
• Invia il
datagramma alla
pari entità al lato
destinazione
• Attendi che il peer
confermi il
ricevimento
!
!
"#
!
"#
!
!
"#
!
!
!
!
"#
Vittorio Maniezzo – Università di Bologna
!
!
"#
02 – Protocolli - 22/30
11
Esempio: livello fisico
!
!
"#
!
!
"#
!
!
"#
!
!
!
!
"#
"#
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 23/30
Internet: rete di reti
Grossolanamente gerarchica
Backbone gestiti da provider
nazionali/internazionali (NBPs)
– Es. Telecom
– Interconnessi mediante punti
di accesso privati o pubblici
(Network Access Point o
NAP)
Internet Service Provider
regionali
– Connessi a NBP
Internet Service Provider
locali, compagnie
)
)
&' '
&(
&(
&' (
)
)
– Connessi a ISP regionali
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 24/30
12
Il modello ISO a 7 strati
La International Organization for
Standards (ISO) ha definito uno
standard di riferimento a 7 strati
(OSI - Open System
Interconnection) come guida per
il progetto di suite di protocolli
Gli strati hanno un nome e un
numero, il "layer n" indica l'
nesimo layer del modello ISO-OSI
Applicazione
Presentazione
Sessione
Trasporto
Rete
Dati
Fisico
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 25/30
Gli strati del modello ISO
Molti protocolli moderni non seguono esattamente il modello ISO, che ha
soprattutto un interesse storico
Comunque i concetti di base e la terminologia relativa sono ancora
largamente in uso
Layer 7: Applicazione
Protocolli specifici ad applicazioni, ad es. HTTP, FTP o SMTP
Layer 6: Presentazione
Formati comuni per la rappresentazione dei dati
Layer 5: Sessione
Gestione dele sessioni, es. login su un computer remoto
Layer 4: Trasporto
Consegna affidabile dei dati fra computer
Layer 3: Rete
Assegnamento degli indirizzi e consegna dei dati su una rete fisica
Layer 2: Data Link
Suddivisione dei dati in frame e invio dei frame sull'
interfaccia di rete
Layer 1: Fisico
HW di rete: es. fibra ottica, wireless, ...
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 26/30
13
Principio di stratificazione
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 27/30
Messaggi e stack
In trasmissione, ogni strato:
1. Accetta un messaggio in uscita dal livello superiore
2. Aggiunge un header e qualche elaborazione sui dati
3. Passa il messaggio risultante al livello inferiore
In ricezione, ogni strato:
1. Riceve un messaggio in ingresso dal livello inferiore
2. Rimuove l'
header di quel livello e elabora il messaggio
3. Passa il messaggio risultante allo strato superiore
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 28/30
14
Header
Il SW ad ogni livello comunica con quello del livello
corrispondente per mezzo delle informazioni memorizzate
negli header
Ogni strato aggiunge il suo header davanti al messaggio
provenente dal livello immediatamente superiore
Gli header sono concatenati all'
inizio del messaggio,
quando il messaggio attraversa la rete
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 29/30
Pacchetti di controllo
Gli strati a volte devono comunicare fra loro
direttamente, senza scambiarsi dati, es. per:
• Acknowledge di dati ricevuti
• Richiedere un altro pacchetto
Si utilizzano pacchetti di controllo
• Generati dallo strato n del trasmettitore
• Interpretati dallo strato n del ricevitore
• Trasmessi come ogni altro pacchetto dai livelli
n-1 e sottostanti
Vittorio Maniezzo – Università di Bologna
02 – Protocolli - 30/30
15