Está en la página 1de 18

1

Tópicos Especiales I – II_2018 Redes Definidas por Software

Capitulo Uno

Redes Definidas por Software (SDN)

1. Introducción

En los últimos años han surgido nuevos servicios de red que han hecho que las
tecnologías que se están utilizando desde hace años lleguen prácticamente al límite
de sus capacidades. Por ejemplo, la llegada del IoT, Big Data, la computación ubicua,
además el hecho de las comunicaciones modernas no sea exclusivamente entre el
cliente y servidor, sino que generalmente se genera una gran cantidad de tráfico de
máquina a máquina antes de devolver los datos al usuario final, hacen necesario una
solución global que afronte los problemas de las redes modernas y proponga
métodos de comunicación más eficaces.
Por lo cual nace el concepto de “Redes definidas por Software” (Software Defined
Network), que es una arquitectura de red en la que se le da en control a una
aplicación de software llamada controlador. Esta arquitectura permite separar el
plano de control del plano de datos con el objetivo de conseguir redes más
programables, flexibles y automatizables. La migración del control permite a la
infraestructura subyacente sea abstraída para que las aplicaciones y servicios de red
puedan tratar a la red como una entidad virtual. El controlador de una SDN es una
entidad centralizada, es decir, que puede tratarse de varias instancias físicas o
virtuales, pero se comporta como un único componente, que mantendrá un estado
global de la red (o fragmento de ésta), permitiendo a las organizaciones y operadores
obtengan el control sobre toda la red desde un único punto lógico, permitiendo
simplificar el diseño y operación.
La idea fundamental de las Redes Definidas por Software (SDN) es clara: trasladar
el plano de control del plano de datos en los dispositivos físicos (router y switch)
unificándolo en un solo elemento externo a la red física, el controlador. En lugar de
usar protocolos distribuidos como OSPF o BGP, el controlador es el componente
software común encargado de decidir el reenvío y construir las tablas de
enrutamiento de los dispositivos de red (convirtiéndolos en más simples que los
actuales), así como controlar la red desde un solo punto, lo que significa poder
también configurar todo tipo de equipos (router, switch, traductores de direcciones
de red NATs o cortafuegos) mediante un software de gestión estándar, sin fabricante,
haciendo que la red se transforme en un sistema abierto.

1.1. Evolución de las tecnologías de redes

A través de los años las redes han evolucionado lo cual le ha permitido tener mayor
convergencia y mejoras en la interconexión. Durante todo ese tiempo han existido
diferentes tecnologías que fueron elementos principales para lo que hoy conocemos
como la red de redes. Las cinco tecnologías que han sido relevantes durante este
tiempo son las siguientes:

Isabel Leguìas
2
Tópicos Especiales I – II_2018 Redes Definidas por Software

1.1.1 Terminales Remotos (Mainframe)


En el inicio de la computación no se trabajaba en red, una computadora ocupaba toda
una habitación o incluso un piso entero. A medida que aparecieron los mainframes y
comenzaron a abrirse camino en nuestra conciencia tecnológica, estos centros de
datos funcionaban como islas, y cualquier intercambio de datos se llevó a cabo
utilizando medios físicos como por ejemplo las cintas magnéticas.

Incluso en la era de los mainframes, se necesitaba conectividad remota al mainframe.


Esto se proporcionó en forma de controladores remotos y lectores de tarjetas, que
funcionaban como dispositivos subordinados conocidos como periféricos, con control
que residía completamente en el mainframe central. Las conexiones de red en este
caso fueron simples enlaces punto a punto o punto a multipunto. En este caso, la
comunicación entre algunas entidades conectadas y un pequeño conjunto de
controladores de terminal o lectores de tarjetas remotos. Esta comunicación fue
completamente sincrónica, con los periféricos permitidos para transmitir solo cuando
son vistos por el mainframe.

1.1.2. Conexiones Punto a Punto (Peer-to-Peer)

A medida que la tecnología informática comenzó a pasar de los mainframes a la


incorporación de minicomputadores, estas máquinas tenían una mayor necesidad de
compartir información de manera rápida y eficiente. Los fabricantes de computadoras
comenzaron a crear protocolos para el intercambio de datos entre dos máquinas pares.
La red en este caso también era punto a punto, aunque la naturaleza de la conexión
era de igual a igual en que las dos máquinas (p. Ej., Minicomputadores) se
comunicaban entre sí y compartían datos como iguales relacionados, al menos
comparados, al tipo anterior de conexiones de controlador de mainframe a terminal.
Por supuesto, en estas conexiones punto a punto, la red era trivial, con solo dos partes
comunicándose entre sí. Controle esta comunicación no en ninguna red, sino en las
computadoras individuales en esta comunicación uno a uno.

1.1.3. Redes de Área Local (LAN)

Con el tiempo la evolución de la informática hacia sistemas más pequeños,


independientes, surgió la necesidad de conectar dispositivos con el fin de permitir
compartir información en un mainframe grande o incluso en un minicomputador
potente. Por lo tanto, llego la tecnología de redes de área local (LAN), con varias
batallas que se libraron entre las tecnologías (Ethernet/IEEE 802.3 Token Ring frente
IEEE 802.5). Estas primeras LAN se ejecutaban en medios de comunicación
compartidos, por lo que todo el tráfico era visto por cada dispositivo conectado a la red.

