Latencia vs Ancho de Banda vs Throughput

Junio 7, 2021 2:27 pm Publicado por Deja tus comentarios

¿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.

¿Cómo monitorear la latencia?

La forma más simple es con el comando ping. Sin embargo, para tener datos en el tiempo es útil usar una herramienta como smokeping que realiza en forma regular mediciones y gráfica la latencia, tanto a nivel de ICMP, como a nivel de servicios individuales.

Las dos formas más comunes de medir latencia son:

  1. RTT (Round-trip Time)
  2. TTFB (Time to first byte)

También es importante considerar otras métricas que están relacionada con la latencia como es el jitter, que nos indica la variabilidad de la latencia, una conexión estable debería tener un jitter mínimo.

¿Cómo monitorear el Throughput?

Lo primero es entender que nos debemos preguntar el throughput a donde, ya que no será lo mismo (asumiendo que tienes una conexión de alta velocidad) a un host local que a un host a miles de kilometros de distancia. Para medir Throughput en velocidades de hasta 1 Gbps usualmente la herramienta de speedtest.net es bastante buena, eso si es importante asegurarse que tu PC no sea el cuello de botella. Para mediciones más altas, o más precisas, prefiero usar herramientas más versátiles y configurables como por ejemplo iperf.

Conclusión

La latencia y el throughput son cruciales para asegurar una buena velocidad de Internet por lo que dos conexiones con el mismo ancho de banda NO necesariamente rendirán de la misma manera.

Es por eso que en Perú IX estamos comprometidos a reducir la latencia y aumentar el throughput para que así los ISPs puedan ofrecer mayor velocidad de conexión a los hogares y empresas del Perú.

https://www.oreilly.com/library/view/web-performance-tuning/059600172X/ch04s02.html
https://www.dnsstuff.com/latency-throughput-bandwidth
https://stackoverflow.com/questions/58082389/what-is-the-difference-between-latency-and-response-time
https://www.psychz.net/client/kb/en/what-is-the-difference-between-latency-bandwidth-and-throughput.html
« | »