Escolar Documentos
Profissional Documentos
Cultura Documentos
TABELA II
MARCADOR DO TIPO DE CONTROLE PUBLISH [14].
MARCADOR DE
NOME BIT 3 BIT 2 BIT 1 BIT 0
CABEALHO FIXO
PUBLISH Usado no MQTT 3.1.1 DUP QOS QOS Retain
O DUP (Duplicated delivery) um marcador referente a
entrega duplicada, dessa forma quando o bit est 0 significa
que a primeira ocasio que o cliente ou servidor tentou
enviar o pacote de publicao MQTT, j quando o bit est em
1 indica que pode ser uma reentrega de uma tentativa anterior
Fig. 8. Subscrio de topic ao broker [13]. para enviar o pacote.
Posteriormente, como exemplo, o cliente A publica um O marcador Retain possui uma srie de condies:
valor de 22.5 para o topic temperatura e o broker encaminha a Se o Retain definido como 1 em um pacote publicado
mensagem para todos os clientes subscritos, dessa forma os enviado pelo cliente ao servidor, o servidor deve armazenar a
clientes se comunicam um a um, um para muitos ou muitos mensagem e seu QoS para que possa ser entregue para futuros
para muitos. Esse exemplo pode ser visto na figura 9. clientes subscritos;
Se o servidor recebe um marcador de QoS como 0 e um
marcador Retain como 1, deve ser descartada qualquer
mensagem retida anteriormente para o topic;
Quando um pacote publicado pelo cliente ao servidor, o
Retain deve ser configurado como 1 se uma mensagem
enviada como resultado de uma nova subscrio feita pelo depende do tipo de pacote, sendo que o campo de identificador
cliente; de pacotes do cabealho varivel bem comum em vrios
O marcador Retain deve ser configurado como 0 quando tipos de pacotes. Na figura 11 possvel verificar o campo de
um pacote publicado enviado ao cliente porque ele coincide identificador de pacotes.
com uma subscrio estabelecida, independentemente de
como o marcador foi configurado na mensagem recebida
O QoS (Quality of Service) um marcador que indica o
nvel de garantia da entrega de uma mensagem PUBLISH. Os
nveis e valores de QoS so mostrados na tabela III. Fig. 11. Identificador de pacote [14].
O componente do cabealho varivel de muitos tipos de
TABELA III controle de pacotes incluem 2 bytes no campo identificador de
VALORES DE QOS [14]. pacotes, conforme ilustrado na figura11. Os controles de
pacotes que requerem um identificador de pacotes so listados
VALOR DE QOS BIT 2 BIT 1 DESCRIO
0 0 0 No mximo uma entrega
na tabela V.
1 0 1 Ao menos uma entrega
TABELA V
2 1 0 Exatamente uma entrega
CONTROLE DE PACOTES QUE POSSUEM UM PAYLOAD[14].
- 1 1 Reservado = no deve ser usado
A tabela IV exibe os valores do tipo de controle de pacote. PACOTE DE CONTROLE PAYLOAD
CONNECT No
TABELA IV CONNACK Sim (se QoS > 0)
VALORES DO TIPO DE CONTROLE DE PACOTE MQTT [14]. PUBLISH Sim
PUBACK Sim
NOME VALOR DIREO DO FLUXO DESCRIO PUBREC Sim
Reserved 0 Proibido Reservado PUBREL Sim
Requisio de PUBCOMP Sim
Cliente para
CONNECT 1 conexo do cliente SUBSCRIBE Sim
Servidor
ao servidor SUBACK Sim
Servidor para UNSUBSCRIBE Sim
CONNACK 2 Conexo confirmada
Cliente
UNSUBACK Sim
Cliente para
Publicao de PINGREQ No
PUBLISH 3 Servidor ou Servidor
mensagem PINGRESP No
para Cliente
DISCONNECT No
Cliente para
Confirmao para
PUBACK 4 Servidor ou Servidor
publicar Alguns dos controles de pacote MQTT possuem tambm
para Cliente
Cliente para Publicao recebida um payload como parte final do pacote. A tabela VI exibe os
PUBREC 5 Servidor ou Servidor (garantia de entrega pacotes de controle que requerem um payload.
para Cliente parte 1)
Cliente para Publicao liberada
TABELA VI
PUBREL 6 Servidor ou Servidor (garantia de entrega
CONTROLE DE PACOTES QUE POSSUEM UM IDENTIFICADOR DE PACOTES [14].
para Cliente parte 2)
Cliente para Publicao completa
PACOTE DE CONTROLE PACKAGE IDENTIFIER FIELD
PUBCOMP 7 Servidor ou Servidor (garantia de entrega
CONNECT Obrigatrio
para Cliente parte 3)
CONNACK Nenhum
Cliente para Requisio de
SUBSCRIBE 8 PUBLISH Opcional
Servidor subscrio do cliente
Servidor para Subscrio PUBACK Nenhum
SUBACK 9 PUBREC Nenhum
Cliente confirmada
Requisio de PUBREL Nenhum
UNSUBSCRIB Cliente para PUBCOMP Nenhum
10 cancelamento de
E Servidor SUBSCRIBE Obrigatrio
subscrio do cliente
Confirmao de SUBACK Obrigatrio
Servidor para UNSUBSCRIBE Obrigatrio
UNSUBACK 11 cancelamento de
Cliente UNSUBACK Nenhum
subscrio
Cliente para PINGREQ Nenhum
PINGREQ 12 PING requisitado PINGRESP Nenhum
Servidor
Servidor para DISCONNECT Nenhum
PINGRESP 13 PING respondido
Cliente Sem dvida nenhuma, o MQTT um dos melhores
Cliente para Cliente protocolos de mensagem e que ganhou mais destaque ainda
DISCONNECT 14
Servidor desconectando
Reserved 15 Proibido Reservado quando se tornou um padro OASIS.
O campo de comprimento restante (Remaining Length) no D. CoAP
byte 2 da figura 10 o nmero de bytes restantes do pacote
O CoAP (Constrained Application Protocol) foi concebido,
atual, incluindo os dados do cabealho varivel e o payload.
assim como o 6LoWPAN, pela IETF, por um grupo de
O cabealho varivel uma das partes da estrutura de
trabalho chamado CoRE (Constrained RESTful
controle de pacotes do MQTT, sendo localizado entre o
Environments). Adaptado do HTTP (HyperText Transfer
cabealho fixo e o payload. O contedo do cabealho varivel
Protocol), foi otimizado para dispositivos com capacidade de
bateria e processamento limitada, alm disso, usualmente
aplicado para aplicaes M2M (Machine-To-Machine), como
automao residencial e smart energy [15].
Em comparao com o HTTP, o CoAP realiza menos troca
de dados entre cliente e servidor, resultando assim em um
menor consumo de energia quando est sendo utilizado em
equipamentos de menor custo em ambos os lados da conexo
[16].
A caractersticas do CoAP so definidas na RFC 7252, Fig. 12. Formato de Mensagem CoAP [15].
sendo algumas delas descritas a seguir: Os campos do formato de mensagem CoAP so definidos
Protocolo Web que cumpre com os requisitos M2M em da seguinte maneira pela RFC 7252:
ambientes restritos; Verso (Ver): inteiro no negativo de dois bits que indica
Binding em UDP (User Datagram Protocol) com o nmero correspondente verso do CoAP;
confiabilidade opcional suportando requisies tanto unicast Tipo (T): inteiro no negativo de dois bits. Indica se a
quanto musticast; mensagem do tipo CON, NON, ACK ou RST;
Troca de mensagens de forma assncrona; Largura do Token (TKL): inteiro no negativo de quatro
Suporte a URI (Uniform Resource Identifier) e Content- bits. Indica o tamanho varivel do token (0-8 bytes);
Type; Cdigo (code): inteiro no negativo de oito bits que
Capacidade simples de Proxy e caching; caracteriza o tipo da mensagem, podendo indicar um mtodo
Baixo overhead no cabealho e anlise de complexidade. de requisio ou um cdigo de resposta;
So definidas ainda 4 tipos de mensagens: CON ID da mensagem (message ID): inteiro no negativo de
(Confirmable), NON (Non-Confirmable), ACK 16 bits usado para detectar duplicao de mensagens e
(Acknowledgment) e RST (Reset). tambm para comparao de mensagens do tipo ACK.
CON uma mensagem que necessita ser confirmada pelo O token utilizado para relacionar requisies e
destino, dessa forma quando no h perda de pacotes, cada respostas, sendo gerado no cliente e transportado junto com a
mensagem deste tipo resulta em uma mensagem do tipo ACK requisio;
ou RST. O cabealho e o token so seguidos pelas opes
NON no precisa de confirmao no recebimento, sendo (options), quando aplicvel, sendo que uma opo pode ser
extremamente til no caso de uma aplicao que recebe seguida pelo fim da mensagem, por outra opo ou pelo
leituras constantes de um sensor em um espao curto de payload;
tempo, pois a perda de uma mensagem no seria preocupante. Quando a mensagem possui payload, este deve ser
ACK uma mensagem que confirma o recebimento de uma indicado por um marcador de um byte que indica o fim das
mensagem CON, mas vale ressaltar que por si s no indica opes, sendo que a ausncia do marcador indica um payload
sucesso ou falha de nenhuma requisio encapsulada na de tamanho 0 bytes e um marcador seguido por um payload de
mensagem CON. 0 bytes considerado um erro no formato da mensagem.
RST indica que uma mensagem CON ou NON foi recebida, A tabela VII ilustra um comparativo entre esses dois
mas por algum motivo no pode ser devidamente processada, protocolos:
como por exemplo se algum dispositivo foi reiniciado e a
mensagem enviada no foi devidamente interrompida. TABELA VII
O CoAP baseado em troca de mensagens compactas VALORES DO TIPO DE CONTROLE DE PACOTE MQTT [17].
transportadas sobre UDP, podendo ser usado tambm DTLS MQTT COAP
(Datagram Transport Layer Security). Alm disso, suas Protocolo de
TCP UDP
mensagens so codificadas em um formato binrio simples, Transporte
sendo que a mensagem comea com um tamanho fixo de 4 Tipo de Payload Binrio Binrio
Adequado para
bytes de cabealho, seguido por um token de tamanho Sim Sim
microcontroladores
varivel, que pode ser entre 0 e 8 bytes. Aps o token pode Segurana SSL / TLS DTLS
no haver nenhuma ou uma srie de opes (options) no Escalabilidade Simples Complexo
formato TLV (Type-Length-Value), que so opcionalmente Baseado em broker Cliente / servidor
Arquitetura de rede
(publish/subscriber) (request/response)
seguidas por um payload, ocupando assim o resto do Padro de
Baseado em Topic Arquitetura REST
datagrama. Esse formato de mensagem CoAP pode ser Comunicao
observado na figura 12 [15]. Opes de QoS Sim Sim
Disponibilidade de
Sim Sim
cdigo aberto
Enfim, o CoAP um timo protocolo usado para transporte
de mensagem, assim como o MQTT, entretanto ambos tem
caractersticas diferentes.
III. CONCLUSES [8] P. Kinney, ZigBee Technology: Wireless Control that Simply Works,
Communications Designer Conference, Oct. 2013, pp. 03.
Neste artigo foram apresentados quatro tipos de protocolos [9] D. Gislason, ZigBee Wireless Networking, Elsevier, 2008, pp. 111.
candidatos a padro nico de protocolo para a Internet das [10] R. Costa, L. Mendes, Evoluo das Redes Sem Fio: Um Estudo
Comparativo Entre Bluetooth e ZigBee, Fundao Presidente Antnio
Coisas, entretanto, como foi possvel perceber, esta definio Carlos, 2006, pp.8.
no uma tarefa muito fcil, pois cada um dos protocolos [11] B. L. R. P. Vasques, I. B. A. Coutinho, M. F. Lima, V. P. O. Carneval,
possui caractersticas exclusivas e. justamente por essa razo, ZigBee, Engenharia Eletrnica e de Computao - Redes de
todos eles tornam-se fortes candidatos. Uma coisa em comum Computadores I, URFJ, 2010. Disponvel:
http://www.gta.ufrj.br/grad/10_1/zigbee/dispositivos.html
dentre os quatro protocolos estudados, que por se tratarem de [12] International Business Machines Corporation (IBM), Eurotech, MQTT:
protocolos abertos, todos beneficiam dispositivos de baixo Message Queuing Telemetry Transport, version 3.1, 2010, pp. 1-42.
consumo de energia, baixo processamento e baixa capacidade [13] T. Jeffey, MQTT and COAP, IOT protocols, 2014. Disponvel :
http://www.eclipse.org/community/eclipse_newsletter/2014/february/arti
de memria, ou seja, dispositivos com capacidades limitadas. cle2.php
O 6LoWPAN apresenta um diferencial muito grande por [14] OASIS, MQTT, version 3.1.1 plus errata 01, 2015, pp. 1-81.
trabalhar em cima do IPv6, tornando-se uma das melhores [15] Z.Shelby, RFC 7252: The Constrained Application Protocol (CoAP),
2014, pp. 1-112.
opes para a integrao das WPANs internet e s redes IP. [16] T. Lev, O. Mazhelis, H. Suomi, Comparing the cost-efficiency of
Por isso possvel notar um crescente interesse da CoAP and HTTP in Web of Things applications, Decis.Support Syst.,
comunidade tcnica e cientfica, alm disso, o mercado vol.63, Jul. 2014, pp. 23-38.
[17] E. Frigieri, D. Mazzer, L. Parreira, M2M Protocols for Constrained
tambm tem voltado os seus olhos para esse protocolo e dessa Environments in the Context of IoT: A Comparison of Approaches,
forma, tem surgido inmeros novos produtos baseado no XXXIII Simpsio Brasileirode Telecomunicaes, 2015, pp. 5.
mesmo.
Por outro lado temos o Zigbee, que j bem conhecido no
mercado e tem ganhando tambm bastante destaque, Henrique Osako nasceu em So Paulo, SP, em
principalmente com o ZigBee IP, sendo que essa aceitao do 03 de Setembro de 1987. Recebeu os ttulos de
mercado acaba sendo um dos seus trunfos. Eletricista de Manuteno (SENAI, 2004),
Engenheiro Eletricista com nfase em
O MQTT e o CoAP so dois excelentes protocolos para Eletrnica (FEI, Junho/2012) e est cursando a
transporte de mensagem. Enquanto o MQTT mais voltado Ps-Graduao em Engenharia de Redes e
para uma comunicao muitos para muitos, para transportar Sistemas de Telecomunicaes e
Desenvolvimento de Software (INATEL,
mensagens entre vrios clientes atravs de um servidor central previso Agosto, 2016).
broker e utilizando os protocolos da pilha TCP/IP, o CoAP Desde julho de 2012 atua na rea de
mais voltado para uma comunicao um para um, para Engenharia de Testes de Software para
celulares, onde recebeu o certificado CTFL
transferncia de informao entre cliente e servidor, utilizando Certified Tester Foundation Level (ISTQB, license 13-CTFL-02749-BR) e o
o protocolo UDP/IP. prmio de melhor funcionrio (2013 Exceptional Performance Award). Tem
Finalmente, possvel perceber que existe um esforo interesse na rea de testes, qualidade, automao de casos de testes e
telecomunicaes em geral, mas principalmente nas tecnologias de rede GSM,
muito grande tambm por parte de algumas organizaes em WCDMA e LTE.
promover esses protocolos, como o OASIS com o MQTT e o
IETF com o 6LoWPAN e CoAP; entretanto, enquanto no
houver um padro nico de protocolo, a escolha deste Edson Josias Cruz Gimenez - graduao em Engenharia Eltrica pelo
depender do cenrio de aplicao, assim como os requisitos Instituto Nacional de Telecomunicaes (1987), especializao em
do sistema. Dessa forma, ainda haver um mercado enorme Informtica Gerencial pela Faculdade de Administrao e Informtica (1994),
para a Internet das Coisas, com inmeros dispositivos e especializao em Educao Matemtica pela Pontifcia Universidade
Catlica de Campinas (1987) e mestrado em Telecomunicaes pelo Instituto
diferentes protocolos. Nacional de Telecomunicaes (2004). Professor titular do Inatel.
REFERNCIAS
[1] W. Leister and T.Schulz, Ideas for a Trust Indicator in the Internet of
Things. The First International Conference on Smart Systems, Devices
and Technologies, 2012,no. c, pp. 31-34.
[2] D. Evans, The Internet of Things How the Next Evolution of the
Internet Is Changing Everything. CISCO, white paper 2011, pp. 02-03.
[3] J. Gubbi, R. Buyya, S.Marusic, M. Palaniswami, Internet of Things
(IOT): A vision, architectural elements, and future directions. Future
Generation Computer Systems 2013, pp. 10-11.
[4] M. Kovatsch, S.Duquennoy and A.Dunkels, A Low-Power CoAP for
Contiki, 2011 IEEE Eighth Int. Conf. Mob. Ad-Hoc Sens. Syst., Oct.
2011, pp. 855-860.
[5] G. Montenegro, N. Kushalnagar, J.Hui, D. Culler, RFC 4944
Transmission of IPv6 Packets over IEEE 802.15.4 Networks, 2007.
[6] IPV6.br, ZigBee usa agora 6LoWPAN! Sua prxima lmpada ter
IPv6?,2013. Disponvel: http://ipv6.br/post/zigbee-usa-agora-6lowpan-
sua-proxima-lampada-tera-ipv6/
[7] M. Nixon, A comparison of WirelessHART and ISA100.11a,
Whitepaper, 2012, pp-11.