Visão geral dos protocolos de rede e mensagens para IoT

Olá, Khabrovitas! O primeiro curso online para desenvolvedores de IoT da Rússia será lançado na OTUS em outubro. As inscrições para o curso já estão abertas, por isso continuamos compartilhando materiais úteis com você.

Visão geral dos protocolos de rede e mensagens para IoT

A Internet das Coisas (IoT, Internet das Coisas) será construída sobre a infra-estrutura de rede existente, tecnologias e protocolos actualmente utilizados em residências/escritórios e na Internet, e oferecerá muito mais.

O objetivo deste guia é fornecer uma breve visão geral dos protocolos de rede e de aplicativos para IoT.

Observação. Você deve ter conhecimento noções básicas de tecnologias de rede.

Redes IoT

A IoT será executada em redes TCP/IP existentes.

O TCP/IP usa um modelo de quatro camadas com protocolos específicos em cada camada. Cm. entendendo o modelo TCP/IP de 4 camadas (entendemos o modelo de quatro camadas do TCP/IP).

O diagrama abaixo mostra uma comparação entre os protocolos atualmente em uso e aqueles com maior probabilidade de serem usados ​​para IoT.

Visão geral dos protocolos de rede e mensagens para IoT

Notas do gráfico:

  1. O tamanho da fonte indica a popularidade do protocolo. Por exemplo, à esquerda, o IPv4 é maior, pois é muito mais popular na Internet moderna. No entanto, é menor à direita, pois espera-se que o IPv6 seja mais popular na IoT.

  2. Nem todos os protocolos são mostrados.

  3. A maioria das mudanças ocorre no canal (níveis 1 e 2) e nos níveis de aplicação (nível 4).

  4. As camadas de rede e de transporte provavelmente permanecerão inalteradas.

Protocolos da camada de link

No nível do link de dados (Data Link), você precisa conectar dispositivos entre si. Podem estar tanto próximos, por exemplo, em redes locais (redes locais) quanto muito distantes entre si: em redes urbanas (redes metropolitanas) e globais (redes de área ampla).

Atualmente, neste nível, as redes domésticas e de escritório (LANs) usam Ethernet e Wi-Fi, e as móveis (WANs) usam 3G/4G. No entanto, muitos dispositivos IoT têm baixo consumo de energia, como sensores, e são alimentados apenas por baterias. Nestes casos, a Ethernet não é adequada, mas o Wi-Fi de baixa potência e o Bluetooth de baixa potência podem ser usados.

Embora as tecnologias sem fios existentes (Wi-Fi, Bluetooth, 3G/4G) continuem a ser utilizadas para ligar estes dispositivos, também vale a pena olhar para novas tecnologias especificamente concebidas para aplicações IoT que provavelmente crescerão em popularidade.

Entre eles:

  • BLE – Bluetooth de baixa energia

  • LoRaWAN - WAN de longo alcance

  • Sig Fox

  • LTE-M

Eles são descritos com mais detalhes no artigo. Uma visão geral das tecnologias sem fio IOT (visão geral das tecnologias IoT sem fio).

camada de rede

Na camada de rede (Rede), o protocolo dominará no longo prazo IPv6. É pouco provável que o IPv4 seja utilizado, mas poderá desempenhar um papel nas fases iniciais. A maioria dos dispositivos IoT domésticos, como lâmpadas inteligentes, usam atualmente IPv4.

camada de transporte 

Na camada de transporte (Transporte), a Internet e a web são dominadas pelo TCP. É usado tanto em HTTP quanto em muitos outros protocolos populares da Internet (SMTP, POP3, IMAP4, etc.).

MQTT, que espero se tornar um dos principais protocolos da camada de aplicação para mensagens, atualmente usa TCP.

No entanto, no futuro, devido à menor sobrecarga, espero que o UDP se torne mais popular para IoT. Provavelmente mais difundido MQTT-SN, executando o UDP. Veja artigo de comparação TCP x UDP .

Camada de aplicação e protocolos de mensagens

Características importantes para protocolos IoT:

  • Velocidade - a quantidade de dados transferidos por segundo.

  • Latência é o tempo que leva para enviar uma mensagem.

  • Consumo de energia

  • Segurança.

  • Disponibilidade de software.

Atualmente, dois protocolos principais são usados ​​ativamente neste nível: HTTP e MQTT.

