IoT


사물인터넷(Internet of Things: IoT) 다양한 기기가 인터넷에 연결되어 다양한 서비스를  구성하는  .  사물인터넷에 연결되는 기기는 컴퓨터 스마트폰, 스마 TV 같이 충분한 자원을 가지고 있는 장치도 있지만, 시계 화분, 전등, 전기 센트, 장난감, 온습도 센서, 릴레이 소형 장치들도 포함되며, 이러한 기기들을 고려 하는 것이 사물인터넷 기술의 도전과제이다. 서비스 사업자 플랫폼 사업자, 통신 사업자, 제조사들은 광범위하게 배포된 기들을 효율적으로 관리하고자 한다. 이러 기기 관리 표준기술은 기기의 상태를 인하고, 각종 통계를 수집하고, 문제점을 석하거나, 최신 소프트웨어를 적용하는 유지보수를 하는데 사용된다. 같은 기기 표준은 유선 통신망을 위한 BBF(Broad Band Forum) TR-069[1] 이동통신망을 OMA(Open Mobile Alliance) DM(Device Management) 표준이 있다. 특히, OMA-DM 수많은 모바일 단말 이동통신사, 제조사에서 사용.

사물인터넷 시대를 맞아, OMA 에서는 소형 장치들을 포함하는 다양한 기기를 지원하 위한 사물인터넷 기기 관리 표준으로 LWM2M(Light Weight Machine To Machine) 프로토콜을 제정 확장하고 있다. OMA LWM2M 소형 장치를 위한 응용 데이터 전달 프로토콜인 IETF CoAP(Constrained Application Protocol) 기반으로 하여 메시지가 작고 빠르며, 작은 코드 크기 실행 공간을 요구하기 때문에 다양한 사물인 터넷 기기를 지원할 있다. OMA 에서는 LWM2M 표준이 보다 다양하고 많은 기기와 플랫폼에 채용될 있도록 오픈소스 지원, 개발자 지원, 상호운용시험 이벤트, 워크샵 다양한 정책을 추진.


 


사물인터넷 기기관리 표준 동향


2015 현재 사물인터넷 국제 표준의 중심에 있는 것이 oneM2M 표준이다. oneM2M 각국의 표준화 기관들이 모여 글로벌 사물인터넷 표준을 만들기 위해 2012 년에 결성 표준 협의체로, 한국의 TTA 비롯하여 미국의 TIA ATIS, 유럽의 ETSI, 일본의 TTC ARIB, 중국의 CCSA 까지 7 개의 표준 단체가 참여하고 있고, 세계의 주요 회사들이 표준단체를 통해 함께 참여하고 있다. 협약에 의하면 참석한 표준단체는 지역의 개별 사물인터넷 또는 M2M 표준을 만들지 않고, oneM2M 표준만을 준수하기로 하여 효용을 높이고 있다. oneM2M 스마트홈, 스마트카, 스마트 헬스케어 다양한 사물인터넷 응용 서비스를 지원할 있는 공통 플랫폼(Common Services Entities: CSE) 정의하는 것이 주된 역할이다. oneM2M 에서는 CSE 하부 네트워크 기술과 독립적 으로 설계하고, 그들과의 인터페이스에 대해 정의하고 있다. 지원하는 프로토콜에는 HTTP, CoAP, MQTT, XMPP, Websocket 등이 있으며, 2014 8 월에 Release 1.0 , 2015 1 월에 Release 1.0.1 발표되었다. oneM2M 에서 기기 관리 표준 역시 다루고 있으며, BBF TR-069 OMA-DM, OMA-LWM2M 포함하고 있다. 기기 관리 표준은 기기가 연결되어 있는 하부 네트워크에 의존성이 강하기 때문에, oneM2M 에서는 표준을 준용하고 그와 연동할 있는 인터페이스를 정의.


 


 oneM2M 기기관리 구조


