La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

I protocolli TCP/UDP prof.: Alfio Lombardo.

Presentazioni simili


Presentazione sul tema: "I protocolli TCP/UDP prof.: Alfio Lombardo."— Transcript della presentazione:

1 I protocolli TCP/UDP prof.: Alfio Lombardo

2 Formato del messaggio TCP

3 Stream oriented protocol
Application process Application process write bytes read bytes TCP send buffer TCP receiver buffer segments

4 Il TCP interpreta lo stream dati come sequenza di ottetti
Lo stream dati è suddiviso in segmenti ... ... ... Header TCP (Port address) TCP data TCP data IP data Header IP (IP address) Header TCP (Port address) TCP data IP data Header IP (IP address) Header TCP (Port address) Header IP (IP address) IP data

5 Apertura di connessione: Problemi.
utilizzare identificatori delle connessioni sempre diversi (ad es. un numero sempre crescente)

6 Apertura di connessione: Problemi.
TCP 1 TCP 2 Seqnum =X SYN =1 Seqnum=Y Acknum =X+1 ACK=1 SYN=1 Tempo ?

7 Instaurazione della connessione three way handshake
TCP 1 TCP 2 Seqnum =X SYN =1 Seqnum=Y Acknum =X+1 ACK=1 SYN=1 Tempo Seqnum=X+1 Acknum =Y+1 ACK=1 SYN=1

8 Seqnum=Y Acknum =X+1 ACK=1 SYN=1 Seqnum=X+1 Acknum =Y+1 ACK=1 RST=1
three way handshake: duplicato CR TCP 1 TCP 2 Seqnum =X SYN =1 Seqnum=Y Acknum =X+1 ACK=1 SYN=1 Tempo ? Seqnum=X+1 Acknum =Y+1 ACK=1 RST=1

9 three way handshake: duplicato CR, Ack ? ? TCP 1 TCP 2 Tempo
Seqnum =X SYN =1 Seqnum=Y Acknum =X+1 ACK=1 SYN=1 Tempo ? Seqnum=X+1 Acknum =z ACK=1 SYN=1 ? Seqnum=X+1 Acknum =Y ACK=1 RST=1

10 Instaurazione simultanea
TCP 1 TCP 2 Seqnum =X SYN =1 Seqnum =Y SYN =1 Tempo Seqnum=Y Acknum =X+1 ACK=1 SYN=1 Seqnum=X Acknum =Y+1 ACK=1 SYN=1

11 Chiusura di connessione
TCP 1 TCP 2 L’applicazione 1 chiude la connessione Seqnum =X FIN =1 Il TCP 2 informa l’applicazione 2 della richiesta di disconnessione Tempo Acknum =X+1 ACK =1 L’applicazione 2 chiude la connessione Seqnum =Y Acknum=X+1 FIN =1 Acknum =Y+1 ACK =1

12 Chiusura di connessione: three way handshake
TCP 1 TCP 2 L’applicazione 1 chiude la connessione Seqnum =X FIN =1 Il TCP 2 informa l’applicazione 2 della richiesta di disconnessione e questa decide di chiudere la connessione Tempo Seqnum=Y Acknum =X+1 ACK=1 FIN =1 Acknum =Y+1 ACK =1

13 Chiusura di connessione: three way handshake con perdite

14 Chiusura simultanea TCP 1 TCP 2 L’applicazione 1 chiude la connessione
Seqnum =X FIN =1 L’applicazione 2 chiude la connessione Seqnum =Y FIN =1 Il TCP 2 informa l’applicazione 2 della richiesta di disconnessione Il TCP 1 informa l’applicazione 1 della richiesta di disconnessione Acknum =X+1 ACK =1 Tempo Acknum =Y+1 ACK =1

15 Ack e Ritrasmissioni Esercizio consigliato: TCP Viene attivato il
Seqnum=5 Data= Acknum=5000 Seqnum=105 Data= Acknum=5000 Seqnum= Data=100 Acknum=305 Viene attivato il timer Seqnum=305 Data=1000 Acknum=5100 Seqnum= Data=500 Acknum=305 Time-out !!! ritrasmissione Seqnum=305 Data= Acknum=5600 Seqnum= Data=100 Acknum=2305

