Las redes definidas por software (en inglés software defined networking, SDN) son un conjunto de técnicas relacionadas con el área de redes computacionales, cuyo objetivo es facilitar la implementación e implantación de servicios de red de una manera determinista, dinámica y escalable, evitando al administrador de red gestionar dichos servicios a bajo nivel. Todo esto se consigue mediante la separación del plano de control del plano de datos.IETF 7149: "Software-Defined Networking: A Perspective from within a Service Provider Environment". https://tools.ietf.org/html/rfc7149, marzo de 2014

Utilizan un enfoque pensado para el sector empresarial que pueda optimizar los recursos disponibles y mejore las comunicaciones al momento de enrutar el tráfico, esto mediante el uso de software para priorizar y ordenar el tráfico de la red, que de forma general envía el uso de ciertas aplicaciones a través de determinadas conexiones, considerando métricas como la velocidad, latencia y consumo que demandan estas aplicaciones. Haciendo una analogía se puede ver el flujo de la información como el tráfico de muchos vehículos en una avenida y la tecnología SD-WAN sería la autoridad encargada de poner orden asegurando un flujo adecuado ahorrando recursos. La gestión de una WAN de gran tamaño se ha caracterizado siempre por ser costosa e inflexible, pero las características de la tecnología SD-WAN hacen más simple y barata la administración de los dispositivos de red, que permite hacer configuraciones de forma remota y están diseñadas para que el sistema ejecute de forma automática la elección de la ruta más eficiente tomando decisiones inteligentes, reduciendo costos y mejorando el rendimiento de la red.

Historia Gracias a SDN, el diseño y gestión de redes se ha vuelto más innovador en los últimos años. Sin embargo, esta tecnología no es resultado de una súbita aparición, sino de una larga historia de innovaciones dirigidas a hacer más programables las redes. La historia de SDN comienza 20 años atrás, más o menos en el comienzo de lo que hoy conocemos como Internet, el cual, debido a su éxito, intensificó la necesidad de gestionar y evolucionar las infraestructuras de redes, es decir, hacerlas programables. A partir de este momento, la historia se divide en tres etapas diferenciadas: redes activas (1995 a 2000 aprox.), separación del plano de control del plano de datos (2001-2007 aprox.) y la aparición de la interfaz de programación de aplicaciones de Openflow (2007-2010 aprox.).Feamster N., Rexford J., Zegura E. "The Road to SDN: An intellectual history of programmable networks" http://queue.acm.org/detail.cfm?id=2560327, 30 de diciembre de 2013 En 2014 Avaya hizo una demostración de redes definidas por software usando Shortest Path Bridging y OpenStack, eliminando la configuración manual.

Redes activas El despegue de Internet, a principio de los 90, provocó que las aplicaciones antiguas fueran superadas por otras más novedosas. El aumento del uso de estas llevó a los investigadores a diseñar y probar nuevos protocolos de red. Sin embargo, después de este proceso, estos protocolos debían ser estandarizados por el IETF, proceso muy lento que frustraba a muchos investigadores.

Como respuesta, algunos investigadores apostaron por un enfoque de apertura del control de las redes, análogo a reprogramar un PC autónomo con relativa facilidad. Como las redes convencionales no son programables, surgieron las redes activas orientadas hacia el control de la red, conceptualizando una interfaz de programación (API) que expone los recursos (procesamiento, almacenamiento, colas de paquetes, etc) en nodos de red individuales y soporta la construcción de funcionalidades personalizadas para aplicar a un subconjunto de paquetes que pasan a través del nodo. Sin embargo, había muchos otros que defendían la simplicidad de la red como única forma de que Internet tuviese éxito. El programa de investigación de las redes activas se dedicó por lo tanto, a explorar alternativas a los servicios proporcionados por Internet vía IP o ATM.

El impulso tecnológico que alentó a las redes activas permitió reducir el coste computacional, avanzar en lenguajes de programación y en la tecnología de máquinas virtuales. Un catalizador importante en este ecosistema fue el aumento de interés de agencias, que supuso la creación de programas como el Active Networks program del DARPA, desde mediados de los 90 hasta principios de los 2000.

Las redes activas, por lo tanto, aunque no tuvieron un despliegue extendido, ofrecieron contribuciones relacionadas con SDN como funciones programables en la red, virtualización de redes y la visión de una arquitectura unificada en distintos aparatos de red como cortafuegos, IDS, NAT, etc.

Separación de plano de control y datos A principios de los 2000, el aumento del volumen de tráfico y la necesidad de unas redes de confianza, predecibles y manejables, llevó a los investigadores a buscar mejores enfoques para ciertas funciones dentro de la gestión de redes como la ingeniería de tráfico, cuyos recursos y métodos usando protocolos de enrutamiento convencionales eran muy escasos.

Los enrutadores y conmutadores convencionales, tenían una estrecha integración entre los planos de control y de datos, que realizaba depuración de problemas de configuración o control del comportamiento del enrutamiento, una tarea muy desafiante y complicada. Para enfrentarse a dicha tarea, la idea de separar ambos planos empezó a florecer con distintos enfoques.

