MQTT(Message Queuing Telemetry Transport) Protocol ?

박두팔이·2024년 5월 7일
0

네트워크

목록 보기
4/4

MQTT(Message Queuing Telemetry Transport)

  • M2M(Machine-to-Machine)를 기반으로 하는 IoT(사물 인터넷) 개방형 프로토콜이다.
  • 경량의 메시징 프로토콜: 최소한의 전력과 리소스로 IOT와 모바일 어플리케이션 등 통신에 적합하다.
  • 일반적인 http 프로토콜의 클라이언트-서버 모델이 아닌 Broker, Publisher, Subscriber 모델로 이루어진다.

MQTT 프로토콜은 게시/구독 모델의 원칙을 기반으로 작동한다.

  • 전통적으로 사용한 네트워크 통신의 모델인 클라이언트-서버 모델은 클라이언트에서 서버 측으로 요청하면 서버는 이를 응답하고 요청을 처리하는 방식으로 서로 데이터를 직접 주고 받는다.
  • MQTT통신에서는 게시자와 구독자를 분리하고 브로커라는 매개자를 도입하여 메세지를 대신 전달해주는 역할이 있다.

Broker(브로커)

MQTT 브로커는 MQTT 네트워크의 중심에 위치하며, 모든 메시지의 중계 역할을 담당한다. 퍼블리셔로부터 메시지를 받아 서브스크라이버에게 전달하는 중개자 역할을 수행한다.

  • 메시지 라우팅: 브로커는 서브스크라이버가 구독한 토픽에 따라 메시지를 적절히 라우팅한다.
  • 세션 관리: 연결된 클라이언트의 세션 상태를 관리하며, 네트워크가 불안정할 경우에도 메시지를 보관하고 필요 시 재전송한다.
  • 보안 제공: SSL/TLS를 통해 데이터의 암호화와 보안을 담당한다.
  • 규모의 확장성: 수천, 심지어 수만 개의 동시 연결을 관리할 수 있다.

Publisher(발행자)

퍼블리셔는 메시지를 생성하고 MQTT 브로커에게 전송하는 역할 을 한다. 이들은 주로 센서 데이터, 사용자 입력 또는 다른 소스로부터 정보를 수집하고 이를 토픽으로 분류하여 브로커에게 발행한다. 퍼블리셔의 핵심 기능은 다음과 같다:

  • 데이터 발생: 다양한 소스로부터 데이터를 수집하고 이를 MQTT 메시지로 변환한다.
  • 토픽 지정: 각 메시지에 토픽을 할당하여 브로커가 메시지를 적절한 서브스크라이버에게 전달할 수 있도록 한다.

Subscriber(구독자)

서브스크라이버는 특정 토픽에 대한 메시지를 수신하고자 하는 클라이언트이다. 이들은 브로커에게 특정 토픽을 구독하고, 해당 토픽에 대한 메시지가 브로커에 의해 발행될 때 이를 수신한다.

  • 토픽 구독: 하나 이상의 토픽을 구독하여, 관심 있는 데이터만을 받아볼 수 있습니다.
  • 데이터 처리: 수신된 메시지를 기반으로 필요한 작업을 수행합니다.
profile
기억을 위한 기록 :>

0개의 댓글