El IEEE surgió como la más popular de estas tecnologías, la cual utilizaba (CSMA/CD
“Carrier Sense Multiple Acess with Collision Detection”) o en español Acceso múltiple
con escucha de portadora y detección de colisión, esta tecnología presentaba un pobre
rendimiento cuando el número de los dispositivos activos alcanza un cierto nivel. El
número exacto de dispositivos donde esto ocurriría depende de la cantidad de datos
que cada dispositivo intenta transmitir y esta disminución en el rendimiento se debe a
una colisión, según lo estipulado por el CSMA/CD.

Isabel Leguìas
3
Tópicos Especiales I – II_2018 Redes Definidas por Software

Estas redes planas de medios compartidos eran bastante simples, y los dispositivos
repetidores proporcionaban extensiones físicas a los medios compartidos. El mayor
impacto de estos primeros dispositivos fue creado por la concentración de cables. Esto
hizo que las redes de la capa dos fueran más desplegables y confiables que el método
anterior de serpentear un cable coaxial de un nodo al siguiente. Esta red requirió de
una inteligencia mínima del plano de control, donde los repetidores sencillos,
básicamente solo hicieron una cosa: se renviaron a todos y los repetidores más
avanzados gestionaban a los repetidores administrados que tenían planos de control
limitados en los se produjo la segmentación y el error de supervisión. Los repetidores
administrados se desempeñaron como tales, eliminando el trafico erróneo de la red, al
igual que eliminando los puertos que estaban causando problemas. Los repetidores
segmentables pudieron dividirse en múltiples repetidores a través de la configuración.
Se pueden configurar diferentes grupos de puertos en diferentes dominios de colisión.
Estos dominios de colisión separados estarían conectados por puentes. Esta
característica proporciona más control sobre el tamaño del dominio de colisión.

1.1.4. Redes Punteadas (Bridged Networks)

Eventualmente, estas redes necesitaron escalar tanto en extensión física como en


cantidad de nodos. Las redes no se escalan bien a medida que aumentaba la cantidad
de hosts. Resultó conveniente dividir la red en segmentos separados. Al hacerlo y
dado que no todos los nodos estaban transmitiendo todo el tiempo, el ancho de banda
aumenta en la transmisión de cada segmento. Los primeros dispositivos para realizar
esta función se llamaron puentes, precursores de los switches actuales, pero mucho
más simples. Por lo general, solo tenían dos puertos que conectaban dos dominios
compartidos. Estos puentes poseían un plano de control rudimentario en el sentido que
fueron capaces de aprender la ubicación y dirección MAC de todos los dispositivos,
creando tablas de reenvió que les permitieron tomar decisiones sobre qué hacer con
los paquetes entrantes. Estas tablas de reenvío se implementaron completamente en
software. Además, estos puentes se implementaron de tal manera que podrían
funcionar de manera independiente y autónoma, sin requerir ninguna inteligencia
centralizada. El objetivo era facilitar la expansión de la red sin mucha coordinación o
interrupción en los dispositivos de la red.

Una de las primeras manifestaciones de este paradigma de inteligencia distribuida fue


el Spanning Tree Protocol (STP), es un grupo de puentes para interactuar entre sí y
converger en una decisión de topología (el árbol de expansión), que eliminó bucles y
superpuso a la estructura jerárquica sin bucles en la red. Proporcionaba una mayor
escalabilidad en términos de la cantidad de nodos al igual que la extensión física
condujo a la necesidad de este nuevo modelo de dispositivos autónomos, con
protocolos distribuidos que implementaban la funcionabilidad de control requerida. Si
traducimos las realidades de este período a la terminología actual, no había un
controlador centralizado, simplemente un recopilador de estadísticas. Las políticas se
administraron mediante el establecimiento de paramentos específicos en cada
dispositivo de la red.

Isabel Leguìas
4
Tópicos Especiales I – II_2018 Redes Definidas por Software

1.1.5. Redes Enrutadas (Routed Networks)

De la misma manera que los dominios con distribuidos protocolos e inteligencia,


estrategias similares fueron empleadas para el enrutamiento de capa tres. Los
enrutadores estaban directamente conectado a los dominios de la capa dos e
interconectado a grandes distancias con enlaces WAN punto a punto. Los protocolos
de enrutamiento distribuido se desarrollaron para permitir que los grupos de
enrutadores interconectados compartieran información sobre las redes a las que
estaban conectados directamente. Los protocolos de enrutamiento distribuido se
desarrollaron para permitir que los grupos de enrutadores interconectados
compartieran información sobre las redes a las que estaban directamente. Esta fue
otra aplicación de dispositivos autónomos, que utiliza protocolos distribuidos para
permitir que cada uno tome las decisiones de reenvío adecuadas. Esta secuencia ha
llevado a la situación actual, con la inteligencia de red distribuida en los propios
dispositivos de red. Durante esta evolución, sin embargo, el crecimiento del tamaño y
la complejidad de la red fueron implacable. El tamaño de las tablas de reenvío de MAC
creció, los protocolos de los planos de control se volvieron más complejos y las
superposiciones de red y la tecnología de tunelización se hicieron más frecuentes.
Realizar cambios importantes en estas implementaciones fue un desafío continuo.
Dado que los dispositivos fueron diseñados para funcionar de forma independiente,
administrados centralmente, las actualizaciones a gran escala fueron desafiantes
Además, el hecho de que las implementaciones del plano de control real provinieran
de muchas fuentes diferentes y no coincidieran perfectamente creó una especie de
efecto de denominador común más bajo, donde solo se podían confiar realmente en
aquellas características que estaban perfectamente alineadas entre las diversas
implementaciones. En resumen, las soluciones existentes no estaban escalando bien
con este crecimiento y complejidad, Esta situación llevó a los ingenieros de redes e
investigadores a cuestionar si esta evolución iba en la dirección correcta.

