IT/공부 정리

MQTT, MQTT Protocol란

rinix_x 2023. 6. 16. 10:58
반응형

MQTT

Message Queue Telemetry Transport의 줄임말인 MQTT는 제한된 자원을 가진 임베디드 장치가 제한된 네트워크에서 비동기 통신을 수행할 수 있도록하는 경량 메시징 프로토콜입니다.
MQTT 프로토콜은 발행(publish) / 구독(subscribe) 패턴을 기반으로하므로 클라이언트가 하나 이상의 토픽을 구독하고 다른 클라이언트가 이 토픽에 대해 발행한 메시지를 수신할 수 있습니다.

 

 MQTT구

- Broker : 데이터의 중계
- Publisher : 발행(publish)을 통해 데이터를 Broker로 전달
- Subscriber : 구독(subscribe)을 통해 Broker로 부터 데이터를 수신

 

Publish / Subscribe

- Device 1이 토픽에 발행(Publish)
- Device 2는 Device 1이 발행한 그 토픽에 구독(Subscribe)
- Device 2는 메시지(Message)를 받을 수 있음
- 여기서 메시지는 디바이스 간 교환되는 정보(command or data)

 

● Topics
- Publiser와 Subscriber가 메세지를 교환하는 채널로 이해할 수 있음
- 문자열로 표현하며, Slashes(/)로 구분되어짐
- Slashes는 토픽 레벨을 나타냄
- 대소문자 구분 필요 (ex. home/office/lamp ≠ home/office/LAmp)

● Broker

- 원격 서비스 호출을 통해 상호작용하는 컴포넌트들을 분리하는 분산 소프트웨어 시스템 구조
- 모든 메시지를 받으며, 필터링함
- 메시지를 구독한 모든 클라이언트들에게 발행함
- 여러개의 브로커를 사용할 수 있음

 

● MQTT의 QoS
- 0단계 : 메시지 한번 전달, 수신과정 체크 없음
- 1단계 : 메시지 한번 이상 전달, 추적 없음, 중복 수신 가능성 있음
- 2단계 : 메시지 한번 전달, 핸드셰이킹 모든 과정 체크
- 단계의 상향에 따른 품질 향상이 있으나 속도의 저하 가능성이 있음


● MQTT 장점
- 단순하고 가벼운 프로토콜
- 메시지의 특성에 따른 QoS 선택 가능
- TLS/SSL 등의 암호화 지원
- 간편한 1:1, 1:N 통신 구축

반응형