|
admin
|
2009-02-03 12:30:59, Á¶È¸ : 1,547, Ãßõ : 105 |

http://mnet.skku.ac.kr/data/2007data/JCCI2007/papers/pdf/III-D-1.pdf
¿ä ¾à
Session Initiation Protocol (SIP) Àº µÎ °³ÀÇ ¿£µå Æ÷ÀÎÆ® °£ÀÇ Åë½Å ¼¼¼ÇÀ» ½ÃÀÛÇÏ´Â µ¥ ÇÊ¿äÇÑ
È®Àå °¡´ÉÇÏ°í °¡º¿î ¿äû/ÀÀ´ä ÇÁ·ÎÅäÄݷμ VoIP ¿Í °°Àº ¼ºñ½º¿¡ ¸¹ÀÌ ÀÌ¿ëµÇ°í ÀÖ´Ù. ±×
·¯³ª »ç¼³ ¸Á ȯ°æ¿¡¼ SIP À» Áö¿øÇϱâ À§ÇÑ NAT (Network Address Translator) Åë°ú ¹®Á¦´Â ²÷
ÀÓ¾ø´Â ³íÀïÀÌ µÇ¾î¿ÔÀ¸¸ç ÀÌ´Â NAT ÀÇ ÇüÅ¿¡ ÀÇÁ¸ÇÏ¿´´Ù. ÀÌ¿¡ º» ³í¹®Àº ƯÈ÷ Symmetric
NAT ȯ°æ¿¡¼ SIP ÀÇ NAT Åë°ú ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇÑ È¨ SIP ÇÁ·Ï½Ã¿Í UDP Relay ¸ðµâÀ» Á¦
¾ÈÇÏ°í ±¸ÇöÇÏ¿´´Ù. À̸¦ À§ÇØ ¿ì¸®´Â OSGi ±â¹Ý Ȩ°ÔÀÌÆ®¿þÀÌ À§¿¡ SIP ¶óÀ̺귯¸® ¹øµéÀ»
Á¤ÀÇÇÏ°í ±¸ÇöÇÏ¿´À¸¸ç SIP ¼¹ö¸ðµâ°ú UDP relay ¸ðµâÀ» OSGi ¹øµé ÇüÅ·Π±¸ÇöÇÏ¿´´Ù. º» ³í
¹®¿¡¼ Á¦¾ÈÇÑ ¹æ¹ýÀº NAT ÀÇ ÇüÅ¿¡ °ü°è¾øÀÌ RTP ¹Ìµð¾î ½ºÆ®¸²À» Àü¼ÛÇϵµ·Ï ÇÒ »Ó¸¸ ¾Æ
´Ï¶ó SIP »ç¿ëÀÚ ¿¡ÀÌÀüÆ®¿¡°Ô ¾î¶² Ãß°¡ÀûÀÎ ¼³Á¤µµ ¿ä±¸ÇÏÁö ¾Ê´Â´Ù.
1. ¼·Ð
ÇâÈÄ ³×Æ®¿öÅ©´Â ±Þ¼ÓÇÑ ÀÎÅͳݰú Á¤º¸°¡ÀüÀÇ ¹ß´Þ,
±×¸®°í °í°´ÀÇ Æí¸®¿¡ ´ëÇÑ ¿å±¸·Î ÀÎÇØ Ȩ
³×Æ®¿öÅ© ȯ°æÀ¸·Î ÁøÈÇÒ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ È¨
³×Æ®¿öÅ© ȯ°æ¿¡¼´Â ´ì³» ´Ü¸»±â¿¡ ¸ðµÎ °øÀÎ
IP(Internet Protocol)¸¦ ºÎ¿©Çϱ⺸´Ù´Â °¢ °¡Á¤ º°·Î
NAT ¸¦ ÀÌ¿ëÇÑ »ç¼³ ¸ÁÀÌ ±¸ÃàµÉ °ÍÀ¸·Î Àü¸ÁµÈ´Ù.
ÇÑÆí ÇöÀç ÀÎÅͳÝÀº À¥ Áß½ÉÀÇ µ¥ÀÌÅÍ Æ®·¡ÇÈ
À§ÁÖ¿¡¼ Á¡Â÷ ¿ø°Ý ȸÀÇ, VoIP(voice over IP) µî°ú
°°Àº ½Ç½Ã°£ Æ®·¡ÇÈÀ» ÇÊ¿ä·Î ÇÏ´Â ¼ºñ½º·Î
ÁøÈÇϰí ÀÖ´Ù. µû¶ó¼ ÇâÈÄ ³×Æ®¿öÅ©´Â ¼ºñ½º¿¡
µû¶ó µ¥ÀÌÅÍÀÇ Á¤È®ÇÑ Àü¼Ûº¸´Ù´Â µµ´Þ ½Ã°£ÀÌ ´õ
Áß¿äÇÑ UDP(User Datagram Protocol)¸¦ ±â¹ÝÀ¸·Î
ÇÏ´Â ¼ºñ½ºµµ Á¦°øÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ÇöÀç
ÀÌ·¯ÇÑ ½Ç½Ã°£ Àü¼Û ¼ºñ½º¸¦ À§ÇÑ È£ ¼³Á¤
ÇÁ·ÎÅäÄݷδ °¡Àå ¸¹ÀÌ ¾²ÀÌ´Â ITU-T ¿¡¼ Á¦½ÃÇÑ
H.323 °ú IETF(Internet Engineering Task Force)ÀÇ SIP
µîÀÌ ÀÖ´Ù. ÇöÀç ´ë´Ù¼öÀÇ Àåºñ ¾÷üµé°ú ¼ºñ½º
¾÷üµéÀÌ H.323 ÇÁ·ÎÅäÄÝÀ» Áö¿øÇϰí ÀÖÀ¸³ª ¸¹Àº
±â´É°ú È®À强À» °¡Áø IETF ÀÇ SIP ÇÁ·ÎÅäÄÝÀÌ
ÇâÈÄ º¸Æí鵃 °ÍÀ¸·Î Àü¸ÁµÈ´Ù. ÀϹÝÀûÀ¸·Î SIP ´Â
IETF RFC3261 ¹®¼¿¡ Ç¥ÁØÀÌ Á¤ÀǵǾî ÀÖÀ¸¸ç
¿µ»ó, À½¼º µîÀÇ ¸ÖƼ¹Ìµð¾î Åë½ÅÀ» À§ÇÑ ¼¼¼ÇÀ̳ª
È£¸¦ ¼³Á¤, ¼öÁ¤, Á¾·áÇϱâ À§ÇÑ ¾ÖÇø®ÄÉÀ̼Ç
°èÃþÀÇ Á¦¾î ÇÁ·ÎÅäÄÝÀÌ´Ù.[1] SIP ´Â Ŭ¶óÀ̾ðÆ®-
¼¹ö ±â¹Ý ÇÁ·ÎÅäÄݷμ È£ ½ÃµµÀÚ°¡ »ó´ëÆíÀ»
¼¼¼Ç¿¡ Âü¼®½Ã۱â À§ÇÏ¿© È£ÃâÇÏ´Â ÇüÅ·Î
Àü°³µÇ´Â ÇÁ·ÎÅäÄÝÀÌ´Ù. ¶ÇÇÑ ¸ÖƼ¹Ìµð¾î ¼ºñ½º
Åë½ÅÀ» À§ÇÏ¿© ¼¼¼Ç¿¡ Ç¥ÇöµÇ¾î¾ß ÇÒ ¼¼¼Ç
Á¤º¸µéÀº SDP(Session Description Protocol)¸¦
ÀÌ¿ëÇÏ¿© ±â¼úÇÑ´Ù. ÇÏÁö¸¸, NAT ¸¦ ÀÌ¿ëÇÏ¿© »ç¼³
¸ÁÀ» °®´Â Ȩ ³×Æ®¿öÅ© ȯ°æ¿¡¼´Â ÀÌ·¯ÇÑ
SIP ¼ºñ½ºÀÇ Á¦°ø¿¡ Á¦¾àÀÌ ÀÖ´Ù. Áï, »ç¼³ ¸Á¿¡
À§Ä¡ÇÑ UAC(User Agent Client)¿Í UAS(User Agent
Server)°£ÀÇ SIP ¸¦ ÀÌ¿ëÇÑ RTP ¹Ìµð¾î
½ºÆ®¸²(stream)ÀÇ Åë½Å¿¡´Â NAT ÀÇ À¯Çü¿¡ µû¶ó
ó¸® ¿©ºÎ°¡ ´Þ¶óÁö´Âµ¥, Full Cone NAT ¶ó¸é
°øÀθÁ¿¡ Á¸Àç½ÃŲ STUN(Simple Traversal of UDP
through NAT)¸¦ ±¸¼ºÇϸé 󸮰¡ °¡´ÉÇϰí
Symmetric NAT ¶ó¸é STUN À» Á¸Àç½ÃÄѵµ
ºÒ°¡´ÉÇÏ´Ù. ¸¸¾à Ȩ ³×Æ®¿öÅ©ÀÇ NAT °¡ Symmetric
NAT ¶ó¸é °øÀÎ ¸Á¿¡ TURN(Traversal Using Relay
NAT)¼¹ö¸¦ ±¸¼ºÇÏ¿© RTP 󸮰¡ °¡´ÉÇϵµ·Ï ÇÒ
¼ö ÀÖ´Ù. ÇÏÁö¸¸ À̶§ TURN Àº ¸¹Àº ¼öÀÇ
Ŭ¶óÀÌ¾ðÆ®·ÎºÎÅÍÀÇ ¹Ìµð¾î ¸±·¹ÀÌ ¿äûÀ¸·Î ÀÎÇÑ
´ë¿ªÆø ³¶ºñ¿Í Áö¿¬ µîÀÇ ¹®Á¦¸¦ °®°Ô µÈ´Ù.
ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ¿ì¸®´Â Ȩ SIP
ÇÁ·Ï½Ã¿Í UDP Relay ¹øµéÀ» ¼³°èÇÏ°í ±¸ÇöÇÏ¿´´Ù.
ÀÌ ¹øµéµéÀº Ȩ °ÔÀÌÆ®¿þÀÌÀÇ OSGi ÇÁ·¹ÀÓ¿öÅ©
À§¿¡ žÀçµÇ¾î »óÈ£ ÀÛ¿ëÇÔÀ¸·Î½á ÇâÈÄ °¡Àå
º¸ÆíÈ µÉ °ÍÀ¸·Î º¸ÀÌ´Â symmetric NAT
ȯ°æ¿¡¼µµ ¼º°øÀûÀ¸·Î ½Ç½Ã°£ ¹Ìµð¾î ½ºÆ®¸²À»
ÁÖ°í ¹ÞÀ» ¼ö ÀÖµµ·Ï µµ¿ÍÁØ´Ù.
2. SIP ÀÇ NAT Åë°ú ¹®Á¦
NAT ´Â »ç¼³ IP ÁÖ¼Ò¿Í °øÀÎ IP ÁÖ¼Ò¸¦ º¯È¯ ÇØÁÖ
´Â ÀåÄ¡·Î¼ »ç¼³¸Á¿¡ Á¸ÀçÇÏ´Â ´Ù¼öÀÇ ´Ü¸»ÀÌ ÇÏ
³ªÀÇ °øÀÎ IP ¸¦ °øÀ¯ÇÔÀ¸·Î½á °øÀÎ IP ÁÖ¼Ò¸¦ Àý¾à
ÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ÀÌ·¯ÇÑ NAT ´Â Å©°Ô full cone
NAT, restricted cone NAT, port restricted cone NAT,
symmetric NAT ·Î ºÐ·ùµÇ´Âµ¥, SIP ¼¼¼ÇÀÇ °üÁ¡¿¡¼
º¼ ¶§ È£ ¼³Á¤À» À§ÇÑ ½Ã±×³Î¸µ°ú ±× ÈÄÀÇ ¹Ìµð¾î
Àü¼ÛÀÌ ¸ðµÎ NAT ¸¦ Åë°úÇÒ ¼ö ÀÖ´ÂÁö ¿©ºÎ´Â
NAT ÀÇ ÇüÅ¿¡ µû¶ó ´Þ¶óÁø´Ù.[2] Áö±Ý±îÁö ÀÌ·¯ÇÑ
SIP ÀÇ NAT Åë°ú ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇÑ ¸î °¡Áö
¹æ¹ýµéÀÌ Á¸ÀçÇÑ´Ù.[2] ÀÌ Àå¿¡¼ ¿ì¸®´Â ÀÌ ¹®Á¦¸¦
ÇØ°áÇϱâ À§ÇÑ ±âÁ¸ÀÇ ÁÖ¿ä ¹æ¹ýÀ» ¼Ò°³ÇÏ°í ±× ¹æ
¹ý ÁßÀÇ Çϳª¸¦ OSGi ±â¹ÝÀ¸·Î ±¸ÇöÇßÀ½À» ´ÙÀ½
Àå¿¡¼ º¸ÀÏ °ÍÀÌ´Ù.
2.1. UpnP
UPnP ´Â Microsoft »ç¿¡ ÀÇÇØ Á¦Ã¢µÇ¾î °¡Á¤³»ÀÇ
PC ³ª ÁÖº¯±â±â, AV ±â±â µîÀ» ³×Æ®¿öÅ©¸¦ ÅëÇØ¼
Á¢¼ÓÇØ, º¹ÀâÇÑ Á¶ÀÛÀ̳ª ¼³Á¤ ÀÛ¾÷À» ¼ö¹ÝÇÏ´Â ÀÏ
¾øÀÌ ±â´ÉÇÏ´Â °ÍÀ» ¸ñÇ¥·Î Çϰí ÀÖ´Ù. UPnP ´Â Ŭ
¶óÀÌ¾ðÆ® ÀÀ¿ëÇÁ·Î±×·¥À¸·Î ÇÏ¿©±Ý NAT ¿Í ¹æÈº®
°°Àº ³×Æ®¿öÅ© ±¸¼º¼ººÐÀ» ã¾Æ¼ ÀÚµ¿À¸·Î ±¸¼ºÇÏ
µµ·Ï Çã¶ôÇÑ´Ù. À̸¦ À§Çؼ´Â °¢°¢ÀÇ ÀåÄ¡°¡ UPnP
¼ÒÇÁÆ®¿þ¾î¸¦ žÀçÇϰí ÀÖ¾î¾ß ÇÑ´Ù. ¸¹Àº ¼Ò±Ô¸ð
NAT ÆÇ¸Å¾÷üµéÀÌ SIP ÀÀ¿ëÀ» À§ÇØ UPnP ±â´ÉÀ»
Áö¿øÇϴµ¥ Çå½ÅÇϰí ÀÖÁö¸¸ ¾ÆÁ÷ À¯¿ëÇÑ UPnP Ŭ
¶óÀÌ¾ðÆ®´Â °ÅÀÇ ¾ø´Â ½ÇÁ¤ÀÌ´Ù. UPnP ´Â Ŭ¶óÀ̾ð
Æ® ÇÁ·Î±×·¥ÀÇ µ¿ÀûÀÎ Á¦¾î ÇÏ¿¡ ¿ÜºÎ °øÀθÁÀ¸·Î
¿¬°áÇϱâ À§ÇØ NAT ÀÇ opening pinhole ¿¡¸¸ ÀÇÁ¸ÇÏ
°í Àֱ⠶§¹®¿¡ º¸¾È¿¡ Ãë¾àÇÑ ´ÜÁ¡ÀÌ ÀÖ´Ù. µû¶ó
¼ ÀÌ ¹æ¹ýÀº ¼Ò±Ô¸ð ÀÀ¿ëÀ¸·Î ±× ¹üÀ§°¡ Á¦ÇѵÉ
°ÍÀ¸·Î º¸ÀδÙ.
2.2. STUN (Simple Traversal of UDP through
NAT)
STUN Àº STUN ¼¹ö¶ó ºÒ¸®´Â NAT probe ¸¦ »ç¿ë
ÇÑ ¹æ¹ýÀÌ´Ù. ¼¼¼ÇÀ» È®¸³Çϱâ À§ÇØ, STUN ±â´ÉÀ»
žÀçÇÑ Å¬¶óÀÌ¾ðÆ®´Â ¿ÜºÎÀÇ STUN ¼¹ö¿¡°Ô ¹Ìµð
¾î ½ºÆ®¸²À» ¼ö½Å ÇÒ Æ÷Æ®¸¦ °áÁ¤Çϱâ À§ÇØ query
¸Þ½ÃÁö¸¦ º¸³½´Ù. STUN ¼¹ö´Â ÀÌ ¸Þ½ÃÁö¸¦ Àаí
¸Þ½ÃÁö¸¦ º¸³¾ ¶§ ¾î´À °øÀÎ IP ÁÖ¼Ò¿Í Æ÷Æ®°¡ NAT
¿¡ ÀÇÇØ »ç¿ëµÇ¾ú´ÂÁö¸¦ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¾Ë·ÁÁÙ »Ó
¸¸ ¾Æ´Ï¶ó NAT ÀÇ Çüŵµ ¾Ë·ÁÁØ´Ù. ÀÌ·¸°Ô STUN
¼¹ö¿¡ ÀÇÇØ Á¦°ø¹ÞÀº °øÀÎ IP ÁÖ¼Ò¿Í Æ÷Æ®´Â È£ ¼³
Á¤´Ü°è¿¡¼ »ç¿ëµÈ´Ù. ±×·¯³ª STUN ¼¹ö´Â ½Ã±×³Î
¸µ°ú ½ÇÁ¦ ¹Ìµð¾î ½ºÆ®¸²ÀÇ Àü¼Û °æ·Î¿¡ Á¸ÀçÇÏÁö
¸øÇÑ´Ù. µû¶ó¼ ÀÌ ¹æ¹ýÀº Ãâ¹ßÁö ÁÖ¼Ò¿Í Æ÷Æ®»Ó¸¸
¾Æ´Ï¶ó ¸ñÀûÁö ÁÖ¼Ò¿Í Æ÷Æ®¿¡ µû¶ó ÁÖ¼Ò ¸ÅÇÎÀ» Çü
¼ºÇÏ´Â symmetric NAT ȯ°æ¿¡¼´Â µ¿ÀÛÇÏÁö ¸øÇÑ´Ù.
´Ù½Ã ¸»ÇØ ¸ñÀûÁö SIP Ŭ¶óÀ̾ðÆ®ÀÇ ÁÖ¼Ò´Â STUN
¼¹öÀÇ ÁÖ¼Ò¿Í´Â ´Ù¸£±â ¶§¹®¿¡ NAT ´Â SIP Ŭ¶ó
ÀÌ¾ðÆ®¸¦ À§ÇØ »õ·Î¿î ¸ÅÇÎÀ» Çü¼ºÇÒ °ÍÀ̰í À̰Í
Àº ´Ù½Ã È£ ¼³Á¤ ´Ü°è¿¡ Æ÷ÇÔµÈ Á¤º¸´Â Àǹ̰¡ ¾ø
¾îÁö°Ô µÈ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. µû¶ó¼ È£ È®¸³ ½Ã
µµ´Â ½ÇÆÐ°¡ µÈ´Ù. ÀÌ ¹æ¹ýÀÇ ´ÜÁ¡Àº SIP Ŭ¶óÀ̾ð
Æ®¿¡°Ô STUN ±â´ÉÀ» Áö¿øÇÒ ¼ö ÀÖµµ·Ï Ãß°¡ÀûÀÎ
±â´ÉÀ» ¿ä±¸ÇÑ´Ù´Â Á¡ÀÌ´Ù. »Ó¸¸ ¾Æ´Ï¶ó ÀÌ ¹æ½ÄÀÌ
µ¿ÀÛÇÏ´Â NAT ´Â Æ÷Æ® ½ºÄµ °ø°Ý¿¡ Ãë¾àÇÏ¿© º¸¾È
¿¡ ´ëÇÑ ¿°·Á¸¦ ¾ß±âÇÑ´Ù.[3]
2.3. TURN (Traversal Using Relay NAT)
TURN Àº symmetric NAT ȯ°æ¿¡¼ ¹Ìµð¾î Åë°ú ¹«
Á¦¸¦ ÇØ°áÇϱâ À§ÇØ IETF ¿¡ ÀÇÇØ Á¦¾ÈµÇ¾ú´Ù.[4]
STUN ¹æ½Ä°ú ´Þ¸® TURN Àº TURN ¼¹ö¶ó ºÒ¸®´Â
NAT probe ¸¦ ½Ã±×³Î¸µ°ú ¹Ìµð¾î ½ºÆ®¸²ÀÇ Àü¼Û °æ
·Î »ó¿¡ ¹èÄ¡ÇÑ´Ù. TURN ±â´ÉÀ» °®Ãá SIP Ŭ¶óÀ̾ð
Æ®´Â °øÀÎ ¸Á¿¡ À§Ä¡ÇÑ TURN ¼¹ö¿¡°Ô query ¸Þ½Ã
Áö¸¦ º¸³½´Ù. ±×·¯¸é TURN ¼¹ö´Â ±× ¸Þ½ÃÁö¸¦ À§
ÇØ NAT ¿¡ ÀÇÇØ »ç¿ëµÈ °øÀÎ IP ÁÖ¼Ò¿Í Æ÷Æ® Á¤º¸
¸¦ °¡Áö°í SIP Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ÀÀ´äÇÑ´Ù. ÀÌ Á¤º¸´Â
È£ ¼³Á¤ ¹× ½ÇÁ¦ ¹Ìµð¾î ½ºÆ®¸²ÀÇ Àü¼Û¿¡ À¯¿ëÇÏ´Ù.
¿Ö³ÄÇϸé TURN ¼¹ö°¡ ½Ã±×³Î¸µ°ú ¹Ìµð¾î Àü¼Û °æ
·Î»ó¿¡ °°ÀÌ À§Ä¡ÇØ Àֱ⠴빮ÀÌ´Ù. ±×·¯³ª ÀÌ ¹æ
¹ýÀº SIP Ŭ¶óÀ̾ðÆ®ÀÇ ¼ö°¡ ¸¹¾ÆÁö¸é TURN ¼¹ö
°¡ ¸¹Àº ºÎÇϸ¦ ¹Þ°Ô µÇ°í SIP Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÇÇÑ
¹Ìµð¾î Áß°³ ¿äûÀ¸·Î ÀÎÇØ Àü¼Û Áö¿¬À» ¾ß±âÇÒ ¼ö
ÀÖ´Â ´ÜÁ¡ÀÌ ÀÖ´Ù.
2.4. Media Relay
ÀÌ ¹æ¹ýÀº ¹Ìµð¾î ÆÐŶÀ» Áß°³ÇÑ´Ù´Â °üÁ¡¿¡¼
TURN °ú À¯»çÇÑ ¹æ¹ýÀÌ´Ù. ±×·¯³ª TURN °ú´Â ´Þ¸®,
media relay ´Â SIP ¸Þ½ÃÁö¿¡ ´ëÇÑ Á¢±ÙÀ» °¡Áø´Ù. Àü
ÇüÀûÀ¸·Î SIP ¼¼¼Ç °æ·Î¿¡´Â NAT proxy ¶ó ºÒ¸®´Â
¼¹ö°¡ Á¸ÀçÇϴµ¥, ÀÌ´Â NAT Åë°ú¸¦ À§ÇØ SDP ¸Þ
½ÃÁö¸¦ ¼öÁ¤ÇÑ´Ù. »Ó¸¸ ¾Æ´Ï¶ó ±×°ÍÀº SDP ¸Þ½ÃÁö
¸¦ º¯°æÇÔÀ¸·Î½á µÎ °³ÀÇ SIP Ŭ¶óÀÌ¾ðÆ®°£¿¡ Á÷Á¢
¹Ìµð¾î ½ºÆ®¸²À» Àü¼ÛÇÏ´Â ´ë½Å¿¡ ƯÁ¤ Æ÷Æ®¸¦ Åë
ÇØ NAT ÇÁ·Ï½Ã¿¡ ¹Ìµð¾î ÆÐŶÀ» º¸³»µµ·Ï Áö½ÃÇÑ |
|
|