1.1.6. Redes Activas (Active Networking)


A mediados de los años noventa Active Networking represento un enfoque radical para
el control de las redes conceptualizando una interfaz programable (API) donde los
dispositivos de red no solo procesan paquetes de datos, sino que también ejecutan
tareas de alto nivel en base a código transportado en los paquetes, este paradigma
acuño por primera vez características programables y flexibles en las redes de
telecomunicaciones. La flexibilidad permite que los dispositivos puedan adoptar nuevos
protocolos y servicios, además, de la posibilidad de personalizar el comportamiento
general de la red. Esta tecnología contradice la simplicidad de las redes tradicionales
al albergar mayor complejidad tanto en nodos como en paquetes. Existen dos modelos
para el concepto de Active Networking:

 El modelo capsula: los paquetes transportan código para ser ejecutado en los
nodos, estos pasan de ser equipos de procesamiento dedicado a ser dispositivos de
procesamiento de alto nivel como los computadores. Los enrutadores procesan
paquetes activos en vez de procesar paquetes pasivos como se realiza en las redes
tradicionales.

Isabel Leguìas
5
Tópicos Especiales I – II_2018 Redes Definidas por Software

 El modelo router/switch programable: a diferencia del modelo anterior, el código


está establecido en los mecanismos de los router/switches y no en los paquetes.

Martin Casado, autor del enfoque SDN, afirma que Active Networking se ha centrado
más en la flexibilidad idealizada que en el sentido práctico como lo hace ATM.

1.2. Limitaciones de las Redes Actuales

Una red tradicional está compuesta por un conjunto de medios de transmisión


(ejemplo fibra óptica, par de cobre, etc.) al igual que un conjunto de elementos de
conmutación (switches, router, etc.)

En las redes tradicionales, la gestión es distribuida. Esto quiere decir que cada elemento
de conmutación incorpora un firmware que toma sus propias decisiones en función de
determinados campos de las tramas y paquetes recibidos.

Estas redes han demostrado sus buenos servicios en el pasado, y lo siguen


haciendo. Pero presentan varios problemas o limitaciones:

 No son flexibles. Se comportan en base a las reglas (protocolos) que


incorporan los fabricantes de dispositivos. Lógicamente, cuanto más
configurables sean éstos, más costosos serán.

 Están basadas en multitud de reglas predefinidas. Los protocolos actuales


están basados en más de 5000 RFCs, y cualquier modificación que se sugiera
ha de pasar un tedioso proceso de estudio y aprobación por parte de los
organismos competentes (IETF principalmente).

 Coartan la investigación y el desarrollo. Los fabricantes y administradores


de redes son desconfiados a experimentar y desarrollar nuevos paradigmas
en redes que ya funcionan de una forma “satisfactoria”. Es el célebre “si
funciona no lo toques”.

 Es muy complicado introducir nuevas propuestas. Cualquier innovación,


aunque ya esté aprobada en su RFC, es muy complicado. Las actuales redes
de comunicaciones en su mayoría derivan de las viejas redes telefónicas.
Aunque evolucionadas, su filosofía es de los 60. Sin embargo, las
comunicaciones han cambiado radicalmente desde entonces. Los viejos
protocolos se parchean para que sigan funcionando (por ejemplo, NAT), y se
mantienen en el tiempo. Un ejemplo claro de esto es la baja implementación
de Ipv6, a pesar del tiempo que hace que está aprobado. Si Ipv4 con NAT
funciona, ¿para qué tocarlo?

Isabel Leguìas
6
Tópicos Especiales I – II_2018 Redes Definidas por Software

1.3. Historia de las Redes Definidas por Software

Las redes definidas por software se empezaron a conocer en el año 2009, aunque
este se fue estructurando desde el año 2003 por la necesidad de algunos
investigadores de separar el plano de control del plano de retransmisión de los
dispositivos de red (plano de dato) con la finalidad de evaluar nuevos protocolos
de red de manera rápida y sencilla.
En el año 2003 ForCEs(Forwarding and Control Element Separation), fue un
trabajo presentado por el grupo de trabajo de la IETF(Internet Engineering Task
Force), fue el primero en proponer la separación del plano de control y el plano de
data. La idea principal fue de proveer un dispositivo físico (hardware) simple como
una entidad de solo reenvió y un elemento superior de control basado en
programación (software).
4D en el año 2005 fue el primero en presentar de forma conceptual un controlador
SDN centralizado, proponiendo una reconstrucción completa de las redes
separada de los dispositivos autónomos, con el fin de concentrar la operación del
plano de control en un sistema independiente y separado dedicado exclusivamente
para ese propósito.
En el año 2007 Ethane propuso una solución basada en políticas que permitían al
administrador de la red, definir políticas a cada nivel de acceso a la red para los
usuarios. Estaba fundamentada en tres principios fundamentales:
1. La red debe ser gobernada por políticas de una entidad superior,
2. El ruteo de la red debe conocer estas políticas
3. La red debe reforzar la unión entre los paquetes y si origen.
OpenFlow está basado en Ethane en el año 2008, es el protocolo de transporte
que se utiliza para mantener la comunicación entre el controlador centralizado y
switch permitiendo además trazar el comportamiento esperado del mismo. Cada
switch tiene una o más tablas de flujo que son utilizadas para realizar la búsqueda
de paquetes. Actualmente existen varios protocolos de comunicación para SDN,
pero OpenFlow se ha convertido en el estándar abierto más utilizado.
Un grupo de investigadores de la universidad de Stanford creó el Programa Clean
Slate (Borrón y Cuenta Nueva), el cual se entraba en entornos de experimentación
a escala local y accesible, las redes de datos de los campus universitarios. En este
programa se origina la creación del paradigma de las Redes definidas por
Software, comúnmente conocidas como SDN; un término inicialmente utilizado
para referirse únicamente al protocolo OpenFlow.

