사물인터넷표준 CoAP 기술및구현동향 고석갑 * 오승훈 * 손승철 * 이병탁 ** 최근사물인터넷기술에대한기대와관심이고조되고있는가운데, 인터넷표준화단체인 IETF(Internet Engineering Task Force) 에서는다양한노드를수용할수있는웹기술대응프로토콜인 CoAP(Constrained Application Protocol) 을제정하고있다. 본고에서는 CoAP 프로토콜의개요와구현현황, ETSI 의상호운용성시험현황에대해살펴본다. Ⅰ. 서론 목차 Ⅱ. CoAP 기술및표준화동향 Ⅲ. CoAP 구현동향 IV. ETSI CoAP 상호운용성시험 V. 결론 * 한국전자통신연구원관제디바이스실 / 선임연구원 ** 한국전자통신연구원관제디바이스실 / 책임연구원 I. 서론 사물인터넷 (Internet of Things: IoT) 이란, 컴퓨터뿐만아니라다양한사물, 데이터와서비스등모든것을인터넷에연결하여정보를교환할수있도록하는기술및서비스를말한다. 사물인터넷을통해다양한서비스가만들어지고, 새로운시장과수익이창출될것으로기대되고있다. 특히, 미래창조과학부가 2014 년 4 월에사물인터넷육성기본계획안을발표하면서사물인터넷기술에대한기대와관심이고조되고있다. 사물인터넷은다양한기기가서로연결되는네트워크이다. 거기에는컴퓨터와스마트폰처럼높은처리용량과메모리를가지 정보통신기술진흥센터 1
주간기술동향 2014. 6. 25. 고있는노드도있지만센서와같이작은메모리와낮은처리성능을가진노드들도인터넷에연결된다. 이에인터넷표준화단체인 IETF 는다양한노드를수용할수있는사물인터넷프로토콜을만들기시작하였고, 그중하나가기존의 HTTP 웹프로토콜에대응되는 CoAP(Constrained Application Protocol) 프로토콜이다. CoAP 프로토콜중핵심부분은이미표준화완료단계에있으며, 부가확장및보안부분은빠르게표준화가이루어지고있고, 많은유명업체에서 CoAP 구현을완료하여상용화를진행하고있다. 유럽통신표준단체인 ETSI(European Telecommunications Standards Institute) 에서는 CoAP Plugtest 라는상호운용성시험을개최하여구현업체간의연동시험및시장활성화에기여하고있다. 본고에서는이러한 CoAP 프로토콜의개요와구현현황, ETSI 의상호운용성시험현황에대해서각각살펴본다. II. CoAP 기술및표준화동향 최근사물인터넷시대의도래에따라, 다양한센서노드및각종장치, 기기간에상호 통신할수있는가벼운공통프로토콜이필요하게되었다. 사물인터넷관련표준화로는 ITU 및 ETSI 가서비스모델, 서비스연동등큰그림을담당하고있으며, IETF 에서 IP 기반프로토콜표준화를주도하고있다. 그밖에 IPSO(Internet Protocol of Smart Objects), OMA 등기관에서도사물인터넷관련표준적용을지원하고있다. IETF CoRE 워킹그룹에서는사물인터넷노드사이에통신할수있는 CoAP 을개발하 REQ13: REQ14: MiME Type Manageability Web Resource CoAP UDP IP Constrained Link REQ10: UDP Transport Server REQ7: HTTP Mapping Server HTTP CoAP REQ4: Caching CoAP Proxy REQ12: Low latency REQ6: REQ11: Sub/Notify Reliability ( 그림 1) IETF CoRE WG 표준화범위 REQ2: Constrained networks REQ5: Resource manipulation REQ8: Resource discovery REQ3: Sleeping nodes REQ1: Limited Flash/RAM REQ9: Multicast 2 www.iitp.kr
고있다. ( 그림 1) 은 CoRE 워킹그룹의표준화범위를나타내고있으며, 노드및네트워크 의제약사항에관한정리, 리소스등록및탐색, 신뢰성있는전달, 이벤트통지, 멀티캐스 트, 프록시, 메시지포맷, 보안등을고려하고있다. CoAP 프로토콜은기본적으로 IP 계층위에 UDP 트랜스포트계층을가정하고있지만, 하위계층과독립적으로설계되어다른네트워크계층및트랜스포트계층에서도동작할 수있다. ( 그림 2) 는 CoAP 에서제공하는메시지포맷의예를보인다. CoAP 은기본적으로 작은메시지크기및쉬운인코딩ㆍ디코딩을위해바이너리인코딩방식을사용한다. CoAP 은확인 (acknowledgement) 메시지를받아야만재전송을멈추는확인형 (confirmable) 메시 지와응답이안와도상관없는비확인형 (Non-confirmable) 메시지를선택적으로지원한다. 또한, CoAP 클라이언트가 CoAP 서버 ( 센서노드 ) 를주기적으로조회하는폴링 (Polling) 방식 외에추가로이벤트가발생할경우에바로 CoAP 서버 ( 센서노드 ) 가 CoAP 클라이언트로 메시지를전송하는푸시 (push) 방식도지원한다. CoAP 에서는이를 Observe 확장이라고 한다. CoAP 에서는요청메시지에따른즉시응답이곤란한경우, 지연된응답기능이가 능하고, 그밖에 CoAP 서버가제공하고있는목록을확인할수있는링크포맷기능, 큰 데이터를나누어서전송할수있는블록단위전송기능, 보안기능등이있다 [1]. 최근 2014 년 3 월런던에서 IETF 89 차회의가개최되었다. CoRE 워킹그룹관련하여 CoAP Server CoAP Client CON(0 bc90) (sensor) GET/temperature (token 0 71) ACK(0 bc90) 2.05 Content Sensor update (token 0 71) 22.5C 0 8 16 24 31 1 0 TKL=1 GET=1 MID=0 bc90 0 71 11 11 t e m p e r a t u r e 0 8 16 24 31 1 0 TKL=1 2.05 Content(69) MID=0 bc90 0 71 12 1 plain-text(0) o ff 2 2. 5 c ( 그림 2) CoAP 메시지포맷 정보통신기술진흥센터 3
주간기술동향 2014. 6. 25. CoAP 프로토콜기고서 18 버전 [2] 이 RFC 편집자큐에서작업중으로곧 RFC 로발행될예정이다. 그외에도 Blockwise Transfer in CoAP[3], Observing Resources in CoAP[4], Group Communication for CoAP[5], Best Practices for HTTP-CoAP Mapping Implementation[6], CoRE Link Collections in JSON[7], CoRE Interface[8] 문서들이 IESG 차원에서논의되고있다. 이번회의의주된이슈중하나는 Observation Cancellation 관련된방법을어떤것으로할것인가에대해많은논의가있었다. RESTful 한설계철학과 CoAP 의목적에대한대립점이있어결정에어려움이있었다. 몇가지대안중에 Observe 옵션에 0 이아닌값을넣어 GET 요청메시지를보내는것으로캔슬기능을하는것이유력하게논의되고있는상태이다. 그밖에 IETF 89 차회의에서는많은사물인터넷관련미팅이열렸다. ACE (Authentication and Authorization for Constrained Environments) BoF 그룹은아직워킹그룹으로승인되기전단계로사물인터넷에서인증및접근제어관련표준을제정하는데목적이있다 [9]. DICE(DTLS in Constrained Environments) 워킹그룹에서는사물인터넷을위한 DTLS 프로파일을표준화하는워킹그룹으로 CoAP 에서의보안부분을보강하는역할을하고있다 [10]. III. CoAP 구현동향 많은국내외업체및기관들이 CoAP 프로토콜을구현하고시장에진출하고있다. 본고에서는 ETSI CoAP Plugtest 참석업체를대상으로구현동향을살펴본다. ARM 의경우, 2013 년부터본격적으로사물인터넷시장에뛰어들기시작하였으며, 그동안스마트폰에 ARM 프로세서기술이많이퍼졌듯이사물인터넷시대에서도 ARM 기술을다양한기기에넣겠다는전략을가지고있다. ARM 의사물인터넷전략은개방형개발플랫폼인 ARM mbed 과사물인터넷표준솔루션등이있으며, 여기에자사의하드웨어가포함된레퍼런스플랫폼을제공하고, 미들웨어및클라우드서비스기술이포함된소프트웨어플랫폼기술을포함하고있다. ARM 은센시노드인수를통해사물인터넷솔루션과 IETF CoAP 을포함한국제사물인터넷표준화활동에도참여하여자신들의기술을표준화에반영하고있으며, 자사의솔루션에도표준내용을먼저구현하여기능을넣고있다. 4 www.iitp.kr
독일 Bremen 대학 TZI 의 Carsten Bormann 은 IETF CoAP 워킹그룹좌장으로써표준화에주도적인활동을하고있으며, CoAP 오픈소스인 libcoap 라이브러리를개발하고있다. 이처럼 TZI 는학계연구소차원에서표준화와 CoAP 및사물인터넷기술보급에관심을가지고활동하고있다. 벨기에의산ㆍ학협력촉진을통한 ICT 서비스및사업화진흥을위해설립된창업컨설팅및투자전문기관인 iminds 에서도사물인터넷및 CoAP 기술구현에참여하고있다. 여기에서는다양한규모, 형태의실제네트워크장비와단말들을구비해놓고 ICT 솔루션이나상품의창업자를돕기위해개발과시험을진행하고있으며, 총 13 개의최신트랜드프로젝트를수행하고있다. 그중임베디드서비스를타깃으로하는창업자를위해 CoAP 프로젝트를구성하고직접구현하면서플랫폼을제공하고있다. 중국의가장큰네트워크장비및 IT 업체인화웨이도최근 M2M 및사물인터넷시장에진출하고있다. 아직 CoAP 구현은늦게시작한편이지만, 다양한응용에적용을계획하고있다. 히타치중국연구소의경우, 스마트시티를미래의큰비전으로보고있으며, 그실현을위해사물인터넷통신시스템을구현하고있다. 다양한형태로연결되는게이트웨이를 M2M 플랫폼과연계하고있으며, 응용계층이지원하는프로토콜로 CoAP 과 HTTP 를채택하였다. 표준화에도깊숙이참여하여사물인터넷플랫폼제공을목표로가지고있다. 취리히연방공과대학의 ETH 에서는 CoAP 표준화활동및사물인터넷기술과관련된연구및구현을진행하고있으며, 비록상용제품은없으나수준높은 CoAP 구현소프트웨어기술을보유하고있다. 국내에서도대학교및 ETRI 를중심으로 CoAP 을구현하고있다. ETRI 는소형센서노드등다양한기기에이식할수있도록경량화된 CoAP 소프트웨어를개발하여중소기업대상으로기술이전을진행중이다. 특히, ETRI CoAP 은 IP 프로토콜지원뿐만아니라, Zigbee MAC/PHY, RS-485 와같이 IP 프로토콜을사용하기어려운통신인터페이스를지원하기위한유연한구현구조를가지고있으며, 기술이전을통해 KT 빌딩관제시스템과스마트강의실구축사업에적용하는등 CoAP 기술을전파하고관련시장활성화에기여하고있다 [11]. 그밖의많은업체및기관들이 C, Objective-C, C++, Java, Python, nesc/c, Javascript, 정보통신기술진흥센터 5
주간기술동향 2014. 6. 25. Go 등다양한프로그래밍언어와플랫폼용으로 CoAP 을구현하고있다. 이러한내용들은 위키페디아의 CoAP 페이지 [12] 에정리되어있다. IV. ETSI CoAP 상호운용성시험 1. ETSI CoAP Plugtest 유럽통신표준화기관인 ETSI 는영국런던에서 2014 년 3 월 7 일부터 9 일까지 CoAP#4 Plugtest ( 제 4 차 CoAP Plugtest) 행사를개최하였다. 이행사는 ETSI 가주관하고 IPSO 가후원하는국제표준화상호연동시험행사로서사물인터넷핵심프로토콜인 IETF CoAP 및 6LoWPAN(IPv6 over Low-power Wireless Personal Area) 네트워크기술과 OMA LWM2M(Open Mobile Alliance Lightweight M2M) 은상호연동시험을수행하였다. 이행사는 IETF 89 차회의일정과연계하여진행되고, 회의결과일부를 Plugtest 에반영하여상호운용성을시험해보기도하였다. IETF CoAP 시험에서는 CoRE 기본프로토콜뿐만아니라 Block 및 Observe, Link 의확장프로토콜과 DTLS(Datagram Transport Layer Security) 보안인증시험도포함하여총 56 개의시험항목으로진행되었다. 6LoWPAN 시험은 2013 년베를린시험에서작성한상호운용성시험절차서를갱신하여총 29 개항목으로시험하였으며, LWM2M 시험은 OMA 에서작성한 An Enabler Test Specification of LWM2M 문서를기준으로총 16 개항목을시험하였다. ETSI 에서는행사를주최하고, 시험장소및위키페이지, 세부시험일정관리, 시험결과보고도구, 네트워크등을제공하였다. 본행사에는 ARM, Ericsson, ETH Zurich, ETRI, Huawei, RIOT/INRIA, TZI/Bremen 대학, Hitachi, iminds, Open Mobile Alliance, Carnegie Mellon University 의 11 개업체및기관에서 20 여명이참석하였다. 2. 시험내용 CORE 그룹의시험항목들은 IETF CoRE 워킹그룹드래프트문서인 draft-ietf-corecoap-18 을기준으로하고있다. 이문서는기본 CoAP 프로토콜의메시지포맷, 절차, 옵션항목, 파라메터등을다루고있는기본적인표준문서이다. 6 www.iitp.kr
LINK 그룹의시험항목들은 RFC 6690 Core Link Format 문서를기준으로작성되어있으며, CoAP 서버가제공및관리하는리소스리스트및속성을확인할때사용하는프로토콜로디렉토리정보를제공하는것과유사하다. BLOCK 그룹의시험항목들은 draft-ietf-core-block-14 문서를기준으로작성되어있다. 이는큰크기의페이로드를전송할때, 블록단위로나누어서전달할수있게하는확장표준이다. OBS 그룹의시험항목들은 draft-ietf-core-observe-12 문서를기준으로작성되어있다. 이는센서노드와같은 CoAP 서버가그내용이갱신될때마다데이터를통보하는모델을지원한다. 이기법을통해매번 CoAP 서버를폴링하지않고도빠르게변경된데이터를수집할수있으며, 네트워크트래픽및전송전력도절약할수있다. DTLS 그룹의시험항목들은 draft-ietf-core-coap-18 에정리된내용을기준으로하며, 그세부적인규격은 RFC 6347 Datagram Transport Layer Security Version 1.2 및 RFC 6655 AES-CCM Cipher Suites for Transport Layer Security(TLS), draft-mcgrew-tlsaes-ccm-ecc-06 AES-CCM ECC Cipher Suites for TLS, draft-ietf-tls-oob-pubkey- 07 Out-of-Band Public Key Validation for Transport Layer Security 이다. IETF DICE 워킹그룹에서관련프로파일을정리하고있는단계로아직많은부분이논의되고있다. 3. 시험환경및진행시험환경은 ETSI CTI 가 IPv6, IPv4 사설네트워크로구성하였고, 이더넷유선망을기본으로하고있다. 내부망에 DHCP 및 DNS 서버를구축하였고, NAT(Network Address Translation) 장비를이용하여인터넷액세스가가능하도록하였다. 각참가업체에게서브넷을할당하고, 테스트에사용되는 CoAP 서버들별로 IP 주소를할당하고 DNS 이름을지정해두었다. 시험은일정스케줄에의해 2 개참여업체씩짝을이루어서로클라이언트-서버역할을바꿔가며시험을수행하고, 한업체는보통하루에 3 개업체와의시험을하게된다. 시험이끝나면시험결과를상호동의과정을거쳐온라인으로입력한다. 시험결과의통계는다른업체간의시험결과는볼수없고, 자신의시험결과와전체시험결과통계만을확인할수있다. 정보통신기술진흥센터 7
주간기술동향 2014. 6. 25. ( 그림 3) ETSI CoAP#4 Plugtest 시험결과 4. 시험결과 ( 그림 3) 은모든참석업체의 CoAP Plugtest 시험종합결과를나타낸다. 총 38 개의세션이있고, 세션당 52 개의테스트항목이있다. 전체시험항목중 71.6% 수행을하여시험한항목중 98.5% 가 OK 로집계되었다. 이는매우높은상호운용성을가지고있으며, CoAP 프로토콜규격의완전성및각업체및기관의구현물의완성도가높다는것을확인할수있다. 세부결과를보면, CoRE 그룹의경우, 전체시험항목중에 93.2% 는대부분의시험항목을수행하였으며, 호환성도 99.3% 로매우높은결과를보였다. CORE 그룹의시험항목은 CoAP 의기본적인기능을포함하고있어대부분의업체들이잘구현하였기때문에높은상호운용성결과를얻었다. LINK 그룹의경우, 66.4% 의시험이수행되었으며, 다양한조건으로리소스리스트를탐색하는기능이있다. 이러한부분들이충분히구현되지않은업체들이많았기때문에시험시행률이다소낮았다. BLOCK 그룹의경우 53.9% 의시험이 8 www.iitp.kr
수행되었으며, 일부업체에서는 BLOCK 기능의중요도를다소낮게보고있어완전하게구현되지않는항목들이있었기때문에시험시행률이낮게나왔다. OBS 그룹의경우, 39.0% 의시험을수행하였다. 아직완전히구현하지않은업체가많은관계로시험시행을낮았지만, 구현한업체간의상호운용성은 99.4% 로높게나타났다. 특히, OBS 그룹에는새롭게 Observe CANCEL 기능에대한시험항목이행사기간중에추가되었으며, 많은업체들이짧은시간내에구현하여정상동작을확인하기도하였다. ETRI 의시험결과는전체시험항목중 80.0% 시험을수행하였으며, 시험한항목중 99.6% 를 OK 를받아다른참가업체들에비해우수한상호운용성결과를얻어 ETRI 의기술이세계적으로도우수함을확인할수있었다. V. 결론 사물인터넷은성장잠재력이무궁무진한분야로새로운성장의원동력이될수있는분야이다. 다양한아이디어와기술및서비스가사물인터넷이라는이름으로결합될것이다. 그런데, 개별적이고독자적인방식으로사물인터넷서비스를개발하게되는경우, 인터넷의장점인다양한서비스로의확장이어렵고, 다른기기및서비스와의연동이될수없다. 사물인터넷서비스는기본적으로개방성과표준성을갖추고있어야한다. 그러한표준중의하나가 CoAP 프로토콜이다. 이미세계적인업체들은 CoAP 과같은국제표준을준수하여전세계시장에적용될수있는사물인터넷서비스및기기를개발하고있다. 국내에도 ETRI 를중심으로국제표준기술을확보하고있으며, 최근 IDC 발표에의하면대한민국이 G20 국가중사물인터넷지수가두번째로높게나왔다. 국내외적으로표준및관련구현제품들이상용화수준까지구현되어사물인터넷시장이급격하게커질것으로예상된다. < 참고문헌 > [1] 고석갑외, IETF CoAP 기반센서접속프로토콜기술동향, ETRI, 전자통신동향분석, 2013. 12. [2] Z. Shelby, K. Hartke, and C. Borman, Constrained Application Protocol(CoAP), draft-ietfcore-coap-18, IETF, Jun. 2013. [3] C. Bormann, and Z. Shelby, Blockwise transfers in CoAP, draft-ietf-core-block-14, IETF, Oct. 정보통신기술진흥센터 9
주간기술동향 2014. 6. 25. 2013. [4] K. Hartke, Observing Resources in CoAP, draft-ietf-core-observe-13, IETF, Apr. 2014. [5] A. Rahman, and E. Dijk, Group Communication for CoAP, draft-ietf-core-groupcomm, IETF, Dec. 2013. [6] A. Castellani, S. Loreto, A. Rahman, T. Fossati, and E. Djik, Guidelines for HTTP-CoAP Mapping Implementations, draft-ietf-core-http-mapping-03, IETF, Feb. 2014 [7] C. Bormann, Representing CoRE Link Collections in JSON, draft-ietf-core-links-json-01, IETF, Dec. 2013. [8] Z. Shelby, M. Vial, CoRE Interfaces, draft-ietf-core-interfaces-01, Dec. 2013. [9] Authentication and Authorization for Constrained Environment(ACE) BoF, IETF, http://trac.tools.ietf.org/wg/core/trac/wiki/ace_charter [10] DTLS In Constrained Environments(dice), Working Group, IETF, http://datatracker.ietf.org/wg/dice/charter/ [11] Non-IP 센서지원 IETF CoAP 기반센서접속프로토콜, ETRI 기술이전사이트, http://www.itec.re.kr/itec/sub02/sub02_01_1.do?t_id=5980 [12] Constrained Application Protocol, Wikipedia, http://en.wikipedia.org/wiki/constrained_application_protocol * 본내용은필자의주관적인의견이며 IITP 의공식적인입장이아님을밝힙니다. 10 www.iitp.kr