Branch Office Simulation — runbook del operador¶
Otros idiomas: English · Português · Español
Estado del alcance (post-congelación de alcance 2026-05-10) — Ver ARCHITECTURE.md para los 37 MÓDULOs canónicos + 7 Test Kinds + arquitectura de safety DOM/CPOS/PIE-PA. ADRs 0014, 0019-0025 cubren adiciones post-Freeze.
Resumen¶
Branch Office Simulation (BO) permite ejecutar los test plans existentes Q1-Q4 bajo restricciones reales de ancho de banda WAN — 100 Mbps cable, 50/10 DSL, 1 Gbps fibra, lo que el cliente tenga. El shaper está en el router VyOS-ISP y aplica límites de tasa bidireccionales y asimétricos en el edge del operador simulado, exponiendo el comportamiento del NGFW bajo condiciones reales de ISP.
Para el diseño completo, ver ADR 0008.
Qué hace¶
Cuando BO está habilitado en un test plan, el test-run engine:
- Llama
scripts/bo-shape.sh --down-mbps N --up-mbps MANTES de los agentes - El script hace
kubectl execen el pod VyOS y aplica VyOS QoS: - Shaper de egress en
eth1limitando salida a--down-mbps - Shaper de ingress en
eth1(víaifb0) limitando entrada a--up-mbps - Ejecuta
scripts/bo-verify.shpara confirmar shaper aplicado Y medir capacidad real vs solicitada (baseline iperf3 de 5s) - Lanza los agentes (browser-engine/synthetic-load) — chocan con el techo del ancho de banda
- En el cleanup, llama
scripts/bo-unshape.shpara remover el shaping - Anexo J en el reporte certifica tasa solicitada vs medida + contadores
Cuándo usar¶
- Pre-venta: cliente dice "mis sucursales tienen 100 Mbps fibra, ¿el NGFW aguantará?"
- Capacity planning: probar que NGFW funciona a la velocidad real del enlace
- Regresión: detectar bugs de buffer/queueing que solo aparecen bajo presión de banda
- Rigor metodológico: cliente exige baseline RFC-2544/6349 bajo el ancho real
Input de ancho de banda¶
Free-form — sin presets fijos. Operador escribe el valor exacto del ISP.
| Escenario | Down | Up |
|---|---|---|
| DSL rural / home office | 25 Mbps | 5 Mbps |
| Cable SMB | 100 Mbps | 30 Mbps |
| MPLS mid-market | 200 Mbps | 200 Mbps |
| Fibra de sucursal | 500 Mbps | 500 Mbps |
| HQ regional dedicado | 1 Gbps | 1 Gbps |
| Datacenter peering | 10 Gbps | 10 Gbps |
Solo escribe lo que el cliente tiene — sin mapeo a preset.
Cómo usar desde el dashboard¶
- Elegir un cuadrante normalmente (Q1, Q2, Q3, Q4)
- En el nuevo selector Environment:
Environment: ○ Datacenter (sin shaping, default actual) ● Branch Office Simulation Down: [_____] [Mbps▾] Up: [_____] [Mbps▾] - Escribe los valores de down + up
- Click Run Test Plan
Dashboard valida (rango, tipo), pasa al engine, engine hace el resto.
CLI¶
scripts/bo-shape.sh --down-mbps 100 --up-mbps 30
scripts/bo-verify.sh
# Salida:
# Layer J — Branch Office Simulation: PASS
# Configurado: down=100Mbps up=30Mbps
# Medido : down=98.7Mbps up=29.4Mbps (delta dentro de 5%)
scripts/bo-unshape.sh
Lo que NO está incluido¶
Por diseño, BO hace solo bandwidth shaping. NO incluido en v4.4:
- Inyección de latencia — enmascararía comportamiento de latencia del NGFW bajo queueing con latencia artificial. Trabajo futuro.
- Inyección de packet loss — confundiría pérdida del ISP con buffer overrun del NGFW. Trabajo futuro.
- Jitter — misma razón. Trabajo futuro.
- Per-flow shaping — shaper único global por dirección.
- AQM (fq_codel, cake) — usa HTB + bfifo plain para exponer el comportamiento de buffer del NGFW, no inteligencia de queue del VyOS.
Workflow del operador¶
Después de cada test plan con BO¶
- Run completa OK → Annex J poblado, sin acción necesaria.
- Run aborta en el verifier → revisar dashboard preflight panel. Causas comunes:
- VyOS pod no accesible
- Tasa configurada por encima de capacidad del NIC físico
- Verifier midió >10% off (gating production bloquea; observational advierte)
Bypass de emergencia¶
export BO_GATING=observational
# O en el UI: seleccionar "Datacenter (no shaping)"
Default es production (bloquea en falla). Override solo cuando
entendás POR QUÉ.
Composición con el resto del bench¶
- Q1-Q4 — ortogonal. Cualquier cuadrante × cualquier ancho de banda.
- Inspection Profile (v4.5) — ortogonal.
- Annex G layer 5 (L2 BPDU) — independiente.
- NetFlow/IPFIX (v4.7) — compone (BO + NetFlow muestra flow records bajo banda).
- SDWAN+Cloud On-Ramp (v4.8) — compone profundamente (túnel SD-WAN por la misma WAN shapeada).
Referencias¶
- ADR 0008 —
docs/ADR/0008-branch-office-simulation.md - VyOS QoS docs — https://docs.vyos.io/en/latest/configuration/trafficpolicy/
- Scripts —
scripts/bo-shape.sh,bo-verify.sh,bo-unshape.sh(PR-B) - Annex J template —
dashboard/templates/annex-j-branch-office.md.tmpl(PR-D)