(그림 1) oneM2M Functional Architecture 문서[8] 기기 관리 아키텍처(Device Management Architecture) 보인다. IN(Infrastructure Node) 사물인터넷 서비스를 운영하는 노드이며, oneM2M 서비스 공급자 내의 인프라 도메인 별로 하나씩 존재한다. MN(Middle Node) 게이트웨이 역할을 하는 노드이고, ASN(Application Service Node) M2M 디바이스에 해당하는 노드이다. MN ASN, IN 모두 공통적 요소인 CSE (Common Service Entity) 가지고 있다. CSE 다양한 기능 요소를 가지고 있으며, 서비스 계층 관리, 통신 관리, 데이터 관리, 기기 관리, 서비스 탐색, 그룹 관리, 관리, 보안, 등록, 서비스 과금, 통지 기능 다양하다. 중에 기기 관리는 DMG (Device ManaGement) 기능이라고 한다. 실제적인 기기 관리 프로토콜은 BBF TR-069 OMA-DM, OMA-LWM2M 사용하며, oneM2M 에서는 Management Adapter 두고 인터페이스를 정의하고 있다. 이를 위한 추상적인 개념의 규격을 Mcc(CSE 참조 포인트)상에 정의하고 있으며, 기기 관리 서버 기능은 ms 인터페이스를 통해 관리 클라이언트 기능은 Ia 인터페이스를 통해 기기 관리 프로토콜과 연동되고, mc 인터페이스를 통해 실제 통신 메시지가 교환된다. , mc 인터페이스는 BBF TR-069 OMA-DM, OMA-LWM2M 사용.


 



MS인터페이스는 oneM2M CSE 기능과 기기관리 프로토콜과 분리되는 경우 Mcn(CSE– Network 참조 포인트) 변환된다.


기기 관리 기능은 기기 구성 기능(Device Configuration Function: DCF), 기기 진단 모니터링 기능(Device Diagnostic and Monitoring Function: DDMF), 펌웨어 관리 (Device Firmware Management Function: DFMF), 기기 형상 관리 기능(Device Topology Function: DTMF)으로 구성되며, 다음과 같은 세부적인 기능을 포함한다.


- 기기 구성 기능(DCF): 기기의 관리 객체 속성을 탐색하는 기능, 기기의 기능 켜거나 끄는 기능, 구성 파라메터를 기기에 전달하는 기능


- 기기 분석 모니터링 기능(DDMF): 기기의 진단 모니터링 파라메터를 구성, 기의 제조사, 모델, 식별자 수집, 설치된 펌웨어 소프트웨어 정보, 배터리 관련 , 메모리 사용량, 이벤트 로그 수집, 재부팅 공장 초기화 수행 상태 결과 수집


- 펌웨어 관리 기능(DFMF): 펌웨어 전달 구성, 적용


- 형상 관리 기능(DTMF): M2M 지역 네트워크의 토폴로지 구성, 네트워크에 연결된 디바이스들의 정보, 전달 프로토콜에 관한 정보, 디바이스의 속성 수집


 


BBF TR-069


TR-069 원래 ADSL 망에서 사용자 기기/모뎀을 관리하기 위한 표준이었으나, BBF (Broadband Forum)으로 넘어오면서, 광대역 유선망에서의 셋탑박스, 게이트웨이 등을 리하기 위한 표준으로 확장되었다[1]. 이는 자동설정, 펌웨어 관리, 상태 성능 모니터 , 진단 등의 기능을 포함하고 있다. TCP 기반의 HTTP 사용하며, SOAP 통한 RPC (Remote Procedure Call) 방식의 기기 관리 기능을 제공한다. SSL/TLS 사용하여 연결을 설정한다.


 


OMA-DM


OMA-DM 워킹그룹은 알카텔-루슨트, 차이나 모바일, 에릭슨, 게말토, 인텔, 인터롭, LG 전자, NEC, 삼성, 소니, 텔레콤이탈리아, 보다폰, ARM 등의 회사들이 적극적으로 참여 하고 있다[2]. OMA-DM 1.3 버전과 2.0 버전이 있으며, OMA DM 1 2002 년부터 개발이 시작되어 2011 1.3 버전까지 표준이 제정되고 많은 모바일 기기 시스템에 적용되어 왔다. 2012 년에는 복잡성, 연동성, 비용 효율성 등을 개선한 웹기술 기반의 2.0표준을 제정하여 발전하고 있다. OMA-DM 초기 설정, 소프트웨어 펌웨어 관리, 제어, 진단 모니터링 등의 기능을 가지고 있으며, 스마트폰 등의 모바일 단말을 상으로 관리 서비스를 제공한다. 관리 서버는 기기 내의 관리 객체(Management Object: MO) 액세스함으로써 장치를 관리하도록 되어 있다. MO 에는 다음과 같은 것들이 있다.