La iniciativa fue tan fuerte que empresas como Google, Facebook, Yahoo,
Microsoft, Verizon y Deutsche Telekom fundaran en el año 2011 la Fundación de
Redes Abiertas Open (Networking Fundation (ONF)), cuyo objetivo principal es
promover y adopción de las SDN por medio de estándares abiertos.

Isabel Leguìas
7
Tópicos Especiales I – II_2018 Redes Definidas por Software

En el año 2012 VMware llego a un acuerdo para comprar Nicira, un especialista


en networking virtual valorada en 1,260 millones de dólares, con el fin de acelerar
su estrategia de construir centros de datos definidos por software.
En el año 2013 otra organización OpenDaylight promueve el desarrollo de
estándares abiertos, bajo la fundación de Linux, la cual cuenta con el apoyo de
empresas como Cisco, IBM, HP, Ericsson y Microsoft, entre otras.

1.4 Definición de SDN

Open Networking Foundation (ONF) define una Red Definida por Software (SDN)
como una arquitectura de red donde el control de la red es programable y está
separada de las funciones de reenvío de paquetes, propias de las capas inferiores
del modelo OSI.

Las redes definidas por software, conocidas en inglés como Software Defined
Networking y abreviadas como SDN, son un paradigma de red emergente que
proporciona solventar las limitaciones que presentan las infraestructuras actuales
de red. La característica principal de este tipo de redes es que rompen la
integración vertical, separando toda la lógica de control de la red (el plano de
control) de los routers y switches que retrasmiten el tráfico (el plano de datos). Una
vez que se realiza la separación, tanto del router como los switches pasan a
convertirse en simples dispositivos de transmisión de datos y toda su lógica de
control pasa a ser implementada dentro de un controlador lógicamente
centralizado.

La separación entre el plano de datos y de control se consigue por medio de una


interfaz de programación de aplicaciones (API) que permite a los controladores
SDN ejercer control directo sobre los elementos del plano de datos. El ejemplo
más conocido de este tipo de API es OpenFlow. Los switch que trabajan con
OpenFlow tienen una o más tablas, conocidas como flow tables, donde se definen
todas las reglas de encaminamiento del dispositivo. Cada una de estas reglas
define por un lado a un subconjunto del tráfico y por el otro establece las acciones
que deben aplicarse a éste (drop, forward, modify, etc).
Esta separación del plano de control permite a los administradores de red, aplicar
políticas dinámicas desde una perspectiva más alejada y global, y sin la
complicación de tener que configurar cada dispositivo de red de forma individual,
sino que es el propio controlador quien se encarga de instalar las reglas necesarias
en cada uno de éstos de forma automática y dinámica. Se acelera también la
capacidad de innovación, ya que el control lógico no está atado al hardware, y
aumenta la flexibilidad de la red, dado que permite introducir nuevos servicios más
fácilmente.

Isabel Leguìas
8
Tópicos Especiales I – II_2018 Redes Definidas por Software

Según la ITU las redes definidas por Software son consideradas como una
evolución fundamental para la tecnología de redes que permitirá a los operadores
de red establecer y gestionar nuevos recursos y redes de carácter virtual, sin
necesidad de instalar nuevas tecnologías de soporte físico (hardware). Las
empresas y los operadores consideran a las SDN y la virtualización de las redes
como algo primordial para contrarrestar el aumento de la complejidad, al igual que
los costes de gestión y el funcionamiento de las redes tradicionales asociados a
la introducción de nuevos servicios o tecnologías. Las redes SDN separan los
planos de control y de datos por medio de un plano de control programable y
centralizado, además de la abstracción del plano de datos. Esta abstracción
permitirá mayor velocidad y flexibilidad de las instrucciones de enrutamiento, como
también la gestión de la seguridad y la energía de los equipos de red, por ejemplo
los router y los switches.

1.5 Características de las Redes Definidas por Software

Debido a una serie de propuestas, estándares e implementaciones para mejorar


las redes, SDN evoluciona sobre las investigaciones realizadas por ForCES, 4D
,Ethane entre otras y de acuerdo a sus características fundamentales: separación
de planos, simplificación de dispositivos, control centralizado, automatización de
red y virtualización.

1.5.1 Separación de planos

Una de las características principales que revela SDN es la posibilidad de separar


los planos de control y de datos que originalmente en una red de tradicional
mantienen una estrecha relación como se muestra en la Figura No 1, esto sucede
a causa de que los encargados de proporcionar ambos planos son los fabricantes;
de esta manera si un switch debe calcular una tabla de reenvío es él mismo quien
tiene que implementarla.

Visto desde el punto vista de los planos de manera separada, el programa o


