Learning
토픽 124 / 147·네트워크 응용 및 고급 프로토콜

MQTT (Message Queuing Telemetry Transport)

MQTT (Message Queuing Telemetry Transport)

제한된 대역폭과 불안정한 네트워크 환경에서 경량 메시지를 전송하기 위한 발행-구독(Pub/Sub) 기반 프로토콜(ISO 표준)로, IoT 센서와 모바일 디바이스 간 M2M(Machine-to-Machine) 통신에 최적화

목적: IoT 메시징, 경량 통신, 저전력/저대역폭, 신뢰성, 대규모 디바이스 연결

특징: 발행-구독 패턴, 경량(2바이트 최소 헤더), TCP 기반, QoS 레벨, 지속 세션

구성요소

  • Broker: 메시지 중개, 토픽 관리, 클라이언트 연결, Mosquitto, EMQX, HiveMQ
  • Publisher: 메시지 발행, 토픽에 전송
  • Subscriber: 토픽 구독, 메시지 수신
  • Topic: 계층적 구조(/home/sensor/temp), 와일드카드(+, #)

QoS 레벨

  • QoS 0 (At most once): 최대 1회 전달, 확인 없음, Fire-and-Forget, 가장 빠름
  • QoS 1 (At least once): 최소 1회 전달, PUBACK 확인, 중복 가능
  • QoS 2 (Exactly once): 정확히 1회 전달, 4단계 핸드셰이크, 가장 느림

주요 기능

  • Retained Message: 마지막 메시지 저장, 새 구독자에게 즉시 전달
  • Last Will and Testament(LWT): 비정상 종료 시 유언 메시지 발행
  • Clean Session: 세션 지속 여부, 구독/메시지 상태 유지
  • Keep Alive: 연결 유지 핑, 타임아웃 설정

토픽 와일드카드

  • + (Single Level): home/+/temp → home/living/temp, home/bed/temp
  • # (Multi Level): home/# → home/아래 모든 토픽

MQTT 5.0 신기능: 사용자 속성, 메시지 만료, 요청-응답 패턴, 공유 구독

장점: 경량(저전력), 신뢰성(QoS), 대규모 연결, 비동기, 방화벽 친화적(TCP 1883/8883)

단점: 보안(기본 암호화 없음, TLS 필요), 브로커 단일 장애점, 메시지 크기 제한

적용사례: IoT(스마트홈, 센서), 차량 텔레매틱스, 모바일 푸시, 산업 자동화(Industry 4.0)

기술요소: Pub/Sub, Broker, QoS, Retained, LWT, Topic, Mosquitto, EMQX

비교: MQTT(경량/IoT) vs AMQP(엔터프라이즈/복잡) vs HTTP(요청-응답/무거움) vs CoAP(UDP/제약)

연관: IoT, M2M, Pub/Sub, 메시지 브로커, CoAP, Kafka, 센서 네트워크