1 / 10

Controllo di congestione avanzato

Controllo di congestione avanzato. Controllo della congestione TCP. Prima del 1988, solo controllo del flusso! TCP Tahoe 1988 TCP con Slow Start, Congestion Avoidance e Fast Retransmit. TCP Reno 1990 Aggiunge fast recovery (e ACK ritardati). Nuove versioni TCP Vegas (1993).

nona
Download Presentation

Controllo di congestione avanzato

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 congestione avanzato

  2. Controllo della congestione TCP • Prima del 1988, solo controllo del flusso! • TCP Tahoe 1988 • TCP con Slow Start, Congestion Avoidance e Fast Retransmit. • TCP Reno 1990 • Aggiunge fast recovery (e ACK ritardati). • Nuove versioni • TCP Vegas (1993). • TCP SACK e TCP NewReno (1996). • TCP FACK. • …

  3. TCP Vegas: modifiche (1) • Modifiche solo al lato mittente, tra cui: • calcolo di RTT con maggior precisione; • non aspetta che si verifichi un timeout se la differenza tra il momento di trasmissione del segmento e il tempo di ricezione di un ACK duplicato indica che il timeout avrebbe già dovuto essersi verificato; • se dopo una ritrasmissione riceve immediatamente un ACK non duplicato, controlla se il timer di un qualsiasi altro segmento avrebbe già dovuto scadere e in caso affermativo lo ritrasmette; (segue)

  4. Non è una versione TCP consigliata: non può competere con Tahoe o Reno! TCP Vegas: modifiche (2) • Modifiche solo al lato mittente, tra cui: • evita di ridurreCongwinpiù volte per la stessa finestra; • tenta di usare uno spazio costante nei buffer dei router: paragona ogni valore di round trip al valore minimo fino a quel momento, per cercare di stimare il tempo trascorso nelle code dei router. (continua)

  5. TCP SACK • Aggiunge SACK (Selective ACK) a TCP. • Obiettivo: passare da Go-back-N alla ritrasmissione selettiva (Selective Repeat). • Uso di un’opzione TCP che dice che SACK è attivato al momento della sincroniatrilaterale => “Io sono un mittente in grado di gestire SACK, il destinatario si senta libero di inviare informazioni di ritrasmissione selettiva”. • Usa lo spazio delle opzioni TCP durante lo stato ESTABLISHED per inviare suggerimenti sui dati ricevuti prima di inviare le conferme di ricezione. • Non cambia il significato del normale campo Acknowledgement nell’intestazione TCP. • Al destinatario è permesso rifiutare i SACK.

  6. Dettagli su SACK (1) • Per inviare informazioni SACK si usa l’opzione 5 di TCP nel seguente formato: Kind=5 Lunghezza Inizio primo blocco di ritrasmissione Fine primo blocco di ritrasmissione …. Inizio n-esimo blocco di ritrasmissione Fine n- esimo di ritrasmissione

  7. Dettagli su SACK (2) • In 40 byte di opzioni si possono specificare un massimo di 4 blocchi. • Se si usa SACK con altre opzioni, lo spazio è ridotto. • Esempio: se si usa SACK con l’opzione Timestamp (10 byte), sono possibili al massimo 3 blocchi.

  8. TCP New Reno • Proposto e valutato insieme a SACK. • Versione modificata di Reno. • Gestisce meglio il caso in cui più pacchetti vengono persi in una singola finestra di dati. • Conclusioni: • SACK non è indispensabile per risolvere i problemi di prestazioni di Reno quando vanno persi più pacchetti; • senza SACK, però, TCP è obbligato a ritrasmettere al massimo un pacchetto perso per ciascun RTT oppure a ritrasmettere anche pacchetti che sono già stati ricevuti con successo (differenza fondamentale tra Go-Back N e Selective Repeat).

  9. Altre tecniche • TCP FACK (Forward Acknowledgments). • TCP Rate-Halving. • TCP ECN (Explicit Congestion Notification).

  10. FINE Situazione attuale • Reno è il metodo più utilizzato. • SACK/FACK/ECN in corso di graduale adozione: • NetBSD ha SACK/FACK/ECN (come Linux); • Linux ha SACK installato di default; • SACK è attivato di default in Windows 98 ma non nelle versioni successive di Windows. • Cause: • miglioramenti delle prestazioni non così eclatanti; • meno stabilità.

More Related