MQTT 기반 솔루션으로 IoT 복잡성·비용 문제 해소
상태바
MQTT 기반 솔루션으로 IoT 복잡성·비용 문제 해소
  • 데이터넷
  • 승인 2022.12.20 09:00
  • 댓글 0
이 기사를 공유합니다

효율적인 비연결형 LPWA 통신 가능 … 엔터프라이즈급 IoT 클라우드 플랫폼 제공
유블럭스 IoT CaaS 패키지, 고객 IoT 프로젝트 전반 간소화 목표
▲ 닉 헤이즈(Nick Hayes) 유블럭스 서비스 제품 센터 수석 엔지니어
▲ 닉 헤이즈(Nick Hayes)
유블럭스 서비스 제품 센터 수석 엔지니어

[데이터넷] IoT 솔루션을 설계하고 구축하는 작업은 쉽지 않다. 수많은 IoT 기기가 있고, 이 기기들이 수집하는 데이터가 있고, 데이터 수신 및 처리를 위한 네트워크와 클라우드 플랫폼이 요구되기 때문이다. 이 모든 요소들을 구현하기 위한 작업들을 꼼꼼히 살펴보면 결코 간단한 작업이 아니다.

IoT 프로젝트를 시작하기 전에는 중요한 질문들을 챙기고 그에 대한 해결책을 마련해야 한다. 어떤 연결 기술을 사용할지부터 네트워크, 확장성, 보안성, 전력 소모, 데이터 효율, 데이터 전송 인터페이스, 비용까지 확인해야 할 사항이 많다. 이에 대한 해답을 찾는 것이 IoT 프로젝트의 성공을 좌우하는 핵심 열쇠다.

현재 IoT 기기 제조사들은 셀룰러 네트워크를 통해 클라우드로 연결하는 것을 도울 수 있는 설계 파트너를 필요로 하고 있다. 이들은 전 세계 어디에서나 접속할 수 있으면서 최소한의 셋업만을 필요로 하고 사용자가 손쉽게 설치할 수 있는 연결 기술을 필요로 한다. 특히 IoT 기기에서 클라우드 기반의 관리 플랫폼으로 데이터를 전송하는 일은 중요한 과제다.

IoT 기기와 기업의 통신에서 겉으로 보이지 않는 복잡성에 대해 살펴보고, 어떻게 통신이 단순 연결성 이상이 되는지 살펴보자. 또한 MQTT(Message Queuing Telemetry Transport) 프로토콜을 기반으로 하는 솔루션을 사용해 보안, 효율, 가용성 등 다양한 과제 해결 방법을 소개한다.

IoT 활용 사례 공통 특징
커넥티드 헬스케어부터 산업용 모니터링까지, 스마트시티부터 자산추적에 이르기까지 대부분의 IoT 활용 사례에서는 다음과 같은 핵심적인 공통 특징들이 나타난다.

· 메시지 크기: 페이로드 크기는 통상 50~500바이트 정도로 작다.
· 메시지 빈도: 메시지 빈도는 몇 분마다 한 번씩 데이터를 전송할 수도 있고, 하루에 한 번 혹은 1주일에 한 번 업데이트를 전송할 수도 있다. 경우에 따라 특정 조건이 발생할 때만 전송할 수도 있다.
· 배터리 수명: 배터리를 1주일 간격으로 충전해야 할 수도 있고, 현장에서 충전이나 교체를 하지 않고 수년 동안 동작해야 할 수도 있다.

이들 세 가지 특성은 자원이 제한된 IoT 기기 디자인의 성공 여부를 결정하는 핵심 요소라고 할 수 있다. 이러한 제약 조건 하에서 가동되는 수많은 IoT 제품들은 LTE-M이나 NB-IoT 기술과 관련한 전력 효율의 이점뿐 아니라 절전 모드(PSM)와 확장된 불연속 수신(eDRX) 같은 기능 활용을 위해 저전력 광역통신망(LPWAN)을 사용한다. 

하지만 궁극적으로는 네트워크 사업자들이 이러한 기능들의 효과를 결정하며 설정 관리가 까다로울 수 있다. 특히 IoT 기기를 전 세계에 걸쳐 설치하는 경우에는 더욱 그럴 것이다.

이러한 결과로 인해 클라우드와의 빠르고 보안성 있는 통신은 기기 전력 소모에 중대한 영향을 미치며, 선택하는 프로토콜에 따라 초저전력 솔루션 달성에 있어 관건이 된다. 이는 엄청난 영향을 줄 수 있는 결정이며, 네트워크 사업자가 관할하는 LPWAN 기능을 보완할 수도 있다.

[그림 1] 통신 프로토콜 개념
[그림 1] 통신 프로토콜 개념
[그림 2] MQTT 개념
[그림 2] MQTT 개념