software de control se puede ejecutar en uno o más servidores y él NOS o Sistema
Operativo de Red puede ejecutarse en otro conjunto diferente de servidores. El
NOS observara y controlará el plano de datos, aunque este no sea parte de él.

Uno de los impactos potenciales de la implementación de SDN es la posibilidad


de que el diseñador de redes de una empresa pueda adquirir el plano de control
de terceros proveedores, haciéndolo independientemente de los proveedores que
proporcionan el hardware (switch). Esto es permisible debido a que la inteligencia
de red se elimina de los switch y ahora reside en las capas SDN. Los switches se
vuelven únicamente hardware de producto.

Isabel Leguìas
9
Tópicos Especiales I – II_2018 Redes Definidas por Software

Otro de los cambios que suceden tras la implementación de una SDN es como se
realizan las pruebas de red. Actualmente la única manera de probar una red es
construir un entorno de prueba con equipamiento de las mismas características
del que se planea disponer en la red real; así usando scripts prediseñados se
verifica el funcionamiento y que tan bien elaborado está el perfil de red.

En SDN el enfoque cambia totalmente ya que todo el hardware se halla anclado a


una interfaz común y el plano de control ahora existe en el software. Gracias a
esto es posible realizar pruebas de unidad de hardware de manera segura, se
puede conseguir simulaciones a gran escala del plano de control y probar un
diseño antes de ponerlo en producción.

1.6. Arquitectura de Redes Definidas por Software

En las redes tradicionales el envío de paquetes y las decisiones de enrutamiento se


realizan dentro del dispositivo, mientras que en las redes definas por software estas dos
funcionalidades se separan permitiendo tener un control centralizado.

En una red convencional cuando un paquete llega al switch, las reglas integradas en el
firmware propietario del switch deciden a donde transferir el paquete, el switch reenvía
todo el flujo al mismo destino, por el mismo puerto de salida. En las redes definidas por
software es posible tener acceso a las tablas de flujos del switch donde se encuentran
contenidas estas reglas con la finalidad de modificar, eliminar o añadir nuevas reglas
de flujo, lo cual permite controlar el tráfico de la red de manera dinámica

SDN es un paradigma que separa el plano de control, del resto de capas del dispositivo
tal como se muestra en la Figura No.1. La mayoría de los datos sólo son procesados
por el plano de datos del dispositivo de red, este plano consiste en una serie de puertos
que son usados para la recepción y retransmisión de data, correspondiente a la tabla
de reenvío en la cual se encuentran las interfaces de salida de los datos dependiendo
de su dirección destino. El plano de datos tiene la responsabilidad del almacenamiento
y despacho de datos, junto a la modificación de cabeceras en caso ser necesario.

Isabel Leguìas
10
Tópicos Especiales I – II_2018 Redes Definidas por Software

Figura No.1 Comparación de una red tradicional y Red Definida por Software

El plano de control se separa físicamente de dispositivo de red llevando la toma de


decisiones fuera del dispositivo y poniendo este servicio en un dispositivo centralizado
llamado controlador SDN, dedicado a responder solicitudes de los dispositivos de red y
accesible a configuración a través de APIs.

1.6.1. Ventajas de la Arquitectura SDN

Gestión centralizada: Permite gestionar la totalidad de la red desde un único punto


debido a que toda la inteligencia de la red se encuentra concentrada en el controlador.
Este tiene una visión global de la red y de todos los elementos que se encuentran en
ella. Si se desea realizar algún cambio en la red, solo con informárselo al controlador
ya tendremos el problema resuelto. Nos ofrece soluciones con respecto a problemas
que tienen las redes tradicionales, eliminando fallas de seguridad, cuellos de botellas,
errores de configuración, etc. que traen consigo los múltiples puntos de decisión.

Agilidad: Se puede reservar ancho de banda para servicios especiales o QoS (Calidad
de Servicio) con mayor rapidez y adaptarse a los cambios y prioridades de la red. La
ventaja de esto es que, programando el controlador con anterioridad, podemos ir
cambiando en “caliente” estas características y que la red vaya mutando a medida que
van entrando paquetes nuevos con diferentes prioridades a la hora de ser
transportados.

Bajos costos: Se considera esto al pensar en redes grandes que al no tener que optar
por la homogeneidad de productos y tener un proveedor genérico, abaratan los costos
de la red. Muchos de los controladores son open-source y presentan las mismas o más

Isabel Leguìas
11
Tópicos Especiales I – II_2018 Redes Definidas por Software

características que los controladores propietarios, por ende, no se debe pagar licencias
para poder tener control sobre la red.

Programación automática: Software Defined Networks permite a los administradores,


por medio de programas automatizados que ellos mismos pueden escribir ya que no
depende de software propietario, gestionar y optimizar los recursos de la red de forma
rápida y dinámica. Esto se debe a que se pueden ligar balanceadores de carga, firewalls
o cualquier tipo de aplicación para mantener control sobre la red a los controladores por
medio de API‟s. Estos programas analizan constantemente la red y van informando al
controlador sobre el estado de la misma y los requerimientos de cada paquete o enlace
para que este mantenga un rendimiento constante y libere al administrador de la red de
esta tarea.

Fácilmente programable: Brinda la posibilidad de programar o configurar el plano de


control con mayor facilidad al estar separado del plano de red. La mayoría de los
controladores responden a lenguajes de programación muy usados como Python o
Java, lo que hace que configurarlos y manejarlos resulte muy cómodo, y al estar
separado del plano de datos, se pueden realizar cambios sin cortar el funcionamiento
de la red.

