SDN (Software-Defined Networking) separa el plano de control (decisiones
de enrutamiento) del plano de datos (forwarding de paquetes) y lo
centraliza en un controlador. Esto convierte la red en una plataforma
programable.
Cada dispositivo toma sus propias decisiones de forwarding. El control y
los datos están acoplados en el mismo hardware.
graph TB
R1[Router 1] -->|decide + forward| R2[Router 2]
R2 -->|decide + forward| R3[Router 3]
Cada router ejecuta protocolos de enrutamiento (OSPF, BGP).
No hay vista global de la red.
Los cambios se hacen dispositivo por dispositivo.
Un controlador centralizado toma las decisiones. Los dispositivos solo
forwarding según las instrucciones del controlador.
graph TB
CTRL[Controlador SDN<br>Control Plane]
CTRL -->|OpenFlow / API| SW1[Switch 1<br>Forwarding Plane]
CTRL -->|OpenFlow / API| SW2[Switch 2<br>Forwarding Plane]
CTRL -->|OpenFlow / API| SW3[Switch 3<br>Forwarding Plane]
SW1 --- SW2
SW2 --- SW3
El controlador tiene visibilidad global de la red.
Los switches se configuran programáticamente .
La red se puede adaptar dinámicamente a cambios de tráfico.
graph TB
subgraph Apps["Aplicaciones SDN"]
A1[Optimización de tráfico]
A2[Seguridad]
A3[Carga balanceada]
end
subgraph Controller["Controlador SDN"]
C1[API Norte - REST]
C2[Control Logic]
C3[API Sur - OpenFlow]
end
subgraph Infrastructure["Infraestructura"]
S1[Switch 1]
S2[Switch 2]
S3[Switch 3]
end
Apps --> C1
C1 --> C2
C2 --> C3
C3 --> S1
C3 --> S2
C3 --> S3
Capa
Función
Ejemplo
Application
Apps de red (seguridad, QoS, monitoring)
Cisco APIC-EM
Control
Controlador centralizado con vista global
OpenDaylight, ONOS
Infrastructure
Dispositivos con plano de datos programable
Switches OpenFlow
API
Dirección
Función
Norte (Northbound)
App → Controlador
REST API para aplicaciones
Sur (Southbound)
Controlador → Dispositivos
OpenFlow, NETCONF, gNMI
Protocolo estándar de SDN para comunicar el controlador con los switches.
Define cómo el controlador puede leer, modificar y enviar tablas de
forwarding en los switches.
graph LR
Paquete[Paquete entrante] --> T1[Tabla 1<br>Match fields]
T1 -->|Match| A1[Acción: forward]
T1 -->|No match| T2[Tabla 2<br>Next table]
T2 -->|No match| Controller[Enviar al<br>Controlador]
Campo
Ejemplo
Ingress port
Puerto de entrada
Source MAC
MAC del remitente
Destination MAC
MAC del destino
EtherType
IPv4, IPv6, ARP
VLAN ID
10, 20, 30
Source IP
192.168.10.10
Destination IP
10.0.0.1
IP Protocol
TCP, UDP, ICMP
TCP/UDP Port
80, 443, 5060
Acción
Descripción
Forward
Enviar a un puerto específico
Drop
Descartar el paquete
Modify field
Cambiar VLAN tag, DSCP, etc.
Send to controller
Enviar al controlador para decisión
La implementación de SDN de Cisco para data centers. Usa el APIC
(Application Policy Infrastructure Controller) como controlador central.
Componente
Función
APIC
Controlador central (maneja políticas)
Spine
Switches de backbone (alto rendimiento)
Leaf
Switches de acceso (conectan VMs/servidores)
Fabric
Red completa Spine-Leaf con ACI
graph TB
subgraph APIC["APIC Controller"]
C1[Policy Engine]
end
subgraph Fabric["ACI Fabric"]
SP1[Spine 1]
SP2[Spine 2]
LEAF1[Leaf 1]
LEAF2[Leaf 2]
end
C1 --- SP1
C1 --- SP2
SP1 --- LEAF1
SP1 --- LEAF2
SP2 --- LEAF1
SP2 --- LEAF2
ACI usa un modelo de datos declarativo: defines el estado deseado y el
controlador ejecuta los cambios necesarios.
Tenant : división lógica (multi-tenant).
Application Profile : agrupación de EPGs por aplicación.
EPG (Endpoint Group): grupo de endpoints con la misma política.
Contract : reglas de comunicación entre EPGs.
Concepto
Underlay
Overlay
Qué es
Red física IP
Red virtual construida sobre el underlay
Capa
L2/L3 real
L2/L3 virtual
Ejemplo
OSPF entre switches
VXLAN entre VTEPs
Propósito
Transporte
Segmentación, extensión
graph TB
subgraph Overlay["Overlay: Red virtual VXLAN"]
VM1[VM A] --- VM2[VM B]
end
subgraph Underlay["Underlay: Red física OSPF"]
SW1[SW1] --- SW2[SW2]
SW2 --- SW3[SW3]
end
SW1 -.->|VTEP| SW3
Underlay transporta paquetes IP normales.
Overlay crea dominios L2 virtuales sobre el underlay.
Los protocolos overlay (VXLAN, GRE) encapsulan tramas L2 dentro de paquetes L3.
Beneficio
Descripción
Centralización
Un solo punto de gestión y visibilidad
Programabilidad
APIs para automatizar y personalizar
Agilidad
Cambios en minutos, no horas
Visibilidad
Vista global de la red en tiempo real
Segmentación
Políticas basadas en aplicación, no en IP
R1# show ip ospf neighbor # Underlay routing
R1# show interface nve 1 # VXLAN (NVE interface)
SW1# show vxlan vni # VNIs activos
SW1# show nve peers # VTEPs vecinos