기기와 기업 간 데이터 통신 해결 과제
IoT 기기와 기업 간 통신에는 보안, 효율, 가용성 등 수많은 복잡한 요소들이 숨어 있다. 업계 표준 MQTT 프로토콜을 기반으로 하는 솔루션들을 사용하면 이러한 복잡성을 해결할 수 있다.

어떤 데이터 전송이든 고려해야 할 두 가지 요소가 있다. 페이로드(메시지 자체를 구성하는 데이터 바이트)와 오버헤드(페이로드를 전송하는 데 필요한 또 다른 정보 바이트)다. 자원이 제한된 IoT 활용 사례의 경우는 특히 전송 오버헤드를 잘 제어하는 것이 해당 솔루션의 전반적인 효율을 위해 매우 중요하다.

통신 프로토콜을 보내려는 페이로드 또는 메시지 주변의 오버헤드나 패키징으로 생각해 보자. <그림 1>은 이를 익숙한 소포 포장에 비유해 설명한 것이다.

맨 왼쪽의 MQTT-SN(MQTT for Sensor Networks) 프로토콜은 A6 크기의 서류 봉투에, 그 옆의 MQTT는 일반적인 크기의 서류 봉투에 각각 비유할 수 있다. CoAP(Constrained Application Protocol)는 완충재를 덧댄 서류 봉투, HTTP는 판지 상자, 그리고 맨 오른쪽의 HTTPS 같은 보안 통신 프로토콜은 크고 무거운 나무 팔레트 상자에 비유할 수 있다.

패키징에 대한 비유를 계속해보면 적합한 통신 프로토콜을 선택함으로써 메시지 오버헤드를 낮출 수 있으며, 이를 통해 기기와 기업 간 데이터 전송과 관련한 과제 해결의 많은 걸림돌들을 제거할 수 있다는 것을 알 수 있다. MQTT가 구체적으로 어떤 것인지 살펴보자.

MQTT는 IoT용으로 인기가 급상승 중인 프로토콜이다. 구현하기 쉽고, 가볍고 유연하며, 양방향이 가능할 뿐 아니라 메시지 수에 제한이 없어 확장성까지 뛰어나기 때문이다.

MQTT는 발행/구독(publish & subscribe) 방식의 메시징 프로토콜로, 사물통신(M2M)용으로 신뢰할 수 있는 표준 제공을 위해 개발됐다. 사용자는 해당 애플리케이션의 특정 요건에 맞춰 서비스 품질(QoS)을 설정할 수 있다. 

센서는 판독값을 이른바 토픽(topic)에게 발행하고, MQTT 브로커는 토픽들을 관리하며, 애플리케이션은 MQTT 브로커가 관리하는 토픽들을 구독한다. 이 같은 발행 및 구독 구조는 MQTT의 효율에서 중요한 역할을 한다. MQTT-SN은 전력 및 대역폭 제한이 있는 기기의 요구를 보다 더 잘 충족하도록 최적화됐다.

MQTT-SN은 MQTT의 모든 기능을 그대로 유지하되, TCP/IP에 얽매이지 않고 QoS, 커넥티드 슬립 모드, MQTT 토픽 에일리어싱(aliasing) 같은 여러 기능들이 추가 도입되고 있다. 이 모든 기능들은 전송해야 하는 데이터 양 축소에 기여하며, 결과적으로 기기가 실행해야 하는 시간과 전력 소모를 낮추게 된다.

커넥티비티·네트워크 선택과 전력 소모
많은 사람들이 LPWAN 기술이 필요하다는 가정 하에 적합한 무선 기술 및 네트워크 운영 문제에 접근한다. 그런 다음 NB-IoT는 전력 소비가 가장 낮기 때문에 올바른 선택이라고 생각한다. 하지만 처음 생각처럼 그렇게 간단하지는 않다.

이러한 결정을 위해서는 가장 먼저 IoT 기기를 운용할 곳이 어디인가를 고려해야 한다. LTE-M과 NB-IoT는 아직 초기 단계에 있으며, 대부분의 국가에서 전국적인 커버리지가 갖춰지지 못했거나 어떤 나라에서는 아직 서비스 자체를 시작하지도 못하고 있는 실정이다. 따라서 이동하면서 IoT 기기를 사용하거나 교외 지역에서 운용하고자 한다면 LPWAN 커넥티비티만으로는 커버리지 공백이 발생하게 된다.

NB-IoT는 고정형 애플리케이션에 적합하다. 게다가 데이터 전송 속도가 낮아 200바이트 이상의 페이로드를 전송하거나 솔루션에 보안 기능을 추가하면 데이터 전송에 걸리는 시간이 늘어나 NB-IoT의 저전력 이점이 빠르게 사라지게 된다.

