Ȩ > Ç¥ÁØÈ Âü¿© > TTA°£Ç๰ > ICT Standard Weekly
[M2M] CoAP(Constrained Application Protocol) Ç¥ÁØÈ µ¿Çâ
M2M °ü·Ã Ç¥ÁØÈ°¡ °¡¼ÓÈ µÇ¾î°¡°í ÀÖ´Â °¡¿îµ¥, IETF(Internet Engineering Task Force) ³»ÀÇ CoRE(Constrained RESTful Environments) ¿öÅ·±×·ì¿¡¼ 6LoWPANÀÇ »óÀ§ ¾ÖÇø®ÄÉÀÌ¼Ç °èÃþ ÇÁ·ÎÅäÄÝ·Î 2010³âºÎÅÍ Ç¥ÁØÈ Ȱµ¿À» ½ÃÀÛÇÑ CoAP(Constrained Application Protocol)ÀÇ Ç¥ÁØÈ µ¿ÇâÀ» ¼Ò°³ÇϰíÀÚ ÇÑ´Ù. CoAP°¡ M2M°ü·Ã Ç¥ÁØ ¾ÆÅ°ÅØÃ³ Áß ¾îµð ºÎºÐ¿¡ À§Ä¡ÇÏ´Â Áö¸¦ º¸¿©ÁÖ´Â ±×¸²Àº ´ÙÀ½°ú °°´Ù.
±×¸²¿¡¼ º¸µíÀÌ ¹°¸®°èÃþ(PHY)¿Í MAC °èÃþÀº ÀúÀü·Â ¼¾¼³ëµå¸¦ À§ÇÑ IEEE 802.15.4 Ç¥ÁØÀ» ±â¹Ý Ç¥ÁØÀ¸·Î »ï°í ÀÖ°í, ³×Æ®¿öÅ© °èÃþÀÎ IPv6 ÇÁ·ÎÅäÄݰú IEEE 802.15.4 Ç¥ÁذúÀÇ ÀÎÅÍÆäÀ̽º¸¦ À§ÇÑ °èÃþ(Adaptation)À¸·Î 6LoWPAN ÇÁ·ÎÅäÄÝÀÌ À§Ä¡Çϰí ÀÖ´Ù. CoAP´Â ÀÌ·¯ÇÑ Ç¥ÁØµé »óÀ§ÀÇ Æ®·£½ºÆ÷Æ®¿Í ¾ÖÇø®ÄÉÀÌ¼Ç °èÃþÀ» À§ÇÑ ÀÀ¿ë ÇÁ·ÎÅäÄÝÀÌ´Ù.
CoRE ¿öÅ·±×·ì¿¡¼ Á¦Á¤ÇÏ·Á´Â CoAPÀÇ Ç¥ÁØÈ ¿µ¿ªÀº TCP¿Í UDP¸¦ Æ÷ÇÔÇÏ´Â Æ®·£½ºÆ÷Æ® °èÃþÀ» Æ÷ÇÔÇÑ »óÀ§ ¾ÖÇø®ÄÉÀÌ¼Ç °èÃþ¿¡¼ M2M ³ëµåµé »çÀÌ¿¡¼ ¾î¶»°Ô ¸®¼Ò½º À̺¥Æ®(¿¹: ¿Âµµ, ½Àµµ)¿¡ ´ëÇÑ ¿äûÀ» Çϰí À̺¥Æ®°¡ »ý°åÀ» °æ¿ì ¾î¶»°Ô ºñµ¿±âÀûÀ¸·Î ¸®¼Ò½º À̺¥Æ®¸¦ ³ëµå¿¡°Ô Àü¼ÛÇÒ Áö¿¡ ´ëÇÑ ¹æ¹ýÀ» REST(Representational State Transfer) ±â¹ÝÀÇ Á¢±Ù¹æ½ÄÀ¸·Î ÇÁ·ÎÅäÄÝÀ» ¼³°èÇÏ´Â ºÎºÐÀÌ´Ù.
CoAP Ç¥ÁØÈ Á¦¾È ÇöȲ ¹× Ư¡
IETF Core WGÀÇ M2M °ü·Ã ¸¶ÀϽºÅæÀ» »ìÆìº¸¸é 2010³â 12¿ù±îÁö CoAP ÇÁ·ÎÅäÄÝÀ» Á¦¾ÈÇ¥ÁØÀ¸·Î IESG¿¡ Á¦ÃâÇÏ´Â °ÍÀ» ¸ñÇ¥·Î Çϰí ÀÖÀ¸¸ç 2011³â 1¿ùºÎÅÍ Á¦¾ÈµÈ ºÎºÐ¿¡¼ ºüÁø ºÎºÐ¿¡ ´ëÇÑ Ãß°¡ÀûÀΠǥÁØÀÇ Á¦Á¤À» À§ÇÑ WGÀÇ »õ·Î¿î °á¼ºÀ» ¸ñÇ¥·Î Çϰí ÀÖ´Ù.
ÇöÀç ÁøÇà ÁßÀÎ ÁÖ¿ä CoAP Ç¥ÁØÈ Á¦¾È ÇöȲÀº ´ÙÀ½°ú °°´Ù. Sensinode¿¡¼ Á¦¾È ÁßÀÎ CoAP ÇÁ·ÎÅäÄÝ, InterDigital Communications¿¡¼ Á¦¾È ÁßÀÎ CoAP¿¡¼ÀÇ Sleep ³ëµåó¸®¿Í ¸ÖƼij½ºÆ® °í·Á ºÎºÐ, ºê·¹¸à ´ëÇп¡¼ Á¦¾È ÁßÀÎ À̺¥Æ® ¸®¼Ò½º µ¿ÀÛÀýÂ÷¿Í °¢ Çì´õ¿É¼Ç¿¡ ´ëÇÑ ºÎºÐ, ³ëŰ¾Æ¿¡¼ Á¦¾È ÁßÀÎ CoAP¿¡¼ÀÇ È¥ÀâÁ¦¾î ºÎºÐÀ¸·Î ³ª´©¾îÁø´Ù.
CoAPÀº Àû¿ë´ë»óÀº ³ëµå°¡ Àú¼º´ÉÀÇ CPU¸¦ °¡Áú »Ó¸¸ ¾Æ´Ï¶ó ÀÛÀº ¿ë·®ÀÇ ·¥ ¹× ·ÒÀ» °¡Áö´Â Á¶°ÇÀÎ Constrained ³ëµå¸¦ ´ë»óÀ¸·Î Çϰí ÀÖÀ¸¸ç À̸¦ ´ë»óÀ¸·Î REST ¾ÆÅ°ÅØÃ³¸¦ ±â¹ÝÀ¸·Î Resource Discovery, ¸ÖƼij½ºÆ® Áö¿ø, ºñµ¿±â Æ®·£Àè¼Ç ¿äû ¹× ÀÀ´ä µîÀ» Áö¿øÇϱâ À§ÇÑ ÇÁ·ÎÅäÄÝÀ» ¸»ÇÑ´Ù. ±âº»ÀûÀ¸·Î IPv6¸¦ Áö¿øÇÏ´Â 6LoWPANÀ» ÇÏÀ§ ÇÁ·ÎÅäÄÝ·Î »ý°¢Çϰí ÀÖÀ¸¹Ç·Î ÁÖ¿ä ¸ñÇ¥´Â Àü´ÞÇÏ´Â ¸Þ½ÃÁö ÀÚü¸¦ °¡´ÉÇÑ ÀÛ°Ô ÇØ¼ ¸Þ½ÃÁö Payload°¡ ´ÜÆíȵǴ Çö»óÀ» ¸·À¸¸é¼ ÇÊ¿ä·Î ÇÏ´Â À̺¥Æ® ¿äû ÀÀ´ä, Resource Discovery¸¦ °¡´ÉÇÏ°Ô ÇÏ´Â °ÍÀÌ Ç¥ÁØÀÇ ¸ñÁ¤ÀÌ´Ù. CoAPÀº ´ÙÀ½ÀÇ Æ¯Â¡À» °¡Áöµµ·Ï ¼³°èµÇ°í ÀÖ´Ù.
- M2M ¿ä±¸»çÇ×À» ¸¸Á·½ÃŰ´Â REST ±â¹ÝÀÇ Àú¼º´É ³ëµå¿ë ÀÀ¿ë°èÃþ ÇÁ·ÎÅäÄÝ
- Stateless HTTP ¸ÊÇÎ, Áï, HTTP¸¦ ÅëÇØ CoAP Åë½ÅÀ» ÇÏ´Â M2M ³ëµå±îÁöÀÇ ¿¬°áÁ¤ÀÇ ¹× À̸¦ À§ÇÑ ÇÁ·Ï½Ã
- ºñµ¿±â Æ®·£Àè¼Ç Áö¿ø
- °æ·®ÀÇ Çì´õ ¹× °£´ÜÇÑ ÆÄ½Ì
- URI(Uniform Resource Identifiers)¿Í Content-Type Áö¿ø
- Resource Discovery
- ÇÁ·Ï½Ã ³»ºÎÀÇ Ä³½¬ ±â´É
HTTP¸¦ ÀÌ¿ëÇϱâ´Â ÇÏÁö¸¸ CoAPÀÌ ±âÁ¸ÀÇ HTTP¿Í ´Ù¸¥ Á¡Àº UDP ȯ°æ ÇÏ¿¡¼ À¯´Ïij½ºÆ®¿Í ¸ÖƼij½ºÆ® ¾çÂÊÀ» Áö¿øÇØ¾ß ÇÑ´Ù´Â Á¡ÀÌ´Ù. CoAPÀ» ¼³¸íÇϱâ À§ÇÑ Ãß»óÀûÀÎ ¾ÆÅ°ÅØÃ³´Â ´ÙÀ½ ±×¸²°ú °°´Ù.
(Ãâó: IETF draft-ietf-core-coap-01)
±×¸²¿¡¼ º¸µíÀÌ CoAPÀº ±âº»ÀûÀ¸·Î UDP¸¦ ÀÌ¿ëÇϰí ÀÖ°í ±× »óÀ§¿¡ Æ®·£Àè¼ÇÀ» ºñµ¿±â³ª µ¿±âÀûÀ¸·Î ó¸®ÇÏ´Â CoAP Transactions ¿µ¿ª, ±× À§¿¡ REST µ¥ÀÌÅÍ Ã³¸®¸¦ Çϱâ À§ÇÑ CoAP REST ¿µ¿ªÀ¸·Î ³ª´©¾îÁø´Ù. Æ®·£Àè¼Ç ¸Þ½ÃÁö´Â Æ®·£Àè¼Ç º°·Î ID¸¦ µÎ¾î »õ·Î¿î Æ®·£Àè¼Ç¿¡ ´ëÇØ¼´Â Æ®·£Àè¼Ç¸¶´Ù »õ·Î¿î ID¸¦ »ý¼ºÇϰԲû Á¤ÀÇÇϰí ÀÖ´Ù. ÀÌ´Â Áߺ¹ ÆÐŶÀÇ Àü¼Û µîÀ» ¸·±â À§ÇÑ ¹æ¹ýÀÌ´Ù. ¶ÇÇÑ CoAP REST¸¦ Àû¿ëÇϱâ À§ÇÑ ¹æ¹ýÀ¸·Î HTTP ¹æ½ÄÀÎ GET, POST, PUT, DELETEÀÇ ±âº»ÀûÀÎ ¹æ½ÄÀ» »ç¿ëÇÑ´Ù.
CoAP REST ¿µ¿ª¿¡¼ HTTPÀÇ ¿äû ¹× ÀÀ´ä¿¡ »ç¿ëµÇ´Â ¸®¼Ò½º(¿Âµµ, ½Àµµ µî)¿¡ ´ëÇÑ Ç¥ÇöÀº URI¸¦ »ç¿ëÇÏ°Ô µÈ´Ù. CoAPÀÇ °æ¿ì Àú¼º´ÉÀÇ CPU¿Í ÀÛÀº ¸Þ¸ð¸®¸¦ »ç¿ëÇÏ´Â ³ëµå(Constrained Node)¸¦ ´ë»óÀ¸·Î ÇϹǷΠÀüü URI¸¦ µ¥ÀÌÅÍ·Î º¸³¾ °æ¿ì µ¥ÀÌÅÍ »çÀÌÁî°¡ Ä¿Áö¹Ç·Î ¾à½Ä URI¸¦ ³»ºÎÀûÀ¸·Î »ç¿ëÇÑ´Ù.
ÇÑÆí, CoAPÀº °æ¿ì¿¡ µû¶ó ³ëµå°¡ Ŭ¶óÀ̾ðÆ®, ¼¹ö, ÇÁ·Ï½ÃÀÇ ¿ªÇÒÀ» ÇÒ ¼ö ÀÖ´Ù. CoAP¿¡¼ ÇÁ·Ï½ÃÀÇ Á¤ÀÇ´Â ³ëµå°¡ µ¥ÀÌÅÍ ¿äûÀ» ÇÒ ¶§ ¿ø·¡ ÀÀ´äÀ» ÇØ¾ß ÇÒ ³ëµå¸¦ ´ë½ÅÇÏ¿© ÀÌÀü¿¡ ij½¬ µÈ ³»¿ëÀ» Åä´ë·Î ´ë½Å ÀÀ´äÇÒ ¼ö ÀÖ´Â ³ëµå¸¦ À̾߱âÇϸç, ÇÁ·Ï½Ã°¡ CoAP¿¡¼ ÇÊ¿äÇÑ ÀÌÀ¯´Â ¸ðµç M2M ³ëµåµéÀº ÀÓÀÇÀÇ ½Ã°£¿¡ Sleep »óÅÂ(Áï, ÀÀ´äÀ» ÁÙ ¼ö ¾ø´Â ÈÞ¸é»óÅÂ)·Î µé¾î°¥ ¼ö°¡ ÀÖ°í ÀÌ °æ¿ì Sleep ³ëµå¿¡ ´ëÇÑ ¸®¼Ò½º À̺¥Æ®ÀÇ ¿äûÀÌ ÀÖÀ» °æ¿ì ÇÁ·Ï½Ã°¡ ´ë½ÅÇØ¼ ij½¬µÈ ÀÀ´äÀ» ÇØÁà¾ß Çϱ⠶§¹®ÀÌ´Ù. ¶ÇÇÑ ÇÁ·Ï½Ã´Â ±âÁ¸ÀÇ Åë½Å¸Á¿¡ ÀÖ´Â HTTP ¿µ¿ªÀÇ ³ëµåµé(Non-Constrained Node)°ú CoAP ¿µ¿ª¿¡ ÀÖ´Â ³ëµå(Constrained Node)µé °£¿¡ ÇÁ·ÎÅäÄÝ º¯È¯ÀÇ ¿ªÇÒÀ» ÇÒ ¼ö ÀÖ´Ù.
¸¶Áö¸·À¸·Î CoAPÀÇ Æ¯Â¡ÀÎ UDP ±â¹ÝÀÇ ¸ÖƼij½ºÆ® Áö¿øÀ» À§Çؼ ÇÁ·Ï½Ã´Â UDP ±â¹ÝÀÇ CoAP ¸ÖƼij½ºÆ® ÇÁ·ÎÅäÄÝÀ» TCP ±â¹ÝÀÇ HTTP À¯´Ïij½ºÆ® ÇÁ·ÎÅäÄÝ·Î º¯È¯À» ÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» °¡Áöµµ·Ï Çϰí ÀÖ´Ù. À̸¦ ÅëÇØ Åë½Å¸Á(HTTP, CoAP) °£ÀÇ ±¸ºÐ ¾øÀÌ À̺¥Æ® µ¥ÀÌÅ͸¦ ÁÖ°í ¹Þ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. ´ÙÀ½ ±×¸²Àº ÀÌ¿¡ ´ëÇÑ ¿¹¸¦ º¸¿©ÁØ´Ù.
(Ãâó: IETF draft-ietf-core-coap-01)
½Ã»çÁ¡
M2M °ü·Ã Ç¥ÁØÀº ETSI, 3GPP, IETF, IEEE µî ´Ù¾çÇÑ Ç¥ÁØÈ ´Üü¿¡¼ °¢ÀÚ°¡ Á¤ÀÇÇÑ ¿µ¿ª ¾È¿¡¼ ÁøÇà Áß¿¡ ÀÖ´Ù. ETSI°¡ M2M ¼Ö·ç¼Ç ºÎºÐ, 3GPP°¡ À̵¿Åë½Å¸Á ºÎºÐÀ» ´ã´çÇϰí ÀÖ´Ù¸é ÀÌ Áß IETF¿¡¼ ÁøÇà ÁßÀÎ CoAP Ç¥ÁØÀº 6LoWPANÀÇ ÀÀ¿ë°èÃþ¿¡¼ ¾î¶»°Ô M2MÀ» À§ÇÑ Åë½ÅÀ» ÇÒ ¼ö ÀÖÀ» Áö¿¡ ´ëÇÑ »õ·Î¿î °í¹ÎÀ̶ó°í º¼ ¼ö ÀÖ´Ù. CoRE WGÀÇ Ç¥ÁØÈ Ȱµ¿ÀÌ 2010³âºÎÅÍ ½ÃÀÛÇÑ Á¡À» °¨¾ÈÇϸé ÇöÀç ±¹³»¿¡¼ »ç¹°Áö´ÉÅë½Å Æ÷·³ µî M2M °ü·Ã Ç¥ÁØ¿¡ °ü½ÉÀ» °¡Áö°í Ç¥ÁØÈ Ȱµ¿À» ÁøÇàÇϰí ÀÖ´Â WG ¹× ±¹³» ¿¬±¸±â°üÀÇ Ç¥ÁØÈ Âü¿©°¡ ÇÊ¿äÇϸç À̸¦ ÅëÇØ Ç¥ÁØÈ ÁÖµµµµ °¡´ÉÇϸ®¶ó »ý°¢µÈ´Ù. ÇöÀç´Â Àû¿ë¿µ¿ªÀÌ ¼¾¼ ³×Æ®¿öÅ©¿¡ ÇÑÁ¤µÇ¾î º¸ÀÌÁö¸¸ ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·ÎÅäÄÝÀÇ Æ¯¼º»ó ´Ù¸¥ ³×Æ®¿öÅ©ÀÇ ÀÀ¿ë°èÃþÀ¸·Îµµ »ç¿ëµÉ ¼ö ÀÖ´Â ¸¸Å ¾ÕÀ¸·Î °ü·Ã Ç¥ÁØÀÇ Áö¼ÓÀûÀÎ ¸ð´ÏÅ͸µÀÌ ¿ä±¸µÈ´Ù.