상태 | 출판됨 |
---|---|
시작 연도 | 1999 |
마지막 버전 | 5.0[1] 2019년 3월 7일 |
조직 | OASIS |
위원회 | OASIS Message Queuing Telemetry Transport Technical Committee[2] |
편집장 | Andrew Banks (IBM), Ed Briggs (Microsoft), Ken Borgendale (IBM), Rahul Gupta (IBM)[1] |
관련 표준 | MQTT-SN[3] |
웹사이트 | mqtt |
인터넷 프로토콜 스위트 |
---|
응용 계층 |
전송 계층 |
인터넷 계층 |
링크 계층 |
MQTT[4](메시지 큐잉 텔레메트리 트랜스포트, Message Queuing Telemetry Transport)는 ISO 표준(ISO/IEC PRF 20922)[5] 발행-구독 기반의 메시징 프로토콜이다. TCP/IP 프로토콜 위에서 동작한다. "작은 코드 공간"(small code footprint)이 필요하거나 네트워크 대역폭이 제한되는 원격 위치와의 연결을 위해 설계되어 있다. 발행-구독 메시징 패턴은 메시지 브로커가 필요하다.
IBM의 앤디 스탠퍼드 클락과 시러스 링크의 알렌 니퍼(Arlen Nipper)가 1999년 이 프로토콜의 최초 버전을 만들었다.[6]
2013년, IBM은 MQTT v3.1을 OASIS 표준화 단체에 제출하였다.[7] MQTT-SN[8]은 직비와 같은 비 TCP/IP 네트워크의 임베디드 장치에 초점을 둔 메인 프로토콜의 일종이다.
역사적으로, MQTT의 MQ는 IBM 웹스피어 MQ(당시 'MQSeries') 메시지 큐 제품 계열에서 비롯된 것이다.[9] 그러나 모든 상황에서 표준 기능으로서 큐잉 그 자체를 지원하는 것은 필수가 아니다.[10]
서버와의 연결 수립을 기다린 다음 노드 간 링크를 만든다.
MQTT[11] 클라이언트가 해야 할 일을 기다리고 인터넷 프로토콜 스위트 세션의 연결이 끊어지기를 기다린다.
MQTT 클라이언트에 요청이 전달된 직후 애플리케이션 스레드에 즉시 반환한다.
브로커에 대한 각 연결은 QoS 기준을 지정할 수 있다. 부하가 늘어나는 순서에 따라 다음과 같이 분류된다:
이 필드는 기반이 되는 TCP 데이터 전송의 처리에 영향을 주지 않으며, MQTT 송신자와 수신자 간에만 사용된다.