{{위키데이터 속성 추적}}
'''OMA Lightweight M2M'''(LwM2M)은  [[사물통신|M2M]] 또는 [[사물인터넷|IoT]] 장치 관리<ref>{{웹 인용|url=http://www.avsystem.com/blog/iot-device-management/|제목=IoT device management: definition and fundamentals|확인날짜=2020-12-17}}</ref> 및 서비스 구현을 위한 [[오픈 모바일 연합]](OMA)의 프로토콜이다. LwM2M 표준은 IoT 장치에 있는 LwM2M<ref>{{웹 인용|url=http://www.avsystem.com/blog/lightweight-m2m-lwm2m-overview/|제목=LwM2M — Lightweight M2M Standard — Protocol and its Benefits|확인날짜=2020-12-17}}</ref> 클라이언트와 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 전송

* [[Datagram Transport Layer Security|DTLS]] 기반 보안

* 절전 모드 장치 등을 위한 대기 모드

* 다수의 LwM2M 서버 지원

* 핵심 LwM2M 객체: LwM2M 보안, LwM2M 서버, 액세스 제어, 장치, 연결 모니터링, 펌웨어 업데이트, 위치, 연결 통계

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

* 증분 업그레이드를 위한 LwM2M 부트스트랩 기능 향상

* [[공개 키 기반 구조|공개키 인증 체계(PKI)]] 배포를 위한 지원 성능 개선

* LwM2M 클라이언트에서 LwM2M 서버로의 향상된 등록 순서 기법 도입

* TCP/TLS를 통한 LwM2M 지원

* OSCORE 기반 LwM2M을 위한 응용 프로그램 계층 보안 지원

* 절전형 WAN을 통한 LwM2M 지원 성능 개선(3GPP [[LTE-M]] 및 [[Narrowband IoT|NB-IoT]]/[[LoRa|LoRaWAN]] 포함)

* 리소스 인스턴스 수준 액세스를 위한 LwM2M 작업 확장

* 여러 객체의 리소스 검색 및 업데이트를 위한 성능 향상

* 고효율 전송 방식의 압축 페이로드를 위해 [[CBOR]] 직렬화가 적용된 SenML을 사용하여  [[JSON]] 지원

* 신규 데이터 형식 추가

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

* LwM2M을 위한 신규 전송 방식 도입(이를 통해 LwM2M 메시지가  [[MQTT]]와 [[HTTP]]를 통해 전달될 수 있음)<ref>{{웹 인용|url=http://www.avsystem.com/blog/lwm2m-vs-mqtt-comparison/|제목=LwM2M vs MQTT: What's the Difference? Which One is Better for IoT|확인날짜=2020-12-17}}</ref>

* 부트스트랩 인터페이스에 대한 최적화(부트스트랩 교환 과정 중에 전송되는 데이터 양과 메세지 수 감소)

* 등록 인터페이스에 대한 최적화(등록 교환 과정 중에 전송되는 데이터 양 감소)

* 정보 보고 인터페이스에 대한 최적화(관측 특성을 관측 작업에 포함할 수 있음)

* LwM2M 게이트웨이 기능을 위한 지원(이를 통해 게이트웨이 뒤에 있는 LwM2M 장치뿐만 아니라 비LwM2M IoT 장치도 LwM2M 생태계에 연결하고 장치를 원격으로 관리 가능)

* LwM2M CBOR이라 불리는 [[CBOR]] 기반의 고도로 최적화된 새로운 인코딩 형식

* 펌웨어 업데이트를 위한 향상된 기능

* 신규 알림 특성의 정의(엣지, 확인 가능한 알림, 최대 기록 대기열). 엣지를 통해 상승 엣지 및 하강 엣지에 대한 알림 트리거. 확인 가능한 알림을 통해 신뢰할 수 있는 알림 전송 제어 가능. 기록 대기열을 최대로 확장하여 시계열 데이터 사용 제어 가능

* [[전송 계층 보안|TLS]], [[DTLS]] 1.3(연결 ID 사용 포함) 및 관련 구성에 기반한 최신 통신 보안 프로토콜을 사용하도록 업데이트

* [[5G NR|5G-NR]] 관련 장치 구성을 위한 신규 객체

== 구현 ==
{| class="wikitable"
|이름
|프로그래밍 언어
|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
|}

== 같이 보기 ==
* [[CoAP]]
* [[오픈 모바일 연합]]
== 각주 ==
{{각주}}

[[분류:이동 통신 표준]]