Lezione 14 – Sintesi TCP
Reti di calcolatori
Modulo 2 - Protocollo di rete TCP/IP
Unità didattica 5 – Tecniche di controllo
Ernesto Damiani
Università di Milano
Protocolli e servizi di trasporto (1)
• Forniscono la comunicazione logica tra processi
applicativi in esecuzione su host diversi
• I protocolli di trasporto vengono eseguiti solo nei
punti terminali
– lato invio: scinde i messaggi in segmenti e li passa al livello
di rete
– lato ricezione: riassembla i segmenti in messaggi e li passa
al livello di applicazione
• Per le applicazioni sono disponibili più protocolli di
trasporto
– Internet: TCP e UDP
Protocolli e servizi di trasporto (2)
application
transport
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
application
transport
network
data link
physical
Livello di rete e livello di trasporto (1)
• Livello di rete: comunicazione logica tra host
• Livello di trasporto: comunicazione logica tra
processi
– Si basa sui servizi del livello di rete
Livello di rete e livello di trasporto (2)
Analogia con la posta ordinaria
• 12 ragazzi inviano lettere a 12 ragazzi
– processi = ragazzi
– messaggi delle applicazioni = lettere nelle buste
– host = abitazioni
– protocollo di trasporto = manuale
– protocollo del livello di rete = servizio postale
Protocolli di trasporto Internet: TCP e
UDP (1)
• Affidabile, consegne nell’ordine originario (TCP)
– Controllo di congestione
– Controllo di flusso
– Setup della connessione
• Inaffidabile, consegne senz’ordine (UDP)
– Estensione dell’IP “best-effort” dalla destinazione a livello di
host a quella di processo
• Servizi non disponibili:
– Latenza garantita
– Larghezza di banda garantita
Protocolli di trasporto Internet: TCP e
UDP (2)
application
transport
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
application
transport
network
data link
physical
Multiplexing/demultiplexing (1)
• Demultiplexing nell’host ricevente
– Consegnare i segmenti ricevuti al socket appropriato
• Multiplexing nell’host mittente
– Raccogliere i dati da più socket, incapsularli con
l’intestazione (poi utilizzata per il demultiplexing)
Multiplexing/demultiplexing (2)
application
P3
transport
network
link
P1
P1
application
transport
network
P2
P4
application
transport
network
link
link
physical
physical
host 1
= socket
host 2
= process
physical
host 3
Come funziona il demultiplexing (1)
• L’host riceve i datagram IP
– Ogni datagram ha un indirizzo IP di origine e un indirizzo IP
di destinazione
– Ogni datagram 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 al socket appropriato
Come funziona il demultiplexing (2)
Demultiplexing orientato alla
connessione (1)
• Il socket TCP è identificato 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 tutti i quattro parametri per
inviare il segmento al socket appropriato
Demultiplexing orientato alla
connessione (2)
• Un host server può supportare molti socket TCP
contemporaneamente:
– Ogni socket è identificato dai suoi 4 parametri
• I server web hanno socket diversi per ogni client di
connessione client
– HTTP non-persistente avrà un socket diverso per ogni
richiesta
Demultiplexing orientato alla
connessione (3)
Demultiplexing orientato alla
connessione: server Web multithread
P1
P2
P4
P1P3
SP: 5775
DP: 80
S-IP: B
D-IP:C
SP: 9157
client
IP: A
DP: 80
S-IP: A
D-IP:C
SP: 9157
server
IP: C
DP: 80
S-IP: B
D-IP:C
Client
IP:B
Demultiplexing senza connessione (1)
• Crea socket specificando i numeri di porta
– DatagramSocket mySocket1 = new
DatagramSocket(33111);
– DatagramSocket mySocket2 = new
DatagramSocket(33222);
• Il socket UDP è identificato da 2 parametri
– (indirizzo IP di destinazione, numero della porta di
destinazione)
Demultiplexing senza connessione (2)
• Quando l’host riceve il segmento UDP:
– Controlla il numero della porta di destinazione nel segmento
– Invia il segmento UDP al socket con quel numero di porta
• I datagram IP con indirizzi IP di origine e/o numeri
di porta di origine diversi vengono inviati allo stessa
socket
Demultiplexing senza connessione (3)
Principi del trasferimento dati affidabile
• Importanti nelle applicazioni, nel trasporto, negli
strati di data link
Trasferimento dati affidabile:
preparazione
FINE
Scarica

Sintesi TCP