martes, 15 de noviembre de 2016

6.3 Transporte

Las características particulares que poseen las redes de sensores inalámbricas establecen nuevos retos de diseño como son el uso eficiente de la energía, la fiabilidad, el control de congestión y la calidad de servicio. Estos factores deben ser satisfechos para cumplir con los requerimientos que demandan las aplicaciones en este tipo de redes.


En este sentido, uno de los retos que cada vez cobra mayor importancia es la necesidad de implementar mecanismos que proporcionen fiabilidad en la entrega de los datos extremos a extremo, reduzcan la congestión y la pérdida de paquetes, además de proveer justicia en la asignación de ancho de banda. Esto aunado a la tendencia de interconectar las redes de sensores inalámbricas a otro tipo de redes como Internet, redes de área local o intranets para la recepción de forma remota de los datos generados por los sensores, hacen que la elección del protocolo de transporte adecuado sea un aspecto esencial en el desarrollo de aplicaciones para este tipo de redes.





Es por esto que en este capítulo haremos un análisis de los protocolos de transporte tradicionales como TCP y UDP y su viabilidad en las redes de sensores, además de identificar los requisitos que deben cumplir los protocolos de transporte para WSN y acabaremos presentando las distintos tipos de protocolos de transporte existentes para este tipo de redes. 

Limitaciones de los protocolos de transporte tradicionales

Los protocolos de transporte tradicionales utilizados en Internet como lo son UDP y TCP presentan varios inconvenientes para ser implementados en las redes de sensores.

En el caso del protocolo UDP, por ejemplo, este no provee fiabilidad en la entrega de datos, que en la mayoría de los casos es un requisito de las aplicaciones en este tipo de redes, ni tampoco proporciona un mecanismos de control de flujo ni de congestión lo que puede conducir a la pérdida de paquetes y el gasto innecesario de energía de los nodos sensores.

Por otro lado, si analizamos el sistema de comunicación fiable extremo a extremo proporcionado tradicionalmente por TCP encontramos que este tiene serios problemas de rendimiento en las redes inalámbricas, tanto en términos de tasas de transferencia como de eficiencia energética.

Los principales problemas que presenta el protocolo TCP en las WSN se describen a continuación:

Pérdida de paquetes no debida a la congestión: se refiere a que TCP utiliza como mecanismo de detección de congestión la pérdida de paquetes lo que conlleva a que TCP reduzca la tasa de transferencia con la finalidad de no colapsar aún más los enlaces. Sin embargo, en una WSN las pérdidas de paquetes ocurren generalmente por errores de transmisión del medio inalámbrico de manera que la reducción de la tasa de transferencia lo que trae consigo es una reducción innecesaria de la utilización del ancho de banda del enlace y por ende a una degradación en el throughput y un retardo mayor en la comunicación. Una posible solución es la utilización de mecanismos (implícitos o explícitos) de retroalimentación entre los nodos que ayuden a detectar las diferentes causas por las cuales la pérdida de paquetes ha ocurrido (calidad del enlace inalámbrico, fallos en el nodo sensor, y/o congestión) y de acuerdo a esto tomar la decisión más conveniente.




Retransmisiones costosas: TCP confía en las retransmisiones extremo a extremo para proveer una entrega de datos fiable, sin embargo teniendo en cuenta las limitaciones de energía de los sensores y las rutas multi-salto, este mecanismo conllevaría a un mayor consumo de energía y ancho de banda en las WSN. Además el mecanismo de control de congestión extremo a extremo utilizado por TCP ocasiona que se responda muy tarde a una situación de congestión lo que resulta en una gran cantidad de paquetes perdidos lo que se convierte en un gasto de energía adicional en retransmisiones y los tiempos de respuestas tan largos ocasionan un bajo throughput y baja utilización del enlace inalámbrico.

Topología Dinámica de la red: los cambios de topología que caracterizan a las WSN debido a las condiciones del entorno (baja calidad del enlace inalámbrico, interferencias de señal producidas por agentes externos) y a la que en un momento dado la ruta entre dos puntos extremos de la red se vea interrumpida. Tal comportamiento no es compatible con el funcionamiento de TCP el cual considera una conectividad permanente extremo a extremo.

Red asimétrica: Se define como aquella en la que el camino utilizado para transportar datos hacia el destino es diferente del camino utilizado para retornarlos hacia el origen tanto en términos topológicos como de latencia, ancho de banda o tasa de pérdida de paquetes. Las WSN son asimétricas en la mayoría de los casos, aspecto que afecta directamente a la transmisión de los ACK‟s del protocolo TCP, cuyo rendimiento puede verse afectado.






