MQTT · 2026-01-24

MQTT와 CoAP 비교: 언제 어떤 프로토콜을 선택할까

IoT 설계에서 MQTT와 CoAP의 작동 원리, 성능, 전력 특성, 보안 차이를 정리하고 상황별 프로토콜 선택 기준

작성일 : 2026-01-24 ㆍ 작성자 : 관리자
post
목차

요약

mqtt vs coap 비교는 IoT 시스템 설계에서 빈번히 필요한 판단이다. 두 프로토콜은 목적과 설계 철학이 다르다. 이 글은 기본 개념을 쉽게 설명하고, 핵심 차이와 사용 사례를 정리해서 실무에서 어떤 상황에 어떤 프로토콜이 적합한지 판단하는 데 도움을 준다.

프로토콜 기본 개념

MQTT란?

MQTT는 경량 메시지 브로커 기반(pub/sub) 프로토콜이다. 중앙 브로커가 중개자 역할을 맡아 발행자(publisher)와 구독자(subscriber)를 연결한다. TCP 위에서 동작하고, QoS 레벨로 신뢰성 조절이 가능하다. 주로 지속 연결과 중앙 관리가 가능한 환경에서 많이 쓰인다.

CoAP란?

CoAP는 제약 장치(Constrained Devices)를 위해 설계된 RESTful 프로토콜이다. UDP를 기반으로 하며 HTTP와 유사한 요청/응답 모델을 사용한다. 작은 패킷 오버헤드와 낮은 대기시간, 멀티캐스트 지원이 강점이다.

핵심 차이점 (coap mqtt 차이점)

  • 전송층: MQTT는 TCP, CoAP는 UDP를 기본 사용. TCP는 연결 지향적 신뢰성을 제공하고 UDP는 빠르고 경량적이다.
  • 메시징 모델: MQTT는 pub/sub(브로커 필요). CoAP는 request/response(서버-클라이언트).
  • 신뢰성 제어: MQTT는 QoS 0/1/2로 보장 수준 설정 가능. CoAP는 메시지 유형(Confirmable, Non-confirmable)과 재전송으로 신뢰성 관리.
  • 오버헤드: MQTT는 상대적으로 더 많은 헤더와 연결 유지 비용. CoAP는 헤더가 작아 배터리·대역폭 제약이 큰 장치에 유리.
  • 상태 유지: MQTT는 연결 상태 기반(세션 유지). CoAP는 무상태이며 필요 시 관찰(observe) 확장을 사용해 상태 변화를 전달.
  • 적용 사례: MQTT는 실시간 텔레메트리·원격 제어에 적합. CoAP는 센서 데이터 전송·저전력 네트워크에 적합.

성능과 자원 관점

네트워크 대역폭과 장치 전력 소모가 핵심 고려사항이다. CoAP는 UDP 기반으로 헤더가 작아 전송 비용이 적다. 반면 MQTT는 TCP 연결 유지로 세션 관리 오버헤드가 있으나, 빈번한 양방향 통신과 안정적 전달이 중요한 경우 이득이 있다.

지연 시간

일반적으로 CoAP(UDP)는 연결 수립 오버헤드가 없어 초기 지연이 낮다. MQTT는 TCP 핸드셰이크와 연결 유지 때문에 초기 지연이 다소 크다. 그러나 안정화된 연결 상태에서는 MQTT도 빠른 전달을 제공한다.

신뢰성

중요한 제어 명령이나 손실 허용 불가 메시지에는 MQTT QoS 1/2가 유리하다. CoAP도 Confirmable 메시지로 재전송을 구현할 수 있으나, 최종 전송 보장이나 중복 제거에서 MQTT만큼 직관적이지 않을 수 있다.

보안

양쪽 모두 보안 계층 지원이 필요하다. MQTT는 TLS로 연결 보안이 일반적이다. CoAP는 DTLS(UDP 기반 TLS)로 보안을 제공한다. 제약 장치에서는 DTLS 핸드셰이크 비용과 키 관리가 부담이 될 수 있다.

실전 예시 코드

간단한 MQTT 발행 예 (mosquitto_pub 사용)

mosquitto_pub -h broker.example.com -t sensors/temperature -m "22.5" -q 1

간단한 CoAP GET 예 (libcoap 기반 coap-client 사용)

coap-client -m get coap://coap.example.com/sensors/temperature

선택 체크리스트 (iot 프로토콜 선택 가이드)

  • 네트워크 안정성: 패킷 손실이 잦으면 MQTT의 높은 QoS 고려
  • 전력·대역폭 제약: 매우 제약된 센서 네트워크는 CoAP 우선
  • 통신 패턴: 주로 푸시 기반이면 MQTT, 요청/응답이면 CoAP
  • 중앙 관리 필요성: 브로커 기반 모니터링이 필요하면 MQTT
  • 멀티캐스트 필요성: 그룹 제어나 동시에 다수 장치에 전송할 때 CoAP의 멀티캐스트 유리
  • 보안 요구사항: TLS/DTLS 구현과 키 관리 비용 평가

권장 사례

다음은 일반적인 권장 상황이다.

  • 원격 모니터링·실시간 알림: MQTT를 우선 고려한다.
  • 저전력 센서 네트워크·로컬 멀티캐스트 제어: CoAP가 적절하다.
  • 혼합 환경: 경계 게이트웨이에서 프로토콜 변환(MQTT 브로커와 CoAP 에지)을 통해 양쪽 장점 활용 가능.

결론

mqtt vs coap 비교에서 정답은 없다. 요구하는 신뢰성, 전력 제약, 통신 패턴, 인프라 운영 방법을 기준으로 선택해야 한다. 작은 데이터와 낮은 전력 소비가 핵심이라면 CoAP, 안정적 전송과 중앙 관리가 필요하면 MQTT가 더 적합하다. 마지막으로 프로토콜 선택은 단일 요소가 아닌 복합적인 조건을 고려한 결정이라는 점을 명확히 한다.

mqtt vs coap 비교 coap mqtt 차이점 iot 프로토콜 선택 가이드 MQTT CoAP IoT 프로토콜 저전력 통신 pub/sub vs request-response