Protocolli Comunicazione tra Computer Modello di un Sottosistema

Transcript

Protocolli Comunicazione tra Computer Modello di un Sottosistema
Comunicazione tra Computer
I se m estre 02/03
Š Lo scambio di informazioni tra entità in
Protocolli
esecuzione su sistemi distinti è detto
computer communication
Š L’insieme dei computer interconnessi tramite
una rete di comunicazione è detto computer
network
Š Lo scambio di dati tra due entità è
un’operazione molto complessa che richiede
di esaminare numerosi aspetti
Prof. Vincenzo Auletta
[email protected]
http://www.dia.unisa.it/~auletta/
Università degli studi di Salerno
Laurea e Diploma in Informatica
„
2
Modello di un Sottosistema di
Comunicazione
Astrazione di Sottosistema di
Comunicazione
Š L’astrazione
Š comunicazione tra applicazioni
di
un
sottosistema
di
comunicazione è organizzato a strati (livelli)
sovrapposti
„
„
„
„
„
uno strato definisce un'astrazione di una parte del
sottosistema di comunicazioni
ogni strato è costruito sugli strati inferiori
„
„
la progettazione di uno strato deve esaminare solo
un aspetto del problema
ogni strato non dipende dall'implementazione degli
altri stati
uno strato fornisce servizi comuni a tutte le funzioni
dello strato superiore
implementa la logica dell’applicazione
Š comunicazione tra calcolatori
implementa il servizio di trasmissione affidabile
Š comunicazione tra dispositivi fisici
„
Š Vantaggi
3
difficile progettare un software che possa gestire
tutti gli aspetti della comunicazione
4
consente la trasmissione di dati attraverso una rete di
comunicazione
Esempio: Trasferimento di File
Servizi e Protocolli
Š Uno
strato fornisce servizi allo strato
superiore nascondendogli i dettagli relativi
all'implementazione
Š Lo strato utilizza
„
Š il modulo di servizi di comunicazione fornisce servizi
„
comuni a tutte le applicazioni
„
Š Protocollo
sia per il trasferimento file che per la posta elettronica, ecc.
Š l’implementazione del modulo di accesso alla rete
„
dipende dalla rete fisica
„
5
„
tutti i dettagli legati alla rete sono confinati in questo modulo
il modulo di servizi di comunicazione può essere implementato
in modo indipendente dalla rete
„
6
Architettura di Rete
sottosistema di comunicazione, con le specifiche
dei servizi offerti e dei protocolli utilizzati
costituisce l’architettura di rete (o architettura
protocollare)
comprende solo
implementazioni
specifiche
funzionali
e
non
Š L’insieme dei protocolli utilizzati dai vari strati di
un’architettura è detta suite (gerarchia)
7
insieme di regole utilizzate dalle due entità per
scambiarsi informazioni
specifica cosa deve essere comunicato, in che modo
e quando
Architettura di Rete a Strati
Š L’insieme degli strati in cui è diviso il
„
i servizi dello strato inferiore
la collaborazione dell’entità dello strato equivalente
(peer) del sistema destinatario
8
Modello di Progettazione
9
Esempio di Architettura di Rete
10
Modello Semplificato a
Tre Livelli
Livello di Accesso alla Rete
Š Livello di accesso alla rete
Š Livello di trasporto
Š Livello delle applicazioni
Si occupa di
Š scambio di dati tra computer e rete
Š identificazione di sorgente e destinazione
Š specifica del tipo di servizio richiesto
Š dipende dal tipo di rete fisica utilizzata
„
„
11
12
esiste un’implementazione diversa per ogni tipo di
rete
i livelli superiori sono isolati da tali differenze
Livello di Trasporto
Livello delle Applicazioni
Si occupa di garantire uno scambio affidabile dei
dati
Si occupa di fornire i servizi associati ad ogni
applicazione
„
„
„
„
controllo degli errori
controllo della sequenza dei pacchetti
richiesta di ritrasmissione
controllo del flusso
„
es. e-mail, ftp, http
Š supporta diverse applicazioni
„
ogni applicazione ha i propri servizi
ŠIndipendente dalla rete e dall'applicazione
13
14
Interfacce e Servizi
Punti di Accesso
Š La comunicazione tra strati adiacenti avviene
Š I servizi di uno strato sono disponibili presso un
SAP (service access point)
tramite un'interfaccia
„
„
definisce quali servizi offre lo strato inferiore e quali
sono le operazioni corrispondenti
lo strato superiore richiede il servizio invocando
l'operazione
sportello dove è disponibile il servizio
„
in genere implementato come coda di messaggi
Š Ogni SAP ha un indirizzo univoco
Š ogni servizio è implementato da primitive
Š per questioni di efficienza la richiesta del
„
„
servizio non è necessariamente una chiamata a
funzione
15
„
16
L’utente deve specificare l’indirizzo del SAP per il
servizio richiesto
esistono diversi livelli di indirizzamento, uno per ogni
livello
Esempio
Implementazione del Servizio
Applicazione
Š L’utente invia una IDU(interface date unit) al
Punto di accesso al servizio
Trasporto
SAP
Indirizzo di rete
Accesso alla
Rete
„
Š Il fornitore preleva una IDU dal SAP ed esegue
Applicazione
Rete di
Telecomunicazione
Applicazione
la corrispondente primitiva di servizio
Trasporto
crea uno o più PDU (Protocol Date Unit) e li
trasmette al suo pari
„ per trasmettere un PDU richiede un servizio al suo
fornitore
„
Accesso alla
Rete
Trasporto
17
Accesso alla
Rete
contiene informazioni di controllo e dati
18
Tipi di Servizi
Protocol Data Unit
Š Orientati alla connessione
Š Ogni protocollo prevede lo scambio di pacchetti
„
„
i dati viaggiano in ordine sullo stesso percorso
affidabile (dati persi vengono ritrasmessi)
(Protocol Data Unit)
Š Una PDU contiene
Š Senza connessione
„
„
„
ogni pezzo di dato viaggia per suo conto
con o senza riscontro di ricezione
„
„
intestazione o header (dati di controllo aggiunti dal
protocollo)
corpo o body (dati utente)
coda o tail (dati di controllo aggiunti dal protocollo)
Š Header e tail sono usate dal protocollo per
controllare la comunicazione
19
20
Informazioni di Controllo
Esempio di comunicazione
Š L’header di una PDU contiene informazioni
utilizzate dall’entità del protocollo
Š Esempi
„
„
„
„
indirizzo del sistema e del SAP di destinazione
numero di sequenza (per poter riordinare le PDU)
codice per la individuazione di errori di trasmissione
codice identificativo di servizi particolari (es. priorità)
21
22
Progettazione di un Protocollo
Incapsulamento
Ogni protocollo deve definire regole per regolare i
seguenti aspetti
Š Definisce quali informazioni di controllo
vengono aggiunte ai dati e come vengono
organizzate all’interno di una PDU
• indirizzamento
• segmentazione e riassemblaggio
• incapsulamento
• controllo della connessione
• controllo degli errori
• controllo del flusso
• multiplexing
• servizi di trasmissione
un protocollo non deve necessariamente gestire
23 tutti gli aspetti
„
24
indirizzi, controllo
protocollo
degli
errori,
controllo
del
Frammentazione e
Riassemblaggio
Controllo della connessione
Š Divide un messaggio in blocchi di dimensione
Š Per servizi orientati alla connessione il
fissata
„
protocollo deve provvedere a
ogni blocco inserito in una PDU
Š Vantaggi
„
„
„
„
„
„
controllo errori su ogni blocco
utilizzo equo del mezzo trasmissivo
in caso di errori ritrasmissione solo di un blocco
minori ritardi
buffer di dimensione ridotte
„
„
creare
la
connessione
trasferire i dati
chiudere
la
connessione
Š Svantaggi
„
25
„
maggiore elaborazione
minor throughput
26
Fasi di una Connessione
Controllo degli Errori e del
Flusso
Š Nella fase di creazione della connessione le
Š Il controllo degli errori serve ad individuare
eventuali alterazioni dei
informazioni di controllo
entità si accordano su come scambiarsi i dati
„
„
in casi semplici il ricevente accetta o rifiuta
altrimenti viene eseguita una negoziazione
„
Š All'interno della connessione controlli per
„
„
„
„
corretta sequenza dei blocchi di dati
controllo degli errori
controllo del flusso
27
o
delle
implementato in due fasi: individuazione degli
errori e ritrasmissione dei dati
a volte si usano codici che riescono ad individuare
e correggere gli errori
Š Il controllo del flusso è utilizzato dal ricevente
per limitare la velocità con cui la sorgente gli
invia i dati
Š Nella fase di terminazione le due entità
concordano di chiudere la comunicazione
dati
„
28
la sorgente non deve inviare più dati di quanti il
ricevente possa ricevere
Livelli di Indirizzamento
(TCP/IP)
Indirizzamento
Š Identificazione univoca di un'entità nella rete
„
„
esistono diversi livelli di indirizzamento
ogni livello ha una propria visibilità
Š Indirizzo fisico (locale ad una rete)
„
livelli di
indirizzamento
indirizzo MAC
Š Indirizzo di rete (globale sull’interrete)
„
visibilità
indirizzo IP (TCP/IP) o Network Service Access Point
(OSI)
modalità di
indirizzamento
Š Indirizzo del processo (locale al sistema)
„
numero di porta (TCP/IP) o Service Access Point
(OSI)
29
30
Tipi di indirizzamento
Multiplexing
Š Indirizzi assegnati a host o processi
Š Corrispondenza di più connessioni ad un livello
„
„
„
con una sola connessione al livello inferiore
Unicast
multicast
broadcast
„
Š é necessario un meccanismo di disaggregazione
Š Identificatori assegnati alla connessione (circuiti
(demultiplexing)
virtuali)
„
„
31
consente di aggregare i dati e ottimizzare l'efficienza
della trasmissione
riduce overhead
istradamento fissato per la connessione
32
Servizi di trasmissione
Š Priorità
„
precedenza ai messaggi di controllo
Š Quality of service
„
„
minimo ritardo accettabile
minimo throughput accettabile
Š Sicurezza
„
33
restrizioni di accesso