Latencia vs Ancho de Banda vs Throughput
¿Cuán rápida es tu conexión a Internet?
Esta es una pregunta que a primera vista tendría una única respuesta sin embargo, dependiendo de a quién le preguntes será la respuesta que obtendrás. Si le preguntas al usuario final te dirá que la velocidad de su Internet son “los Megas que le llegan”, si le preguntas a alguien más técnico te podrá decir que es el ancho de banda, el throughput o la latencia. Al preguntarle a alguien aún más técnico probablemente nos pregunte ¿RTT o one-way? Para mi la respuesta a esta pregunta es que la velocidad es una combinación entre el throughput y la latencia. A mayor throughput y menor latencia una conexión puede ser considerada más rápida que otra. Para explicar los 3 conceptos que están involucrados usaré la analogía de una cañería de agua potable.
Antes de explicar el por qué es importante ver a qué hace referencia cada uno de estos términos:
Ancho de Banda (Bandwidth): Es la capacidad máxima de datos de una conexión, la cual se mide usualmente en Mbps (Megabits por segundo) o Gbps (Gigabits por segundo). Esto es similar al diámetro que tiene la cañería de agua.
Latencia (Latency): Es el tiempo que demora un paquete de datos en viajar desde su origen hasta (one-way); o desde su origen a su destino, y luego la confirmación de regreso al origen (RTT). La forma más habitual de medir la latencia de una conexión es indicar su RTT. En la analogía de la cañería de agua, esto sería cuán rápido llega el agua a su destino desde que ingresa a la cañería.
Throughput: Es la cantidad de datos enviada y recibida en una unidad de tiempo. Se suele medir en Mbps o Gbps. Esto suena muy similar al ancho de banda pero en el caso del throughput se refiere a lo que efectivamente se mueve, no la capacidad máxima. En nuestra analogía serían los Litros por segundo de agua que pasan por una cañería.
La rapidez de carga de un sitio web no está sólo definida por los Mbps, la latencia importa mucho
Cuán rápido carga una página o servicio Web dependerá no sólo del tamaño que tengan todos los archivos de la página Web, también del número de archivos, si están todos los elementos en el mismo servidor y si hay múltiples dominios involucrados y la latencia a estos. Por lo tanto, con una probabilidad muy alta no será lo mismo descargar un único archivo que pese 100 MB que bajar cien archivos cada uno de 1 MB que para más colmo se encuentran en servidores diferentes y/o usan dominios diferentes. En el primer caso importará más el ancho de banda de tu conexión y más específicamente el Throughput. Por otro lado, para el segundo caso probablemente la latencia jugará un rol más relevante ya que no demora lo mismo bajar un archivo con 1 ms de latencia que otro con 100 ms de latencia. Esto es especialmente relevante cuando hablamos de anchos de banda muy grandes.
Es importante comprender que la magnitud de datos que pueden ser transmitidos en una conversación decrecerá a medida que la latencia sea mayor. Esto es porque le toma más tiempo a los datos ser transmitidos dentro de una conversación, ya que a los paquetes les toma más tiempo llegar a su destino.
¿Pero qué causa la latencia?
Las principales causas de la latencia son la distancia física entre los dispositivos de red, saturación de un enlace y el número de equipos que atraviesan los paquetes entre el origen y el destino. Entre más routers en el camino mayor será la latencia o la probabilidad de esta, ya que se incrementa el tiempo de procesamiento de los paquetes. Sin embargo, en la mayoría de los casos la distancia física es la principal fuente de latencia, y aunque el haz de luz dentro de un cable de fibra óptica viaja a una velocidad “cercana” (70% de la velocidad en el vacío) a la velocidad de la luz, se debe sumar la latencia que se produce en los equipos de transmisión, por lo que aunque tengamos routers muy rápidos y pocos saltos, la latencia por ejemplo entre Lima y Miami no puede ser inferior a 60 ms. Al menos con la tecnología desplegada actualmente.
¿Son el Ancho de Banda y el Throughput lo mismo?
La respuesta corta es NO. El throughput será menor al ancho de banda por múltiples motivos incluyendo el overhead del protocolo (ej: overhead de TCP/IP) por la latencia (ya que cuando hablamos de altas velocidades la latencia determinará el throughput máximo por stream), además de factores como saturación o packet loss en algun enlace del camino.