Escalabilidad: Con esta arquitectura, es muy fácil proyectar una red que crezca en
gran medida sin perder ninguna de sus características. Con solo conectar el nuevo
switch al controlador, este se encargará de su configuración y de su puesta a punto
para que realice sus funciones y monitoree su rendimiento. Un solo controlador puede
administrar muchos switches al mismo tiempo y se pueden usar más de un controlador
en la red para tener redundancia por si uno llega a fallar.

Basado en estándares abiertos y proveedores neutrales: Como se implementa a


través de estándares abiertos, simplifica el diseño de la red y las operaciones porque
las instrucciones son proporcionadas por el controlador, en lugar de múltiples
dispositivos, proveedores específicos o protocolos. Ya no se depende de los protocolos
o estándares a los que uno estaba restringido cuando se adquiere un switch Cisco, HP,
Juniper, etc. Ahora uno es capaz de crear sus propios protocolos y decidir el futuro de
los paquetes de la red de acuerdo a las necesidades actuales.

Seguridad: Al estar la red centralizada por el controlador, no se corre el riesgo de


poseer agujeros de seguridad en las configuraciones de los switches. Solo hay un punto
de acceso a la configuración de la red y es el controlador.

En la actualidad existen diferentes arquitecturas de redes definidas por software. Sin


embargo, todas tienen los mismos elementos básicos: la capa de infraestructura la capa
de control, la capa de aplicación, API SouthBound y API NorthBound. Como se muestra
en la figura No.2

Isabel Leguìas
12
Tópicos Especiales I – II_2018 Redes Definidas por Software

Figura No. 2 Arquitectura SDN

1.6.2. Capa de Aplicación

Las aplicaciones SDN comunican sus requisitos a la red a través de una API que
conecta con la capa de control, y están diseñadas para satisfacer las necesidades de
los usuarios. Ejemplos de aplicaciones SDN:

• Enrutamiento adaptativo. Tradicionalmente el enrutamiento conlleva una compleja


implementación y convergencia lenta. Con SDN han surgido dos conceptos populares:
balance de carga, a través de diversas propuestas de algoritmos que solucionen el alto
coste de balanceadores de carga dedicados, y el diseño de intercambio de información
entre capas, para mejorar la integración entre entidades y proporcionar calidad de
servicio (QoS), con Qos-aware Network Operating System (QNOX).

 Itinerancia sin interrupciones. La transferencia o handover al hacer uso de


dispositivos móviles hace necesario prever un servicio continuo. Con SDN, las redes
entre diferentes portadores con diferentes tecnologías tienen un plano de control
común. Hay diferentes propuestas de transferencia como Hoolock en redes Wi-Fi y
WiMAX u Odin para WLANs de empresa.

Isabel Leguìas
13
Tópicos Especiales I – II_2018 Redes Definidas por Software

 Mantenimiento de la red. Herramientas de configuración típicas como traceroute o


tcpdump no son una solución para mantener una red extensa de forma automática, ya
que, como se ha citado, tienden al error humano. Al tener una visión global de la red
y un control centralizado de la configuración, SDN permite nuevas herramientas de
diagnóstico como ndb u OFRewind.

 Seguridad de la red. Las redes tradicionales utilizan cortafuegos o servidores proxy


para proteger las redes físicas, siendo su implementación una tarea pesada para el
administrador. SDN permite analizar patrones de tráfico para posibles problemas de
seguridad como ataques de denegación de servicio, guiar paquetes sospechosos a
sistemas de prevención de intrusión (IPS), modificar reglas de reenvío para bloquear
tráfico, o dar privacidad a los usuarios con ejemplos como AnonyFlow.

 Virtualización de la red. Lo que se pretende es permitir la existencia en una


infraestructura compartida de múltiples arquitecturas de red heterogéneas.
Normalmente, lo que se hace es separar la red física en múltiples instancias virtuales
y asignarlas a diferentes usuarios, controladores o aplicaciones, mediante túneles o
etiquetas VLAN y MPLS, convirtiéndose en una tarea compleja. Con SDN, la
configuración se realiza en el controlador con plataformas como libNetVirt, una librería
de virtualización de red o FlowVisor, colocando un proxy transparente para filtrar
mensajes de control según la red virtual.

 Cloud Computing. Los centros de datos en las redes para „cloud computing‟
necesitan algunas características, como escalabilidad, independencia de la
localización para abastecer recursos dinámicos o diferenciación de QoS. La
conmutación virtual es usada para la comunicación entre máquinas virtuales en el
mismo host e implementada en SDN como Open vSwitch.

1.6.3. Southbound API

En una arquitectura SDN, el Interfaz de Programación de Aplicaciones (API)


Southbound es usado para la comunicación entre el controlador SDN y los switches y
routers de la red. Puede ser OpenSource o propietario. OpenFlow es el interfaz
estándar definido por la ONF para la comunicación del plano de control con el de datos,
permitiendo el acceso directo y la manipulación de las tablas de flujos de los dispositivos
de red tanto físicos como virtuales. Aparte de OpenFlow existen otras southbound APIs
como:

 Border Gateway Protocol (BGP): Utilizado para intercambiar información de


enrutamiento entre hosts de gateways en una red de sistemas autónomos. Se
busca una utilidad en las SDN hibridas

 NetConf: Es un protocolo de gestión de red de la Internet Engineering Task Force


