1 / 29

I protocolli TCP/UDP prof.: Alfio Lombardo

I protocolli TCP/UDP prof.: Alfio Lombardo. Formato del messaggio TCP. Stream oriented protocol. Application process. Application process. read bytes. write bytes. TCP send buffer. TCP receiver buffer. segments. Header TCP (Port address). Header TCP (Port address).

Download Presentation

I protocolli TCP/UDP prof.: Alfio Lombardo

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. I protocolli TCP/UDP prof.:Alfio Lombardo

  2. Formato del messaggio TCP

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

  4. Header TCP (Port address) Header TCP (Port address) TCP data TCP data Header IP (IP address) Header IP (IP address) IP data IP data • Il TCP interpreta lo stream dati come sequenza di ottetti • Lo stream dati è suddiviso in segmenti ... ... ... Header TCP (Port address) TCP data 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 connessionethree 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. 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 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+1 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 Il TCP 2 informa l’applicazione 2 della richiesta di disconnessione Seqnum =Y FIN =1 Il TCP 1 informa l’applicazione 1 della richiesta di disconnessione Acknum =X+1 ACK =1 Tempo Acknum =Y+1 ACK =1

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

  16. T T1 T2 Distribuzione dei tempi di round-trip Probabilita’ Probabilita’ 0 10 20 30 0 10 20 30 40 50 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 Seq=0 Data=2K 2K 2K 3K 1K Ack =2048 WIN =2048 Write 3K Seq=2048 Data=2K 4K Ack =4096 WIN =0 Prelievo 2K Tx bloccato Ack =4096 WIN =2048 Seq=4096 Data=1K Esercizio consigliato: Controllo di Flusso 4K TCP TX TCP RX

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

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

  21. timeout timeout timeout 60 50 40 30 20 10 0 Finestra di congestione (Kbyte) 1 3 5 7 9 11 13 15 17 19 21 23 25 Numero di trasmissioni

  22. Congestion Avoidance (Additive increase) soglia timeout Slow start Slow start Slow Start 60 50 40 30 20 10 0 Finestra di congestione (Kbyte) 1 3 5 7 9 11 13 15 17 19 21 23 25 1 3 5 7 9 11 13 15 17 19 21 23 25 Numero di trasmissioni

  23. Additive increase timeout timeout Multiplicative decrease Slow start Fast Recovery 60 50 40 30 20 10 0 Finestra di congestione (Kbyte) soglia 1 3 5 7 9 11 13 15 17 19 21 23 25 Numero di trasmissioni

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

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

  26. UDP 0 16 31 source port destination port length checksum data • Header, • data, • Pseudo header

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

  28. RTP Livello di trasporto RTCP APPLICAZIONE UDP IP

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

More Related