Evaluación de Rendimiento de Algoritmos de Congestión TCP en Riverbed Modeler Academic Edition
Evaluación de Rendimiento de Algoritmos de Congestión TCP en Riverbed Modeler Academic Edition
1.
1 INTRODUCCIN
El Protocolo de Control de Transmisin TCP es actualmente el
ms utilizado en Internet, soportando aproximadamente el 90 %
del trfico de Internet tanto en redes cableadas como inalmbricas
[1]. Con el avance de la ciencia surgen nuevas tecnologas y
dispositivos, y cada vez es mayor el nmero de conexiones y el
trfico en internet, provocando posibles errores en la transmisin
debido a la cantidad de conexiones simultneas recibiendo y
enviado datos. Esto requiere un mximo rendimiento en el
protocolo TCP, con mnimos errores en transmisin y control de
congestin, por lo tanto es de vital importancia hacer mejoras en
este protocolo. En la actualidad hay gran cantidad de algoritmos
propuestos e implementados en diferentes escenarios para
solventar esta necesidad.
SLOW START
2.
CONGESTION AVOIDANCE
Es un algoritmo que adapta la transmisin de datos a los
recursos disponibles. Despus de Slow Start ha alcanzado
un cierto umbral, la congestion avoidance comienza a
retrasar la apertura de la ventana.
La congestin se puede producir cuando los datos llegan en
un gran canal y se enva a un canal ms pequeo,
produciendo el efecto cuello de botella. La congestin
tambin puede ocurrir cuando mltiples flujos de entrada
llegan a un router cuya capacidad de produccin es menor
que la suma de las entradas. Evitar la congestin es una
manera de lidiar con la prdida de paquetes. Hay dos
indicaciones de prdida de paquetes: un tiempo de espera se
produce y la recepcin de ACKs duplicados.
Congestion Avoidance y Slow Start son algoritmos
independientes con diferentes objetivos. Pero cuando se
produce la congestin TCP congestion avoidance debe
frenar la velocidad de transmisin de paquetes en la red, y
luego invocar Slow Start para que funcione de nuevo. En la
prctica se implementan juntos.
Congestion Avoidance y Slow Start requieren que se
mantengan dos variables para cada conexin: una ventana
de congestin, cwnd, y un tamao de umbral de inicio lento,
ssthresh. El algoritmo combinado funciona de la siguiente
manera:
1.
2.
3.
4.
RENO
SACK
PREVIOS
3 SIMULACIN
El modelo propuesto para el anlisis y simulacin de los algoritmos de
congestin TCP, se realiza sobre Riverbed Modeler 17.5 en un mapa
internacional. Se crea una red LAN 802.3u en la ciudad de Bogot que
consiste en dos servidores Ethernet (HTTP - FTP) y un router
conectados con cable 100BaseT - Fast Ethernet de 100 Mbit/s, y una
red LAN 802.3u ubicada sobre la ciudad de Brasilia, compuesta por una
estacin de trabajo y un router conectados a travs de cable 100BasteT.
La Imgen 1., muestra el modelo recreado. La conexin de las dos
redes (Bogota - Brasilia) con la WAN Internet se estableci a travs
de cable Duplex Link PPP DS3.
La simulacin se realiza durante 600 segundos, en los distintos
escenarios de cada algoritmo, Se configura una prdida de datos en
0.5% con el fin de visualizar el rendimiento de recuperacin de los
algoritmos.
6553
5
Maximum ACK Delay (sec)
0.200
Maximum ACK Segments
2
Duplicate ACK Threshold
3
Slow-Start Initial Count (MSS)
1
Initial RTO (sec)
1.0
Minimum RTO (sec)
0.5
Maximum RTO (sec)
64
Deviation Gain
0.25
RTT Deviation Coefficient
4.0
Tabla 2Parmetros TCP Generales
FTP Application
Command Mix (Get/Total) 100%
Inter_request Time
Constant (100)
File Size (bytes)
Constant (9000000)
HTTP Application
HTTP Specification
HTTP 1.1
Page Interarival Time
Constant (3600)
Objetive Size (bytes)
Constant (9000000)
Number of Objects
Single Object
Tabla 1Parmetros de configuracin para las aplicaciones
Los parmetros que se usan para TCP en todas las versiones para
los servicios se indican en la Tabla 2. Como Slow Start initial
count, Receive Buffer, Duplicate ACK Threshold, Initial,
Minimum y Maximum RTO entre otros.
Receive Buffer (bytes): especifica la cantidad total de espacio
disponible en el receptor para almacenar los datos que llegan antes
de su transmisin a las capas superiores.
Maximum ACK Delay (sec): especifica la duracin mxima de
tiempo en segundos que esperar un proceso TCP antes de enviar
un "dataless" ACK.
Maximum ACK Segments: especifica el nmero mximo de
segmentos TCP debe recibir antes de enviar un "dataless" ACK.
Duplicate ACK Threshold: especifica el nmero de ACKs
duplicados que provoca el inicio de la fase de Fast Retransmit.
Slow-Start Initial Count (MSS): especifica el valor inicial cwnd
al comienzo de la fase Slow Start.
Initial RTO (sec), Minimum RTO (sec) y Maximum RTO
(sec): especfica valores iniciales, mnimos y mximos para el
Estndar
Slow Start - Congestion
Avoidance
TCP Tahoe
130,57
100,79
17,5
66,52
23,38
54
65,52
22,19
21
TCP Reno
TCP New Reno con
Sack
66,27
19,28
25,6
66,52
20,32
25,8
115,
9
Tabla 4. Resultados del anlisis de congestion en el servicio HTTP.
TCP Cubic
65,7
5 DISCUSIN
11,79
DE RESULTADOS
MTV (bytes)
PTV
TT
(sec)
SERVICIO HTTTP
SERVICIO FTP
Tabla 5. Comparacin de resultados de Servicio HTTTP yFTP
6 CONCLUSIONES
Grfica 8 Comparacin de los algoritmos de congestion TCP en
el servicio HTTP.
4 RESULTADOS
Para obtener los resultados a partir de anlisis de las grficas y los
datos obtenidos desde Opnet Modeler, se procede a tomar todos
los puntos que arrojan las grficas segn el algoritmo utilizado,
tanto del tamao de ventana (bytes) como en tiempo de duracin
de la transmisin. Para el tamao de ventana se sacan dos datos;
MTV que representa el Mximo umbral alcanzado, y PTV, que
representa el promedio del tamao de ventana utilizado durante la
transmisin. Para el tiempo, se saca el intervalo de tiempo que
dura la transmisin TT. En la Tabla 3 y 4 se visualizan los datos
analizados segn el tipo de servicio FTP y HTTP .
SERVICIO FTP
130,57
100,76
TT
(SEC
)
18,5
67,83
18,93
79
68,92
20,60
28
TCP Reno
68,29
19,53
32
69,96
19,16
27,5
ALGORITMO
Estndar
Slow Start - Congestion
Avoidance
TCP Tahoe
MTV
(BYTES)
PTV
7 REFERENCIAS
TCP Cubic
65,7
8,42
130
Tabla 3. Resultados del anlisis de congestion en el servicio FTP.
[1]
ALGORITMO
SERVICIO HTTTP
MTV
(bytes)
PTV
TT
(sec)
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[12]