La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

I protocolli TCP/UDP prof.: Alfio Lombardo. Formato del messaggio TCP.

Presentazioni simili


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

1 I protocolli TCP/UDP prof.: Alfio Lombardo

2 Formato del messaggio TCP

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

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

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

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

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

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

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

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

11 Chiusura di connessione TCP 1TCP 2 Tempo Lapplicazion e 1 chiude la connessione Lapplicazion e 2 chiude la connessione Il TCP 2 informa lapplicazione 2 della richiesta di disconnessione Seqnum =X FIN =1 Seqnum =Y Acknum=X+1 FIN =1 Acknum =Y+1 ACK =1 Acknum =X+1 ACK =1

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

13 Chiusura di connessione: three way handshake con perdite

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

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

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

17 Algoritmo di Jacobson (1988) RTT = Round Trip Time RTT = RTT + (1 - T = RTT = f( )

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

19 algoritmo di Nagle (Silly windows) quando un'applicazione genera dei dati addizionali che devono essere spediti su una connessione sulla quale sono stati già spediti dei dati in precedenza, e questi dati non sono ancora stati confermati, i dati addizionali verranno posti nel buffer di trasmissione, ma nessun segmento verrà spedito finché non vengono raccolti dati a sufficienza per trasmettere un segmento della massima dimensione permessa. Se, alla ricezione dell'ack dei dati trasmessi in precedenza, non è stato raccolto un numero sufficiente di bytes per spedire un pacchetto della massima dimensione, la trasmissione di tutto il contenuto del buffer avrà comunque luogo.

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

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

22 Numero di trasmissioni Finestra di congestione (Kbyte) timeout

23 Numero di trasmissioni Finestra di congestione (Kbyte) Slow startCongestion Avoidance (Additive increase) Slow Start soglia timeout Slow start

24 Numero di trasmissioni Finestra di congestione (Kbyte) timeout Additive increase Multiplicative decrease Fast Recovery soglia Slow start timeout

25 Servizi offerti da UDP Trasferimento dati appartenenti a diverse applicazioni residenti nello stesso host (multiplexing) Controllo derrore (opzionale)

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

27 UDP source port data destination port lengthchecksum Header, data, Pseudo header

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

29 IP UDP APPLICAZIONE RTP RTCP Livello di trasporto

30 Macrolezione 7 Trasporto end-to-end dellinformazione


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

Presentazioni simili


Annunci Google