¿Cuál es el efecto del tamaño de la ventana en la velocidad de transferencia de archivos?

Muchas “Guías de ajuste TCP” pueden convencerlo de que ajustar el tamaño de la ventana es un gran problema, pero en realidad, los valores predeterminados en todos los sistemas operativos modernos son más que razonables a menos que esté ejecutando una red de alto ancho de banda y alta latencia.

Mire cómo ajustarlo si está ejecutando enlaces ascendentes de 10 gig o más, o 1 gig con 50 ms + RTT.

Aquí hay información de algunas notas antiguas:

  • La ventana de recepción TCP es la cantidad de datos que una computadora puede aceptar sin reconocer al remitente. Si lee a través de TCP, sabrá que cada Secuencia # representa 4bytes de datos. El receptor no ACK todos los paquetes, eso sería súper lento. Se ACK una vez que recibe hasta un cierto SEQ #
  • El máximo original de la ventana de recepción fue de 64 KB, y eso es lo que el campo aún puede contener. Ahora hay una opción llamada Escala de ventana TCP que especifica un cambio de byte (sí byte, no bit) en el campo original para escalar el valor original de 64 KB más alto
  • El rendimiento de una comunicación está limitado por dos ventanas: la ventana de congestión y la ventana de recepción . El primero intenta no exceder la capacidad de la red (control de congestión) y el segundo intenta no exceder la capacidad del receptor para procesar datos (control de flujo). Entonces, ¿qué sucede cuando la ventana de recepción es limitada, pero la ventana de congestión dice que podemos manejar más datos? Escala de ventana!
  • La elección de si se va a escalar la ventana está determinada por la fórmula del Producto de retraso de ancho de banda . Por ejemplo, si hay más de 64 KB de datos “en vuelo” (es decir, en el cable entre usted y con quién está intercambiando datos), entonces un cambio de byte es para aumentar el tamaño de la ventana
  • Producto de retardo de ancho de banda = total_available_bandwidth (bits / seg) * Round_Trip_Time (sec)

Por ejemplo, si tiene una conexión de 6Mbit en casa y está transfiriendo un archivo a un servidor que está a 120ms de distancia, nuestra fórmula BDP es 6000000 * 0.120, que es 720,000bits o 90KBytes. En este caso, un cambio de byte es para aumentar el tamaño predeterminado de la ventana de 64 KB.

Comprueba tus límites actuales y otras cosas en / proc si estás ejecutando Linux:

grep. / proc / sys / net / ipv4 / tcp_rmem
grep. / proc / sys / net / ipv4 / tcp_window_scaling
grep. / proc / sys / net / ipv4 / *

Significativo. Si el tamaño de la ventana es menor que el ancho de banda del canal sin procesar multiplicado por la latencia del canal, el ancho de banda del flujo TCP se limitará al tamaño de la ventana dividido por la latencia del canal, en lugar del ancho de banda del canal real.