Você está na página 1de 32

2.

CAPITULO II: MARCO TERICO


2.1 INTRODUCCIN
En las redes de datos, los equipos de conectividad disponen de dos
elementos principales:

el

plano

de

control

que

usa

informacin

de

sealizacin para tomar decisiones de control y el plano de datos encargado


de la transmisin de los datos de usuario [49].

Tradicionalmente, en el plano de datos se ha estructurado una abstraccin de


capas, se ha logrado alcanzar una entrega confiable y la gestin para
transportar una cantidad cada vez mayor y diversa de datos.

2
3
En el plano de control, los protocolos de enrutamiento como BGP y OSPF
realizan una gran cantidad de tareas para determinar hacia dnde tienen
que ir los paquetes para llegar a su destino; pero cada vez, se exigen
ms y ms tareas a este plano como la movilidad, la calidad del servicio,
entre otros.

Software

Defined

Network

es

una

arquitectura

que

aparece

como

respuesta a una necesidad real, es la solucin para las demandas del


plano de control usando software [3].

2.2 REDES DEFINIDAS POR SOFTWARE (SDN)


La Figura 1.1 presenta una vista lgica de la arquitectura SDN, donde la
inteligencia de la red est lgicamente centralizada en los controladores,

los cuales mantienen una visin global de la red. Como resultado, la red
aparece ante las aplicaciones de control como un solo switch lgico, lo que
reduce la complejidad operativa y mejorar la escalabilidad del controlador.

2.2.1 ARQUITECTURA SDN


2.2.1.1 INFRAESTRUCTURA FISICA
Conformada por los PC que pueden ser fsicos o virtuales, los medios de
transmisin y dems elementos fsicos que permiten el transporte de la
informacin, adems de los equipos de conectividad como los routers y los
switches que ejecutan el protocolo OpenFlow
2.2.1.2

PLANO DE DATOS

El plano de datos es el encargado de la transmisin de los datos de


