"Durante los próximos años, las redes definidas por software o Software Defined Networks (SDN), serán cada vez más comunes, seguramente en un principio en despliegues híbridos con los despliegues tradicionales de red, debido a las múltiples ventajas que introduce y que serán revisadas en esta entrada"
Las
redes, tal y como están implementadas hoy en día, tienen una serie de
problemas, entre los que se encuentran que:
- Son difíciles de personalizar, ya que la configuración y diseño se debe hacer conforme a los parámetros de numerosos protocolos aislados (STP, protocolos de enrutamiento, etc)
- Son difíciles de integrar con los nuevos servicios que requieren movilidad de máquinas virtuales y usuarios, así como la integración con entornos de Cloud.
- Son difíciles de mantener seguros, ya que los protocolos en los que se basan pueden ser vulnerables a ciertos ataques y la configuración de todos sus elementos lo ha de tener en cuenta.
- Son difíciles de integrar con el resto de elementos TI, como por ejemplo las plataformas de virtualización o el Software que presta el servicio final.
- Son difíciles de optimizar, pues las opciones de configuración son rígidas y dependen de los protocolos implementados en los switches.
- Es complicado el manejo de los cambios en la red, ya que la modificación de los flujos en cierto momento tendría que venir dada por la reconfiguración de todos los protocolos independientes de los equipos de red implicados.
- Difíciles de administrar, ya que cada fabricante de Hardware dispone de un CLI, e incluso métodos de gestión, diferentes al resto. También hay que remarcar las dificultades que algunas veces brindan las redes híbridas de dos o más fabricantes, ya que su integración suele ser compleja en algunos casos.
- El Hardware que los soporta es costoso, al tener cada uno de ellos que ejecutar números procesos complejos de decisión de encaminamiento de paquetes.
El origen de los
problemas anteriores es que los elementos de la arquitectura de red (switches,
routers y demás componentes) se han ido convirtiendo en dispositivos cada vez
más complejos, debido al creciente número de protocolos distribuidos que se les
han ido integrando los cuales, en muchos casos, no siguen los estándares además
de su necesidad de ser gestionados por interfaces CLIs propietarias.
Mientras el resto de
componentes TI se ha adaptado a las necesidades de agilidad, reducción de
costes globales y sencillez de gestión, las arquitecturas de red no han seguido
ese mismo camino con la misma rapidez, debido a las limitaciones que se han
descrito, es por ello por lo que han surgido una serie de tecnologías para
modificar el modo en el que trabajan hoy en día las redes.
Las tecnologías Software
Defined Networking (SDN) tienen como objetivo el control minucioso de flujos de
tráfico mediante un software que brinde una interfaz que permita al usuario
personalizar dichos flujos de una manera centralizada, sin recaer en los
procesos independientes en cada equipo de red, y sin depender del Hardware
subyacente.
La principal idea de SDN
es externalizar la responsabilidad del control de flujo y la inteligencia de
red fuera del Hardware de los switches y routers, centralizándolo en un
servidor llamado controlador, o Controller,
que realiza todas las tareas que los antiguos protocolos independientes hacían
para para garantizar el correcto encaminamiento de los paquetes.
Al poder tener una
visibilidad completa de la red desde los Controllers, en lugar de la actual
vista parcial a la que están restringidos los switches y routers, es posible
redirigir flujos con gran agilidad y conseguir una optimización máxima de los
recursos, incluso mediante comportamientos que son imposibles realizar con los
protocolos independientes que actualmente manejan la red.
También se mejora la
respuesta ante fallos o incluso congestión en la red, ya que al tener una mayor
visibilidad se puede calcular instantáneamente el mejor camino alternativo
extremo a extremo, en lugar de la manera local en la que se hace actualmente.
La arquitectura SDN se
compone de tres capas diferenciadas:
- Capa de infraestructura, en la que reside el Hardware. Es importante destacar que los componentes de esta red son dispositivos de red, pero que solo se tiene en cuenta el Hardware que lo componen, no los protocolos que contengan ni ningún tipo de inteligencia, por lo que pueden ser equipos de muy bajo coste y no tendrían que ser de un único fabricante, tan solo deberán contar con el soporte del método que les conecta con el controlador, o lo que es lo mismo, el protocolo OpenFlow.
- Capa de control, aquí se encontrarían los controladores, quienes mantienen la inteligencia de la red. Los controladores se comunicarían con los Hardware de la capa de infraestructura con el protocolo OpenFlow y brindarían una API abierta para que puedan ser programados desde la capa de aplicación.
- Capa de aplicación, es la de más alto nivel y desde la cual se controla el comportamiento de la red. Para ello se utiliza la API del controlador, que puede ser utilizada por usuarios o por otros Software de orquestación o aplicaciones de infraestructura o corporativas.
Figura 1 - Capas de la arquitectura SDN
Al añadir esta tercera capa de aplicación al diseño, es posible programar la red de la misma manera que las aplicaciones software, de modo que se pueden conseguir implementaciones que se integren ágilmente con el resto de componentes IT, por ejemplo, haciendo que la red se adapte automáticamente a los movimientos de máquinas virtuales entre Data Centers, permitiendo grandes mejoras frente a los diseños tradicionales.
Para entender mejor las posibilidades que brinda SDN, se puede ver un par de ejemplos en los siguientes videos de la Universidad de Stanford (donde principalmente se desarrolló la idea de openflow):
- Aplicación FlowVisor para virtualizar, como si de un "hypervisor" se tratase, los diferentes redes virtuales
También se puede consultar en este enlace un repaso de los puntos básicos sobre redes SDN.
No hay comentarios:
Publicar un comentario