OMA LWM2M

위키백과, 우리 모두의 백과사전.

OMA Lightweight M2M(LwM2M)은  M2M 또는 IoT 장치 관리[1] 및 서비스 구현을 위한 오픈 모바일 연합(OMA)의 프로토콜이다. LwM2M 표준은 IoT 장치에 있는 LwM2M[2] 클라이언트와 LwM2M 서버 간의 응용 프로그램 계층 통신 프로토콜을 정의한다. 이 표준을 통해 IoT 장치 관리를 위한 접근이 가능하며 다양한 제조업체의 장치 및 시스템이 IoT 생태계에서 공존할 수 있다. LwM2M은 원래 CoAP에 기반하고 있었으나 최신 LwM2M 버전에서는 추가적인 전송 프로토콜도 지원하고 있다.

LwM2M의 장치 관리 기능은 원격 보안 자격 증명 제공, 펌웨어 업데이트, 셀룰러 및 WiFi용 연결 관리, 원격 장치 진단 및 문제 해결과 같은 기능을 제공한다.

LwM2M의 서비스 구현 기능은 호스트 장치의 센서 및 계기 검침, 원격 작동, 구성 등의 기능을 제공한다.

LwM2M 프로토콜과 결합 시 LwM2M 데이터 모델("LwM2M 객체")은 다양한 LwM2M 사용 사례를 지원하게 된다. 이 데이터 모델은 확장이 가능하며 다양한 산업의 응용 프로그램을 지원할 수 있다.

버전[편집]

2018년에 IPSO Alliance는 OMA(Open Mobile Alliance)와 합병하여 OMA SpecWorks를 설립했다. LwM2M의 유지 관리 및 추가 개발에 대한 책임은 OMASpecWorks가 가지고 있으며 지금까지 제작된 LwM2M 버전은 다음과 같다.

OMA LwM2M 1.0[편집]

Lightweight M2M 1.0은 2017년 2월에 출시되었으며 초기 출시 당시 다음과 같은 기능이 도입되었다.

  • 단순한 객체 기반 리소스 모델
  • 리소스 생성/검색/업데이트/삭제/구성 조작
  • 리소스 관측/알림
  • TLV/JSON/일반 텍스트/불명확한 데이터 형식
  • UDP 및 SMS 전송
  • 절전 모드 장치 등을 위한 대기 모드
  • 다수의 LwM2M 서버 지원
  • 핵심 LwM2M 객체: LwM2M 보안, LwM2M 서버, 액세스 제어, 장치, 연결 모니터링, 펌웨어 업데이트, 위치, 연결 통계

OMA LwM2M 1.1[편집]

Lightweight M2M 1.1은 2018년 6월에 출시되었으며 다음과 같은 기능이 도입되었다.

  • 증분 업그레이드를 위한 LwM2M 부트스트랩 기능 향상
  • LwM2M 클라이언트에서 LwM2M 서버로의 향상된 등록 순서 기법 도입
  • TCP/TLS를 통한 LwM2M 지원
  • OSCORE 기반 LwM2M을 위한 응용 프로그램 계층 보안 지원
  • 리소스 인스턴스 수준 액세스를 위한 LwM2M 작업 확장
  • 여러 객체의 리소스 검색 및 업데이트를 위한 성능 향상
  • 고효율 전송 방식의 압축 페이로드를 위해 CBOR 직렬화가 적용된 SenML을 사용하여  JSON 지원
  • 신규 데이터 형식 추가

OMA LwM2M 1.2[편집]

Lightweight M2M 1.2는 2020년 10월에 출시될 예정이다. 해당 버전에는 다음과 같은 기능이 도입된다.

  • LwM2M을 위한 신규 전송 방식 도입(이를 통해 LwM2M 메시지가  MQTTHTTP를 통해 전달될 수 있음)[3]
  • 부트스트랩 인터페이스에 대한 최적화(부트스트랩 교환 과정 중에 전송되는 데이터 양과 메세지 수 감소)
  • 등록 인터페이스에 대한 최적화(등록 교환 과정 중에 전송되는 데이터 양 감소)
  • 정보 보고 인터페이스에 대한 최적화(관측 특성을 관측 작업에 포함할 수 있음)
  • LwM2M 게이트웨이 기능을 위한 지원(이를 통해 게이트웨이 뒤에 있는 LwM2M 장치뿐만 아니라 비LwM2M IoT 장치도 LwM2M 생태계에 연결하고 장치를 원격으로 관리 가능)
  • LwM2M CBOR이라 불리는 CBOR 기반의 고도로 최적화된 새로운 인코딩 형식
  • 펌웨어 업데이트를 위한 향상된 기능
  • 신규 알림 특성의 정의(엣지, 확인 가능한 알림, 최대 기록 대기열). 엣지를 통해 상승 엣지 및 하강 엣지에 대한 알림 트리거. 확인 가능한 알림을 통해 신뢰할 수 있는 알림 전송 제어 가능. 기록 대기열을 최대로 확장하여 시계열 데이터 사용 제어 가능
  • TLS, DTLS 1.3(연결 ID 사용 포함) 및 관련 구성에 기반한 최신 통신 보안 프로토콜을 사용하도록 업데이트
  • 5G-NR 관련 장치 구성을 위한 신규 객체

구현[편집]

이름 프로그래밍 언어 LwM2M 버전 클라이언트/서버 라이선스 링크
AVSystem Anjay C 1.0 및 1.1 클라이언트 아파치 2.0 https://www.avsystem.com/products/anjay/
AVSystem Coiote IoT Device Management 자바 1.0 및 1.1 서버 상업용 https://www.avsystem.com/products/coiote-iot-dm/
Awa LightweightM2M C 1.0 클라이언트 및 서버 BSD 3-Clause https://github.com/FlowM2M/AwaLWM2M
Eclipse Leshan 자바 1.0 클라이언트 및 서버 EPL 및 EDL http://projects.eclipse.org/projects/iot.leshan
Eclipse Wakaama C 1.0 클라이언트 및 서버 EPL 및 EDL http://projects.eclipse.org/projects/iot.wakaama

참고 문헌[편집]