usuario; se ha definido mediante abstracciones de capas (fsica, enlace de
datos, red, transporte, sesin, presentacin, aplicacin modelo ISO/OSI

2.2.1.3

PLANO DE CONTROL

Encargado de usar la informacin de sealizacin para tomar decisiones de


control. En la arquitectura SDN se define la abstraccin de capas que
incluye desde la capa fsica
con

las

arquitecturas

de

hasta

la

capa

aplicacin;

en

contraste

redes tradicionales, en las cuales se definan

solo las tres primeras capas (fsica, enlace de datos, red). Se analizarn
dos elementos fundamentales de este plano: el servidor controlador y las
aplicaciones de control.

2.2.1.3.1 SERVIDOR CONTROLADOR


Un controlador centraliza toda la comunicacin que pasa por cada
uno de los elementos de la red. Las aplicaciones de control que se
ejecutan en el controlador determinan cmo los flujos de trfico van a
comportarse en la red. Adems de usar directivas del protocolo OpenFlow,
tiene una librera de software dedicada para los programas de control
2.2.1.3.2 APLICACIONES DE CONTROL
Permiten manejar los flujos basados en ciertos patrones en cuanto a
seguridad, control

de

acceso,

enrutamiento,

gestin

de

ancho

de

banda, entre otros Se ampliar la informacin de las aplicaciones de control


en la seccin
2.2.1.4

PROTOCOLO OPEN FLOW

OpenFlow es la interfaz estndar definida para la estructuracin de la


comunicacin entre los planos de control y de datos de los dispositivos de
red compatibles en una arquitectura SDN. OpenFlow permite el acceso
directo y la manipulacin del plano de control en los dispositivos de red,

tanto fsicos como virtuales [6]. Se ampliar la informacin del protocolo


OpenFlow en la seccin 2.3.
2.3 PROTOCOLO OPEN FLOW
2.3.1 INTRODUCCIN
OpenFlow se ha convertido en la solucin ante la inexistencia de una interfaz
abierta y libre para el plano de control, motivo por el cual los dispositivos
de red ahora son considerados como cerrados y propietarios. El protocolo
OpenFlow es necesario para mover el control de la red fuera de los
switches, es decir, hacia un software de control lgicamente centralizado.

OpenFlow se puede comparar con el conjunto de instrucciones de una


CPU. Como se muestra en la Figura 1.2, el protocolo especifica las primitivas
bsicas que pueden ser utilizadas para programar el plano de control de
dispositivos de red, al igual que el conjunto de instrucciones de una CPU
permite programar un sistema informtico.
FIGURA 2 Tabla de flujo OpenFlow comparable con un set
de instrucciones
El protocolo OpenFlow se implementa en los dispositivos de la infraestructura
de red y en el controlador SDN. Utiliza el concepto de flujos para identificar

el trfico de red basado

en

reglas

predefinidas

que

pueden

ser

estticamente o dinmicamente programadas en el controlador. Adems,


permite definir cmo el trfico debe fluir a travs de los dispositivos de
red, basados en ciertos parmetros tales como los patrones de uso,
aplicaciones y recursos.

Haciendo una comparacin con el enrutamiento actual basado en el protocolo


IP que no proporciona un nivel de control, debido a que los flujos entre
dos

puntos

finales deben

seguir

caminos

travs

de

la

red

independientemente de sus diferentes requerimientos; con OpenFlow se


puede

conseguir

que

la

red

sea

programada

en base

flujos,

proporcionando un control extremadamente granular, permitiendo a la red


responder ante cambios en tiempo real a nivel de aplicacin, usuario y sesin.

Las

SDN

basadas

en

OpenFlow

pueden

implementarse

junto

con

las redes existentes, tanto fsicas como virtuales. Los dispositivos de red
pueden soportar el reenvo de trfico basado en OpenFlow, as como el
reenvo tradicional, lo que hace que sea muy fcil para
que

de

manera

progresiva

los usuarios,

introduzcan tecnologas SDN basadas en

OpenFlow, incluso en ambientes de red de mltiples


proveedores.
OpenFlow

est

implementacin
actualizacin,

siendo
de

que

un

ampliamente
firmware

proporciona

una

simple
ruta

adoptado
o

algn

mediante

la

software

de

de migracin para aquellos

segmentos de la red que necesiten la funcionalidad SDN

2.3.2 VERSIONES OPEN FLOW


2.3.2.1 OPEN FLOW 1.1
Agrega el uso de mltiples tablas: La versin 1.0 solamente tena 1 tabla lo
que restringa las capacidades del hardware. Ahora con la implementacin de
mltiples tablas, se tiene la posibilidad de organizar cada tabla para una
caracterstica aumentando el rendimiento y la escalabilidad.

Grupos: Se pueden adicionar grupos de puertos con los que se

pueden hacer acciones como redundancia.

Soporte de etiquetas MPLS y VLAN: Estas capacidades adicionan

flexibilidad en la programacin del plano de forwarding, ya que los


paquetes proveen de ms informacin al controlador.

Puertos Virtuales: Estos permite que OpenFlow pueda implementar

virtualizacin de la red para mltiples clientes a escala.

Fallo en la conexin del controlador : OpenFlow 1.0 ofrece un flujo

de emergencia que en la prctica era difcil de implementar .La versin 1.1 se


aade 2 modos en caso de desconexin del elemento de red :
o

El modo seguro en el cual el switch sigue trabajando con los

flujos que ya tiene establecidos.


o

El modo de falla en el cual el switch desactiva el modo

OpenFlow .

2.3.2.2

OPEN FLOW 1.2

1
Extensin de soporte Match : Elimina el tamao fijo que tenan los
matchs y agrega nuevos campos.

Soporte bsico IPV6: Con los campos adicionados en el

match se empieza a generar soporte para IPV6.

Cambia mecanismo de conexin al controlador: Los Switches se

podrn conectar
a ms de 1 controlador.

2.3.2.3

OPEN FLOW
Expande el Soporte sobre IPV6: Adiciona ms campos en el match.

Estadsticas de los flujos: Al establecer un flujo, se puede

agregar la opcin de
medir y controlar la tasa de los paquetes.

Tunnel-ID meta data: Agrega este campo en el match el cual

expone el proceso
Pipeline

de meta data a un puerto lgico.

2.3.3 SWITCH OPEN FLOW


Un switch OpenFlow se fundamenta en una idea simple para su
funcionamiento, la cual consiste en aprovechar el hecho de que la
mayora de los switches y routers contienen tablas de flujo mediante las

7
cuales implementan firewalls, NAT , QoS, y para
Mientras

que

cada

tabla

de

flujo

de

los

recopilar

estadsticas.

diversos proveedores

presenta diferencias una de otra, se ha logrado identificar un conjunto


comn de funciones que se ejecutan en muchos switches y routers de
las cuales OpenFlow hace uso.
La ruta de los datos en un switch OpenFlow consiste en una tabla de
flujo, y una accin asociada con cada entrada de flujo.
2.3.3.1

COMPONENTES

La Figura 1.3 muestra los componentes de un switch OpenFlow.

Un switch OpenFlow consta de una o ms tablas de flujo, con las cuales


se realiza las bsquedas de paquetes (matching) y su reenvo; y un canal
OpenFlow con un controlador externo, el cual gestiona el switch a
travs del protocolo OpenFlow, pudiendo agregar, actualizar y eliminar las
entradas en las tablas de flujo.

El emparejamiento o match comienza en la primera tabla de flujo y puede


continuar con las tablas de flujo adicionales. Las entradas de flujo
comparan los paquetes en orden de prioridad con la primera coincidencia en
una entrada en cada tabla que ha sido usada. Si se encuentra una entrada
coincidente, las instrucciones asociadas con

Figura 1. 5. . Encabezado utilizado en los switches OpenFlow "Tipo

esta

entrada

especfica

se

ejecutan.

Si

una

coincidencia

no

es

identificada en una tabla de flujo, la salida depende de la configuracin del


switch: el paquete puede ser enviado

al

controlador

sobre

el

canal

OpenFlow, el paquete puede descartarse o podra continuar a la siguiente


tabla de flujo.
2.3.3.1.1 TABLA DE FLUJO

Una tabla de flujo tiene asociada una accin con cada entrada de flujo, para
indicarle al switch cmo procesar el flujo. Los componentes de las tablas
de flujo OpenFlow son las entradas de flujo, las mismas que contienen los
campos que indica la Figura

FIGURA 4

Cada entrada de la tabla de flujo contiene:

Una regla, que define el flujo mediante el establecimiento de los

valores en los diferentes campos de un encabezado a nivel de Ethernet, IP y


TCP
-

Una accin, que define cmo los paquetes se deben procesar.

Estadsticas, que mantienen un registro del nmero de paquetes y

bytes para cada flujo, y el tiempo transcurrido desde que a un paquete


se le aplic la regla, con el fin de ayudar con la eliminacin de los
flujos inactivos y a mantener las actualizaciones.
En la primera generacin de switches OpenFlow, los switches "Tipo
0", que se mencionan posteriormente en la seccin 1.3.2.2, disponen de
un encabezado como se muestra en la Figura 1.5. Un flujo TCP podra
ser especificado por los diez campos, mientras que un flujo IP puede no
incluir los puertos de transporte en su definicin.

Cada switch OpenFlow contiene mltiples tablas de flujo y cada tabla


de

flujo contiene

pipeline

mltiples entradas

de

flujo.

El

procesamiento

del

de OpenFlow define cmo los paquetes interactan (se comparan)

en las tablas de flujo (ver Figura 1.6); el paquete entrante se compara en


la primera tabla de flujo, sino existen coincidencias, se actualiza el
nmero de la tabla de flujo y se comparan con la n-sima tabla del
pipeline, hasta encontrar una coincidencia, despus de la cual se ejecutar
un conjunto de acciones sobre el paquete y se enviar al correspondiente
destino; caso contrario se tienen dos opciones que dependen de la
configuracin del switch, se enviar de vuelta al controlador o se descartar el
paquete. Un ejemplo del procesamiento que recibe cada paquete a travs
de un pipeline en una tabla en particular se muestra en la Figura

Figura 1. 6. . Encabezado utilizado en los switches


OpenFlow "Tipo

Los pasos realizados en el pipeline son:


1. El encabezado del paquete entrante se compara con la informacin
contenida
en la tabla de flujo y se elige la coincidencia con la mayor prioridad.
2. Cuando

el

paquete

distintas instrucciones:

ha

sido

detectado

(matched)

se

aplican

Modificacin

del

paquete

actualizacin

de

los

campos

coincidentes.
-

Actualizacin del conjunto de acciones.

Actualizacin del metadato, que determina la coincidencia en el

flujo.
3.

Envo del dato coincidente y su correspondiente conjunto de

acciones a la siguiente tabla de flujo.

2.3.3.1.2 SECURE CHANNEL


El canal OpenFlow permite la conexin del switch con un proceso de control
remoto (servidor controlador). A travs de esta interfaz, el controlador
configura y gestiona el switch, permitiendo que los paquetes y las reglas
puedan ser enviados entre un controlador y el switch utilizando el protocolo
OpenFlow. El canal OpenFlow se llama seguro ya que maneja el protocolo
9
SSL , necesario para que la comunicacin tenga mayor seguridad al
momento de enviar los paquetes
2.3.3.2

CLASIFICACION DE LOS SWITCHES OPEN FLOW

Es til clasificar a los switches OpenFlow en tres grupos:


-

Switches

dedicados,

que

solo

soportan

OpenFlow

no

son

compatibles con el procesamiento normal de las capas 2 y 3.


de

Switches habilitados para OpenFlow, para propsitos generales


uso comercial,

en

los

cuales

el

protocolo

OpenFlow

las

interfaces

se han aadido como una nueva caracterstica a los switches

tradicionales.
-

Switches

Tipo

0,

los

cuales

presentan

los

requerimientos

mnimos para ajustarse a las funcionalidades de un switch OpenFlow.

2.3.3.3

SWITCHES OPEN FLOW DEDICADOS

Un switch OpenFlow dedicado

soporta nicamente los formatos de

encabezados y acciones definidas en la especificacin del switch OpenFlow


[42]. El switch contiene las rutas de datos para reenviar los paquetes entre
los puertos, tal como se define en el servidor controlador. La Figura 1.8
muestra un ejemplo de un switch OpenFlow dedicado.

En la Figura 1.8, la tabla de flujo est controlada a distancia a travs de


un canal seguro.
solamente

por

Los

flujos

se

definen

ampliamente

se

limitan

las capacidades de la aplicacin en el controlador. Por

ejemplo, un flujo puede ser una conexin TCP, con paquetes todos
provenientes de una direccin MAC o IP en particular, o todos los
paquetes con la misma etiqueta VLAN, o todos los paquetes desde el
mismo puerto del switch, entre otros.
Cada entrada de flujo tiene asociada una accin simple; las tres acciones
bsicas que todos los switches OpenFlow dedicados deben soportar son:

Reenviar el flujo de paquetes a un determinado puerto, para permitir

que los paquetes se enven a travs de la red.


-

Encapsular y reenviar estos paquetes de flujo a un controlador. El

paquete se entrega

al

secure

channel,

donde

se

encapsula

para

luego enviarlo al
controlador, el cual decide si la entrada de flujo se debe aadir a la
tabla de flujo para su procesamiento.
-

Descartar

el

flujo

de

paquetes.

Puede

ser

utilizado

para

la

seguridad en la red, frenar los ataques de denegacin de servicio, o para


reducir el trfico de
broadcast.
2.3.3.4

SWITCHES HABILITADOS para open flow

Algunos switches, routers y puntos de acceso sern mejorados con la


integracin de OpenFlow, aadiendo la tabla de flujo como lo especifica

OpenFLow, el secure channel y el protocolo OpenFlow. Por lo general, la


tabla de flujo volver a utilizar el hardware existente, mientras que el
secure channel y el protocolo OpenFlow se adaptarn para poder ser
ejecutados en el sistema operativo del switch. La Figura 1.9 muestra una
red con un switch habilitado para OpenFlow y puntos de Acceso.
Figura 7 . . Encabezado utilizado en los switches OpenFlow "Tipo
En el ejemplo de la Figura 1.9, todas las tablas de flujo se gestionan
usando el mismo controlador. El protocolo OpenFlow permite al switch ser
controlado por dos o ms controladores para incrementar el rendimiento del
sistema.
Los switches habilitados para OpenFlow tienen la capacidad de aislar
el trfico experimental (procesado por la tabla de flujo) del trfico de
produccin que ser procesado por las capas 2 y 3 en sus pipelines. Hay
dos maneras de conseguir esta separacin. La primera es aadir una cuarta
accin:
-

Reenviar los paquetes pertenecientes a este flujo a travs del

procesamiento normal del pipeline del switch.

La otra es definir una VLAN para separar el trfico de produccin


del trfico Experimental
2.3.3.5
Si

un

SWITCHES TIPO 0
switch

soporta

los

formatos

de

encabezado

las

cuatro

acciones bsicas mencionadas anteriormente, entonces se lo denomina un


switch "Tipo 0".
2.3.4 SERVIDOR CONTROLADOR SDN

Un controlador centraliza el control de la comunicacin que pasa por cada


uno de los elementos de la red. Se podra decir que funciona como un
sistema operativo de red, ya que tiene una visin general de la misma al
mantener la informacin de estado de cada
aplicaciones

que

se

ejecutan

en

el

elemento,

adems

las

controlador determinan cmo los

flujos van a comportarse en la red.


Cada elemento de la red se reporta o se comunica con el controlador
siempre que sea necesario. El controlador maneja el protocolo OpenFlow y
es mediante ste con el cual se comunica con los otros equipos. Una
aplicacin de control le dice al controlador como procesar los flujos.
2.3.5 Sofware servidor controlador
En esta seccin se expondrn brevemente las herramientas de software
existentes para el servidor controlador.

Es importante mencionar que el

anlisis en detalle de estas herramientas se realizar en el captulo dos,


en donde se elegir el software idneo para la implementacin del prototipo.
NOX es el controlador original de OpenFlow, inicialmente desarrollado
por Redes Nicira; desde que fue liberado bajo la licencia GPL ha sido
utilizado por decenas de grupos de investigacin. La versin ms reciente
de NOX presenta un cambio de enfoque proporcionando un framework
ms

ligero

de

alto

rendimiento

para

el desarrollo del controlador

usando C++ en Linux.


Especficamente,

se

trata

de

una

plataforma

para

la

creacin

de

aplicaciones de control de red. Algunas de las caractersticas esenciales de


NOX son:
-

Proporciona soporte y una API para OpenFlow 1.0.

Las reglas de definicin de trfico son escritas en C++.

Est

dirigido

las

recientes

distribuciones

de

Linux

(Ubuntu

11.10 y particularmente 12.04).


-

Incluye

acciones

componentes

como:

que

descubrimiento

le

permiten

de

la

topologa,

realizar

algunas

aprendizaje

de

conmutacin y el anlisis de redes extendidas de conmutacin.


-

NOX proporciona una API de alto nivel para OpenFlow, as como

a otras funciones de control de red. El ncleo o core de NOX proporciona


aplicaciones con una vista abstracta de los recursos de la red, incluyendo
la topologa de red y la ubicacin de todos los equipos detectados.

2.3.5.1
POX

POX
es

un

controlador

OpenFlow

desarrollado

para

cubrir

los

requerimientos de las SDN usando Python en Windows, Mac OS o Linux.


POX se desarroll a partir de NOX, y es uno de los frameworks de
desarrollo constante y

creciente, que permite escribir un controlador

OpenFlow.

Adems de ser un framework

para la interaccin con los switches de

OpenFlow, est siendo usado para explorar nuevos prototipos de redes con
distribucin, para la depuracin de las SDN y el diseo de controladores. Son
Algunas de las caractersticas ms relevantes de POX son:
-

Interfaz OpenFlow basada en Python.

Los

componentes

muestran

deteccin de la topologa, entre otras.

la

seleccin

de

ruta

de

acceso,

Est dirigido especficamente a Linux, Mac OS y Windows.

Interfaz grfica y herramientas de visualizacin similares a las de NOX.

2.3.5.2

Beacon

Actualmente,
OpenFlow
recursos

los

son
de

I/O

parmetros
el rendimiento,
y

el

bucle

que
la

se

miden

latencia,

la

en

un

variacin

controlador
de

los

de procesamiento. Beacon ofrece una

serie de paquetes (packages) que proveen funciones avanzadas, como


la deteccin de la topologa, la determinacin de la ruta ms corta de capa
2, una interfaz web de usuario, entre otras, que estn habilitadas en la
distribucin por defecto.
Beacon es un controlador OpenFlow rpido, multiplataforma, modular,
basado en Java, compatible con la programacin basada en threads

10

eventos. Algunas de las caractersticas ms relevantes son:

Estable: Beacon (en su versin comercial), ha sido utilizado en

muchos proyectos de investigacin y algunas

implementaciones de prueba.

Actualmente es capaz de soportar 100 switches virtuales y 20 switches


fsicos en redes de datos experimentales.
Mltiple-plataforma: est escrito en Java y se ejecuta en muchas
plataformas, desde servidores Linux multi-core hasta telfonos Android.
GPL

Cdigo abierto: est licenciado bajo una combinacin de la licencia


11

v.2 y la Licencia de la Universidad de Stanford.

Dinmico:

pueden

los

paquetes

(packages)

de

cdigo

en

Beacon

ser inicializados, detenidos, actualizados e instalados en tiempo de

ejecucin, sin interrumpir a otros paquetes (packages).


-

De rpido desarrollo: ya que es fcil de descargar y correr. Java

y Eclipse simplifican el desarrollo y la depuracin de sus aplicaciones.


-

Rpido: debido a su caracterstica de multiproceso.

Interfaz

web

web

de

usuario:

opcionalmente

incorpora

al

servidor

Jetty Enterprise12 y un marco de trabajo extensible con una

interfaz de usuario personalizada.


-

Guas. La documentacin de Beacon incluye tutoriales y guas para

ayudar a conseguir un funcionamiento productivo de inmediato, adems de


un foro de usuarios activos.

La versin oficial de Beacon actualmente es la 1.0.0. En cuanto al sistema


operativo, Beacon presenta un rendimiento dramticamente superior en una
JVM (Java Virtual Machine) de 64 bits ejecutada

sobre un sistema

operativo de 64 bits. Para la implementacin de Beacon se recomienda


utilizar la versin ms reciente de Java basada en Oracle JRE/JDK

13

; el

uso de las versiones anteriores puede provocar una disminucin en su


rendimiento.
2.3.5.3

Floodlight

El controlador FloodLight es capaz de soportar y trabajar con switches


fsicos y switches

virtuales

que

manejen

el

protocolo

OpenFlow.

FloodLight

ha

sido desarrollado

por

una

comunidad

abierta

de

investigadores bajo licencia Apache y


est basado en el lenguaje Java. El controlador FloodLight dispone de un
conjunto de funcionalidades para controlar e investigar una red OpenFlow.
La arquitectura del controlador consta de un mdulo principal, que es el
responsable de escuchar los paquetes OpenFlow y realizar la distribucin
de eventos; y, una serie de mdulos secundarios que se pueden registrar con
el mdulo principal o de core para manejar esos eventos.

El controlador est previsto para manejar los paquetes y para instalar


cualquier entrada en una tabla de flujo.

2.3.6 Aplicaciones de control en sdn


En la arquitectura SDN se pueden incluir varias aplicaciones para la gestin
del plano de control, las cuales se ejecutan sobre el servidor controlador y
corren en la capa aplicacin del plano de control. Estas aplicaciones
permiten ofrecer soluciones completas de networking. Por ejemplo, para
citar algunas de estas, se puede mencionar a aplicaciones para NAC
(Network

Access

Control),

para

enrutamiento

para

seguridad;

continuacin se realiza una breve descripcin de cada una.


2.3.6.1

Control de acceso a la red (NAC)

La cual permite controlar el acceso a la red, mediante el uso de reglas que


permiten definir qu equipos tienen acceso a la misma.El control de acceso a
la red (NAC) es un enfoque de la seguridad en redes de datos que intenta
mediante restricciones de trfico reforzar la seguridad de la red de
acceso.

El propsito de una solucin NAC es prevenir que equipos que no


dispongan de antivirus, parches, o software de prevencin de intrusos
accedan a la red poniendo en riesgo los datos. Adems de definir
polticas, tales como tipos de trfico para permitir o denegar el acceso a
ciertas reas de la red.

2.3.6.2

Enrutamiento

Algunos

proyectos

de

referencia

ya

desarrollados

en

cuanto

aplicaciones para realizar enrutamiento son:


2.3.6.2.1 Flowscale
I Es un proyecto para dividir y distribuir el trfico a travs de mltiples
puertos de un switch fsico. Mediante el uso de software permite el manejo
de las especificaciones del plano de control y el hardware del switch para
realizar el reenvo de paquetes. Algunas caractersticas principales de
FlowScale:

Interfaz web para gestionar los switches conectados a FlowScale y


administrar cmo el trfico se divide, adems ofrece una visin de las
estadsticas y el estado del mismo.
Polticas

de

configuracin

para

cuando

el

controlador

OpenFlow

enve las reglas, basadas en direccin IP, direccin MAC o el puerto TCP /
UDP
.

Multiplataforma: FlowScale se basa en Java y puede ejecutarse en


mltiples plataformas. Ha sido probado en diferentes distribuciones de
Linux, as como Mac OS X.
2.3.6.2.2 QUAGGA
Es

una

suite

de

software

de

enrutamiento,

implementaciones de OSPF v2 y v3, RIP

14

que

proporciona

v1 y v2, y BGP-4 y hardware

de los switches habilitados para OpenFlow. Quagga explora la posibilidad


de

mover

por

completo

esta

pila

de protocolos

hacia

la

lgica

centralizada de los controladores utilizando el protocolo OpenFlow como


canal nico de comunicacin con los sistemas de reenvo. Algunas
caractersticas de Quagga son:
Soporte de SNMP
Quagga

utiliza

15

y de las MIB

una

16

arquitectura

de

software

avanzada

para

ofrecer alto rendimiento y soporte multi-servidor.


-

Provee una interfaz de usuario interactiva para cada protocolo de

enrutamiento.
Quagga se distribuye bajo la Licencia Pblica General de GNU.

2.3.6.2.3 ROUTER FLOW


Es

un

proyecto

virtualizacin

de

cdigo

abierto

para

proporcionar

servicios

de

de hardware de enrutamiento IP en redes OpenFlow.

RouteFlow permite determinar una ruta

de

migracin

controlador

SDN

redes

IP

hbridas, adems

de

la

innovacin

del

alrededor

de

enrutamiento

los

centrada
despliegue

en

diferentes niveles de la virtualizacin de la red.

travs
IP

del

RouteFlow

est

compuesto

por

una

aplicacin

para

el

controlador

OpenFlow, un servidor RouteFlow independiente, y un entorno de red


virtual que reproduce la conectividad de una infraestructura fsica.

2.3.6.3

SEGURIDAD

A continuacin se indican dos proyectos de referencia ya desarrollados en


cuanto a aplicaciones para proveer seguridad en una red:
2.3.6.3.1 FORTNOX
Fortnox permite comprobar los flujos y las contradicciones de las reglas
en tiempo real, mediante la implementacin de un algoritmo de anlisis
para
reglas

el

controlador NOX. Fortnox comprueba automticamente si las

de

flujo

violan

las

polticas de seguridad, pudiendo detectar

contradicciones a las reglas, incluso en la presencia de flujo dinmico en un


tnel utilizando reglas dentro de un determinado conjunto de acciones. Su
objetivo es mejorar NOX, con una capacidad de hacer cumplir las
restricciones

de

flujo

de

red

(expresados

como

reglas

de

flujo)

generados por las aplicaciones de seguridad de los switches OpenFlow en


respuesta a la percepcin de las amenazas operacionales en tiempo de
ejecucin.
2.3.6.3.2 FRESCO
Fresco permite acceder a la secuencia de comandos de flujo de red
y

a las estadsticas

mitigar

las

de

toda

la

conexin,

con

el

propsito

de

amenazas detectadas por desarrollar nuevas reglas de

restriccin de flujo en el controlador. Fresco, proporciona un framework de


seguridad OpenFlow para el desarrollo de aplicaciones diseadas para

facilitar el rpido diseo y composicin de mdulos de seguridad; pudiendo


replicar una serie de funciones de seguridad esenciales, tales como
cortafuegos, detectores de exploracin o detectores de intrusos
2.3.7 VIRTUALIZACION DE LSO COMPONENTES DE Red
2.3.7.1 Introduccin
Los

modernos

diseos

de

redes

virtualizacin de sus componentes para

generalmente

emplean

la

mejorar la eficiencia de la red

mediante la creacin de equipos basados en software ejecutados en un


nico equipo fsico. La adopcin de un entorno virtualizado permite que
los administradores tengan una mayor flexibilidad para
objetivos

operacionales

de

la

red,

fsica subyacente. Desafortunadamente,

separados
mientras

cumplir

de
la

con

los

la infraestructura
informtica

el

almacenamiento han aprovechado el paradigma de la virtualizacin, el


campo del networking sigue siendo, en gran parte, desarrollado en el
mundo fsico. Las redes se han convertido en un cuello de botella
operacional significativo. Mientras que las tareas bsicas de enrutamiento
se pueden implementar en topologas arbitrarias, la implementacin de
casi todos los otros servicios de red (polticas de ruteo, ACL

17

, QoS)

se basan en la topologa dependiente del estado de la configuracin. La


gestin de la configuracin tiende a ser propensa a errores al aadir o
sustituir equipos, al cambiar la topologa, al mover las ubicaciones fsicas o
al manipular los fallos de hardware que generalmente requieren una
configuracin manual. Las redes han soportado durante mucho tiempo
implementaciones de

virtualizacin muy primitivas

como los enlaces

virtuales (tneles), dominios de broadcast (VLAN), contextos

de

envo

)
(VRF , y algunos componentes de recuperacin de fallos (VRRP). Sin
embargo, estas implementaciones no han cambiado significativamente el
modelo de funcionamiento de las redes.
2.3.7.2

Virtualizacin

La

virtualizacin

de

las

funciones

de

red

proporciona

los

administradores de la misma un mecanismo para implementar y administrar


los servicios de red.
Tiene la capacidad de desacoplar las funciones de red, como por
ejemplo, la traduccin de direcciones de red (NAT), las funciones de
firewall, la deteccin de intrusos, el servicio de nombres de dominio
(DNS), entre otras, de las aplicaciones de hardware; ya que ahora estas
funciones sern ejecutadas nicamente en software.

Este concepto nace con el fin de acelerar los procesos de desarrollo de los
servicios de red y permite a los administradores reducir la necesidad de
comprar hardware especialmente diseado para funciones especficas,
adems de reducir el espacio, energa de equipos y simplificar el despliegue
y la gestin de los servicios de red.

Adicionalmente, permite reducir el tiempo de implementacin de los nuevos


servicios que surgen debido a las cambiantes necesidades de los usuarios,
tambin reduce los riesgos asociados con el despliegue de los mismos lo que
permite una fcil evolucin y adaptacin.

El presente Proyecto pretende mostrar cmo se puede virtualizar el plano de


control
de los switches; para que en lugar de interconectar directamente al
hardware respectivo, el software de control disponga de uno o ms
componentes lgicos para controlar el envo de paquetes.

2.3.7.3

Componentes de una red

La red se puede considerar como si tuviera varias capas lgicas distintas:

Plano de control: se refiere a los mecanismos bsicos utilizados para

expresar la funcionalidad deseada de la red, ya sea a travs de la


configuracin manual o el control programtico.
-

Plano de reenvo lgico: corresponde a la abstraccin lgica de la red.

Network

Hypervisor:

toma

el

plano

de

reenvo

lgico

lo

mapea en el hardware fsico subyacente.


-

Plano de reenvo fsico: se refiere al conjunto de elementos fsicos

o lgicos de la red.

2.3.7.3.1 Plano de reenvi lgico


La interfaz de este elemento lgico incluye:
-

Bsqueda de tablas: el elemento de reenvo lgico expone una o

ms tablas de reenvo. Generalmente, esto incluir las tablas de capa 2,


capa 3 y ACL. Las acciones de reenvo corresponden a las acciones
disponibles en el plano de reenvo fsico, como la sobre-escritura de los
encabezados, el encolamiento y filtrado de paquetes.
-

Puertos: este elemento lgico contiene un conjunto de puertos de

reenvo lgicos. Estos puertos se pueden enlazar a puertos fsicos o a


abstracciones de otro puerto que posea interfaces de la mquina virtual,
VLAN o tneles.

2.3.7.3.2 Network hypervisor


El network hypervisor se conecta con todos los switches en la red y
mantiene una visin global de todos los recursos fsicos en la red y
todos los planos de reenvo lgico configurados.
El network hypervisor muestra dos enfoques (Figura 1.10): en la parte
superior, dado por el plano de control, que presenta una vista de la red
lgica con la funcionalidad deseada, y en la parte inferior, dado por un
sistema centralizado de gestin de red que presenta una vista de la
topologa de la red fsica.

2.3.7.3.3 Plano de reenvi fsico


Los elementos de reenvo son los switches basados en hardware o
software. El network hypervisor es responsable de la configuracin de
estos

elementos

comportamiento

de reenvo
deseado,

de

como

modo

que

la

red

implemente

el

se especifica en el plano de reenvo

lgico.

2.3.7.4

Virtualizacin del plano de control

El plano de control se define tradicionalmente en el hardware, por lo


que

es

una interfaz

abstracciones

bsicas

que

ha

evolucionado

lentamente

sus

(tablas, puertos, contadores, paquetes de reenvo)

no han cambiado significativamente con el tiempo.


2.4 Sofware para la virtualizacin
En el presente Proyecto se instanciarn dos switches basados en software
haciendo uso de mquinas virtuales, para lo cual se emplear Open

vSwitch y Userspace OpenFlow Switch. Es conveniente indicar que la


virtualizacin a nivel de capa enlace de datos y capa red se realizar a travs
de este software.

2.4.1 Open vswitch


Open vSwitch es un software de cdigo abierto, diseado para ser utilizado
como un switch virtual en entornos de servidores virtualizados. Es el
encargado de reenviar el trfico entre diferentes mquinas virtuales en el
mismo host fsico y tambin reenviar el trfico entre las mquinas virtuales y
la red fsica.
Open

vSwitch

es

objetivo

es

soporta

interfaces

un

software

la implementacin
de

multicapa

de

una

para

plataforma

switches,
de

calidad

cuyo
que

gestin estndar y exponga las funciones de

forwarding de forma programable.

Open

vSwitch

est bien

adaptado

para funcionar como

un switch

virtual en ambientes implementados con mquinas virtuales. Adems de


exponer interfaces estndar de control y visibilidad con la capa de red virtual,
fue diseado para soportar una
servidores

fsicos.

Open

distribucin

vSwitch

soporta

virtualizacin basadas en Linux, incluyendo


Xen/XenServer

20

, KVM

21

y VirtualBox

22

travs

de

mltiples

mltiplestecnologas de

La mayor parte del cdigo est escrito sobre una plataforma independiente en
C y es fcilmente

portable

otros

entornos.

La

versin

actual

de

Open vSwitch es compatible con las siguientes caractersticas:

Modelo estndar de VLAN 802.1Q con puertos troncales y de acceso.

23
24
NetFlow , sFlow
, y mirroring para una mayor visibilidad.

Configuracin de QoS (Quality of Service), GRE

OpenFlow 1.0 o extensiones posteriores.

25

, GRE sobre IPSec.

Algunas de las caractersticas de Open vSwitch se muestran en la Figura 1.11


2.4.1.1

Componentes open vswitch

Los principales componentes son:

Ovs-vswitchd, un demonio que implementa el switch, con un

mdulo del kernel de Linux para conmutacin basada en flujos.


-

Ovsdb-server, un servidor de base de datos ligero que ovs-vswitchd

consulta para obtener su configuracin.

Ovs-brcompatd, un demonio que permite a ovs-vswitchd actuar

como un reemplazo momentneo del bridge de Linux.


-

Ovs-dpctl, una herramienta para configurar el mdulo del kernel del

switch.
-

Ovs-vsctl, una utilidad para consultar y actualizar la configuracin

de ovs- vswitchd.
-

Ovs-appctl, una utilidad que enva comandos para ejecutar los

demonios de Open vSwitch.


-

Ovsdbmonitor, una herramienta GUI para la visualizacin remota

de las bases de datos OVS y las tablas de flujo OpenFlow.


Open vSwitch tambin proporciona algunas herramientas:

Ovs-controller, un controlador OpenFlow bsico.

Ovs-ofctl,

una

utilidad

controladores OpenFlow.

para

consultar

manejar

switches

Ovs-pki,

una

utilidad

para

crear

administrar

la

clave

pblica de la infraestructura de switches OpenFlow.

Open vSwitch puede ser portado a diferentes sistemas operativos y


plataformas de hardware. Adems se ejecuta en servidores fsicos y
soporta la administracin remota de una manera que hace que sea ms
fcil para los desarrolladores de las plataformas de virtualizacin. Open
vSwitch proporciona dos protocolos abiertos que estn

especialmente

diseados para la gestin remota en ambientes de redes virtualizadas:


OpenFlow, que expone estados de reenvo basado en flujos, y el
protocolo de gestin de OVSDB

26

, que expone el estado del puerto del

switch.

2.4.2 Userspace switch en vmware


UserSpace Switch en VMWare, permite experimentar la funcionalidad
bsica del protocolo OpenFlow sin comprometer demasiados recursos de
hardware, para ello se emplean mquinas virtuales que proporcionan una
alternativa viable y el uso deL controlador de referencia OpenFlow.VMWare
es una herramienta de virtualizacin, que permite crear una red de
mquinas virtuales completas con switches y hubs virtuales con relativa
facilidad.

Para la implementacin de redes SDN se pueden crear las mquinas


virtuales correspondientes al controlador, al switch virtual y las PC clientes.
Adems, permite la

configuracin

de

diferentes

topologas

de

red

mediante la manipulacin de los modos de las interfaces de red en

cada mquina virtual, siendo VMWare virtual switch y VMware virtual hub
los usados para el desarrollo bsico de una red SDN.
2.4.2.1

Controlador de referencia openflow

El

controlador

de

referencia

es

una implementacin simple que viene con la distribucin de referencia

de Linux y puede gestionar


del

protocolo

OpenFlow
los

equipos

se
de

denomina

ovs-controller,

conectividad

travs

OpenFlow, hacindolos funcionar como switches de capa

2 o inclusive como hubs. Utiliza el lenguaje de programacin C para definir


las reglas de trfico
2.4.3

Você também pode gostar