신뢰할 수 있는 글로벌 커넥티비티를 위해서는 NB-IoT보다는 2G 폴백(fallback) 기능을 갖춘 LPWAN 또는 LTE 모듈이 보다 견고한 해답일 수 있다. 특히 MQTT 프로토콜 기반의 통신 솔루션은 전력 최적화에 기여할 수 있으며, 전력 공급이 제한적인 IoT 기기에 무선 기술을 적용할 수 있게 한다.

[그림 3] 데이터 보안과 전력 소모
[그림 3] 데이터 보안과 전력 소모

보안과 전력 소모
프로토콜 선택과 마찬가지로 데이터 보안 역시 전력 소모에 중대한 영향을 미친다. <그림 3>에서는 MQTT-SN과 SSL/TLS를 사용해 12바이트의 단순한 메시지를 전송할 때 오버헤드를 비교해 보여준다. MQTT-SN을 사용한 보안적인 엔드 투 엔드 통신은 26바이트의 오버헤드만 필요로 하는데, SSL/TLS는 이보다 230배 많은 6킬로바이트를 필요로 한다.

통상 50~500바이트의 페이로드 메시지의 경우, 보안을 위해 230배의 오버헤드는 지나치게 과도한 수준이다. 이는 기기와 기업 간 데이터 전송과 관련해 기대할 수 있는 다른 측면에서의 이점들을 무색하게 만든다.

유블럭스(u-blox)는 IoT 통신 서비스 패키지의 일부로 사설 APN(Access Point Name)을 사용해 보안이 강화된 엔드투엔드 MQTT-SN 통신을 제공한다. APN은 사설이므로 데이터가 공용 인터넷에 노출되지 않고, 인증은 사업자 코어 네트워크로부터 곧바로 주어진 값인 SIM ID를 사용해 이뤄져 위변조에 취약하지 않다. 이는 추가적인 헤더나 기기 식별 데이터 관련 오버헤드를 포함할 필요 없이 데이터를 플레인 텍스트로 효과적으로 전송할 수 있다는 것을 의미한다.

데이터는 가상사설망(VPN)을 거쳐 MQTT-SN 게이트웨이로 도착한 다음 MQTT 브로커로 보내진 후 기업에 제공된다. 이러한 작업을 MQTT와 HTTPS를 비롯한 다양한 프로토콜을 사용해 할 수 있다. 물론 HTTPS 같이 무거운 프로토콜과 보안 전송은 풍부한 프로세싱 성능을 활용할 수 있는 클라우드에서 관리된다.

[그림 4]보안이 강화된 엔드 투 엔드 MQTT-SN 통신
[그림 4] 보안이 강화된 엔드 투 엔드 MQTT-SN 통신

전력 소모와 데이터 활용
통신 프로토콜 선택은 전송해야 하는 바이트 수에 크게 영향을 끼친다. 또한 IoT 기기의 모뎀이 네트워크에 접속해야 하는 시간과 접속 유지에 필요한 전력량에도 영향을 미친다. MQTT-SN은 전력 및 대역폭 제한적인 환경에 최적화돼 있다.

MQTT-SN 테스트를 위해 다양한 베어러 프로토콜을 사용해 12바이트의 단순 메시지를 전송했다. 아래 <그림 5>의 오른쪽 막대 그래프는 2G와 LTE 방식으로 MQTT-SN을 통해 전송할 때와 LTE를 통해 HTTP와 HTTPS로 전송할 때의 총 바이트 수를 보여준다. 왼쪽 막대 그래프는 동일한 12바이트 메시지를 전송할 때 전력 소모를 보여준다. 테스트 결과를 통해 다음과 같은 두 가지 측면에서 프로토콜 선택이 중요하다는 것을 알 수 있다.

- 프로토콜에 따른 오버헤드가 메시지 전송 시 전력 소모에 직접적으로 영향을 미친다.
- 선택한 프로토콜이 오버헤드를 많이 필요로 한다면 데이터 사용은 데이터의 실제 가치가 있는 페이로드보다 오버헤드에 의해 극적으로 늘어나게 된다.

[그림 5] 프로토콜 전송 시간과 배터리 수명
[그림 5] 프로토콜 전송 시간과 배터리 수명

MQTT 클라이언트·브로커 역할
장치 대 기업 데이터 문제 해결을 위해 IoT 장치에서 데이터를 가져온 후 다음 질문은 데이터를 기업에 전달하는 방법이다. 여기서 MQTT 프로토콜의 발행/구독 아키텍처와 MQTT 클라이언트 및 브로커의 역할을 다시 살펴보자.

프로토콜 선택은 전송 시간과 배터리 수명에 영향을 미친다. CoAP나 TCP 같은 요청/응답 프로토콜은 MQTT나 MQTT-SN 같은 발행/구독 프로토콜에 비해 더 많은 전송 시간을 필요로 한다. 이 점에 있어 중요한 역할을 하는 것이 MQTT 브로커로, 이제는 클라이언트/서버는 잊고, 클라이언트/브로커를 생각해야 한다.

