IzzyMenu.com

MULTICAST °ü·Ã ÀÚ·á¹× ÀÚü °­ÀÇ ÀÚ·á

 ·Î±×ÀÎ  È¸¿ø°¡ÀÔ

[Á¤º¸] ÀÌÇØÇϱ⠽¬¿î ¸ÖƼ ij½ºÆ®
ANTON  2009-06-22 22:13:20, Á¶È¸ : 276, Ãßõ : 38

Multicast over TCP/IP HOWTO

  Juan-Mariano de Goyenechejmseyas@dit.upm.es
  <mailto:jmseyas@dit.upm.es>
  v1.0, 20 March 1998
  ±èÇöÇÊkhp@kldp.org <mailto:khp@kldp.org>
  v0.9, 10 July 2000

  ÀÌ ¹®¼­¿¡¼­´Â TCP/IP ³×Æ®¿÷¿¡¼­ ¸ÖƼij½ºÆ®¿Í °ü·ÃµÈ Àü¹ÝÀûÀÎ »çÇ×À»
  ¼³¸íÇÑ´Ù. µû¶ó¼­ »ó´çºÎºÐ ¸®´ª½º¿¡ ±¹ÇѵǴ ³»¿ëÀÌ ¾Æ´Ï´Ù.
  (¾ÆÁ÷..GNU/¸®´ª½º¸¦ ¾²Áö ¾ÊÀ» °æ¿ì¿¡¸¸) ¸ÖƼij½ºÆ®´Â Áö±Ý±îÁöµµ È°¹ßÈ÷
  ¿¬±¸ÁßÀΠ ºÐ¾ßÀÌ´Ù. µû¶ó¼­ ÀÌ ±ÛÀÇ ÀÛ¼º ½ÃÁ¡¿¡¼­´Â Ç¥ÁØ¾È ´ëºÎºÐÀÌ
  ÃʾÈ(draft)ÀÏ »ÓÀÌ´Ù. ÀÌÁ¡ ¿°µÎ¿¡ µÎ°í ÀÐÀ¸½Ã±â ¹Ù¶õ´Ù.
  ______________________________________________________________________

  ¸ñÂ÷

  1. ¼Ò°³
     1.1 ¸ÖƼij½ºÆ®(Multicast)¶õ ¹«¾ùÀΰ¡?
     1.2 À¯´Ïij½ºÆ®(Unicast)ÀÇ ¹®Á¦Á¡

  2. ¸ÖƼij½ºÆ®
     2.1 Multicast ÁÖ¼Ò
     2.2 ÀûÀÀ ´Ü°è(Levels of Conformance)
     2.3 ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥ Àü¼Û
        2.3.1 TTL.
        2.3.2 ·çÇÁ¹é(Loopback)
        2.3.3 ÀÎÅÍÆäÀ̽º ¼±ÅÃ
     2.4 ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥ ¼ö½Å
        2.4.1 ¸ÖƼij½ºÆ® ±×·ì Âü¿©(Join)
        2.4.2 ¸ÖƼij½ºÆ® Group Å»Åð
        2.4.3 IP ¸ÖƼij½ºÆ® ÁÖ¼Ò¿¡¼­ Ethernet/FDDI ÁÖ¼Ò·ÎÀÇ »ç»ó (mapping)

  3. Ä¿³Î ¿ä±¸ »çÇ×°ú ¼³Á¤
  4. The MBone.
  5. ¸ÖƼij½ºÆ® ÀÀ¿ëÇÁ·Î±×·¥µé
  6. ¸ÖƼij½ºÆ® ÇÁ·Î±×·¡¹Ö
     6.1 IP_MULTICAST_LOOP.
     6.2 IP_MULTICAST_TTL.
     6.3 IP_MULTICAST_IF.
     6.4 IP_ADD_MEMBERSHIP.
     6.5 IP_DROP_MEMBERSHIP.

  7. ¸ÖƼij½ºÆ® ³»ºÎ
     7.1 IGMP.
     7.2 IGMP version 1.
     7.3 IGMP ¹öÀü 2.
     7.4 Ä¿³Î °ü·Ã »çÇ×

  8. ¶ó¿ìÆà Á¤Ã¥°ú Æ÷¿öµù ±â¼ú
  9. ¸ÖƼij½ºÆ® Æ®·£½ºÆ÷Æ® ÇÁ·ÎÅäÄÝ
  10. Âü°í ÀÚ·á
     10.1 RFC ¹®¼­
     10.2 ÀÎÅÍ³Ý ÃʾÈ(draft)
     10.3 À¥ ÆäÀÌÁö
     10.4 Âü°í ¼­Àû

  11. ÀúÀ۱ǰú Ã¥ÀÓ ÇÑ°è °íÁö
  12. °¨»çÀÇ ±Û
  13. ¿ªÀÚ ÇѸ¶µð

  ______________________________________________________________________

  1.  ¼Ò°³

  ³ª´Â ÀÌ ¹®¼­¿¡¼­ TCP/IP ³×Æ®¿÷¿¡¼­ ¸ÖƼij½ºÆ®¿¡ ´ëÇØ °¡´ÉÇÑ ÇÑ
  ±¤¹üÀ§Çϸç ÃÖ½ÅÀÇ ±×¸®°í Á¤È®ÇÑ Á¤º¸¸¦ ´Ù·çµµ·Ï ³ë·ÂÇÒ °ÍÀÌ´Ù.
  ¿©·¯ºÐÀÇ ¾î¶°ÇÑ ÀÇ°ßÀÌ¶óµµ È¯¿µÇÑ´Ù. ³»¿ë Áß¿¡ ¿À·ù°¡ Àְųª Á¶¾ð ¹×
  Ãß°¡ÇÒ ³»¿ëÀÌ ÀÖ´Ù¸é ÀúÀÚ¿¡°Ô º¸³»Áֱ⠹ٶõ´Ù.

  1.1.  ¸ÖƼij½ºÆ®(Multicast)¶õ ¹«¾ùÀΰ¡?

  ¸ÖƼij½ºÆ®´Â °ð Çʿ伺ÀÌ´Ù. ¸¸ÀÏ ÀÎÅͳݻóÀÇ ¿©·¯-Àüü°¡
  ¾Æ´Ñ-È£½ºÆ®¿¡°Ô·Î Àü¼ÛÇؾßÇÒ »ó´çÇÑ·®ÀÇ Á¤º¸¸¦ °¡Áö°í ÀÖ´Ù¸é ¹Ù·Î
  ¸ÖƼij½ºÆ®°¡ ±× ÇØ´äÀÌ´Ù. ¿¹¸¦ µé¾î, ÀÎÅͳݿ¡ ºÐ»êµÇ¾î È£½ºÆ®µé·Î ¿ø°Ý
  È¸ÀǸ¦ Çϱâ À§ÇØ ½Ç½Ã°£À¸·Î ¿µ»ó°ú À½¼ºÀ» Àü¼ÛÇÏ´Â °æ¿ì, ¸ÖƼij½ºÆ®¸¦
  »ç¿ë ÇÒ ¼ö ÀÖ´Ù.

  ¸ÖƼij½ºÆ®´Â »ç¿ëÀÚ°¡ ÀÚ½ÅÀÇ ¼ö½Å±â¸¦ Á¶Á¤(°ü½É Àִ  Ã¤³ÎÀÇ ÁÖÆļö
  ¼±ÅÃ)ÇÔÀ¸·Î¼­ Á¤º¸¸¦ ¹Þ´Â´Ù´Â Á¡¿¡¼­ TV³ª ¶óµð¿À¿Í À¯»çÇÏ´Ù. ´Ù¸¥ °ÍÀº
  Á¦Ãĵΰí ÀÚ½ÅÀÌ¿øÇÏ´Â °Í¸¸ ¼ö½ÅÇÑ´Ù.

  1.2.  À¯´Ïij½ºÆ®(Unicast)ÀÇ ¹®Á¦Á¡

  ºê·Îµåij½ºÆ®(Broadcast)µµ ¾Æ´Ï¸ç ¸ÖƼij½ºÆ®µµ ¾Æ´Ñ °ÍÀ» À¯´Ïij½ºÆ®¶ó
  ÇÑ´Ù. º°·Î ÁÁÁö ¾ÊÀº Á¤ÀÇ °°Àºµ¥...ÆÐŶÀ» Àü¼ÛÇÒ ¶§ ¼Û½Å ÇÁ·Î¼¼½º
  Çϳª, ¼ö½Å ÇÁ·Î¼¼½º Çϳª°¡ Á¸ÀçÇÒ ¶§ ÀÌ°ÍÀ» À¯´Ïij½ºÆ®¶ó ÇÑ´Ù. TCP´Â
  ±× ÀÚü°¡  º»ÁúÀûÀ¸·Î À¯´Ïij½ºÆ®¸¦ ÁöÇâÇÑ´Ù.  ÇÑÆí, UDP´Â ÈξÀ ´Ù¾çÇÑ
  Çü½ÄÀ» °¡Áú ¼ö ÀÖÁö¸¸ ¼ö½ÅÇÏ´Â ÇÁ·Î¼¼½º°¡  ´Ü ÇϳªÀÏ ¶§ ÀÌ ¿ª½Ã
  À¯´Ïij½ºÆ®¶ó ÇÒ ¼ö ÀÖ´Ù.

  ÀÎÅÍ³Ý Ãʱ⿡´Â À¯´Ïij½ºÆ®·Î ÃæºÐÇß¾ú´Ù. 1993³â  4.4 BSD¿¡¼­ ÃÖÃÊ·Î
  ¸ÖƼij½ºÆ®¸¦ ±¸ÇöÇؼ­ ¼¼»ó¿¡ ³»³õ¾ÒÀ» ¶§±îÁö´Â ¾Æ¹«µµ ±×°ÍÀ» ÇÊ¿ä·Î
  ÇÏ´Â °Í  °°Áö ¾Ê¾Ò´Ù. ±×·±µ¥ ¿Ö ¸ÖƼij½ºÆ®¶ó ºÒ¸®´Â °ÍÀÌ ³ª¿À°Ô µÈ
  °ÍÀϱî?

  ¸»ÇÒ ÇÊ¿äµµ ¾øÀÌ ÀÎÅͳÝÀº ÃʱâÀÇ ¸ð½ÀÀ¸·ÎºÎÅÍ ¾öû³­ º¯È­¸¦ °Þ¾ú´Ù.
  Æ¯È÷ À¥ÀÇ µîÀåÀº »óȲÀ» ¿ÏÀüÈ÷ µÚ¹Ù²Ù¾î ³õ¾Ò´Ù. »ç¶÷µéÀº mail, FTP ±×
  ÀÌ»óÀÇ °ÍÀ», ÀڽŵéÀÇ È¨ÆäÀÌÁö¿¡¼­ ±×¸²À» º¸±â ¿øÇß°í ´õ ³ª¾Æ°¡ À½¼º°ú
  µ¿¿µ»óÀ» ¿øÇß´Ù.

  ¿À´Ã³¯ÀÇ ±â¼úÀ̶ó¸é, ´ç½ÅÀÇ À¥À» º¸°íÀÚÇÏ´Â ¸ðµç  ÀÌ¿¡°Ô À¯´Ïij½ºÆ®
  ¿¬°áÀ» ÇÑ´Ù°í Çصµ ÃæºÐÈ÷ ±× "ºñ¿ë(cost)"¸¦ °¨´çÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸
  À½ÇâÀ̳ª  ¿µ»óÀ» º¸³»°íÀÚ ÇÑ´Ù¸é ¾öû³­ ´ë¿ªÆøÀÌ ÇÊ¿äÇÏ´Ù.
  ¸ÖƼij½ºÆ®¸¦ °í·Á¿¡ ³Ö´Â´Ù¸é µÎ °¡Áö ¼±ÅÃÀÌ ÀÖ´Ù. ¾Æ´Ï, ¸ÖƼij½ºÆ®°¡
  µîÀåÇϱâ Àü±îÁö´Â µÎ °¡Áö ¼±ÅÃÀÌ Á¸ÀçÇß¾ú´Ù. À¯´Ïij½ºÆ®¸¦  ÅëÇØ °¢
  ¼ö½ÅÀÚº°·Î µ¶¸³µÈ ¿¬°áÀ» ÇÒ °ÍÀΰ¡, ¾Æ´Ï¸é ºê·Îµåij½ºÆ®¸¦ ÇÒ °ÍÀΰ¡.

  ÀüÀÚ´Â ºÎÀûÀýÇÏ´Ù. À½¼º/¿µ»óÀÇ ´ÜÀÏ ¿¬°áÁ¶Â÷µµ »ó´çÇÑ ´ë¿ªÆøÀ» Â÷ÁöÇÒ
  ÅÍÀε¥ ÀÌ·¯ÇÑ ¿¬°áÀÌ ¼ö¹é ¶Ç´Â ¼öõÀ̶ó°í »ó»óÇØ º¸¶ó. ¾Æ¸¶µµ ´ç½ÅÀÇ
  ÄÄÇ»ÅÍ¿Í ³×Æ®¿÷Àº ºØ±«ÇÏ°í ¸» °ÍÀÌ´Ù.

  ºê·Îµåij½ºÆ®°¡ ÇØ´äÀÎ µí ÇÏÁö¸¸ ±×°Íµµ È®½ÅÇÒ ¼ö°¡ ¾ø´Ù. ¿ì¸® LAN¿¡
  ÀÖ´Â ¸ðµç È£½ºÆ®°¡ ȸÀÇ¿¡ Âü¼®ÇÑ´Ù¸é ºê·Îµåij½ºÆ®°¡ È®½ÇÈ÷ ÇØ´äÀÌ µÉ
  ¼ö ÀÖ´Ù. ¸ðµç ÆÐŶÀº Çѹø¾¿¸¸ Àü¼ÛµÇ¸ç ´Ù¸¥ ¸ðµç È£½ºÆ®´Â ºê·Îµåij½ºÆ®
  ÁÖ¼Ò¸¦ ÅëÇØ ÆÐŶÀ» ¼ö½ÅÇÒ °ÍÀÌ´Ù.  ÇÏÁö¸¸, ¹®Á¦´Â ÀϺΠȣ½ºÆ®¸¸ÀÌ ÀÌ
  ÆÐŶ¿¡ ¼ö½ÅÇÏ·ÁÇÒ  °æ¿ì´Ù. °Ô´Ù°¡, Á¤¸»·Î ȸÀÇ¿¡ Âü¿©ÇÏ°íÀÚÇÏ´Â ´Ü
  ÇϳªÀÇ È£½ºÆ®°¡ ¸î °³ÀÇ ¶ó¿ìÅ͸¦ °ÅÃÄ¾ß µµ´Þ ÇÒ  ¼ö ÀÖ´Â ¿ÜºÎ LAN¿¡
  Á¸ÀçÇÑ´Ù¸é ¾î·Á¿î ¹®Á¦°¡ µÈ´Ù. ¾Ë´Ù½ÃÇÇ, ºê·Îµåij½ºÆ®´Â ´ÜÀÏ LAN
  ³»ºÎ¿¡¼­¸¸ °¡´ÉÇѵ¥, ºê·Îµåij½ºÆ® ÆÐŶÀ» ¶ó¿ìÆÃÇÏ¿© ¿ÜºÎ LAN¿¡ Àü´ÞÇÒ
  ¹æ¹ýÀÌ ¾ø´Ù.

  ÃÖ¼±ÀÇ ÇØ°áÃ¥Àº ÆÐŶÀ» -¸¶Ä¡ TV³ª ¶óµð¿À ä³Îó·³-ÀϺΠƯÁ¤ÇÑ Áּҷθ¸
  º¸³»´Â °ÍÀÌ´Ù. ±×·¯¸é ȸÀÇ¿¡ Âü¿©ÇÏ°íÀÚÇÏ´Â ¸ðµç È£½ºÆ®´Â ÀÌ ÆÐŶÀÌ
  ³×Æ®¿÷À» Åë°úÇÒ ¶§, ¸ñÀûÁö ÁÖ¼Ò(destination address)¸¦ °¨ÁöÇÏ¿©
  ÀоîµéÀÎ ÈÄ ÀÚ½ÅÀÇ IP°èÃþ(layer)À¸·Î º¸³»¾î
  º¹È£È­(demultiplexing)ÇÑ´Ù. Áï, ¸ÖƼij½ºÆ®´Â ÆÐŶÀÌ ´Ü Çѹø¸¸
  ¼Û½ÅµÇ¾î¼­ ³×Æ®¿÷ÀÇ ¸ðµç È£½ºÆ®µéÀÌ ±×°ÍÀ»  Àд´ٴ Á¡¿¡¼­´Â
  ºê·Îµåij½ºÆ®¿Í °°Áö¸¸, ÀÌ ÆÐŶµéÀÌ ¿ÀÁ÷ Ä¿³Î(kernel)¿¡¼­ ¿øÇÒ °æ¿ì¿¡¸¸
  ÀÐ°í  Ã³¸®ÇÑ´Ù´Â Á¡¿¡¼­ ºê·Îµåij½ºÆ®¿Í ´Ù¸£´Ù.

  ÀÌ Æ¯º°ÇÑ ÆÐŶµéÀº IP ÆÐŶÀ̱⠶§¹®¿¡ Ä¿³Î ¼öÁØ(kernel level)¿¡¼­
  ¶ó¿ìÆÃÇÑ´Ù. Ä¿³Î¿¡ ¶ó¿ìÆà °æ·Î¸¦ ¾Ë·ÁÁÖ´Â ¶ó¿ìÆà ¾Ë°í¸®Áò¿¡ Â÷ÀÌÁ¡ÀÌ
  ÀÖÀ» °ÍÀÌ´Ù.

  2.  ¸ÖƼij½ºÆ®

  2.1.  Multicast ÁÖ¼Ò

  IP ÁÖ¼Ò´Â 32ºñÆ® Áß¿¡¼­ »óÀ§ ºñÆ®µé¿¡ ÀÇÇؼ­ Ŭ·¡½º(class)·Î ºÐ·ùµÈ´Ù.

       Bit -->  0                           31            Address Range:
               +-+----------------------------+
               |0|       Class A Address      |       0.0.0.0 - 127.255.255.255
               +-+----------------------------+
               +-+-+--------------------------+
               |1 0|     Class B Address      |     128.0.0.0 - 191.255.255.255
               +-+-+--------------------------+
               +-+-+-+------------------------+
               |1 1 0|   Class C Address      |     192.0.0.0 - 223.255.255.255
               +-+-+-+------------------------+
               +-+-+-+-+----------------------+
               |1 1 1 0|  MULTICAST Address   |     224.0.0.0 - 239.255.255.255
               +-+-+-+-+----------------------+
               +-+-+-+-+-+--------------------+
               |1 1 1 1 0|     Reserved       |     240.0.0.0 - 247.255.255.255
               +-+-+-+-+-+--------------------+

  ¿ì¸®°¡ ÁÖÀÇ ±í°Ô ÇÒ °ÍÀº "D Ŭ·¡½º ÁÖ¼Ò"´Ù. ¸ñÀûÁö ÁÖ¼Ò°¡ "1110"À¸·Î
  ½ÃÀÛÇÏ´Â IP  µ¥ÀÌÅͱ׷¥Àº ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥ÀÌ´Ù.

  ³ª¸ÓÁö 28ºñÆ®´Â ¼Û½ÅÇÒ µ¥ÀÌÅͱ׷¥ÀÇ ¸ÖƼij½ºÆ®±×·ìÀ»  ±¸ºÐÇϴµ¥
  ¾²ÀδÙ.  ¹æ¼ÛÀ» µè±â À§ÇØ ¶óµð¿À¸¦ ¾î¶² ÁÖÆļö¿¡ ¸ÂÃß´Â °Í°ú À¯»çÇÏ°Ô
  Æ¯Á¤ÇÑ ¸ÖƼij½ºÆ® ±×·ìÀ¸·Î Àü¼ÛµÇ¾î¿À´Â ÆÐŶÀ» ¼ö½ÅÇϱâ À§Çؼ­ ¿ì¸®ÀÇ
  Ä¿³ÎÀ» ƯÁ¤ÇÑ ±×·ì¿¡ ¸ÂÃß¾î¾ß ÇÑ´Ù. ÀÌ °úÁ¤ÀÌ ÀÌ·ç¾î Á³À» ¶§,
  È£½ºÆ®°¡, ÁöÁ¤ÇÑ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ ±×·ì¿¡ Âü¿©Çß´Ù°í ÇÒ ¼ö ÀÖ´Ù. ÈÄ¿¡
  ´õ ÀÚ¼¼È÷ ´Ù·ê °ÍÀÌ´Ù.

  ¿¹¾àµÈ ¸ÖƼij½ºÆ® ±×·ì(well known multicast groups)À̶ó ºÒ¸®´Â Ưº°ÇÑ
  ±×·ìµéÀÌ Àִµ¥ ÀÌ·¯ÇÑ ±×·ìÀº ´ÙÀ½°ú °°Àº Ư¼öÇÑ ¿ëµµ·Î ¾²À̱⠶§¹®¿¡
  °³ÀÎÀûÀÎ ÇÁ·Î±×·¥ Á¦ÀÛ ½Ã¿¡ »ç¿ëÇÒ ¼ö ¾ø´Ù.

  o  224.0.0.1 Àº Àüü È£½ºÆ® ±×·ìÀÌ´Ù. ¸ÖƼij½ºÆ® ÀÎÅÍÆäÀ̽º´Â ½Ãµ¿½Ã
     ÀÌ ±×·ì¿¡ Âü¿©ÇؾßÇϹǷΠÀÌ ÁÖ¼Ò·Î pingÀ» º¸³»¸é ¸ðµç ¸ÖƼij½ºÆ®
     È£½ºÆ®µéÀÌ ÀÀ´äÇÒ °ÍÀÌ´Ù.

  o  224.0.0.2 Àº Àüü ¶ó¿ìÅÍ ±×·ìÀÌ´Ù.

  o  224.0.0.4 Àº Àüü DVMRP ¶ó¿ìÅÍ ±×·ìÀÌ´Ù.

  o  224.0.0.5 Àº Àüü OSPF ¶ó¿ìÅÍ ±×·ìÀÌ´Ù.

  o  224.0.013 Àº Àüü PIM ¶ó¿ìÅÍ ±×·ìÀÌ´Ù.

  o  ...

  ÀÌ Æ¯¼ö ±×·ìµéÀº ¸ðµÎ RFC¹®¼­ "Assigned Numbers"¿¡ Á¤±âÀûÀ¸·Î
  µî·ÏµÈ´Ù.

  ¾î¶°ÇÑ °æ¿ìµçÁö, 224.0.0.0¿¡¼­ 224.0.0.225ÀÇ ¹üÀ§´Â Áö¿ªÀûÀÎ
  ¸ñÀû(°ü¸®³ª  À¯Áö/º¸¼ö)À» À§ÇØ ¿¹¾àµÇ¾î ÀÖÀ¸¸ç ¸ÖƼij½ºÆ® ¶ó¿ìÅ͵鵵
  ÀÌ ¹üÀ§ ³»ÀÇ ÁÖ¼Ò·Î ¸ñÀûÁö·Î ÇÏ´Â µ¥ÀÌÅͱ׷¥Àº Æ÷¿öµùÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.
  ÀÌ¿Í À¯»çÇÏ°Ô 239.0.0.0¿¡¼­ 239.255.255.255ÀÇ ¹üÀ§´Â"administrative
  scoping"À» À§ÇÏ¿© ¿¹¾àµÇ¾î ÀÖ´Ù. ("administrative scoping")¿¡ °üÇؼ­´Â
  2.3.1À» ÂüÁ¶ÇÒ °Í).

  2.2.  ÀûÀÀ ´Ü°è(Levels of Conformance)

  È£½ºÆ®°¡ ¸¸Á·ÇؾßÇÏ´Â ¸ÖƼij½ºÆ® ±Ô°Ý¿¡´Â ¼¼ °¡Áö ÀûÀÀ ´Ü°è°¡ ÀÖ´Ù.

  Level 0 : the no support for IP Multicasting IPv4¿¡¼­´Â ¸ÖƼij½ºÆ®°¡
  Àǹ«ÀûÀ¸·Î ±¸ÇöÇؾßÇÏ´Â °ÍÀÌ ¾Æ´Ï±â ¶§¹®¿¡ ÀÎÅͳݿ¡ ÀÖ´Â ¸¹Àº È£½ºÆ®¿Í
  ¶ó¿ìÅ͵éÀº Level 0 »óÅ¿¡ ÀÖ´Ù. (ÇÏÁö¸¸ IPv6¿¡¼­´Â Àǹ«ÀûÀ¸·Î
  ¸ÖƼij½ºÆ®¸¦ Áö¿øÇϵµ·Ï ÇÏ°í ÀÖ´Ù.) ´õ ÀÌ»ó ¼³¸íÀº ÇÊ¿ä ¾ø´Ù. ÀÌ
  »óÅ¿¡ Àִ ȣ½ºÆ®´Â ¸ÖƼij½ºÆ® ÆÐŶÀ» º¸³»°Å³ª ¹ÞÀ» ¼ö ¾øÀ¸¸ç,
  ¸ÖƼij½ºÆ® ÆÐŶÀ» ¿ÏÀüÈ÷ ¹«½ÃÇÑ´Ù.

  Level 1 :  the support for  sending but not receiving multicast IP
  datagrams µû¶ó¼­, µ¥ÀÌÅͱ׷¥À» º¸³»±â À§Çؼ­ ¸ÖƼij½ºÆ® ±×·ì¿¡ °¡ÀÔÇÒ
  ÇÊ¿ä´Â ¾ø´Ù. Level 0 È£½ºÆ®¸¦ Level 1 ȣȯ »óÅ·Π¸¸µé±â À§Çؼ­´Â IP
  ¸ðµâÀ»  ¾à°£ º¯°æÇØ¾ß ÇÑ´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº 2.3¿¡¼­ ´Ù·é´Ù.

  Level 2 :   the full support for IP multicasting Level 2 È£½ºÆ®´Â
  ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥ ¼Û½Å°ú ¼ö½ÅÀÌ °¡´ÉÇØ¾ß ÇÑ´Ù. ¶Ç, ¸ÖƼij½ºÆ®
  ±×·ì¿¡ Âü°¡ÇÏ°í Å»ÅðÇÒ ¼ö ÀÖ¾î¾ß ÇÏ¸ç »õ·Î °»½ÅµÈ ¸ÖƼij½ºÆ® Á¤º¸¸¦
  ¶ó¿ìÅÍ¿¡ ¾Ë ¸± ¼ö ÀÖ¾î¾ß ÇÑ´Ù. µû¶ó¼­, È£½ºÆ®ÀÇ TCP/IP ½ºÅÿ¡ ÀÎÅͳÝ
  ±×·ì°ü¸® ÇÁ·ÎÅäÄÝ Internet Group Management Protocol  (IGMP) ÀÌ
  ±¸ÇöµÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.

  2.3.  ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥ Àü¼Û

  ÀÌ»óÀ¸·Î ¹Ì·ç¾îº¸¾Æ, ¸ÖƼij½ºÆ® Æ®·¡ÇÈÀº UDP·Î Æ®·£½ºÆ÷Æ® °èÃþ¿¡¼­
  Ã³¸®ÇÏ´Â °ÍÀÌ ºÐ¸íÇÏ´Ù. TCP´Â Á¡´ëÁ¡(point-to-point)¿¬°áÀ» Á¦°øÇÏ´Â
  °ÍÀ̹ǷΠ¸ÖƼij½ºÆ® Æ®·¡ÇÈ¿¡ ÀûÇÕÇÏÁö ¾Ê´Ù. (»õ·Î¿î  ¸ÖƼij½ºÆ® ÁöÇâ
  Æ®·£½ºÆ÷Æ® ÇÁ·ÎÅäÄÝ ¼³°è¿Í ±¸Çö¿¡ ´ëÇÑ ¿¬±¸°¡ È°¹ßÈ÷ ÁøÇàÁßÀÌ´Ù. 9Àå
  "¸ÖƼij½ºÆ® Æ®·£½ºÆ÷Æ® ÇÁ·ÎÅäÄÝ"À» ÂüÁ¶ÇÒ °Í)

  À̷лó, ÀÀ¿ëÇÁ·Î±×·¥¿¡¼­ ´ÜÁö UDP ¼ÒÄÏÀ» ¿­°í class D ¸ÖƼij½ºÆ®
  ÁÖ¼Ò¸¦ ¸ñÀûÁö·Î ÇÏ´Â µ¥ÀÌÅͱ׷¥À» ºÎ¾î³Ö±â¸¸ ÇÏ¸é µÈ´Ù. ±×·¸Áö¸¸, ¼Û½Å
  ÇÁ·Î¼¼½º°¡  ÅëÁ¦±ÇÀ» °¡Áö±â À§Çؼ­ ÇØÁÖ¾î¾ß ÇÒ ÀÛ¾÷ÀÌ ÀÖ´Ù.

  2.3.1.  TTL.

  IP Çì´õÀÇ TTL(Time To Live) Çʵå´Â ¸ÖƼij½ºÆ®¿¡¼­ Áß¿äÇÑ Àǹ̸¦
  °¡Áø´Ù. ÀÌ Çʵå´Â ¶ó¿ìÆà ¿¡·¯·Î ÀÎÇÏ¿© µ¥ÀÌÅͱ׷¥ÀÌ ³×Æ®¿÷À» ¿µ¿øÈ÷
  ¶°µ¹¾Æ´Ù´Ï´Â °ÍÀ» ¹æÁöÇÑ´Ù.  ¶ó¿ìÅÍ´Â ³×Æ®¿÷°£À» À̵¿ÇÏ´Â µ¥ÀÌÅͱ׷¥ÀÇ
  TTL Çʵ带 °¨¼Ò½ÃÅ°¸ç TTL Çʵ尡 0ÀÌ µÇ´Â µ¥ÀÌÅͱ׷¥Àº  ¹ö¸°´Ù(drop).
  IPv4 ¸ÖƼij½ºÆ®¿¡¼­ TTLÀº ¹®Åΰª(threshold)ÀÇ Àǹ̸¦ Áö´Ñ´Ù.  ´ÙÀ½
  ¿¹¸¦ º¸¸é ±×  ¿ëµµ°¡ ºÐ¸íÇØÁø´Ù.

  ¿ì¸® ºÎ¼­ÀÇ ¸ðµç È£½ºÆ®°¡ ¼ÓÇÏ´Â ¾ÆÁÖ ±æ°í ´ë¿ªÆøÀ» ¸¹ÀÌ Â÷ÁöÇÏ´Â
  ¿µ»óȸÀǸ¦ ÇÑ´Ù°í °¡Á¤ÇÏÀÚ. ¿ì¸®ÀÇ LAN¿¡´Â ¾öû³­ ¿ë·®ÀÇ Æ®·¡ÇÈÀÌ
  ¹ß»ýÇÒ °ÍÀ̸ç, ¾Æ¸¶ ¿ì¸® ºÎ¼­´Â ´Ù¾çÇÑ LANÀÌ Á¸ÀçÇÏ´Â Å« ³×Æ®¿÷ÀÏ
  °ÍÀÌ´Ù. ÀÌ °æ¿ì ¿ì¸®´Â LANÀ» ÅëÇÏ¿© ȸÀǸ¦ ¿­±â ¿øÇÏÁö¸¸, ¿ì¸®ÀÇ
  ¸ÖƼij½ºÆ® Æ®·¡ÇÈ ¶§¹®¿¡ ÀÎÅÍ³Ý Àüü°¡ ºØ±«µÇ´Â °ÍÀ» ¿øÄ¡ ¾ÊÀ» °ÍÀÌ´Ù.
  µû¶ó¼­, ¸ÖƼij½ºÆ® Æ®·¡ÇÈÀÌ ¶ó¿ìÅÍ°£À» ¾ó¸¶³ª ¸Ö¸®À̵¿ÇÒ ¼ö ÀÖµµ·Ï ÇÒ
  °ÍÀÎÁö Á¦ÇÑÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ÀÌ°ÍÀÌ TTLÀÇ ¿ëµµÀÌ´Ù.

  ¶ó¿ìÅÍ´Â °¢°¢ÀÇ ÀÎÅÍÆäÀ̽º¿¡ ´ëÇØ TTL ¹®ÅÎÄ¡(threshold)°¡ ÇÒ´çÇÏ°í
  ÀÖÀ¸¸ç ÀÌ ¹®ÅÎÄ¡º¸´Ù Å« TTL°ªÀ» °¡Áø µ¥ÀÌÅͱ׷¥¸¸ÀÌ Æ÷¿öµùµÈ´Ù.
  µ¥ÀÌÅͱ׷¥ÀÌ, ¾î¶² ¹®ÅÎÄ¡°¡ ÇÒ´çµÇ¾îÀÖ´Â ¶ó¿ìÅ͸¦ Áö³¯ ¶§, TTL°ªÀÌ
  ¹®ÅÎÄ¡¸¸Å­ °¨¼ÒµÇ´Â °ÍÀÌ ¾Æ´Ï¶ó´Â Á¡¿¡ ÁÖÀÇÇ϶ó. ¿ÀÁ÷ ºñ±³¸¸ÀÌ
  ÀÌ·ç¾îÁø´Ù (¾Õ¿¡¼­ ¾ð±ÞÇßµíÀÌ TTLÀº µ¥ÀÌÅͱ׷¥ÀÌ ¶ó¿ìÅ͸¦ Áö³¯ ¶§¸¶´Ù
  1¾¿¸¸ °¨¼ÒµÈ´Ù).

  ´ÙÀ½ ¸®½ºÆ®¿¡ TTL¹®ÅÎÄ¡¿Í ±×¿¡ ÇØ´çµÇ´Â ¹üÀ§°¡ Ç¥½ÃµÇ¾î ÀÖ´Ù.

    ----------------------------------------------------------------------
    TTL     Scope
    ----------------------------------------------------------------------
       0    È£½ºÆ® ³»ºÎ·Î Á¦ÇÑ. ÀÎÅÍÆäÀ̽º·Î Ãâ·ÂµÇÁö ¾ÊÀ½.
       1    µ¿ÀÏ ¼­ºê³ÝÀ¸·Î Á¦ÇÑ. ¶ó¿ìÅÍ´Â Æ÷¿öµùÇÏÁö ¾ÊÀ½.
     <32    µ¿ÀÏ »çÀÌÆ®(site), ´Üü³ª ºÎ¼­·Î Á¦ÇÑ.
     <64    µ¿ÀÏ Áö¿ª(region)À¸·Î Á¦ÇÑ.
    <128    µ¿ÀÏ ´ë·úÀ¸·Î Á¦ÇÑ.
    <255    ¹«Á¦ÇÑ. Àü¼¼°è.
    ----------------------------------------------------------------------

  "»çÀÌÆ®(site)" ³ª "Áö¿ª(region)" ¿¡ ´ëÇÑ Á¤È®ÇÑ Á¤ÀÇ´Â ¾ø´Ù.  ±×°ÍÀº
  ÀÌ Á¦ÇÑÀ» °¡ÇÒ °ü¸®ÀÚ¿¡°Ô ´Þ·ÁÀÖ´Ù.

  ÀÌ TTL±â¹ýÀº ¸ðµç ¿ä±¸¿¡ ºÎÀÀÇÒ ¸¸Å­ À¯¿¬¼ºÀ» Á¦°øÇÏÁö ¸øÇϸç, ƯÈ÷
  °ãÃÄÁö´Â Áö¿ª(overlapping regions)À» ´Ù·ç°Å³ª Áö¸®Àû(geographic)À̰ųª
  À§»óÀû(topologic)ÀûÀÎ ±×¸®°í ´ë¿ªÆø Á¦ÇÑÀûÀÎ ¿¬°á¿¡´Â ÀûÇÕÇÏÁö ¾Ê´Ù.
  ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇÏ¿© 1994³â administratively scoped IPv4
  multicast regions ÀÌ Á¦Á¤µÇ¾ú´Ù (D. Meyer's "Administratively Scoped
  IP Multicast" Internet draft ÂüÁ¶). ÀÌ°ÍÀº TTLÀ» ÀÌ¿ëÇÏÁö ¾Ê°í IP
  ÁÖ¼Ò¸¦ ÀÌ¿ëÇÏ¿© ¹üÀ§Á¦ÇÑ(scoping)À» °¡ÇÑ´Ù. 239.0.0.0 ¿¡¼­
  239.255.255.255±îÁöÀÇ IPÁÖ¼Ò°¡ ÀÌ °ü¸®¿ë ¹üÀ§Á¦ÇÑÀ» À§ÇØ ¿¹¾àµÇ¾î
  ÀÖ´Ù.

  2.3.2.  ·çÇÁ¹é(Loopback)

  Àü¼Û È£½ºÆ®°¡ Level 2 ÀûÀÀ ´Ü°è¿¡ ÀÖÀ¸¸ç µ¥ÀÌÅͱ׷¥À» Àü¼ÛÇÏ´Â ±×·ìÀÇ
  ¸â¹ö·Î Âü¿©ÇÏ°í ÀÖÀ» ¶§, ÆÐŶ º¹»çº»ÀÌ ·çÇÁ¹é µÈ´Ù. ÀÌ°ÍÀº ³×Æ®¿÷
  ÀÎÅÍÆäÀ̽º Ä«µå°¡ ÇØ´ç ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º°¡  ÀÚ½ÅÀÌ ³×Æ®¿÷À¸·Î Àü¼ÛÇÑ
  ÆÐŶÀ» ³×Æ®¿÷À¸·ÎºÎÅÍ ´Ù½Ã Àоî¿Â´Ù´Â °ÍÀÌ ¾Æ´Ï¶ó, IP °èÃþÀÌ
  µ¥ÀÌÅͱ׷¥À» ÀνÄÇÏ¿© Àü¼Û Àü¿¡ ÆÐŶÀ» IP ÀԷ ť¿¡ º¹»çÇØ ³Ö´Â °ÍÀ»
  ÀǹÌÇϸç ÀÌ ±â´ÉÀº ±âº» °ª(default)À¸·Î ¼³Á¤µÇ¾î ÀÖ´Ù.

  ÀÌ·¯ÇÑ ±â´ÉÀº ÇÊ¿äÇÑ °æ¿ìµµ ÀÖ°í ±×·¸Áö ¾ÊÀ» °æ¿ìµµ ÀÖ´Ù. µû¶ó¼­ Àü¼Û
  ÇÁ·Î¼¼½º´Â ÀÌ ±â´ÉÀ» ¿øÇÑ´Ù¸é ÄѰųª ²ø ¼ö ÀÖ´Ù.

  2.3.3.  ÀÎÅÍÆäÀ̽º ¼±ÅÃ

  ´Ù¼öÀÇ ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º°¡ ºÎÂøµÇ¾î Àִ ȣ½ºÆ®¿¡¼­´Â ÀÀ¿ë
  ÇÁ·Î±×·¥À¸·Î ÇÏ¿©±Ý ¾î¶² ÀÎÅÍÆäÀ̽º·Î Àü¼ÛÀ» Ãâ·ÂÇؾßÇÏ´ÂÁö °áÁ¤ÇÒ ¼ö
  ÀÖµµ·Ï ÇØ ÁÖ¾î¾ßÇÑ´Ù. ¸¸ÀÏ ÁöÁ¤ °ªÀÌ ¾ø´Ù¸é Ä¿³ÎÀÌ °ü¸®ÀÚÀÇ ¼³Á¤¿¡
  ±âÃÊÇÏ¿© ±âº» °ªÀ» Á¤ÇÑ´Ù.

  2.4.  ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥ ¼ö½Å

  2.4.1.  ¸ÖƼij½ºÆ® ±×·ì Âü¿©(Join)

  ºê·Îµåij½ºÆ®´Â ¸ÖƼij½ºÆ®º¸´Ù ºñ±³Àû ±¸ÇöÇϱ⠽±´Ù. ºê·Îµåij½ºÆ®´Â
  Ä¿³Î¿¡ ÆÐŶ ó¸® ±ÔÄ¢À» Ãß°¡·Î ¾Ë·ÁÁÙ ÇÊ¿ä°¡ ¾ø´Ù. Ä¿³ÎÀº ºê·Îµåij½ºÆ®
  ÆÐŶÀ» Àаí ÀûÀýÇÑ ÀÀ¿ëÇÁ·Î±×·¥À¸·Î Àü´ÞÇÏ´Â ¹æ¹ýÀ» ¾Ë°í ÀÖ´Ù.

  ±×·¯³ª ¸ÖƼij½ºÆ®¿¡¼­´Â ¿ì¸®°¡ ¾î¶² ±×·ì¿¡ °ü½ÉÀÌ ÀÖ´ÂÁö Ä¿³Î¿¡ ¾Ë·ÁÁÙ
  ÇÊ¿ä°¡ ÀÖ´Ù.  Áï, Ä¿³Î¿¡ ¾î¶² ±×·ì¿¡ "Âü¿©(join)@quot;Çϵµ·Ï ¿äûÇؾß
  ÇÑ´Ù´Â °ÍÀÌ´Ù. Çϵå¿þ¾î¿¡ µû¶ó, ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥À» Çϵå¿þ¾î°¡
  Á÷Á¢ ÇÊÅ͸µÇϰųª ¾Æ´Ï¸é IP °èÃþ¿¡¼­ ÇÏ´Â °æ¿ìµµ ÀÖ´Ù. ¾î¶²  °æ¿ì¿¡´Â
  ¾çÂÊ  ¸ðµÎ¿¡¼­  ÀÌ·ç¾îÁö±âµµ  ÇÑ´Ù.  ¿ÀÁ÷  "Âü¿© (join)"¸¦ ÅëÇؼ­
  µî·ÏµÈ ±×·ì¸¸ÀÌ ¹Þ¾Æµé¿©Áø´Ù.

  º»ÁúÀûÀ¸·Î ¿ì¸®°¡ ±×·ì¿¡ Âü¿©ÇÑ´Ù´Â °ÍÀº Ä¿³Î¿¡°Ô ´ÙÀ½°ú °°Àº À̾߱⸦
  ÇÏ´Â °ÍÀ» ÀǹÌÇÑ´Ù. " ±âº» ¼³Á¤À¸·Î ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥À» ó¸®ÇÏÁö
  ¾Ê´Â´Ù´Â °ÍÀ» ¾Ë°í ÀÖÁö¸¸, ³»°¡ ÀÌ ¸ÖƼij½ºÆ® ±×·ì¿¡ Âü¿©ÇÏ°íÀÚ ÇÑ´Ù´Â
  Á¡À» ±â¾ïÇØÁֱ⠹ٶõ´Ù.  ±×·¯´Ï ÀÌ ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º¿¡¼­ º¸ÀÌ´Â
  ÆÐŶ°¡¿îµ¥, ÀÌ ¸ÖƼij½ºÆ® ±×·ì ÁÖ¼Ò¸¦ ¸ñÀûÁö Çʵ忡 Æ÷ÇÔÇÏ°í ÀÖ´Â
  ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥À» Àаí (³ª»Ó¸¸ ¾Æ´Ï¶ó ±×°Í¿¡ °ü½ÉÀ» °¡Áö°í ÀÖ´Â
  ¸ðµç) ÇÁ·Î¼¼½º¿¡°Ô Àü´ÞÇØ Áֱ⠹ٶõ´Ù. ".

  °í·ÁÇÒ °Í : ¿ì¼± ±×·ì¿¡ ´ÜÁö Âü¿©¸¸ ÇÏ´Â °ÍÀÌ ¸ðµç°Ô  ¾Æ´Ï¶ó´Â Á¡À»
  ÁÖ¸ñÇ϶ó. ¿ì¸®´Â ƯÁ¤ÇÑ ³×Æ®¿÷ ÀÎÅÍÆäÀ̽º »ó¿¡¼­ ±×·ì¿¡ Âü¿©ÇÑ´Ù.
  ¹°·Ð, Çϳª ÀÌ»óÀÇ ÀÎÅÍÆäÀ̽º·Î °°Àº ±×·ì¿¡ Âü¿©ÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù.
  ¸¸ÀÏ ÀÎÅÍÆäÀ̽º¸¦ È®½ÇÈ÷ ÁöÁ¤ÇÏÁö ¾Ê´Â´Ù¸é µ¥ÀÌÅͱ׷¥ÀÌ Àü¼ÛµÉ ¶§
  ¶ó¿ìÆà Å×ÀÌºí¿¡ ÀÇ°ÅÇÏ¿© Ä¿³ÎÀÌ ÁöÁ¤ÇÒ °ÍÀÌ´Ù. ¶ÇÇÑ, Çϳª ÀÌ»óÀÇ
  ÇÁ·Î¼¼½º°¡ µ¿ÀÏÇÑ ÀÎÅÍÆäÀ̽º·Î µ¿ÀÏÇÑ ¸ÖƼij½ºÆ® ±×·ì¿¡ Âü¿©ÇÏ´Â °Íµµ
  °¡´ÉÇÏ´Ù. ¸ðµç ÇÁ·Î¼¼½ºµéÀº ÇØ´ç ÀÎÅÍÆäÀ̽º·Î º¸³»Áö´Â µ¥ÀÌÅͱ׷¥À»
  ¼ö½ÅÇÑ´Ù.

  Àü¿¡ ¾ð±ÞÇßµíÀÌ, ¸ðµç ¸ÖƼij½ºÆ® È£½ºÆ®µéÀº ½Ãµ¿½Ã¿¡ Àüü È£½ºÆ®
  ±×·ì¿¡ Âü¿©Çϱ⠶§¹®¿¡ 224.0.0.1 ·Î pingÀ» º¸³»¸é  ³×Æ®¿÷ ³»¿¡¼­ ¸ðµç
  È£½ºÆ®µéÀÌ ÀÀ´äÀ» º¸³¾ °ÍÀÌ´Ù.

  ³¡À¸·Î, ÇÁ·Î¼¼½º°¡ ¸ÖƼij½ºÆ®  µ¥ÀÌÅͱ׷¥À» ¹Þ±â À§Çؼ­´Â  , Ä¿³Î¿¡°Ô,
  ±×·ì¿¡ Âü¿©ÇÑ ÈÄ µ¥ÀÌÅͱ׷¥À» ¼Û½ÅÇÏ´Â Æ÷Æ®¸¦   ¹­µµ·Ï(bind)  ¿äûÇؾß
  ÇÑ´Ù.   UDP  °èÃþÀº ÆÐŶÀ» Çؼ®(demultiplex)Çϱâ À§ÇØ ¸ñÀûÁö ÁÖ¼Ò¿Í
  Æ÷Æ®¹øÈ£¸¦ °°ÀÌ »ç¿ëÇÏ¸ç ¾î¶² ¼ÒÄÏÀ¸·Î ȤÀº  ¾î¶² ¼ÒÄϵé·Î ÆÐŶÀ»
  º¸³¾Áö  °áÁ¤ÇÑ´Ù.

  2.4.2.  ¸ÖƼij½ºÆ® Group Å»Åð

  ÇÁ·Î¼¼½º°¡ ¸ÖƼij½ºÆ® ±×·ìÀ» ¶°³¯ ¶§´Â Ä¿³Î¿¡ ±× ±×·ìÀ» ¶°³ª°íÀÚ
  ÇÑ´Ù°í ¾Ë¸°´Ù.  ÀÌ°ÍÀÌ Ä¿³ÎÀÌ ±× ±×·ìÀ¸·Î ¿À´Â ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥À»
  ´õ ÀÌ»ó ¹ÞÁö ¾ÊÀ½À» ÀǹÌÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó´Â Á¡À» ÀÌÇØÇØ¾ß ÇÑ´Ù. ¸¸ÀÏ
  "multicast join" ½ÅûÀ» Á¦ÃâÇÑ ÇÁ·Î¼¼½º°¡ ´õ ÀÖ°í ±× ±×·ì¿¡ ¿©ÀüÈ÷
  °ü½ÉÀ» °¡Áö°í ÀÖ´Â »óŶó¸é Ä¿³ÎÀº ¿©ÀüÈ÷ ÆÐŶÀ» ¼ö½ÅÇÒ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ
  °æ¿ì È£½ºÆ®´Â ¸ðµç ÇÁ·Î¼¼½º°¡ ±× ±×·ìÀ» ¶°³ª±â·Î °áÁ¤ÇÒ ¶§±îÁö ¿©ÀüÈ÷
  ±×·ì¿¡ ³²¾Æ ÀְԵȴÙ.

  Ãß°¡ : ±×·ìÀ» ¶°³­´Ù ÇÒÁö¶óµµ,  ¼ö½ÅÇÏ´ø Æ÷Æ®¿¡ ¿©ÀüÈ÷ ¿¬°á(bind)µÈ
  Ã¤·Î ³²¾ÆÀÖÀ» °ÍÀÌ¸ç ¾ÆÁ÷ ¸ÖƼij½ºÆ® ±×·ì¿¡ Âü¿©ÇÏ°í ÀÖ´Â ÇÁ·Î¼¼½º°¡
  ´õ ÀÖÀ¸¸é  ¸ÖƼij½ºÆ® trafficÀ» °è¼Ó ¼ö½ÅÇÏ°Ô µÉ °ÍÀÌ´Ù.

  ¸ÖƼij½ºÆ® group ¿¡ Âü¿©ÇÔ¿¡ À־, ¿äÁ¡Àº IP ¿Í data link °èÃþ¿¡
  ÇØ´ç ±×·ìÀ¸·Î ÇâÇÏ´Â ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥À»  ¹Þµµ·Ï ÁöÁ¤ÇÏ´Â °ÍÀÌ´Ù.
  (°æ¿ì¿¡ µû¶ó¼­´Â ¸í½ÃÀûÀ¸·Î Çϵå¿þ¾î¿¡ ÁöÁ¤ÇÏ´Â °æ¿ìµµ ÀÖ´Ù) ÀÌ°ÍÀº
  ÇÁ·Î¼¼½º ´ÜÀ§(per-process membership)°¡ ¾Æ´Ï¶ó  È£½ºÆ® ´ÜÀ§(per-host
  membership)ÀÌ´Ù.

  2.4.3.  IP ¸ÖƼij½ºÆ® ÁÖ¼Ò¿¡¼­ Ethernet/FDDI ÁÖ¼Ò·ÎÀÇ »ç»ó (mapping)

  Ethernet°ú FDDI ¿¡¼­ ÇÁ·¹ÀÓ(frames)Àº 48 ºñÆ®ÀÇ ¸ñÀûÁö ÁÖ¼Ò°ø°£À»
  °¡Áø´Ù. ¸ÖƼij½ºÆ® IP ÁÖ¼Ò¸¦ ethernet/FDDI·Î »ç»óÇϱâ À§ÇÑ  ¸ÖƼij½ºÆ®
  ARP °°Àº °ÍÀ» ÇÇÇϱâ À§Çؼ­, IANA´Â ¸ÖƼij½ºÆ®¸¦ À§ÇØ ÁÖ¼Ò°ø°£À»
  ¿¹¾àÇß´Ù. ¸ñÀûÁö°¡, 01-00-5e-00-00-00 ¿¡¼­ 01-00-5e-ff-ff-ff
  (16Áø¼ö)»çÀÌÀÇ ¸ðµç ethernet/FDDI ÇÁ·¹ÀÓÀº ¸ÖƼij½ºÆ® ±×·ìÀ» À§ÇÑ
  µ¥ÀÌÅ͸¦ °¡Áø´Ù. Á¢µÎ¾î(prefix) 01-00-5e ´Â ÇØ´ç ÇÁ·¹ÀÓÀÌ ¸ÖƼij½ºÆ®
  ÀÓÀ» ³ªÅ¸³»¸ç, ¹Ù·Î ´ÙÀ½ ºñÆ®´Â  Ç×»ó 0ÀÌ´Ù. µû¶ó¼­, ³ª¸ÓÁö 23
  ºñÆ®¸¸ÀÌ ¸ÖƼij½ºÆ® ÁÖ¼Ò¸¦ À§ÇØ »ç¿ëµÈ´Ù. ±×·±µ¥, ¸ÖƼij½ºÆ® ±×·ìÀÇ
  IP´Â 28ºñÆ® ±æÀÌÀ̹ǷΠ1´ë1 »ç»óÀº ºÒ°¡´ÉÇÏ´Ù.  ¿ÀÁ÷ IP ¸ÖƼij½ºÆ®
  ±×·ìÀÇ 23°³ ÇÏÀ§ ºñÆ®(Least Significant Bit)¸¸ÀÌ ÇÁ·¹ÀÓ¿¡ À§Ä¡ÇÑ´Ù.
  ³²´Â 5°³ÀÇ »óÀ§ ºñÆ®´Â  ¹«½ÃµÇ¸ç32°³ÀÇ(2^5=32) ¼­·Î ´Ù¸¥ ¸ÖƼij½ºÆ®
  ±×·ìÀÌ µ¿ÀÏÇÑ ethernet/FDDI address»ç»óµÈ´Ù. ÀÌ°ÍÀº ethernet °èÃþÀÌ
  ¿ÏÀüÇÑ ÇÊÅÍ·Î ÀÛ¿ëÇÏÁö  ¸øÇÔÀ» ÀǹÌÇϸç, IP °èÃþÀÌ data link °èÃþÀ»
  Åë°úÇØ¿Â µ¥ÀÌÅͱ׷¥À» ¹ÞÀ» °ÍÀÎÁö ¹ö¸± °ÍÀÎÁö¸¦ °áÁ¤Çؾߠ ÇÒ °ÍÀÌ´Ù.
  IP °èÃþÀÌ ÃÖÈÄÀÇ ¿Ïº®ÇÑ ÇÊÅÍÀÌ´Ù.

  FDDI»óÀÇ   IP   ¸ÖƼij½ºÆÿ¡   °üÇÑ    ÀÚ¼¼ÇÑ   ³»¿ëÀº   RFC   1390
  "Transmission of IP and ARP over FDDI Networks" ¿¡ ³ª¿ÍÀÖ´Ù. IP
  Multicast  ÁÖ¼ÒÀÇ ethernetÀ¸·ÎÀÇ   »ç»ó¿¡ °üÇÑ ´õ¿í   ÀÚ¼¼ÇÑ ³»¿ëÀº
  draft-ietf-mboned-intro-multicast-03.txt "Introduction to IP Multicast
  Routing"À» ÂüÁ¶Ç϶ó.

  Token-Ring LAN »ó¿¡¼­ÀÇ IP ¸ÖƼij½ºÆ®¿¡ °ü½ÉÀÌ  ÀÖ´Ù¸é RFC 1469¸¦
  ÂüÁ¶Ç϶ó.

  3.  Ä¿³Î ¿ä±¸ »çÇ×°ú ¼³Á¤

  Linux´Â ´ç¿¬È÷(¼³¸¶ ÀǽÉÀ»?) ¿ÏÀüÇÑ Level 2 ¸ÖƼij½ºÆ®¸¦ Áö¿øÇÑ´Ù.
  ¸ðµç ¼Û¼ö½Å ¿ä±¸»çÇ×À» ¸¸Á·ÇÏ¸ç ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥¿¡ °üÇؼ­
  ¶ó¿ìÅÍ(mrouter)ó·³ ÀÛµ¿ÇÑ´Ù.

  ¸ÖƼij½ºÆ® ¼Û¼ö½ÅÀÌ ÇÏ°í½Í´Ù¸é Ä¿³Î ¼³ Á¤½Ã "IP: multicasting"¿¡
  yes¶ó°í ÇØÁֱ⸸ ÇÏ¸é µÈ´Ù. Linux box¸¦ ¸ÖƼij½ºÆ® ¶ó¿ìÅÍ  (mrouter)·Î
  »ç¿ëÇÏ°í ½Í´Ù¸é "IP: forwarding/gatewaying", "IP: multicast routing"
  ±×¸®°í "IP: tunneling"À» ¼±ÅÃÇØÁÖ¸é µÈ´Ù. ÈÄÀÚ´Â »õ·Î¿î ¹öÀüÀÇ
  mrouted°¡ ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥À» À¯´Ïij½ºÆ® µ¥ÀÌÅͱ׷¥¿¡
  Ä¸½¶È­(encapsulation)Çؼ­ º¸³»±â À§ÇØ IP tunneling ¿¡ ÀÇÁ¸Çϱâ
  ¶§¹®ÀÌ´Ù. ÀÌ°ÍÀº À¯´Ïij½ºÆ® Àü¿ë  ³×Æ®¿÷¿¡ ºÐ»êµÇ¾îÀÖ´Â ¸ÖƼij½ºÆ®
  È£½ºÆ®µé°£ÀÇ ¿¬°á(tunneling)À» À§Çؼ­ ÇÊ¿äÇÏ´Ù.  (mrouted´Â ¶ó¿ìÆÃ
  ¾Ë°í¸®Áò-¶ó¿ìÆà Á¤Ã¥-À» ±¸ÇöÇÏ°í Ä¿³Î¿¡ ¸ÖƼij½ºÆ®  µ¥ÀÌÅͱ׷¥À»
  ¾î¶»°Ô ¶ó¿ìÆÃÇÒ °ÍÀÎÁö ¾Ë·ÁÁÖ´Â daemonÀÌ´Ù).

  ¾î¶°ÇÑ ¹öÀüÀÇ Ä¿³ÎµéÀº ¸ÖƼij½ºÆ®  ¶ó¿ìÆÃÀ» "EXPERIMENTAL"·Î ºÐ·ùÇÏ°í
  Àֱ⠶§¹®¿¡, "Code maturity level options"¼½¼Ç¿¡¼­  "Prompt for
  development  and/or incomplete code/drivers"¿É¼ÇÀ» °¡´ÉÇÏ°Ô ÇØ ÁÖ¾î¾ß
  ÇÑ´Ù. ¸¸ÀÏ mrouted°¡ ½ÇÇàÁßÀÏ ¶§ ¿ì¸®ÀÇ Linux box°¡ ¼ÓÇØÀÖ´Â µ¿ÀÏ
  ³×Æ®¿÷¿¡¼­ »ý¼ºµÈ trafficÀº Á¤»óÀûÀ¸·Î ´Ù¸¥ ³×Æ®¿÷¿¡ Æ÷¿öµùÇØÁִµ¥,
  ´Ù¸¥ ³×Æ®¿÷ÀÇ trafficÀ»  º¼ ¼ö ¾ø´Ù¸é ICMP ¿¡·¯¸Þ½ÃÁö¸¦ ¹Þ°íÀÖÁö´Â
  ¾Ê´ÂÁö È®ÀÎÇØ º¸¶ó. °ÅÀÇ ¸ðµç °æ¿ì°¡ IP tunnelingÀ» È°¼ºÈ­ ½ÃÄѳõÁö
  ¾ÊÀº °æ¿ì ÀÏ °ÍÀÌ´Ù. ÀÏ´Ü ¾Ë°í³ª¸é Á¤¸» °£´ÜÇÑ °ÍÀÌÁö¸¸, Á¤¸»ÀÌÁö,
  ¸ð¸£´Â °æ¿ì¿¡´Â ½Ã°£ ²Ï³ª °É¸®°í  ÀÌÀ¯µµ ½±»ç¸® ¾Ë±â ¾î·Æ´Ù. ÀÌ·±
  »óȲ¿¡¼­´Â ½º´ÏÆÛ(sniffer)°¡ Á¤¸» À¯¿ëÇÏ´Ù!

  (¸ÖƼij½ºÆ® ¶ó¿ìÆÿ¡ ´ëÇؼ­´Â "Routing Policies and Forwarding
  Techniques" ¼½¼Ç¿¡¼­, mrouted ¿Í tunnel ¿¡ ´ëÇؼ­´Â "The MBone" °ú
  "Multicast applications"¿¡¼­ Ãß°¡·Î ¼³¸íÇÑ´Ù).

  ÀÏ´Ü Ä¿³ÎÀ» ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÑ ÈÄ¿¡´Â ¸ÖƼij½ºÆ® Æ®·¡ÇÈÀ» À§ÇÑ ±âº»
  ¶ó¿ìÆðæ·Î¸¦  ¼³Á¤ ÇؾßÇÑ´Ù. ¿ì¸®ÀÇ ¸ñÇ¥´Â 224.0.0.0 ³×Æ®¿÷À¸·ÎÀÇ
  °æ·Î¸¦ Ãß°¡ÇÏ´Â °ÍÀÌ´Ù.

  ´ëºÎºÐÀÇ »ç¶÷µéÀÌ ÀÌ ´Ü°è¿¡¼­ °Þ´Â ¹«Á¦´Â ¸¶½ºÅ© °ªÀ¸·Î ÀÎÇÑ
  ¾î·Á¿òÀÌ´Ù. ¸¸ÀÏ Terry DawsonÀÇ À¯¸íÇÑ NET-3-HOWTO¸¦ Àоú´Ù¸é, ¿Ã¹Ù¸¥
  °ªÀ» ¾Ë¾Æ ¸ÂÃ߱⠾î·ÆÁö ¾ÊÀ» °ÍÀÌ´Ù. ±× ¹®¼­¿¡¼­ ¼³¸íÇßµíÀÌ,
  ³Ý¸¶½ºÅ©(subnetmask)´Â ¿ì¸®ÀÇ IP ÁÖ¼ÒÀÇ ³×Æ®¿÷ ºÎºÐÀ» ¸ðµÎ 1·Î ä¿ì°í
  È£½ºÆ® ºÎºÐÀ» ¸ðµÎ 0À¸·Î ä¿î 32ºñÆ® ¼ýÀÚÀÌ´Ù. ¼½¼Ç 2.1¿¡¼­ º¸¾ÒµíÀÌ
  Å¬·¡½ºD ¸ÖƼij½ºÆ® ÁÖ¼Ò´Â ³×Æ®¿÷/È£½ºÆ®Çü½ÄÀ¸·Î ±¸ºÐµÇ¾îÀÖÁö ¾Ê´Ù.
  ´ë½Å 18ºñÆ®ÀÇ ±×·ì ±¸ºÐÀÚ¿Í  4ºñÆ®ÀÇ Å¬·¡½ºD ±¸ºÐÀÚ·Î ÀÌ·ç¾îÁ®ÀÖ´Ù. ÀÌ
  4ºñÆ®°¡ ³×Æ®¿÷ ºÎºÐ¿¡ ´ëÀÀµÇ°í 28ºñÆ®°¡ È£½ºÆ®  ºÎºÐ¿¡ ´ëÀÀµÈ´Ù.
  µû¶ó¼­ ¼­ºê³Ý¸¶½ºÅ©´Â 11110000000000000000000000000000 ½±°Ô ÀÐÀÚ¸é,
  240.0.0.0ÀÌ µÈ´Ù. ±×·¯¸é ¿ÏÀüÇÑ ¸í·É¾î´Â ´ÙÀ½°ú °°ÀÌ µÉ °ÍÀÌ´Ù.
  route add 224.0.0.0 netmask 240.0.0.0 dev eth0

  route ÇÁ·Î±×·¥ÀÇ ¹öÀü¿¡ µû¶ó¼­ addµÚ¿¡ -net À» ºÙ¿©¾ß ÇÏ´Â °æ¿ìµµ
  ÀÖ´Ù.

  ¿©±â¼­ eth0ÀÌ ¸ÖƼij½ºÆ® °¡´ÉÇÏ´Ù°í °¡Á¤ÇßÀ¸¸ç, ´Þ¸® ÁöÁ¤µÇÁö ¾ÊÀ»
  °æ¿ì ¸ÖƼij½ºÆ® Æ®·¡ÇÈÀÌ eth0À¸·Î Ãâ·ÂµÉ °ÍÀÌ´Ù. ÀÌ°ÍÀÌ ¿ì¸®¿¡°Ô
  ÇØ´çµÇÁö ¾Ê´Â´Ù¸é dev º¯¼ö °ªÀ» ´Ù¸¥ °ªÀ¸·Î ¹Ù²Ù¾î ÁÖ¾î¾ßÇÑ´Ù.

  ¿©±â¼­ ´Ù½Ã Çѹø /proc  ÆÄÀϽýºÅÛÀÇ À¯¿ë¼ºÀÌ ÀÔÁõµÈ´Ù.  ¿ì¸®´Â
  ¿ì¸®È£½ºÆ®°¡ Âü¿©ÇÏ°í ÀÖ´Â ±×·ìÀ» /proc/net/igmp¸¦ ÅëÇؼ­ È®ÀÎÇØ º¼ ¼ö
  ÀÖ´Ù.

  4.  The MBone.

  ÀåÁ¡°ú ÇÔ²² ´ÜÁ¡µµ ÀÖ´Â ±â¼úÀÌ´Ù. ³ªÀÇ »ç°ßÀÌÁö¸¸, ÀåÁ¡Àº ºÐ¸íÇÏ´Ù´Â
  Á¡ÀÌ´Ù. ÁÖµÈ ´ÜÁ¡Àº ¾ÆÁ÷ ¼ö¹éÀÇ È£½ºÆ®µé, ƯÈ÷ ¶ó¿ìÅ͵éÀÌ ¾ÆÁ÷
  Áö¿øÇÏÁö ¾Ê°í ÀÖ´Ù´Â Á¡ÀÌ´Ù.  °á°úÀûÀ¸·Î ¸ÖƼij½ºÆ®¸¦ »ç¿ëÇÏ´Â
  »ç¶÷µéÀº »õ·Î¿î Àåºñ¸¦ ±¸ÀÔÇÏ°í ¿î¿µÃ¼Á¦¸¦ ¼öÁ¤Çϸç ÀÚ½ÅÀÇ Àå¼Ò¿¡
  ¸ÖƼij½ºÆ®¶ó´Â ¼¶À» ¸¸µç´Ù. ±×¸®°í ±×µéÀº ´Ù¸¥ °÷¿¡¼­ ÀڽŰú ºñ½ÁÇÑ
  ÀÏÀ» ÇÏ°í ÀÖ´Â »ç¶÷µé°ú Åë½ÅÇÒ ¼ö¾øÀ½À» ¾Ë°ÔµÈ´Ù. ±×µé »çÀÌÀÇ
  ¸ÖƼij½ºÆ®¸¦ Áö¿øÇÏÁö ¾Ê´Â ´Ü ÇϳªÀÇ ¶ó¿ìÅÍ ¶§¹®¿¡...

  ÇØ´äÀº ºÐ¸íÇÏ´Ù. ±×µéÀº °¡»ó ¸ÖƼij½ºÆ® ³×Æ®¿÷À» ÀÎÅÍ³Ý ÃÖ »ó´Ü¿¡
  ¸¸µé±â·Î °áÁ¤ÇÑ´Ù.  Áï ¸ÖƼij½ºÆ® ¶ó¿ìÅ͸¦ °¡Áø »çÀÌÆ®µéÀº ±×µé°£¿¡
  Á÷Á¢ÀûÀ¸·Î Åë½ÅÇÏ´Â °ÍÀÌ´Ù. ÇÏÁö¸¸ À¯´Ïij½ºÆ® ¶ó¿ìÅ͸¦ ÅëÇؼ­ ¿¬°áµÈ
  »çÀÌÆ®µéÀº ´Ù¸¥ ¸ÖƼij½ºÆ® ¼¶À¸·Î À¯´Ïij½ºÆ® °¸½¶È­µÈ ¸ÖƼij½ºÆ®
  Æ®·¡ÇÈÀ» º¸³»¾ß ÇÒ °ÍÀÌ´Ù. Áß°£¿¡ °ÉÃÄÁø ¶ó¿ìÅ͵é-À¯´Ïij½ºÆ®Àü¿ë
  ¶ó¿ìÅ͵é-Àº À¯´Ïij½ºÆ® Æ®·¡ÇÈÀ» ´Ù·ç´Â °ÍÀÌ µÇ¹Ç·Î ¹®Á¦°¡ µÇÁö ¾Ê´Â´Ù.
  ³¡À¸·Î ¼ö½Å Ãø¿¡¼­´Â ĸ½¶È­µÈ Æ®·¡ÇÈÀ» ´Ù½Ã ¿ø·¡ÀÇ ¸ÖƼij½ºÆ®
  Æ®·¡ÇÈÀ¸·Î Çؼ®ÇÒ  °ÍÀÌ´Ù. ÀÌ·¸°Ô ¸ÖƼij½ºÆ® Æ®·¡ÇÈÀ» À¯´Ïij½ºÆ®
  Æ®·¡ÇÈÀ¸·Î ´Ù½Ã ¸ÖƼij½ºÆ® Æ®·¡ÇÈÀ¸·Î º¯È¯ÇÏ´Â °ÍÀ» ¸ÖƼij½ºÆ®
  Åͳθµ(tunneling)À̶ó ÇÑ´Ù.

  Áï, MBone ¶Ç´Â ¸ÖƼij½ºÆ® ¹éº»(Multicast Backbone)Àº ¸ÖƼij½ºÆ® ¼¶µéÀ»
  ¸ÖƼij½ºÆ® ÅͳηΠÀ̾îÁÖ´Â °¡»ó ¸ÖƼij½ºÆ® ³×Æ®¿÷(virtual multicast
  network)ÀÌ´Ù.

  ÀÌ MBone¿¡ °üÇÑ È°µ¿µéÀÌ È°¹ßÇÏ´Ù. ±×·¯ÇÑ ¹Ý¸é Áö±Ýµµ ÀÎÅͳݿ¡¼­´Â
  ½Ç½Ã°£ ¿Àµð¿À ¹× ºñµð¿À·Î dzºÎÇÑ ¿ø°ÝȸÀÇ°¡ ÀÌ·ç¾îÁö´Â ÁßÀÌ´Ù. ÃÖ±Ù
  Linus Torvalds°¡ Silicon Valley Linux Users Group¿¡¼­ ¹ßÇ¥ÇÑ °ÍÀÌ
  ¶óÀ̺ê·Î ÀÎÅÍ³Ý Àü¼ÛµÈ ÀÏÀÌ ÀÖ´Ù.

  MBone¿¡ °üÇÑ ´õ ÀÚ¼¼ÇÑ ÀÚ·á´Â ´ÙÀ½À» Âü°íÇ϶ó.
  <http://www.mediadesign.co.at/newmedia/more/mbone-faq.html>

  5.  ¸ÖƼij½ºÆ® ÀÀ¿ëÇÁ·Î±×·¥µé

  ¸ÖƼij½ºÆ®¸¦ ´Ù·ç´Â ´ëºÎºÐÀÇ »ç¶÷µéÀº Á¶¸¸ °£¿¡ MBone¿¡ ¿¬°áÇÒ °ÍÀ̸ç
  mrouted¸¦ ÇÊ¿ä·Î ÇÒ °ÍÀÌ´Ù. ¿ì¸® ¿ª½Ã ¸ÖƼij½ºÆ®¶ó¿ìÅÍ°¡ ¾ø´Â »óÅ¿¡¼­
  ´Ù¸¥ ¼­ºê³ÝÀ¸·Î ¸ÖƼij½ºÆ® Æ®·¡ÇÈÀ» Àü´ÞÇϱ⠿øÇÑ´Ù¸é mrouted°¡
  ÇÊ¿äÇÏ´Ù. mrouted´Â ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥À» À¯´Ïij½ºÆ® Çü½ÄÀ¸·Î
  Ä¸½¶È­ÇÏ¿© (IP¿¡¼­ IP·Î) À¯´Ïij½ºÆ® ¶ó¿ìÅ͸¦ ÅëÇØ ¸ÖƼij½ºÆ® Æ®·¡ÇÈÀ»
  Àü¼ÛÇÒ ¼ö ÀÖµµ·Ï ÇØÁÖ¸ç, ÀÌ ¿Ü¿¡µµ ¸î °¡Áö ±â´ÉÀÌ ÀÖ´Ù. °¡Àå Áß¿äÇÑ
  °ÍÀº ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥ÀÇ ¹ß½ÅÁö¿Í ¸ñÀûÁö¸¦ °¨ÁöÇÏ¿© ¾î¶»°Ô
  ¶ó¿ìÆÃÀ» ÇÒ °ÍÀÎÁö ¾Æ´Ï¸é ÇÏÁö ¾ÊÀ» °ÍÀÎÁö  Ä¿³Î¿¡ ¾Ë·ÁÁشٴ Á¡ÀÌ´Ù.
  ¸ÖƼij½ºÆ® ¶ó¿ìÅ͸¦ °¡Áö°í ÀÖ´Ù°í ÇÏ´õ¶óµµ mrouted´Â Ä¿³Î¿¡
  µ¥ÀÌÅͱ׷¥À¸·Î ¹«¾ùÀ» ÇÒÁö ¾Ë·ÁÁØ´Ù. (¾î¶»°Ô°¡ ¾Æ´Ï¶ó ¹«¾ùÀÌ´Ù.
  mrouted´Â "ÀÌ°ÍÀ» Àú ÀÎÅÍÆäÀ̽º°¡ ¿¬°áµÈ ³×Æ®¿÷À¸·Î Æ÷¿öµùÇ϶ó."°í
  ¸»ÇÏÁö¸¸, ½ÇÁ¦·Î Æ÷¿öµùÀº Ä¿³ÎÀÌ ¼öÇàÇÑ´Ù.) ½ÇÁ¦ Æ÷¿öµù ÀÛ¾÷
  ºÎºÐ(¾îµð¼­ ÇÒ °ÍÀΰ¡)°ú Æ÷¿öµù ¾Ë°í¸®Áò ºÎºÐ(¾î¶»°Ô ÇÒ °ÍÀΰ¡)À»
  ±¸ºÐÇϸé Æ÷¿öµù Äڵ带 ¿ÀÁ÷ Çѹø¸¸ ÀÛ¼ºÇؼ­ Ä¿³Î¿¡ ³ÖÀ¸¸é µÇ±â ¶§¹®¿¡
  ¾ÆÁÖ À¯¿ëÇÏ´Ù. Æ÷¿öµù ¾Ë°í¸®Áò°ú Á¤Ã¥Àº ÃßÈÄ¿¡ »ç¿ëÀÚ °ø°£ÀÇ µ¥¸ó(user
  space daemon)¿¡¼­ ±¸ÇöµÇ¸ç, µû¶ó¼­, Ä¿³ÎÀ» Àç ÄÄÆÄÀÏ ÇÒ ÇÊ¿ä ¾øÀÌ
  ¶ó¿ìÆà Á¤Ã¥À» ½±°Ô ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.

  ´ÙÀ½ »çÀÌÆ®¿¡¼­ ¸®´ª½º·Î Æ÷ÆÃµÈ mrouted¸¦ ±¸ÇÒ ¼ö ÀÖ´Ù.
  <ftp://www.video.ja.net/mice/mrouted/Linux/> ÀÌ »çÀÌÆ®ÀÇ ¹Ì·¯´Â ´ÙÀ½À»
  ÂüÁ¶Ç϶ó.  <ftp://www.video.ja.net/mice/README.mirrors>

  ´ÙÀ½À¸·Î ¸®´ª½º·Î Æ÷ÆÃµÈ ¸ÖƼij½ºÆ® ÀÀ¿ëÇÁ·Î±×·¥µé °¡¿îµ¥ MBone¿¡
  ¿¬°áÇϵµ·Ï ÀÛ¼ºµÈ °Íµé¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. ¿©±â¿¡ ÀÖ´Â ¸®½ºÆ®´Â Michael
  EslerÀÇ "Linux Multicast Information"¿¡¼­ °¡Á®¿Ô´Ù.
  <http://www.cs.virginia.edu/~mke2e/multicast/>.  ¸ÖƼij½ºÆ®¿Í ¸®´ª½º¿¡
  ´ëÇÑ Á¤º¸°¡ ¾ÆÁÖ ¸¹¾Æ ÃßõÇÒ ¸¸ ÇÏ´Ù.

  À½¼º ȸÀÇ(Audio Conference)

  o  NeVoT- NetworkVoice Terminal   <http://www.fokus.gmd.de/step/nevot>

  o  RAT -UCL Robust-Audio Tool    <http://www-
     mice.cs.ucl.ac.uk/mice/rat>

  o  vat - LBL visual audio tool    <http://www-nrg.ee.lbl.gov/vat/>

  ¿µ»ó ȸÀÇ(Video Conference)

  o  ivs     -Inria     videoconferencing     system
     <http://www.inria.fr/rodeo/ivs.html>

  o  nv - Network video tool    <ftp://ftp.parc.xerox.com/pub/net-
     research/>

  o  nv w/  Meteor -   Release of nv   w/ support for   the Matrox
     Meteor (UVa) <ftp://ftp.cs.virginia.edu/pub/gwtts/Linux/nv-
     meteor.tar.gz>

  o  vic - LBL video conferencing tool    <http://www-
     nrg.ee.lbl.gov/vic/>

  o  vic w/  Meteor -  Release  of vic  w/ support  for  the Matrox
     Meteor (UVa)
     <ftp://ftp.cs.virginia.edu/pub/gwtts/Linux/vic2.7a38-meteor.tar.gz>

  ±âŸ À¯Æ¿¸®Æ¼

  o  mmphone     Multimediaphone     service
     <http://www.eit.com/software/mmphone/phoneform.html>

  o  wb - LBL shared white board  <http://www-nrg.ee.lbl.gov/wb/>

  o  webcast - Reliable multicast application  for linking Mosaic
     browsers
     <http://www.ncsa.uiuc.edu/SDG/Software/XMosaic/CCI/webcast.html>

  È¸ÀÇ µµ±¸(Session Tools)

  ¾à°£ ¼³¸íÇÒ ÇÊ¿ä°¡ À־ À̰͵éÀº µÚ¿¡ ³õ¾Ò´Ù.  È¸ÀǸ¦ ÇϰԵǸé
  È¸ÀǸ¦ À§ÇÑ ¼­ºñ½ºµé(À½¼º, ¿µ»ó, °øÀ¯ Ä¥ÆÇ, µîµî...)¿¡ ¸ÖƼij½ºÆ®
  ±×·ì°ú Æ÷Æ®µéÀ» ÇÒ´çÇÑ´Ù. ȸÀǸ¦ ½ÃÀÛÇÏ¸é ¸ÖƼij½ºÆ® ±×·ì°ú Æ÷Æ®,
  ÇÁ·Î±×·¥(vic, vat, ...)µî¿¡ °üÇÑ Á¤º¸°¡ ÁÖ±âÀûÀ¸·Î MBoneÀ¸·Î
  Àü¼ÛµÈ´Ù. ȸÀÇ µµ±¸µéÀº  ÀÌ·¯ÇÑ Á¤º¸¸¦ "µè°í "¿ì¸®°¡ °ü½É Àִ ȸÀÇ°¡
  ¾ðÁ¦ ÀÖ´ÂÁö (ȤÀº ÀÖÀ»Áö) ¾Ë¾Æº¸±â ½±°Ô ¾Ë·ÁÁØ´Ù.  ¶ÇÇÑ, ȸÀÇ¿¡
  Âü¿©ÇÏ´Â °úÁ¤À» ½±°Ô ÇØÁØ´Ù. ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄѼ­ Âü¿©ÇÒ
  ±×·ì/Æ÷Æ®¹øÈ£¸¦ ¾Ë·ÁÁÖ´Â ´ë½Å Ŭ¸¯ÇÏ´Â °Í¸¸À¸·Î ¼¼¼Çµµ±¸µéÀÌ ÀûÀýÇÑ
  ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°°í ±× ÇÁ·Î±×·¥¿¡ ÀûÀýÇÑ Á¤º¸¸¦ Á¦°øÇÑ´Ù.
  È¸Àǵµ±¸µéÀº º¸Åë »ç¿ëÀÚ ÀÚ½ÅÀÇ È¸ÀǸ¦ MBone¿¡ ¾Ë¸®´Â ¿ªÇÒµµ ÇÑ´Ù.

  o  gwTTS - University of Virginia tele-tutoring system
     <http://www.cs.Virginia.EDU/~gwtts>

  o  isc - Integrated session controller
     <http://www.fokus.gmd.de/step/isc>

  o  mmcc - Multimedia onference control
     <ftp://ftp.isi.edu/confctrl/mmcc>

  o  sd - LBL session directory tool
     <ftp://ftp.ee.lbl.gov/conferencing/sd>

  o  sd-snoop - Tenet Group session directory snoop utility
     <ftp://tenet.berkeley.edu/pub/software>

  o  sdr - UCL's next generation session directory
     <ftp://cs.ucl.ac.uk/mice/sdr>

  6.  ¸ÖƼij½ºÆ® ÇÁ·Î±×·¡¹Ö

  ¸ÖƼij½ºÆ® ÇÁ·Î±×·¡¹Ö... ȤÀº, ¿ì¸®¸¸ÀÇ ÀÀ¿ëÇÁ·Î±×·¥ ÀÛ¼ºÇϱâ.

  ¸ÖƼij½ºÆ®¸¦ Áö¿øÇϱâ À§Çؼ­ ¸î °¡Áö È®ÀåµÈ ÀÀ¿ë ÇÁ·Î±×·¡¹Ö
  ÀÎÅÍÆäÀ̽º(API)°¡ ÇÊ¿äÇÏ´Ù. ±× °¡¿îµ¥ ´ëºÎºÐÀº setsockopt() (Ä¿³Î¿¡
  Á¤º¸¸¦ Àü´ÞÇÔ) ¿Í getsockopt() (¸ÖƼij½ºÆ® °ü·Ã Á¤º¸ ±¸ÇÔ) µÎ °¡Áö
  ½Ã½ºÅÛ È£ÃâÀ» ÅëÇØ Ã³¸®ÇÑ´Ù. »õ·Î¿î ½Ã½ºÅÛ È£Ã⠵ΰ³°¡ ¸ÖƼij½ºÆ®¸¦
  Áö¿øÇϱâ À§ÇØ Ãß°¡µÇ¾ú´Ù´Â ¶æÀÌ ¾Æ´Ï´Ù. setsockopt()/getsockopt()´Â
  4.2 BSD ½ÃÀýºÎÅÍ ÀÖ¾ú´Ù. ´ÜÁö Ä¿³Î¿¡ Àü´ÞÇØ ÁÖ¾î¾ßÇÏ´Â »õ·Î¿î
  ¸ÖƼij½ºÆ® ¿É¼ÇÀÌ Ãß°¡µÇ¾úÀ» »ÓÀÌ´Ù.

  setsockopt()/getsockopt() ÇÔ¼öÀÇ ¼±¾ðÀÌ´Ù.

  ______________________________________________________________________
        int getsockopt(int s, int level, int optname, void* optval, int* optlen);

         int setsockopt(int s, int level, int optname, const void* optval, int optlen);
  ______________________________________________________________________

  Ã¹ ¹ø° º¯¼ö s´Â ½Ã½ºÅÛ È£ÃâÀ» Àû¿ëÇÒ ¼ÒÄÏÀÌ´Ù. ¸ÖƼij½ºÆ®¿¡¼­ ÀÌ
  ¼ÒÄÏÀº AF_INET °è¿­  À̾î¾ßÇϸç, ¼ÒÄÏ Å¸ÀÔÀº SOCK_DGRAM ¶Ç´Â
  SOCK_RAW¸¦ ¾µ ¼ö ÀÖ´Ù. ´ëºÎºÐÀº SOCK_DGRAMÀ¸·Î ¾²Áö¸¸, ¶ó¿ìÆà µ¥¸óÀ»
  Á¦ÀÛÇϰųª ¼öÁ¤ÇÒ °èȹÀ̶ó¸é SOCK_RAW ÀÌ ÇÊ¿äÇÒÁö ¸ð¸¥´Ù.

  µÎ ¹ø° º¯¼ö levelÀº ¿É¼ÇÀ̳ª, ÁúÀÇ(query), ¸Þ½ÃÁö(message)¸¦ ó¸®ÇÒ
  ·¹À̾ ÀǹÌÇÑ´Ù.  ¼ÒÄÏ ·¹À̾î´Â SOL_SOCKET, IP ·¹À̾î´Â IPPROTO_IP,
  µîµîÀÌ´Ù. ¸ÖƼij½ºÆ® ÇÁ·Î±×·¡¹Ö¿¡ levelÀº Ç×»ó IPPROTO_IP À̾î¾ß ÇÑ´Ù.

  optnameÀº ¿ì¸®°¡ ¼³Á¤ °ªÀ» ÁöÁ¤ÇÏ´Â °ÍÀÎÁö ¾òÀ¸·Á ÇÏ´Â °ÍÀÎÁö¸¦
  ÀǹÌÇÑ´Ù. ¼³Á¤ °ª ÀÚü´Â(Ä¿³Î¿¡ ¼³Á¤Çϰųª Ä¿³Î·ÎºÎÅÍ Àоî¿À´Â µÎ °æ¿ì
  ¸ðµÎ) optvalÀÌ´Ù. ¸ÖƼij½ºÆ® ÇÁ·Î±×·¡¹Ö¿¡¼­ optnames´Â ´ÙÀ½°ú °°´Ù.

        optname              setsockopt()          getsockopt()
    IP_MULTICAST_LOOP           yes                     yes
    IP_MULTICAST_TTL            yes                     yes
    IP_MULTICAST_IF             yes                     yes
    IP_ADD_MEMBERSHIP           yes                      no
    IP_DROP_MEMBERSHIP          yes                      no

  optlenÀº optvalÀÌ °¡¸®Å°´Â µ¥ÀÌÅͱ¸Á¶ÀÇ Å©±â¸¦ ÀǹÌÇÑ´Ù. ´Ü,
  getsockopt()¿¡¼­´Â ¹Ýȯ °ªÀÌ µÈ´Ù. Ä¿³ÎÀº optname °ªÀ» optvalÀÌ
  °¡¸®Å°´Â ¹öÆÛ¿¡ ½á³ÖÀº ÈÄ optlenÀ» ÅëÇØ ÀÚ·áÀÇ Å©±â¸¦ ¾Ë·ÁÁØ´Ù.

  setsockopt()/getsockopt()¸ðµÎ ½ÇÇà °á°ú ¼º°øÇϸé 0, ¿¡·¯°¡ ¹ß»ýÇϸé
  -1À» ¹ÝȯÇÑ´Ù.

  6.1.  IP_MULTICAST_LOOP.

  ÇÁ·Î±×·¡¸Ó¶ó¸é, µ¥ÀÌÅ͸¦ È£½ºÆ®·Î ·çÇÁ¹é ½Ãų °ÍÀÎÁö °áÁ¤ÇؾßÇÑ´Ù.
  ¸¸ÀÏ, ÇÁ·Î¼¼½º°¡ ¿©·¯ °³À̰ųª µ¥ÀÌÅ͸¦ ¸®½º´×"listening"ÁßÀÎ »ç¿ëÀÚ°¡
  ÀÖ´Ù¸é ·çÇÁ¹éÀ» °¡´ÉÇÏ°Ô ÇؾßÇÑ´Ù. ÇÏÁö¸¸, Ä«¸Þ¶ó À̹ÌÁö¸¦ Àü¼ÛÇϴµ¥
  ÀÚ±â È­¸é¿¡¼­ À̹ÌÁö¸¦ º¼ ÇÊ¿ä°¡ ¾ø´Ù¸é, ¾Æ¸¶µµ ·çÇÁ¹éÀÌ ÇÊ¿ä ¾øÀ»
  °ÍÀÌ´Ù. ÈÄÀÚÀÇ °æ¿ì ÇÁ·Î±×·¥Àº ÄÄÇ»ÅÍ¿¡ ºÎÂøµÈ Ä«¸Þ¶ó·ÎºÎÅÍ ¿µ»óÀڷḦ
  ÀÌ¹Ì °¡Áö°í ÀÖÀ» °ÍÀ̱⠶§¹®¿¡, ´Ù½Ã ¼ÒÄÏÀ¸·ÎºÎÅÍ ÀڷḦ ¹Þ±â ¿øÇÏ´Â
  °æ¿ì´Â µå¹° °ÍÀÌ´Ù. ·çÇÁ¹éÀº ±âº» °ªÀ¸·Î È°¼ºÈ­µÇ¾î ÀÖ´Ù.

  optvalÀÌ Æ÷ÀÎÅÍÀ̱⠶§¹®¿¡ ´ÙÀ½Ã³·³ Çؼ­´Â ¾È µÈ´Ù.

  setsockopt(socket, IPPROTO_IP, IP_MULTICAST_LOOP, 0, 1);

  ·çÇÁ¹éÀ» Á¤Áö½ÃÅ°·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÏ°í

  u_char loop; setsockopt(socket, IPPROTO_IP, IP_MULTICAST_LOOP, &loop,
  sizeof(loop));

  ·çÇÁ¹éÀ» È°¼ºÈ­½ÃÅ°·Á¸é loop¸¦ 1·Î, ÁßÁö½ÃÅ°·Á¸é 0À¸·Î ¼³Á¤ÇÑ´Ù.

  ¼ÒÄÏÀÇ ÇöÀç ·çÇÁ¹é»óŸ¦ È®ÀÎÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.

  u_char loop; int size;

  getsockopt(socket, IPPROTO_IP, IP_MULTICAST_LOOP, &loop, &size)

  6.2.  IP_MULTICAST_TTL.

  Æ¯º°È÷ ÁöÁ¤ÇÏÁö ¾Ê´Â´Ù¸é, ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥Àº Áö¿ª ³×Æ®¿÷ ¿ÜºÎ·Î
  Àü¼ÛµÇ´Â °ÍÀ» ¹æÁöÇϱâ À§ÇØ TTL 1À» ±âº» °ªÀ¸·Î Àü¼ÛµÈ´Ù. TTLÀ» ¿øÇÏ´Â
  °ªÀ¸·Î(0¿¡¼­ 255±îÁö) ¹Ù²Ù±â À§Çؼ­ TTL°ªÀ» º¯¼ö¿¡ ³Ö°í ÇÁ·Î±×·¥¿¡¼­
  ´ÙÀ½°ú °°ÀÌ ½áÁÖ¸é µÈ´Ù.(¿©±â¼­´Â "ttl"À̶ó°í Çß´Ù.)

  u_char ttl; setsockopt(socket, IPPROTO_IP, IP_MULTICAST_TTL, &ttl,
  sizeof(ttl));

  IP_MULTICAST_LOOP¿¡¼­¿Í Èí»çÇÏ´Ù.

  6.3.  IP_MULTICAST_IF.

  ÀϹÝÀûÀ¸·Î ½Ã½ºÅÛ °ü¸®ÀÚ´Â ±âº» ÀÎÅÍÆäÀ̽º¸¦ ÁöÁ¤Çϸç, ¸ÖƼij½ºÆ®
  µ¥ÀÌÅͱ׷¥Àº ±×ÂÊÀ¸·Î º¸³»Áø´Ù. ÇÁ·Î±×·¡¸Ó´Â ÀÌ ¿É¼ÇÀ» »ç¿ëÇÏ¿© ÁöÁ¤µÈ
  ±âº» ÀÎÅÍÆäÀ̽º¸¦ ¹«½ÃÇÏ°í Á¤ÇØÁø ¼ÒÄÏ¿¡¼­ »ç¿ëÇÒ ÀÎÅÍÆäÀ̽º¸¦  ¼±ÅÃÇÒ
  ¼ö ÀÖ´Ù.

  struct in_addr interface_addr; setsockopt (socket, IPPROTO_IP,
  IP_MULTICAST_IF, &interface_addr, sizeof(interface_addr));

  ÀÌÈĺÎÅÍ ÀÌ ¼ÒÄÏ¿¡¼­ »ý¼ºµÈ ¸ðµç ¸ÖƼij½ºÆ® Æ®·¡ÇÈÀº À§¿¡¼­ ¼±ÅÃÇÑ
  ÀÎÅÍÆäÀ̽º·Î Ãâ·ÂµÈ´Ù. ¿ø·¡ ¼³Á¤À» ȸº¹ÇÏ¿© °ü¸®ÀÚÀÇ ¼³Á¤À»  ¹«½ÃÇÏ°í
  Ä¿³ÎÀÌ ¿ÜºÎ Ãâ·Â ÀÎÅÍÆäÀ̽º¸¦ ¼±ÅÃÇϵµ·Ï ÇÏ·Á¸é ÀÎÅÍÆäÀ̽º¿¡
  INADDR_ANY¸¦ ¼³Á¤ÇÏ°í À§¿Í µ¿ÀÏÇÑ ¿É¼ÇÀ¸·Î setsockopt()¸¦ È£ÃâÇÑ´Ù.

  ¿ÜºÎ Ãâ·Â ÀÎÅÍÆäÀ̽º¸¦ ¼±ÅÃÇÔ¿¡ À־, ´ÙÀ½ ioctlÀÌ À¯¿ëÇÒ °ÍÀÌ´Ù.
  SIOCGIFADDR (ÀÎÅÍÆäÀ̽º ÁÖ¼Ò ¾ò±â), SIOCGIFCONF (Àüü ÀÎÅÍÆäÀ̽º ¸ñ·Ï
  ¾ò±â), SIOCGIFFLAGS (ÀÎÅÍÆäÀ̽º »óÅ Ç÷¡±×(flag)¸¦ ¾ò¾î¼­
  ÀÎÅÍÆäÀ̽º°¡ ¸ÖƼij½ºÆ® °¡´ÉÇÑÁö È®ÀÎ - IFF_MULTICAST Ç÷¡±×-).
  È£½ºÆ®°¡ ¸ÖƼij½ºÆ® ¶ó¿ìÅÍ·Î ÀÛµ¿ÇÑ´Ù¸é, ¿©·¯ ÀÎÅÍÆäÀ̽º¸¦ °¡Áö°í
  Àְųª IP_MULTICAST_IF¿É¼ÇÀÌ ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀ» °æ¿ì, ´Ù¸¥
  ÀÎÅÍÆäÀ̽º¿¡¼­ ¸ÖƼij½ºÆ® Æ÷¿öµùÀÌ °¡´ÉÇÏ´õ¶óµµ ¸ÖƼij½ºÆ®´Â ±âº»
  ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ ÀÌ·ç¾îÁø´Ù.

  6.4.  IP_ADD_MEMBERSHIP.

  Ä¿³Î¿¡ ¿ì¸®°¡ ¾î¶² ±×·ì¿¡ °ü½ÉÀÌ ÀÖ´ÂÁö ¾Ë·ÁÁÖ¾î¾ß ÇÑ´Ù°í Çß´ø °ÍÀ»
  ´Ù½Ã »ý°¢ÇØ º¸ÀÚ.  ±×·ì¿¡ °ü½É ÀÖ´Â ÇÁ·Î¼¼½º°¡ Çϳªµµ ¾ø´Ù¸é, ±×
  ±×·ìÀ» ÇâÇؼ­ Àü¼ÛµÇ¾î¿À´Â ÆÐŶÀº ¸ðµÎ Æó±âµÈ´Ù. µû¶ó¼­ Ä¿³Î¿¡ ¿ì¸®ÀÇ
  °ü½É ±×·ìÀ» ¾Ë¸®°í, ±×·ìÀÇ È¸¿ø(member)ÀÌ µÇ±â À§Çؼ­´Â ´ÙÀ½°úÁ¤ÀÌ
  ÇÊ¿äÇÏ´Ù. ¿ì¼± ip_mreq ±¸Á¶Ã¼ÀÇ ³»¿ëÀ»  Ã¤¿î´Ù. ±×¸®°í, optvalÀ»
  ¼³Á¤ÇÏ¿©  setsockopt()¸¦ È£ÃâÇؼ­ Ä¿³Î¿¡ ÀÌ ±¸Á¶Ã¼¸¦ ³Ñ°ÜÁÖ¸é µÈ´Ù.

  ip_mreq ±¸Á¶Ã¼´Â (/usr/include/linux/in.h¿¡ ÀÖÀ½) ´ÙÀ½°ú °°´Ù.

  ______________________________________________________________________
  struct ip_mreq
  {
          struct in_addr imr_multiaddr;   /* IP multicast address of group */
          struct in_addr imr_interface;   /* local IP address of interface */
  };
  ______________________________________________________________________

  ÁÖÀÇ : ÀÌ ±¸Á¶Ã¼ÀÇ "¹°¸®Àû"  Á¤ÀÇ´Â À§ÀÇ ÆÄÀÏ¿¡ ¸í½ÃµÇ¾î ÀÖ´Ù. ÇÏÁö¸¸,
  ÄÚµåÀÇ À̽ļºÀ» À§Çؼ­ <linux/in.h>À»  Æ÷ÇÔ(include)½ÃÄѼ­´Â ¾È µÈ´Ù.
  ´ë½Å <linux/in.h>¸¦ Æ÷ÇÔÇÏ´Â <netinet/in.h>À» Æ÷ÇÔ½ÃÄѶó.

  Ã¹ ¹ø° ¸â¹ö, imr_multiaddr´Â ¿ì¸®°¡ Âü¿©ÇÒ ±×·ìÁÖ¼Ò¸¦ ¸»ÇÑ´Ù.
  È¸¿ø(membership)Àº ±×·ì»Ó¸¸ ¾Æ´Ï¶ó ÀÎÅÍÆäÀ̽º¿¡µµ °ü·ÃÀÌ  ÀÖ´Ù´Â Á¡À»
  ¸í½ÉÇؾßÇÑ´Ù. µû¶ó¼­, µÎ ¹ø° ¸â¹ö, imr_interface°ªµµ ¾Ë·ÁÁÖ¾î¾ß ÇÑ´Ù.
  ¿ì¸®°¡ ºÐ»êµÈ È£½ºÆ®¿¡ ÀÖ´õ¶óµµ ÀÌ·¯ÇÑ ¹æ½ÄÀ¸·Î °¢±â ´Ù¸¥ ÀÎÅÍÆäÀ̽º¸¦
  ÀÌ¿ëÇÏ¿© °°Àº ±×·ì¿¡ Âü¿©ÇÒ ¼ö ÀÖ´Ù. imr_interface´Â ¿ÍÀϵåÄ«µå
  ÁÖ¼Ò(INADDR_ANY)¸¦ ÀÌ¿ëÇÒ ¼ö  ÀÖÀ¸¸ç ÀÌ °æ¿ì ÀÎÅÍÆäÀ̽º¸¦ ¼±ÅÃÇÏ´Â
  ÀÏÀº Ä¿³ÎÀÌ ÇÑ´Ù.

  ÀÏ´Ü ÀÌ ±¸Á¶Ã¼¸¦ ä¿ì¸é (struct ip_mreq  mreq;·Î  Á¤ÀÇ Çß´Ù°í Çϸé)
  ´ÙÀ½ ¹æ¹ýÀ¸·Î setsockopt()¸¦ È£ÃâÇÏ¸é µÈ´Ù.

  setsockopt (socket, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq,
  sizeof(mreq));

  µ¿ÀÏ ¼ÒÄÏÀ¸·Î ¿©·¯ ±×·ì¿¡ Âü¿© ÇÒ ¼ö ÀÖ´Ù´Â Á¡¿¡ ÁÖ¸ñÇ϶ó. ±×·ì ¼ö
  Á¦ÇÑÀº IP_MAX_MEMBERSHIPS¿¡ Á¤ÀǵǾî ÀÖÀ¸¸ç Ä¿³Î¹öÀü 2.0.33¿¡¼­
  20ÀÌ´Ù.

  6.5.  IP_DROP_MEMBERSHIP.

  ÀÌ °úÁ¤Àº ±×·ì¿¡ Âü¿©ÇÏ´Â °Í°ú À¯»çÇÏ´Ù.

  struct ip_mreq mreq; setsockopt (socket, IPPROTO_IP,
  IP_DROP_MEMBERSHIP, &mreq, sizeof(mreq));

  ¿©±â¼­ mreq´Â ±×·ì¿¡ Âü¿© ÇÒ ¶§ »ç¿ëÇß´ø °Í°ú µ¿ÀÏÇÑ ±¸Á¶Ã¼´Ù.
  imr_interface¿¡ INADDR_ANY¸¦ »ç¿ëÇÑ´Ù¸é Ä¿³ÎÀÌ ¼±ÅÃÇÑ Ã¹ ¹ø°
  ÀÎÅÍÆäÀ̽º°¡ Á¦°ÅµÈ´Ù.

  °°Àº ¼ÒÄÏÀ¸·Î ¾ÆÁÖ ¸¹Àº ±×·ì¿¡ Âü¿©ÇßÀ» °æ¿ì ¿¬°áÀ» Á¾·áÇϱâ À§ÇØ ¸ðµç
  È¸¿ø °ü°è¸¦ »èÁ¦ÇÒ ÇÊ¿ä´Â ¾ø´Ù. ¼ÒÄÏÀ» ´ÝÀ¸¸é ¿¬°áµÈ ¸ðµç ȸ¿ø °ü°è´Â
  Ä¿³ÎÀÌ ÀÇÇØ »èÁ¦µÈ´Ù. ¼ÒÄÏÀ» ¿¬ ÇÁ·Î¼¼½º¸¦ Á¾·á(kill)½Ãų ¶§µµ
  µ¿ÀÏÇÏ´Ù.
  ³¡À¸·Î ±×·ì¿¡¼­ ȸ¿øÀ» Á¦°ÅÇÏ´Â °úÁ¤ÀÌ È£½ºÆ®·Î ÇÏ¿©±Ý ±× ±×·ìÀ¸·Î
  ¿À´Âµ¥ÀÌÅͱ׷¥À» ¹ÞÁö ¸øÇϵµ·Ï ÇÏ´Â °ÍÀ» ÀǹÌÇϴ  °ÍÀº ¾Æ´Ï´Ù. µ¿ÀÏ
  ÀÎÅÍÆäÀ̽º·Î ±× ±×·ì¿¡ Âü¿©ÇÑ ¼ÒÄÏÀÌ IP_DROP_MEMBERSHIPÀÇ »óÅ°¡
  µÇ´õ¶óµµ È£½ºÆ®´Â ±×·ì ¸â¹öÀÇ ¸ñ·ÏÀ» º¸°üÇÑ´Ù.

  ADD_MEMBERSHIP °ú DROP_MEMBERSHIP Àº ¼º°ø, ½ÇÆÐ ¿©ºÎ¸¦ Áï½Ã ¹ÝȯÇÑ´Ù.
  (nonblocking operations)

  7.  ¸ÖƼij½ºÆ® ³»ºÎ

  ÀÌ ÀýÀÇ ¸ñÀûÀº ¸ÖƼij½ºÆ®°¡ ¾î¶»°Ô ÀÛµ¿ÇÏ´ÂÁö¸¦ ÀÌÇØÇϴµ¥ ÇÊ¿äÇÑ
  Á¤º¸¸¦ Á¦°øÇϴ  °Í µµ ¾Æ´Ï°í ¸ÖƼij½ºÆ® ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ Á¤º¸¸¦
  Á¦°øÇÏÀÚ´Â °Íµµ ¾Æ´Ï´Ù. ÇÏÁö¸¸ ¸ÖƼij½ºÆ®ÀÇ ±â¹ÝÀ» ÀÌ·ç´Â ÇÁ·ÎÅäÄÝ°ú
  ±¸ÇöÀ» »ìÆ캽À¸·Î¼­ ½±°Ô ÀúÁö¸£´Â ½Ç¼ö¿Í  À߸øµÈ ÀÌÇظ¦ ÇÇÇÒ ¼ö ÀÖÀ»
  °ÍÀÌ´Ù.

  7.1.  IGMP.

  IP_ADD_MEMBERSHIP °ú IP_DROP_MEMBERSHIP¿¡¼­ ÀÌ ¸í·ÉÀ¸·Î Ä¿³Î¿¡ Á¦°øÇÑ
  Á¤º¸´Â ¾î¶² ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥À» ¹Þ°í ¾î¶² °ÍÀ» ¹ö¸± °ÍÀÎÁö¸¦
  °áÁ¤Çϴµ¥ ¾²Àδٰí Çß´Ù. ¸Â´Â ¸»À̶ó°í ÇÒ ¼ö ÀÖÁö¸¸, ¸ðµÎ ¸Â´Â ¸»Àº
  ¾Æ´Ï´Ù. ÀÌ·¯ÇÑ ÀϹÝÈ­´Â Àü  ¼¼°è ¸ðµç ¸ÖƼij½ºÆ®µ¥ÀÌÅͱ׷¥ÀÌ ¿ì¸®ÀÇ
  È£½ºÆ®·Î Àü´ÞµÈ ÈÄ, È£½ºÆ®¿¡¼­ ÇÁ·Î¼¼½º°¡ ¹ßÇàÇÑ È¸¿ø°ü°è¸¦ È®ÀÎ ÈÄ
  µ¥ÀÌÅͱ׷¥ÀÇ Æó±â ¿©ºÎ¸¦ °áÁ¤ÇÑ´Ù´Â ¸»ÀÌ µÈ´Ù. »ý°¢ÇÒ ÇÊ¿äµµ ¾øÀÌ,
  ÀÌ°ÍÀº ¾öû³­ ´ë¿ªÆø ³¶ºñÀÓÀ» ¾Ë ¼ö ÀÖ´Ù.

  ½ÇÁ¦·Î´Â È£½ºÆ®°¡ ÀÚ½ÅÀÇ ¶ó¿ìÅÍ¿¡°Ô, ±× ¶ó¿ìÅÍ´Â »óÀ§ ¶ó¿ìÅÍ¿¡°Ô,
  ±×¸®°í ±× »óÀ§ ¶ó¿ìÅÍ¿¡°Ô....¾î¶² ¸ÖƼij½ºÆ® ±×·ì¿¡ °ü½ÉÀÌ ÀÖ´ÂÁö
  ¾Ë·ÁÁØ´Ù.  ¸ÖƼij½ºÆ® ±×·ì Æ®·¡ÇÈÀ» ¹ÞÀ» °ÍÀÎÁö ¸» °ÍÀÎÁö °áÁ¤ÇÏ´Â
  ¾Ë°í¸®Áò ÀÚü¿¡´Â »ó´çÈ÷ º¯È­°¡ ½ÉÇѵ¥, ´Ü ÇÑ°¡Áö º¯ÇÏÁö ¾Ê´Â °ÍÀÌ
  ÀÖ´Ù¸é, ÀÌ Á¤º¸¸¦ Àü´ÞÇÏ´Â ¹æ¹ýÀÌ´Ù. ÀÌ°ÍÀº IGMP(Internet Group
  Management ProtocolÀ»  ÀÌ¿ëÇÑ´Ù. ÇÁ·ÎÅäÄݹøÈ£ 2ÀÎ IGMP´Â ICMP¿Í À¯»çÇÑ
  »õ·Î¿î ÇÁ·ÎÅäÄÝÀε¥ IP µ¥ÀÌÅͱ׷¥À» ÀÌ¿ëÇÏ¸ç ·¹º§ 2 ÀûÀÀ´Ü°èÀÇ
  È£½ºÆ®´Â ÀÌ ÇÁ·ÎÅäÄÝÀ» Àǹ«ÀûÀ¸·Î ±¸ÇöÇØ¾ß ÇÑ´Ù. Àü¼úÇÑ ¹Ù¿Í °°ÀÌ
  ÀÌ°ÍÀº ¶ó¿ìÅÍ¿¡°Ô ȸ¿øÁ¤º¸¸¦ Àü¼ÛÇϴ ȣ½ºÆ®¿Í ¶ó¿ìÅÍ»çÀÌÀÇ Åë½Å ¾çÂÊ
  ¸ðµÎ »ç¿ëÇÑ´Ù. ´ÙÀ½ ±Û¿¡¼­ È£½ºÆ®-¶ó¿ìÅÍ°£ °ü°è¸¸À» ¼³¸íÇϱâ·Î ÇÑ´Ù.
  ¿Ö³ÄÇϸé mrouted¼Ò½º Äڵ带 Á¦¿ÜÇÏ°í´Â ¶ó¿ìÅÍ-¶ó¿ìÅÍ°£ Åë½ÅÀ» Çؼ³ÇÏ´Â
  ÀڷḦ ãÁö ¸øÇÏ¿´±â  ¶§¹®ÀÌ´Ù. (RFC 1075-Distance  Vector Multicast
  Routing ProtocolÀº ÀÌÁ¦ »ç¿ëÇÏÁö ¾ÊÀ¸¸ç, mrouted´Â ¾ÆÁ÷ ¹®¼­È­µÇÁö
  ¾ÊÀº º¯ÇüµÈ DVMRP¸¦ ±¸ÇöÇÏ°í ÀÖ´Ù.)

  RFC 988-IGMP ¹öÀü 0Àº ÀÌÁ¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù.

  IGMP ¹öÀü 1Àº RFC-1112¿¡ Á¤ÀǵǾî ÀÖ°í, RFC-2236 (IGMP version 2) ¿¡¼­
  °³Á¤µÇ¾î ÇöÀç±îÁö ¸¹ÀÌ »ç¿ëÇÏ°í ÀÖ´Ù.  ¸®´ª½º Ä¿³Î¿¡¼­´Â IGMP ¹öÀü 1
  Àüü¿Í ¹öÀü 2ÀϺΰ¡ ±¸ÇöµÇ¾î ÀÖ´Ù.

  Áö±ÝºÎÅÍ ÀÌ ÇÁ·ÎÅäÄÝ¿¡ ´ëÇÑ ¾à½Ä¼³¸íÀ» º¸ÀÚ. RFC-2236À» ÆîÃÄ ³õ°í
  Á¤È®ÇÑ Á¤½Ä ¼³¸íÀ» º¸´Â °Íµµ ÁÁ´Ù.

  ¸ðµç IGMP ¸Þ½ÃÁö´Â ´ÙÀ½ ±¸Á¶¸¦ °¡Áø´Ù.

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |      Type     | Max Resp Time |           Checksum            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         Group Address                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  IGMP ¹öÀü 1 (ÀÌÇÏ IGMPv1) ´Â Àü¼Û½Ã "Max Resp Time" À» "Unused",Áï
  ¸ðµÎ 0 À¸·Î ÇÏ°í ¼ö½Å½Ã¿¡´Â ¹«½ÃÇÑ´Ù. "Type"¶õÀº 4ºñÆ® ÆøÀ¸·Î ³ª´©¾î
  "Version"°ú "Type"À¸·Î »ç¿ëÇÑ´Ù. IGMPv1 ¿¡¼­´Â "ȸ¿øÁúÀÇ(Membership
  Query)"¸¦ 0x11  (version  1, type 1)À¸·Î È®ÀÎÇÏ°í, IGMPv2 ¿¡¼­´Â 0x11
  ·Î È®ÀÎÇϱ⠶§¹®¿¡ 8ºñÆ®¸¦ »ç½Ç»ó µ¿ÀÏÇÏ°Ô Çؼ® ÇÑ´Ù.

  IGMPv2 ´Â ÁÖ·Î Ãß°¡»çÇ×µé·Î ÀÌ·ç¾îÁ® Àֱ⠶§¹®¿¡ IGMPv1 À» ÀÏ´Ü ¼³¸íÇÑ
  ÈÄ IGMPv2 Ãß°¡»çÇ×À» ¼³¸íÇÏ´Â ÆíÀÌ ÁÁÀ» °Í °°´Ù.

  ´ÙÀ½ ³íÀÇ¿¡¼­ ¶ó¿ìÅÍ´Â ¸ðµç IP  ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥À» ¹Þ´Â´Ù´Â °ÍÀ»
  ±â¾ïÇ϶ó.

  7.2.  IGMP version 1.

  ¶ó¿ìÅÍ´Â ÁÖ±âÀûÀ¸·Î(1ºÐ¿¡¼­ 2ºÐ¿¡ Çѹø¾¿) TTL°ª 1ÀÇ  IGMP È£½ºÆ® ȸ¿ø
  ÁúÀǸ¦ Àüü È£½ºÆ® ±×·ì(224.0.0.1)À¸·Î º¸³½´Ù. ¸ðµç ¸ÖƼij½ºÆ®
  È£½ºÆ®µéÀÌ ÀÌ ¸Þ½ÃÁö¸¦¹ÞÁö¸¸ IGMP È£½ºÆ® ȸ¿ø º¸°í(Host  Membership
  Report)°¡ ÆøÁÖ(storm)ÇÏ´Â °ÍÀ» ¹æÁöÇϱâ À§ÇØ Áï½Ã ÀÀ´äÇÏÁö ¾Ê´Â´Ù.
  ´ë½Å ÁúÀǸ¦ ¼ö½ÅÇÑ ÀÎÅÍÆäÀ̽º¿¡ ¼ÓÇÏ´Â °¢ ±×·ì¿¡ ´ëÇØ,  ÀÓÀÇ Áö¿¬
  Å¸À̸Ӹ¦ ½ÃÀÛÇÑ´Ù.

  Á¶¸¸ °£¿¡ ŸÀ̸Ӱ¡ ¿Ï·áµÇ¸é È£½ºÆ®´Â ¿ª½Ã TTL 1ÀÇ IGMP ȸ¿ø º¸°í¸¦
  ¸ÖƼij½ºÆ® ±×·ì¾îµå·¹½º·Î Àü¼ÛÇÑ´Ù. ÀÌ ¸Þ½ÃÁö´Â À̹̠ ±×·ì¿¡ Âü¿©ÇÏ°í
  ÀÖ´Â ¸ðµç È£½ºÆ®µé°ú ŸÀ̸Ӱ¡ ¿Ï·áµÇ±â¸¦ ±â´Ù¸®°í Àִ ȣ½ºÆ®µé¿¡°Ô
  Àü´ÞµÈ´Ù. ±×·¯¸é °¢ È£½ºÆ®µéÀº ŸÀ̸Ӹ¦ ÁßÁöÇÏ°í ´õ ÀÌ»ó ¾Æ¹«·± º¸°íµµ
  ÇÏÁö  ¾Ê´Â´Ù. ÇÏÁö¸¸ ÀÌ°ÍÀ¸·Î ¶ó¿ìÅÍ´Â ÀÚ½ÅÀÇ ¼­ºê³Ý¿¡ ±× ¸ÖƼij½ºÆ®
  ±×·ìÀÇ ¸â¹ö°¡ Á¸ÀçÇÑ´Ù´Â °Í¸¸ ¾Ë¸é µÇ±â ¶§¹®¿¡ ȸ¿øÀÌ ¸îÀ̳ª ÀÖ´ÂÁö
  ¾Ë±â À§ÇØ ´õ ÀÌ»ó, º¸°í ¹ÞÀ» ÇÊ¿ä°¡ ¾ø´Ù.

  ¸î ¹ø ÁúÀÇÇÑ ÈÄ¿¡µµ ±× ±×·ì¿¡ ´ëÇØ ¾Æ¹«·± ȸ¿ø º¸°í°¡ ¾øÀ¸¸é ¶ó¿ìÅÍ´Â
  ¸â¹ö°¡ ¾ø´Â °ÍÀ¸·Î °£ÁÖÇÏ°í ÇØ´ç ±×·ìÀÇ Æ®·¡ÇÈÀ» ¼­ºê³ÝÀ¸·Î Æ÷¿öµùÇÏÁö
  ¾Ê´Â´Ù. IGMPv1 ¿¡¼­´Â "±×·ì Å»Åð ¸Þ½ÃÁö(Leave Group messages)"°¡
  ¾ø´Ù´Â Á¡¿¡ ÁÖ¸ñÇ϶ó.

  È£½ºÆ®°¡ »õ ±×·ì¿¡ Âü¿©Çϸé Ä¿³ÎÀº ±×·ìÀ¸·Î º¸°í¸¦ º¸³»±â ¶§¹®¿¡
  °¢°¢ÀÇ ÇÁ·Î¼¼½ºµéÀº »õ·Î¿î ȸ¿ø ÁúÀÇ°¡ µµÂøÇÒ µ¿¾È(1,2ºÐ Á¤µµ) ±â´Ù¸±
  ÇÊ¿ä°¡ ¾ø´Ù.  "IP_ADD_MEMBERSHIP" Á¤¿¡¼­ º¸¾Ò°ÚÁö¸¸, ÀÌ IGMP ÆÐŶÀº
  IP_ADD_MEMBERSHI¸í·É¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î Ä¿³ÎÀÌ »ý¼ºÇÑ´Ù. "»õ ±×·ì"À̶ó´Â
  ¸»À» ÁÖÀÇ ±íÀÌ º¸ÀÚ.  È£½ºÆ®°¡ ÀÌ¹Ì Âü¿©ÁßÀÎ ±×·ì¿¡ ´ëÇØ ÇÁ·Î¼¼½º°¡
  IP_ADD_MEMBERSHIP ¸í·ÉÀ» º¸³¾  °æ¿ì ¿ì¸®´Â  ÀÌ¹Ì ±×  ±×·ìÀÇ Æ®·¡ÇÈÀ»
  ¹Þ°í Àֱ⠠¶§¹®¿¡ ¾Æ¹«·± IGMP ÆÐŶµµ ¸¸µé¾îÁöÁö ¾ÊÀ» °ÍÀÌ´Ù. ´ë½Å
  ±×·ì»ç¿ë Ä«¿îÅÍ°¡ Áõ°¡ÇÑ´Ù. IGMPv1¿¡¼­ IP_DROP_MEMBERSHIP  ¸í·ÉÀº
  µ¥ÀÌÅͱ׷¥À» »ý¼º½ÃÅ°Áö ¾Ê´Â´Ù.

  È£½ºÆ® ȸ¿ø ÁúÀǴ ŸÀÔ 0x11, È£½ºÆ® ȸ¿ø º¸°í´Â °¢°¢ ŸÀÔ 0x12·Î
  ±¸ºÐÇÑ´Ù.

  Àüü È£½ºÆ® ±×·ì¿¡´Â º¸°íÇÏÁö ¾Ê´Â´Ù. ÀÌ ±×·ìÀ¸·ÎÀÇ È¸¿øÀº ¿µ±¸ÀûÀÌ´Ù.

  7.3.  IGMP ¹öÀü 2.

  »ó±â ³»¿ë¿¡ ´ëÇÑ Ãß°¡ »çÇ× Áß Áß¿äÇÑ °Í ÇÑ°¡Áö´Â ±×·ì ÀÌÅ»
  ¸Þ½ÃÁö(ŸÀÔ0x17)°¡ Æ÷ÇԵǾú´Ù´Â »ç½ÇÀÌ´Ù. ÀÌ ¸Þ½ÃÁö´Â ¼­ºê³Ý¿¡¼­
  ¸¶Áö¸· È£½ºÆ®°¡ ±×·ìÀ» ÀÌÅ»ÇÏ´Â ½ÃÁ¡°ú ÁúÀÇ ½Ã°£ÀÌ ¸¸·áµÇ¾î ¶ó¿ìÅÍ°¡
  ´õ ÀÌ»ó ±×·ì¿¡ ³²¾ÆÀִ ȸ¿øÀÌ ¾ø´Ù°í °áÁ¤ÇÏ´Â ½ÃÁ¡ »çÀÌÀÇ ´ë¿ªÆø
  ³¶ºñ(ÀÌÅ» Áö¿¬-leave latency)¸¦ ÁÙÀ̱â À§ÇØ Ãß°¡µÇ¾ú´Ù. ±×·ì ÀÌÅ»
  ¸Þ½ÃÁö´Â ±×·ìÀÇ ´Ù¸¥ ¸â¹öµé¿¡°Ô´Â ºÒÇÊ¿äÇÑ Á¤º¸À̱⠶§¹®¿¡ ³²¾ÆÀÖ´Â
  ±×·ìº¸´Ù Àüü ¶ó¿ìÅÍ ±×·ì(224.0.0.2)ÂÊÀ¸·Î Àü¼ÛÇØ¾ß ÇÑ´Ù. (Ä¿³Î ¹öÀü
  2.0.33 ÀÌÇÏ¿¡¼­´Â ÀÌ ¸Þ½ÃÁö¸¦ ±×·ìÀ¸·Î º¸³Â¾ú´Ù. È£½ºÆ®·Î¼­´Â Çظ¦
  ÀÔÀ» ÀÏÀº ¾øÁö¸¸, ¾µµ¥¾ø´Â Á¤º¸À̱⠠¶§¹®¿¡ ÀÌ Á¤º¸¸¦ ó¸®ÇÏ´Â °ÍÀº
  ½Ã°£³¶ºñÀÏ »ÓÀÌ´Ù.) ¾ðÁ¦ ÀÌÅ» ¸Þ½ÃÁö¸¦ º¸³¾ °ÍÀΰ¡, ¾ðÁ¦ º¸³»Áö ¾ÊÀ»
  °ÍÀΰ¡ ÇÏ´Â ¹®Á¦¿¡ ´ëÇؼ­´Â ¸î °¡Áö ¹Ì¹¦ÇÑ ¹®Á¦°¡ ÀÖ´Ù. °ü½ÉÀÌ ÀÖ´Ù¸é
  RFC¸¦ ÂüÁ¶ÇÒ °Í.

  IGMPv2¶ó¿ìÅÍ°¡ ÀÌÅ» ¸Þ½ÃÁö¸¦ ¹ÞÀ¸¸é ¶ó¿ìÅÍ´Â ±×·ìÀ» ÁöÁ¤ÇÏ¿©(group-
  specific) ³²¾ÆÀÖ´Â ±×·ì¿¡°Ô ÁúÀǸ¦ º¸³½´Ù. À̰͵µ IGMPv2 ¿¡¼­ Ãß°¡µÈ
  »çÇ×ÀÌ´Ù. IGMPv1¿¡¼­ ±×·ì ÁöÁ¤ ÁúÀÇ´Â ¾ø¾ú´Ù. ¸ðµç ÁúÀÇ°¡ Àüü È£½ºÆ®
  ±×·ìÀ¸·Î º¸³»´Â ÁúÀÇ¿´´Ù. IGMP Çì´õ¿¡ Á¤ÀÇµÈ Å¸ÀÔ °ªÀº º¯ÇÏÁö
  ¾Ê¾ÒÁö¸¸(Àü°ú µ¿ÀÏÇÏ°Ô 0x11), "±×·ì ÁÖ¼Ò(Group Address)"Çʵå´Â
  ³²¾ÆÀÖ´Â ¸ÖƼij½ºÆ® ±×·ì ÁּҷΠä¿öÁø´Ù.

  IGMPv1¿¡¼­ Àü¼Û½Ã 0À¸·Î  Ã¤¿ì°í ¼ö½Å½Ã  ¹«½ÃÇϱâ·Î ÇÏ¿´´ø  "Max Resp
  Time" Çʵå´Â "Membership  Query"¿¡¼­¸¸ Àǹ̰¡ ÀÖ´Ù. ÀÌ Çʵå´Â
  º¸°íÇؾßÇÒ ÇÑ°è ½Ã°£À» ¼³Á¤Çϴµ¥  ¾²ÀδÙ. ¼º´ÉÀ» Á¶ÀýÇÏ´Â
  ¸ÞÄ¿´ÏÁòÀ¸·Î »ç¿ëÇÑ´Ù°í º¼ ¼ö ÀÖ´Ù.

  IGMPv2¿¡¼­ »õ·Î¿î  ¸Þ½ÃÁö ŸÀÔ  0x16ÀÌ Ãß°¡µÇ¾ú´Ù.   ÀÌ°ÍÀº "Version 2
  Membership Report"·Î¼­ IGMPv2 È£½ºÆ®°¡ IGMPv2  ¶ó¿ìÅ͸¦ ¹ß°ßÇßÀ»  ¶§
  Àü¼ÛÇÑ´Ù. (IGMPv2  È£½ºÆ®´Â "Max Response" Çʵ尡 0 À¸·Î ä¿öÁø ÆÐŶÀ»
  È®ÀÎÇÏ¿© IGMPv1 ¶ó¿ìÅÍ°¡ Á¸ÀçÇÑ´Ù´Â °ÍÀ» ¾Ë¾Æ³½´Ù).

  µ¿½Ã¿¡ ¿©·¯ ¶ó¿ìÅÍ°¡ ÁúÀǸ¦ ÇÒ ¶§, IGMPv2  ´Â "discussions"¸¦ ȸÇÇÇÏ´Â
  ¸ÞÄ¿´ÏÁòÀ» Á¦°øÇÑ´Ù. ÀÌ °æ¿ì ³·Àº IP ÁÖ¼Ò¸¦ °¡Áø ¶ó¿ìÅÍ°¡
  ÁúÀÇÀÚ(querier)°¡ µÇ°í ´Ù¸¥ ¶ó¿ìÅʹ ŸÀ̸Ӹ¦ ¼³Á¤ÇÑ´Ù. ³·Àº ¹øÈ£ÀÇ
  ¶ó¿ìÅÍ°¡ ¾î¶² ÀÌÀ¯·Î Á¦´ë·Î ÀÛµ¿ÇÏÁö ¸øÇϸé ŸÀ̸Ӱ¡ ¸¸·áµÈ ÈÄ ´Ù½Ã
  ÁúÀÇÀÚ¸¦ ¼³Á¤ÇÑ´Ù.

  7.4.  Ä¿³Î °ü·Ã »çÇ×

  ÀÌ Àý¿¡¼­´Â ¸®´ª½º Ä¿³Î¿¡¼­ ¸ÖƼij½ºÆ®  ±¸ÇöÀ» ÇнÀÇϱâ À§ÇÑ ½Ç¸¶¸®¸¦
  º¸¿©ÁÙ °ÍÀÌ´Ù.  ±¸Çö ÀÚü¸¦ ¼³¸íÇÏÁö´Â ¾Ê´Â´Ù. ´ÜÁö ¾îµð¼­ ãÀ»
  °ÍÀÎÁö¸¸ ¾Ë·ÁÁÖ´Ù.

  ÀÌ ³»¿ëÀº 2.0.32¿¡¼­ÀÇ ¼³¸íÀ̹ǷΠÀÌ  ±ÛÀ» Àд ½ÃÁ¡¿¡¼­ Á» ¿À·¡µÈ
  ³»¿ëÀÏÁöµµ ¸ð¸¥´Ù.  (³×Æ®¿÷ ÄÚµå´Â 2.1.x¿¡¼­ ¸¹ÀÌ º¯°æµÇ¾ú´Ù.

  ¸®´ª½º Ä¿³Î¿¡¼­  ¸ÖƼij½ºÆ® ÄÚµå´Â  Ç×»ó #ifdef    CONFIG_IP_MULTICAST
  / #endif ½ÖÀ¸·Î µÑ·¯½Î¿© Àֱ⠶§¹®¿¡ ÇÊ¿äÇÏ´Ù¸é ¾ðÁ¦µçÁö Ä¿³Î¿¡
  Æ÷ÇÔ(inclusion/exclusion)½ÃÅ°°Å³ª  ¹èÁ¦½Ãų ¼ö ÀÖ´Ù. (ÀÌ Æ÷ÇÔ/¹èÁ¦´Â
  ÄÄÆÄÀÏ ½Ã¿¡ ÇàÇØÁö¸ç  #ifdef ±¸¹®Àº ¼±Çà󸮱Ⱑ ÇÏ´Â ÀÛ¾÷À̶ó´Â °ÍÀ»
  ¾Ë°í ÀÖÀ» °ÍÀÌ´Ù. Æ÷ÇÔ¿©ºÎ °áÁ¤Àºmake config, make menuconfig ¶Ç´Â
  make xconfig¸¦ ½ÇÇà½Ãų ¶§ ÇÒ ¼ö ÀÖ´Ù.)

  ¸ÖƼij½ºÆ® ¶ó¿ìÅÍ ±â´ÉÀ» »ç¿ëÇÏ°í ½Í´Ù¸é #ifdef CONFIG_IP_MROUTE /
  #endif½Ö ¼ÓÀÇ ÄÚµåµéÀ» È°¼ºÈ­ ½ÃÄÑ¾ß ÇÑ´Ù.

  Ä¿³Î ¼Ò½º´Â º¸Åë /usr/src/linux¿¡ ÀÖ´Ù. ÇÏÁö¸¸ À§Ä¡´Â º¯ÇÒ ¼öµµ ÀÖ´Â
  °ÍÀ̱⠶§¹®¿¡ Ä¿³Î ¼Ò½ºÀÇ À§Ä¡¸¦ °£´Ü ¸í·áÇÏ°Ô LINUX¶ó°í   °¡Á¤ÇÏÀÚ.
  ÀÌÁ¦   Ä¿³Î¼Ò½º¸¦ /usr/src/linux   ¿¡  Ç®¾úÀ»   °æ¿ì,
  LINUX/net/ipv4/udp.c ´Â /usr/src/linux/net/ipv4/udp.c ¸¦ ÀǹÌÇÑ´Ù.

  »ç¿ëÀÚ ÇÁ·Î±×·¥¿¡¼­ÀÇ ¸ÖƼij½ºÆ® ÀÎÅÍÆäÀ̽º´Â ¸ÖƼij½ºÆ® ÇÁ·Î±×·¡¹ÖÀ»
  ¼³¸íÇÑ Àý¿¡¼­ setsockopt()/ getsockopt()¸¦ ÅëÇØ  ¸ðµÎ º¸¿© ÁÖ¾ú´Ù. ÀÌ
  µÎ ÇÔ¼ö´Â Àü´Þ¹ÞÀº º¯¼öÀÇ À¯È¿¼ºÀ» °Ë»çÇÑ ´ÙÀ½, ´Ù¸¥ ¸î °¡Áö ÇÔ¼ö¸¦
  È£ÃâÇÏ¿© Ãß°¡ ÀûÀ¸·Î °Ë»çÇÏ°í, ¶Ç ´Ù¸¥ ÇÔ¼ö¸¦ È£ÃâÇÏ´Â ½ÄÀ¸·Î
  ±¸ÇöµÇ¾ú´Ù. (ÀÌ ¸ðµç ÇÔ¼ö È£Ãâ¿¡ °ü½ÉÀÌ ÀÖ´Ù¸é LINUX/net/socket.c
  (ÇÔ¼ö sys_socketcall() ¿Í sys_setsockopt()), LINUX/net/ipv4/af_inet.c
  (ÇÔ¼ö inet_setsockopt()) ±×¸®°í LINUX/net/ipv4/ip_sockglue.c (ÇÔ¼ö
  ip_setsockopt()) ¸¦ ÂüÁ¶Ç϶ó.)

  LINUX/net/ipv4/ip_sockglue.cµµ   ÁÖÀÇ   ±í°Ô   º¸¾Æ¾ß  ÇÑ´Ù.
  ¿©±â¿¡´Â   ÇÔ¼ö ip_setsockopt() ¿Í ip_getsockopt() °¡ µé¾î Àִµ¥
  ´ëºÎºÐÀº (¾î¶² ¿¡·¯ üũ  ÈÄ¿¡) °¡´ÉÇÑ optnameÀ» °Ë»çÇϴ  ½ºÀ§Ä¡°°Àº
  °ÍÀÌ´Ù. À¯´Ïij½ºÆ® ¿É¼Ç°ú ÇÔ²², IP_MULTICAST_TTL, IP_MULTICAST_LOOP,
  IP_MULTICAST_IF, IP_ADD_MEMBERSHIP, IP_DROP_MEMBERSHIP°°Àº ¸ðµç
  ¸ÖƼij½ºÆ® ¿É¼ÇÀ» ó¸®ÇÑ´Ù.  ÀÌ ½ºÀ§Ä¡ ÀÌÀü¿¡ ¿É¼ÇÀ» °Ë»çÇÏ¿© ±×°ÍÀÌ
  ¸ÖƼij½ºÆ® ¶ó¿ìÅÍ ÁöÁ¤ ¿É¼ÇÀ̶ó¸é  ÇÔ¼ö ip_mroute_setsockopt() ¿Í
  ip_mroute_getsockopt() ·Î ¶ó¿ìÆà µÈ´Ù. (ÆÄÀÏ LINUX/net/ipv4/ipmr.c ¿¡
  ÀÖÀ½).
  LINUX/net/ipv4/af_inet.c ¿¡¼­ ÀÌÀü Àý¿¡¼­ ³íÀÇÇß´ø  ¼ÒÄÏ »ý¼º ±âº»
  °ªÀ» º¼  ¼ö ÀÖ´Ù.  (loopback enabled, TTL=1, ÇÔ¼ö inet_create()
  Áß¿¡¼­)

  ______________________________________________________________________
    #ifdef CONFIG_IP_MULTICAST
            sk->ip_mc_loop=1;
            sk->ip_mc_ttl=1;
            *sk->ip_mc_name=0;
            sk->ip_mc_list=NULL;
    #endif
  ______________________________________________________________________

  ´ÙÀ½ Äڵ尡 "¼ÒÄÏÀ» ´ÝÀ¸¸é Ä¿³ÎÀº ÀÌ ¼ÒÄÏ¿¡ ÀÖ´ø ¸ðµç ȸ¿øÀ»
  Å»Åð½ÃŲ´Ù"´Â ³»¿ëÀ» ´ÜÁ¤ÀûÀ¸·Î º¸¿©ÁØ´Ù. (À§¿Í µ¿ÀÏ ÆÄÀÏÀÇ ÇÔ¼ö
  inet_release()¿¡¼­)

  ______________________________________________________________________
    #ifdef CONFIG_IP_MULTICAST
                    /* Applications forget to leave groups before exiting */
                    ip_mc_drop_socket(sk);
    #endif
  ______________________________________________________________________

  ¸µÅ©   °èÃþÀÇ(Link  Layer)ÀÇ   ÀåÄ¡  µ¶¸³ÀûÀÎ(Device   independent)
  ¿¬»êµéÀº LINUX/net/core/dev_mcast.c ¿¡ ÀÖ´Ù.

  ¾ÆÁ÷ µÎ °¡Áö Áß¿äÇÑ ÇÔ¼öµéÀ» ¼³¸íÇÏÁö ¾Ê¾Ò´Ù. ÀԷ  Ã³¸® ÇÔ¼ö¿Í
  ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥ Ãâ·Â ÇÔ¼öÀÌ´Ù. ´Ù¸¥   µ¥ÀÌÅͱ׷¥µé°ú  ¸¶Âù°¡Áö·Î
  ÀԷ  µ¥ÀÌÅͱ׷¥Àº   ÀåÄ¡ µå¶óÀ̹ö·ÎºÎÅÍ ip_rcv()
  ÇÕ¼ö(LINUX/net/ipv4/ip_input.c)·Î Àü´ÞµÈ´Ù. ÀÌ ÇÔ¼ö¿¡¼­ ÇÏÀ§
  °èÃþÀ¸·ÎºÎÅÍ ÀüÇØÁø ¸ÖƼij½ºÆ® ÆÐŶÀ» ¿Ïº®ÇÏ°Ô
  ÇÊÅ͸µÇÑ´Ù(ÇÏÀ§·¹À̾¼­ ÃÖ´ëÇÑ ÇÊÅ͸µÇÏÁö¸¸, IP °èÃþ¿¡¼­ ¿ì¸®°¡
  °ü½ÉÀ» °¡Áö°í ÀÖ´Â ±×·ì¿¡ ´ëÇØ 100% ¾Ë°í Àֱ⠶§¹®¿¡  ÆÐŶÀ» ¿ÏÀüÇÏ°Ô
  ÇÊÅ͸µÇÑ´Ù°í Çß´ø°ÍÀ» ±â¾ïÇÏÀÚ.) È£½ºÆ®°¡ ¸ÖƼij½ºÆ® ¶ó¿ìÅÍ·Î
  ÀÛµ¿ÁßÀ̶ó¸é ¿ª½Ã ÀÌ  ÇÔ¼ö°¡ ÆÐŶ Æ÷¿öµù ¿©ºÎ¸¦  °áÁ¤ÇÏ°í ÀûÀýÇÏ°Ô
  ipmr_forward()¸¦ È£ÃâÇÑ´Ù. (ipmr_forward() Àº LINUX/net/ipv4/ipmr.c¿¡
  ±¸ÇöµÇ¾î ÀÖ´Ù.).

  ÆÐŶ Ãâ·Â ÀÓ¹«¸¦ ¸ÃÀº ÄÚµå´Â LINUX/net/ipv4/ip_output.c¿¡ ´ã°ÜÁ®
  ÀÖ´Ù. ÀÌ°÷¿¡¼­ ÆÐŶÀ» ·çÇÁ¹é   ÇÒÁö ¾È  ÇÒÁö(¾ÈÇÑ´Ù¸é
  ip_queue_xmit()È£Ãâ)  °Ë»çÇϱ⠶§¹®¿¡IP_MULTICAST_LOOP ¿É¼ÇÀÌ È¿·ÂÀ»
  ¹ßÈÖÇÏ´Â °÷ÀÌ´Ù. ¶ÇÇÑ, ¿ÜºÎ·Î ÇâÇÏ´Â ÆÐŶÀÌ ¸ÖƼij½ºÆ®ÀÎÁö
  À¯´Ïij½ºÆ®ÀÎÁö¿¡ ÀÇ°ÅÇÏ¿© TTLÀ» Á¤ÇÏ´Â °÷À̱⵵ ÇÏ´Ù. ÀüÀÚÀÇ °Ü¿ì
  IP_MULTICAST_TTL    ·Î   Àü´ÞµÈ   º¯¼ö¸¦   »ç¿ëÇÑ´Ù(ÇÔ¼ö
  ip_build_xmit()).

  mrouted(Ä¿³Î¿¡ ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥ ¶ó¿ìÆà ¹æ¹ýÀ» ¾Ë·ÁÁÖ´Â
  ÇÁ·Î±×·¥)·Î  ÀÛ¾÷ÇÏ´Â µ¿¾È, ¿ì¸®´Â ¸ÖƼij½ºÆ® ¶ó¿ìÅÍ·Î ÀÛµ¿ÇÏ´Â ¿ì¸®ÀÇ
  ¸®´ª½º ¹Ú½º¿¡¼­ ¸¸µé¾îÁø ÆÐŶÀ» Á¦¿ÜÇÑ, ·ÎÄà ³×Æ®¿÷¿¡¼­ »ý¼ºµÈ
  ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥Àº ¸ðµÎ ÀûÀýÇÏ°Ô ¶ó¿ìÆõǴ °ÍÀ» ¹ß°ßÇß´Ù.
  ip_input.c   ´Â Á¦´ë·Î   ÀÛµ¿ÇÏ°í Àִ°͠  °°¾ÒÁö¸¸ ip_output.c ´Â
  ±×·¸Áö ¾Ê¾Ò´Ù. Ãâ·Â ÇÁ·Î±×·¥ÀÇ ¼Ò½º Äڵ带 Àд µ¿¾È ¿ÜºÎ·Î ³ª°¡´Â
  µ¥ÀÌÅͱ׷¥µéÀÌ ¶ó¿ìÆà ¿©ºÎ¸¦ °áÁ¤Çϴ  ÇÔ¼ö ipmr_forward()¸¦ °ÅÄ¡Áö
  ¾Ê´Â °ÍÀ» ¹ß°ßÇß´Ù. ÆÐŶµéÀº ·ÎÄà ³×Æ®¿÷À¸·Î Ãâ·ÂµÇ¾úÁö¸¸ ³×Æ®¿÷
  Ä«µå´Â ÀÚ½ÅÀÌ Àü¼ÛÇϴ  µ¥ÀÌÅͱ׷¥À»  ÀÐÀ» ¼ö ¾ø¾ú°í, ÀÌ·±
  µ¥ÀÌÅͱ׷¥µéÀº ¶ó¿ìÆõÇÁö ¾Ê¾Ò´Ù. ¿ì¸®°¡  ip_build_xmit() ÇÔ¼ö¿¡
  ÀûÀýÇÑ  Äڵ带 Ãß°¡ÇÏÀÚ ¸ðµç °ÍÀÌ ¿Ã¹Ù·Î ÀÛµ¿ÇÏ¿´´Ù. (¼Ò½º ¼öÁ¤Àº
  »çÄ¡¸¦ ¶°´Â °Íµµ À¯½ÄÇÑôÇÏ´Â °Íµµ ¾Æ´Ï´Ù; ÇÊ¿ä´Ù!)

  ipmr_forward() ´Â ¼ö Â÷·Ê ¾ð±ÞÇß¾ú´Ù. ipmr_forward() ´Â ¿ì¸®°¡ ÈçÈ÷
  À߸ø ÀÌÇØÇÏ°í ÀÖ´Â °ÍÀ» Ç®¾îÁÙ ¼ö Àֱ⠶§¹®¿¡ ¾ÆÁÖ Áß¿äÇÑ ÇÔ¼öÀÌ´Ù.
  ¸ÖƼij½ºÆ® Æ®·¡ÇÈÀ» ¶ó¿ìÆÃÇÒ ¶§, ÆÐŶ »çº»À»  ¸¸µé°í ±×°ÍÀ» ¿Ã¹Ù¸¥
  ¼ö½ÅÀÚ¿¡°Ô Àü´ÞÇÏ´Â °ÍÀº mroutedÀÚü°¡ ¾Æ´Ï´Ù.  mrouted´Â ¸ðµç
  ¸ÖƼij½ºÆ® Æ®·¡ÇÈÀ» ¼ö½ÅÇÏ¿©, ±×  Á¤º¸¿¡ ±Ù°ÅÇÏ¿© , ¸ÖƼij½ºÆ® ¶ó¿ìÆÃ
  Å×À̺íÀ» °è»êÇØ ³»°í Ä¿³Î¿¡ ¶ó¿ìÆà ¹æ¹ýÀ» ¾Ë·ÁÁØ´Ù. "ÀÌ ÀÎÅÍÆäÀ̽º¿¡¼­
  µé¾î¿À´Â Àú ±×·ìÀÇ µ¥ÀÌÅͱ׷¥Àº Àú ÀÎÅÍÆäÀ̽º·Î º¸³»¶ó."

  ÀÌ   ¶ó¿ìÆà Á¤º¸´Â   mrouted   µ¥¸ó(raw  ¼ÒÄÏ   »ý¼º½Ã   Áö¾îµÈ
  ÇÁ·ÎÅäÄÝÀº IPPROTO_IGMPÀ̾î¾ß ÇÑ´Ù.)ÀÌ ¸¸µç raw   ¼ÒÄÏ¿¡¼­
  setsockopt()¸¦   È£ÃâÇÏ¿© Ä¿³Î¿¡   ¼³Á¤ÇÑ´Ù.   ÀÌ   ¿É¼ÇÀº
  LINUX/net/ipv4/ipmr.c ÀÇ ip_mroute_setsockopt()ÇÔ¼ö¿¡¼­ ó¸®ÇÑ´Ù.
  ¼ÒÄÏ¿¡¼­ ¹ßÇàÇÑ Ã¹¹ø° ¿É¼Ç(would be  better to call them commands
  rather than options)Àº MRT_INITÀ̾î¾ß ÇÑ´Ù. ù  ¹ø°  ¹ßÇàÇÑ ¿É¼ÇÀÌ
  MRT_INITÀÌ  ¾Æ´Ï¶ó¸é  ´Ù¸¥   ¸ðµç ¸í·ÉÀº   ¹«½ÃÇÑ´Ù. (-EACCES¸¦ ¹Ý³³)
  ÇÑ È£½ºÆ® »ó¿¡´Â mroutedÀÇ ÀνºÅϽº°¡ ²À Çϳª¸¸ Á¸ÀçÇÒ ¼ö ÀÖ´Ù. ÀÌ°ÍÀ»
  ÃßÀûÇϱâ À§ÇØ  Ã¹ ¹ø° MRT_INIT À» ¹Þ¾ÒÀ»  ¶§ ±¸Á¶Ã¼ sock*
  mroute_socketÀÌ MRT_INIT À» ¼ö½ÅÇÑ ¼ÒÄÏÀ» °¡¸®Å°°Ô µÈ´Ù. ¸¸ÀÏ MRT_INIT
  À» ¹ßÇàÇßÀ»¶§ mroute_socketÀÌ ³Î(null)°ªÀ» °¡ÁöÁö ¾Ê´Â´Ù¸é ÀÌ¹Ì ´Ù¸¥
  mrouted°¡ ÀÛµ¿ÁßÀÓÀ» ÀǹÌÇϹǷΠ-EADDRINUSE À» ¹Ý³³ÇÑ´Ù.
  ³ª¸ÓÁö    ´Ù¸¥     ¸í·Éµé(MRT_DONE,    MRT_ADD_VIF, MRT_DEL_VIF,
  MRT_ADD_MFC, MRT_DEL_MFC and MRT_ASSERT)Àº mroute_socket°ú ´Ù¸¥
  ¼ÒÄÏ¿¡¼­ ¿Ã °æ¿ì -EACCES ¸¦ ¹Ý³³ÇÑ´Ù.

  ¶ó¿ìÆÃµÈ ¸ÖƼij½ºÆ® µ¥ÀÌÅͱ׷¥Àº ¹°¸®Àû ÀÎÅÍÆäÀ̽º ȤÀº  (°¡»óÀûÀÎ)
  ÅͳÎÀ» ÅëÇØ Àü¼ÛÇϱ⠶§¹®¿¡, ÀϹÝÀûÀÎ Ãß»óÈ­(abstraction) ´Ü°è¸¦ VIFs,
  Áï, °¡»ó ÀÎÅÍÆäÀ̽º (Virtual InterFaces)°í¾ÈÇس´Ù. mrouted´Â ¹°¸®
  È¤Àº ÅͳΠÀÎÅÍÆäÀ̽º¸¦  °¡¸®Å°´Â vif ±¸Á¶Ã¼¸¦ ¶ó¿ìÆà Å×ÀÌºí¿¡
  Ãß°¡Çϱâ À§ÇÏ¿© Ä¿³Î¿¡ ³Ñ°ÜÁÖ°í, µ¥ÀÌÅͱ׷¥À» ¾îµð·Î Æ÷¿öµùÇÒÁö
  ¾Ë·ÁÁÖ´Â ¸ÖƼij½ºÆ® Æ÷¿öµù ¸ñ·Ï(multicast forwarding entries)¿¡µµ
  ¾Ë·ÁÁØ´Ù.

  VIFs ´Â MRT_ADD_VIF ·Î Ãß°¡ÇÏ°í MRT_DEL_VIF ·Î  »èÁ¦ÇÑ´Ù.µÎ ÇÔ¼ö ¸ðµÎ
  vifctl ±¸Á¶Ã¼¸¦ Ä¿³Î·Î ³Ñ±ä´Ù.  ( /usr/include/linux/mroute.h) ¿¡¼­
  ´ÙÀ½°ú °°ÀÌ Á¤ÀÇÇÏ°í ÀÖ´Ù.

  ______________________________________________________________________
    struct vifctl {
            vifi_t  vifc_vifi;              /* Index of VIF */
   &


  ÃßõÇÏ±â   ¸ñ·Ïº¸±â

Copyright 1999-2024 Zeroboard / skin by zero