Debido al crecimiento de Internet, las empresas de equipos hardware comenzaron a implementar la lógica de reenvío de paquetes en hardware (plano de datos), separada del plano de control y los ISPs a luchar para poder gestionar sus redes crecientes y poder aportar a sus clientes servicios que las hiciesen más seguras (como las VPN). Todo esto dio lugar a dos innovaciones principales: una interfaz abierta entre ambos planos, como ForCES (separación del elemento de control y reenvío) estandarizada por la IETF y la interfaz Netlink a la funcionalidad de reenvío de paquetes a nivel de núcleo Linux; y un control lógico centralizado de la red, como con RCP (plataforma de control de enrutamiento), arquitecturas SoftRouter y el protocolo PCE (Path Computation Element) del IETF, ambos conceptos clave en diseños futuros de SDN.

Aparición de la API de Openflow Para abordar la visión de separación de plano de datos y de control, se empezó a investigar nuevas arquitecturas para control lógico centralizado. El proyecto 4D, uno de los frutos de estas investigaciones, establecía cuatro capas principales: el plano de datos, para procesar paquetes basándose en reglas configurables; el plano de descubrimiento, encargado de coleccionar medidas topológicas y del tráfico; el plano de diseminación, para instalar reglas de procesado de paquetes; y el plano de decisión, que consistía en controladores lógicos centralizados que convertían objetivos a nivel de red en estado de manejo de paquetes. Numerosos grupos de investigación comenzaron el desarrollo de sistemas basados en este enfoque, y en particular, el proyecto Ethane, y su predecesor directo SANE. El despliegue operacional de este proyecto en la universidad de Stanford, comenzó la etapa de creación de Openflow, y en particular, el diseño simple de switch del proyecto Ethane, se convirtió en la base de la API de Openflow.

A mediados de la primera década del , diversos grupos de investigación y empresas empezaron a interesarse por la experimentación de redes a escala, debido al éxito de infraestructuras experimentales como PlanetLab y Emulab, y la disponibilidad de más fondos por parte del gobierno para invertir en este sector. Uno de los resultados de este entusiasmo fue la creación de GENI (Global Environment for Networking Innovations) y el programa EU FIRE. Al mismo tiempo, en la universidad de Stanford, un grupo de investigadores creó el Clean Slate Program, enfocado en la experimentación en redes universitarias más tratables y locales, que dio lugar al protocolo Openflow.

Gracias a la adopción de Openflow en las empresas, que abrieron sus API para permitir a los programadores controlar ciertos comportamientos de reenvío, la versión inicial de este protocolo se estableció en los switches a través de una simple actualización de firmware, sin necesidad de actualizar el hardware.

Openflow, aunque utilice muchos de los principios de anteriores trabajos en la separación de planos, también aporta bastantes contribuciones como la generalización de dispositivos de red y funciones, la visión de un sistema operativo de red y técnicas de gestión distribuida del estado de aparatos de red entre otras.

¿Por qué SDN?

Limitaciones de las tecnologías de redes actuales Hacer frente a los requerimientos de telecomunicaciones por parte del público mundial, es imposible con las redes tradicionales. Los departamentos de IT de infinidad de empresas y proveedores de servicios de redes, están intentando aprovechar al máximo sus redes, invirtiendo gran parte de sus beneficios en esta tarea. Sin embargo, esta es una solución temporal, ya que de ninguna manera las arquitecturas de red actuales están diseñadas para conocer los requerimientos actuales de usuarios, empresas y proveedores. Las limitaciones de las redes actuales incluyen: Complejidad: para acomodar las redes a las necesidades de sus usuarios en general, la industria ha mejorado los protocolos de red para ser más seguros y eficientes. Los protocolos tienden a ser definidos en aislamiento, sin embargo, con cada uno resolviendo un problema específico y sin el beneficio de una acción conjunta (abstracciones). Políticas incoherentes: para implementar una política que abarque a la red completamente, los administradores de red, deben configurar miles de mecanismos y aparatos. Por ejemplo, todas las veces que una nueva máquina virtual se introduce en la red, puede llevar (en el peor de los casos) horas, hasta que el administrador encargado reconfigura las listas de acceso (ACL) en toda la red. Imposibilidad de escalabilidad: a la vez que las demandas de centros de datos aumentan rápidamente, la red debe crecer de la misma forma. Sin embargo, la red se vuelve más compleja con la suma de cientos de miles de aparatos de red que deben ser configurados y gestionados. Dependencia del vendedor: las nuevas capacidades y servicios perseguidas por proveedores y empresas en respuesta rápida a las necesidades dinámicas de negocios y demanda de clientes, se ven frenadas por los ciclos de producción de los equipamientos por parte de los vendedores, que pueden abarcar hasta más de tres años.White Papers. Software-Defined Networking: The New Norm for Networks https://www.opennetworking.org/images/stories/downloads/sdn-resources/white-papers/wp-sdn-newnorm.pdf

Necesidad de una nueva arquitectura de red Los servicios de red surgidos en los últimos tiempos, están llevando a las redes tradicionales a sus límites. Algunos de los elementos que están llevando a la necesidad de una nueva arquitectura de red son los siguientes: Heterogeneidad en los patrones de tráfico: en contraposición con las aplicaciones cliente-servidor en las que la gran parte de la comunicación ocurre entre un cliente y un servidor, las aplicaciones modernas crean tráfico máquina a máquina mediante accesos a bases de datos y servidores, antes del retorno de los datos al usuario final. Además, los usuarios están cambiando los patrones de tráfico, al poder conectarse desde cualquier punto en cualquier momento en determinadas redes inalámbricas. Aumento de carga de trabajo considerable de los administradores de red: los administradores se ven bajo presión a la hora de proteger los datos de los usuarios y mantener la seguridad en las redes, mientras nuevos dispositivos móviles, como teléfonos inteligentes y tabletas, acceden a la red.