Analisi dell'avvio del TCP su canali satellitari a larga banda
2004-10-08
Gli studi orientati a valutare le prestazioni di applicazioni di rete
vengono effettuati utilizzando misure dei sistemi di interesse e
simulazioni. Queste ultime sono particolarmente utili perché permettono
di valutare le prestazioni in condizioni ben definite, facilmente
controllabili e difficilmente ottenibili con misure reali. Ogni studio
simulativo si basa su caratterizzazioni statistiche dello scenario di
interesse, che permettono di definire parametri come la capacità
disponibile su un dato mezzo trasmissivo, la sua affidabilità in termini
di pacchetti trasmessi, il ritardo indotto, la possibilità di
distinguere fra priorità di traffico.
L'argomento di questa tesi è l'analisi del comportamento iniziale
(slow start) di una connessione TCP su un canale satellitare
geostazionario a larga banda. Perché una connessione TCP possa
sfruttare appieno la banda di un canale, la finestra di trasmissione
deve essere pari almeno al prodotto ritardo*banda, dove il ritardo è il
tempo intercorrente fra la trasmissione di un pacchetto e la ricezione
dell'ack relativo (RTT). Su un canale geostazionario tale ritardo è
dell'ordine di mezzo secondo. Con le impostazioni predefinite sulla
maggior parte dei sistemi, la dimensione della finestra consente
velocità di trasmissioni minori di 1 Mb/s. Per ovviare a ciò
bisogna definire l'uso dell'opzione TCP window scale sui due
estremi della connessione e configurare le applicazioni perché
utilizzino una finestra sufficientemente grande. Inoltre il tasso di
errore sulla conessione riduce la massima velocità ottenibile.
Tuttavia, in condizioni ideali, cioè senza errori e con finestre
sufficientemente grandi, il comportamento del TCP durante la fase di
avvio è talvolta disastroso, e può entrare in una situzione in cui la
velocità di trasmissione è ridotta ad un pacchetto per RTT per diversi
minuti.
Scopo della tesi è l'analisi simulativa del comportamento di diverse
varianti del TCP nelle situazioni ideali descritte, lo studio della
letteratura sull'argomento, la descrizione del fenomeno, la verifica
utilizzando un emulatore di ritardo ed eventualmente un canale
satellitare reale e infine la descrizione di contromisure appropriate.
Punti da sviluppare
La tesi di laurea sviluppa i seguenti aspetti:
- verifica del comportamento anomalo mediante l'uso del simulaotre
ns-2 su piattaforma Linux;
- studio della letteratura sull'argomento;
- descrizione dettagliata del fenomeno per diverse varianti del TCP:
Reno, Newreno, SACK, Westwood;
- verifica del comportamento di stack TCP reali usando un emulatore
di ritardo da configurare nel kernel Linux;
- eventualmente verifica utilizzando un canale satellitare
geostazionario reale;
- indicazione delle contromisure opportune per ognuna delle varianti
TCP studiate.
Bibliografia
La casa degli RFCs
Gli algoritmi fondamentali
- RFC 0793 Transmission Control Protocol. J. Postel. Sep-01-1981.
- RFC 2581 TCP Congestion Control. M. Allman, V. Paxson,
W. Stevens. April 1999.
- RFC 3782 The NewReno Modification to TCP's Fast Recovery
Algorithm. S. Floyd, T. Henderson, A. Gurtov. April 2004.
- RFC 2018 TCP Selective Acknowledgement Options. M. Mathis,
J. Mahdavi, S. Floyd, A. Romanow. October 1996.
Dettagli
- RFC 1122 Requirements for Internet Hosts - Communication Layers. R.
Braden, Ed.. October 1989.
- RFC 1323 TCP Extensions for High Performance. V. Jacobson, R. Braden, D.
Borman. May 1992.
- RFC 2988 Computing TCP's Retransmission Timer. V. Paxson, M. Allman.
November 2000.
- RFC 3390 Increasing TCP's Initial Window. M. Allman, S. Floyd, C.
Partridge. October 2002.
- RFC 2488 Enhancing TCP Over Satellite Channels using Standard Mechanisms.
M. Allman, D. Glover, L. Sanchez. January 1999.
- A. A. Awadallah and C. Rai, "Brief comment on cwnd inflation during
fast recovery", online, June 1997.
Argomenti di ricerca
- RFC 2883 An Extension to the Selective Acknowledgement (SACK) Option for
TCP. S. Floyd, J. Mahdavi, M. Mathis, M. Podolsky. July 2000.
- RFC 3517 A Conservative Selective Acknowledgment (SACK)-based Loss
Recovery Algorithm for TCP. E. Blanton, M. Allman, K. Fall, L. Wang.
April 2003.
- RFC 3649 HighSpeed TCP for Large Congestion Windows. S. Floyd. December
2003.
Il problema dello slow start
- RFC 2760 Ongoing TCP Research Related to Satellites. M. Allman, Ed., S.
Dawkins, D. Glover, J. Griner, D. Tran, T. Henderson, J. Heidemann,
J. Touch, H. Kruse, S. Ostermann, K. Scott, J. Semke. February
2000. Vedi la sezione 3.2.4.
- RFC 3742 Limited Slow-Start for TCP with Large Congestion Windows. S.
Floyd. March 2004.
- Carlo Caini, Rosario Firrincieli
"Packet spreading techniques to avoid bursty traffic in long RTT
TCP connections", proceedings of IEEE Vehicular Technology
Confefrence VTC 2004-Spring, Milano (IT), May 2004.
- Janey C. Hoe
"Improving the start-up behavior of a congestion control scheme
for TCP", proceedings of ACM SIGCOMM '96, pp. 270-280, 1996
- C. Barakat, N. Chaher, W. Dabbous and E. Altman
"Improving TCP/IP over geostationary satellite links",
proceedings of IEEE GLOBECOM '99, pp. 781-785, 1999
- R. Wang, G Pau, K. Yamada, M. Y. Sanadidi, M. Gerla
"TCP Startup Performance in Large Bandwidth Delay Networks",
INFOCOM 2004, Hong Kong, pp.796-805, 2004.