LibreQoS 2.0:QoS 与对抗缓冲膨胀的开源平台
LibreQoS 2.0 是一个用于在网络中实现服务质量 (QoS) 的开源平台。它在用户之间分配带宽,最大限度减少中间数据包缓冲带来的缓冲膨胀效应。C、Rust、JavaScript 和 Python 代码在 GitHub 上以 GNU GPL v2.0 许可证开源。该平台部署在提供商边缘路由器与本地网络核心路由器之间的服务器上。
该系统为互联网服务提供商 (ISP) 和私有网络管理员优化流量,保持低延迟并优先处理数据流。即使在海量种子下载或多路 4K 视频下载的高峰负载下,也能支持交互式应用、游戏、网络电话 (VoIP)、视频通话和在线学习。
技术基础
LibreQoS 使用 CAKE(常用应用保持增强)进行队列管理,以及 fq_codel(公平队列控制延迟)进行数据包调度。eBPF 和 XDP 在网络驱动程序层面处理数据,直接访问 DMA 缓冲区。
CAKE 简化了队列层次结构,在慢速链路和低端硬件上最大化吞吐量并最小化延迟。它限制每用户峰值速度,但确保资源公平分配和稳定的 RTT(往返时延)。
RTT 监控与用户、接入点和站点关联。Web 界面可视化流量、负载、延迟和活跃用户。它支持分层整形方案,并与 UISP 和 Splynx 集成。
2.0 版本新特性
2.0 版本聚焦诊断、可视化和集成。主要改进包括:
- 增强 Web 界面:新增报告和图表,便于故障排除。
- 树状视图:显示分层网络拓扑及节点详情。
- 诊断工具:队列分析、流量分解、桑基图、TCP 重传和 RTT 监控。
- 新可视化:流量地图和 ASN(自治系统)分析。
- 与 CRM/NMS 系统集成:UISP、Splynx、Netzur、VISP、WISPGate、Powercode、Sonar。
- 改进整形:TreeGuard 和 StormGuard 用于过载保护。
- 调度器监控,关键事件告警。
这些变更简化了中大型生产网络的部署。
实际应用
在 ISP 网络中,LibreQoS 消除同时下载时的网络电话抖动。对于企业网络,它优先处理远程访问和视频会议流量。管理员可按拓扑设置整形策略,并与现有 NMS 集成。
示例:在 1 Gbps 上联有 100+ 用户的网络中,CAKE + fq_codel 将负载下 RTT 从 100+ ms 降至 <20 ms,保持游戏和 VoIP 响应。
关键要点
- LibreQoS 2.0 通过 Web 界面、树状视图、桑基图和 ASN 分析提升诊断能力。
- 与 UISP、Splynx 等 CRM/NMS 集成,简化客户和拓扑管理。
- CAKE 和 fq_codel 结合 eBPF/XDP,实现低延迟且不牺牲吞吐量。
- TreeGuard 和 StormGuard 防止队列过载。
- 重传和 RTT 监控实时发现瓶颈。
— Editorial Team
暂无评论。