9주차_참고 : MQTT 개요 - dhryu60/SmartDevice_2025-1 GitHub Wiki


MQTT란 무엇인가?

📌 목차

  1. MQTT란?
  2. MQTT의 기본 개념
  3. MQTT 통신 구조
  4. MQTT 주요 용어
  5. MQTT의 특징
  6. MQTT의 주요 사용 사례
  7. MQTT vs HTTP 비교
  8. 보안 이슈와 대책
  9. 추가 참고 자료

MQTT란?

  • MQTT (Message Queuing Telemetry Transport)
    사물인터넷(IoT)과 머신투머신(M2M) 통신을 위해 고안된 초경량 메시지 통신 프로토콜입니다.
  • 1999년 IBM에서 처음 개발되었으며,
    낮은 대역폭, 높은 신뢰성, 적은 전력 소비가 필요한 환경에 최적화되어 있습니다.

MQTT의 기본 개념

  • 발행(Publish)구독(Subscribe) 기반으로 동작합니다.
  • 장치(클라이언트)는 메시지를 토픽(Topic) 에 발행하고, 다른 장치들은 해당 토픽을 구독하여 메시지를 수신합니다.
  • 통신은 브로커(Broker) 라는 중개 서버를 통해 이뤄집니다.

MQTT 통신 구조

[Publisher] → [Broker] → [Subscriber]
  • Publisher: 특정 토픽에 메시지를 발행
  • Broker: 메시지를 수신하고, 구독자에게 전달
  • Subscriber: 관심 있는 토픽을 구독하고 메시지를 받음

image


MQTT 주요 용어

용어 설명
Client MQTT 통신에 참여하는 장치 또는 프로그램
Broker 클라이언트 간 메시지 중계 서버
Publish 토픽에 메시지를 보내는 행위
Subscribe 특정 토픽에 대해 메시지를 받겠다고 등록하는 행위
Topic 메시지를 주고받는 가상의 채널 경로
Payload 실제로 전송되는 데이터 내용
QoS (Quality of Service) 메시지 전송의 신뢰성 수준 설정 (0, 1, 2 레벨)

MQTT의 특징

  • 📡 경량 프로토콜: 최소한의 네트워크 트래픽
  • 🔗 항상 연결 유지: 장기 연결 기반 통신 지원
  • 🏎️ 빠른 반응성: 실시간 데이터 전달 가능
  • 🔥 저전력 소모: 배터리 기반 기기에 적합
  • 🔒 QoS 제공: 신뢰성 있는 데이터 전송 설정 가능
  • 📈 확장성: 수백만 개 디바이스 연결 가능

MQTT의 주요 사용 사례

  • 스마트 홈 (예: 조명, 온도 제어)
  • 스마트 팩토리 (IoT 기반 생산 라인 모니터링)
  • 자동차(텔레매틱스, 차량 상태 모니터링)
  • 헬스케어 (웨어러블 기기 데이터 전송)
  • 에너지 관리 (스마트 미터링)
  • 농업 (스마트 팜, 원격 관개 시스템)

MQTT vs HTTP 비교

항목 MQTT HTTP
통신 방식 게시-구독 비동기 통신 요청-응답 동기 통신
연결 유지 가능 (Persistent Connection) 요청마다 연결
대역폭 사용 매우 적음 상대적으로 많음
메시지 크기 작음
실시간성 높음 낮음
에너지 소모 적음 많음
적용 분야 IoT, M2M 웹 애플리케이션

보안 이슈와 대책

  • 문제:
    • 기본 MQTT는 암호화되지 않음 → 데이터 도청 위험
  • 대책:
    • SSL/TLS 적용하여 데이터 암호화
    • 사용자 인증(Authentication) 추가
    • 권한 관리(Authorization) 설정
    • 브로커와 클라이언트 양쪽에 방화벽 설정

추가 참고 자료


🚀 요약

MQTT는 가볍고 빠른 실시간 통신을 가능하게 하여, IoT의 핵심 프로토콜로 자리잡았다!