La red definida por software (SDN) describe una arquitectura que separa el plano de control de la red y el plano de reenvío, con el objetivo de simplificar y mejorar el control de la red. Los equipos de TI tienen mayor capacidad de adaptarse rápidamente a los cambiantes requisitos del negocio y a las necesidades de sus aplicaciones.
La SDN es una forma muy ágil y flexible de adaptarse a los crecientes requisitos de red y de permitir la automatización y la agilidad. Al separar los planos de control y de reenvío de la red, la SDN hace del control de la red una entidad programable y abstrae la infraestructura subyacente.
Los ingenieros de red se benefician de la SDN porque ya no tienen que pelearse con distintos dispositivos de red para ofrecer servicios de red, conectar ubicaciones y aplicaciones o controlar la utilización de recursos y capacidad. En lugar de ello, la SDN se encarga de esta tarea, dirigiendo a estos "conmutadores" individuales para que presten servicios cuando el negocio lo requiera.
Hay 4 características únicas y definitorias de las redes definidas por software:
En resumen, una red definida por software (SDN) se basa en APIs para crear un plano de gestión centralizado que permita a los administradores y gerentes decidir y programar el comportamiento de la red. La red definida por software crea una abstracción o nivel superior virtual sobre una compleja infraestructura de red, lo cual permite a los equipos de TI gestionar su red, aplicaciones y dispositivos de manera consistente con un conocimiento mínimo de esa tecnología subyacente o una interacción directa con la misma.
Una red definida por software desempeña varias tareas y abarca varias tecnologías. Pero su propósito original y más característico era crear una abstracción programable que separara el plano de datos y el plano de control de red. El plano de control es el "cerebro" del sistema, que gestiona los servicios de red y decide cómo y dónde deben moverse los paquetes a través de la red. El plano de datos es el sistema de transporte, que conecta los puntos finales y traslada estos paquetes según las direcciones del plano de control.
En un entorno de red tradicional, las redes en su mayoría desconocen los requisitos de las aplicaciones que se ejecutan en todo el sistema. Los operadores pueden observar las características de la aplicación, como el tamaño del paquete, el volumen, la latencia y los errores, pero no siempre se pueden determinar en gran medida el tipo de aplicación ni la información sobre el estado o el rendimiento necesario; en una red definida por software, las aplicaciones pueden tener información sobre la red y las configuraciones de red se pueden adaptar a las aplicaciones, creando una vía de información bidireccional.
Existen tres componentes principales en las redes definidas por software: En primer lugar, están las aplicaciones de la SDN. Estas aplicaciones transmiten acciones y solicitan recursos a través del controlador de la SDN utilizando APIs. Las aplicaciones de la red definida por software crea una abstracción o nivel superior virtual sobre una compleja infraestructura de red, lo cual permite a los equipos de TI gestionar su red, aplicaciones y disposi pueden asumir varias formas y servir para varias funciones, como gestionar la red, proporcionar análisis, añadir seguridad o realizar funciones comunes de la red. Algunos ejemplos son la gestión de direcciones IP (IPAM), la gestión de la calidad de servicio (QoS), el balanceo de carga o la detección y mitigación de un ciberataque de denegación de servicio (DoS).
En segundo lugar, y quizás lo más importante, está el controlador de SDN. Las aplicaciones de la SDN envían instrucciones al controlador de la SDN, que luego transmite esa información a los componentes de la red. El controlador de la SDN también es responsable de recoger la información de la red del hardware, entregando esta información y las estadísticas relevantes a las aplicaciones.
El tercer componente es un sistema de dispositivos de red de la SDN. En la red, estos dispositivos se encargan de las tareas de envío y procesamiento de datos, que también pueden realizar el seguimiento de los datos. El controlador de la SDN es responsable de la integración de las tres capas. Estas integraciones de API se denominan comúnmente interfaces en dirección norte o en dirección sur. La dirección norte es la integración entre el controlador y la aplicación, mientras que la dirección sur es la integración entre el controlador y los dispositivos de red física.
Existen varias formas en las que una organización puede implementar una red definida por software (SDN, por sus siglas en inglés). Todas las implementaciones incluyen un controlador, distintos switches y un protocolo que permite la comunicación entre ellos. Estos elementos trabajan en conjunto para dirigir y enrutar los paquetes de datos hacia su destino. A diferencia de las redes tradicionales, donde estos componentes están integrados en un solo dispositivo, SDN los separa, lo que brinda mayor flexibilidad a las organizaciones en el momento de diseñar su red.
Este es el tipo de SDN más sencillo y directo. El controlador SDN utiliza OpenFlow, un protocolo estándar de comunicación para interactuar con los switches de red. El controlador recibe información de las aplicaciones y la convierte en entradas de flujo (flow entries), que luego se transmiten a los switches mediante OpenFlow. Esta arquitectura centraliza el control de la red, permitiendo gestionar todos los switches desde un único punto. Los switches compatibles con OpenFlow pueden ser físicos o virtuales.
Este modelo utiliza interfaces de programación (APIs) para supervisar y controlar el tráfico de red que entra y sale de los switches y otros dispositivos. A diferencia del modelo anterior, no requiere OpenFlow, ya que permite el uso de métodos tradicionales como SNMP o CLI, así como enfoques modernos como las APIs REST. Cada dispositivo cuenta con puntos de control específicos que el controlador puede gestionar de forma remota. Esta opción es ideal para redes que ya utilizan switches tradicionales y facilita el desarrollo de software de orquestación. Además, ofrece un mayor nivel de apertura y reduce la dependencia de software y hardware propietarios.
Este tipo de SDN crea una red virtual sobre la infraestructura física existente. Utiliza canales virtuales para permitir el flujo de información entre distintos centros de datos. Los dispositivos físicos permanecen sin cambios y se emplea un hipervisor como interfaz entre el hardware y la red virtualizada. Cada canal tiene un ancho de banda asignado y dispositivos específicos conectados. Solo los dispositivos ubicados en el borde (edge) de la red están conectados físicamente a la red virtual. Cuando un paquete de datos llega a uno de estos dispositivos, el hipervisor lo encapsula en otro marco y lo envía a su destino a través de un punto final de túnel virtual (VTEP), según lo definido por el controlador.
Además de los modelos anteriores, también es posible combinar enfoques tradicionales y SDN en un mismo entorno. La SDN híbrida puede utilizar tecnologías como VPN, MPLS y Ethernet para conectar dispositivos e infraestructuras. Esta opción ofrece una gran flexibilidad y puede adaptarse a las necesidades específicas de cada organización. Sin embargo, su principal desafío es la complejidad: requiere personal capacitado para su gestión y resolución de problemas.
De entrada, las empresas que invierten en SDN probablemente se sienten atraídas por su capacidad de aceptar aplicaciones que manejan una gran cantidad de datos. Pero más allá de ese propósito, hay innumerables beneficios que hacen que la SDN valga la pena. A continuación se presentan algunas de las principales ventajas.
En una red definida por software, los usuarios pueden ver toda la red a través de una fuente centralizada, lo cual simplifica los procesos de aprovisionamiento y gestión.
Las demandas empresariales varían a diario, de modo que los responsables de TI necesitan establecer configuraciones de red del tipo "¿Y si...?" ("What if") para adaptarse a las demandas de las nuevas aplicaciones y máquinas virtuales (VMs). En una red definida por software, estas configuraciones de "¿Y si...?" son fáciles de implementar y no suponen ningún impacto en la red.
La mejora de la seguridad hace que la SDN sea una opción obvia para muchas empresas. En una red definida por software, la seguridad está centralizada. En este controlador central, administrador de TI puede crear y distribuir políticas de seguridad en toda la empresa con facilidad.
La reducción de los gastos de operación es otro beneficio atractivo de la SDN. Debido a que una red definida por software mejora la utilización de los recursos y los servidores en general, las empresas experimentan una reducción de los costes operativos, los gastos administrativos y mucho más.
La red definida por software es una forma excelente de ayudar a "nubificar" el centro de datos, ayudando en última instancia a unificar los componentes de infraestructura de una empresa. Concretamente, una empresa puede abstraer (y por lo tanto unificar) sus recursos cloud a través de la SDN.
Como se ha mencionado en una sección anterior, la capacidad de redirigir y dar forma al tráfico de datos es una característica definitoria de la SDN. Esto permite a los equipos de TI mejorar la prestación de servicios, la capacidad de respuesta de la red y mucho más, de modo que la experiencia del usuario final sea más fluida.
Hay distintos niveles de protección de seguridad ofrecidos a través de redes definidas por software. Quizás lo más notable es la inteligencia centralizada que ofrece la SDN, que permite a los administradores de TI establecer y mantener políticas de seguridad de forma rápida y sencilla. A partir de ahí, estas políticas pueden aplicarse universalmente en toda la red, y pueden mantenerse y aplicarse mediante un control central.
Además, la red definida por software crea una capa de abstracción entre el software y el hardware, que permite a los equipos de TI prescindir de dispositivos de propiedad exclusiva y empezar a desarrollar herramientas de seguridad para implementarlas en toda la red. En consecuencia, hay una mayor transparencia para reunir información y posibles amenazas en caso de que se produzca una vulneración de seguridad.
En última instancia, la seguridad es escalable con la SDN. En lugar de necesitar costosos controles de seguridad y hardware propietario, los equipos de TI pueden crear, controlar e implementar políticas de seguridad a escala a medida que crece el software, se aprovisionan nuevas nubes y aplicaciones, o a medida que cambian las necesidades de la empresa. Evidentemente, si un segmento se apaga o crea una brecha de seguridad, la transparencia de la SDN permite a los administradores detectar malware de forma rápida y sencilla.
Hay múltiples casos de uso en los que la SDN sería beneficiosa. En primer lugar, la SDN puede ayudar a apoyar iniciativas de DevOps. Las actualizaciones de las aplicaciones, las implementaciones e incluso los componentes de la infraestructura de TI pueden automatizarse a través de la SDN. Esto puede producirse a medida que se crean e implementan las aplicaciones y plataformas de DevOps.
En segundo lugar, las empresas pueden aprovechar los controladores de red definida por software para mejorar la funcionalidad de las redes de las instalaciones, que a menudo son complejas debido a las necesidades continuas de WiFi y Ethernet. El "conmutador" del controlador de la SDN central ofrece automatización y gestión centralizada, lo cual aumenta la seguridad y ayuda a las empresas a desarrollar servicios de mayor calidad en su red.
En tercer lugar, las redes de proveedores de servicios pueden aprovechar la SDN para automatizar el proceso de aprovisionamiento de redes, de cara a mejorar la administración de servicios y aumentar el control.
Por último, las empresas pueden disfrutar de la protección superior y la administración simplificada del cortafuegos que proporciona la red definida por software. Las empresas pueden crear sistemas de cortafuegos distribuidos a través de las capacidades de virtualización de la SDN, ofreciendo una capa extra de seguridad para evitar que una vulneración salte de una máquina virtual a otra. Además, los administradores y gestores pueden rastrear y cambiar de forma centralizada la actividad de la red para detectar y eliminar las vulneraciones antes de que se produzcan.