Buenas dpbahamonde
Bien, creo que detallas perfectamente el problema, aunque hay que hacer algunas matizaciones importantes y explicar un pelín que es el bufferbloat, por qué ocurre, y como se puede solventar, si es que se puede.
Lo primero que habría que ver que es el bufferbloat. El Bufferbloat es algo así como un efecto embudo que produces. No tiene ningún tipo de relación con velocidad de la línea, sino al límite que lo vas llevando. Si tienes una conexión de 1Gbps, tu Router no va a poder escupir más rápido los datos, ya sea hacia Internet (en subida) o hacia tus dispositivos (en descarga).
Cuando descargas/subes cualquier contenido, este llega al Router y lo reenvía. Piensa en una autopista donde el límite de las carreteras es la de tu conexión, tus paquetes de datos son los coches, y el buffer es el carril de acceso a la autovía. Si envías 5 coches, el carril de aceleración es suficientemente grande como para dar cabida a todos ellos. Pero como bien sabes, si mandas demasiados coches, puedes llegar a llenar el carril de aceleración (buffer), los coches no tendrán suficientemente tiempo para abandonar el carril de aceleración e incorporarse a la autovía antes de que llegue otro!! Es decir, poco a poco llegas el carril, hasta un punto donde algunos coches se tendrán que parar, llegan más coches por detrás de lo que ellos pueden incorporarse!!
Dicho de otro modo, cuanto más saturas tu línea, más se incrementa el bufferbloat. ¿Y que es saturar tu línea? En esencia, dos factores: Tiempo sostenido de la descarga/subida, y % límite usado. Volviendo a la analogía, si la autovía es de 1Gbps y tú tratas de meterlos todos a 1Gbps, aunque solo sea el más mínimo retraso te vas a formar cola, pero una simple limitación por ejemplo de un 10% hace que casi con toda probabilidad des tiempo de sobra para que se puedan escupir más rápido de lo que le llegan, haciendo que el buffer no se llene. Cuanto menos límites ponga, cuanto más lleves al límite la conexión, más probabilidad hay que todo se venga abajo. Esto sucede lo mismo con el tiempo. El buffer precisamente se usa para evitar esto, para que si llegan muchos de golpe no pase absolutamente nada, porque hay una memoria intermedia que va almacenando los datos que no ha podido enviar todavía... pero esto no es infinito, y en cuanto se llena... atasco.
Dicho de otro modo, cuanto más sostenida sea la subida/descarga que haces, y cuanto más alto sea el % de uso que haces de tu conexión, mayor será el bufferbloat.
------------------------------------
Hay que tener en cuenta además algo. Generalmente el Router no lo tienes dedicado a un equipo, comparte la conexión con todos. Es decir, que no solo afecta el uso que un solo dispositivo haga, sino el que hagan en suma. Si llevas por ejemplo una conexión al límite descargando a unos 900Mbps, otros dispositivos de la red posiblemente estén también recibiendo una parte del pastel, haciendo que en suma siempre sea mayor.
Cuando descargas/subes y lo llevas a extremos, cualquier otra interacción se traduce con una alta latencia, porque hay una "cola" previa a procesar. Mucho más si además lo mezclas con contenido ascendente!! Y cuando lanzas un ping, es ascendente... mucho peor sería aun si en vez descargar estuvieses subiendo. ¿Y eso? Pues cuando transfieres cualquier cosa, la propia conexión va requiriendo digamos acuses de recibo. Es más, por lo general por cada paquete que te llega se requiere un acuse de recibo (ACK). Sí, estos ACK que manda tu equipo son de un tamaño mínimo en comparación con paquetes que te llegan, pero son paquetes que se tienen que enviar. Es decir, que si recibes a 1Gbps, tu equipo está enviando constantemente ACK a una velocidad similar... sí, no ocupan mucho ancho de banda porque son muy pequeños, pero son mogollón de ellos. Por eso en la subida se nota mucho más el bufferbloat.
Esto genera muchos problemas, porque si transcurrido un tiempo prudencial, el servidor remoto no recibe una confirmación tuya de paquete entregado, posiblemente vuelva a mandar el mismo... y te imaginas el problema.
Todo esto en esencia es lo que se traduce con latencia elevada.
--------------------------------------
Todo eso está muy bien... pero se puede solucionar? Por supuesto que sí.
Lo ideal obviamente es tener una conexión rápida, cuanto más rápida sea la conexión y el acceso, menos bufferbloat existirá... siempre y cuando volvemos a lo mismo no lo satures. Pero la solución generalmente no la encontramos ahí. Tienes dos soluciones sencillas:
1º. Limitar la subida/descarga para que no llegue al punto caliente. No existe un valor bueno, porque depende de la red de cada uno, aunque tu no lo creas hay mogollón de tráfico que circula constantemente por tu red siempre... a menos que desconectes todo menos un solo equipo... que obviamente no es aceptable. Limitar la subida/descarga a un % aceptable es la opción más rápida, matado el perro, acabada la rabia. Simplemente así dejamos "espacio" a que el buffer no se pueda llenar, que si en un momento dado aun en transferencia continuada de subida por ejemplo descargamos algo, el % sobrante en la subida que hemos dejado podrá adecuar por ejemplo los ACK necesarios para la descarga que hacemos otros datos. Lo bueno de esto es que realmente puedes aplicar estas restricciones al propio equipo. Si tienes un equipo que es el que generalmente descarga o sube sin control, puedes normalmente limitarlo
2º. Gestionarlo de un modo aun más inteligente -> QoS. Realmente la primera opción también suele estar dentro de mecanismos QoS. Lo que pasa es que la primera opción puede aplicarse no solo a nivel de Router, sino a nivel del propio equipo. QoS no es una funcionalidad concreta, QoS son una serie de mecanismos y tecnologías que precisamente lo que se encargan es de gestionar de forma adecuada los excesos de tráfico. La gente cree que por tener QoS la conexión va mejor... incorrecto. QoS brilla sólo cuando como digo la conexión se satura, mientras que la conexión tiene recursos de sobra QoS es totalmente transparente.
Cual es el problema de QoS? Bueno, como he dicho QoS no es un botón de sí o no, aunque algunos fabricantes quieran ponerlo así. Un buen sistema QoS no solo debería de permitir configurar el conformado de tráfico (traffic shaping, es decir, limitar subidas/descargas). Para configurar un sistema QoS correctamente necesitamos clasificación y marcado, colas diferenciadas, políticas... y para todo ello se requiere por lo general un conocimiento importante no solo de como funciona arquitecturas como Diffserv/DSCP, sino el tipo de tráfico que genera tu red!! Que tráfico es más o menos importante, cual debe de tener más prioridad sobre cual y cual debe de tratarse de forma inmediata... y esto se aplica no solo a juegos, descargas HTTP, streaming... sino también a tráfico de control. Y esto es el gran problema por el que la mayoría no opta por QoS, porque no existe una configuración ideal, cada usuario tendrá sus propias preferencias, tráfico, aplicaciones, equipos... no puedes hacer una guía general.
Una buena configuración QoS puede mejorar mucho una red cuando está saturando. Pero una mala configuración QoS puede hacer que la conexión vaya mucho peor incluso... incluso sin estar saturada.
Todos los HGU pueden configurar QoS, dependiendo del modelo pues te dará unas herramientas u otras. El problema como digo no radica tanto en ello, sino en como configurarlo de forma adecuada para tu propio escenario.
---------------------
Existe otro, generalmente desconocido, interviniente. Son los algoritmos de congestión TCP. Cada sistema tiene el suyo. Tu propio equipo usa el suyo, el Router usa el suyo, el servidor usa el suyo. No suele tener un impacto tan marcado en general, pero es bueno mirarlo, sobre todo en dispositivos de cierta edad. No podemos saber que hace el servidor remoto, pero si nuestro equipo o nuestro Router. Es cierto que esto es menos importante porque a lo largo de los años han ido mejorando y los sistemas operativos los han ido actualizando. Actualmente, por ejemplo, lo normal es CUBIC. Los HGU usan CUBIC, Windows 11 por defecto usará CUBIC, Linux desde hace tiempo usa CUBIC. En algunos escenarios extremos es cierto que pueden ser mejor otros.
Saludos.