¿Qué es el producto ancho de banda por retardo?
El producto ancho de banda por retardo (BDP, por sus siglas en inglés) es la cantidad máxima de datos que pueden estar «en tránsito» por un enlace de red en un instante dado. Equivale al ancho de banda del enlace multiplicado por su tiempo de ida y vuelta (RTT). El BDP es un concepto clave para ajustar TCP: para aprovechar al máximo un enlace rápido y con alta latencia (una «red larga y ancha» o long fat network), la ventana de recepción TCP debe ser al menos tan grande como el BDP; de lo contrario, el rendimiento real queda muy por debajo del ancho de banda disponible.
Cómo usar esta calculadora
Introduce el ancho de banda del enlace y elige su unidad (bit/s, Kbit/s, Mbit/s o Gbit/s). A continuación indica el tiempo de ida y vuelta en milisegundos: el valor habitual que muestra un ping. La calculadora devuelve el BDP en bits, bytes y kilobytes. Usa el valor en bytes para configurar el tamaño del búfer del socket o de la ventana TCP.
La fórmula al detalle
$$\text{BDP (bytes)} = \frac{\text{Bandwidth} \times \text{Unit} \times \dfrac{\text{RTT (ms)}}{1000}}{8}$$ BDP (bits) = ancho de banda (bits/s) \(\times\) RTT (segundos). Primero se convierte el ancho de banda a bits por segundo y el RTT de milisegundos a segundos (dividiendo entre 1000). Al dividir el resultado en bits entre 8 se obtienen los bytes, y al dividir los bytes entre 1024 se obtienen los kibibytes (KB).
Ejemplo resuelto
Imagina un enlace de 100 Mbit/s con un RTT de 40 ms. Ancho de banda = 100.000.000 bit/s, RTT = 0,040 s. $$\text{BDP} = 100{.}000{.}000 \times 0{,}040 = 4{.}000{.}000 \text{ bits} = 500{.}000 \text{ bytes} \approx 488{,}28 \text{ KB}$$ Para saturar este enlace, tu ventana TCP debería ser de al menos unos 500 KB.
Interpretación de su resultado de BDP
El BDP es la cantidad de datos sin reconocer que un remitente debe poder mantener en la línea para usar completamente un enlace. TCP solo puede tener un valor de ventana de datos pendientes antes de que deba esperar confirmaciones, por lo que la ventana de recepción debe satisfacer:
$$\text{ventana TCP} \ge \text{BDP}$$Si la ventana es más pequeña que el BDP, el remitente transmite una ventana de datos y luego se queda inactivo durante el resto del viaje de ida y vuelta esperando ACKs. El rendimiento alcanzable se limita entonces independientemente de cucho ancho de banda ofrece el enlace:
$$\text{Rendimiento} \approx \frac{\text{Ventana (bytes)} \times 8}{\text{RTT (s)}}$$Por ejemplo, la clásica ventana de 64 KB en una ruta transcontinental de 150 ms produce solo \(\frac{65{,}536 \times 8}{0.150} \approx 3.5\) Mbit/s, muy por debajo de la capacidad de un enlace de 100 Mbit/s.
- Ventana predeterminada (sin escalado): El campo de ventana TCP original de 16 bits alcanza un máximo de 65.535 bytes (64 KB). En redes de área local de baja latencia, esto suele ser suficiente.
- Escalado de ventana (RFC 1323 / RFC 7323): Cualquier ruta cuyo BDP supere 64 KB requiere la opción de escala de ventana TCP, que multiplica la ventana anunciada por una potencia de dos hasta aproximadamente 1 GB. Esto debe estar habilitado (y no ser eliminado por intermediarios) en ambos extremos.
- Ventana insuficiente: El rendimiento se limita a ventana ÷ RTT; duplicar la latencia reduce a la mitad la velocidad alcanzable para una ventana fija. Por eso las "redes largas y grasas" (BDP alto) se sienten lentas incluso en enlaces rápidos.
- Ventana sobredimensionada: Establecer una ventana mucho más grande que el BDP desperdicia memoria y puede aumentar el almacenamiento en búfer/latencia, pero no mejora el rendimiento en estado estacionario.
Como regla práctica, establezca el búfer TCP máximo al menos en el BDP (a menudo se usa 2 veces el BDP para absorber el tiempo de ACK y las retransmisiones). Los sistemas operativos modernos ajustan automáticamente la ventana hacia el BDP, por lo que lo principal a verificar es que el escalado de ventana esté permitido de extremo a extremo.
Valores típicos de referencia de RTT y ancho de banda
Utilice estos rangos típicos como entradas cuando no tenga un RTT medido. El RTT real depende de la distancia física, el enrutamiento, la puesta en cola y el medio; los enlaces satelitales están dominados por el retraso de propagación a la órbita geoestacionaria y de regreso.
| Ruta de red | RTT típico | Notas |
|---|---|---|
| Misma LAN / centro de datos | < 1 ms | Ethernet conmutada, subred local |
| Mismo área metropolitana / ISP | 1–10 ms | Emparejamiento local, servidores regionales |
| Mismo país | 10–40 ms | Fibra terrestre entre regiones |
| Transcontinental / intercontinental | 80–150 ms | p. ej. EE.UU.–Europa, EE.UU.–Asia |
| Satélite geoestacionario | 500–700 ms | ~36.000 km hacia arriba y hacia atrás por salto |
Anchos de banda de acceso comunes según tipo de conexión (descendente, nominal):
| Tipo de conexión | Ancho de banda típico |
|---|---|
| ADSL | 5–24 Mbit/s |
| VDSL / wireless fijo | 25–100 Mbit/s |
| Cable (DOCSIS) | 100–1000 Mbit/s |
| Fibra hasta el hogar (FTTH) | 100 Mbit/s – 10 Gbit/s |
| 4G LTE | 10–100 Mbit/s |
| 5G | 100 Mbit/s – 1 Gbit/s+ |
| Gigabit Ethernet (LAN) | 1 Gbit/s |
| 10 Gigabit Ethernet | 10 Gbit/s |
Para convertir una velocidad de plan citada entre unidades antes de calcular el BDP, una conversión de Gbps a Mbps o Kbps a Mbps puede ayudar; recuerde que la fórmula de BDP espera bits brutos por segundo.
Preguntas frecuentes
¿Por qué influye la latencia en el rendimiento? Porque un emisor solo puede tener una ventana de datos sin confirmar pendiente a la vez. Si la ventana es menor que el BDP, el emisor se detiene a esperar los ACK y deja sin usar parte del ancho de banda.
¿Debo usar bytes o bits? El ancho de banda suele expresarse en bits, pero los tamaños de búfer y de ventana se configuran en bytes, así que el resultado en bytes es el más práctico para los ajustes.
¿Qué RTT debo usar? Utiliza el tiempo de ida y vuelta entre los dos extremos, que normalmente se mide con ping o se estima a partir de la distancia geográfica.