Página principal > Diseño e implementación de un middleware CoAP-MQTT-HTTP para la mejora de la interoperabilidad de los protocolos de aplicación en redes IoT
TAZ-TFM-2020-1104
Diseño e implementación de un middleware CoAP-MQTT-HTTP para la mejora de la interoperabilidad de los protocolos de aplicación en redes IoT
Resumen: El rápido incremento de dispositivos IoT (Internet of Things) está permitiendo la aparición de nuevas aplicaciones computacionales que pueden tener un sustancial impacto en la sociedad, pero que al mismo tiempo abre un número significativo de posibilidades de negocio para las empresas. No obstante, la rapidez de ese desarrollo en el IoT ha incentivado la aparición de protocolos de comunicación muy diferentes entre sí, como MQTT, MQTT-SN, HTTP REST o CoAP. La diferencia ya no está únicamente en el formato de los mensajes del protocolo (lo que se conoce como protocolo de comunicación), sino en el protocolo de interacción, esto es, en el número de mensajes que los procesos tienen que intercambiarse para realizar la comunicación. Por ejemplo, CoAP y HTTP funcionan bajo el paradigma REQUEST/RESPONSE (un mensaje de petición y un mensaje de respuesta); mientras que MQTT y MQTT-SN se comunican a través del paradigma PUBLISH/SUBSCRIBE, mucho más sofisticado (un proceso se registra (subscribe) para que le lleguen mensajes en cuanto haya una actualización (publish)). Todos estos aspectos hacen que la intercomunicación entre protocolos no sea directa y suponen una enorme barrera tecnológica para las pequeñas y medianas empresas europeas. En este contexto, y dada la escasa oferta de este tipo de soluciones, en este proyecto se estudia, se propone y se implementa un middleware que permite comunicar de forma transparente dispositivos IoT basados en protocolos IoT heterogéneos. Aunque la propuesta está centrada en los protocolos más habituales en este contexto, como son MQTT, MQTT-SN, CoAP y HTTP, otros protocolos podrían también integrarse de forma análoga. Dada la vital importancia de garantizar comunicaciones seguras, el middleware propuesto permite además la transferencia de información a través de canales con cifrado, mediante mecanismos como DTLS sobre UDP y TLS sobre TCP. Por último, la arquitectura del middleware se ha diseñado para que sea escalable con el número de dispositivos IoT conectados. Para ello, múltiples instancias del middleware se disponen en máquinas diferentes, y se comunican entre sí directamente, reduciendo la carga de trabajo y permitiendo la interoperabilidad de los datos. Para validar la aproximación, se realizan diversos análisis de rendimiento del middleware en diferentes escenarios propuestos, estudiando su rendimiento en términos de retado, diferenciando entre dispositivos sin limitación de recursos (en el centro de datos) y dispositivos de recursos limitados (fuera del centro de datos, edge computing).