(IETF), es una forma segura de configurar un firewall, switch, router u otro
dispositivo. Fue incorporado recientemente por la ONF y su uso se está
volviendo obligatorio para la configuración de dispositivos compatibles con OF.

Isabel Leguìas
14
Tópicos Especiales I – II_2018 Redes Definidas por Software

 Protocolo de Presencia y Mensajería Extensible (XMPP): Tiene uso en la


mensajería instantánea y detección de presencia en la línea. Funciona entre o
en los servidores y facilita la operación en tiempo real. Busca ser una alternativa
a OF en SDN hibridas y su función sería la de la de asistir al controlador para la
distribución de información de plano de control a los puntos finales de servidor.

 Protocolo de Gestión de Base de Datos OpenvSwitch (OVSDB): Es un protocolo


de configuración OF destinado a administrar las implementación OpenvSwitch

1.6.4. NorthBound API

La Northbound API es usada para comunicar el controlador SDN con los servicios y
aplicaciones corriendo fuera de la red. Se usa para facilitar la innovación y permitir una
automatización y orquestación eficiente de la red para alinearse con las necesidades
de las distintas aplicaciones que corren en la capa superior. Para este interfaz no hay
un protocolo estandarizado y se está trabajando en la actualidad en ello. Muchos
expertos en la materia consideran que la clave del éxito en SDN no se encuentra en
OpenFlow sino en la API Northbound esto se debe a dos diferencias notables

 Las API Northbound no dependen del hardware: no está atada al tiempo de


desarrollo o innovación del hardware, si observamos la figura N0.4. podemos
ver que las dos puntas del interfaz unen productos de software. En cambio, por
ejemplo, OpenFlow, posee versiones recientes que no todos los switches
pueden soportar.

Figura N0. 4 ubicación de las API Northbound

 La mayor parte del valor de las SDN se creará y se capturara en la Capa de


Aplicación: Serán las aplicaciones como firewalls, balanceadores de cargas,

Isabel Leguìas
15
Tópicos Especiales I – II_2018 Redes Definidas por Software

softwares de seguridad, etc., los que trabajaran para modificar la red según las
necesidades de los usuarios, estas peticiones serán enviadas al controlador que
modificara las configuraciones de los switches para que trabajen de la manera
deseada.

Por esto es por lo que muchas empresas ya están trabajando para proponer un
estándar para este interfaz, como así también trabajan muchos proyectos Open-
Source en conseguir la misma meta.

1.6.5. Capa de Control

El controlador es el componente más importante de la arquitectura SDN ya que gestiona


la capa de aplicación e infraestructura mediante dos interfaces, una con cada plano
adjunto. Además, debe monitorizar todos los elementos para dar una visión global de
la red.

Mediante la comunicación con el plano de infraestructura, se recoge el estado de la red


y, según las exigencias de las aplicaciones, actualiza en los dispositivos las reglas de
reenvío, ya que pueden producirse cambios como recuperación tras un fallo, migración
de máquinas virtuales o balance de carga. También se debe mantener una validez y
consistencia a fin de evitar bucles o agujeros de seguridad. Por otra parte, se comunica
con las aplicaciones SDN mediante la “traducción” de sus requisitos con un lenguaje de
alto nivel, teniendo varias opciones como lenguajes existentes (Python, Java, C++),
librerías en un kit software de desarrollador (SDK) como OnePK de Cisco, o lenguajes
nuevos como Flowbased Management Language (FML), Frenetic (similar a SQL) o
Nettle. Además, el estado de la red (basado en número de paquetes, tamaño de los
datos o ancho de banda en un flujo) que se recoge de la capa de infraestructura se
debe comunicar a la aplicación para informarlas y construir, por ejemplo, un gráfico con
la topología existente. En este sentido, la manera más común de hacerlo es mediante
una Matriz de Tráfico (TM), que representa todos los flujos entre los posibles pares
orígenes y destinos de la red.

En cuanto a la capa de control en sí, se necesita que un controlador sea capaz de


comunicarse con otros debido a que:

 No se tiene un controlador estándar en SDN, y en una red grande pueden existir


diversas opciones, por lo que es necesaria la transferencia de información para
la visión global de la red y la toma de decisiones en la misma.

 Un solo controlador puede tener problemas de congestión porque se trata de un


punto crítico. Se puede tener controladores de „backup‟ o de réplica.

La solución más citada en este sentido es HyperFlow, que proporciona una vista
sincronizada y consistente entre múltiples controladores.

Hay que destacar algunas características de los controladores:

Isabel Leguìas
16
Tópicos Especiales I – II_2018 Redes Definidas por Software

• Pueden aparecer conflictos de configuración al haber una comunicación constante


entre aplicaciones y controladores, por lo que hay diferentes soluciones propuestas
como FlowChecker, NICE (basado en verificación de modelos, un método para
sistemas formales) o VeriFlow.

1.6.6. Capa de Infraestructura


Esta capa se encuentra conformada por los dispositivos hardware (switches y router)
físicos que forman una red, el cual realiza tareas de acuerdo con sus dos componentes
lógicos:

 Control. Recoge el estado de la red (topología o estadísticas de tráfico) y se lo


