Beruflich Dokumente
Kultur Dokumente
Las razones del lento despegue comercial de WSN son múltiples. Sin embargo, en la misma base
hay una razón técnica: los WSN se caracterizan por requisitos profundamente diferentes según
la aplicación específica y el escenario de despliegue. En consecuencia, como ampliamente
reconocido [8], no hay algo así como una solución única para WSN. En cambio, hay una gran
cantidad de soluciones verticales específicas de la aplicación que han resultado en un contexto
y mercado extremadamente fragmentado.
El problema anterior puede superarse haciendo que las WSN sean programables y, por lo tanto,
se han realizado importantes esfuerzos de investigación para diseñar WSN programables [9] -
[11]. Sin embargo, en la mayoría de las implementaciones actuales de WSN en el mundo real, la
programación suele estar estrechamente relacionada con el sistema operativo, lo que requiere
que los desarrolladores de la aplicación se centren en detalles intensivos de bajo nivel en lugar
de en la lógica de la aplicación.
El paradigma de redes definidas por software (SDN) y OpenFlow [3], que actualmente es la
instancia más popular de SDN, se han propuesto recientemente para resolver problemas
análogos en el dominio con cable [1]. En OpenFlow, los nodos de red manejan los paquetes
entrantes como se especifica en la llamada Tabla de Flujo. Cada entrada de la tabla de flujo está
relacionada con un flujo y está compuesta por tres secciones: (i) una regla de coincidencia que
especifica los valores del campo de encabezado que deben encontrarse en los paquetes que
pertenecen al flujo; (ii) la acción que debe ejecutarse en los paquetes del flujo (por ejemplo,
soltar, reenviar a, etc.); y (iii) cierta información estadística sobre el flujo. Si la Tabla de flujo no
contiene ninguna entrada que especifique cómo tratar un determinado paquete, el nodo envía
una solicitud a una entidad de software llamada Controlador que tiene una abstracción de alto
nivel de los elementos de red. El controlador se puede ejecutar en un servidor remoto de una
manera (lógicamente) centralizada. El controlador responde con la información requerida para
completar una nueva entrada de tabla de flujo para manejar el paquete.
De esta forma, OpenFlow separa claramente (incluso físicamente) el plano de datos del plano
de control y entrega una red
• que puede evolucionar porque, en principio, los nuevos servicios y políticas de gestión pueden
introducirse en la red de la misma manera que lo es instalar un nuevo software en una PC [1],
[2],
• en el que un nodo de red dado puede ser reemplazado por otro producido por cualquier
proveedor, liberando así al operador del bloqueo de proveedor y permitiendo el uso de
hardware básico.
Recientemente han aparecido algunos trabajos destinados a extender los conceptos de SDN a
redes inalámbricas de sensores (WSN) y otras redes inalámbricas de área personal [4], [5]. Los
artículos anteriores representan contribuciones importantes a la literatura SDN ya que
proporcionan motivaciones convincentes para la extensión del paradigma SDN a los dominios
WSN y W-PAN y ofrecen una perspectiva nueva e interesante del paradigma SDN, pero tienen
algunas deficiencias:
• los detalles del protocolo, que son fundamentales para las operaciones correctas de la red, no
se proporcionan;
En este documento, superamos las deficiencias anteriores y vamos más allá de la literatura de
vanguardia al definir una solución de SDN con estado para redes inalámbricas de sensores1 en
línea con una propuesta reciente de Bianchi et al. [6]. Llamamos a esta solución Solución de
redes definidas por software para redes inalámbricas WInsless (SDN-WISE).
Al presentar SDN-WISE vamos más allá de los trabajos anteriores de la siguiente manera.
Definimos una arquitectura completa que permite a los desarrolladores de software
implementar sus Controladores utilizando cualquier lenguaje de programación de su elección.
Además, SDNWISE presenta una capa de software que permite que varias redes virtuales se
ejecuten en el mismo sensor inalámbrico físico o red WPAN, de forma similar a lo que hace
FlowVisor en redes OpenFlow. Además, SDN-WISE proporciona herramientas para ejecutar un
controlador real en una red simulada OMNeT ++, análogamente a Mininet [7].
Además, como se propone en [6] para el dominio con cable, SDN-WISE define mecanismos
simples para la definición y el manejo de la tabla de flujo que hacen que SDN-WISE sea estable
en comparación con el OpenFlow tradicional que no tiene estado. De esta forma, los nodos WSN
se pueden programar como máquinas de estado finito, que pueden ser útiles para reducir la
señalización entre nodos y el controlador, y permiten implementar políticas que no se pueden
admitir de forma apátrida.
Hasta donde tenemos conocimiento, esta es la primera implementación real de una solución
tipo OpenFlow para WSN.
A. REQUISITOS
Los requisitos para extender el paradigma SDN a WSN ya se han analizado en [4] y [5]. Dichos
requisitos son la consecuencia obvia de las características de los WSN que son significativamente
diferentes de las de las redes cableadas. De hecho, las WSN se caracterizan por sus bajas
capacidades en términos de memoria, procesamiento y disponibilidad de energía. Además, las
aplicaciones de WSN generalmente no son exigentes en términos de tasa de datos. Por lo tanto,
SDN-WISE debe ser eficiente en el uso de los recursos del sensor, incluso si tal eficiencia dará
como resultado una tasa de datos más baja.
Para ahorrar energía, SDN-WISE admite el ciclo de trabajo [13], es decir, la posibilidad de apagar
periódicamente la interfaz de radio de un nodo sensor y la agregación de datos [14]. Estas
características fueron descuidadas en los escenarios con cable de OpenFlow.
Además, las interacciones entre los nodos del sensor y los Controladores deben reducirse tanto
como sea posible para lograr la eficiencia del sistema. En este contexto, cierto nivel de lógica de
control programable en los nodos de sensor puede permitirles tomar decisiones sin interactuar
con el controlador cuando solo se necesita información local. Sin embargo, esto requiere la
introducción de un estado, mientras que la instancia estándar de SDN de OpenFlow es sin estado
[6].
Además, dado que las WSN están intrínsecamente centradas en los datos, se han propuesto
varias soluciones que hacen que los protocolos de red conozcan el contenido del paquete [15].
En consecuencia, los nodos SDN-WISE pueden manejar paquetes basados en el contenido
almacenado en su encabezado y carga. Además, en OpenFlow los paquetes se clasifican en
función de la igualdad entre un determinado campo en el encabezado del paquete y una cadena
dada de bytes; a diferencia de eso, en SDN-WISE dicha clasificación se puede hacer en base a
otros operadores relacionales más complejos, por ejemplo, más altos, más bajos que, diferentes
de, etc. Finalmente, la naturaleza centrada en los datos de WSN implica otra diferencia
significativa entre los comportamiento esperado de SDN-WISE y OpenFlow. De hecho, en
OpenFlow, los recursos de la red se dividen por el FlowVisor en sectores, cada uno asignado a
un Controlador, y un paquete puede pertenecer solo a un segmento. En WSN, en cambio, la
misma información puede ser de interés para varias aplicaciones que utilizan diferentes
controladores. Por lo tanto, en SDN-WISE un paquete no está necesariamente vinculado con un
Controlador, es decir, diferentes Controladores pueden especificar reglas diferentes para el
mismo paquete.
B. ENFOQUE SDN-WISE
En cualquier momento, los nodos SDN-WISE se caracterizan por un estado actual para cada
controlador activo. Un estado es una cadena de bits "sState". WISE States Array es la estructura
de datos que contiene los valores de los estados actuales.
Dada la naturaleza de transmisión del medio inalámbrico, los nodos sensores también recibirán
paquetes que no están destinados a ellos (ni siquiera para el reenvío). La matriz de ID aceptadas
permite que cada nodo sensor seleccione solo los paquetes que debe procesar. De hecho, el
encabezado de los paquetes contiene un campo en el que se especifica una ID aceptada.
En el caso de que el paquete deba procesarse, el nodo del sensor examinará las entradas de su
Tabla de flujo WISE. Cada entrada de la tabla de flujo de WISE contiene una sección de Reglas
de coincidencia que especifica las condiciones bajo las cuales se aplica la entrada.
En SDN-WISE, las Reglas de coincidencia pueden considerar cualquier parte del paquete actual,
así como cualquier parte del estado actual. Si se cumplen las Reglas de coincidencia, entonces
el nodo del sensor realizará una acción especificada en la sección restante de la entrada WISE
Flow Table. Tenga en cuenta que dicha acción puede referirse a cómo manejar el paquete y
cómo modificar el estado actual.
Para contactar a los Controladores, un nodo necesita tener una entrada WISE Flow Table que
indique su mejor próximo salto hacia uno de los sumideros. Esta entrada es diferente de las
otras porque no está configurada por un Controlador, sino que cada nodo la descubre de forma
distribuida.
A tal efecto, un protocolo apropiado es ejecutado por la capa Topology Discovery (TD) como se
describirá en la capa, que se basa en el intercambio y procesamiento de paquetes apropiados
llamados paquetes TD. Dichos paquetes contienen información sobre el nivel de la batería y la
distancia desde el fregadero (más cercano) en términos de número de saltos. Cada vez que un
nodo recibe uno de esos paquetes, compara el mejor próximo salto actual con la información
que acaba de adquirir, luego elige el mejor próximo salto dando prioridad al número de saltos,
luego el valor RSSI recibido con el mensaje y finalmente la batería residual nivel. Esta
información también se usa para completar una lista de WISE Neighbors. Esta lista contiene las
direcciones de los nodos vecinos, sus RSSI y sus niveles de batería. Esta tabla se envía
periódicamente a la capa Topology Management (TM), como se detalla a continuación, para
construir una representación gráfica de la red. Después de eso, la tabla se borra por completo y
se reconstruye con los paquetes TD entrantes para tener siempre una vista actualizada de la
topología local.
Uno de los Controladores actúa como un proxy entre la red física y los otros Controladores. Esto
se llama WISE-Visor y es el análogo de FlowVisor en las redes OpenFlow tradicionales.
Los controladores especifican las políticas de administración de red que debe implementar la
WSN y pueden ser dependientes de la aplicación. En consecuencia, los controladores pueden
interactuar con la aplicación.
Tenga en cuenta que los nodos de sensor tienen capacidades limitadas en términos de memoria,
por lo tanto, la selección del tamaño de las diferentes estructuras de datos es muy importante2.
La elección óptima de dicho tamaño depende de varias características específicas de
implementación establecidas por WISE-Visor durante la fase de inicialización.
En las redes SDN-WISE, se pueden distinguir los nodos de sensor y uno (o varios) sumidero (s).
Los sumideros son las puertas de enlace entre los Nodos de sensores que ejecutan el plano de
datos y los elementos que implementan el plano de control. La pila de protocolos del plano
Datos, principalmente ejecutada por Nodos de sensores, se muestra en el lado izquierdo de la
Figura 1. La pila de protocolos del Disordenador y los otros elementos que implementan el Plano
de control se describen en el lado derecho de la Figura 1. Nodos de sensores incluye un
transceptor IEEE 802.15.4 y una unidad de microcontrol (MCU). Por encima de la pila de
protocolos IEEE 802.15.4, la capa de reenvío se ejecuta en la MCU que maneja los paquetes que
llegan como se especifica en una tabla de flujo WISE3. Esta tabla se actualiza continuamente
mediante la capa Reenvío según los comandos de configuración enviados por los Controladores.
La capa Topology Discovery (TD), en cambio, puede acceder a todas las capas de la pila de
protocolos mediante las API apropiadas. Por lo tanto, puede recopilar información local de los
nodos y controlar su comportamiento en todas las capas, de acuerdo con las indicaciones
proporcionadas por los Controladores. La capa TD también proporciona una API a la capa de
aplicación, que amplía las API IEEE 802. Esto garantiza el legado con las aplicaciones existentes.
En el plano de control, las lógicas de gestión de red están dictadas por uno o varios
controladores, uno de los cuales es WISE-Visor. WISE-Visor incluye una capa Topology
Management (TM) que abstrae los recursos de red para que diferentes redes lógicas, con
diferentes políticas de administración establecidas por diferentes controladores, puedan
ejecutarse sobre el mismo conjunto de dispositivos físicos. La capa TM tiene acceso a las API que
ofrecen todas las capas de protocolo. Tales API permiten controlar el comportamiento de todas
las capas de protocolo y, por lo tanto, implementar operaciones de capa cruzada. El uso de la
capa TM está impulsado por dos requisitos: i) recopilar información local de los nodos y enviarlos
a los Controladores en forma de un gráfico de la red (información de informes relacionada con
la topología, nivel de energía residual, SNR) en los enlaces, etc.) ii) controlar todas las capas de
pila de protocolo según lo especificado por el (los) Controlador (es). Para ello, entre el dispositivo
receptor (caracterizado por la misma pila de protocolos de Nodos de sensores) y el Visor WISE,
está la capa de Adaptación que se encarga de formatear los mensajes recibidos desde el
Fregadero de forma que puedan ser manejados por el WISE-Visor y viceversa.
Los controladores pueden ejecutarse en el mismo nodo que aloja la capa TM o en servidores
remotos. Como consecuencia, las interacciones entre los Controladores y la capa TM pueden
ocurrir de varias maneras, como se muestra en la parte central de la Figura 1. De hecho, en el
caso de que los Controladores se ejecuten en el mismo nodo que aloja la capa TM, se producirán
interacciones. a través de los métodos de Java ofrecidos por la capa TM. Alternativamente, las
interacciones pueden ocurrir a través de la invocación de método remoto de Java (RMI) o el
Protocolo de acceso de objeto simple (SOAP). De esta forma, los programadores pueden
implementar Controladores en Java o en algunos lenguajes de programación web.
Finalmente, tenga en cuenta que la pila del protocolo SDN-WISE también incluye una capa de
Adaptación específica que puede interactuar con un receptor simulado (no un receptor real). De
esta forma, el plano de control puede establecer las políticas de red de una red simulada. En
otras palabras, SDN-WISE ofrece una herramienta que es muy similar a Mininet [7].
IV. DETALLES DEL PROTOCOLO SDN-WISE