FUMO(Firmware Update Management Object): 펌웨어 업데이트 관리


SCOMO(Software Management): 소프트웨어 컴포넌트 설치, 삭제, 관리


DiagMon MO(Diagnostics and Monitoring): 배터리, 메모리, 라디오, QoS 파라메터 상태를 수집, 진단


ConnMo(Connectivity): 베어러나 프록시 설정


DCMO(Device Capabilities): 카메라, 블루투스, USB 주변기기를 원격으로 활성 /비활성화하는 권한


- LAWMO(Lock and Wipe): 분실, 도난시 기기를 잠그거나 완전 삭제


- BMO(Browser): 브라우저 설정 관리: VirMO(Virtualization): 원격에 있는 가상 머신을 관리


- Management Policy MO: 어떤 이벤트가 발생하면 어떤 동작을 수행할 있도록 하는 정책을 배포 관리: OMA-DM HTTP RESTful 메소드를 이용하며, XML JSON 기반의 메시지를 용하고, SSL/TLS 보안 기술을 이용.


 


OMA LWM2M 장치관리 표준


OMA 에서는 사물인터넷에 연결된 기기 관리를 위해 더욱 경량화된 기기 관리 프로토 콜인 LWM2M 프로토콜을 제정 발전시키고 있다. (그림 2) LWM2M 아키텍처로 대상인 사물인터넷에 연결된 M2M 기기를 LWM2M 클라이언트라고 하며, 관리하는 주체를 LWM2M 서버라고 한다.


LWM2M 오버헤드가 XML 대신에 텍스트(Plain Text), LWM2M-JSON, LWM2M- TLV 포맷을 지원하고, 바이너리 포맷인 CoAP 메시지를 사용하여 효율성을 추구.


 



 


UDP DTLS 위에서 CoAP 프로토콜을 사용하여 메모리 CPU 성능이 낮은 소형 노드에도 적용할 있다. 필요에 따라 SMS 이용하여 요청을 보내는 등의 셀룰러 망에 맞는 동작도 포함하고 있다.


LWM2M CoAP RESTful 인터페이스를 활용하고 있으며, 세부적으로는 Bootstrap, Registration, Object/Resource Access, Reporting 인터페이스를 정의하고 있다. 그림은 LWM2M 인터페이스의 종류와 요청 시작 방향을 나타낸다.


 



 


- 부트스트랩(Bootstrap) 인터페이스: 클라이언트가 서버 정보와 보안키 등을 얻는 과정에서 사용된다. 클라이언트는 부팅시 스마트카드 또는 내장 메모리, 부트스트랩 버를 통해 LWM2M 서버 정보 보안키 정보를 얻는다. 부트스트랩 절차는 클라이 언트가 먼저 수행하는 경우(Client Initiated) 서버가 먼저 수행(Server Initiated) 경우의 가지로 나뉜다.


- 등록(Registration) 인터페이스: 서버에 클라이언트 리소스를 등록할 사용한다. 클라이언트는 Endpoint 유효시간(Lifetime), 모드(Queue mode) 클라이 언트가 지원하는 객체정보 인스턴스 등을 서버에 등록한다. 등록 요청 메시지를 받은 서버는 클라이언트의 IP 주소 포트 등을 저장한다. LWM2M 복수의 서버 지원하므로, 클라이언트는 서버에 등록을 수행하고 액세스 객체를 관리한다.


