Descripción general de los protocolos de redes y mensajería para IoT

¡Hola, residentes de Khabrovsk! El primer curso en línea para desarrolladores de IoT en Rusia comienza en OTUS en octubre. La inscripción al curso ya está abierta, por lo que seguimos compartiendo materiales útiles contigo.

Descripción general de los protocolos de redes y mensajería para IoT

El Internet de las cosas (IoT) se basará en la infraestructura de red, las tecnologías y los protocolos existentes que se utilizan actualmente en hogares/oficinas e Internet, y ofrecerá mucho más.

El objetivo de esta guía es proporcionar una breve descripción general de los protocolos de redes y aplicaciones para IoT.

Nota. debes tener conocimientos conceptos básicos de las tecnologías de red.

Redes de IoT

IoT funcionará en redes TCP/IP existentes.

TCP/IP utiliza un modelo de cuatro capas con protocolos específicos en cada capa. Cm. comprender el modelo de 4 capas TCP/IP (entendemos el modelo TCP/IP de cuatro capas).

El siguiente diagrama muestra una comparación de los protocolos actualmente en uso y los que es más probable que se utilicen para IoT.

Descripción general de los protocolos de redes y mensajería para IoT

Notas sobre el gráfico:

  1. El tamaño de fuente refleja la popularidad del protocolo. Por ejemplo, a la izquierda hay más IPv4, ya que es mucho más popular en la Internet moderna. Sin embargo, es más pequeño a la derecha, ya que se espera que IPv6 se vuelva más popular en IoT.

  2. No se muestran todos los protocolos.

  3. La mayoría de los cambios se producen en el canal (niveles 1 y 2) y en los niveles de aplicación (nivel 4).

  4. Es probable que las capas de red y transporte permanezcan sin cambios.

Protocolos de capa de enlace

En la capa de enlace de datos, es necesario conectar dispositivos entre sí. Pueden ubicarse cerca, por ejemplo, en redes locales, o a gran distancia entre sí: en redes de área metropolitana y redes de área amplia.

Actualmente, en este nivel, las redes domésticas y de oficina (LAN) utilizan Ethernet y Wi-Fi, y las redes móviles (WAN) utilizan 3G/4G. Sin embargo, muchos dispositivos de IoT son de bajo consumo, como los sensores, y funcionan únicamente con baterías. En estos casos, Ethernet no es adecuado, pero se puede utilizar Wi-Fi de baja potencia y Bluetooth de baja potencia.

Si bien se seguirán utilizando las tecnologías inalámbricas existentes (Wi-Fi, Bluetooth, 3G/4G) para conectar estos dispositivos, también vale la pena examinar nuevas tecnologías diseñadas específicamente para aplicaciones de IoT, cuya popularidad probablemente crecerá.

Entre ellos:

  • BLE: Bluetooth de bajo consumo

  • LoRaWAN: WAN de largo alcance

  • SigFox

  • LTE-M

Se describen con más detalle en el artículo. Una descripción general de las tecnologías inalámbricas de IoT (descripción general de las tecnologías inalámbricas de IoT).

Capa de red

A nivel de red (Networking) el protocolo dominará a largo plazo IPv6. Es poco probable que se utilice IPv4, pero puede desempeñar un papel en las etapas iniciales. La mayoría de los dispositivos IoT para el hogar, como las bombillas inteligentes, utilizan actualmente IPv4.

Nivel de transporte 

TCP domina la capa de transporte en Internet y la web. Se utiliza tanto en HTTP como en muchos otros protocolos de Internet populares (SMTP, POP3, IMAP4, etc.).

MQTT, que espero que se convierta en uno de los principales protocolos de capa de aplicación para mensajería, actualmente utiliza TCP.

Sin embargo, en el futuro, debido a los menores gastos generales, espero que UDP sea más popular para IoT. Probablemente se generalizará más MQTT-SN, ejecutándose sobre UDP. Ver artículo comparativo TCP frente a UDP .

Capa de aplicación y protocolos de mensajería.

Características importantes para los protocolos de IoT:

  • Velocidad: la cantidad de datos transferidos por segundo.

  • La latencia es el tiempo necesario para transmitir un mensaje.

  • Consumo de energía

  • Seguridad.

  • Disponibilidad de software.

Actualmente, se utilizan activamente dos protocolos principales en este nivel: HTTP y MQTT.