:: MQTT 브로커
· 저장 및 분배 기능보다는 교통신호등 같은 역할을 한다.
· 클라이언트 브로커 통신 인증을 처리한다.
· 연결, 세션, 구독을 관리한다.
· 발행된 모든 메시지를 수신하고 구독을 요청한 모든 클라이언트에 메시지를 전송한다.
· 구독 클라이언트를 위해 메시지를 대기시키고 협의된 QoS에 따라 메시지를 제공한다.

:: MQTT 클라이언트
· MQTT 라이브러리를 실행하고 네트워크를 통해 MQTT 브로커에 연결되는 모든 기기는 MQTT 클라이언트가 될 수 있다.
· 발행과 구독을 할 수 있다.
· 클라이언트는 MQTT 브로커로부터 토픽 구독을 통해 메시지를 수신할 수 있다. 메시지는 개별 기기로 전송되는 것이 아니라 MQTT 토픽으로 발행된다. 여기서 토픽은 공용 이메일함 같은 것으로 생각하면 된다.

통신 비용을 생각하면 많은 IoT 기기 제조사들은 먼저 네트워크 사업자들의 전통적인 셀룰러 데이터 요금과 MB당 데이터 비용을 떠올릴 것이다. 그 다음에는 메시지 크기, 보안 인플레이션, 로밍 비용 등이 포함된다. 하지만 조금 더 들여다보면 최소 기간 회선 임대 비용, SIM 관리 플랫폼 접속, 기기 인증서 관리 수수료, 데이터 및 프로토콜 관리 같은 다른 비용 항목들 또한 존재한다는 것을 알 수 있다.

유블럭스의 IoT CaaS(Communication as a Service) 패키지는 요금에 대한 차별화된 접근 방식을 취하고 있다. MB당 과금 체계가 아닌 전송한 MQTT 메시지 수 기반의 단순하면서도 예상 가능한 요금제를 제공하고 최소 계약 기간도 없다. 사용자가 필요할 때만 기기를 켜고 끌 수 있으며, 기기를 사용할 때만 비용을 지불하면 된다.

뿐만 아니라 이 패키지는 글로벌 로밍 커넥티비티, 씽스트림(Thingstream) IoT 서비스 제공 플랫폼에 대한 접속, 강력한 엔터프라이즈급 MQTT 브로커를 비롯해 네트워크 엣지 인텔리전스, 프로그래밍, 데이터 관리를 용이하게 하는 첨단 데이터 플로우 매니저를 포함한다.

이러한 방식을 통해 사용자들은 유블럭스의 IoT CaaS에 접속할 수 있고 대부분의 네트워크 사업자들이 커넥티비티를 통해 제공하는 것 이상의 가치를 얻을 수 있다. 이 부가적인 가치는 IoT 활용 사례들의 공통적인 특성이 기존의 셀룰러 연결로는 완벽하게 해결할 수 없는 과제인 기기와 클라우드 간 통신 문제를 해결하는 솔루션과 이상적으로 맞을 때 가능하다.

IoT 프로젝트 간소화
유블럭스의 MQTT 애니웨어를 사용하면 전 세계 어디에서든 IoT 기기에서 기업으로 데이터를 전송하는 작업을 간소화할 수 있다. 유블럭스의 IoT CaaS 패키지에 포함돼 씽스트림 IoT 서비스 플랫폼을 통해 제공되는 MQTT 애니웨어는 기기의 전력 소모를 줄여 오랫동안 작동할 수 있게 한다. 

IoT 기기와 기업 간 통신의 복잡성을 살펴봄으로써 통신은 단순한 커넥티비티를 넘어선다는 것을 확인했다. IoT 커넥티비티는 전체 저전력 솔루션의 한 가지 요소일 뿐이다. 

프로토콜 선택은 각 메시지의 오버헤드에 영향을 미치며, 이는 다시 전송에 필요한 에너지 소모에 영향을 미친다. MQTT는 업계 표준 메시징 프로토콜로 전력 공급이 제한적인 IoT 활용 사례에 적합하다는 것을 알 수 있고, 유블럭스는 MQTT를 사용하는 IoT 통신 솔루션 일체를 제공한다.

유블럭스 IoT CaaS 패키지의 목표는 소유 비용에서부터 IoT 기기와 기업 간 데이터 전송에 이르기까지 고객의 IoT 프로젝트 전반을 간소화하는 것이다. 특히 합리적인 요금제를 갖춘 포괄적이고 확장 가능한 엔드 투 엔드 솔루션을 제공해 기기와 기업 간 데이터 통신 과제를 해결하는 데 도움이 된다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.