2. Internet das coisas
2.5. Tecnologias e standards utilizados
Diferentes alianças, consórcios, grupos especiais de interesse e organizações de desenvolvimento de standards propuseram uma considerável quantidade de tecnologias de comunicação para sistemas IoT, o que pode representar um grande desafio para a segurança
end-to-end em aplicações e serviços IoT (Meddeb, 2016). As tecnologias e standards mais
populares para IoT e que são descritas de seguida são o IEEE 802.15.4, BLE, WirelessHART, Z-Wave, LoRaWAN, 6LoWPAN, RPL, CoAP e MQTT (Zarpelão et al., 2017).
O standard IEEE 802.15.4 foi proposto pelo IEEE para definir a camada física (PHY -
Physical layer) e a camada de controlo de acesso ao meio (MAC - Medium Access Control)
standard IEEE 802.15.4, os dispositivos podem comunicar com taxas de transmissão de
dados entre 20 kbps e 250 kbps e com um alcance entre os 10 e os 100 metros. Relativamente, ao controlo de acesso ao meio, este standard utiliza a técnica Carrier Sense Multiple Access
with Collision Avoidance (CSMA/CA).
O Internet Engineering Task Force (IETF) propôs standards para trabalhar no topo do
standard IEEE 802.15.4 facilitando a integração entre as redes LLN e a Internet. O standard IPv6 over Low power Wireless Personal Area Networks (6LoWPAN) (Thubert & Hui, 2011)
pretende adaptar o pacote Internet Protocol version 6 (IPv6) a ser utilizado no IEEE 802.15.4, uma vez que o primeiro tem um cabeçalho com o tamanho de 40 bytes e o último admite apenas 127 bytes por frame, totalizando a soma dos tamanhos dos cabeçalhos e dos dados. O
standard 6LoWPAN pretende facilitar a interoperabilidade entre os nós IPv6 e as redes LLN,
mas mesmo assim ainda é necessária a utilização de um gateway entre essas entidades. O grupo de trabalho do IETF chamado Routing over Low Power and Lossy Networks (ROLL) propôs um protocolo de encaminhamento para redes LLN, designado de Routing Protocol for
Low-Power and Lossy Networks (RPL) (Winter et al., 2012). O mesmo representa a topologia
de rede de sensores num grafo denominado Destination Oriented Directed Acyclic Graphs (DODAG), de modo a encontrar a melhor rota de acordo com a função e algumas métricas definidas. O RPL suporta tráfego multiponto-a-ponto, ponto-a-multiponto e ponto-a-ponto. A comunidade de desenvolvimento dos sistemas IoT propôs também protocolos aplicacionais. O Message Queuing Telemetry Transport (MQTT) e o Constrained Application Protocol (CoAP) são dois dos protocolos aplicacionais mais utilizados em sistemas IoT. O MQTT utiliza o Transmission Control Protocol (TCP) como protocolo da camada de transporte baseando-se no uso de mensagens que utiliza o modelo de publicação/subscrição. O standard do protocolo MQTT foi publicado em 2013 por um consórcio internacional denominado
Organization for the Advancement of Structured Information Standards (OASIS). Este foi
projetado para ser um protocolo leve e adequado, passível de ser utilizado em redes cujas ligações não sejam confiáveis ou que tenham pouca largura de banda. No processo de publicação/subscrição do protocolo MQTT estão envolvidos três componentes: o anunciante, o intermediário e o subscritor. O anunciante envia dados para ao intermediário. Como o intermediário tem uma lista de subscritores com indicações dos interesses dos mesmos, assim que são recebidos dados por parte dos anunciantes, o intermediário envia-os para os subscritores que tenham manifestado interesse nesses dados (Al-Fuqaha et al., 2015; Banks &
Gupta, 2014). O grupo de trabalho do IETF chamado Constrained RESTful Environments (CoRE) propôs que o protocolo CoAP fosse um protocolo de transferência de dados para as redes LLN. O protocolo CoAP utiliza o User Datagram Protocol (UDP) como protocolo da camada de transporte e permite transações do tipo pedido/resposta em redes LLN, permitindo o envio dos dados recolhidos nos dispositivos IoT para os utilizadores (Shelby, Hartke, & Bormann, 2014). O protocolo CoAP permite também o modelo de publicação/subscrição através da sua funcionalidade chamada de observação de recursos (Bormann, Castellani, & Shelby, 2012).
Para além dos standards apresentados a utilizar em camadas específicas da pilha protocolar das redes LLN, foram também propostos outros standards para sistemas IoT que especificam arquiteturas integradas verticalmente, nomeadamente o Bluetooth Low Energy (BLE), WirelessHART, Z-Wave e Long Range Wireless Area Network (LoRaWAN) como exemplos desses standards.
O BLE3 foi desenvolvido pelo grupo especial de interesse Bluetooth como evolução da
tecnologia Bluetooth desenvolvida para dispositivos de baixa potência. Ao utilizar o BLE, os dispositivos podem transmitir dados até 2 Mbps na banda dos 2,4 GHz e a uma distância de 100 metros. As camadas inferiores da pilha protocolar do BLE incluem uma camada física, responsável pela transmissão dos bits e pela modulação, e uma camada de ligação, responsável pelo controlo de acesso ao meio e pelo estabelecimento das ligações. Quando se estabelece uma ligação, os dispositivos podem adotar os papéis de mestre ou subordinado. (Al-Fuqaha et al., 2015; Gomez, Oller, & Paradells, 2012).
O WirelessHART 4 é o resultado do trabalho desenvolvido pela fundação HART
Communication para transformar o protocolo Highway Addressable Remote Transducer
(HART) numa solução sem fios. HART e WirelessHART foram desenvolvidos para controlo de processos industriais e estão organizados de acordo com uma arquitetura de cinco camadas: física, de ligação, de rede, de transporte e de aplicação. A camada física está especificada de acordo com a do standard IEEE 802.15.4. A camada de ligação controla o
3https://www.bluetooth.com/specifications/ 4https://fieldcommgroup.org/
acesso ao meio com base na técnica Time Division Multiple Access (TDMA) e efetua a correção de erros. A camada de rede é responsável pelo encaminhamento, controlo da topologia, segurança de ponto-a-ponto e gestão de sessão. A camada de transporte fornece confiabilidade ponto-a-ponto e o controlo de fluxo. Finalmente, a camada de aplicação permite a troca de dados entre os dispositivos e o gateway através de aplicações baseadas no modelo comando-resposta (Kim, Evans, & Iversen, 2008).
O Z-wave5 é uma arquitetura protocolar para automação de casas e pequenas organizações.
Foi desenvolvido pela ZenSys e é promovido pela Z-Wave Alliance. Neste protocolo, os dispositivos operam na banda dos 900 MHz e conseguem transmitir dados até 40 kbps a uma distância máxima de 30 metros. A camada de controlo de acesso ao meio utiliza a técnica CSMA/CA e possui um mecanismo de retransmissão opcional para garantir a fiabilidade. Uma rede Z-wave é composta por dispositivos controladores, que enviam comandos e pedidos aos dispositivos subordinados, e dispositivos subordinados, que executam os comandos recebidos e enviam as respostas para os dispositivos controladores. O encaminhamento do tráfego nas redes Z-wave é gerido pelos controladores, que mantêm uma tabela com informações sobre toda a topologia de rede (Al-Fuqaha et al., 2015; Gomez & Paradells, 2010).
LoRaWAN6 é uma tecnologia desenvolvida pela LoRa Alliance, uma fundação sem fins
lucrativos. Ao contrário das tecnologias como o IEEE 802.15.4, BLE, WirelessHART e Z- Wave, que têm como objetivo atingir curtas distâncias, a LoRaWAN é uma tecnologia para
Low Power Wide Area Networks (LPWAN). Nas redes LoRaWAN, os dispositivos terminais
comunicam com o servidor central da rede através de um gateway. Os dispositivos terminais estão ligados aos gateways através de ligações diretas single hop, enquanto que os gateways utilizam redes IP convencionais para se ligarem aos servidores centrais. Um único dispositivo terminal pode transmitir dados para vários gateways, mas cada servidor de rede é responsável por descartar pacotes redundantes. A taxa de transmissão de dados por terminal varia entre os 0,3 kbps e os 50 kbps. Em relação à cobertura, em meios urbanos pode variar entre distâncias
5https://www.z-wave.com/ 6https://lora-alliance.org/
de 2 km a 5 km, enquanto que, em meios rurais, pode variar entre os 10 km e os 15 km (Alliance, 2015; Schroder Filho, Pissolato Filho, & Moreli, 2016).