1 / 10

Controllo di flusso TCP

Controllo di flusso TCP. Elementi base del flusso TCP (1). Comunicazione punto-punto Un mittente, un destinatario. Flusso di byte affidabile Flusso suddiviso in segmenti e non in messaggi indipendenti (come i datagram UDP). Pipeline controllata

Download Presentation

Controllo di flusso TCP

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. Controllo di flusso TCP

  2. Elementi base del flusso TCP (1) • Comunicazione punto-punto • Un mittente, un destinatario. • Flusso di byte affidabile • Flusso suddiviso in segmenti e nonin messaggi indipendenti(come i datagram UDP). • Pipeline controllata • Il controllo di flusso stabilisce le dimensioni della finestra. • Buffer di invio e ricezione • Come abbiamo visto nelle lezioni precedenti.

  3. Elementi base del flusso TCP (2) • Full duplex • Flusso bidirezionale in una singola connessione. • Orientato alla connessione • Handshaking tra mittente e destinatario prima dell’invio dati. • Controllato • Adattamento alle diverse velocità relative del mittente e del destinatario.

  4. Elementi base del flusso TCP (3) L’applicazione LEGGE i dati L’applicazione SCRIVE i dati Porta Socket Porta Socket TCP Buffer Ricezione TCP Buffer Invio SEGMENTO

  5. Segmento TCP 32 bit URG: dati urgenti (non usato) ACK: ACK valido PSH: push data (non usato) RST, SYN, FIN: Inizio, fine connessione # porta mittente e destinatario porta sorg. # porta dest. # numero di sequenza Conteggio in byte (NON in segmenti!) numero di acknowledgement lungh. intest. non usato dim. fin. ricev. U A P R S F somma di controllo ptr dati urgenti Opzioni (lunghezza variabile) Advertised window: # byte che il ricevente accetta Dati applicativi (lunghezza variabile) Internet checksum (come UDP)

  6. Intestazione TCP : campi principali • Numero di sequenza (32 bit) • Numero del primo byte del segmento. • Dimensioni finestra ricevente (16 bit) • Dimensione finestra come nel GBN o nel selective repeat; in TCP la dimensione della finestra è variabile. • Acknowledgment (32 bit) • Contiene il successivo numero di sequenza atteso.

  7. Tempo Numeri di sequenza e ACK TCP Host A Host B Server di eco Utente digita ‘C’ Seq=42, ACK=79, data = ‘C’ B invia ACK per la ricezione di ‘C’, invia a sua volta ‘C’ Seq=79, ACK=43, data = ‘C’ A invia ACK per la ricezione di ‘C’ Seq=43, ACK=80 La gestione dei segmenti arrivati fuori ordine dipende dall’implementazione.

  8. Intestazione TCP: campi principali • Lunghezza d’intestazione (4 bit) • I campi opzione possono variare la lunghezza dell’intestazione. • Il valore della lunghezza espresso in numero di parole da 32 bit = 4 byte. • 4 bit => 24 *4 byte = 64 byte; poiché l’intestazione standard è lunga 20 byte ci sono 44 byte disponibili per le opzioni. • L’intestazione UDP, invece, è lunga solo 8 byte.

  9. Numeri di sequenza e finestra (1) • L’intestazione comprende: • 32 bit per il numero di sequenza (e di acknowledgement); • 16 bit per la dimensione della finestra. • Per la dimensione massima della finestra deve anzitutto valere: • Dimensione finestra <= ½ SpazioNumeriSequenza • Condizione facilmente soddisfatta: la dimensione della finestra è di 16 bit232 >> 2* 216

  10. FINE Numeri di sequenza e finestra(2) • La dimensione finestra è un campo di 16 bit => la finestra massima è di 64 KB • È sufficiente per riempire il pipeline? Non sempre • Lunghezza pipeline = delay*BW • Esempio: 100 ms roundtrip e 100 Mbps => 1.19 MB • Numero di sequenza è un campo di 32 bit=> 4 GB • Il tempo di vita massimo del segmento è di 120 sec. • Il wrap-around può arrivare troppo presto? Sì, è possibile per i seguenti motivi: • 4 GB/120 sec = 273 Mbps • < Gigabit Ethernet e STS-12 a 622 Mbps

More Related