- 디바이스 관리(Management) 인터페이스: Object/Resource Access 인터페이스라 고도 하며, 서버가 클라이언트의 객체 인스턴스 자원을 모니터링 하거나 제어할 사용된다. 여기서 정의된 동작(Operation)에는 생성(Create), 읽기(Read), 쓰기 (Write), 삭제(Delete), 속성변경(Write Attributes), 수행(Execute), 탐색(Discover) 있으며, 리소스별로 가능한 동작은 객체 템플릿에 정의되어 있다. 읽기동작은 , 객체 인스턴스, 리소스, 리소스 인스턴스 값을 얻을 사용된다. 탐색 동작은 체가 어떤 리소스로 구성되어 있는지 알아낼 사용되며, 링크포맷 형태로 응답한 . 쓰기 동작은 리소스의 값을 변경할 사용된다. 속성변경(Write Attribute) 동작 정보 관찰(Observe) 동작에 관련된 속성을 변경할 사용된다. 예를 들면, 리소 스의 값이 어떤 범위를 넘어설 때만 통지(Notify) 메시지를 보내도록 속성을 변경할 있다. 또한, 정보 관찰을 취소할 때도 사용되고, 실행 동작은 리소스가 어떤 동작 수행하도록 사용된다. 생성동작은 객체 인스턴스 생성할 사용되며, 서버 객체를 관리할 사용된다.


- 보고(Reporting) 인터페이스: 서버가 클라이언트로부터 자동으로 데이터를 받기 원할 사용된다. 이는 비동기 통지 형태로 동작한다. 서버는 클라이언트의 어떤 리소스 변화를 관찰할 관찰 동작을 수행하며, 관찰 취소동작을 통해 종료된다. 동작은 클라이언트가 관찰중인 서버에게 데이터를 보내는데 사용된다.


< 1> 기기 관리를 위한 LWM2M 객체를 보인다. LWM2M 1.0 스펙에는 표에 급된 8 개의 객체가 정의되어 있다. 밖에 소프트웨어 콤포넌트 관리(SWMGMT) 객체, 게이트웨이 관리(LwGateway), 완전삭제(LOCKWIPE), 연결관리(CONNMGMT) 등의 체가 표준화 진행중이다.


- 객체 ID 0 번인 보안(Security) 객체는 서버와 보안 통신을 위한 정보를 포함하고 . 여기에는 보안 모드, 비밀키 등을 포함한다.


- 서버(Server) 객체는 서버에 관한 기본 설정을 포함하고 있다. 여기에는 Short 서버 ID, 디폴트 재등록 시간, 관찰 기능 관련 디폴트 등을 포함한다.


- 액세스 콘트롤(Access Control) 객체는 클라이언트의 객체 리소스에 접근 제어할 있는 권한을 포함한다. 클라이언트가 가지고 있는 객체들은 서버별로 권한을 가지도록 설정될 있다.


- 디바이스(Device) 객체는, 기기 기본 정보를 읽는 사용된다. 또한, 기기를 재부팅 하거나 공장 초기화 하는 기능을 포함한다.


- 연결성 모니터링(Connectivity Monitoring) 객체는 네트워크 상태 모니터링 관련된 리소스들을 포함한다.


- 펌웨어(Firmware) 객체는 펌웨어 업데이트 수행에 필요한 리소스를 포함한다.


- 위치(Location) 객체는 기기의 현재 위치에 관한 정보를 포함한다.


 


< 1> LWM2M 객체


 


Object ID

Object name

Resource

0

LWM2M Security

서버 URI, 부트스트랩 서버 여부, 보안모드(PSK, Raw Public Key, Certificate, NoSec), 클라이언트 공개키/ID, 서버 공개키/ID, 비밀키, SMS 보안 모드, SMS 바인딩 파라메터 비밀키, 서버 SMS 번호, Short 서버 ID, 부트스트랩 지속시간

1

LWM2M Server

Short 서버 ID, 유효시간(Lifetime), 기본 Observe 주기(pmin,pmax), 비활 성화 동작, 바인딩, 업데이트 트리거

2

Access Control

객체 ID, 객체 인스턴스 ID, ACL(서버가 가지는 읽기, 쓰기, 실행, 삭제, 권한) 액세스 콘트롤 소유자

3

Device

제조사, 디바이스 종류, 모델번호, 시리얼 번호, 하드웨어 버전, 펌웨어 , 소프트웨어 버전, 재부팅, 공장 초기화, 전원 종류, 전원 전압, 전류, 터리 수준, 메모리 수준 , 메모리, 에러코드, 현재시간, 지원 바인딩 모드

4

Connectivity Monitoring

네트워크 종류, 라디오 신호 세기, 링크 품질, IP 주소, 라우터 IP, 링크 사용 , APN, Cell ID, SMNC(네트워크 코드), SMCC(국가코드)

