29
I protocolli TCP/UDP prof.: Alfio Lombardo

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

Embed Size (px)

Citation preview

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

I protocolli TCP/UDPprof.: Alfio Lombardo

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

Formato del messaggio TCP

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

Stream oriented protocol

Application

process

Application

process

TCP

send buffer

TCP

receiver

buffer

write

bytes

segments

read

bytes

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

• Il TCP interpreta lo stream dati come sequenza di ottetti• Lo stream dati è suddiviso in segmenti

TCP data

IP dataHeader IP

(IP address)

Header TCP(Port address)

TCP data

IP dataHeader IP

(IP address)

Header TCP(Port address)

TCP data

IP dataHeader IP

(IP address)

Header TCP(Port address)

... ......

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

utilizzare identificatori delle connessioni sempre diversi (ad es. un numero sempre crescente)

Apertura di connessione:Problemi.

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

TCP 1 TCP 2

Seqnum=Y Acknum =X+1 ACK=1 SYN=1

Tem

po

Seqnum =X SYN =1

?

Apertura di connessione: Problemi.

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

Instaurazione della connessionethree way handshake

TCP 1 TCP 2

Seqnum=Y Acknum =X+1 ACK=1 SYN=1

Tem

po

Seqnum =X SYN =1

Seqnum=X+1 Acknum =Y+1 ACK=1 SYN=1

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

TCP 1 TCP 2

Seqnum=Y Acknum =X+1 ACK=1 SYN=1

Tem

po

Seqnum =X SYN =1

Seqnum=X+1 Acknum =Y+1 ACK=1 RST=1

three way handshake: duplicato CR

?

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

TCP 1 TCP 2

Seqnum=Y Acknum =X+1 ACK=1 SYN=1

Tem

po

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

?

?

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

Instaurazione simultaneaTCP 1 TCP 2

Tem

po

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

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

Chiusura di connessione

TCP 1 TCP 2

Tem

po

L’applicazione 1 chiude la connessione

L’applicazione 2 chiude la connessione

Il TCP 2 informa l’applicazione 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

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

Chiusura di connessione: three way handshake

TCP 1 TCP 2

Tem

po

L’applicazione 1 chiude la connessione Il TCP 2

informa l’applicazione 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

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

Chiusura di connessione: three way handshake con perdite

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

Chiusura simultaneaTCP 1 TCP 2

Tem

po

L’applicazione 1 chiude la connessione

L’applicazione 2 chiude la connessione

Il TCP 2 informa l’applicazione 2 della richiesta di disconnessione

Il TCP 1 informa l’applicazione 1 della richiesta di disconnessione

Seqnum =X FIN =1

Seqnum =Y FIN =1

Acknum =Y+1 ACK =1

Acknum =X+1 ACK =1

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

Ack e RitrasmissioniTCP 1 TCP 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 iltimer

Esercizio consigliato:

TCP

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

Pro

bab

ilit

a’

Pro

bab

ilit

a’Tempo (ms)

Livello di Data Link

Livello di Trasporto

Distribuzione dei tempi di round-trip

0 10 20 30 0 10 20 30 40 50

Tempo (ms)

T T1 T2

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

Algoritmo di Jacobson (1988)

RTT = Round Trip Time

RTT = RTT + (1 -

T = RTT = f()

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

4K

Ack =2048 WIN =2048

Tx bloccato

Ack =4096 WIN =0

Write 2K Seq=0 Data=2K

2K

Prelievo 2K

Ack =4096 WIN =20482K

TCP

TX

TCP

RX

4K

Write 3KSeq=2048 Data=2K

1K

Seq=4096 Data=1K 3K

Gestione di flussoEsercizio consigliato:

Controllo di Flusso

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

Parametri utilizzati per il controllo

di congestioneFinestra permessa = minimo tra

Fissata dal ricevitore

Finestra d controllo

di flusso

Fissata dal ricevitore

Finestra di congestione

Fissata dal trasmettitore

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

Scadenza di un timeout =

Rumore su una linea di trasmissione

Congestione di un nodo

Rilevazione degli stati di congestione

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

60

50

40

30

20

10

0 1 3 5 7 9 11 13 15 17 19 21 23 25

Numero di trasmissioni

Fin

es

tra

di c

on

ges

tio

ne

(Kb

yte

)

timeout

timeout

timeout

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

60

50

40

30

20

10

0 1 3 5 7 9 11 13 15 17 19 21 23 25

Numero di trasmissioni

Fin

es

tra

di c

on

ges

tio

ne

(Kb

yte

)

Slow start

CongestionAvoidance (Additive increase)

Slow Start

1 3 5 7 9 11 13 15 17 19 21 23 25

soglia timeout

Slow start

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

60

50

40

30

20

10

0 1 3 5 7 9 11 13 15 17 19 21 23 25

Numero di trasmissioni

Fin

es

tra

di c

on

ges

tio

ne

(Kb

yte

) timeout

Additive increase

Multiplicative decrease

Fast Recovery

soglia

Slow start

timeout

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

Servizi offerti da UDP

Trasferimento dati appartenenti a diverse applicazioni residenti nello stesso host (multiplexing)

Controllo d’errore (opzionale)

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

1. Send (n ottetti)

ProcessoApplicativo

A

ProcessoApplicativo

B

2. DATA2. DATA

3. Deliver (n ottetti)

UDP A UDP B

UDP SERVICE PROVIDERUDP SERVICE PROVIDER

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

UDP

source port

data

destination port

length checksum

0 16 31

•Header,

•data,

•Pseudo header

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

Protocolli di Trasporto emergenti in INTERNET

Real-time Transport Protocol (RTP)

Real-time Transport Control Protocol (RTCP)

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

IP

UDP

APPLICAZIONE

RTP RTCPLivello di

trasporto

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

Macrolezione 7

Trasporto end-to-end dell’informazione