Calculadora del producto ancho de banda-retardo
Introduce la velocidad del enlace y el tiempo de ida y vuelta (RTT), por ejemplo el de un ping. La calculadora da el producto ancho de banda-retardo (cuántos datos deben estar en vuelo para mantener el enlace lleno) en bits, bytes, KiB y MiB, el desplazamiento de escalado de ventana TCP necesario para anunciar esa ventana y el caudal y el uso del enlace que obtienes con el tamaño de ventana que indiques.
Funciona en tu navegador: nada de lo que escribes se envía a ningún sitio.
Cómo se usa
- Introduce la velocidad del enlace y elige kbit/s, Mbit/s o Gbit/s.
- Introduce el RTT en milisegundos.
- Introduce el tamaño de ventana TCP en KiB para ver el caudal que permite (sin escalado una ventana es como mucho de 65.535 bytes, algo menos de 64 KiB).
Fórmulas
- BDP (bits) = ancho de banda (bit/s) × RTT (s); bytes = bits ÷ 8, 1 KiB = 1024 bytes, 1 MiB = 1.048.576 bytes
- Caudal con una ventana = mín(ancho de banda, ventana × 8 ÷ RTT)
- Desplazamiento de escalado = el menor s de 0 a 14 con 65.535 × 2ˢ ≥ BDP en bytes
Las velocidades de enlace usan prefijos decimales (1 Mbit/s = 1.000.000 bit/s) y las ventanas, binarios (1 KiB = 1024 bytes).
Ejemplo resuelto
Un trayecto de 100 Mbit/s con 50 ms de RTT:
- BDP = 100.000.000 × 0,05 = 5.000.000 bits = 625.000 bytes = 610,35 KiB = 0,596 MiB
- hay que escalar la ventana: 625.000 ÷ 65.535 = 9,54, así que un desplazamiento de 4 (×16)
- con una ventana fija de 64 KiB: 65.536 × 8 ÷ 0,05 = 10,486 Mbit/s, solo el 10,5 % del enlace
Consejos
- Las redes «largas y gruesas» (enlaces rápidos a gran distancia) son donde más perjudica una ventana pequeña.
- Los búferes también cuentan. Los búferes de socket de ambos extremos deben ser al menos el BDP, o el sistema operativo limitará la ventana.
- Las pérdidas cambian el cálculo: con pérdidas, TCP reduce su ventana de congestión y el caudal cae por debajo de lo que indica el BDP.
Preguntas frecuentes
¿Qué es el producto ancho de banda-retardo?
La cantidad de datos que está en camino en cada momento en un enlace a plena velocidad, ancho de banda × tiempo de ida y vuelta. 100 Mbit/s con un RTT de 50 ms son 5.000.000 bits, es decir, 625.000 bytes.
¿Por qué la ventana TCP debe ser al menos el BDP?
El emisor solo puede tener en vuelo una ventana de datos sin confirmar. Si la ventana es menor que el BDP, espera las confirmaciones y el enlace queda parcialmente ocioso; el caudal es entonces ventana ÷ RTT.
¿Qué es el escalado de ventana TCP?
El campo de ventana de la cabecera TCP tiene 16 bits, como mucho 65.535 bytes. La opción de escalado (RFC 7323) lo desplaza a la izquierda hasta 14 bits. 625.000 bytes necesitan un desplazamiento de 4, porque 65.535 × 2⁴ = 1.048.560 es el primer valor que lo supera.
¿Qué RTT debo usar?
El tiempo de ida y vuelta entre los dos extremos con carga, por ejemplo con ping. Usa el peor valor habitual: una ventana pensada para 20 ms rinde menos en un trayecto de 100 ms.