티스토리 뷰

HardWare/기타

MQTT 정의

White Whale 2016. 10. 25. 17:38
728x90

1. 기원

  

  MQTT(Message Queue Telemetry Transport)란 IoT에서 각광 받고 있는 메세지 전송 프로토콜입니다. MQTT는 앤디 스탠포드 클라크 (IBM)와 알렌 니퍼 (EUROTECH)가 1999년에 개발하였습니다.

 초기 MQTT는 멀티 레벨의 QoS(Quality of Service)를 경량 및 효율적인 대역폭을 사용하기 위해 설계 되었고, 현재는 MQTT의 특성인 메세지 경량화로 인해 IoT 또는 M2M(machine to machine communications) 통신에 많이 사용되고 있습니다.

 2011년, IBM과 EUROTECH는 PAHO라고 제안 된 이클립스 프로젝트에 MQTT를 기증했고, 2013년, OASIS에 제출하여 해당 MQTT는 표준이 되었습니다.



2. 용어

  

  • Broker :  브로커는 발행 Client로부터 모든 메세지를 수신하고, 등록 된 클라이언트로 전송하는 소프트웨어입니다. 쉽게 설명하면 클라이언트간 연결시켜주는 클라우드 서버라고 보시면 됩니다. 브로커는 단일 실패 지점이 되거나 병목형상을 발생시킬 수 있기 때문에 클러스터로 확장 및 신뢰성을 높힙니다. 또한 브로커 계층 구조를 구현할 수 있습니다.

  • Client : 어떠한 브로커에 연결된 publisher 또는 subscriber를 지칭합니다.  MQTT에서도 서버와 클라이언트가 있다고 설명하는데 여기서 중앙 집중식 서비스에 연결하기 때문에 publisher와 subscriber 모두 클라이언트가 됩니다.


  • Topic : MQTT에서 Topic이란 하나의 엔드포인트(End Point)를 말합니다. Topic은 publisher와 subscriber의 메세지의 중앙 유통 허브 역할을 합니다. 비유해서 설명드리면 채팅 프로그램이 Broker라고 하면 채팅방이 Topic됩니다. 또한 publisher과 subscriber은 사용자가 됩니다. MQTT는 Topic으로 하여 세부 그룹화를 나눌 수 있습니다. 'room'이라는 토픽이 있을 시, '/'하여 하위 토픽으로 'room/temperature'나 'room/humidity'을 둘 수 있습니다.

  • Connection : MQTT는 TCP / IP에 기초하여 클라이언트에 의해 이용될 수 있습니다. 브로커에 의해 보안을 지원하지 않는 포트는 1883이다. TLS / SSL을 지원하는 브로커는 일반적으로 보안 통신을 위해 포트 8883을 사용합니다.



3. 정의

  

  MQTT는 하나의 통신 규약입니다. 어떻게 말하면 하나의 메세지 전송 시스템이라고도 부를 수 있습니다. 서버의 역할을 하는 Broker와 클라이언트의 역할을 하는 Publisher와 Subscriber가 있으며, 용어에서도 설명했듯이 Publisher은 메세지를 전달하는 클라이언트이고 Subscriber는 메세지를 수신하는 클라이언트입니다. 클라이언트들은 Topic을 타겟으로 삼아 메세지를 보내고 읽습니다. 따라서 서버의 역할을 하는 브로커에 접속만 한다면 Topic만으로 메세지를 송수신할 수 있습니다.

'HardWare > 기타' 카테고리의 다른 글

전자회로 심볼  (2) 2016.11.17
Vcc, Vee, Vdd, Vss 란  (0) 2016.11.17
SPI(Serial Peripheral Interconnect) 버스  (3) 2016.09.22
I2C(Inter Integrated Circuit) 버스  (1) 2016.09.21
CloudMQTT  (0) 2016.06.23
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함