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