Redes de Comunicacao para IoT: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
 
(44 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
=Redes de Comunicação para IoT=
=Redes de Comunicação para IoT=


==Conceitos sobre Internet das Coisas==
A ideia principal da '''Internet das Coisas''' (IoT)  é conectar '''coisas''' (sensores, atuadores, dispositivos, máquinas, pessoas etc) e realizar o armazenamento e processamento de dados na nuvem da Internet para fins de monitoramento e controle.
Os '''requisitos fundamentais''' para monitorar coisas em qualquer lugar do mundo são <ref name=FromHypeToReality>Ammar Rayes & Samer Salam. [[Media:InternetOfThingsFromHypeToReality.pdf|Internet of Things From Hype to Reality]]: The Road to Digitization, Springer, 2019.</ref>:
*'''identificação única''' para as coisas;
*habilidade de '''sensoriamento''' (ou '''atuação''') de alguma informação sobre as coisas;
*habilidade de '''comunicação''' entre as coisas e a Internet;
*habilidade de '''controle e gerenciamento''' das coisas.
===Identificação única para as coisas===
Muitas aplicações de IoT utilizam identificação dos objetos usando '''RFID''' (''Radio Frequency Identification''), a qual permite identificar objetos a partir de informações gravadas em uma ''tag''. A ''tag'' é formada por um microchip com informações gravadas e uma antena para receber e transmitir sinal. O leitor lê as informações gravadas na ''tag'' por meio de um rádio transmissor e receptor e passa para um programa para análise do código RFID.
Para dispositivos conectados à '''Internet''' a identificação única pode também ser realizada por um '''endereço IP''', entretanto, isto pode trazer limitações em função da versão do protocolo IP utilizado.
==Uma Arquitetura para Internet das Coisas==
Com o intuito de conectar coisas, poderíamos pensar numa arquitetura em camadas como ilustrado na figura:
[[Arquivo:Arquitetura-IoT.png]]  (adaptado de <ref name=FromHypeToReality/>)
Proposta de arquitetura em quatro camadas para Internet das coisas:
#Na primeira camada desta arquitetura estariam os '''dispositivos sensores e atuadores''' transmitindo (ou recebendo) pequenas mensagens de dados diretamente ou até gateways conectados a Internet.
#A segunda camada seria a camada de '''conectividade em rede para Internet das Coisas''', transportando dados entre os dispositivos e a nuvem da Internet. A conectividade em rede pode envolver subsistema de '''computação em névoa''', com processamento descentralizado entre dispositivos próximos.
#A terceira camada seria uma '''plataforma de serviços para Internet das Coisas''', comumente hospedada na nuvem da Internet, conectando as coisas com as aplicações e provendo mecanismos e ferramentas para gerenciamento e tratamento das informações. Esta plataforma pode também utilizar dados de outras fontes ou sistemas para complementar as informações coletadas pelos sensores.
#A quarta camada seria a '''camada de aplicação''', dedicada a uma aplicação específica, para operar e fornecer a '''interface usuário''' a um '''sistema de Internet das Coisas'''.
==Arquitetura Internet==
As '''aplicações Web''' que conhecemos são suportadas pela '''[[Arquitetura Internet|arquitetura Internet]]''' com quatro camadas de protocolos:
*'''Camada de enlace/física''', responsável pela comunicação entre computadores diretamente conectados através de um enlace, normalmente implementada numa interface de rede, como nas redes locais '''Ethernet''' ou '''Wifi'''.
*'''Camada de rede''', cujo principal componente é o protocolo '''IP'''.
*'''Camada de transporte''', com os protocolos '''TCP''' e '''UDP'''.
*'''Camada de aplicação''', cada qual com seu protocolo específico, como por exemplo o protocolo '''HTTP''' da aplicação Web.
===Limitações da  arquitetura Internet para Internet das Coisas===
*Na Internet das Coisas muitos '''dispositivos sensores e atuadores''' são '''restritos em termos de processamento, memória e consumo de energia''', o que limita a capacidade de implementar a pilha completa dos protocolos da Internet em cada dispositivo <ref name=Costa>Francis da Costa. [[Media:Rethinking-Internet-Of-Things-Book.pdf|Rethinking Internet of Things]]: A scalable approach to connecting everything. Apress Open, 2013.</ref>.
*O '''modelo cliente/servidor''', comumente utilizado na Web, não é apropriado para as aplicações de Internet das Coisas.  Na Internet das Coisas os dados fluem em um sentido, dos sensores para a Internet, ou em sentido contrário no caso de atuadores. Além disto, podemos ter múltiplos sensores e também múltiplas aplicações com interesse na informação dos sensores. Portanto, o modelo de comunicação mais apropriado para este tipo de aplicação é o '''modelo publicador/subscritor''', como no protocolo '''[[MQTT]]'''.
==Protocolos de Comunicação para IoT==
===Camada de Enlace para sensores e atuadores===
Os '''dispositivos sensores e atuadores''' geralmente são '''restritos em termos de processamento, memória e consumo de energia'''. Portanto, dependendo da aplicação e do ambiente onde ficará localizado o sensor ou atuador, diferentes tecnologias de enlace podem ser utilizadas, como:
*'''Ethernet''' ou '''Wifi''', para ambientes internos e dispositivos com boa capacidade de processamento e provimento de energia;
*'''Bluetooth''' ou '''Bluetooth Low Energy''' ('''BLE'''), para curtas distâncias e baixa taxa de transmissão;
*'''[[LoRa WAN]]''' (''Long Range – Wide Area Networks''), para ambientes externos e longas distâncias, como nas aplicações de agricultura<ref name=Costa/> <ref name=IoT5days>Antonio Liñán Colina, Alvaro Vives, Marco Zennaro, Antoine Bagula, Ermanno Pietrosemoli.[https://archive.org/details/IoT5days Internet of Things in Five Days], Internet Archive, 2016. </ref>;
*'''[[IEEE 802.15.4]]''', como as redes '''Zigbee''', para ambientes industriais <ref name=Costa/> <ref name=IoT5days/>.
===Camada Rede para IoT===
Para dispositivos conectados à '''Internet''' um '''endereço IP''' pode ser utilizado como '''identificação única''' dos objetos , entretanto, isto pode trazer limitações em função da versão do protocolo IP utilizado:
*'''[[Enderecamento IP|IPv4]]''', atualmente em uso na Internet, tem limitações em função do número de endereços disponíveis;
*'''[[IPv6]]''', possui endereçamento suficiente para os bilhões, ou mais, de dispositivos de IoT, entretanto ainda não está complemente operacional.
Para '''dispositivos com hardware limitado''' que necessitem de um endereço '''IPv6''' e que utilizam enlaces '''IEEE 802.15.4''', foi desenvolvido o padrão '''[[6LowPAN]]''' <ref name=IoT5days/>que adapta o IPv6 para as limitações de tamanho do quadro impostas pelo quadro do enlace utilizado.
'''Dispositivos com hardware limitado''', que não necessitem de um endereço IP exclusivo, podem enviar seus  dados a um '''''gateway''''' intermediário, que por sua vez encaminha as informações a nuvem da Internet. Neste caso, os dispositivos são identificados por seus respectivos ''gateways'' na Internet. Além disto, '''''gateways'' remotos''' podem utilizar as redes de '''telefonia móvel''', como '''4G''' e '''5G''', como conexão com a Internet.
===Camada de Transporte para Internet das Coisas===
A camada de transporte da Internet é baseada nos protocolos '''[[Protocolo TCP|TCP]]''' e '''[[Protocolo UDP|UDP]]'''.
O '''TCP''' é o principal protocolo utilizado na Web. É um protocolo '''orientado a conexão''', que utiliza '''reconhecimentos e retransmissões''' para oferecer um serviço de transmissão garantida de informações. Estas características do TCP não são adequadas para a comunicação entre os dispositivos de IoT. Por exemplo, para um sensor que envia periodicamente dados de uma grandeza medida, a perda de um dado pode não ser crítica, uma vez que a informação é redundante em função do número de medidas realizadas.
Portanto, na '''Internet das Coisas''', a comunicação entre dispositivos pode ser mais eficiente com o uso do protocolo '''UDP'''. Uma mensagem transmitida pelo protocolo UDP é simplesmente enviada. Não há reconhecimentos ou retransmissões.
===Camada Aplicação para Internet das Coisas===
O modelo '''cliente/servidor''' utilizado pelas aplicações '''Web''' não é apropriado para as aplicações de IoT. 
Para aplicações de IoT o modelo de comunicação mais apropriado é o '''publicador/subscritor''', como utilizado no protocolo '''[[MQTT]]''' (''Message Queue Telemetry Transport'').
Por outro lado, caso seja necessária uma comunicação direta com um dispositivo de IoT utilizando o modelo '''cliente/servidor''', um protocolo alternativo é o '''[[CoAP]]''' (''Constrained Application Protocol''), o qual é uma '''alternativa mais leve''' ao '''HTTP''', com alvo nos dispositivos limitados em termos de energia e interface de comunicação. O '''CoAP''' usa '''UDP''', ao invés do '''TCP''', reduzindo o ''overhead'' de mensagens ocasionado pela abertura e encerramento de uma conexão, assim como reconhecimentos e retransmissões.
===Síntese da arquitetura de redes para IoT===
[[Arquivo:Arquitetura_Redes_IoT.png]]


==Referências==
==Referências==

Edição atual tal como às 16h53min de 25 de janeiro de 2022

Redes de Comunicação para IoT

Conceitos sobre Internet das Coisas

A ideia principal da Internet das Coisas (IoT) é conectar coisas (sensores, atuadores, dispositivos, máquinas, pessoas etc) e realizar o armazenamento e processamento de dados na nuvem da Internet para fins de monitoramento e controle.

Os requisitos fundamentais para monitorar coisas em qualquer lugar do mundo são [1]:

  • identificação única para as coisas;
  • habilidade de sensoriamento (ou atuação) de alguma informação sobre as coisas;
  • habilidade de comunicação entre as coisas e a Internet;
  • habilidade de controle e gerenciamento das coisas.

Identificação única para as coisas

Muitas aplicações de IoT utilizam identificação dos objetos usando RFID (Radio Frequency Identification), a qual permite identificar objetos a partir de informações gravadas em uma tag. A tag é formada por um microchip com informações gravadas e uma antena para receber e transmitir sinal. O leitor lê as informações gravadas na tag por meio de um rádio transmissor e receptor e passa para um programa para análise do código RFID.

Para dispositivos conectados à Internet a identificação única pode também ser realizada por um endereço IP, entretanto, isto pode trazer limitações em função da versão do protocolo IP utilizado.

Uma Arquitetura para Internet das Coisas

Com o intuito de conectar coisas, poderíamos pensar numa arquitetura em camadas como ilustrado na figura:

(adaptado de [1])

Proposta de arquitetura em quatro camadas para Internet das coisas:

  1. Na primeira camada desta arquitetura estariam os dispositivos sensores e atuadores transmitindo (ou recebendo) pequenas mensagens de dados diretamente ou até gateways conectados a Internet.
  2. A segunda camada seria a camada de conectividade em rede para Internet das Coisas, transportando dados entre os dispositivos e a nuvem da Internet. A conectividade em rede pode envolver subsistema de computação em névoa, com processamento descentralizado entre dispositivos próximos.
  3. A terceira camada seria uma plataforma de serviços para Internet das Coisas, comumente hospedada na nuvem da Internet, conectando as coisas com as aplicações e provendo mecanismos e ferramentas para gerenciamento e tratamento das informações. Esta plataforma pode também utilizar dados de outras fontes ou sistemas para complementar as informações coletadas pelos sensores.
  4. A quarta camada seria a camada de aplicação, dedicada a uma aplicação específica, para operar e fornecer a interface usuário a um sistema de Internet das Coisas.

Arquitetura Internet

As aplicações Web que conhecemos são suportadas pela arquitetura Internet com quatro camadas de protocolos:

  • Camada de enlace/física, responsável pela comunicação entre computadores diretamente conectados através de um enlace, normalmente implementada numa interface de rede, como nas redes locais Ethernet ou Wifi.
  • Camada de rede, cujo principal componente é o protocolo IP.
  • Camada de transporte, com os protocolos TCP e UDP.
  • Camada de aplicação, cada qual com seu protocolo específico, como por exemplo o protocolo HTTP da aplicação Web.

Limitações da arquitetura Internet para Internet das Coisas

  • Na Internet das Coisas muitos dispositivos sensores e atuadores são restritos em termos de processamento, memória e consumo de energia, o que limita a capacidade de implementar a pilha completa dos protocolos da Internet em cada dispositivo [2].
  • O modelo cliente/servidor, comumente utilizado na Web, não é apropriado para as aplicações de Internet das Coisas. Na Internet das Coisas os dados fluem em um sentido, dos sensores para a Internet, ou em sentido contrário no caso de atuadores. Além disto, podemos ter múltiplos sensores e também múltiplas aplicações com interesse na informação dos sensores. Portanto, o modelo de comunicação mais apropriado para este tipo de aplicação é o modelo publicador/subscritor, como no protocolo MQTT.

Protocolos de Comunicação para IoT

Camada de Enlace para sensores e atuadores

Os dispositivos sensores e atuadores geralmente são restritos em termos de processamento, memória e consumo de energia. Portanto, dependendo da aplicação e do ambiente onde ficará localizado o sensor ou atuador, diferentes tecnologias de enlace podem ser utilizadas, como:

  • Ethernet ou Wifi, para ambientes internos e dispositivos com boa capacidade de processamento e provimento de energia;
  • Bluetooth ou Bluetooth Low Energy (BLE), para curtas distâncias e baixa taxa de transmissão;
  • LoRa WAN (Long Range – Wide Area Networks), para ambientes externos e longas distâncias, como nas aplicações de agricultura[2] [3];
  • IEEE 802.15.4, como as redes Zigbee, para ambientes industriais [2] [3].

Camada Rede para IoT

Para dispositivos conectados à Internet um endereço IP pode ser utilizado como identificação única dos objetos , entretanto, isto pode trazer limitações em função da versão do protocolo IP utilizado:

  • IPv4, atualmente em uso na Internet, tem limitações em função do número de endereços disponíveis;
  • IPv6, possui endereçamento suficiente para os bilhões, ou mais, de dispositivos de IoT, entretanto ainda não está complemente operacional.

Para dispositivos com hardware limitado que necessitem de um endereço IPv6 e que utilizam enlaces IEEE 802.15.4, foi desenvolvido o padrão 6LowPAN [3]que adapta o IPv6 para as limitações de tamanho do quadro impostas pelo quadro do enlace utilizado.

Dispositivos com hardware limitado, que não necessitem de um endereço IP exclusivo, podem enviar seus dados a um gateway intermediário, que por sua vez encaminha as informações a nuvem da Internet. Neste caso, os dispositivos são identificados por seus respectivos gateways na Internet. Além disto, gateways remotos podem utilizar as redes de telefonia móvel, como 4G e 5G, como conexão com a Internet.

Camada de Transporte para Internet das Coisas

A camada de transporte da Internet é baseada nos protocolos TCP e UDP.

O TCP é o principal protocolo utilizado na Web. É um protocolo orientado a conexão, que utiliza reconhecimentos e retransmissões para oferecer um serviço de transmissão garantida de informações. Estas características do TCP não são adequadas para a comunicação entre os dispositivos de IoT. Por exemplo, para um sensor que envia periodicamente dados de uma grandeza medida, a perda de um dado pode não ser crítica, uma vez que a informação é redundante em função do número de medidas realizadas.

Portanto, na Internet das Coisas, a comunicação entre dispositivos pode ser mais eficiente com o uso do protocolo UDP. Uma mensagem transmitida pelo protocolo UDP é simplesmente enviada. Não há reconhecimentos ou retransmissões.

Camada Aplicação para Internet das Coisas

O modelo cliente/servidor utilizado pelas aplicações Web não é apropriado para as aplicações de IoT.

Para aplicações de IoT o modelo de comunicação mais apropriado é o publicador/subscritor, como utilizado no protocolo MQTT (Message Queue Telemetry Transport).

Por outro lado, caso seja necessária uma comunicação direta com um dispositivo de IoT utilizando o modelo cliente/servidor, um protocolo alternativo é o CoAP (Constrained Application Protocol), o qual é uma alternativa mais leve ao HTTP, com alvo nos dispositivos limitados em termos de energia e interface de comunicação. O CoAP usa UDP, ao invés do TCP, reduzindo o overhead de mensagens ocasionado pela abertura e encerramento de uma conexão, assim como reconhecimentos e retransmissões.

Síntese da arquitetura de redes para IoT

Referências

  1. 1,0 1,1 Ammar Rayes & Samer Salam. Internet of Things From Hype to Reality: The Road to Digitization, Springer, 2019.
  2. 2,0 2,1 2,2 Francis da Costa. Rethinking Internet of Things: A scalable approach to connecting everything. Apress Open, 2013.
  3. 3,0 3,1 3,2 Antonio Liñán Colina, Alvaro Vives, Marco Zennaro, Antoine Bagula, Ermanno Pietrosemoli.Internet of Things in Five Days, Internet Archive, 2016.

Evandro.cantu (discussão) 17h29min de 24 de janeiro de 2022 (-03)