LibreQoS, una plataforma para la distribución del ancho de banda
LibreQoS es una plataforma de calidad de experiencia (QoE) de código abierto que tiene como objetivo de gestionar de manera equitativa la distribución del ancho de banda disponible y mitigar los impactos adversos del fenómeno bufferbloat.
Esta plataforma está destinada a mejorar las conexiones a internet de los clientes de proveedores de servicios de Internet (ISP). LibreQoS utiliza avanzados algoritmos de Flow Queuing (FQ) y Active Queue Management (AQM) para manejar la latencia y el almacenamiento en búfer en la infraestructura existente.
Además, realiza un seguimiento constante del rendimiento mediante la medición del tiempo de ida y vuelta de TCP de extremo a extremo para cada suscriptor, punto de acceso y sitio en una red. LibreQoS garantiza una asignación justa del ancho de banda, prioriza las aplicaciones críticas en tiempo real y promueve la calidad, la equidad y el acceso de la conexión.
Sobre LibreQoS
LibreQoS se ejecuta en un servidor que actúa como un puente administrado entre el enrutador perimetral de un ISP y el núcleo de la red. Los servidores que implementan LibreQoS tienen la capacidad de dar forma al tráfico de miles de clientes.
La plataforma puede ser utilizada por ISP o administradores de redes privadas para optimizar los flujos de tráfico, mantener la latencia al mínimo y asignar ancho de banda según las prioridades. El código del proyecto está escrito en C, Python y Rust, y se distribuye bajo la licencia GPLv2. El proyecto se está desarrollando bajo el liderazgo de Dave Taht , cofundador del proyecto Bufferbloat , creador de la distribución CeroWrt y autor de numerosos RFC relacionados con el procesamiento de colas de red.
Una de las características más importantes de LibreQoS, es que tiene la capacidad de reducir la latencia y mejorar la confiabilidad en sesiones interactivas, juegos, plataformas de aprendizaje en línea, tráfico VoIP y videollamadas, incluso en condiciones de gran carga de red, ademas de que resuelve problemas como las interrupciones en videollamadas cuando otros usuarios en la misma red inician descargas de videos 4K.
Aunque implica una reducción en el rendimiento máximo disponible para un usuario, permite reducir significativamente los retrasos y distribuir justamente los recursos entre todos los participantes en el intercambio de datos.
¿Que hay de nuevo en LibreQoS 1.4?
En la nueva versión de LibreQoS 1.4 se destacan las mejoras de rendimiento, las cuales en pruebas de flujo han logrado poco menos de 10 gbit/s en un equipo con Xeon Gold de 16 núcleos. El flujo se moldeó con Cake y mantuvo un buen rendimiento (latencia RTT <10 ms). Se menciona que se probó un rendimiento total de 25 gbit/s en el mismo sistema.
Además de ello, se ha reemplazo el sistema puente Linux con un acelerador de puente basado en XDP, con el cual el rendimiento es un 30% mayor en este modo.
Por la parte de las gráficas, se menciona que ahora se muestra el rendimiento actual, con forma y sin forma, asi como también el rendimiento de la CPU y la RAM y que los gráficos pueden mostrarse en diferentes tipos.
El histograma de «tiempo de ida y vuelta» de TCP ahora muestra el rendimiento general de latencia de la red, asi como también la latencia RTT por nodo de red, para permitir concentrarse en los puntos problemáticos.
Por otra parte, se destaca el back-end completamente nuevo escrito en Rust. El backend incluye
- lqosd- un demonio que gestiona:
- Carga/configuración/descarga de programas eBPF.
- Recopila estadísticas directamente de eBPF.
- Proporciona un «bus» local para transportar datos entre componentes.
- Establece «tunables», reemplazando la necesidad de un servicio de descarga independiente.
- lqtop- una utilidad basada en consola para ver la actividad actual.
- lqos_node_manager- una GUI basada en web que:
- Supervisa la actividad actual.
- Supervisa el estado del sistema.
- Proporciona resúmenes «mejores/peores» de RTT.
- Proporciona visibilidad sobre el funcionamiento de las colas.
- Categoriza el tráfico para que coincida con la jerarquía de su red, lo que le permite encontrar
- rápidamente los cuellos de botella.
- Le permite navegar y buscar sus dispositivos con forma.
- Enumera «direcciones IP desconocidas» que pasan por el modelador pero que no tienen una regla
- asociada.
- Le permite ver y editar la configuración de LibreQoS.
- lqos_python- proporciona acceso Python al sistema de bus.
- lqos_setup- crea suficientes archivos de configuración para comenzar.
- lqos_users- autenticación para las GUI.
- Script Python de alto rendimiento:
- Lotes de comandos TC para una ejecución rápida.
- Lotes de transacciones de bus para asociar subredes IP con usuarios para una ejecución rápida.
- Programador mejorado para gráficos InfluxDB.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.