LibreQoS, una plataforma para la distribución del ancho de banda

LibreQoS

Banner de LibreQoS

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.