Obiettivi:
Capire i principi che sono alla base dei servizi del livello di trasporto:
multiplexing/demultiplexing
trasferimento dati affidabile
controllo di flusso
controllo di congestione
Descrivere i protocollidel livello di trasportodi Internet:
UDP: trasporto senza connessione
TCP: trasporto orientatoalla connessione
controllo di congestione TCP
Capitolo 3: Livello di trasporto
3.1 Servizi a livello di trasporto
3.2 Multiplexing e demultiplexing
3.3 Trasporto senza connessione: UDP
3.4 Principi del trasferimento dati affidabile 3.5 Trasporto orientato alla connessione: TCP
struttura dei segmenti
trasferimento dati affidabile
controllo di flusso
gestione della connessione
3.6 Principi sul controllo di congestione
3.7 Controllo di congestione TCP
Servizi e protocolli di trasporto
applicaz.
trasporto
rete
collegam.
fisico applicaz.
trasporto
rete
collegam.
fisico
rete
collegam.
fisico
rete
collegam.
fisico
rete
collegam.
fisico
rete
collegam.
fisico
rete
collegam.
fisico Trasporto logico punto-punto Forniscono la comunicazione logica tra processi applicativi di host differenti
I protocolli di trasporto vengono eseguiti nei sistemi terminali
lato invio: scinde i messaggi in segmenti e li passa al livello di rete
lato ricezione: riassembla i segmenti in messaggi eli passa al livello di applicazione
Più protocolli di trasporto sono a disposizione delle applicazioni
Internet: TCP e UDP
Relazione tra livello di trasporto e livello di rete
livello di rete: comunicazione logica tra host
livello di trasporto: comunicazione logica tra processi
si basa sui servizi del livello di rete Analogia con la posta ordinaria:
12 ragazzi inviano letterea 12 ragazzi
processi = ragazzi
messaggi delle applicazioni = lettere nelle buste
host = case
protocollo di trasporto =Anna e Andrea
protocollo del livello di rete = servizio postale
Protocolli del livello di trasportoin Internet
applicaz.
trasporto
rete
collegam.
fisico applicaz.
trasporto
rete
collegam.
fisico
rete
collegam.
fisico
rete
collegam.
fisico
rete
collegam.
fisico
rete
collegam.
fisico
rete
collegam.
fisico Trasporto logico punto-punto Affidabile, consegne nell’ordine originario (TCP)
controllo di congestione
controllo di flusso
setup della connessione
Inaffidabile, consegne senz’ordine: UDP
estensione senza fronzoli del servizio di consegna a massimo sforzo
Servizi non disponibili:
garanzia su ritardi
garanzia su ampiezzadi banda
Capitolo 3: Livello di trasporto
3.1 Servizi a livello di trasporto
3.2 Multiplexing e demultiplexing
3.3 Trasporto senza connessione: UDP
3.4 Principi del trasferimento dati affidabile 3.5 Trasporto orientato alla connessione: TCP
struttura dei segmenti
trasferimento dati affidabile
controllo di flusso
gestione della connessione
3.6 Principi sul controllo di congestione
3.7 Controllo di congestione TCP
Multiplexing/demultiplexing
applicazione trasporto rete collegamento fisico P1 applicazione trasporto rete collegamento fisico applicazione trasporto rete collegamento fisico P2 P3 P4 P1 host 1 host 2 host 3 = processo = socket consegnare i segmenti ricevutialla socket appropriata Demultiplexingnell’host ricevente: raccogliere i dati da varie
socket, incapsularli con l’intestazione (utilizzati poi per il demultiplexing) Multiplexingnell’host mittente:
Come funziona il demultiplexing
N° portaorigine N° portadestinazione 32 bit Dati dell’applicazione
(messaggio) Altri campi dell’intestazione Struttura del segmento TCP/UDP L’host riceve i datagrammi IP
ogni datagramma ha un indirizzo IP di origine eun indirizzo IP di destinazione
ogni datagramma trasporta 1 segmento a livello di trasporto
ogni segmento ha un numero di porta di origine e un numero di porta di destinazione
L’host usa gli indirizzi IP e i numeri di porta per inviare il segmento alla socket appropriata
Demultiplexing senza connessione
Crea le socket con i numeridi porta:
DatagramSocket mySocket1 = new DatagramSocket(99111);
DatagramSocket mySocket2 = new DatagramSocket(99222);
La socket UDP è identificata da 2 parametri:
(indirizzo IP di destinazione,numero della porta di destinazione) Quando l’host riceve il segmento UDP:
controlla il numero della porta di destinazionenel segmento
invia il segmento UDP alla socket con quel numerodi porta
I datagrammi IP con indirizzi IP di origine e/o numeri di porta di origine differenti vengono inviati alla stessa socket
Demultiplexing senza connessione (continua)
client
IP: B P2 client
IP: A P1 P1 P3 server
IP: C SP: 6428 DP: 9157 SP: 9157 DP: 6428 SP: 6428 DP: 5775 SP: 5775 DP: 6428 SP fornisce “l’indirizzo di ritorno” DatagramSocket serverSocket = new DatagramSocket(6428);
Demultiplexingorientato alla connessione
La socket TCP è identificata da 4 parametri:
indirizzo IP di origine
numero di porta di origine
indirizzo IP di destinazione
numero di porta di destinazione
L’host ricevente usa i quattro parametri per inviare il segmento alla socket appropriata Un host server può supportare più socket TCP contemporanee:
ogni socket è identificata dai suoi 4 parametri
I server web hanno socket differenti per ogni connessione client
con HTTP non-persistente si avrà una socket differente per ogni richiesta
Demultiplexingorientato alla connessione (continua)
client
IP: B P1 client
IP: A P1 P2 P4 server
IP: C SP: 9157 DP: 80 SP: 9157 DP: 80 P5 P6 P3 D-IP:C S-IP: A D-IP:C S-IP: B SP: 5775 DP: 80 D-IP:C S-IP: B
Demultiplexing orientato alla connessione: thread dei server web
client
IP: B P1 client
IP: A P1 P2 server
IP: C SP: 9157 DP: 80 SP: 9157 DP: 80 P4 P3 D-IP:C S-IP: A D-IP:C S-IP: B SP: 5775 DP: 80 D-IP:C S-IP: B
Capitolo 3: Livello di trasporto
3.1 Servizi a livello di trasporto
3.2 Multiplexing e demultiplexing
3.3 Trasporto senza connessione: UDP
3.4 Principi del trasferimento dati affidabile 3.5 Trasporto orientato alla connessione: TCP
struttura dei segmenti
trasferimento dati affidabile
controllo di flusso
gestione della connessione
3.6 Principi sul controllo di congestione
3.7 Controllo di congestione TCP
UDP: User Datagram Protocol [RFC 768]
Protocollo di trasporto “senza fronzoli”
Servizio di consegna“a massimo sforzo”,i segmenti UDP possono essere:
perduti
consegnati fuori sequenza all’applicazione
Senza connessione:
no handshaking tra mittente e destinatario UDP
ogni segmento UDP è gestito indipendentemente dagli altri
Perché esiste UDP?
Nessuna connessione stabilita (che potrebbe aggiungere un ritardo)
Semplice: nessuno stato di connessione nel mittente e destinatario
Intestazioni di segmento corte
Senza controllo di congestione: UDP può sparare dati a raffica
UDP: altro
32 bit Dati dell’applicazione
(messaggio) Struttura del segmento UDP lunghezza checksum Lunghezza in
byte delsegmento UDP,
inclusal’intestazione N° portaorigine N° portadestinazione Utilizzato spesso nelle applicazioni multimediali
tollera piccole perdite
sensibile alla frequenza
Altri impieghi di UDP
DNS
SNMP
Trasferimento affidabile con UDP: aggiungere affidabilità al livello di applicazione
Recupero degli errori delle applicazioni!
Checksum UDP
Obiettivo: rilevare gli “errori” (bit alterati) nel segmento trasmesso
Mittente:
Tratta il contenuto del segmento come una sequenza di interi da 16 bit
checksum: somma (complemento a 1) i contenuti del segmento
Il mittente pone il valore della checksum nel campo checksum del segmento UDP Ricevente:
calcola la checksum del segmento ricevuto
controlla se la checksum calcolata è uguale al valore del campo checksum:
No - errore rilevato
Sì - nessun errore rilevato. Ma potrebbero esserci errori nonostante questo? Altro più avanti …
Esempio di checksum
1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1
1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0
1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 a capo somma checksum Nota
Quando si sommano i numeri, un riporto dal bit più significativo deve essere sommato al risultato
Esempio: sommare due interi da 16 bit
Kurose and Ross forgot to say anything about wrapping the carry and adding it to low order bit
Capitolo 3: Livello di trasporto
3.1 Servizi a livello di trasporto
3.2 Multiplexing e demultiplexing
3.3 Trasporto senza connessione: UDP
3.4 Principi del trasferimento dati affidabile 3.5 Trasporto orientato alla connessione: TCP
struttura dei segmenti
trasferimento dati affidabile
controllo di flusso
gestione della connessione
3.6 Principi sul controllo di congestione
3.7 Controllo di congestione TCP
Copy the following code to your webpage or blog to embed this presentation:
<a href="http://www.slidefinder.net/r/reti_20di_20calcolatori_20e_20internet/retidicalcolatorieinternet-unapprociotop-downcap3/23138541" class="slidefinder">Reti di calcolatori e internet - Un approcio top-downCap3</a>
<a href="http://www.slidefinder.net/r/reti_20di_20calcolatori_20e_20internet/retidicalcolatorieinternet-unapprociotop-downcap3/23138541" class="slidefinder">Reti di calcolatori e internet - Un approcio top-downCap3</a>
Det3
<script type="text/javascript" src="http://www.slidefinder.net/scripts/embedded.js"></script>
Comments