SDN y el cambio hacia las redes del futuro

Guillermo Trigo, Julio 2014.

Durante muchos años se viene generando un crecimiento fuerte y sostenido de las redes de telecomunicaciones, resultado de una demanda cada vez mayor por parte de los usuarios.  Este crecimiento, desordenado por basarse en principios y modelos no escalables, demostró que las infraestructuras y arquitecturas tradicionales presentan serias limitaciones de adaptación, flexibilidad y crecimiento, generando un “cuello de botella” en el despliegue y evolución de los negocios.  Es necesario realizar un cambio de enfoque sobre las arquitecturas de redes, para poder incrementar la productividad, y lograr que acompañen la capacidad de innovación de las organizaciones.

¿Dónde radica el problema? 

El problema radica en el esquema de control tradicional, el cual se basa en un enfoque no centralizado. La administración de los diferentes equipos por separado, teniendo únicamente un plano de control distribuido, no provee la flexibilidad, escalabilidad, y dinámica que las redes actuales requieren. Estas topologías tradicionales han llegado a ser extremadamente complejas y difíciles de abarcar. Se continúan diseñando distintos protocolos y procesos acorde al enfoque distribuido del esquema de control tradicional, que lleva a que en vez de poder usar simples abstracciones para explicar y modificar el funcionamiento de una red, se deba enfocar el estudio y análisis en el aprendizaje de diversos protocolos, por lo general aplicaciones prácticas y guías de diseño, y no principios abstractos y fundamentales. Esto implica que cada vez que se quiere desplegar una nueva funcionalidad, se debe lidiar con estandarizaciones de métodos de aplicación distribuidos.

¿Qué solución se propone? 

Se plantea un nuevo paradigma, basado en principios abstractos y fundamentales. El estudio y análisis de los métodos de aplicación de los diversos protocolos se realiza una única vez, creando abstracciones y utilizándolas para explicar y modificar el funcionamiento de una red. De esta forma, la red se pone al servicio de los operadores y programadores, y las diferentes funcionalidades se programan, configuran y operan a un nivel de control centralizado, sin tener que lidiar con la distribución de la inteligencia. Se proponen nuevas arquitecturas de red que sean flexibles, escalables, programables y capaces de soportar múltiples servicios; que logren optimizar la forma en la que operamos, comprendemos, diseñamos e interactuamos con las redes. Junto a ello, se busca acompañar el creciente despliegue de servicios de tipo “cloud computing” y la virtualización de las funciones de red.


Introducción a SDN

SDN es un enfoque de arquitectura de red que brinda la habilidad de programar directamente operaciones de red, usando lenguajes y sistemas operativos estándar. SDN permite realizar una transición, desde modelos de redes tradicionales (estáticas, inflexibles, con poca agilidad y que no acompañan a las nuevas iniciativas de los negocios) hacia redes programables, que brindan flexibilidad, agilidad, optimización y virtualización.

La funcionalidad SDN le permite a los operadores de red utilizar conceptos de programación para implementar técnicas de administración y orquestación automáticas, aplicar diversas configuraciones en múltiples equipos, y desacoplar las aplicaciones que realizan estas operaciones de los sistemas operativos de los dispositivos de red. SDN permite a las aplicaciones interactuar dinámicamente con los diferentes procesos de la red, usando estadísticas y diferentes parámetros recibidos de la misma, junto con requerimientos específicos, para desplegar de forma dinámica nuevos esquemas y configuraciones.

¿Cómo Funciona?

SDN apunta a separar la topología en dos sistemas, que son el plano de control y el plano de datos (forwarding). El plano de control provee gestión de fallas y performance, gestiona la configuración de los nodos de la red y comprende la topología global de la red. Por otro lado, el plano de datos, es el responsable de conmutar el tráfico en la red.

El plano de control y el plano de datos

En un esquema SDN, el plano de control está centralizado lógicamente en un dispositivo denominado controlador. El mismo ve a la red globalmente y desde él se controlan todos los nodos. Desde el plano de control, se pueden programar los nodos directamente para cumplir con cualquier requerimiento de servicio (Cabe destacar que hasta el nacimiento de las arquitecturas SDN, nunca ha existido una clara abstracción del plano de control de la red). El plano de control, recolecta información de los diferentes dispositivos, para obtener una visión clara y real de la red. El plano de datos, por otro lado, está representado por los diferentes switches (nodos) de la red, los cuales interactúan con el controlador para recibir la información requerida para las diferentes funciones (dependiendo de cada implementación). Los switches conmutan el trafico, y se define una interfaz estándar para la comunicación con el plano de control (Como por ejemplo Open Flow). Al estandarizar el funcionamiento de los nodos, y como es posible que reciban instrucciones específicas de lo que deben hacer (Su inteligencia), es posible que por ejemplo un nodo estándar pueda desplegarse como un dispositivo de seguridad.

Protocolo de control

