´ÙÀ½ ÀÌÀü Â÷·Ê

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¸¦ ÅëÇؼ­ È®ÀÎÇØ º¼ ¼ö ÀÖ´Ù.


´ÙÀ½ ÀÌÀü Â÷·Ê