사물인터넷 (IoT) 환경을위한경량프로토콜및 IETF CoAP 프로토콜 서두옥 * 이동호 ** 사물인터넷 (IoT) 이활성화되면수많은사물들이서로를스스로식별하고인식하여상호간정보교환을통해우리의삶을편하게해줄수있는다양한서비스들의제공이가능할것이고, 이러한 IoT 시장은해마다급성장하고있으며, 다양한 IT 기술이융합될것으로예상된다. IoT 환경에서사물기기간의데이터교환기술즉, 메시지프로토콜은중요한기술중의하나로분류되고있다. 본고에서는 IoT 환경에서다양한경량프로토콜의기본적인특징과 IETF 의 CoRE(Constrained RESTful Environments) WG 에서진행되고있는 CoAP(Constrained Application Protocol) 프로토콜의최근표준화동향을살펴보고자한다. 목 차 I. 서론 Ⅰ. 서론 Ⅱ. IoT 경량프로토콜 Ⅲ. IETF CoAP 프로토콜표준화동향 Ⅳ. 결론 * ClickseoInsight/ 대표 ** 광운대학교컴퓨터소프트웨어학과 / 교수 사물인터넷 (Internet of Things: IoT) 은사물에센서등을부착하여데이터를수집하고수집된정보를실시간으로유무선통신망을통해서로주고받는기술이나환경을말한다. 즉, 사람의도움없이정보를주고받는것으로사물지능통신 (Machine- To-Machine: M2M) 이확장된개념이다 [1]. 현재인터넷에연결되어있는기기는소수에불과할뿐이지만 IoT 환경이발전하면서갈수록인터넷에연결되는사용자와모바일및사물기기의수가기하급수적으로증가할것이다. 이와관련하여시스코 (CISCO) 는인터넷에연결되는기기등이 2012 년 87 억개에서 2020 년까지 500 억 1
주간기술동향 2015. 11. 18. World Population Connected Devices 6.3Billion 6.8Billion 7.2Billion 7.6Billion 500Million 12.5Billion 25Billion 50Billion More connected Connected Devices 0.08 devices 1.84 Per Person than people 3.47 6.58 2003 2010 2015 2020 < 자료 >: Cisco IBSG, April 2011. ( 그림 1) 인터넷에연결되는사용자와사물기기 [3] 개로늘어날것으로전망하였다. 또한, 글로벌시장조사업체가트너 (Gartner) 는오는 2020 년에는전세계에서사용되는개인용컴퓨터와모바일기기 ( 스마트폰과태블릿등 ) 의 수가 73 억대에이르고, 이를제외한사물기기들이 2009 년 9 억대에서 2020 년까지 260 억대로 30 배이상으로성장할것으로예측하고있다 [2]. IoT 가활성화되면수많은사물들이서로를스스로식별하고인식하여상호간정보교 환을통해우리의삶을편하게해줄수있는다양한서비스들의제공이가능할것으로예 상된다. 이러한 IoT 시장은해마다급성장하고있으며, 산업연구원 (KIET) 은전세계 IoT 시장규모가 2013 년 2,000 억달러에서오는 2020 년 1 조 2,000 억달러규모로성장할 것으로예측하고있다 [3]. 또한, 각국가별로 IoT 기술이사회를변화시킬수있는핵심 ( 단위 : 조원 ) 전세계 1,005 1,225 556 457 375 308 208 253 2.3 2.9 3.8 4.9 6.4 8.2 825 678 국내 22.9 10.6 13.7 17.7 < 자료 >: 산업연구원, 2014. 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 ( 그림 2) 사물인터넷시장규모 2 www.iitp.kr
기술임을인식하고, 이를위한투자및개발을적극적으로진행하고있다. IoT 를이끄는기술요소는센서, 디바이스, 네트워크, 플랫폼, 애플리케이션등으로다양하다. 여기에클라우드 (Cloud), 빅데이터 (BigData) ㆍ애널리틱스 (Analytics), 보안등에이르기까지다양한 IT 기술이융합될것으로보인다 [2]. 하지만그동안사물기기간통신은제조사와서비스업체들이서로다른프로토콜을사용함으로써호환성이떨어지는문제점이있었다. 이때문에 IoT 가인터넷, 스마트폰을넘어서는 3 차디지털대전의원동력이될것으로예상되는시점에서 IoT 활성화를위해서는서비스프로토콜의표준화가더욱더중요해지고있다. 최근 IoT 관련국제표준화단체에서논의되고있는 IETF 의 CoAP 와 onem2m 의 LWM2M 은프로토콜변경없이 IoT 환경에서사물기기간통신을가능하게하여시간과비용절감그리고사용자불편을모두해결할수있을것으로예상된다. 대표적인두가지프로토콜은유럽통신표준화기관 (ETSI) 의 CoAP 플러그테스트시험 과 OMA 테스트페스트 (TestFest) 이벤트 에각각참가하여상호호환성이우수하다는결과를얻었다. 국내에서는한국전자통신연구원 (ETRI) 과한국정보통신기술협회 (TTA) 가공동으로상호운용성시험을진행하고있으며, 또한기술이전을추진하면서국내기기시장과서비스활성화에기여할것으로기대된다 [4],[5]. M2M Device/Gateway M2M Platform Application Presentation ETSI Application Presentation Session Transport Network Link Wireless Access Network IEEE BS AP ASN-GW Wired Core Network Core Network (IP network) Session Transport Network Link 3GPP IETF Physical Node BS RNC SGSN GGSN Physical < 자료 >: 오승훈, 고석갑, 손승철, 이병탁, 김영선, 이동통신기반 IoT 장치관리표준프로토콜동향, ETRI, 전자통신동향분석 30 권 1 호 ( 통권 151), Feb. 2015. ( 그림 3) 사물인터넷표준기관별표준범위 3
주간기술동향 2015. 11. 18. 본고에서는이러한 IoT 환경에서의다양한경량프로토콜의기본적인특징과 IETF 의 CoRE(Constrained RESTful Environments) WG 에서진행되고있는 CoAP(Constrained Application Protocol) 프로토콜의최근표준화동향을살펴보고자한다. II. IoT 경량프로토콜 IoT 에서사물기기간의데이터교환기술즉, 메시지프로토콜은중요한기술중의하 나로분류되고있다. 현재주요프로토콜로 MQTT, XMPP, CoAP 등이제안되고있으며, 본절에서는각프로토콜의개요및특징을간략히살펴보기로한다. 1. MQTT MQTT(Message Queue Telemetry Transport) 프로토콜은지연및손실이심한네트워크환경에서검침기, 센서등작은기기들의신뢰성있는메시지전달을위해 IBM 과시스템공급업체인유로테크에서 1999 년 Andy Stanford-Clark 와 Arlen Nipper 에의해발표된메시지프로토콜이다. 최근에는 OASIS(Organization for the Advancement of Structured Information Standards) 가 2013 년 5 월 IoT 를위한표준프로토콜로 MQTT 를선정하고발표한오픈애플리케이션프로토콜이다. MQTT 는단순한메시지포맷을바탕으로네트워크대역및배터리소모가작다는것을특징으로해서페이스북의모바일메신저프로토콜로도이용되고있다 [7]-[9]. MQTT 프로토콜은하위프로토콜스택의전송계층으로 TCP 를이용하여그위에서 < 자료 >: SlideShare, "MQTT - A practical protocol for the Internet of Things". ( 그림 4) MQTT 기본동작, Broker 와 Pub/Sub 관계 4 www.iitp.kr
동작되며, 동작시에브로커라는중계서버를기반으로사물기기들간의 Publish/Subscribe 관계모델을사용한다. 브로커에서는퍼블리시가발행한토픽에대해세션을열고서브스크라이브에게중계해주는방식이다. 이를바탕으로사물기기들사이에전달되는메시지들의손실복구기능을통해전달되는구조를가지고있다. 또한, 반드시전달되어야하는중요한메시지에대한전달보장및중복방지를위해세가지 QoS 레벨을제공하고있다. 이를통해 QoS 레벨에따라데이터를신뢰성있게전달하는메커니즘을포함하고있어중요한메시지에대한손실없는전달을보장한다 [7]-[9]. 2. XMPP XMPP(Extensible Messaging and Presence Protocol) 는 XML 에기반한메시지지향미들웨어용통신프로토콜이다. XMPP 는 1999 년 Jabber 라는오픈소스커뮤니티에서 Jabber 라는이름으로개발된이후에 2004 년 IETF 를통해표준화 (RFC 3920, RFC 3921, RFC 3922, RFC 3923) 된프로토콜이다. 현재대표적으로 Google, Yahoo, MSN 의메신저프로토콜로서사용되고있다 [7],[10]. < 자료 >: XMPP Solution Provider, <http:// www.xmpp.co.kr/> ( 그림 5) XMPP 구조 5
주간기술동향 2015. 11. 18. XMPP 는하위프로토콜스택의전송계층으로 TCP 를이용하여그위에서동작되고, 클라이언트는도메인서버에게데이터를전송하는서버클라이언트방식으로동작하기때문에서버기반으로상대기기간의인증및허가와관련한보안요소가지원되고있으며실시간메시지전달과확장성을고려하여프로토콜이설계되었다. XMPP 에서사물기기들은전자우편주소와같은형식을가진 Jabber ID 를이용하여구분되며, 도메인서버를통한서버클라이언트통신및도메인서버간통신을통해메시지전달이지원되는구조를가지고있다 [7],[10]. III. IETF CoAP 프로토콜표준화동향 인터넷표준단체인 IETF(Internet Engineering TaskForce) 에서는다양한기기가인터넷에연결될것을예상하여 IPv6, 6LowPAN 등표준활동을진행해왔으며, 최근에는 6LoWPAN, CoRE, ROLL, LWIG WG 등이저전력, 소형장치에들어가는표준을개발하고있다. 그중 CoRE(Constrained RESTful Environments) WG 에서는메모리, 에너지, 성능등에제약이있는 M2M 환경을위한웹기반프로토콜인 CoAP(Constrained Application Protocol) 이라는프로토콜의표준화를진행하고있다 [11]. 기존의사물인터넷에서사용되는 HTTP 나 MQTT 와같은통신프로토콜이외에제한적인환경에서사용할수있는 CoAP 에대한관심이늘고있다. CoAP 는 IETF 에서표준화한프로토콜로상대적으로적은전 REQ13: MIME Type Web Resources CoAP UDP IP Constrained Link REQ14: Manageability REQ10: UDP Transport Server Server REQ7: HTTP Mapping HTTP CoAP REQ6: Sub/Notify Proxy REQ4: Caching REQ11: Reliability CoAP REQ2: Constrained networks REQ5: Resource manipulation REQ12: Low latency REQ8: Resource discovery REQ3: Sleeping nodes REQ1: Limited Flash/RAM REQ9: Multicast < 자료 >: IETF 79 차회의 CoRE WG, <http://www.ietf.org/proceedings/79/slides/core-0.pdf>. ( 그림 6) IETF CoRE WG 의 CoAP 요구사항 6 www.iitp.kr
력을소모하고, 신뢰성있는통신을제공함으로써사물인터넷환경에서다양한서비스를 제공하기위한핵심프로토콜이다 [12]. 1. CoAP 프로토콜 CoAP 프로토콜은저전력, 고손실네트워크및소용 량그리고소형노드와같은데이터손실가능성이큰제 약적인환경에서사용될수있도록특화된웹전송프로 토콜이다. CoAP 는기본적으로 UDP 기반의 Request/ Response 모델로동작하며멀티캐스트를지원한다. 또한, 신뢰성있는전달을위해서재전송및타이머관 리를옵션으로포함하고있다. 보안을위해서는 UDP 와 CoAP 계층사이에 DTLS(Datagram Transport Layer Security) 계층이사용될수있다 [11]. CoAP 프로토콜의메시징모델 (messaging model) 은 UDP 기반으로메시지교환을통 해신뢰성있는메시지전송과비신뢰성메시지전송을할수있다. 이를위해 Confirmable (CON), Acknowledgement(ACK), Non-confirmable(NON), Reset(RST) 의 4 가지메시 지타입을형식으로정의하고있다. 신뢰성있는전달을위해서는 CON 메시지를전송하 며여기에포함된메시지 ID 는승인메시지에동일하게들어가게된다. 만약수신자가메 시지를처리할수없다면 ACK 대신에 RST 메시지를보낸다. 또한, 신뢰성있는전송이 요구되지않을때는 NON 메시지를전송할수있다. 메시지 ID 는메시지중복검출용으 로사용된다. 여기에서도수신자가메시지를처리할수없다면 RST 메시지로응답할수 있다 [11],[13]. Application Request/Response Messages UDP < 자료 >: "The Constrained Application Protocol (CoAP), IETF RFC 7252. ( 그림 7) CoAP 계층구조 CoAP Client Server CON [0 7d34] Client Server ACK [0 7d34] NON [0 01a0] ( 신뢰성있는메시지전송 ) ( 비신뢰성메시지전송 ) < 자료 >: "The Constrained Application Protocol(CoAP), IETF RFC 7252. ( 그림 8) CoAP 프로토콜의메시징모델 (Messaging Model) 7
주간기술동향 2015. 11. 18. < 자료 >: "The Constrained Application Protocol(CoAP), IETF RFC 7252. ( 그림 9) CoAP 프로토콜의메시지형식 CoAP 프로토콜의메시지형식은간단한바이너리포맷으로인코딩된다. 메시지는 4 바이트크기의고정헤더를포함하고 0 에서 8 바이트길이의토큰이위치한다. 그리고옵션이오게되며페이로드 (Payload) 가있는경우그다음부터데이터그램끝까지배치된다. CoAP 프로토콜의메시지옵션은 TLV 형태를띤다. 현재정의된옵션은 Content- Format, ETag, Location-Path, Location-Query, Max-Age, Proxy-Uri, Proxy-Scheme, Uri-Host, Uri-Path, Uri-Port, Uri-Query, Accept, If-Math, If-Non-Match, Size1 가있다 [11],[13]. 그이외에 CoAP 표준에서는페이로드포맷, 캐쉬, 프록시동작, CoAP URI 스킴, 서비스및리소스탐색방법, 멀티캐스트 CoAP, DTLS 를이용한보안, CoAP 과 HTTP 연계 < 자료 >: "The Constrained Application Protocol(CoAP), IETF RFC 7252. ( 그림 10) CoAP 프로토콜의옵션형식 8 www.iitp.kr
등에대해서술하고있다 [11],[13]. 2. CoAP 를위한 TCP/TLS 전송프로토콜표준화동향 IETF CoRE WG 에서 UDP 기반의 CoAP 프로토콜의표준화가완료됨에따라 IETF 87 차회의에서는 Alternative Transport 섹션을할당하여 UDP 이외의다른전송계층, 예를들면 SMS, TCP, WebSocket, ASCII 전용통신매체같은다양한전송계층위에서 CoAP 사용에관한논의를하였다. 또한, 최근 IETF CoRE WG 에서는 TCP 또는 Web Socket 기반 CoAP 메시지전달기술에대한논의가활발히진행중이다 [11],[14]. CoAP 프로토콜개발당시자원제약적노드에적용되는응용프로토콜로개발되었다. 작은데이터 / 메시지전송을가정하고있었기때문에전송프로토콜로 UDP 를선택하였다. 하지만최근 CoAP 프로토콜의엔터프라이즈인프라적용으로인해 CoAP 프로토콜의신뢰성있는메시지전달서비스의필요성이부각되고있다. 또한, UDP 사용으로인한 CoAP 프로토콜메시지의보안장비내메시지차단이종종발생하고있다. 추가적으로최근클라우드인프라를포함한 IoT 환경구축이이루어지고있다. 이런환경은 TCP 기반웹환경으로이루어지고있으며, 클라우드인프라에서 UDP 기반 CoAP 단말과통신하기위해클라우드경계부분에 TCP-to-UDP 게이트웨이를추가, 설치하는불편함이발생하고있다. 따라서이런이유로인해 TCP 기반 CoAP 프로토콜메시지전달방법이제안되었다. TCP 와 CoAP 간상호작용모델은기존 UDP 기반방식과유사하다. 하지만 TCP 의기능적특징인신뢰적전송, 단편화및재조립, 혼잡제어기능이 CoAP 프로토콜에서제공된다. TCP 기반 CoAP 프로토콜은 CoAP 메시지계층에서의 ACK 메시지전달이필요없다. 따라서메시지전달방식과상관없이 CoAP 메시지계층의 NON 방식만으로메시지전달이가능하다 [14]. Application Requests/Responses Message adapter TLS TCP CoAP(RFC7252) < 자료 >: "A TCP and TLS Transport for the Constrained Application Protocol(CoAP), IETF draft-tschofenig-core-coap-tcp-tls-05.. ( 그림 11) TLS/TCP 프로토콜기반의 CoAP 스택 9
주간기술동향 2015. 11. 18. IV. 결론 그동안사물기기간통신은제조사와서비스업체들이다양하고복잡한프로토콜을사용함으로써각각의시스템에맞는규격과프로토콜구현으로인해호환성이떨어지는비효율성을야기했었다. 다양한사물기기가서로연결되는 IoT 환경의활성화가예상되는시점에서서비스프로토콜의표준화가더욱더중요해지고있다. 최근 IoT 관련국제표준화단체에서논의되고있는 IETF 의 CoAP 와 onem2m 의 LWM2M 은프로토콜변경없이 IoT 환경에서사물기기간통신을가능하게하여시간과비용절감그리고사용자불편을모두해결할수있을것으로예상된다. 관련프로토콜에대한활발한연구개발및표준화참여그리고특허확보와함께기술이전을추진하여국내시장과서비스활성화를유도해야할것이다. < 참고문헌 > [1] 서두옥, 이동호, 웨어러블컴퓨팅시대의정보보호위협, (IITP), 주간기술동향, 1664 호, 2014. 9. 24. [2] 이유지, IoT 구현하는통신기술, 무엇이있나, 디지털데일리, 2014. 2. 9. [3] 김창욱, 사물인터넷, 전자신문 (etnews), 2014. 9. 24. [4] 이준기, IoT 구현하는통신기술, 무엇이있나, 디지털타임스, 2015. 4. 27. [5] 류영상, 사물인터넷시대의성공요건은... 표준화 선행돼야, 2015. 10.22. [6] 오승훈, 고석갑, 손승철, 이병탁, 김영선, 이동통신기반 IoT 장치관리표준프로토콜동향, 한국전자통신연구원 (ETRI), 전자통신동향분석 30 권 1 호 ( 통권 151), Feb. 2015. [7] 최성찬, 김재호, 이상신, 안일엽, M2M/IoT 통신환경에서메시지프로토콜동향, 한국통신학회, 한국통신학회동계종합학술발표회논문집, Jan. 2014. [8] 김병준, 조성현, IoT 미들웨어경량메시지프로토콜연구동향, 대한전자공학회, 대한전자공학회추계학술대회, Nov. 2014. [9] 심승현, 김학범, 사물인터넷과 MQTT 기술, 정보보호학회, 정보보호학회지제 24 권제 6 호, Dec. 2014. [10] 신수민, 김학범, 사물인터넷환경에서의센서네트워킹보안기술분석, 정보보호학회, 정보보호학회지제 24 권제 3 호, Aug. 2014. [11] 고석갑, 박일균, 손승철, 이병탁, IETF CoAP 기반센서접속프로토콜기술동향, 한국전자통신연구원 (ETRI), 전자통신동향분석, Dec. 2013. [12] 김철민, 강형우, 김지인, 고석주, 사물인터넷환경에서 CoAP 프로토콜을이용한저전력디바이스통 10 www.iitp.kr
신구현, 한국통신학회, 한국통신학회동계종합학술발표회논문집, Jan. 2015. [13] Z. Shelby, K. Hartke, C. Bormann, The Constrained Application Protocol(CoAP), IETF, RFC 7252, June 2014. [14] 윤주상, CoAP 를위한 TCP/TLS 전송프로토콜표준화동향, ( 사 ) 개방형컴퓨터통신연구회, IETF Forum Korea 인터넷표준동향소개, 2015 년 8 월 2 호, Aug. 2015. * 본내용은필자의주관적인의견이며 IITP 의공식적인입장이아님을밝힙니다. 11