¿Qué es OpenFlow?

OpenFlow es una tecnología que hace posible la SDN (red definida por software), un enfoque de configuración de redes basado en software.

Tradicionalmente, los dispositivos de red combinaban dos funciones clave: el plano de control, que se encarga de gestionar las rutas, y el plano de datos, que se ocupa del reenvío de datos. La característica distintiva de OpenFlow es la separación de estas dos funciones. El controlador OpenFlow se encarga del plano de control (generalmente implementado mediante software), mientras que el conmutador OpenFlow gestiona el plano de datos (normalmente implementado mediante hardware, aunque también existen implementaciones de software como Open vSwitch).

Otra característica clave de OpenFlow es el uso de tablas de flujo, que definen las reglas de reenvío de datos. Las tablas de flujo especifican las condiciones para el procesamiento de paquetes, como direcciones MAC, direcciones IP, números de puerto, identificadores de VLAN o etiquetas MPLS, así como las acciones correspondientes, como reenviar paquetes a puertos específicos, modificar determinados campos o descartar paquetes.

Mediante tablas de flujo, OpenFlow puede realizar funciones que normalmente llevan a cabo los switches de capa 2 (L2), los routers o los switches de capa 3 (L3). También puede implementar comportamientos similares a los de los cortafuegos o los balanceadores de carga. Además, OpenFlow admite mecanismos de conmutación por error, lo que permite redirigir automáticamente el tráfico por rutas alternativas si falla un switch, así como segmentar la red de forma similar a las VLAN. Las redes compuestas por varios switches OpenFlow se gestionan y controlan de forma centralizada mediante el controlador OpenFlow.

OpenFlow proporciona una forma muy flexible y programable de definir y gestionar las configuraciones y funciones de red, lo que ofrece importantes ventajas frente a la infraestructura de red tradicional basada en hardware.