Thread – Um protocolo de rede eficiente para a Internet das Coisas (IoT)

Proposto em 2014 e lançado em 2015 pelo Thread Group [1], o Thread é um novo protocolo de redes otimizado para a Internet das Coisas. Ele utiliza o protocolo internet 6 (IPv6) conforme padrão IEEE 802.15.4 [2] para realizar comunicação entre dispositivos em redes PAN (Personal Area Network).

 

O Thread possui as seguintes características:
  • Uso simplificado;
  • Seguro;
  • Energeticamente eficiente;
  • Protocolo aberto com IPv6 nativo (6LoWPAN) [3];
  • Baseado em topologia de malha (sem ponto singular de falha);
  • Compatível com transceivers padrão IEEE 802.15.4 existentes.
O Thread foi projetado para suportar uma gama variada de aplicações residenciais – eletrodomésticos, controle de acesso, climatização, gerenciamento energético, iluminação e segurança (Figura 1).
art08_fig01 Figura 1 – Aplicações residenciais para dispositivos IoT utilizando o protocolo Thread.

1) Características do protocolo Thread

O protocolo Thread foi projetado para solucionar problemas de comunicação entre dispositivos IoT no ambiente residencial. Devido a existência de diversos protocolos e padrões de comunicação para IoT (Zigbee, Z-Wave, Bluetooth Smart, etc.) [4], a cooperação entre dispositivos de diferentes fabricantes nem sempre está disponível ao usuário sem adaptações. Como exemplo, é possível imaginar que um termostato inteligente conectado à Internet de uma empresa possa receber comandos e enviar respostas ao usuário, informando a temperatura do ambiente onde o sistema se encontra. No entanto, para que este termostato possa interagir com um ar condicionado inteligente (e assim regular automaticamente a temperatura do ambiente) fabricado por outra empresa, será necessário um protocolo comum a ambos os dispositivos. Mesmo que todos os dispositivos inteligentes presentes em uma casa possuam comunicação baseada em IP (protocolo Internet), é possível que eles não consigam comunicar-se entre si.

 

Neste cenário o protocolo Thread é aplicado. Com ele, é possível criar uma rede onde cada nó (dispositivo eletrônico) pode atuar como host, roteador ou roteador de fronteira (Figura 2). Os nós tipo host são conectados à rede através dos roteadores. Cada nó possui um endereço IPv6 único e os roteadores presentes na rede podem encaminhar mensagens entre dispositivos. Os nós também podem ser conectados à rede através de roteadores de fronteira, de maneira que todos os dispositivos possam ser controlados através de smartphones e tablets ou ainda que dados possam ser encaminhados e salvos na nuvem. Diferente de outras redes com topologia em malha, os processos de descoberta automática ou adições adhoc não são permitidas com o Thread. Todos os dispositivos adicionados a uma rede com este protocolo são autorizados somente pelo dono da rede e somente dispositivos autenticados poderão se juntar a esta rede.

 

art08_fig02
Figura 2 – Elementos da rede Thread.

 

As camadas de rede do protocolo Thread são organizadas conforme o modelo OSI [5] (Figura 3), com a aplicação no topo e camadas de hardware/físicas na base. O Thread utiliza o padrão IEEE 802.15.4 para os níveis físicos (PHY) e controle de acesso aos dados (MAC) e não especifica a camada superior de aplicação. O padrão opera na banda de frequência ISM (2,4 GHz) e pode ser implementado em módulos físicos que suportem padrões conhecidos em 802.15.4, como Zigbee e WirelessHART. A tabela 1 fornece um sumário das características do protocolo Thread. O Thread utiliza também o padrão 6LoWPAN (IPv6 over Low power Wireless Personal Area Networks), roteamento IP e protocolo UDP, que oferece entrega mais rápida de pacotes de dados e gestão externa da confiabilidade na entrega destes pacotes.

 

art08_fig03
Figura 3 – Camadas de rede do protocolo Thread conforme modelo OSI.

 

