Skip to content

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:

  1. Llama scripts/bo-shape.sh --down-mbps N --up-mbps M ANTES de los agentes
  2. El script hace kubectl exec en el pod VyOS y aplica VyOS QoS:
  3. Shaper de egress en eth1 limitando salida a --down-mbps
  4. Shaper de ingress en eth1 (vía ifb0) limitando entrada a --up-mbps
  5. Ejecuta scripts/bo-verify.sh para confirmar shaper aplicado Y medir capacidad real vs solicitada (baseline iperf3 de 5s)
  6. Lanza los agentes (browser-engine/synthetic-load) — chocan con el techo del ancho de banda
  7. En el cleanup, llama scripts/bo-unshape.sh para remover el shaping
  8. 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

  1. Elegir un cuadrante normalmente (Q1, Q2, Q3, Q4)
  2. En el nuevo selector Environment:
    Environment: ○ Datacenter (sin shaping, default actual)
                 ● Branch Office Simulation
                     Down: [_____] [Mbps▾]
                     Up:   [_____] [Mbps▾]
    
  3. Escribe los valores de down + up
  4. 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

  1. Run completa OK → Annex J poblado, sin acción necesaria.
  2. Run aborta en el verifier → revisar dashboard preflight panel. Causas comunes:
  3. VyOS pod no accesible
  4. Tasa configurada por encima de capacidad del NIC físico
  5. 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)