본문 바로가기

#MQTT 가 무엇인가?

약자나 정의는 많이 나와 있다. 구글신에 기대면 엄청난 중복 정보들이 나온다.

http://mqtt.org/faq 의 정의를 보자.

MQTT stands for MQ Telemetry Transport. It is a publish/subscribe, extremely simple and lightweight messaging protocol, designed for constrained devices and low-bandwidth, high-latency or unreliable networks. 

The design principles are to minimise network bandwidth and device resource requirements whilst also attempting to ensure reliability and some degree of assurance of delivery. 

These principles also turn out to make the protocol ideal of the emerging “machine-to-machine” (M2M) or “Internet of Things” world of connected devices, and for mobile applications where bandwidth and battery power are at a premium.

머 단순한 메시지 전달 프로토콜이라고 이해하고, M2M, IoT 디바이스가 처리하기가 수월한 것이 되겠다.

여기서 굳히 번역이 어려운 것이 Publish/Subscribe 란 것인데, 여기저기 찾아보면 발행/가입 머 이정도로 쓰이고 있다. 용어가 머든 간에 일단 지정된 서버에 가입을 한 사용자들에게 메시지를 발송해 주는 데 사용되는 것으로 몸으로는 느껴진다.


Is MQTT a standard?

As of March 2013, MQTT is in the process of undergoing standardisation at OASIS.

이게 표준인가? OASIS라는 협회에 의해 표준화가 진행되어 있다.


Are there standard ports for MQTT to use?

Yes. TCP/IP port 1883 is reserved with IANA for use with MQTT. TCP/IP port 8883 is also registered, for using MQTT over SSL.

몇 번 포트를 사용하는 지 궁금한데, 일단 1883 포트넘버를 사용해서 서비스를 제공하고 있다.

8883 포트는 SSL 용으로 지정되어 있다. 


QoS 지원은? 신뢰성?


from : http://ngins.blogspot.kr/2015/02/mqtt.html

QoS 0 : At most once - 최고의 1 번. 도착은​​ 보장하지 않는다.

QoS 1 : At least once - 적어도 한 번. 중복 가능성이있다.

QoS 2 : Exactly once - 정확히 한 번

이것은 보내는 메시지마다 변경할 수 있기 때문에 일반적으로 QoS 0으로 도착해도 닿지 않아도 좋더라 컨트롤 메시지는 반드시 닿을 수 있도록 QoS 1 또는 2로 등이 있습니다.

QoS 1과 2는 ACK과 재전송의 경우도 프로토콜 사양에 정의되어 있습니다.


(계속 추가하거나 수정해야함)


B로그0간

개발 관련 글과 유용한 정보를 공유하는 공간입니다.