9주차_참고 : MQTT 개요 - dhryu60/SmartDevice_2025-1 GitHub Wiki
MQTT란 무엇인가?
📌 목차
- MQTT란?
- MQTT의 기본 개념
- MQTT 통신 구조
- MQTT 주요 용어
- MQTT의 특징
- MQTT의 주요 사용 사례
- MQTT vs HTTP 비교
- 보안 이슈와 대책
- 추가 참고 자료
MQTT란?
- MQTT (Message Queuing Telemetry Transport) 는
사물인터넷(IoT)과 머신투머신(M2M) 통신을 위해 고안된 초경량 메시지 통신 프로토콜입니다.
- 1999년 IBM에서 처음 개발되었으며,
낮은 대역폭, 높은 신뢰성, 적은 전력 소비가 필요한 환경에 최적화되어 있습니다.
MQTT의 기본 개념
- 발행(Publish) 와 구독(Subscribe) 기반으로 동작합니다.
- 장치(클라이언트)는 메시지를 토픽(Topic) 에 발행하고,
다른 장치들은 해당 토픽을 구독하여 메시지를 수신합니다.
- 통신은 브로커(Broker) 라는 중개 서버를 통해 이뤄집니다.
MQTT 통신 구조
[Publisher] → [Broker] → [Subscriber]
- Publisher: 특정 토픽에 메시지를 발행
- Broker: 메시지를 수신하고, 구독자에게 전달
- Subscriber: 관심 있는 토픽을 구독하고 메시지를 받음

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의 핵심 프로토콜로 자리잡았다!