El plano de control interactúa con los diferentes dispositivos del plano de datos usando un protocolo de control. El protocolo permite al controlador comunicarse con cada switch del plano de datos, y establecer conexiones, desplegar políticas de calidad de servicio, crear políticas de seguridad, etc. Estos despliegues son orquestados de forma centralizada, y una vez que fueron calculados siguiendo las políticas establecidas, se realiza el despliegue de las configuraciones a los nodos. El controlador, es el medio mediante el cual los programadores interactúan con la red. El controlador, basándose en políticas puede decidir si un determinado flujo puede establecerse, y de que forma. Una vez que se determina como debe configurarse el flujo de tráfico, el controlador envía instrucciones a cada switch para configurar el camino elegido. De esta forma, el controlador puede implementar políticas, topologías y servicios complejos, y se logra escalabilidad, flexibilidad y rapidez en el despliegue.

Capas o niveles de abstracción

Acorde a lo mencionado, SDN consta de 3 capas o niveles de abstracción: Aplicaciones (Abstracción de la función de administración), Controlador (Abstracción del control distribuido) y el plano de datos (Abstracción de forwarding). Las funcionalidades de la red residen en el nivel de aplicaciones, que es donde realmente se define como se usa la red y se acomodan los requerimientos del negocio. El plano de control traduce los requerimientos en comandos, para poder implementar lo que se recibe del plano de aplicaciones, utilizando protocolos de control que permiten enviar la información requerida a los switches.


Esquema tradicional versus Esquema SDN

Siguiendo el esquema tradicional, cuando se genera una necesidad o una idea de un nuevo servicio de red, el camino para la implementación suele ser una estandarización de dicho servicio (A través de organizaciones como IETF), que indique las premisas con las cuales debería desplegarse, y las funcionalidades que se obtendrán. Luego, esta funcionalidad es implementada por cada fabricante, integrándola con el resto de los módulos en sus equipos de forma especializada y propietaria. Este proceso muestra la inflexibilidad de las redes hacia nuevas necesidades. Lo que busca el esquema SDN, es lograr abstraer el despliegue de servicios y funcionalidades de la complejidad de la configuración distribuida. De esta forma, los programadores diseñan aplicaciones basándose en la topología de la red y el controlador implementa la comunicación de los requerimientos. En vez de que sea necesario implementar un sistema distribuido nuevo cada vez que se quiere diseñar un nuevo servicio de red, se diseña una plataforma que resuelve la forma en la que se le da inteligencia a los nodos y se transmite el servicio a la red, y únicamente se deben programar los nuevos servicios como aplicaciones. La plataforma permite resolver de forma óptima y general la problemática que conlleva el control distribuido, en vez de tener que hacerlo para cada servicio nuevo a implementar.

Es de vital importancia comprender que SDN no es un esquema que reemplaza al plano de control de los equipos, sustituyéndolo. SDN incrementa la visibilidad y potencia al plano de control de los equipos, creando una abstracción del control global de la red, generando una nueva capa de control. A partir de eso, se genera una visión global de la red, a diferencia de la visión de la que dispone un router o switch en un despliegue tradicional. La asociación entre el ruteo dinámico, la señalización y una visión centralizada de la red posibilita alta disponibilidad, óptima distribución de los recursos, y la posibilidad de desplegar servicios desde una aplicación centralizada. SDN resuelve la forma en la que se comunica una gestión de red centralizada a los diferentes dispositivos que integran la red.


¿Cuáles son los beneficios de implementar SDN?

  • Eliminación del requerimiento de intervención humana para la distribución de información a los nodos, ya que la inteligencia de los mismos se distribuye usando APIs e interfaces abiertas estandarizadas e interoperables
  • Utilización de switches estándar de bajo costo.
  • Centralización de la FIB (“Forwarding Information Base”): Rutas óptimas calculadas deterministicamente “end to end”.
  • Respuesta dinámica a requerimientos de aplicaciones.
  • Optimización del uso de red y balanceo de carga.
  • Seguridad (filtrado de paquetes en el borde de las redes, redirección de flujos de trafico sospechosos hacia herramientas de análisis, etc.).
  • Mejor coordinación del comportamiento de la red, programando aplicaciones que desplieguen funciones en la red.
  • Evolución mucho más rápida y flexible; ya que con este esquema el software no depende del hardware. Se evoluciona directamente sobre el plano de control.
  • Redes mucho más predecibles con comportamientos controlados.
  • Se pueden aplicar enfoques de informática como ingeniería de software y programación para resolver las diversas situaciones y problemas de la red.
  • Innovación directa, brindando la capacidad de desplegar nuevos desarrollos de forma inmediata.
  • Permite que la información estadística de la red sea recolectada en tiempo real, y sea utilizada por las diferentes aplicaciones para establecer políticas y programar diferentes configuraciones y servicios en la red, logrando un esquema totalmente dinámico sin precedentes.
  • Control centralizado en ambientes multivendor

Conclusión

Los esquemas SDN cambiarán la concepción que se tiene de las redes y la forma en la que se diseñan, reduciendo la complejidad y potenciando las posibilidades de innovación. SDN pone la red a disposición de los desarrolladores, como un servicio, abstrayendo “lo que se quiere hacer” de “como hacerlo”. Es el momento de generar un cambio hacia redes que estén preparadas para los requisitos de la demanda actual y futura, y SDN se posiciona como vehículo para dicho cambio.

 

 

 

.

 

 acerca.jpg

Acerca de Auben

En lo más profundo de nuestro ser, en nuestra esencia, en nuestro ADN, está el deseo de comunicarnos. 

Más información