Los
enlaces por satélite tienen un promedio de RTT de alrededor de 520ms hasta el
primer salto. TCP utiliza el mecanismo de comienzo lento al inicio de la
conexión para encontrar los parámetros de TCP/IP apropiados para la misma. El
tiempo perdido en la etapa de comienzo lento es proporcional al RTT, y para los
enlaces por satélite significa que TCP se encuentra en el modo de comienzo
lento por más tiempo de lo que debiera. Esto disminuye drásticamente el
rendimiento de las conexiones TCP de corta duración. Esto puede verse cuando al
descargar un sitio web pequeño sorprendentemente toma mucho tiempo, mientras
que cuando se transfiere un archivo grande se obtienen velocidades de datos
aceptables luego de un rato.
Además cuando se pierden paquetes, TCP entra en la fase de control de
congestión y, debido al alto RTT permanece en esta fase por largo tiempo,
reduciendo así el rendimiento de las conexiones TCP, sean de larga o corta
duración.
La cantidad de datos en tránsito en un enlace en un momento dado es el producto
del ancho de banda por el RTT. Debido a la gran latencia del enlace satelital,
este producto es grande. TCP/IP le permite a los hosts remotos enviar cierta
cantidad de datos previamente sin esperar la confirmación (acknowledgment).
Normalmente en una conexión TCP/IP se requiere una confirmación (ACK) para cada
transmisión. Sin embargo el host remoto siempre puede enviar cierta cantidad de
datos sin confirmación, lo que es importante para lograr una buena tasa de
transferencia en conexiones con productos anchos de banda-retardo de
propagación elevados. Esta cantidad de datos es denominada tamaño de la ventana
TCP. En las implementaciones TCP/IP modernas el tamaño de la ventana
generalmente es de 64KB.
En las redes satelitales, el valor del producto ancho de banda-retardo es
importante. Para utilizar el enlace en toda su capacidad, el tamaño de la
ventana de la conexión debe ser igual al producto del ancho de banda/retardo.
Si el tamaño de ventana máximo permitido es de 64KB, teóricamente el máximo
rendimiento que se puede conseguir vía satélite es (tamaño de la ventana) /
RTT, o 64KB / 520 ms. Esto da una tasa de transferencia de datos máxima de
123kB/s, correspondiente a 984 kbps, aunque la capacidad del enlace sea mucho
mayor.
Cada encabezado de segmento TCP contiene un campo llamado ventana anunciada,
que especifica cuantos bytes de datos adicionales está preparado para aceptar
el receptor. La ventana anunciada es el tamaño actual de la memoria de
almacenamiento intermedio del receptor. El emisor no está autorizado a enviar
más bytes que la ventana anunciada. Para maximizar el rendimiento, las memorias
de almacenamiento intermedio del emisor y el receptor deben ser al menos
iguales al producto ancho de banda-retardo.
El tamaño de la memoria de almacenamiento intermedio en la mayoría de las
implementaciones modernas de TCP/IP tiene un valor máximo de 64KB. Para
soslayar el problema de versiones de TCP/IP que no exceden el tamaño de la
ventana de 64KB, se puede utilizar una técnica conocida como suplantación de
confirmación (TCP acknowledgment spoofing).
No hay comentarios:
Publicar un comentario