4.1 Vantagens e limitações
O CoAP é um protocolo da camada de aplicação similar ao HTTP, porém projetado para ser mais simples, demandando menos memória, processamento e, consequentemente, energia. Ele provê uma solução RESTFUL, seguindo a semântica HTTP, entretanto com um cabeçalho mais leve e uma abordagem binária e não textual.
O que garante menor complexidade ao CoAP com relação ao HTTP é o uso do protocolo de transporte UDP. O CoAP possui um
tratamento para o problema de perda de pacotes, não solucionado pelo UDP, adicionando uma camada à mensagem para
detecção e retransmissão dos pacotes. Um cabeçalho CoAP tem apenas quatro
O CoAP, como outros protocolos, é passível de ataques e ameaças. Estão listados abaixo os mais frequentes no CoAP:
![Ataques no CoAP](images/tabela2.png)
Limitações do CoAP:
4.2 Alternativa ao CoAP
Um outro protocolo de aplicação alternativo para o CoAP é o MQTT (
Com relação ao protocolo MQTT, o CoAP difere, principalmente, na arquitetura e na forma de comunicação. Este estabelece
conexões M2M entre cliente e servidor, enquanto o MQTT é baseado na arquitetura
MQTT atua em cima de TCP, enquanto CoAP usa UDP. Além disso, MQTT é orientado
4.3 Comparação de performance entre CoAP e MQTT
Ambos os protocolos citados são largamente utilizados na indústria tecnológica, porém eles possuem diferenças cruciais que vão caracterizar a tomada de decisão sobre qual utilizar.
O MQTT é um protocolo de comunicação de muitos-para-muitos, explicitando, ele pode transmitir mensagens entre vários
clientes por meio de um intermediário central, o qual chamamos de
O princípio de funcionamento do CoAP é, principalmente, de um-para-um, ou M2M, para transferir informações de estado entre o cliente e o servidor. Embora tenha suporte para a observação de recursos, o CoAP é mais adequado para um modelo de transferência de estado.
O MQTT não oferece suporte para classificar mensagens com tipos ou outros metadados para ajudar os clientes a entendê-los. As mensagens MQTT podem ser usadas para qualquer finalidade, mas todos os clientes devem conhecer os formatos de mensagens antecipadamente para permitir a comunicação. O CoAP, no entanto, possui suporte para descoberta de serviços e recursos, permitindo que os dispositivos investiguem uns aos outros para encontrar formas de trocar dados.
4.4 Perspectiva atual e futura do CoAP em IoT
O CoAP trouxe para o mundo da Internet das Coisas a possibilidade de fluxos de mensagens e gerência dos recursos da rede com dispositivos de capacidade restrita. Atualmente, o CoAP é bastante utilizado para soluções de mercado que necessitam interoperabilidade em redes de baixa capacidade ou, simplesmente, quando um tráfego elevado de informações não é o esperado.
O universo IoT está usando amplamente o CoAP como um protocolo para automação residencial e em inúmeras aplicações
industriais. Ele também é usado para gerenciar dispositivos usando o protocolo LWM2M (
Em 2016, a
O CoAP tem evoluído rapidamente, segundo a