Tabela 1 – Principais características do protocolo Thread.
art08_t01

2) Exemplo de operação

Um exemplo de rede Thread pode ser encontrado na Figura 4, contendo nós tipo host, roteador e roteadores de fronteira.

 

Nós tipo host são equipamentos funcionais com endereço IP único, tais como lâmpadas, ventiladores ou termostatos. Um dispositivo também pode ser classificado como um nó ou filho dormente, e um roteador associado a este nó sendo o nó pai (em estado ativo ou não dormente). A terminologia “dormente” indica que o dispositivo passa a maior parte de seu tempo inativo, com ciclos de trabalho reduzidos para manter o consumo energético baixo. Nós filhos comunicam-se apenas através de um nó pai (roteador) e não encaminham mensagens diretamente para outros nós filhos. Visto que nós filhos não podem receber dados enquanto estão “dormindo”, o nó pai retêm os pacotes de dados até o nó filho acorde para solicitar ou enviar dados.
art08_fig04
Figura 4 – Exemplo de rede Thread.

 

Um ciclo típico de transmissão e recepção de dados entre um nó filho e um nó pai pode conter os seguintes eventos, executados sequencialmente:
  1. Nó filho sai do estado dormente (“acorda”);
  2. Nó filho realiza rotinas de inicialização do rádio;
  3. Nó filho entra em modo de recepção e verifica se existe canal em nó pai mais próximo disponível para transmissão;
  4. Nó pai entra em modo de transmissão;
  5. Nó pai envia dados para o nó filho;
  6. Nó filho recebe dados enviados pelo nó pai e envia a este o reconhecimento (ACK);
  7. Nó pai recebe ACK e reinicia laço de comunicação;
  8. Nó filho volta a dormir.
Nós roteadores fornecem encaminhamento dos pacotes de dados para os dispositivos presentes na rede. Eles também conectam os dispositivos à rede e gerenciam os sistemas de autenticação, podendo funcionar no papel de líder e iniciar uma rede Thread. Um roteador permanece sempre ativo, mantendo tabela para registrar os dispositivos adjacentes a ele e manter a rede operacional. Se um roteador é desligado, os restantes atualizam suas informações de roteamento para para enviar as mensagens restantes usando os nós existentes e outro roteador funcionará como pai de um dispositivo. Assim é possível utilizar a topologia de malha como uma matriz reconfigurável, evitando pontos singulares de falha que venham a comprometer a comunicação entre dois nós na rede. Os roteadores também podem ser rebaixados para serem nós filhos, se as condições exigirem.

 

Roteadores de fronteira funcionam como gateways simplificados, manipulando conexões entre a rede com fio e uma rede sem fios. Este tipo de dispositivo é capaz de lidar com protocolos IEEE 802.15.4, 802.11 (Wi-Fi) e 802.3 (Ethernet). Roteadores de fronteira podem ser equipamentos de comunicação em separado como um ponto de acesso ou um dispositivo host dentro da rede incorporando múltiplas interfaces físicas. Uma rede com fio poderá  possuir mais de um roteador de fronteira.

3) Interagindo com dispositivos através de uma rede Thread

Uma rede Thread incluindo um ventilador e termostato é mostrada na Figura 5. O proprietário pode ligar o ventilador qualquer momento usando o seu smartphone ou tablet. A mensagem do smartphone é tratada pelo roteador de fronteira, que a encaminha para a rede. Dentro da rede, os roteadores irão transmitir a mensagem para o dispositivo específico utilizando o seu endereço IP ou para o nó pai (roteador), caso o ventilador estiver no modo dormente. Ao acordar do sono e solicitar dados do dispositivo pai, o ventilador receberá o comando e executará a função correspondente.

 

art08_fig05
Figura 5 – Diagrama do protocolo Thread aplicado em um rede doméstica e relação com interface para usuário.

– Referências:

Deixe um comentário