2.1 Modelo e fluxo de mensagens
O modelo de mensagens do CoAP é baseado na troca de mensagens de ponta a ponta através do protocolo UDP. São 4 os tipos de mensagens usadas no protocolo CoAP :
A confiabilidade é fornecida marcando uma mensagem como confirmável (CON). Uma mensagem confirmável é retransmitida usando um tempo limite padrão entre retransmissões, até o destinatário, enviando uma mensagem de confirmação (ACK) com o mesmo ID de mensagem.
Quando um destinatário não é capaz de processar uma mensagem como confirmável, ele
responde com uma mensagem
Uma mensagem que não requer transmissão confiável (por exemplo, uma única medida fora de
um fluxo de dados de um sensor) pode ser enviada como uma mensagem não confirmável (NON). Estas não são
reconhecidas, mas ainda têm um ID de mensagem para detecção duplicada. Quando um destinatário não for capaz de
processar uma mensagem não confirmável, pode-se responder com uma mensagem de
Como o CoAP é executado sobre UDP, que é um protocolo não confiável, também suporta o
uso dos endereços
2.2 Intermediários e Cache
O protocolo suporta o armazenamento de respostas com a finalidade de atender de forma eficiente aos pedidos. O armazenamento em cache simples é ativado usando informações de atualização e validade transportadas com respostas CoAP. Um cache pode ser localizado em um nó (ponto final) ou um intermediário.
Como o CoAP foi projetado de acordo com a arquitetura REST, e por isso exibe
funcionalidades similares ao protocolo HTTP, é possível traçar um paralelo entre os dois
protocolos, mapeando de CoAP para HTTP e vice-versa. Tal mapeamento pode ser usado para
realizar a interface HTTP REST usando CoAP ou para converter entre HTTP e CoAP. Essa
conversão pode ser realizada por um
2.3 Formato da mensagem
CoAP é baseado na troca de mensagens compactadas que, por padrão, são transportadas pelo
UDP (ou seja, cada mensagem do CoAP ocupa uma seção de dados de um datagrama UDP).
As mensagens do CoAP são codificadas em um simples formato binário. O formato da
mensagem começa com um cabeçalho de tamanho fixo de 4
- Confirmável (0)
- Não-confirmável (1)
- Confirmação (2)
- Reset (3)
2.4 Correlação de mensagens e desduplicação
Uma mensagem ACK ou RST é relacionada com uma mensagem CON e NON através de uma mensagem
de ID junto com o endereço do nó correspondente.
A mensagem ID é gerada pelo transmissor de uma mensagem CON ou NON e incluída no cabeçalho do
CoAP. A mensagem ID deve ecoar um ACK ou RST do cliente.
Além disso, a mesma mensagem ID deve esperar o
Para uma mensagem ACK ou RST combinar com uma CON ou NON , a mensagem ID e nó de origem do ACK ou RST devem combinar com a mensagem ID e nó de destino do CON ou NON.
2.5 Controle de congestionamento
Com o intuito de não causar congestionamento, clientes (incluindo
Uma
2.6 Protocolo de segurança para CoAP
CoAP usa
- Retransmissão de pacotes
- Assigning sequence number dentro do handshake
- Detecção de
Ao contrário de protocolos de segurança da camada de rede, DTLS em camadas de aplicação
protege comunicações fim a fim. Nenhuma proteção de comunicações fim a fim vai tornar
mais fácil para atacantes terem acesso a todo o dado em texto que passa por um nó
comprometido. DTLS também evita problemas de criptografia de