mirror of
https://github.com/LibreQoE/LibreQoS.git
synced 2026-10-25 14:20:05 -05:00
changes
This commit is contained in:
1 parent
1bbe06f7dc
commit
8c5d4b4095
12 files changed
+126
-119
No files matched your search
+1
-2
@@ -47,7 +47,6 @@ Bienvenido a la documentación de LibreQoS
|
||||
:caption: Misceláneo
|
||||
|
||||
v2.0/libreqos-backend-architecture-es
|
||||
v2.0/htb_fq_codel_cake-es
|
||||
v2.0/cake-es
|
||||
HTB + fq-codel / CAKE <v2.0/htb_fq_codel_cake-es>
|
||||
v2.0/performance-tuning-es
|
||||
v2.0/extras-es
|
||||
@@ -1,54 +0,0 @@
|
||||
# CAKE
|
||||
|
||||
Por defecto, LibreQoS utiliza CAKE (Common Applications Kept Enhanced) con el parámetro diffserv4.
|
||||
|
||||
## DSCP
|
||||
|
||||
[https://www.iana.org/assignments/dscp-registry/dscp-registry.xhtml](https://www.iana.org/assignments/dscp-registry/dscp-registry.xhtml)
|
||||
|
||||
### Clases de tráfico y etiquetas DSCP para Diffserv4
|
||||
|
||||
* Tráfico Sensible a la Latencia (CS7, CS6, EF, VA, CS5, CS4)
|
||||
* Medios de Streaming (AF4x, AF3x, CS3, AF2x, TOS4, CS2, TOS1)
|
||||
* Mejor Esfuerzo (CS0, AF1x, TOS2, y los no especificados)
|
||||
* Tráfico en Segundo Plano (CS1)
|
||||
|
||||
### Lista de puntos de código Diffserv conocidos:
|
||||
|
||||
* Esfuerzo Mínimo (CS1)
|
||||
* Mejor Esfuerzo (CS0)
|
||||
* Máxima Confiabilidad y LLT “Lo” (TOS1)
|
||||
* Máximo Rendimiento (TOS2)
|
||||
* Mínima Demora (TOS4)
|
||||
* LLT "La" (TOS5)
|
||||
* Reenvío Asegurado 1 (AF1x) - x3
|
||||
* Reenvío Asegurado 2 (AF2x) - x3
|
||||
* Reenvío Asegurado 3 (AF3x) - x3
|
||||
* Reenvío Asegurado 4 (AF4x) - x3
|
||||
* Clase de Precedencia 2 (CS2)
|
||||
* Clase de Precedencia 3 (CS3)
|
||||
* Clase de Precedencia 4 (CS4)
|
||||
* Clase de Precedencia 5 (CS5)
|
||||
* Clase de Precedencia 6 (CS6)
|
||||
* Clase de Precedencia 7 (CS7)
|
||||
* Admisión de Voz (VA)
|
||||
* Reenvío Expedido (EF)
|
||||
|
||||
### Lista de clases de tráfico según el RFC 4594:
|
||||
|
||||
(ordenadas aproximadamente de mayor a menor prioridad en caso de congestión)
|
||||
|
||||
(ordenadas aproximadamente de menor a mayor rendimiento en ausencia de congestión)
|
||||
|
||||
* Control de Red (CS6,CS7) - tráfico de enrutamiento
|
||||
* Telefonía (EF,VA) - también conocido como VoIP
|
||||
* Señalización (CS5) - configuración de llamadas VoIP
|
||||
* Conferencias Multimedia (AF4x) - por ejemplo, videollamadas
|
||||
* Interactividad en Tiempo Real (CS4) - por ejemplo, videojuegos
|
||||
* Streaming Multimedia (AF3x) - por ejemplo, YouTube, Netflix, Twitch
|
||||
* Difusión de Video (CS3)
|
||||
* Datos de Baja Latencia (AF2x,TOS4) - por ejemplo, base de datos
|
||||
* Operación, Administración y Gestión (CS2,TOS1) - por ejemplo, SSH
|
||||
* Servicio Estándar (CS0 & puntos de código no reconocidos)
|
||||
* Datos de Alto Rendimiento (AF1x,TOS2) - por ejemplo, navegación web
|
||||
* Datos de Baja Prioridad (CS1) - por ejemplo, BitTorrent
|
||||
@@ -401,7 +401,6 @@ Notas de traducción moderna:
|
||||
## 11) Referencias
|
||||
|
||||
- [Arquitectura Backend de LibreQoS](libreqos-backend-architecture-es.md)
|
||||
- [CAKE (referencia rápida DSCP)](cake-es.md)
|
||||
- [TreeGuard (Función Próxima de v2.0)](treeguard-es.md)
|
||||
- [tc-htb man page (man7)](https://man7.org/linux/man-pages/man8/tc-htb.8.html)
|
||||
- [tc-fq_codel man page (man7)](https://man7.org/linux/man-pages/man8/tc-fq_codel.8.html)
|
||||
|
||||
@@ -353,7 +353,6 @@ Orden recomendado:
|
||||
## Lectura Relacionada
|
||||
|
||||
- [HTB + fq_codel + CAKE: Comportamiento Detallado de Colas](htb_fq_codel_cake-es.md)
|
||||
- [CAKE](cake-es.md)
|
||||
- [Ajuste de Rendimiento](performance-tuning-es.md)
|
||||
- [Planificación de Escala y Diseño de Topología](scale-topology-es.md)
|
||||
- [Recetas de Despliegue](recipes-es.md)
|
||||
|
||||
@@ -46,5 +46,5 @@ HTL-ROOM-1204,Room1204-Device,HTL-ROOM-1204,Room1204-DeviceA,Floor12,,100.70.12.
|
||||
|
||||
- [Requisitos del Sistema](requirements-es.md)
|
||||
- [Planeacion de Escala y Topologia](scale-topology-es.md)
|
||||
- [CAKE](cake-es.md)
|
||||
- [HTB + fq-codel / CAKE](htb_fq_codel_cake-es.md)
|
||||
- [Troubleshooting](troubleshooting-es.md)
|
||||
@@ -1,54 +0,0 @@
|
||||
# CAKE
|
||||
|
||||
By default, LibreQoS uses Common Applications Kept Enhanced (CAKE) using the diffserv4 parameter.
|
||||
|
||||
## DSCP
|
||||
|
||||
[https://www.iana.org/assignments/dscp-registry/dscp-registry.xhtml](https://www.iana.org/assignments/dscp-registry/dscp-registry.xhtml)
|
||||
|
||||
### Traffic Classes and DSCP Tags for Diffserv4
|
||||
|
||||
* Latency Sensitive (CS7, CS6, EF, VA, CS5, CS4)
|
||||
* Streaming Media (AF4x, AF3x, CS3, AF2x, TOS4, CS2, TOS1)
|
||||
* Best Effort (CS0, AF1x, TOS2, and those not specified)
|
||||
* Background Traffic (CS1)
|
||||
|
||||
### List of known Diffserv codepoints:
|
||||
|
||||
* Least Effort (CS1)
|
||||
* Best Effort (CS0)
|
||||
* Max Reliability & LLT "Lo" (TOS1)
|
||||
* Max Throughput (TOS2)
|
||||
* Min Delay (TOS4)
|
||||
* LLT "La" (TOS5)
|
||||
* Assured Forwarding 1 (AF1x) - x3
|
||||
* Assured Forwarding 2 (AF2x) - x3
|
||||
* Assured Forwarding 3 (AF3x) - x3
|
||||
* Assured Forwarding 4 (AF4x) - x3
|
||||
* Precedence Class 2 (CS2)
|
||||
* Precedence Class 3 (CS3)
|
||||
* Precedence Class 4 (CS4)
|
||||
* Precedence Class 5 (CS5)
|
||||
* Precedence Class 6 (CS6)
|
||||
* Precedence Class 7 (CS7)
|
||||
* Voice Admit (VA)
|
||||
* Expedited Forwarding (EF)
|
||||
|
||||
### List of traffic classes in RFC 4594:
|
||||
|
||||
(roughly descending order of contended priority)
|
||||
|
||||
(roughly ascending order of uncontended throughput)
|
||||
|
||||
* Network Control (CS6,CS7) - routing traffic
|
||||
* Telephony (EF,VA) - aka. VoIP streams
|
||||
* Signalling (CS5) - VoIP setup
|
||||
* Multimedia Conferencing (AF4x) - aka. video calls
|
||||
* Realtime Interactive (CS4) - eg. games
|
||||
* Multimedia Streaming (AF3x) - eg. YouTube, NetFlix, Twitch
|
||||
* Broadcast Video (CS3)
|
||||
* Low Latency Data (AF2x,TOS4) - eg. database
|
||||
* Ops, Admin, Management (CS2,TOS1) - eg. ssh
|
||||
* Standard Service (CS0 & unrecognised codepoints)
|
||||
* High Throughput Data (AF1x,TOS2) - eg. web traffic
|
||||
* Low Priority Data (CS1) - eg. BitTorrent
|
||||
@@ -401,7 +401,6 @@ Modern translation notes:
|
||||
## 11) References
|
||||
|
||||
- [LibreQoS Backend Architecture](libreqos-backend-architecture.md)
|
||||
- [CAKE (DSCP quick reference)](cake.md)
|
||||
- [tc-htb man page (man7)](https://man7.org/linux/man-pages/man8/tc-htb.8.html)
|
||||
- [tc-fq_codel man page (man7)](https://man7.org/linux/man-pages/man8/tc-fq_codel.8.html)
|
||||
- [tc-cake man page (man7)](https://man7.org/linux/man-pages/man8/tc-cake.8.html)
|
||||
|
||||
@@ -361,7 +361,7 @@ Recommended order:
|
||||
## Related Reading
|
||||
|
||||
- [HTB + fq_codel + CAKE: Detailed Queueing Behavior](htb_fq_codel_cake.md)
|
||||
- [CAKE (DSCP quick reference)](cake.md)
|
||||
- [HTB + fq-codel / CAKE](htb_fq_codel_cake.md)
|
||||
- [Performance Tuning](performance-tuning.md)
|
||||
- [Scale Planning and Topology Design](scale-topology.md)
|
||||
- [Best Practices Guide for ISP Operations](best-practices.md)
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
# Recipe: Education / University Per-IP Shaping for Stable Real-Time Calls
|
||||
|
||||
Use this pattern when a school, college, or university wants to reduce Zoom/Teams/WebRTC freezing and lag during busy windows by shaping per IP.
|
||||
|
||||
## Fit
|
||||
|
||||
- Best for: campuses where endpoint fairness matters and client IP inventory can be refreshed on a schedule.
|
||||
- Avoid when: the institution cannot maintain reliable IP-to-parent mapping updates.
|
||||
|
||||
## Why Per-IP in Education Networks
|
||||
|
||||
Per-IP shaping is usually the right default in education environments because:
|
||||
|
||||
1. student and staff traffic is highly mixed and bursty
|
||||
2. real-time conferencing and bulk traffic often compete on the same uplinks
|
||||
3. per-IP circuits reduce flow domination and improve fairness during peak contention
|
||||
|
||||
## LibreQoS Behavior Assumptions
|
||||
|
||||
This recipe assumes current LibreQoS behavior:
|
||||
|
||||
1. shaped circuits typically use `HTB` + `cake diffserv4`
|
||||
2. undefined traffic is pass-through (not moved into an HTB default queue)
|
||||
3. per-IP coverage quality directly affects how much traffic receives shaping
|
||||
|
||||
## Per-IP `ShapedDevices.csv` Design Patterns
|
||||
|
||||
Treat `ShapedDevices.csv` as generated data from your local automation, not a hand-maintained spreadsheet.
|
||||
|
||||
Recommended patterns:
|
||||
|
||||
1. one circuit per managed client IP
|
||||
2. stable `Circuit ID` format so updates are deterministic (for example `<site>-<vlan>-<ip>`)
|
||||
3. stable `Parent Node` mapping to operational bottleneck domains (for example building/floor/AP group)
|
||||
4. explicit stale-entry policy for DHCP churn (remove IPs no longer present)
|
||||
5. duplicate-IP and conflicting-parent checks before publishing updates
|
||||
6. deterministic output ordering so diffs are clean and reviewable
|
||||
|
||||
Example row:
|
||||
|
||||
```text
|
||||
Circuit ID,Circuit Name,Device ID,Device Name,Parent Node,MAC,IPv4,IPv6,Download Min Mbps,Upload Min Mbps,Download Max Mbps,Upload Max Mbps,Comment,sqm
|
||||
UNI-BLDG-A-10.40.12.77,BLDG-A-10.40.12.77,UNI-BLDG-A-10.40.12.77,Host-10.40.12.77,BLDG-A,,10.40.12.77,,1,1,150,60,Education per-IP circuit,cake
|
||||
```
|
||||
|
||||
## Script-Your-Own Sync Workflow (Meraki/UniFi/Custom)
|
||||
|
||||
Most education institutions should script this themselves because each network is unique.
|
||||
|
||||
Suggested workflow:
|
||||
|
||||
1. Collect source data from your systems (for example Meraki Dashboard API, UniFi Network API, DHCP/IPAM exports).
|
||||
2. Normalize into a single intermediate model:
|
||||
- client IP
|
||||
- parent/bottleneck domain
|
||||
- optional role metadata (staff lab, student dorm, classroom, voice endpoint)
|
||||
3. Generate deterministic `ShapedDevices.csv` output.
|
||||
4. Run pre-publish checks:
|
||||
- duplicate IP detection
|
||||
- empty/missing parent checks
|
||||
- unexpected add/remove volume thresholds
|
||||
5. Compare generated output to current production file and review the diff.
|
||||
6. Publish updates on a fixed cadence with logging (for example every 5-15 minutes, based on DHCP churn and operational tolerance).
|
||||
7. Keep last-known-good file for rapid rollback.
|
||||
|
||||
Operational guidance:
|
||||
|
||||
- Start simple. Reliable coverage beats over-complex enrichment.
|
||||
- Prefer predictable, reversible sync jobs over ad-hoc manual edits.
|
||||
- Alert on sync failures so gaps do not silently create pass-through traffic.
|
||||
|
||||
## DSCP and `diffserv4` Guidance for Conferencing
|
||||
|
||||
With `cake diffserv4`:
|
||||
|
||||
1. preserve trusted DSCP markings where your policy allows
|
||||
2. if you remark traffic, keep rules narrow and intentional
|
||||
3. avoid broad over-prioritization that starves normal campus traffic
|
||||
4. remember unmarked traffic still works, but priority behavior depends on effective codepoints
|
||||
|
||||
See [HTB + fq-codel / CAKE](htb_fq_codel_cake.md) for full queueing details.
|
||||
|
||||
## Rollout Playbook
|
||||
|
||||
1. Select one pilot domain (for example one building or dorm).
|
||||
2. Enable per-IP generated circuits for that domain only.
|
||||
3. Observe busy-hour behavior and support-ticket trends.
|
||||
4. Expand in phases to additional domains.
|
||||
5. Keep phased rollback boundaries so you can revert one domain at a time if needed.
|
||||
|
||||
## Validation Checklist (UI-Only)
|
||||
|
||||
Validate in LibreQoS UI (no Linux `tc` CLI required):
|
||||
|
||||
1. No new errors or urgent health warnings after sync/apply.
|
||||
2. Expected circuit counts appear for the pilot scope.
|
||||
3. Dashboard views reflect the intended shaped domains.
|
||||
4. Call-quality complaint rate trends down during peak windows.
|
||||
5. No large unexplained growth in undefined/pass-through traffic indicators.
|
||||
|
||||
## Troubleshooting Matrix (UI-First)
|
||||
|
||||
| Symptom | Common cause | Check in UI | Corrective action |
|
||||
|---|---|---|---|
|
||||
| Zoom/Teams freezing at peak | Coverage gaps from missing IPs, so traffic bypasses shaping | Errors/warnings, circuit counts, affected-domain dashboards | Fix sync coverage, republish `ShapedDevices.csv`, validate counts |
|
||||
| Audio robotic/choppy while throughput seems fine | Mixed-flow contention and priority mismatch | Domain/circuit behavior in peak windows | Refine DSCP policy and verify `cake diffserv4` assumptions |
|
||||
| One dorm/building degrades others | Parent grouping does not match real contention domains | Parent-node distribution and impacted-domain views | Adjust parent mapping model in sync logic |
|
||||
| Quality regresses after DHCP churn events | stale or duplicated entries in generated data | sudden count shifts after sync cycles | tighten stale cleanup and duplicate checks |
|
||||
| Intermittent improvements only | sync cadence too slow for address churn | timing correlation between sync and incidents | increase sync cadence and add failure alerts |
|
||||
|
||||
## Related Pages
|
||||
|
||||
- [Deployment Recipes](recipes.md)
|
||||
- [Advanced Configuration Reference](configuration-advanced.md)
|
||||
- [HTB + fq-codel / CAKE](htb_fq_codel_cake.md)
|
||||
- [Scale Planning and Topology Design](scale-topology.md)
|
||||
- [Troubleshooting](troubleshooting.md)
|
||||
@@ -46,5 +46,5 @@ HTL-ROOM-1204,Room1204-Device,HTL-ROOM-1204,Room1204-DeviceA,Floor12,,100.70.12.
|
||||
|
||||
- [System Requirements](requirements.md)
|
||||
- [Scale Planning and Topology Design](scale-topology.md)
|
||||
- [CAKE](cake.md)
|
||||
- [HTB + fq-codel / CAKE](htb_fq_codel_cake.md)
|
||||
- [Troubleshooting](troubleshooting.md)
|
||||
@@ -16,8 +16,9 @@ Use recipes after you have completed base install and health validation in [Quic
|
||||
2. [Maritime variable WAN with StormGuard](recipes-maritime-stormguard.md)
|
||||
3. [Event WiFi with subnet-group shaping](recipes-event-wifi.md)
|
||||
4. [Hotel and hospitality per-device shaping](recipes-hospitality.md)
|
||||
5. [Switch-centric fabric with maintenance bypass (plus SD-WAN variant)](recipes-switch-fabric-sdwan.md)
|
||||
6. [Proxmox VM deployment with 3 NICs](recipes-proxmox-vm.md)
|
||||
5. [Education / university per-IP shaping for real-time calls](recipes-education.md)
|
||||
6. [Switch-centric fabric with maintenance bypass (plus SD-WAN variant)](recipes-switch-fabric-sdwan.md)
|
||||
7. [Proxmox VM deployment with 3 NICs](recipes-proxmox-vm.md)
|
||||
|
||||
```{toctree}
|
||||
:hidden:
|
||||
@@ -26,6 +27,7 @@ recipes-wisp-fisp-integration
|
||||
recipes-maritime-stormguard
|
||||
recipes-event-wifi
|
||||
recipes-hospitality
|
||||
recipes-education
|
||||
recipes-switch-fabric-sdwan
|
||||
recipes-proxmox-vm
|
||||
```
|
||||
|
||||
Reference in new issue
Block a user