| »õÇØ º¹ ¸¹ÀÌ ¹ÞÀ¸¼¼¿ä. ±×³ªÀú³ª ¾ÖÇÃÀº ½Å³â ù³¯ºÎÅÍ Å×·¯ µé¾î°©´Ï´Ù... À۳⿡ ÀÌ¹Ì ¿¹°íÇÑ Å×·¯Áö¸¸¿ä... ¹¹³Ä¸é... "´Ï³× ¾ÛÀÌ IPv6 Áö¿ø ¾ÈÇÏ¸é ¸®Á§µÉ°ÅÀÓ ¤»¤»"ÀÔ´Ï´Ù.
°ÅµÎÀý¹ÌÇϰí, ¸®Á§ ¾È´çÇÏ·Á¸é ÀÌ·¸°Ô ÇØ¾ß ÇÕ´Ï´Ù.
1. ³×Æ®¿öÅ· ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÒ °Í 2. IPv4 Àü¿ë API¸¦ ¾²Áö ¸» °Í 3. ÇϵåÄÚµù ÁÖ¼Ò¸¦ ¾²Áö ¸» °Í
°¢ ¼³¸íÀ» µé¾î°¡ º¸°Ú½À´Ï´Ù.
----------------
1. ³×Æ®¿öÅ· ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÒ °Í
iOS SDK ÀÚü¿¡ ÀÖ´Â, ¼ÒÄÏ À´Ü¿¡ ±¸ÇöµÇ¾î ÀÖ´Â ³×Æ®¿÷ ÇÁ·¹ÀÓ¿öÅ©¶ó´øÁö, ȤÀº Á¦3ÀÇ ³×Æ®¿öÅ© ÇÁ·¹ÀÓ¿öÅ©¸¦ ¾²´Â °ÍÀ» ±ÇÀåÇÑ´Ù´Â ¶æÀÔ´Ï´Ù. ³×Æ®¿÷ ÇÁ·¹ÀÓ¿÷À» ¾²½Å´Ù¸é À§ 2´Â À¢¸¸ÇÏ¸é °í·Á ¾ÈÇϼŵµ µÉ °ÍÀÔ´Ï´Ù. ¸¸¾à ½áµåÆÄƼ ³×Æ®¿÷ ÇÁ·¹ÀÓ¿÷À» ¾²½Ã°í ÀÖÀ¸½Ã¸é, ÇØ´ç ÇÁ·¹ÀÓ¿÷ °³¹ßÀÚ¿¡°Ô ÀÌ Áú¹®À» ²À ÇÏ¼Å¾ß ÇϰڽÀ´Ï´Ù. "IPv6 Áö¿øÇϳª¿ä?"
³×Æ®¿÷ ÇÁ·¹ÀÓ¿÷ÀÇ ÀÏÁ¾ÀÎ ÇÁ¶ó¿ìµå³ÝÀº IPv6¿¡ ´ëÀÀµÇ¾î ÀÖ½À´Ï´Ù. 2015³â 12¿ù ¾÷±×·¹ÀÌµå ¸±¸®Áî¿¡¼ ´ëÀÀÇß½À´Ï´Ù. ÇÁ¶ó¿ìµå³ÝÀ» ¾²½Ã´Â ºÐÀº IPv6 Áö¿øÀ» ¿øÇϽøé 2015³â 12¿ù ¾÷±×·¹À̵å ȤÀº ÀÌÈÄ ¸±¸®Á Àû¿ëÇÏ¼Å¾ß ÇÕ´Ï´Ù.
----------------
2. IPv4 Àü¿ë API¸¦ ¾²Áö ¸» °Í
Á÷Á¢ ¼ÒÄÏ ÇÁ·Î±×·¡¹ÖÀ» ÇϽŴٸé, IPv4 Àü¿ë API¸¦ ¾²½Ã¸é ¾ÈµË´Ï´Ù. °¡·É ÀÌ·± ÇÔ¼öµéÀ» ¾²½Ã¸é ¾ÈµË´Ï´Ù. (ÀÌ·± ÇÔ¼öµéÀ» ¾²´Â °Í ÀÚü°¡ ¾ÖÇÿ¡¼ ¸®Á§µÇ´ÂÁö´Â È®ÀεÇÁö´Â ¾Ê¾Ò½À´Ï´Ù¸¸, ¾Æ¹«Æ° ÇÁ¶ó¿ìµå³Ý¿¡¼´Â À̵é ÇÔ¼öµéÀ» ÀüÇô ¾²Áö ¾Ê½À´Ï´Ù.)
inet_addr() inet_aton() inet_lnaof() inet_makeaddr() inet_netof() inet_network() inet_ntoa() inet_ntoa_r() bindresvport() getipv4sourcefilter() setipv4sourcefilter()
IPv6¿¡¼ Àß ÀÛµ¿ÇÏ´ÂÁö Å×½ºÆ®ÇÏ·Á¸é, IPv6 ÁÖ¼Ò¸¸ ÀÖ´Â ³×Æ®¿öÅ© ȯ°æÀ» ¸¸µé¾î¾ß ÇÕ´Ï´Ù. ¿©·¯°¡Áö ¹æ¹ýÀÌ Àִµ¥¿ä, ÀúÈñÀÇ °æ¿ì ¸Æ ±â±â¸¦ ÀÌ¿ëÇØ¼ ¸¸µé¾ú½À´Ï´Ù.
----------------
3. ÇϵåÄÚµù ÁÖ¼Ò¸¦ ¾²Áö ¸» °Í
¾ÖÇÿ¡¼´Â 'ÇϵåÄÚµå ÁÖ¼Ò'¶ó°í Ç¥ÇöÇߴµ¥¿ä, ÀÌ´Â ´ëÁߵ鿡°Ô ½±°Ô Àǹ̸¦ Àü´ÞÇÏ·Á°í ÀϺη¯ Àú·¸°Ô Ç¥ÇöÇÑ °Í °°½À´Ï´Ù. Á¤È®ÇÑ ¸íĪÀº IP literalÀÔ´Ï´Ù. °¡·É, "11.22.33.44"ÀÔ´Ï´Ù.
ÇÑÆí ¿ì¸®°¡ ÈçÈ÷ ¸»ÇÏ´Â 'È£½ºÆ® ³×ÀÓ' °¡·É "server1.mygame.com" °°Àº °ÍÀº FQDN(fully qualified domain name)À̶ó°í ºÎ¸¨´Ï´Ù.
¸¸¾à ÇϵåÄÚµå ÁÖ¼Ò Áï IP literalÀ» Á÷Á¢ ÀÌ¿ëÇØ¼ ¼¹ö¿¡ Á¢¼ÓÇÏ¸é ¾î¶»°Ô µÇ³Ä°í¿ä? ÀϺΠIPv6 ³×Æ®¿öÅ©ÀÇ Å¬¶óÀÌ¾ðÆ®°¡ IPv4 ³×Æ®¿öÅ©ÀÇ ¼¹ö¿¡ Á¢¼ÓÀ» ¸øÇÏ´Â °æ¿ì°¡ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù. (iOS 9.2 ÀÌÈĺÎÅÍ´Â ÀÌ ¹®Á¦°¡ ÀÏºÎ ÇØ°áµÇ±ä ÇÕ´Ï´Ù¸¸ ÀÌ ¶ÇÇÑ ¸ðµç IPv6 ³×Æ®¿öÅ©¿¡¼ µÈ´Ù´Â º¸Àåµµ ¾ø½À´Ï´Ù.)
ÀÌ ¹Ý´ëµµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â IPv4Àε¥ ¼¹ö°¡ IPv6ÀÎ °æ¿ì¿ä.
Á¢¼ÓÀ» ¿Ö ¸øÇÏ´ÂÁö´Â, NAT64/DNS64ÀÇ ÀÛµ¿ ¾ó°³·Î ¼³¸íµË´Ï´Ù. ³»¿ëÀÌ ±æ±â ¶§¹®¿¡ ÀÏ´Ü ³í¿Ü ÇϰڽÀ´Ï´Ù.
±×·³ ¾î¶»°Ô ÇØ¾ß ÇÏ´À³Ä? ¾ÖÇÃÀÌ Áö·É(?)ÇÑ´ë·Î µû¶ó¾ß ÇÕ´Ï´Ù. ¼¹ö´Â IPv4 literal ´ë½Å FQDNÀ¸·Î Á¢±Ù °¡´ÉÇØ¾ß ÇÕ´Ï´Ù. Ŭ¶óÀÌ¾ðÆ®´Â ¼¹ö¿¡ Á¢¼ÓÇÒ ¶§ FQDNÀ» ½á¾ß Çϰí¿ä.
À§ ³»¿ëÀ» ¿¹·Î µé¾î ¼³¸íÇÏÀÚ¸é,
- 11.22.33.44 ==> ¾ÖÇÿ¡¼ ¹ê ¸ÔÀÓ - server.mygame.com ==> Ok - 11:22:33:44:55:66:77:88 ==> ¾ÖÇÿ¡¼ ¹ê ¸ÔÀÓ
¼¹ö ¼¼ÆÃÀ» ÇϽô ºÐµéÀº, °¢ ¼¹ö¿¡ ´ëÇÑ DNS ¼¼ÆÃÀ» ¸ðµÎ ÇØÁÖ¾î¼ °¢ ¼¹ö°¡ FQDNÀ» °¡Áö°Ô ÇØÁÖ¾î¾ß ÇÏÁÒ. ±×¸®°í Ŭ¶óÀÌ¾ðÆ®´Â °¢ ¼¹ö¿¡ÀÇ Á¢¼ÓÀ» ÇÒ ¶§ IP literalÀÌ ¾Æ´Ï¶ó FQDNÀ¸·Î ¼¹ö¿¡ Á¢¼ÓÀ» ÇØ¾ß ÇϰÚÁÒ.
¸¸¾à °¢ ¼¹ö¿¡ ´ëÇØ Áö±Ý ´çÀå FQDNÀ» ¹èÁ¤Çϱâ Èûµé ¶§¸¦ À§ÇØ, ÇÁ¶ó¿ìµå³Ý¿¡´Â ÀÀ±Þóġ ¹æ¹ýÀ» Á¦°øÇÕ´Ï´Ù.
ÇÁ¶ó¿ìµå³Ý ±â¹Ý ¼¹ö¿¡ Á¢¼ÓÇÏ´Â IP literalÀ» ÀÔ·ÂÇϵÇ, IPv4¿¡ ¹°·ÁÀÖ´Â ´Ù¸¥ ¼¹ö XÀÇ FQDNµµ Ãß°¡·Î ÀÔ·ÂÇÏ¸é µË´Ï´Ù. X´Â ½ÇÁ¦·Î Á¢¼ÓÀº ¾ÈÇÏ´Ï °ÆÁ¤ ¸¶½Ã°í¿ä, ±×Àú DNS °Ë»ö ´ë»ó¸¸ µÉ »ÓÀÔ´Ï´Ù. À̰ÍÀÌ ÀÖÀ¸¸é, 100% º¸ÀåÇÏÁö´Â ¾Ê½À´Ï´Ù¸¸, [1] IPv4 literal¸¸ °®°íµµ ¼¹ö¿¡ Á¢¼ÓÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù.
CNetClient* nc = CNetClient::Create(); p.m_serverIP = "11.22.33.44"; p.m_publicDomainName1 = "www.nettention.com"; p.m_publicDomainName2 = "www.nts.go.kr"; // ³× ±×·¸½À´Ï´Ù. ±¹¼¼Ã»ÀÔ´Ï´Ù. -_-;;; nc->Connect(p);
(C#µµ °¡´ÉÇϳª ÀÏ´Ü »ý·«)
¾î¶»°Ô IPv4 literal¸¸ °®°í Á¢¼ÓÀ» ÇÒ ¼ö Àֳĸé... NAT64ÀÇ 'ÁÖ¼ÒÁ¶ÇÕ ¾Ë°í¸®Áò'À» ±¸ÇöÇ߱⠶§¹®ÀÔ´Ï´Ù. ÀÌ ¶ÇÇÑ ³»¿ëÀÌ ±â¹Ç·Î ÀÏ´ÜÀº »ý·« ^^
¾Æ¹«Æ° À§ API¸¦ ¾²´Â °ÍÀº ¾îµð±îÁö³ª ÀÀ±Þóġ ¹æ¹ýÀÔ´Ï´Ù. ¿ÏÀüÇÑ ÇØ°áÀ» ÇÏ·Á¸é ¾ÖÇÃÀÇ Áö½Ã(?) »çÇ× "FQDNÀ¸·Î ¼¹ö¿¡ Á¢¼ÓÇØ¶ó"¸¦ µû¶ó ÁÖ¾î¾ß ÇÕ´Ï´Ù.
---------------------
³í¿Ü: IPv6 ÁÖ¼Ò°¡ ÂÓ ÆÛÁö¸é ÀÎÅÍ³Ý °øÀ¯±â´Â »ç¶óÁöÁö ¾ÊÀ»±î?
IPv6 ÁÖ¼Ò°¡ ÂÓ ÆÛÁö¸é ÀÎÅÍ³Ý °øÀ¯±â´Â "À̷лóÀ¸·Î" »ç¶óÁ®µµ µË´Ï´Ù. ÀÎÅÍ³Ý °øÀ¯±â ÀÚü°¡ ¸ðÀÚ¶õ ÀÎÅÍ³Ý ÁÖ¼Ò °¹¼ö¸¦ ÇØ°áÇϱâ À§ÇÑ ¹æ¹ý Áß Çϳª´Ï±î¿ä.
±×·¯³ª, IP ÁÖ¼Ò´ç °¡°ÝÀ» ¸Å±â´Â ÀÎÅÍ³Ý »óǰÀ» ÆÄ´Â ¾÷ü°¡ IPv6¶ó ÇÏ´õ¶óµµ IP ÁÖ¼Ò¸¦È£¶ôÈ£¶ô Ãß°¡ ºñ¿ë ¾øÀÌ »Ñ¸®Áö´Â ¾ÊÀ» °ÍÀÔ´Ï´Ù. ±×·¸´Ù¸é ¾â©¾øÀÌ ÀÎÅÍ³Ý °øÀ¯±â¸¦ °®´Ù ºÙÀÌ´Â ³ë·ÂÀ» ¾ÈÇÒ·¡¾ß ¾ÈÇÒ ¼ö ¾øÁÒ. ÀÎÅÍ³Ý °øÀ¯±â¿¡ °ÇÑ ÇÁ¶ó¿ìµå³Ýµµ IPv6 ¼¼»ó¿¡¼ ¿©ÀüÈ÷ Á¸Àç Çʿ伺ÀÌ ÀÖÀ» °ÍÀÔ´Ï´Ù.
-----------------------
ÁñÄÚµù Çϼ¼¿ä~
-------------------
[1]: ¸Æ ±â±â¸¦ Æ÷ÇÔÇØ¼ ÀϺΠŬ¶óÀÌ¾ðÆ® »çÀ̵å IPv6 ÀÎÅÍ³Ý °øÀ¯±â¿¡¼´Â Á¤»ó ÀÛµ¿ÇÕ´Ï´Ù.
|