Embora muito comum e amplamente conhecido no mundo inteiro, o HTTP (Hypertext Transfer Protocol ou Protocolo de Transferência de Hipertexto em português) cumpre o que promete ao oferecer uma comunicação entre um navegador e um servidor web, se tornando então um dos principais da internet.
Porém, embora esse Protocolo de Transferência de Hipertexto seja tão utilizado ao redor do planeta, ele está muito longe de ser perfeito. Com tanta fama, a sua segurança começou a sofrer com falhas, além de ter uma comunicação complicada.
É neste cenário que foi desenvolvido o Protocolo MQTT, capaz de oferecer uma maior segurança e também uma comunicação mais simples.
Caso você ainda não conheça esse protocolo tão importante ou ainda está com alguma dúvida, confira aqui tudo sobre o protocolo MQTT: o que é, como funciona e quais são as vantagens de utilizá-lo.
Protocolo MQTT: o que é esse protocolo?
Desenvolvido na década de 90 pela IBM e Eurotech, o MQTT (Message Queuing Telemetry Transport e tendo tradução para português sob o nome de Transporte de Filas de Mensagem de Telemetria) é um protocolo de mensagens que foi criado com o objetivo de oferecer um baixo consumo de rede, banda e também dos demais recursos de software. O formato utilizado no MQTT é de Cliente/Servidor.
Por esse motivo e também por ter fundamentos na pilha TCP/IP ou em outros protocolos de rede, o MQTT tem extrema utilidade dentro da área de desenvolvimento de projetos de comunicação entre máquinas, também conhecido pelo termo M2M (Machine to Machine). Outra área também onde se torna muito presente é para conectividade de IoT (Internet of Things).
Como explicado acima, o MQTT foi criado para suprir os pontos em que o HTTP deixa a desejar. Dessa forma, além de ser capaz de oferecer uma redução dos requisitos para dispositivos e da largura de banda da rede, esse protocolo oferece maior segurança e confiabilidade.
Por conta desse baixo consumo de dados, é um protocolo muito utilizado no mundo inteiro, como em empresas e indústrias, por exemplo.
Como funciona o Protocolo MQTT
Para funcionar, o Protocolo MQTT utiliza um modelo de Publish/Subscribe onde permite que o cliente faça postagens e/ou capte informações enquanto o servidor irá administrar esse envio e o recebimento dos respectivos dados.
Ou seja, em um MQTT haverá um publicador onde será responsável por publicar as mensagens em um determinado tópico onde um assinante irá inscrever-se neste tópico para poder acessar a mensagem.
Como não há uma conexão direta entre o assinante e o publicador, para que essas mensagens aconteçam, o protocolo MQTT irá precisar de um gerenciador de mensagens chamado de Broker.
Uma breve história do MQTT
Por volta de 1999, os engenheiros Andy Stanford-Clark (da IBM) e Arlen Nipper (Cirrus Link, Eurotech) lançaram a primeira versão do Protocolo MQTT, versão esta que foi destinada ao monitoramento de oleodutos através de satélites. Embora sua publicação tenha sido a tantos anos, a sua liberação gratuita chegou nas mãos do público somente em 2010.
Formas de comunicação
Em um Protocolo MQTT, a publicação e o recebimento de dados são realizados através de um tipo de servidor chamado de Broker. Ou seja, nessa comunicação haverá então um cliente que terá o papel de Publisher (Publicador) e transmitirá a mensagem, com um tópico de destino e o seu Payload (o conteúdo da mensagem).
Essa mensagem em questão será então transmitida ao Broker que por sua vez será o responsável por geri-la e encaminhá-la ao Subscriber que foi previamente inscrito no tópico.
Seguindo essa mesma linha, caso o cliente queira tornar-se um Subscriber em algum tópico, ele deverá apenas encaminhar uma solicitação ao Broker que será capaz de fazer uma ligação entre o cliente e o tópico em questão.
De forma simplificada, essa comunicação pode ser dividida entre os seguintes termos:
- Subscriber (Subscrito) – a pessoa que estará inscrita no tópico e irá ter o papel de receptor.
- Publisher (Publicador) – a pessoa que estará responsável por ser o emissor e enviar os dados para um determinado tópico.
- Broker – será o intermediário para fazer uma ponte de comunicação entre o Publisher e o Subscriber, se tornando responsável por fazer o recebimento, enfileiramento e envio das mensagens.
- Tópico –será o endereço pelo qual os dados das mensagens serão enviados.
- Client (Cliente) – será o elemento que terá a capacidade de interagir com o Broker, podendo enviar e receber dados.
- Mensagem – será o pacote de dados trocados entre os clientes e o Broker.
- Unsubscribe – permite deixar de assinar um determinado tópico.
- Payload – será o conteúdo da mensagem que será enviada.
Vantagens que o Protocolo MQTT oferece
Baixo consumo de recursos
Diferente de outros protocolos, o MQTT tem um baixo consumo de memória, havendo então pouca necessidade de um processamento forte para que o transporte de mensagens seja realizado. Há também um baixo consumo de banda.
Alta confiabilidade
O Protocolo MQTT é conhecido por oferecer mais confiança aos usuários ao garantir que as mensagens sejam entregues. Essa confiabilidade é feita através de configurações Quality of Service (QoS), onde será medido a importância e a necessidade desse recebimento.
Alta segurança
Como explicado anteriormente, uma das maiores vantagens de utilizar o Protocolo MQTT é o alto nível de segurança que o mesmo oferece. Geralmente, as mensagens transmitidas através do Message Queuing Telemetry Transport são protegidas através do uso de certificado SSL (Secure Socket Layer) com criptografias avançadas. Ou seja, o MQTT suporta diversos tipos de mecanismos para proteção de informações e de autenticações que podem ser configurados com facilidade pelo próprio cliente diretamente no Broker.
Conclusão
Criado para ser um concorrente do HTTP, o Protocolo MQTT foi desenvolvido com o intuito de oferecer uma conexão segura e com baixa exigência de máquina e banda. Utilizando um modelo de Publish/Subscribe, o MQTT permite que o cliente faça postagens e também capte informações com facilidade enquanto o servidor cuidará de administrar o envio e recebimento deles.
Dentro do Protocolo MQTT, é possível encontrar os seguintes termos sendo usados: Subscriber (Subscrito), Publisher (Publicador), Broker, Tópico, Client (Cliente), Mensagem, Unsubscribe e Payload.
Além do HTTP, você já conhecia o Protocolo MQTT? Qual foi a sua impressão? Deixe suas experiências nos comentários!
1 comentário
Quero apreender utilizar MQTT para meus equipamentos.