Grandes variaciones del RTT: Debido a la variabilidad de la calidad de los enlaces, la movilidad o la carga de tráfico, las rutas de encaminamiento se ven modificadas a lo largo del despliegue de las redes de sensores. Esto puede generar variaciones en el RTT, degradando el rendimiento de TCP.

Transmisión en tiempo real: Junto a UDP, en las redes de sensores deben implementarse protocolos semejantes a RCP (Rate Control Protocol), de forma que éstas puedan soportar la transmisión extremo a extremo del tráfico en tiempo real.






Protocolos de transporte existentes en WSN.

Los mecanismos de transporte que existen para redes de sensores inalámbricas se pueden dividir en aquellos que proporcionan en alguno o en ambos (Sea ascendente o descendente) y una o la combinación de las siguientes funciones.
  • Fiabilidad en la entrega de mensajes (incluyendo la recuperación de errores)
  • Control de congestión
  • Conservación de la energía
  • Además también pueden ser clasificados en:
  • Protocolos no basados en TCP.
  • Protocolos basados en TCP








6.2 Enrutamiento

Los nodos no tienen un conocimiento de la topología de la red, deben descubrirla. La idea básica es que cuando un nuevo nodo, al aparecer en una red, anuncia su presencia y escucha los anuncios broadcast de sus vecinos. El nodo se informa acerca de los nuevos nodos a su alcance y de la manera de enrutarse a través de ellos, a su vez, puede anunciar al resto de nodos que pueden ser accedidos desde él. Transcurrido un tiempo, cada nodo sabrá que nodos tiene alrededor y una o más formas de alcanzarlos.

Los algoritmos de enrutamiento en redes de sensores inalámbricas tienen que cumplir las siguientes normas:
  • Mantener una tabla de enrutamiento razonablemente pequeña
  • Elegir la mejor ruta para un destino dado (ya sea el más rápido, confiable, de mejor capacidad o la ruta de menos coste)
  • Mantener la tabla regularmente para actualizar la caída de nodos, su cambio de posición o su aparición
  • Requerir una pequeña cantidad de mensajes y tiempo para converger.


MODELOS DE ENRUTAMIENTO 

Modelo de un salto 

Este es el modelo más simple y representa la comunicación directa. Todos los nodos en la red transmiten a la estación base. Es un modelo caro en términos de consumo energético, así como inviable porque los nodos tienen un rango de transmisión limitado. Sus transmisiones no pueden siempre alcanzar la estación base, tienen una distancia máxima de radio, por ello la comunicación directa no es una buena solución para las redes inalámbricas.

Modelo Multi-hop 


En este modelo, un nodo transmite a la estación base reenviando sus datos a uno de sus vecinos, el cual está más próximo a la estación base, a la vez que este enviará a otro nodo más próximo hasta que llegue a la mota base. Entonces la información viaja de la fuente al destino salto a salto desde un nodo a otro hasta que llega al destino. En vista de las limitaciones de los sensores, es una aproximación viable. Un gran número de protocolos utilizan este modelo, entre ellos todos los MultiHop de Tmote Sky y Telos: MultiHop LQI, MintRoute, Router, etc. Éste modelo será el utilizado en nuestra red, ya que dado el número de nodos, el tipo de sensores y el software del que disponemos, hacen del modelo MultiHop una solución óptima.





Modelo esquemático basado en clústeres 

Algunos otros protocolos usan técnicas de optimización para mejorar la eficacia del modelo anterior. Una de ellas es la agregación de datos usada en todos los protocolos de enrutamiento basados en clústeres. Una aproximación esquemática rompe la red en capas de clústeres. Los nodos se agruparán en clústeres con una cabeza, la responsable de enlutar desde ese clúster a las cabezas de otros clústeres o la estación base. Los datos viajan desde un clúster de capa inferior a uno de capa superior. Aunque, salta de uno a otro, lo está haciendo de una capa a otra, por lo que cubre mayores distancias. Esto hace que, además, los datos se transfieran más rápido a la estación base.
Teóricamente, la latencia en este modelo es mucho menor que en la de MultiHop. El crear clústeres provee una capacidad inherente de optimización en las cabezas de clúster. Por tanto, este modelo será mejor que los anteriores para redes con gran cantidad de nodos en un espacio amplio (del orden de miles de sensores y cientos de metros de distancia).

Protocolos centrados en el dato (Datacentric) 

Si tenemos un número enorme de sensores, es difícil identificar de que sensor queremos obtener un dato. De una determinada zona. Una aproximación es que todos los sensores envíen los datos que tengan. Esto causa un gran despilfarro de energía.. En este tipo de protocolo, se solicita el dato de una zona y espera a que se le remita. Los nodos de la zona negocian entre ellos la información más válida. Solo esta es enviada, con el consiguiente ahorro de energía.

 Protocolo basado en localización

 Se explota la posición de los sensores para encaminar los datos en la red.