comunica al controlador, el cual a su vez le indica las reglas de reenvío de
paquetes. Esta información es almacenada temporalmente en la memoria local
(como Memoria Direccionable de Contenido Ternario, TCAM o Memoria de
Acceso Aleatorio Estático, SRAM), elemento fundamental de esta entidad lógica,
ya que en caso de ser insuficiente los paquetes serían descartados o enviados
directamente al controlador, con una obvia degradación de la red. Hay diferentes
soluciones a este respecto como la agregación de las rutas (mediante un prefijo
común) o algoritmos para optimizar la caché.

 Datos. El procesador de red reenvía los paquetes en base a las decisiones


tomadas por el plano de control; al recibir un paquete, el dispositivo identifica la
decisión de reenvío que coincide con el paquete. Además de realizar el proceso
en base a las direcciones IP o MAC como en las redes tradicionales, en SDN
puede ser también basándose en puertos TCP/UDP, etiqueta VLAN o puerto de
entrada en el conmutador.

1.7. Beneficios de las Redes Definidas por Software

Uno de los principales beneficios que supone las redes definidas por software sobre las
redes tradicionales es que las aplicaciones pueden tener conciencia de la red, al
contrario que las aplicaciones tradicionales (que sólo pueden describir sus
requerimientos de forma explıcita y directa a través de varios procesos que carecen de
mecanización) y que las redes tradicionales (que no ofrecen una manera dinámica de
expresar el amplio rango de requerimientos de una aplicación y que no exponen su
información y el estado de la red a las aplicaciones que la están usando).

La centralización del plano de control y la separación del plano de datos permite que el
controlador de una red SDN resuma el estado de la red para una aplicación y traduzca
los requerimientos de dicha aplicación a reglas de bajo nivel.

Estos dos factores ofrecen una serie de beneficios que se pueden resumir
en los siguientes puntos:

Isabel Leguìas
17
Tópicos Especiales I – II_2018 Redes Definidas por Software

 Programación directa
El hecho de que el plano de control esté separado del plano de datos permite que la
red sea configurada programáticamente por herramientas de automatización como
OpenStack, Chef, o Puppet.

 Reducción del Capital Expenditure (CapEx)

Las redes definidas por software permiten sustituir el equipamiento de red diseñado
para un propósito particular y sustuirlo por hardware estandarizado,
pudiendo adoptar se esa forma un modelo escalable de crecimiento en
el que se puedan contratar más recursos en la nube en la medida en
que los requerimientos de nuestra red van creciendo.

 Reducción del Operating Expenditure (OpEx)


Es posible desarrollar algoritmos para controlar la red y todos los elementos que
la componen, facilitando el diseño, desarrollo, gestión y escalado de redes. La
capacidad de automatizar el aprovisionamiento y la orquestación de los recursos de
una red incrementa su disponibilidad y confiabilidad reduciendo el tiempo de gestión y
eliminando el factor de error humano.

 Distribución flexible y ágil


El modelo de redes definidas por software favorece la organización y la rápida
implementación de aplicaciones, servicios e infraestructuras.

 Abierto a innovación
De igual manera que se favorece la distribución, también se impulsa la creación de
nuevos tipos de aplicaciones, servicios y modelos de negocio que generen flujos de
ingresos y aporten valor a la red.

 Basado en estándares abiertos y proveedores neutrales


La implementación de estándares abiertos simplifica el diseño de la red y las
operaciones, debido a que las instrucciones son proporcionadas por el controlador, en
lugar de múltiples dispositivos, proveedores específicos o protocolos.

1.8. Retos y Desafíos del SDN

Entre los retos más importantes que las SDN tienen por delante se encuentran la
gestión dinámica de políticas de SLA juntamente con el hecho de poder garantizar
de forma real una QoS contratada. En consecuencia, se podrían realizar acciones
como garantizar a un cirujano, que pueda operar, desde el otro lado del océano,
con un delay máximo garantizado.

Otro reto muy interesante es manejar los ataques DDOS, muy difíciles de combatir
por los administradores de redes. Este tipo de ataques son efectivos justamente
porque la infraestructura de red actual no permite reaccionar de forma ágil y

Isabel Leguìas
18
Tópicos Especiales I – II_2018 Redes Definidas por Software

dinámica frente a éstos; las esperanzas para solucionar estas situaciones son muy
elevadas y esperanzadoras.

De hecho, todas aquellas funciones relacionadas con el dinamismo y la interacción


con la infraestructura de red son susceptibles a considerarse un nuevo reto para
este tipo de redes, como por ejemplo realizar cambios en caliente y que sean
integrados automáticamente.

En el terreno empresarial, de hecho, este tipo de redes ya están jugando un papel


importante, sobre todo en datacenters y empresas que ofrecen IaaS (Infrastucture
as a Service).

Referencias

1. Open Networking Foundation, Disponible en: https://www.opennetworking.org


2. Sdn Central, Disponible en: https://www.sdxcentral.com/
3. Thomas D. Nadeau & Ken Gray, SDN Software Defined Network, 1° ed., O'Reilly, 2013.
4. Óscar Roncero Hervás, Tesis “Software Defined Network”, Universidad Politécnica de
Cataluña, España.
5. Carlos Eduardo Sandoval, Tesis “Implementación de un clúster controlador de SDN basado
em un Framework de Software libre para la infraestructura Cloud de la Facultad de Ingeniería
en Ciencias Aplicadas”, Universidad Técnica del Norte, Ecuador, 2018
6. María J. Brito Ochoa, Tesis “Características de las Redes Definidas por Software (SDN) para
su implementación en el Ecuador”, Universidad Católica de Santiago de Guayaquil, Ecuador
2018.

Isabel Leguìas

También podría gustarte