HTTP é provavelmente o protocolo mais conhecido deste nível subjacente à web (WWW). Continuará a ser importante para a IoT, pois é utilizado para a API REST – principal mecanismo de interação entre aplicações e serviços web. No entanto, devido à alta sobrecarga, é improvável que o HTTP se torne o principal protocolo IoT, embora ainda seja amplamente utilizado na Internet.

MQTT (Message Queuing Telemetry Transport) tornou-se o principal protocolo de mensagens na IoT devido à sua leveza e facilidade de uso. Ver artigo Introdução ao MQTT para iniciantes (Introdução ao MQTT para iniciantes).

Comparação de HTTP e MQTT para IoT

O MQTT está rapidamente se tornando o padrão de fato para aplicações IoT. Isso se deve à sua leveza e velocidade em comparação ao HTTP e ao fato de ser um protocolo um para muitos em vez de um para um (HTTP).

Muitos aplicativos da web modernos usariam MQTT em vez de HTTP se ele estivesse disponível no momento de seu desenvolvimento.

Um bom exemplo é o envio de informações para múltiplos clientes, como chegadas e partidas de trens/ônibus/aviões. Nesse cenário, um protocolo um-para-um como o HTTP tem muita sobrecarga e sobrecarrega os servidores web. Dimensionar esses servidores web pode ser difícil. Com o MQTT, os clientes se conectam a um corretor, que pode ser facilmente adicionado para balanceamento de carga. Assista ao vídeo tutorial sobre isso Republicar dados HTML por MQTT (exemplo de chegadas de voos) e artigo MQTT versus HTTP para IOT.

Outros protocolos de mensagens

O HTTP não foi projetado para aplicações IoT, mas como mencionado, será amplamente utilizado por algum tempo devido ao seu uso generalizado em API.

Quase todas as plataformas IoT suportam HTTP e MQTT.

No entanto, existem outros protocolos que vale a pena considerar.

Protocolos

  • MQTT - (Transporte de telemetria de enfileiramento de mensagens). Usa TCP/IP. O modelo publicar-assinar requer um intermediário de mensagens.

  • AMQP - (Protocolo avançado de enfileiramento de mensagens). Usa TCP/IP. Modelos Editor-Assinante e Ponto a Ponto.

  • COAP - (Protocolo de aplicação restrita). Usa UDP. Projetado especificamente para IoT, usa o modelo solicitação-resposta como no HTTP. RFC 7252.

  • DDS - (Serviço de Distribuição de Dados) 

Neste статье são considerados os principais protocolos e suas aplicações. A conclusão deste artigo é que a IoT utilizará um conjunto de protocolos, dependendo do uso pretendido.

Contudo, em retrospectiva, nos primeiros anos da Internet, o protocolo HTTP que se tornaria dominante era apenas um dos muitos protocolos.

Embora o HTTP não tenha sido originalmente concebido para transferência de arquivos e e-mails, hoje ele é usado para ambos.

Espero que o mesmo aconteça com os protocolos de mensagens na IoT: a maioria dos serviços usará um protocolo predominante.

Abaixo estão os gráficos do Google Trends que mostram como a popularidade do MQTT, COAP e AMQP mudou nos últimos anos.

Visão geral do Google Trends 

Visão geral dos protocolos de rede e mensagens para IoT

Suporte de protocolo por plataforma

  • e Microsoft Azure - MQTT, AMQP, HTTP e HTTPS

  • AWS - MQTT, HTTPS, MQTT sobre websockets

  • IBM Bluemix - MQTT,HTTPS,MQTT

  • Coisa — MQTT, HTTPS, MQTT, AMQP

Resumo

A maioria das mudanças ocorre no canal (níveis 1 e 2) e nos níveis de aplicação (nível 4).

As camadas de rede e de transporte provavelmente permanecerão inalteradas.

Na camada de aplicação, os componentes da IoT usarão protocolos de mensagens. Embora ainda estejamos numa fase inicial do desenvolvimento da IoT, é provável que um ou talvez dois protocolos de mensagens se destaquem.

Nos últimos anos, o MQTT se tornou o mais popular, e é nele que estou me concentrando neste site.

O HTTP também continuará a ser usado, pois já está bem integrado nas plataformas IoT existentes.

Isso é tudo. Convidamos você a se inscrever para uma aula de demonstração gratuita sobre o tema "Chatbot para comandos rápidos para o dispositivo".

Consulte Mais informação:

Fonte: habr.com

Adicionar um comentário