5

Firmware

펌웨어 업데이트 수행, 상태, 결과, 펌웨어 URI, 패키지 명, 패키지 버전

6

Location

위도, 경도, 고도, 속도, 측정시간

7

Connectivity Statistics

SMS 카운터, Tx/Rx Data, 최대/평균 메시지 크기


- 연결성 통계(Connectivity Statistics) 객체는 주고 받은 패킷 네트워크 통계에 관한 정보를 포함한다.


 


OMA LWM2M 지원 동향


 


표준화의 목적은 연동성 확보를 통해 경제적인 제품과 서비스를 개발하는 것이다. OMA 에서는 표준 문서 개발뿐만 아니라 연동성 확보를 위한 상호운용 시험을 TestFest 라는 이벤트로 개최하고 있다. 지난 2015 1 26 일부터 29 일까지 독일 뒤셀도르프 보다폰(Vodafone) 본사에서 번째 LWM2M TestFest 이벤트가 열렸다. LWM2M 상호운용성 시험은 ETSI 주관으로 CoAPPlugtest(상호운용성 시험)에서 함께 차례 행된 있지만, LWM2M 단독으로는 처음 개최된 호환성 테스트 이벤트였다.


이벤트에 LWM2M 서버 제품으로 참석한 업체는 6 개로, 미국, 인도, 유럽쪽 플랫 업체들과 오픈소스 단체인 Eclipse Foundation 에서 참석하였다. LWM2M 클라이언트 참석한 업체는 9 업체로, ETRI 연구기관 단말 업체, DM 솔루션 업체, 랫폼 업체 등이 참석하였다. 클라이언트 형상으로는 PC 에뮬레이터 이외에, 상용 IoT , 자체 제작 개발 보드, 레고 마인드스톰, 스마트폰 다양한 형태가 있었다.


테스트는 사전에 제공된 시험절차서(ETS) 기반으로 수행되며 서버와 클라이언트가 짝을 이루어 시험하였다. 시험 항목은 20 항목으로 부트스트랩 과정을 제외한 등록 과정부터 디바이스 관리, 관찰 기능 대부분의 LWM2M 인터페이스 객체를 포함하 있다. 테스트 이벤트를 통해 표준 구현을 확실히 하여 호환성을 확보할 있었으며, 기존 작성된 표준에서 잘못된 부분과 개선해야 부분을 발견하여 보완하기로 .


TestFest 이벤트 기간에 OMA LWM2M 워크샵도 개최되었다. 워크샵에서는 LWM2M 기술에 관한 기본적인 소개와 더불어 오픈소스 프로젝트 개발자 툴이 소개되었다. OMA 에서는 오픈소스 커뮤니티인 GitHub 사용하여 LWM2M 문서를 공개하는 한편, 피드백을 개발자 사용자와 공유하고, DevKit Leshan 오픈소스 LWM2M 관련 프로젝트를 지원한다고 소개.그리고 IPSO 에서는 사물인터넷 기기를 류하고 체계를 구성하는 Smart Objects Starter Pack 1.0 표준과 현재 진행 상황 소개.


 사물인터넷 시대를 맞이하여 앞으로 수많은 기기가 인터넷에 연결될 것이다. 모바일 네트워크에서 통신사 제조사가 각각의 기기를 관리해 왔던 것처럼 사물인터넷 세상에 서도 서비스 플랫폼 사업자 통신 사업자들은 수많은 기기를 관리, 유지 보수하고자 것이다. 이러한 사물인터넷의 소형기기를 포함한 다양한 기기를 관리할 있는 표준 하나가 OMA LWM2M 프로토콜이다. 표준화 단체인 OMA 에서는 LWM2M 표준 문서 제정하는 것에 머물지 않고, 다양한 개발자 지원 활동 상호운용성 시험을 통해 표준 보급 활성화에 적극적으로 노력하고 있다.


현재 국내 사물인터넷 시장은 특정 응용 서비스 위주의 닫힌 서비스를 중심으로 개발 되고 있다. 그러나, ARM 비롯한 글로벌 업체들은 국제 표준 기반의 열린 사물인터넷 시장을 개척.