Protocolos de entrega de serviços – DNS-SD, mDNS, uPnP e Simple Discovery Service Protocol: IOT Parte 10

A camada de descoberta de serviço tem um papel proeminente em uma arquitetura IOT. É a camada de descoberta de serviço ou gerenciamento de serviço que diferencia uma rede IOT daquela de uma rede de Internet típica. Os dispositivos IOT precisam se conectar e se comunicar com serviços e aplicativos baseados na web ou em nuvem para implementação de IOT. Os serviços e aplicativos em nuvem ou web são executados em computadores host que são identificados por endereços IP exclusivos em uma rede. Para aproveitar um serviço baseado em nuvem, os dispositivos IOT devem estar conectados aos computadores (servidores) que hospedam esses serviços ou aplicativos. Portanto, existem alguns protocolos projetados para resolver endereços IP de host que prestam serviços e aplicativos IOT. Esses protocolos ajudam a identificar servidores que hospedam serviços IOT por seus namespaces e permitem que uma placa IOT se conecte a um (Unicast) ou grupo de servidores (Multicast) pela rede.
Alguns dos protocolos populares de descoberta de serviço são os seguintes –
1) mDNS
2) Descoberta de serviço DNS (DNS-SD)
3) uPnP
4) Protocolo de serviço de descoberta simples
mDNS – Multicast Domain Name System (mDNS) é um protocolo de descoberta de serviço semelhante ao DNS para resolver nomes de host para endereços IP em uma rede local sem usar qualquer servidor DNS unicast. Pode ser usado sem qualquer infraestrutura adicional ou servidor DNS na rede. O protocolo opera em pacotes UDP multicast IP através dos quais um nó na rede local consulta os nomes de todos os outros nós. O nó cliente envia uma mensagem de consulta para responder por um nó com nome específico. Quando o nó com o nome correspondente recebe a consulta, ele responde com uma mensagem de resposta multicast contendo seu endereço IP. Sendo uma resposta multicast, o endereço IP e o nome do dispositivo alvo também são salvos por todos os dispositivos (nós) da rede em seus caches locais.
Nessa rede local, os endereços IP podem mudar em algum momento, mas não os nomes. Este protocolo é muito útil porque não necessita de nenhuma infraestrutura adicional (servidor DNS na rede) e pode ser utilizado para gerenciar dispositivos sem qualquer configuração ou administração manual. O protocolo pode ser implementado apesar de falhas de infraestrutura. Desenvolvido pela IETF, o protocolo mDNS é definido no padrão RFC6762.
DNS Service Discovery (DNS-SD) – Esta pilha de protocolos usa mensagens DNS padrão para descobrir serviços em uma rede IOT. Baseado no mDNS, o DNS-SD é usado para resolver serviços disponíveis em uma rede. A descoberta de serviço é implementada em duas etapas – na primeira etapa, os nomes de host dos provedores de serviços são resolvidos e na próxima etapa, os endereços IP são emparelhados com os nomes de host usando mDNS. É importante identificar nomes de host, pois os endereços IP podem mudar na rede.
Como no mDNS, o endereço IP e o nome do host do dispositivo alvo são comunicados como uma resposta multicast e cada nó (dispositivo IOT conectado na rede) atualiza o nome do host e o endereço IP relacionado ao receber a resposta. É o protocolo que mantém os nomes dos hosts constantes na rede, apesar dos dispositivos ou nós terem endereços IP dinâmicos. Como o nome do host sempre permanece constante na rede, é possível identificar os dispositivos de forma única e confiável na rede IOT local.
Assim como o mDNS, esta pilha de protocolos não requer nenhuma infraestrutura adicional (servidor de nomes DNS na rede) ou configuração manual ou administração de dispositivos IOT conectados.
uPnP – Mantido pela Open Connectivity Foundation, Universal Plug and Play (uPnP) é uma pilha de protocolos que permite que dispositivos em uma rede descubram uns aos outros e as capacidades uns dos outros, além de configurar funções de rede, como compartilhamento de dados e comunicação.
Existem três blocos de construção de qualquer rede UPnP – dispositivos, serviços e pontos de controle. Os dispositivos são os blocos básicos da rede onde cada dispositivo fornece serviço ou serviços específicos. Os serviços são vistos como um conjunto de ações que podem ser implementadas pelo dispositivo. Os pontos de controle identificam dispositivos por descrições de dispositivos e serviços e respondem ao nó cliente invocando os serviços solicitados. Neste protocolo, a descoberta de dispositivos e serviços acontece de forma automática e autônoma assim que um nó entra na rede. Portanto, não há necessidade de configurar manualmente os nós (dispositivos IOT) para descobrir dispositivos e serviços disponíveis na rede.
Este protocolo é baseado no roteamento TCP-IP. Os dispositivos são identificados pelos seus Indicadores de Recursos Universais (URIs) e os serviços são descobertos usando o Protocolo de Transferência de Hipertexto (HTTP). Um dispositivo conectado à rede se configura automaticamente adquirindo um endereço TCP-IP e indicando os serviços disponíveis por ele usando HTTP. Os dispositivos então usam XML para se comunicarem entre si e indicarem as capacidades uns dos outros (serviços a oferecer).
UPnP era anteriormente um padrão proprietário da Microsoft, mas agora é um padrão aberto. É bastante adequado para pequenas redes locais IOT onde os dispositivos precisariam se comunicar entre si sem qualquer infraestrutura adicional. Assim como o UPnP, pode ser usado por dispositivos móveis para conexão com impressoras e scanners em um escritório automatizado. Da mesma forma, pode ser usado para transferir fotos de uma câmera para dispositivos móveis ou laptop.
Simple Discovery Service Protocol (SDSP) – O Simple Discovery Service Protocol é usado em redes UPnP para descobrir serviços disponíveis. É utilizado por pontos de controle na rede UPnP para buscar dispositivos, serviços por eles oferecidos e sua disponibilidade em um determinado momento. O ponto de controle envia uma solicitação de pesquisa multicast à qual responde o dispositivo que oferece o serviço solicitado. Os dispositivos e serviços oferecidos por eles são identificados por descritores de dispositivos e serviços respectivamente. O ponto de controle utiliza dispositivos e descrições de serviços para procurar serviços solicitados na rede.
Existem também muitas plataformas de descoberta de serviços públicos para as quais os dispositivos IOT podem solicitar serviços. Algumas dessas plataformas são as seguintes –
HyperCat – uma coleção de URIs de padrão aberto para identificar sensores e publicar dados de sensores
Web física – um serviço iniciado pela equipe de desenvolvimento do Chrome do Google, a web física permite que dispositivos móveis capturem dados de sensores usando beacons BLE
Wi-Fi Aware – um serviço que usará Wi-Fi para conectar smartphones e dispositivos móveis com os sensores circundantes e dispositivos IOT e coletar e transmitir dados para eles.
Bluetooth Beacons – um serviço que permitirá que smartphones e dispositivos móveis recebam beacons Bluetooth contendo dados de sensores
Shazam – um serviço para identificar música gravando um clipe de áudio por alguns segundos. Atualmente está disponível como um aplicativo móvel e é frequentemente usado para identificar faixas de música.
Open Hybrid – um serviço para mapear interfaces digitais para objetos físicos
Chirp – um aplicativo móvel para codificar, transmitir e decodificar dados na forma de tons audíveis e inaudíveis próximos ao ultrassom
No próximo tutorial, serão discutidos vários protocolos da camada de aplicação usados ​​em sistemas IOT.
Para aprender sobre os protocolos da camada física e de enlace de dados comumente usados ​​para redes de computadores e dispositivos móveis, confira o seguinte tutorial –
Protocolos de camada física e de enlace de dados para computadores e dispositivos móveis – Ethernet BLE Wi-Fi Wi-Fi Direct WPA
Para aprender sobre os protocolos da camada física e de enlace de dados desenvolvidos para LPWAN, confira o seguinte tutorial –
Protocolos de camada física e de enlace de dados para LPWAN
Para aprender sobre os protocolos da camada física e de enlace de dados desenvolvidos para PAN, HAN e LAN, confira o seguinte tutorial –
Protocolos de camada física e de enlace de dados para LAN HAN e PAN
Para aprender sobre RFID e padrões móveis com aplicações em IOT, confira o seguinte tutorial –
Protocolos de Camada Física e de Enlace de Dados – Padrões RFID e Móveis
Para aprender sobre vários protocolos da camada de rede, confira o seguinte tutorial –
Protocolos de camada de rede
Para aprender sobre protocolos da camada de transporte, confira o seguinte tutorial –
Protocolos da camada de transporte

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.