16 Distribuzione dei tempi di round-trip
Probabilita’ Probabilita’ Tempo (ms) Tempo (ms) Livello di Data Link Livello di Trasporto

17 Algoritmo di Jacobson (1988)
RTT = Round Trip Time RTT = a RTT + (1 - a) M a =7/8 T = b RTT b = f(s)

18 Gestione di flusso Write 2K Write 3K Tx bloccato
Esercizio consigliato: Controllo di Flusso Write 2K Seq=0 Data=2K 2K 4K TCP TX TCP RX Ack = WIN =2048 4K Write 3K Seq=2048 Data=2K 1K Tx bloccato Ack = WIN =0 Prelievo 2K Ack = WIN =2048 2K Seq=4096 Data=1K 3K

19 Parametri utilizzati per il controllo
di congestione Finestra permessa = minimo tra Fissata dal ricevitore Finestra d controllo di flusso Finestra di congestione Fissata dal trasmettitore

20 Rilevazione degli stati di congestione
Rumore su una linea di trasmissione Scadenza di un timeout = Congestione di un nodo

21 Numero di trasmissioni
60 50 40 30 20 10 timeout Finestra di congestione (Kbyte) timeout Numero di trasmissioni

22 Numero di trasmissioni
Slow Start 60 50 40 30 20 10 Congestion Avoidance (Additive increase) timeout soglia Finestra di congestione (Kbyte) Slow start Slow start Numero di trasmissioni

23 Numero di trasmissioni
Fast Recovery timeout 60 50 40 30 20 10 Additive increase timeout Multiplicative decrease Finestra di congestione (Kbyte) soglia Slow start Numero di trasmissioni

24 Servizi offerti da UDP Trasferimento dati appartenenti a diverse applicazioni residenti nello stesso host (multiplexing) Controllo d’errore (opzionale)

25 Processo Applicativo A Processo Applicativo B UDP A UDP B
1. Send (n ottetti) 3. Deliver (n ottetti) UDP SERVICE PROVIDER 2. DATA UDP A UDP B

26 UDP Header, data, Pseudo header 0 16 31 source port destination port
source port destination port length checksum data UDP è l’altro protocollo utilizzato nell’architettura Internet come protocollo di livello 4. Esso è un protocollo, alternativo a TCP, di tipo connectionless. UDP è un protocollo molto più semplice di TCP ed è utilizzato quando l’affidabilità di TCP non è richiesta. Non avendo funzioni di sicurezza, controllo di flusso o correzione degli errori, UDP svolge principalmente il ruolo di multiplatore/demultiplatore per la ricezione e la trasmissione di dati IP e dati delle applicazioni Aggiunge solo due funzionalità a quelle di IP: multiplexing delle informazioni tra le varie applicazioni, tramite il concetto di porta checksum (opzionale) per verificare l’integrità dei dati. UDP non prevede un controllo di flusso e, al contrario di TCP, non è in grado di adattarsi autonomamente a variazioni di traffico. Non prevede meccanismi di ritrasmissione in caso di errori, quindi eventuali meccanismi di ritrasmissione, se necessari, devono essere garantiti e gestiti direttamente dall’applicativo d’utente, o comunque da un protocollo di livello superiore. E’ presente un meccanismo di controllo dell’errore (fatto su tutto il pacchetto e non solo sull’intestazione), ma il protocollo non si preoccupa di correggere in alcun modo l’errore: semplicemente, scarta il pacchetto. Header, data, Pseudo header

27 Protocolli di Trasporto emergenti in INTERNET
Real-time Transport Protocol (RTP) Real-time Transport Control Protocol (RTCP)

28 APPLICAZIONE Livello di trasporto RTP RTCP UDP IP

29 Trasporto end-to-end dell’informazione
Macrolezione 7 Trasporto end-to-end dell’informazione


Scaricare ppt "I protocolli TCP/UDP prof.: Alfio Lombardo."

Presentazioni simili


Annunci Google