TECNOLOGÍA - MICROTUTORIALES: SOFTWARE DEFINED NETWORKING (SDN)
DATOS PUBLICACIÓN PRESENTACIÓN
5-Octubre 2013. Original para Mundo Azul
ABSTRACT
El SDN (Software Defined Networking) es una técnica emergente que concentra las funciones de control de la red en elementos software. En el presente microtutorial se explica el concepto de SDN, su relación con las técnicas de virtualización y sus beneficios, explorando también el concepto de Network Functions Virtualization (NFV).
TUTORIAL
Concepto de SDN
SDN es el acrónimo de Software Defined Networking, es decir, la implementación en software de algunas funciones de red.

Para entender lo que SDN aporta, conviene primero repasar cuáles son las funciones de un router o un switch en una red, típicamente una red IP. Este tipo de equipos soportan dos funciones fundamentales:
  • Una función de transporte: que se podría entender como su función primaria y que consiste, simplemente, en transportar datos a su destino. Para ello, estos equipos envían los paquetes de datos a dónde indiquen unas rutas previamente calculadas.
  • Una función de control: que permite gestionar la función de transporte mediante otras dos subfunciones principales:
    • Intercambiar información sobre conectividad con otros routers/switches.
    • Calcular rutas con base en la información obtenida.
En el networking tradicional tanto las funciones de control como las de transporte son ejecutadas de forma distribuida en todos los routers/swtches de la red.

SDN es un enfoque de networking que, por un lado, separa claramente las funciones transporte y de control y, por otro implementa la función de control con software (en lugar de hacerlo en hardware). Además, centraliza en un elemento, el controlador esa función de control.

Resumimos pues los tres elementos que caracterizan al Software Defined Networking (SDN):
  • Separación clara entre las funciones de transporte y de control
  • Centralización de la función de control
  • Implementación de la función de control en software
El hecho de centralizar la función de control y de implementarla en software conlleva que la red se pueda programar mediante aplicaciones, lo que proporciona una enorme flexibilidad y facilidad de despliegue de funciones de red.

Además, el controlador puede exponer interfaces de aplicación que facilitan la manipulación y gestión de la red.

SDN y virtualización
La virtualización es una técnica que pretende simular hardware y elementos de red mediante software. No es un concepto que provenga específicamente del mundo del networking sino que, de hecho, surgió más bien en el mundo de las Tecnologías de la información, de los grandes servidores de aplicaciones y los data centers.

La virtualización abstrae las máquinas reales, el hardware real, en lo que se denomina la máquina virtual, esto es, una máquina ficticia implementada en software pero a la que se asignan memoria, espacio en disco, etc como si de una máquina real se tratase. De esta forma las aplicaciones ven, por decirlo de alguna manera, una máquina adaptada a sus necesidades pero del aguna forma independiente del hardware real que la soporta.

Para crear y gestionar esas máquinas virtuales se emplea un software que se denomina hypervisor.

Aunque, ya en el campo del networking SDN y virtualización son conceptos diferentes, lo cierto es que en realidad aparecen muy unidos. Y lo hacen en el sentido de que las funciones de control centralizadas se suelen implementar como switches virtuales (es decir, la simulación de un switch en software) ejecutándose en máquinas virtuales alojadas sobre unos servidores físicos y gestionadas mediante un hypervisor.

Un concepto relacionado con la virtualización y el SDN es el de virtualización de funciones de red (Network Functions Virtualization, NFV). Lo que significa este concepto es la centralización de funciones de red en servidores de propósito general virtualizados. Así, por ejemplo, se pueden centralizar funciones en el campo de la seguridad AAA (Authentication, Authorization and Accounting).

Beneficios de SDN
¿Qué aporta el SDN?

Podríamos resumir los beneficios en los siguientes puntos:
  • Elimina la lentitud en innovación propia del hardware permitiendo que ésta se produzca a la velocidad del software, especialmente en el plano de control.
  • Optimiza el coste de hardware de networking
  • Simplifica el equipamiento de red
  • Posibilita el uso de algoritmos más complejos y exigentes computacionalmente.
  • Reduce la barrera de entrada para innovadores e investigadores.
  • Reduce drásticamente los ciclos de vida de lanzamiento de servicios.
  • Promueve la innovación en algoritmos de enrutamiento así como una mayor utilización de la capacidad de red.


Conclusiones
SDN (Software Defined Networking) es una técnica que separa claramente los planos de control y transporte, concentrando las funciones de control en elementos software centralizados y típicamente virtualizados. Esta arquitectura emergente dota al networking de mayor flexibilidad promoviendo la innovación y disminuyendo el time-to-market de servicios, así como reducciones de coste.

Referencias

[1] “A definitive guide to Software Defined Networking”. Rajesh Kumar Sundararajan. Editorial Amazon.

LICENCIA
Creative Commons License
Esta obra está bajo una licencia de Creative Commons.