HTTP es probablemente el protocolo más conocido a este nivel, subyacente a la Web (WWW). Seguirá siendo importante para IoT porque se utiliza para las API REST, el mecanismo central de interacción de las aplicaciones y servicios web. Sin embargo, debido a su alto costo, es poco probable que HTTP se convierta en el protocolo principal de IoT, aunque seguirá siendo ampliamente utilizado en Internet.

MQTT (Message Queuing Telemetry Transport) se ha convertido en el protocolo de mensajería dominante en IoT debido a su ligereza y facilidad de uso. Ver artículo Introducción a MQTT para principiantes (Introducción a MQTT para principiantes).

Comparación de HTTP y MQTT para IoT

MQTT se está convirtiendo rápidamente en el estándar de facto para aplicaciones de IoT. Esto se debe a su ligereza y velocidad en comparación con HTTP y al hecho de que es un protocolo uno a muchos en lugar de uno a uno (HTTP).

Muchas aplicaciones web modernas habrían utilizado felizmente MQTT en lugar de HTTP si hubiera estado disponible en el momento de su desarrollo.

Un buen ejemplo es el envío de información a varios clientes, como llegadas y salidas de trenes, autobuses o aviones. En este escenario, un protocolo uno a uno como HTTP tiene una gran sobrecarga y supone una gran carga para los servidores web. Escalar estos servidores web puede resultar complicado. Con MQTT, los clientes se conectan a un corredor, que se puede agregar fácilmente para equilibrar la carga. Mira este tutorial con vídeo. Volver a publicar datos HTML a través de MQTT (ejemplo de llegadas de vuelos) y artículo MQTT frente a HTTP para IoT.

Otros protocolos de mensajería

HTTP no fue diseñado para aplicaciones de IoT, pero como se mencionó, se usará ampliamente durante algún tiempo debido a su uso generalizado en API.

Casi todas las plataformas de IoT admiten tanto HTTP como MQTT.

Sin embargo, existen otros protocolos que vale la pena considerar.

Protocolos

  • MQTT — (Transporte de telemetría de colas de mensajes). Utiliza TCP/IP. El modelo editor-suscriptor requiere un intermediario de mensajes.

  • AMQP - (Protocolo avanzado de cola de mensajes). Utiliza TCP/IP. Modelos editor-suscriptor y punto a punto.

  • COAP - (Protocolo de aplicación restringida). Utiliza UDP. Diseñado específicamente para IoT, utiliza un modelo de solicitud-respuesta similar a HTTP. RFC 7252.

  • DDS — (Servicio de distribución de datos) 

En este статье Se discuten los principales protocolos y sus aplicaciones. La conclusión de este artículo es que IoT utilizará un conjunto de protocolos según su aplicación prevista.

Sin embargo, si miramos hacia atrás, en los primeros años de Internet, HTTP, que luego se convirtió en el protocolo dominante, era sólo uno de muchos protocolos.

Aunque HTTP no se diseñó originalmente para la transferencia de archivos o el correo electrónico, hoy se utiliza para ambos.

Espero que suceda lo mismo con los protocolos de mensajería en IoT: la mayoría de los servicios utilizarán un protocolo dominante.

A continuación se muestran gráficos de Google Trends que muestran cómo ha cambiado la popularidad de MQTT, COAP y AMQP en los últimos años.

Revisión de tendencias de Google 

Descripción general de los protocolos de redes y mensajería para IoT

Soporte de protocolo por plataforma

  • microsoft Azure — MQTT, AMQP, HTTP y HTTPS

  • AWS — MQTT, HTTPS, MQTT sobre websockets

  • IBM Bluemix: MQTT,HTTPS,MQTT

  • cosa -MQTT,HTTPS,MQTT,AMQP

Resumen

La mayoría de los cambios se producen en el canal (niveles 1 y 2) y en los niveles de aplicación (nivel 4).

Es probable que las capas de red y transporte permanezcan sin cambios.

En la capa de aplicación, los componentes de IoT utilizarán protocolos de mensajería. Aunque todavía estamos en las primeras etapas del desarrollo de IoT, es probable que surjan uno o quizás dos protocolos de mensajería.

En los últimos años, MQTT se ha convertido en el más popular y es en lo que me estoy centrando actualmente en este sitio.

HTTP también seguirá utilizándose, ya que ya está bien integrado en las plataformas de IoT existentes.

Eso es todo. Lo invitamos a registrarse para una lección de demostración gratuita sobre el tema. “Chatbot para comandos rápidos al dispositivo”.

Lee mas:

Fuente: habr.com

Añadir un comentario