This commit is contained in:
rchac committed 2026-03-03 01:10:17 +00:00
1 parent 1bbe06f7dc
commit 8c5d4b4095
12 files changed
+126 -119

No files matched your search

+1 -2
View File
@@ -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
-54
View File
@@ -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
-1
View File
@@ -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)
+1 -1
View File
@@ -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)
-54
View File
@@ -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
-1
View File
@@ -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)
+1 -1
View File
@@ -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)
+117
View File
@@ -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)
+1 -1
View File
@@ -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)
+4 -2
View File
@@ -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
```
+1 -1
View File
@@ -51,6 +51,6 @@ Welcome to the LibreQoS documentation
:caption: Misc:
docs/v2.0/libreqos-backend-architecture
docs/v2.0/cake
HTB + fq-codel / CAKE <docs/v2.0/htb_fq_codel_cake>
docs/v2.0/performance-tuning
docs/v2.0/extras