|
|
|
Ãâó: http://www.cs.kookmin.ac.kr/project/project_2001/project2001_3/Project2001_03.htm#%EA%B3%BC%EC%A0%9C%EB%AA%85
1. °úÁ¦¸í : ½Ã½ºÅÛ ºÎÇÏ ¸ð´ÏÅ͸µÀ» ÅëÇÑ DynamicÇÑ Load Balancer ±¸Çö ¹× Weight »êÃâ
3. °³ ¿ä
´Ù¸¥ ³×Æ®À¨¿¡ ¿¬°áµÈ ¼¹ö(server)µéÀÇ Å¬·¯½ºÅÍ(cluster)´Â ¼º´ÉÀÌ ¶Ù¾î³ª°í (high performance) °¡¿ë¼ºÀÌ ³ôÀº (highly available) ¼¹ö¸¦ ±¸ÃàÇϴµ¥ À¯È¿ÇÑ ±¸Á¶ÀÓÀÌ ÆǸíµÇ°í ÀÖ´Ù. ÀÌ·¯ÇÑ ÇüÅÂÀÇ ´À½¼ÇÏ°Ô ¿¬°üµÈ ±¸Á¶´Â ´ÜÀÏ ÇÁ·Î¼¼¼(processor) ½Ã½ºÅÛÀ̳ª ¾ö°ÝÇÑ ´ÙÁß ÇÁ·Î¼¼¼ ½Ã½ºÅÛº¸´Ù È®À强ÀÌ ¶Ù¾î³ª°í (more scalable) ºñ¿ë-È¿À²¼ºÀÌ ÁÁÀ¸¸ç (more cost-effective) ½Å·Ú¼ºÀÌ ³ô´Ù(more reliable). ½ÇÁ¦ÀûÀ¸·Î ´ÜÀÏ ¼¹ö°¡ ó¸®ÇÒ ¼ö ÀÖ´Â ¿ë·®Àº ÀÌ¹Ì ÇÑ°èÄ¡¿¡ ´Ù´Ù¸£°í ÀÖÀ¸¸ç ÀÌ·ÐÀûÀ¸·Î CPUÀÇ ¼Óµµ´Â 10THz¸¦ ³ÑÀ» ¼ö ¾ø´Ù. ¶§¹®¿¡ Ŭ·¯½ºÅ͸µ¿¡ ´ëÇÑ ¿¬±¸¿Í °³¹ßÀÌ È°¹ßÇÏ°Ô ÀÌ·ç¾î Áö°í ÀÖÀ¸¸ç ´Ù¾çÇÑ ¹æ½ÄÀÇ Å¬·¯½ºÅ͸µ ±â¹ýÀÌ ¹ßÇ¥µÇ°í ÀÖ´Ù. ÇÏÁö¸¸ °¡Àå Å« À̽´´Â ¼¹öÀÇ °¡ÁßÄ¡¸¦ ¾î¶»°Ô ¾ó¸¶³ª ºÎ¿©ÇÒ °ÍÀΰ¡¿Í ¼¹öÀÇ Àå¾Ö½Ã ¾î¶°ÇÑ ½Ã³ª¸®¿À·Î µ¿ÀÛÇÒ °ÍÀΰ¡ÀÌ´Ù.
4. ¹è °æ
IP Ŭ·¯½ºÅ͸µÀº ƯÁ¤ »çÀÌÆ®³ª ¼¹ö·Î ÇâÇÏ´Â ÀÎÅÍ³Ý Æ®·¡ÇÈÀ» ÀûÀýÈ÷ ºÐ»êÇϱâ À§ÇÑ °ÍÀ¸·Î, ÀÎÅÍ³Ý »ç¿ëÀÚ¿Í ÄÁÅÙÃ÷ Á¦°øÀÚ°¡ Æø¹ßÀûÀ¸·Î Áõ°¡ÇÏ´Â ¿äÁò, ÇÖ À̽´·Î ºÎ°¢µÇ°í ÀÖ´Ù. Áï, Àαâ ÀÖ´Â »çÀÌÆ®µéÀº ºü¸¥ ½ÃÀÏ ³»¿¡ ÀÎÅÍ³Ý »ç¿ëÀÚ¿¡°Ô ¼Ò¹®ÀÌ ÆÛÁ® Á¢¼ÓÀÚ ¼ö°¡ ÇÏ·ç°¡ ´Ù¸£°Ô Áõ°¡ÇÔ¿¡ µû¶ó ÀÚ¿¬È÷ ¼ºñ½º ¹ÝÀÀ ¼Óµµ°¡ ±Þ°ÝÈ÷ ÀúÇϵȴÙ. ¶ÇÇÑ ³×Æ®¿öÅ© Æ®·¡ÇÈ °úºÎÇÏ·Î ¼¹ö°¡ ´Ù¿îµÉ °æ¿ì ¼ºñ½º¸¦ °è¼Ó ÇÒ ¼ö ¾ø´Â Áö°æ¿¡ À̸¥´Ù. ƯÈ÷ ÀüÀÚ»ó°Å·¡¿Í °°Àº ÀÀ¿ë ºÐ¾ß¿¡¼ ³×Æ®¿öÅ© ¼ºñ½º°¡ ÁߴܵǴ ¹®Á¦´Â ¸ÅÃâ¾×ÀÇ °¨¼Ò¿Í ½Å·Úµµ ÀúÇÏ·Î Á÷°áµÇ¹Ç·Î ½É°¢ÇÏÁö ¾ÊÀ» ¼ö ¾ø´Ù. ÀÌ·¸µí ¼ºñ½º Ç°ÁúÀ» °³¼±Çϱâ À§ÇÑ ¹æ¹ýÀ» ´Ü¼øÇÏ°Ô »ý°¢Çϸé Á»´õ ºü¸£°í ó¸®À²ÀÌ ¶Ù¾î³ ÄÄÇ»ÅÍ·Î ¼¹ö ÀÚü¸¦ ±³Ã¼ÇÏ´Â °ÍÀÌ ÃÖ¼±À̶ó°í »ý°¢ÇÒÁö ¸ð¸¥´Ù. ±×·¯³ª ¼¼»ó¿¡ Á¸ÀçÇÏ´Â ¾î¶°ÇÑ °í°¡ÀÇ ÄÄÇ»ÅͶó ÇÏ´õ¶óµµ ´ÜÀÏ ±â°è¿¡¼ Áõ°¡ÇÏ´Â ³×Æ®¿öÅ© Æ®·¡ÇÈÀ» °¨´çÇس»Áö ¸øÇÒ °ÍÀÌ´Ù.
ÀÌ¿¡ ´ëÇÑ ÀÌÀ¯´Â Å©°Ô µÎ °¡Áö°¡ ÀÖ´Ù. ¸ÕÀú ³×Æ®¿öÅ© ´ë¿ªÆøÀÌ ÇÑÁ¤µÅ ÀÖÀ» »Ó ¾Æ´Ï¶ó ÄÄÇ»Æà ÀÚ¿ø(¸Þ¸ð¸®, CPU µî)ÀÌ ÇÑÁ¤µÅ Àֱ⠶§¹®ÀÌ´Ù. ƯÈ÷ ÇöÀç·Î¼´Â ÄÄÇ»Æà ÀÚ¿ø¿¡¼ ÁÖ·Î º´¸ñÇö»óÀÌ ¹ß»ýÇϴµ¥, ¾Æ¸¶µµ Gbps±Þ ¹éº»¿¡ Á÷Á¢ ¿¬°áµÈ À¥»çÀÌÆ®¶óµµ °³°³ÀÇ »ç¿ëÀÚµéÀº 14.4Kbps¿¡¼ ¼ö Mbps Á¤µµÀÇ ³×Æ®¿öÅ©¸¦ ÀÌ¿ëÇØ Á¢¼ÓÇϱ⠶§¹®¿¡ Àüü ½ºÇǵ尡 Å©°Ô ÀúÇϵȴÙ. ÀÌ·¯ÇÑ ³×Æ®¿öÅ© ȯ°æ¿¡¼´Â ÄÄÇ»Æà ÀÚ¿øÀº °è¼Ó °í°¥µÇ°í, ³ª¾Æ°¡ ½Ã½ºÅÛÀÌ ´Ù¿îµÉ °æ¿ì ¼ºñ½º°¡ ÁߴܵǴ ġ¸íÀû °á°ú¸¦ °¡Á®¿À±âµµ ÇÑ´Ù. ƯÈ÷ ¸Þ¸ð¸® ÀÚ¿øÀÇ °í°¥ Çö»óÀÌ ½ÉÇѵ¥, ÇÑ ´ëÀÇ ÄÄÇ»ÅÍ¿¡ ÀåÂøÇÒ ¼ö ÀÖ´Â ¸Þ¸ð¸®ÀÇ ¿ë·®Àº Á¦ÇѵŠÀÖÀ¸¹Ç·Î ¿©·¯ ´ëÀÇ ¼¹ö·Î Ŭ·¯½ºÅ͸µÇÏ´Â °ÍÀÌ Çʼö´Ù.
ÀÎÅͳݿ¡¼ÀÇ Æ®·¡ÇÈÀº ¸Å³â 100%ÀÌ»óÀÇ Áõ°¡Ãß¼¼À̸ç ÀÌ¿¡ µû¶ó ¼¹ö¿¡ Á¢¼ÓÇÏ´Â Æ®·¢ÇÈÀÌ ºü¸£°Ô Áõ°¡ÇÏ¸é¼ ¼¹öµéÀº ªÀº ½Ã°£³»¿¡ °úºÎÇÏ°¡ ¹ß»ýÇÔÀ¸·Î½á ÀÌ¿¡ µû¸¥ ¼¹öÀÇ ½ÇÇà´É·Â°ú °¡¿ë¼ºÀ» ³ôÀÌ´Â ¹®Á¦°¡ ´ëµÎµÈ´Ù. ±×·¯¹Ç·Î È®À强ÀÌ ÀÖ°í ³ôÀº °¡¿ë¼ºÀ» °¡Áø ¼¹ö¿¡ ´ëÇÑ ¿ä±¸°¡ Àý½ÇÈ÷ Áõ°¡ÇÏ°í ÀÖ´Ù. ÀÌ·¯ÇÑ ÇüÅÂÀÇ ¼¹öµéÀÇ ÇÊ¿ä Á¶°ÇÀ» ¿ä¾àÇÏÀÚ¸é ´ÙÀ½°ú °°´Ù:
Ãß°¡ È®À强
³ôÀº °¡¿ë¼º
ºñ¿ë-È¿À²¼º
¼¹ö¸¦ ´õ ³ôÀº ¼º´ÉÀÇ ¼¹ö·Î °³¼± ÇÏ´Â ´ÜÀÏ ¼¹ö ¼Ö·ç¼ÇÀº ÀÌ ÇÊ¿ä Á¶°ÇÀ» ¸ÂÃ߱⿡ ÇÑ°è°¡ ÀÖ´Ù. °³¼± ÀÛ¾÷ÀÌ º¹ÀâÇÏ°í ¿ø·¡ÀÇ ±â°è°¡ ³¶ºñµÉ ¼öµµ ÀÖ´Ù. ¸¸ÀÏ ¿ä±¸°¡ Áõ°¡µÈ´Ù¸é ¿À·¡ Áö³ªÁö ¾Ê¾Æ °úºÎÇÏ°¡ µÇ¾î ´õ ³ôÀº ¼º´ÉÀÇ ¼¹ö·Î ´Ù½Ã °³¼±ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ÀÌ ¼¹ö¿¡ Àå¾Ö°¡ ÀϾ¸é Àüü ½Ã½ºÅÛ¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â °÷ÀÌ´Ù. °³¼±ÇؾßÇÒ ¸ñÇ¥°¡ ³ô¾ÆÁö¸é ³ô¾ÆÁú¼ö·Ï ºñ¿ëÀÌ ´õ¿í ´õ ¸¹ÀÌ µç´Ù.
ºü¸¥ ³×Æ®¿öÅ©¿¡ ¿¬°áµÈ ¼¹öµéÀÇ Å¬·¯½ºÅÍ´Â ¼º´ÉÀÌ ¶Ù¾î³ª°í °¡¿ë¼ºÀÌ ³ôÀº ¼¹ö¸¦ ±¸ÃàÇϴµ¥ À¯È¿ÇÑ ±¸Á¶ÀÓÀÌ ÆǸíµÇ°í ÀÖ´Ù. ÀÌ·¯ÇÑ ÇüÅÂÀÇ ´À½¼ÇÏ°Ô ¿¬°üµÈ ±¸Á¶´Â ´ÜÀÏ ÇÁ·Î¼¼¼ ½Ã½ºÅÛÀ̳ª ¾ö°ÝÇÑ ´ÙÁß ÇÁ·Î¼¼¼ ½Ã½ºÅÛº¸´Ù È®À强ÀÌ ¶Ù¾î³ª°í ºñ¿ë-È¿À²¼ºÀÌ ÁÁÀ¸¸ç ½Å·Ú¼ºÀÌ ³ô´Ù. ±×·¯³ª Ŭ·¯½ºÅͳ» º´·Ä ¼ºñ½ºÀÇ Åõ¸í¼º, È®À强, ±×¸®°í ³ôÀº °¡¿ë¼ºÀ» Á¦°øÇØ¾ß ÇÏ´Â ¾î·Á¿òÀÌ ÀÖ´Ù.
4. 1 ÀϹÝÀûÀÎ ¼º´É Çâ»ó ¹æ¾È
¼öÁ÷Àû ¼º´É ¹æ¾È : CPU, Memory µîÀÇ ¾÷±×·¹À̵å
¼öÆòÀû ¼º´É ¹æ¾È : node Ãß°¡
ºñ¿ëÀû ¹®Á¦·Î ÀÎÇØ ¼öÁ÷Àû ¼º´É º¸´Ù ¼öÆòÀû ¼º´ÉÀÌ ´ë¾ÈÀ¸·Î ´ëµÎµÊ
³·Àº ºñ¿ë°ú ½Ã½ºÅÛÀÇ È®À强 ¹× ½Ã½ºÅÛÀÇ °í°¡¿ë¼ºÀÌ ÇÊ¿ä
4. 2 LVS(Linux Virtual Server)¸¦ ÀÌ¿ëÇÑ ¼º´ÉÇâ»ó
¸®´ª½º ±â¹ÝÀÇ À¥ Ŭ·¯½ºÅ͸µÀ» ÀÌ¿ëÇÏ¿© °í¼º´É°ú ³ôÀº °í°¡¿ë¼ºÀÇ ¼¹ö¸¦ ±¸¼ºÇÔÀ¸·Î¼ ³ôÀº È®À强, ½Å·Ú¼º ¼ºñ½º¸¦ Á¦°øÇÏ´Â °ÍÀ¸·Î¼ °¡»ó ¼¹ö´Â ½ÇÁ¦ ¼¹ö¸¦ Ŭ·¯½ºÅÍ·Î ±¸¼ºÇÏ¿© ¶Ù¾î³ È®À强°ú ½Å·Ú¼ºÀ» ±¸ÇöÇÑ´Ù. ¶ÇÇÑ Å¬·¯½ºÅÍÀÇ ±¸Á¶´Â ÃÖÁ¾»ç¿ëÀÚ¿¡°Ô´Â Åõ¸íÇÏ¸ç »ç¿ëÀÚ´Â ¿ÀÁ÷ ÇϳªÀÇ °¡»ó¼¹ö¸¸À» º¼ ¼ö ÀÖÀ½.
°¡»ó ¼¹ö´Â ´À½¼ÇÏ°Ô ¿¬°üµÈ µ¶¸³µÈ ¼¹öµéÀÇ Å¬·¯½ºÅÍ¿¡ ±¸ÃàµÇ¾î È®Àå °¡´ÉÇÏ°í °¡¿ë¼ºÀÌ ³ôÀº ¼¹öÀÌ´Ù. Ŭ·¯½ºÅÍ ±¸Á¶´Â Ŭ·¯½ºÅÍ ¹ÛÀÇ Å¬¶óÀ̾ðÆ®¿¡ Åõ¸íÇÏ´Ù. Ŭ¶óÀ̾ðÆ® ÀÀ¿ë ÇÁ·Î±×·¥Àº ¸¶Ä¡ Ŭ·¯½ºÅÍ°¡ ÇϳªÀÇ °í¼º´É, °í°¡¿ë¼ºÀÇ ¼¹öÀÎ °Íó·³ Ŭ·¯½ºÅÍ¿Í »óÈ£ÀÛ¿ëÇÑ´Ù. Ŭ¶óÀ̾ðÆ®´Â Ŭ·¯½ºÅÍ¿ÍÀÇ »óÈ£ÀÛ¿ë¿¡ ÀÇÇØ Ä§¹ü ¹ÞÁö ¾ÊÀ¸¸ç º¯ÇüµÉ ÇÊ¿ä°¡ ¾ø´Ù.
4. 3 °¡»ó ¼¹öÀÇ ±¸Á¶
½ÇÁ¦ ¼¹öµéÀº °í¼Ó LAN ¶Ç´Â Áö¿ªÀûÀ¸·Î ºÐ»êµÈ WANÀ¸·Î ¿¬°áµÈ´Ù. ½ÇÁ¦ ¼¹öµéÀÇ ¿ÜºÎ ¿¬°áºÎ´Â ºÎÇÏ ºÐ»ê±â(load balancer)ÀÌ´Ù. ºÎÇÏ ºÐ»ê±â´Â ¿ä±¸¸¦ °¢±â ´Ù¸¥ ¼¹öµé¿¡°Ô ÀÛ¾÷ ÇÒ´ç(schedule)ÇÏ°í Ŭ·¯½ºÅÍÀÇ º´·Ä ¼ºñ½ºµéÀ» ÇϳªÀÇ IP ÁÖ¼Ò»óÀÇ ÇϳªÀÇ °¡»ó ¼ºñ½º·Î º¸À̵µ·Ï ¸¸µç´Ù. ³ôÀº °¡¿ë¼ºÀº ³ëµå(node) ¶Ç´Â µ¥¸ó(daemon)ÀÇ Àå¾Ö³ª ½Ã½ºÅÛÀÇ ±¸Á¶ º¯È¸¦ ÀûÀýÈ÷ °¨ÁöÇس¿À¸·Î½á ÀÌ·ç¾îÁø´Ù.
4. 4 ¿¬°üµÈ ÀÛ¾÷µé
Ŭ¶óÀ̾ðÆ®/¼¹ö ȯ°æ(client/server applications)¿¡¼ ÇÑÂÊ ³¡Àº Ŭ¶óÀ̾ðÆ®°í ´Ù¸¥ ÇÑÂÊ ³¡Àº ¼¹ö°¡ µÈ´Ù. ±×¸®°í Áß°£¿¡ À¥ ¼ºñ½º¿¡¼ÀÇ ÇÁ¶ô½Ã ¼¹ö°°Àº ÇÁ¶ô½Ã(proxy)°¡ ÀÖÀ» ¼ö ÀÖ´Ù. ÀÌ ½Ã³ª¸®¿À¸¦ ¹ÙÅÁÀ¸·Î °¢±â ´Ù¸¥ °èÃþ¿¡¼ ¼¹öµéÀÇ Å¬·¯½ºÅÍ¿¡ ¿ä±¸(request)¸¦ ¹ß¼Û (dispatch)ÇÏ´Â ¸¹Àº ¹æ¹ýÀÌ ÀÖ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ÀϹÝÀûÀ¸·Î ÀÌ·¯ÇÑ ¼¹öµéÀº °°Àº ¼ºñ½º ¿Í °°Àº ¼ºñ½º ³»¿ëÀ» °¡Áö°í ÀÕ´Ù. ¼ºñ½º ³»¿ëÀº °¢ ¼¹öÀÇ ·ÎÄ® µð½ºÅ©(local disk)¿¡ º¹Á¦ µÇ°Å³ª ³ÝÆ®¿÷ ÆÄÀÏ ½Ã½ºÅÛÀ¸·Î °øÀ¯µÇ¾îÁö°Å³ª ºÐ»ê ÆÄÀÏ ½Ã½ºÅÛÀ¸·Î Á¦°øµÈ´Ù. ±âÁ¸ÀÇ ¿ä±¸ ¹ß¼Û ±â¼úµé(request dispatching techniques)Àº ´ÙÀ½°ú °°Àº ¹üÁÖµé·Î ³ª´ ¼ö ÀÖ´Ù.
4. 4. 1 Ŭ¶óÀ̾ðÆ® Ãø¸éÀÇ ¹æ¹ý
¹öŬ¸®(Berkeley)ÀÇ ½º¸¶Æ® Ŭ¶óÀ̾ðÆ®(Smart Client)1´Â Ŭ¶óÀ̾ðÆ® Ãø¸é¿¡¼ µ¿ÀÛÇÏ´Â ¾ÖÇø´ (applet)À» Á¦°øÇÑ´Ù. ¾ÖÇø´ÀÌ ¼¹öµéÀÇ Å¬·¯½ºÅÍ¿¡°Ô ¸ðµç ¼¹öµéÀÇ ºÎÇÏ Á¤º¸(load information)¸¦ ¸ð¾Æ ÁÙ°ÍÀ» ¿äûÇÑ ÈÄ, ±× Á¤º¸¸¦ ¹ÙÅÁÀ¸·Î ÇÑ ¼¹ö¸¦ ¼±ÅÃÇÏ¿© ±× ¼¹ö¿¡ ¿ä±¸(request)¸¦ º¸³½´Ù. ¾ÖÇø´Àº ¼±ÅÃÇÑ ¼¹ö°¡ »ç¿ë ºÒ´É »óÅÂ(down)°¡ µÇ¾ú´Ù¸é ´Ù¸¥ ¼¹ö¸¦ ½Ã µµÇÑ´Ù. º¸½ºÅÏ ´ëÇÐ(Boston University)Àº Ŭ¶óÀ̾ðÆ®ÂÊ¿¡¼ ´ë¿ªÆø(bandwidth)À» ½ÃÇèÇÏ¿© µ¿ ÀûÀ¸·Î ¼¹ö¸¦ ¼±ÅÃÇÏ´Â ±â¼ú2À» °³¹ßÇß´Ù. ÀÌ ±â¼ú¿¡¼´Â ÁÖ¾îÁø °æ·Î¸¦ µû¶ó °¡´ÉÇÑÇÑ Å« ´ë¿ªÆø°ú °æ·Î»óÀÇ ÇöÀçÀÇ Á¤Ã¼(congestion)¸¦ ½ÇÇèÀ» ÅëÇØ ÃßÁ¤ÇÑ´Ù. ±×·¯³ª ÀÌ·¯ÇÑ Å¬¶óÀ̾ðÆ® Ãø¸éÀÇ Á¢±ÙÀº Ŭ¶óÀ̾ðÆ®-Åõ¸í¼ºÀ» °¡ÁöÁö ¸øÇÑ´Ù. À̵éÀº Ŭ¶óÀ̾ðÆ® ÀÀ¿ëÇÁ·Î±×·¥ÀÇ ¼öÁ¤ÀÌ ÇÊ¿äÇϱ⠶§¹®¿¡ ¸ðµç TCP/IP ¼ºñ½º¿¡ ÀÀ¿ëµÉ ¼ö´Â ¾ø´Ù. °Ô´Ù°¡ À̵éÀº ºÎ°¡ÀûÀÎ Áú¹® ¶Ç´Â ½ÇÇè ¶§¹®¿¡ ³ÝÆ®¿÷ Á¤º¸ Àü¼Û·®À» Áõ°¡½Ãų °¡´É¼ºÀÌ ÀÖ´Ù.
4. 4. 2 ¼¹ö Ãø¸éÀÇ Round-Robin DNS ¹æ¹ý
NCSA È®Àå °¡´É(scalable) À¥ ¼¹ö´Â Round-Robin DNS ¹æ¹ý3, 4, 5À» ÀÌ¿ëÇÑ ÃÖÃÊÀÇ È®Àå °¡´É À¥ ¼¹öÀÇ ¿øÇüÀÌ´Ù. RRDNS ¼¹ö´Â round-robin ¹æ½ÄÀ¸·Î °¢±â ´Ù¸¥ IP ÁÖ¼ÒµéÀ» ÇϳªÀÇ À̸§¿¡ ´ëÀÀ(map)½ÃÄÑ ÀÌ»óÀûÀÎ »óȲ¿¡¼´Â °¢±â ´Ù¸¥ Ŭ¶óÀ̾ðÆ®µéÀÌ Å¬·¯½ºÅÍ ¾ÈÀÇ °¢±â ´Ù¸¥ ¼¹ö¿¡ Á¢±ÙÇÑ´Ù. ÀÌ·± ¹æ¹ýÀ¸·Î ºÎÇÏ(load)°¡ ¼¹öµé »çÀÌ¿¡ ºÐ»êµÈ´Ù. ±×·¯³ª Ŭ¶óÀ̾ðÆ®ÀÇ Ä³½Ì (caching)°ú DNS ½Ã½ºÅÛÀÇ »ó¼ÓÀû Ư¼º ¶§¹®¿¡ ¼¹öµé »çÀÌ¿¡ µ¿Àû ºÎÇÏ ºÒ±ÕÇüÀÌ ÃÊ·¡µÇ±â ½±´Ù. µû¶ó¼ ¼¹öµéÀÇ ÃÖ°í(peak) ºÎÇϸ¦ Á¦¾îÇϱⰡ ½±Áö ¾Ê´Ù. PR-DNS¿¡¼ À̸§ ´ëÀÀ(name mapping)ÀÇ »ýÁ¸ ½Ã°£(Time To Live, TTL) °ªÀ» Àß ¼±ÅÃÇϱⰡ ¾î·Æ´Ù. ÀûÀº °ªÀ¸·Î´Â PR-DNS°¡ º´¸ñÀ» ÀÏÀ¸Å³ °ÍÀÌ°í, ³ôÀº °ªÀ¸·Î´Â µ¿Àû ºÎÇÏ ºÒ±ÕÇüÀÌ ´õ¿í ³ªºüÁú °ÍÀÌ´Ù. TTL°ªÀ» ¿µÀ¸·Î ¼³Á¤ÇÑ´Ù ÇÏ´õ¶óµµ ÀÛ¾÷ ÇÒ´çÀÇ ±âÃÊ(scheduling granuarity)´Â È£½ºÆ® ±â¹ÝÀÌ°í, ¾î¶² »ç¶÷Àº »çÀÌÆ®¿¡¼ ¸¹Àº Á¤º¸¸¦ ¹Þ¾Æ°¡°í, ¶Ç ´Ù¸¥ »ç¶÷Àº ¸î °³ÀÇ Á¤º¸¸¸ Èð¾îº¸´Ù °¡¹ö¸± ¼ö Àֱ⠶§¹®¿¡ »ç¿ëÀÚµéÀÇ °¢±â ´Ù¸¥ Á¢¼Ó ¾ç½ÄÀÌ µ¿Àû ºÎÇÏ ºÒ±ÕÇüÀ» ÃÊ·¡ÇÒ °ÍÀÌ´Ù. °Ô´Ù°¡ ¼¹ö ³ëµå¿¡ Àå¾Ö°¡ Àְųª, Ŭ¶óÀ̾ðÆ®µéÀÌ IP ÁÖ¼Ò¿¡ ´ëÀÀµÇ´Â ¼¹ö¸¦ ã¾Æ°¡ ±× ¼¹ö°¡ »ç¿ë ºÒ´É »óÅÂ(down)ÀΰÍÀ» ¹ß°ßÇßÀ» ¶§ ±×¸® ¹ÏÀ»¸¸ÇÏÁö ¸øÇÏ°í, ºê¶ó¿ìÀú¿¡¼"reload" ³ª "refresh" ¹öÆ°À» ´©¸¦¶§Á¶Â÷ ¾ÆÁ÷ ¹®Á¦°¡ ³²¾ÆÀÖ´Ù.
4. 4. 3 ¼¹ö Ãø¸éÀÇ ÀÀ¿ë ÇÁ·Î±×·¥ °èÃþ ÀÛ¾÷ ÇÒ´ç ¹æ¹ý
EDDIE6, Reverse-proxy7, pWEB8 ±×¸®°í SWEB9´Â È®Àå °¡´ÉÇÑ(scalable) À¥ ¼¹ö¸¦ ±¸ÃàÇϱâ À§ÇØ ÀÀ¿ë ÇÁ·Î±×·¥ °èÃþ ÀÛ¾÷ ÇÒ´ç(scheduling) ¹æ¹ýÀ» ÀÌ¿ëÇÑ´Ù. À̵éÀº ¸ðµÎ HTTP ¿äûÀ» Ŭ·¯½ºÅÍ¿¡ ÀÖ´Â ´Ù¸¥ À¥ ¼¹ö¿¡ Àü´ÞÇÑ´Ù. ±× ÈÄ °á°ú¸¦ ¾ò¾î ÃÖÁ¾ÀûÀ¸·Î ±× °á°ú¸¦ Ŭ¶óÀ̾ðÆ® ¿¡ µ¹·ÁÁØ´Ù. ±×·¯³ª ÀÌ·± ¹æ¹ýÀº °¢ ¿ä±¸(request)¿¡ Ŭ¶óÀ̾ðÆ®¿Í ºÎÇÏ ºÐ»ê±â(load balancer) »çÀÌÀÇ Á¢¼Ó°ú ºÎÇÏ ºÐ»ê±â(load balancer)¿Í ¼¹ö »çÀÌÀÇ Á¢¼ÓÀÇ µÎ°³ TCP Á¢¼ÓÀ» ¸¸µé¾î¾ß ÇϹǷΠÁö¿¬(delay)ÀÌ ³ô´Ù. ±×¸®°í ÀÀ¿ë ÇÁ·Î±×·¥ °èÃþ¿¡¼ÀÇ HTTP ¿ä±¸µé°ú ¹ÝÀÀµé(replies)À» ´Ù·ç´Â °£Á¢ ºñ¿ë ¶ÇÇÑ ³ô¾Æ¼ ¼¹ö ³ëµåÀÇ ¼ö°¡ Áõ°¡ÇÏ¸é ¿À·¡ Áö³ªÁö ¾Ê¾Æ ÀÀ¿ë ÇÁ·Î±×·¥ °èÃþÀÇ ºÎÇÏ ºÐ»ê±â(load balancer)°¡ »õ·Î¿î º´¸ñ ±¸°£ÀÌ µÈ´Ù.
4. 4. 4 ¼¹ö Ãø¸éÀÇ IP °èÃþ ÀÛ¾÷ ÇÒ´ç ¹æ¹ý
¹öŬ¸®(Berkeley)ÀÇ MagicRouter10¿Í ½Ã½ºÄÚ(Cisco)ÀÇ LocalDirector11´Â ´Ù¸¥ ¼¹öµé»óÀÇ º´·Ä ¼ºñ½ºµéÀ» ´ÜÀÏ IP ÁÖ¼Ò»óÀÇ ÇϳªÀÇ °¡»ó ¼ºñ½º·Î º¸À̵µ·Ï ³ÝÆ®¿÷ ÁÖ¼Ò ¹ø¿ª(Network Address Translation) ¹æ¹ýÀ» »ç¿ëÇÑ´Ù. ºÎÇÏ ºÐ»ê±â(load balancer)°¡ ¿äû ÆÐŶµé(request packets)ÀÇ ¸ñ ÀûÁö ÁÖ¼Ò(destination address)¸¦ ¹Ù²ã ¼±ÅÃµÈ ¼¹ö·Î º¸³»ÁØ´Ù. ±× ÈÄ ÀÀ´ä ÆÐŶµé(reply packets)ÀÇ ¹ß»ýÁö ÁÖ¼Ò(source address)¸¦ ¿ø·¡ ¿äû ÆÐŶÀÇ ¸ñÀûÁö ÁÖ¼Ò·Î ¹Ù²ãÁØ´Ù. ±×·¯³ª MagicRouter´Â ´Ù¸¥ ¸ñÀûÀÇ »ç¿ëÀÚ¿¡°Ô´Â º°·Î À¯¿ëÇÏÁö ¾Ê°í LocalDirector´Â ³Ê¹« ºñ½Î´Ù. ±×¸®°í À̵éÀº ´Ü¼øÈ÷ TCP Àü¼Û ±Ô¾à(protocol) ºÎºÐ¸¸À» Áö¿øÇÒ »ÓÀÌ´Ù. ÀÌ ¹æ¹ýÀº ¸®´ª½º °¡»ó¼¹ö¿¡ Àß ÁغñµÇ¾î ÀÖ°í ÀÚ¼¼ÇÑ °ÍµéÀº ´ÙÀ½ Àå¿¡¼ ³íÀÇÇÒ °ÍÀÌ´Ù.
IBMÀÇ TCP router12´Â IBMÀÇ È®Àå °¡´ÉÇÑ(scalable) º´·Ä SP-2 ½Ã½ºÅÛ¿¡ È®Àå °¡´ÉÇÑ À¥ ¼¹ö¸¦ ±¸ÃàÇϱâ À§ÇØ º¯ÇüµÈ ³ÝÆ®¿÷ ÁÖ¼Ò ¹ø¿ª ¹æ¹ý(modified Network Address Translation)À» »ç¿ëÇÑ´Ù. TCP router´Â ¿äû ÆÐŶµéÀÇ ¸ñÀûÁö ÁÖ¼Ò¸¦ ¹Ù²ã ¼±ÅÃµÈ ¼¹ö·Î º¸³»ÁØ´Ù. ÀÌ ¼¹ö´Â ÀÀ´ä ÆÐŶµéÀÇ ¹ß»ýÁö ÁÖ¼Ò¸¦ ÀÚ½ÅÀÇ ÁÖ¼Ò ´ë½Å TCP router ÁÖ¼Ò·Î ³Öµµ·Ï º¯ÇüµÇ¾îÀÖ´Ù. ÀÌ º¯Çü ¹æ¹ýÀÇ ÀåÁ¡Àº TCP router°¡ ÀÀ´ä ÆÐŶÀ» º¯°æ(rewriting)Çؾ߸¸ ÇÏ´Â °ÍÀ» ÇÇÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ´ÜÁ¡Àº Ŭ·¯½ºÅÍÀÇ ¸ðµç ¼¹öµéÀÇ Ä¿³Î ÄÚµå(kernel code)¸¦ º¯°æÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.
ONE-IP13´Â ¶Ç ´Ù¸¥ IP-°èÃþ ÀÛ¾÷ ÇÒ´ç ¹æ¹ýÀÌ´Ù. ÀÌ ¹æ¹ý¿¡¼´Â ¸ðµç ¼¹öµéÀÌ ³ÝÆ®¿÷¿¡¼ ±×µé ÀÚ½ÅÀÇ IP ÁÖ¼Ò¸¦ °¡Áö°í IP º°Äª ÀÎÅÍÆäÀ̽º(IP alias i
nterface)¿¡ ¸ðµÎ °°Àº IP ÁÖ¼Ò¸¦ ±¸¼º Çؾ߸¸ ÇÑ´Ù. µÎ°¡Áö ¹ß¼Û(dispaching) ±â¼úÀÌ »ç¿ëµÈ´Ù. ÇÑ°¡Áö´Â Áß¾ÓÀÇ ¹ß¼Û±â(dispacher)°¡ IPÆÐŶµéÀ» ´Ù¸¥ ¼¹öµé·Î Á÷Á¢ ¹è¼Û(routing)ÇÏ´Â °ÍÀÌ°í, ´Ù¸¥ Çϳª´Â ÆÐŶµéÀ» Èð»Ñ·Á(broadcast) Áö¿ªÀûÀ¸·Î °É·¯³»´Â(local filtering) °ÍÀÌ´Ù. ÀÀ´ä ÆÐŶÀ» º¯°æ(rewriting)ÇÏ´Â °ÍÀ» ÇÇÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù. ´ÜÁ¡Àº ¾î¶² ¿î¿µÃ¼Á¦´Â ³ÝÆ®¿÷ ÀÎÅÍÆäÀ̽º°¡ IP ÁÖ¼Ò Ãæµ¹À» ¹ß°ßÇßÀ» ¶§ Á¤Áö(shutdown)Çϱ⠶§¹®¿¡ ¸ðµç ¿î¿µÃ¼Á¦¿¡ Àû¿ëÇÒ ¼ö´Â ¾ø´Ù´Â °ÍÀÌ´Ù. Áö¿ªÀû °É¸§(local filtering) ¿ª½Ã ¸ðµç ¼¹öÀÇ Ä¿³Î Äڵ带 º¯°æÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.
4. 5 ±âÁ¸ÀÇ Å¬·¯½ºÅ͸µ ¹æ½Ä
4. 5. 1 Round Robin DNS
ÀÌ ¹æ½ÄÀº DNS(Domain Name System)¸¦ ºÎÇÏ ºÐ»ê¿¡ ÀÌ¿ëÇÏ´Â °ÍÀ¸·Î, °¡Àå ¼Õ½±°Ô Ŭ·¯½ºÅ͸¦ ±¸¼ºÇÒ ¼ö ÀÖ´Ù. DNS´Â ±âº»ÀûÀ¸·Î Ŭ¶óÀ̾ðÆ®°¡ ¿äûÇÏ´Â µµ¸ÞÀÎ ³×ÀÓÀ» IP·Î ¸ÊÇνÃÄÑÁÖ´Â ¿ªÇÒÀ» Çϸç, ÀϹÝÀûÀ¸·Î ÇϳªÀÇ µµ¸ÞÀÎ ³×ÀÓ¿¡ ÇϳªÀÇ IP°¡ ÇÒ´çµÈ´Ù. ±×·¯³ª Round Robin DNS¸¦ ±¸¼ºÇÏ·Á¸é ÇϳªÀÇ µµ¸ÞÀÎ ³×ÀÓ¿¡ ¿©·¯ °³ÀÇ IP¸¦ ÇÒ´çÇÑ´Ù. ±×·¯¸é Round Robin DNS´Â µ¿ÀÏÇÑ µµ¸ÞÀÎ ³×ÀÓÀ¸·Î ¼ºñ½º¸¦ ¿äûÇϴ Ŭ¶óÀ̾ðÆ®¿¡°Ô °¢°¢ ´Ù¸¥ IP¸¦ µÇµ¹·ÁÁÜÀ¸·Î½á ºÎÇÏ ºÐ»êÀ» ¼öÇàÇÑ´Ù.
ÇöÀç ´ëºÎºÐÀÇ DNS ¼ÒÇÁÆ®¿þ¾î´Â Round Robin ¹æ½ÄÀ» Áö¿øÇϹǷÎ, ¼³Á¤ ÆÄÀÏ ¼öÁ¤¸¸À¸·Îµµ °£´ÜÇÏ°Ô Å¬·¯½ºÅ͸µÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ Å¬¶óÀ̾ðÆ®°¡ óÀ½ µµ¸ÞÀÎ ³×ÀÓ¿¡ ´ëÇØ ResolvingÇÒ ¶§¸¸ DNS¿¡ Æ®·¡ÇÈÀ» ¹ß»ý½ÃÅ°¹Ç·Î ƯÁ¤ÇÑ ¼¹ö¿¡ º´¸ñÇö»óÀÌ ¹ß»ýµÇÁö ¾Ê´Â´Ù. ´Ü ÀÌ ¹æ½ÄÀÇ ´ÜÁ¡Àº ÀϹÝÀûÀ¸·Î Round Robin DNS°¡ ¼¹ö »óŸ¦ ¾Ë ¼ö ¾ø´Ù´Â °ÍÀÌ´Ù. ¸¸ÀÏ, ¼¹ö °¡¿îµ¥ Çϳª°¡ ´Ù¿îµÇ´õ¶óµµ Round Robin DNS´Â ¼ºñ½º¸¦ °è¼ÓÇÒ ¼ö ¾ø´Â ¼¹öÀÇ IP¸¦ Ŭ¶óÀ̾ðÆ®¿¡°Ô µÇµ¹·ÁÁØ´Ù. ÀÌ¿¡ µû¶ó ÀϺΠ»ç¿ëÀÚ¿¡°Ô ¼ºñ½º°¡ ÁߴܵǴ ġ¸íÀûÀÎ °á°ú¸¦ °¡Á®¿Â´Ù.
¸¸¾à Round Robin DNS¿¡ ¼¹ö ½ÇÆÐ »óȲÀ» °¨ÁöÇÏ´Â ±â´ÉÀ» Ãß°¡ÇÏ´õ¶óµµ, DNS ¼¹ö°¡ µµ¸ÞÀÎ ³×ÀÓ¿¡ ´ëÇÑ ¿äûÀ» ij½ÌÇϱ⠶§¹®¿¡ ¿©ÀüÈ÷ ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. Ŭ¶óÀ̾ðÆ®¿Í Round Robin DNS »çÀÌ¿¡ ÀÖ´Â Áß°£ DNS ¼¹ö´Â Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» Á»´õ ºü¸£°Ô ó¸®Çϱâ À§ÇØ ÇÑ ¹ø ¿äû¹Þ¾Ò´ø µµ¸ÞÀÎ ³×ÀÓ¿¡ ´ëÇÑ IP¸¦ ij½Ã¿¡ ÀúÀåÇØ µÎ°í ´Ù½Ã µ¿ÀÏÇÑ µµ¸ÞÀο¡ ´ëÇÑ ¿äûÀº ij½ÃÀÇ ³»¿ëÀ» ÂüÁ¶ÇØ ÀÀ´äÇÑ´Ù. ÀÌ°ÍÀº ºÎÇÏ ºÐ»êÀÇ È¿°ú¸¦ ÀúÇϽÃÅ°´Â ¿äÀÎÀÌ µÈ´Ù. ¶ÇÇÑ Å¬·¯½ºÅÍ ³»ÀÇ ¼¹ö °¡¿îµ¥ Çϳª°¡ ´Ù¿îµÈ ÈÄ °ü¸®ÀÚ°¡ ´Ù¿îµÈ ¼¹ö¸¦ Ŭ·¯½ºÅÍ¿¡¼ Á¦°ÅÇÏ´õ¶óµµ ¿©ÀüÈ÷ ¼ºñ½º´Â ÀÏÁ¤ ½Ã°£ Áß´ÜµÉ ¼ö ÀÖ´Ù. Áß°£ÀÇ DNS ¼¹ö°¡ ij½ÌµÈ ³»¿ëÀ» ¾÷µ¥ÀÌÆ®Çϴµ¥ ÀÏÁ¤ ½Ã°£ÀÌ ¿ä±¸µÇ±â ¶§¹®ÀÌ´Ù.
ÆäÀÏ¿À¹ö ±â´É ¼öÇà : ¾Õ¼ ¾ð±ÞµÈ DNS ij½Ì ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇÑ ¹æ¾ÈÀ¸·Ð °¡»ó IP¸¦ »ç¿ëÇØ ¡®ÆäÀÏ¿À¹ö(Fail-over)¡¯ ±â´ÉÀ» ¼öÇàÇÏ´Â Á¦Ç°À» ÀÌ¿ëÇÏ´Â °ÍÀÌ ´ëµÎµÇ°í ÀÖ´Ù. ÀÌ·¯ÇÑ Á¦Ç°Àº ÇÑ ´ëÀÇ ¼¹ö°¡ °úºÎÇÏ·Î ´Ù¿îµÇ¸é, ´Ù¸¥ ¼¹ö Áß Çϳª°¡ °¡»ó IP¸¦ »ç¿ëÇØ ´Ù¿îµÈ ¼¹öÀÇ IP¸¦ ÇÔ²² °¡Áö°í ÀÖ´Â °ÍÀÌ´Ù. ÀÌ·¸°Ô µÇ¸é Áß°£ DNS¿¡ ij½ÌµÈ IP¿¡ ´ëÇÑ ¿äûµµ ó¸®ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ¿©±â¿¡µµ ¹®Á¦Á¡Àº ¿©ÀüÈ÷ Á¸ÀçÇÑ´Ù. ¸¸ÀÏ A, B, C 3´ëÀÇ ¼¹ö·Î ³×Æ®¿öÅ© ¼ºñ½º¸¦ ÇÏ´Â µµÁß¿¡ ¼¹ö A°¡ °úºÎÇÏ·Î ´Ù¿îµÆ´Ù°í °¡Á¤ÇÏÀÚ. ¼¹ö B°¡ AÀÇ ¹é¾÷ ¼¹ö·Î ÁöÁ¤µÆ´Ù¸é B´Â AÀÇ IP¸¦ °¡»ó IP·Î ¼³Á¤ÇØ Ä³½ÌµÈ AÀÇ ³×Æ®¿öÅ© Æ®·¡ÇÈÀ» ¶°¸Ã°Ô µÈ´Ù. ±×·¯¹Ç·Î B¿Í C´Â ±ÕµîÇÑ ºÎÇÏ ºÐ»êÀ» ÇÒ ¼ö ¾øÀ¸¸ç, B ¶ÇÇÑ °úºÎÇÏ·Î ¿¬ÀÌ¾î ´Ù¿îµÉ ¿ì·Á°¡ Å©´Ù. ÃÖ¾ÇÀÇ °æ¿ì Àüü ¼¹ö¸¦ °úºÎÇÏ·Î ´Ù¿î½ÃÄÑ Àüü ¼ºñ½º°¡ ÁߴܵǴ »çŸ¦ ºÒ·¯¿Ã ¼ö ÀÖ´Ù.
4. 5. 2 IP ÁÖ¼Ò º¯°æÇÏ´Â NAT ¹æ½Ä
NAT(Network Address Translation) ¹æ½ÄÀº ÆÐŶ ³»ÀÇ IP ÁÖ¼Ò¸¦ º¯°æÇØ ºÎÇÏ ºÐ»êÀ» ¼öÇàÇÏ´Â ¹æ¹ýÀÌ´Ù. ¸ÕÀú Ŭ¶óÀ̾ðÆ®¿¡°Ô´Â ·Îµå ¹ë·±¼(Loa d Balancer)ÀÇ µµ¸ÞÀÎ ³×ÀÓ ¶Ç´Â IP°¡ ¾Ë·ÁÁ® ÀÖ´Ù. Ŭ¶óÀ̾ðÆ®°¡ ÀÌ ¾Ë·ÁÁø µµ¸ÞÀÎ ³×ÀÓÀ̳ª IP¸¦ »ç¿ëÇØ ·Îµå ¹ë·±¼¿¡°Ô ¼ºñ½º ¿äû ÆÐŶÀ» Àü¼ÛÇÑ´Ù. ¶ÇÇÑ ·Îµå ¹ë·±¼´Â n°³ÀÇ ¼¹ö °¡¿îµ¥ Çϳª¸¦ Á¤ÇØÁø ½ºÄÉÁÙ¸µ ¹æ¹ý¿¡ ÀÇÇØ ¼±ÅÃÇÑ ÈÄ ÆÐŶ ³»ÀÇ ¸ñÀûÁö ÁÖ¼Ò¸¦ ÇØ´ç ¼¹öÀÇ IP·Î ´Ù½Ã ÀÛ¼ºÇÑ´Ù. ¸®¾ó ¼¹ö´Â Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» ó¸®ÇÑ ÈÄ, ·Îµå ¹ë·±¼¿¡°Ô ÀÀ´äÀ» µ¹·ÁÁØ´Ù. À̶§ ·Îµå ¹ë·±¼´Â ½ÇÁ¦ ÀÀ´äÀÇ ¹ß½ÅÁö ÁÖ¼Ò¸¦ ´Ù½Ã ÀÚ½ÅÀÇ IP·Î º¯°æÇÑ ÈÄ Å¬¶óÀ̾ðÆ®¿¡ ¼ºñ½º¸¦ Á¦°øÇÑ´Ù.
ÀÌ ¹æ½ÄÀº ·Îµå ¹ë·±¼¿¡¼ ´Ù¾çÇÑ ½ºÄÉÁÙ¸µ ¹æ¹ýÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ ·Îµå ¹ë·±¼¿¡°Ô ÀûÀýÇÑ ÆäÀÏ¿À¹ö ±â´ÉÀ» ºÎ¿©ÇÒ °æ¿ì, Ŭ·¯½ºÅÍ ³»ÀÇ ¼¹ö°¡ ´Ù¿îµÇ´õ¶óµµ ÀÌ°ÍÀ» °¨ÁöÇØ ½ºÄÉÁÙ¸µ ´ë»ó¿¡¼ Á¦¿ÜÇϹǷΠ³×Æ®¿öÅ© ¼ºñ½º°¡ ÁߴܵǴ ´ÜÁ¡À» º¸¿ÏÇÒ ¼ö ÀÖ´Ù. ±×¸®°í TCP/IP ÇÁ·ÎÅäÄÝÀ» Áö¿øÇÏ´Â ¾î¶°ÇÑ ¿î¿µÃ¼Á¦µµ ¸®¾ó ¼¹ö·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¸®¾ó ¼¹ö´Â »ç¼³ IP¸¦ »ç¿ëÇصµ µÇ¸ç ¿ÀÁ÷ ºÎÇÏ ºÐ»ê ¼¹ö¸¸ ½ÇÁ¦ IP¸¦ »ç¿ëÇÏ¸é µÈ´Ù.
±×·¯³ª È®À强¿¡´Â Á¦ÇÑÀÌ ÀÖ´Ù. ·Îµå ¹ë·±¼´Â ¸®¾ó ¼¹ö·Î ¿À°¡´Â ¸ðµç ÆÐŶÀÇ ÁÖ¼Ò¸¦ ÀçÀÛ¼ºÇØ¾ß ÇϹǷΠº´¸ñÇö»óÀÌ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. µû¶ó¼ Ŭ·¯½ºÅ͸¦ ±¸¼ºÇÒ ¼ö ÀÖ´Â ¼¹öÀÇ °³¼ö¿¡ Á¦ÇÑÀ» ¹Þ´Â´Ù. ÀÌ¿Ü¿¡µµ ·Îµå ¹ë·±¼°¡ ´Ù¿îµÉ °æ¿ì Àüü ¼ºñ½º°¡ ÁߴܵǴ ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. À̸¦ ¹æÁöÇϱâ À§ÇØ ÀϹÝÀûÀ¸·Î ¡®¹é¾÷ ·Îµå ¹ë·±¼¡¯¸¦ µÎÁö¸¸, Æò»ó½Ã´Â ÀÌ °í°¡ÀÇ ¼¹ö¸¦ »ç¿ëÇÏÁö ¾ÊÀ¸¹Ç·Î ³¶ºñ ¿ä¼Ò°¡ µÈ´Ù. ¹æ½ÄÀº Çϵå¿þ¾î³ª ¾îÇöóÀ̾𽺠ÇüÅ·ΠÁ¦°øµÇ´Â °æ¿ì°¡ ¸¹À¸¸ç, ´ëÇ¥ÀûÀÎ NAT ¹æ½ÄÀ¸·Î´Â ·¹À̾î4 ½ºÀ§Ä¡(OSI 7 °èÃþ ¸ðµ¨ °¡¿îµ¥ 4¹ø °èÃþÀÎ Àü¼Û °èÃþ¿¡¼ ÀÌ·ïÁö´Â ½ºÀ§Äª ±â¹ýÀ» Áö¿øÇÏ´Â ³×Æ®¿öÅ© Àåºñ), ½Ã½ºÄÚÀÇ ·ÎÄà µð·ºÅÍ, LVS(Linux Virtual Server)-NAT ¹æ½Ä µîÀÌ ÀÖ´Ù.
NAT¿¡ ÀÇÇÑ °¡»ó ¼¹öÀÇ ±¸Á¶
4. 5. 3 ´ÙÀÌ·ºÆ® ¶ó¿ìÆÃ
´ÙÀÌ·ºÆ® ¶ó¿ìÆÃÀº ¸®¾ó ¼¹ö¿Í ·Îµå ¹ë·±¼°¡ °¡»ó IP ÁÖ¼Ò¸¦ °øÀ¯ÇÑ´Ù. ·Îµå ¹ë·±¼¿Í ¸®¾ó ¼¹ö´Â ³×Æ®¿öÅ© ÀÎÅÍÆäÀ̽º¿¡ °¡»ó IP°¡ ¼³Á¤µÅ ÀÖ¾î¾ß Çϸç, ÀÌ ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇØ ·Îµå ¹ë·±¼´Â ¿äû ÆÐŶÀ» ¹Þ¾ÆµéÀÌ°í ½ºÄÉÁÙ¸µ¿¡ ÀÇÇØ ¼±ÅÃµÈ ¸®¾ó ¼¹ö·Î Á÷Á¢ ¶ó¿ìÆà ÇÑ´Ù.
¸ÕÀú Ŭ¶óÀ̾ðÆ®°¡ °¡»ó IP·Î ¼ºñ½º ¿äûÀ» ÇÏ¸é ·Îµå ¹ë·±¼´Â ¸®¾ó ¼¹ö °¡¿îµ¥ Çϳª¸¦ ½ºÄÉÁÙ¸µÇÑ´Ù. ±×¸®°í ¼±ÅÃµÈ ¼¹ö·Î Á÷Á¢ ¶ó¿ìÆÃÇØ Å¬¶óÀ̾ðÆ®ÀÇ ¿äûÀ» ¸®¾ó ¼¹ö·Î Àü´ÞÇÑ´Ù. ¸®¾ó ¼¹ö´Â ¿äû »çÇ×À» ó¸®ÇÑ ÈÄ, ·Îµå ¹ë·±¼¸¦ °ÅÄ¡Áö ¾Ê°í Ŭ¶óÀ̾ðÆ®·Î Á÷Á¢ ÀÀ´äÀ» ÇÑ´Ù. °¢ ¸®¾ó ¼¹ö´Â ·Îµå ¹ë·±¼¿Í °°Àº °¡»ó IP¸¦ °øÀ¯ÇÏ°í Àֱ⠶§¹®¿¡, ·Îµå ¹ë·±¼¸¦ °ÅÄ¡Áö ¾Ê°í Ŭ¶óÀ̾ðÆ®·Î Á÷Á¢ ÀÀ´äÇÒ ¼ö ÀÖ´Ù.
ÀÌ ¹æ½ÄÀº ·Îµå ¹ë·±¼¿¡¼ º´¸ñÇö»óÀÌ NATº¸´Ù Àû°Ô ³ªÅ¸³´Ù. ·Îµå ¹ë·±¼ÀÇ ½Ã½ºÅÛ È¯°æ¿¡ µû¶ó Â÷ÀÌ°¡ ÀÖ°ÚÁö¸¸, ÀÌ·ÐÀûÀ¸·Î´Â 100¿© °³ÀÇ ¼¹ö¸¦ Ŭ·¯½ºÅÍ·Î ±¸¼ºÇÒ ¼ö ÀÖ´Ù°í ÇÑ´Ù. ÇöÀç ´ëºÎºÐÀÇ ¿î¿µÃ¼Á¦°¡ °¡»ó IP ¼³Á¤À» Áö¿øÇϹǷΠ¸®¾ó ¼¹ö·Î »ç¿ëÇÔ¿¡ ÀÖ¾î ¿î¿µÃ¼Á¦¿¡ Å« Á¦ÇÑÀ» ¹ÞÁö ¾Ê´Â´Ù. ÇÏÁö¸¸ ·Îµå ¹ë·±¼»Ó¸¸ ¾Æ´Ï¶ó ¸®¾ó ¼¹öµµ °¢°¢ÀÇ ¸®¾ó IP¸¦ °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. ±×¸®°í NAT¿Í ¸¶Âù°¡Áö·Î ¹é¾÷ ¼¹ö¸¦ µÖ¾ß ÇÏ´Â ºÎ´ãÀÌ ÀÖ´Ù. ƯÈ÷ ¸®´ª½º¸¦ ¸®¾ó ¼¹ö·Î »ç¿ëÇÏ´Â °æ¿ì ARP ¹®Á¦(´ÙÀ½ Àå¿¡¼ »ó¼¼È÷ ¼³¸íÇÔ)¸¦ ÇØ°áÇϱâ À§ÇØ Ä¿³ÎÀ» ¼öÁ¤ÇØ ÁÖ¾î¾ß ÇÏ´Â °æ¿ì°¡ ÀÖ´Ù. Âü°í·Î ´ÙÀÌ·ºÆ® ¶ó¿ìÆà ¹æ½ÄÀ» ÀÌ¿ëÇÑ Á¦Ç°Àº Resonate¿Í Åͺ¸ Ŭ·¯½ºÅÍ, LVS-DR µîÀÌ ÀÖ´Ù.
ÀåÁ¡°ú ´ÜÁ¡À» µé¸é, ÀÔ·Â ÆÐŶµé(incoming packets)Àº ¾ðÁ¦³ª ÀÛ°í ÀÀ´ä ÆÐŶµé(reply packets)Àº ¾ðÁ¦³ª ¸¹Àº ¾çÀÇ µ¥ÀÌÅ͸¦ °¡Á®°¡´Â (À¥ ¼ºñ½º°°Àº) ¸¹Àº ÀÎÅÍ³Ý ¼ºñ½ºµéÀÌ ÀÖ´Ù. IP Åͳθµ¿¡ ÀÇÇÑ °¡»ó ¼¹ö¿¡¼´Â ºÎÇÏ ºÐ»ê±â(load balancer)°¡ ´ÜÁö ´Ù¸¥ ½ÇÁ¦ ¼¹öµé¿¡ ¿äûµéÀ» ÀÛ¾÷ ÇÒ´ç(schedule)ÇÒ »ÓÀÌ´Ù. ±×¸®°í ½ÇÁ¦ ¼¹öµéÀº ÀÀ´äµéÀ» »ç¿ëÀÚ¿¡°Ô Á÷Á¢ µ¹·ÁÁØ´Ù. µû¶ó¼ ºÎÇÏ ºÐ»ê±â´Â ¸¹Àº ¾çÀÇ ¿ä±¸µé(requests)À» ´Ù·ê ¼ö ÀÖ´Ù: ºÎÇÏ ºÐ»ê±â°¡ 100´ë°¡ ³Ñ´Â ½ÇÁ¦ ¼¹öµé¿¡ ÀÛ¾÷À» ¹èÁ¤ÇÏ¿©µµ ½Ã½ºÅÛÀÇ º´¸ñ ±¸°£ÀÌ µÇÁö ¾Ê´Â´Ù. ±×·¯¹Ç·Î IP Åͳθµ(IP tunneling)À» »ç¿ëÇÏ¸é ºÎÇÏ ºÐ»ê±â¿¡ ÃÖ´ë ¼¹ö ³ëµå ¼ö¸¦ ´ë´ÜÈ÷ ¸¹ÀÌ Áõ°¡½Ãų ¼ö ÀÖ´Ù. ºÎÇÏ ºÐ»ê±â°¡ ´ÜÁö 100MbpsÀÇ Àüº¹Á¶(full-duplex) ³ÝÆ®¿÷ ¾î´ðÅÍ(network adapter)¸¦ °¡Á³´Ù ÇÏ´õ¶óµµ °¡»ó ¼¹öÀÇ ÃÖ´ë ó¸® ´É·ÂÀº 1Gbps¿¡ ´ÞÇÒ ¼ö ÀÖ´Ù.
IP ÅͳθµÀÇ ¼ºÁúÀº ´ë´ÜÈ÷ °í¼º´ÉÀÇ °¡»ó ¼¹ö¸¦ ±¸Ã´Çϴµ¥ ÀÌ¿ëµÉ ¼ö ÀÖ°í, °¡»ó ÇÁ¶ô½Ã ij½¬ ¼¹ö(virtual proxy cache server)¸¦ ±¸ÃàÇϴµ¥ ´ë´ÜÈ÷ ÁÁ´Ù. ÇÁ¶ô½Ã ¼¹ö°¡ ¿ä±¸¸¦ ¹ÞÀ¸¸é ´ë»óµéÀ» °¡Á®¿À±â À§ÇØ(to fetch objects) ÀÎÅͳݿ¡ Á÷Á¢ Á¢±ÙÇÒ ¼ö ÀÖ°í »ç¿ëÀڵ鿡°Ô ±×°ÍÀ» Á÷Á¢ µ¹·ÁÁÙ ¼ö Àֱ⠶§¹®ÀÌ´Ù.
±×·¯³ª IP Åͳθµ¿¡ ÀÇÇÑ °¡»ó ¼¹ö¿¡¼´Â ½ÇÁ¦ ¼¹öµéÀÌ IP Åͳθµ Àü¼Û ±Ô¾à(IP tunneling protocol)À» Áö¿øÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ÀÌ ¹æ¹ýÀÇ Æ¯¼ºÀº ¸®´ª½º°¡ ¿î¿ëµÇ´Â ¼¹öµé¿¡¼ ½ÃÇèµÇ¾ú´Ù. IP Åͳθµ Àü¼Û ±Ô¾àÀÌ ¸ðµç ¿î¿µ üÁ¦ÀÇ Ç¥ÁØÀÌ µÇ¾î°¡°í Àֱ⠶§¹®¿¡ IP Åͳθµ¿¡ ÀÇÇÑ °¡»ó ¼¹ö°¡ ´Ù¸¥ ¿î¿µ üÁ¦¿¡¼ ¿î¿ëµÇ´Â ¼¹öµé¿¡¼ ÀÀ¿ëµÉ ¼ö ÀÖ°Ô µÉ °ÍÀÌ´Ù. ÇÏÁö¸¸ ¸®´ª½º ÀÌ¿ÜÀÇ ¼¹ö¿¡¼´Â ¾ÆÁ÷ °ø½ÄÀûÀ¸·Î Áö¿øµÇÁö ¾Ê±â ¶§¹®¿¡ LVS¿Í Real Server ¸ðµÎ ¸®´ª½ºÀ̾î¾ß ÇÑ´Ù´Â ´ÜÁ¡ÀÌ ÀÖ´Ù.
4. 6 ÀÛ¾÷ ÇÒ´ç ¹æ½Ä (Scheduling Algorithms)
Ŭ·¯½ºÅͷκÎÅÍ ¼¹ö¸¦ ¼±ÅÃÇϱâÀ§ÇÑ ³× °³ÀÇ ÀÛ¾÷ ÇÒ´ç ¹æ½Äµé(scheduling algorithms)ÀÌ ÁغñµÇ¾îÀÖ´Ù: Round-Robin, °¡ÁßÄ¡°¡ ÀÖ´Â(weighted) Round-Robin, ÃÖ¼Ò-Á¢¼Ó(Least-Connection) ±×¸®°í °¡ÁßÄ¡°¡ ÀÖ´Â ÃÖ¼Ò-Á¢¼ÓÀÇ ¹æ½ÄµéÀÌ´Ù. óÀ½ÀÇ µÎ ¹æ½ÄµéÀº ¼¹ö¿¡´ëÇÑ ¾î¶°ÇÑ ºÎÇÏ Á¤º¸(load information)µµ °¡Áö°í ÀÖÁö ¾Ê±â ¶§¹®¿¡ ÀÚ¸í(self-explanatory)ÇÏ´Ù. µÚÀÇ µÎ ¹æ½ÄµéÀº °¢ ¼¹ö¿¡´ëÇÑ È°µ¿ Á¢¼Ó ¼ö(active connection number)¸¦ ¼¼¾î ÀÌ·¯ÇÑ Á¢¼Ó ¼ö¿¡ ÀÇÇØ ±×µéÀÇ ºÎÇϸ¦ ÃßÁ¤ÇÑ´Ù.
4. 6. 1 Round-Robin Scheduling (¶ó¿îµå ·Îºó ½ºÄÉÁ층)
¸»±×´ë·Î ¶ó¿îµå-·Îºó ¹æ½ÄÀ» ÀÌ¿ëÇØ ³×Æ®¿÷ ¿¬°áÀ» ¼·Î ´Ù¸¥ ¼¹ö¿¡ ¿¬°áÇÏ´Â °ÍÀ» ¸»ÇÑ ´Ù. ÀÌ°æ¿ì ½ÇÁ¦¼¹öÀÇ ¿¬°á°¹¼ö³ª ¹ÝÀÀ½Ã°£µîÀº °í·Á¸¦ ÇÏÁö ¾Ê´Â´Ù. ±×·¸Áö¸¸ ¾à°£ÀÇ Â÷ÀÌ °¡ ÀÖ´Ù. ¶ó¿îµå ·Îºó DNS´Â ´ÜÀÏÇÑ µµ¸ÞÀÎÀ» ¼·Î ´Ù¸¥ IP·Î Çؼ®À» ÇÏÁö¸¸, ½ºÄÉÁ층ÀÇ ±âÃʴ ȣ½ºÆ® ±â¹ÝÀ̸ç ij½Ì¶§¹®¿¡ ¾Ë°í¸®ÁòÀ» È¿À²ÀûÀ¸·Î »ç¿ëÇϱâ Èûµé´Ù. ±×·¡¼ ½ÇÁ¦ ¼¹ö»çÀÌ¿¡ µ¿ÀûÀÎ ºÎÇÏ ºÒ±ÕÇüÀÌ ½É°¢ÇØ Áú¼ö ÀÖ´Ù. °¡»ó ¼¹öÀÇ ½ºÄÉÁ층 ±âÃÊ´Â ³×Æ®¿÷ ±â¹ÝÀÌ¸ç ¶ó¿îµå ·Îºó DNS ¿¡ ºñÇØ ÈξÀ ´õ ÈǸ¢ÇÏ´Ù.
4. 6. 2 Weighted Round-Robin Scheduling (°¡ÁßÄ¡±â¹Ý ¶ó¿îµå ·Îºó ½ºÄÉÁ층)
°¡ÁßÄ¡±â¹Ý ¶ó¿îµå ·Îºó ½ºÄÉÁ층Àº ½ÇÁ¦ ¼¹ö¿¡ ¼·Î ´Ù¸¥ ó¸® ¿ë·®À» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. °¢ ¼¹ö¿¡ °¡ÁßÄ¡¸¦ ºÎ¿©ÇÒ ¼ö ÀÖÀ¸¸ç, ¿©±â¼ ÁöÁ¤ÇÑ Á¤¼ö°ªÀ» ÅëÇØ Ã³¸® ¿ë·®À» Á¤ÇÑ´Ù. ±âº» °¡ÁßÄ¡´Â 1ÀÌ´Ù. ¿¹¸¦ µé¾î ½ÇÁ¦ ¼¹ö°¡ A,B,C ÀÌ°í °¢°¢ÀÇ °¡ÁßÄ¡°¡ 4,3,2 ÀÏ °æ¿ì ½ºÄÉÁ층 ¼ø¼´Â ABCABCABA °¡ µÈ´Ù.
°¡ÁßÄ¡°¡ ÀÖ´Â ¶ó¿îµå ·Îºó ½ºÄÉÁ층À» »ç¿ëÇÏ¸é ½ÇÁ¦ ¼¹ö¿¡¼ ³×Æ®¿÷ Á¢¼ÓÀ» ¼¿ ÇÊ¿ä°¡ ¾ø°í µ¿Àû ½ºÄÉÁ층 ¾Ë°í¸®Áòº¸´Ù ½ºÄÉÁ층ÀÇ °úºÎÇÏ°¡ ÀûÀ¸¹Ç·Î ´õ ¸¹Àº ½ÇÁ¦ ¼¹ö¸¦ ¿î¿µ ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ¿äû¿¡ ´ëÇÑ ºÎÇÏ°¡ ¸Å¿ì ¸¹À» °æ¿ì ½ÇÁ¦ ¼¹ö»çÀÌ¿¡ µ¿ÀûÀÎ ºÎÇÏ ºÒ±Õ Çü »óÅ°¡ »ý±æ ¼ö ÀÖ´Ù.
¶ó¿îµå ·Îºó ½ºÄÉÁ층Àº °¡ÁßÄ¡±â¹Ý ¶ó¿îµå ·Îºó ½ºÄÉÁ층ÀÇ Æ¯º°ÇÑ ÇÑ Á¾·ùÀÌ¸ç ¸ðµç °¡Áß Ä¡°¡ µ¿ÀÏÇÑ °æ¿ìÀÌ´Ù. °¡»ó ¼¹öÀÇ ±ÔÄ¢À» º¯°æÇÏ°í³ª¼ ½ºÄÉÁ층 ¼ø¼¸¦ »ý¼ºÇϴµ¥´Â °ÅÀÇ °úºÎÇÏ°¡ °É¸®Áö ¾ÊÀ¸¸ç ½ÇÁ¦ ½ºÄÉÁ층¿¡ ¾î¶°ÇÑ °úºÎÇϵµ Ãß°¡ÇÏÁö ¾Ê´Â´Ù. ±×·¯¹Ç·Î ¶ó¿îµå ·Îºó ½ºÄÉÁ층¸¸ ´Üµ¶À¸·Î ½ÇÇàÇÏ´Â °ÍÀº ºÒÇÊ¿äÇÑ ÀÏÀÌ´Ù.
4. 6. 3 Least-Connection Scheduling (ÃÖ¼Ò Á¢¼Ó ½ºÄÉÁ층)
ÃÖ¼Ò Á¢¼Ó ½ºÄÉÁ층Àº °¡Àå Á¢¼ÓÀÌ ÀûÀº ¼¹ö·Î ¿äûÀ» Á÷Á¢ ¿¬°áÇÏ´Â ¹æ½ÄÀ» ¸»ÇÑ´Ù. °¢ ¼¹ö¿¡¼ µ¿ÀûÀ¸·Î ½ÇÁ¦ Á¢¼ÓÇÑ ¼ýÀÚ¸¦ ¼¼¾î¾ßÇϹǷΠµ¿ÀûÀÎ ½ºÄÉÁ층 ¾Ë°í¸®ÁòÁßÀÇ ÇϳªÀÌ´Ù. ºñ½ÁÇÑ ¼º´ÉÀÇ ¼¹ö·Î ±¸¼ºµÈ °¡»ó ¼¹ö´Â ¾ÆÁÖ Å« ¿ä±¸°¡ ÇÑ ¼¹ö·Î¸¸ ÁýÁßµÇÁö ¾Ê±â ¶§¹®¿¡, Á¢¼ÓºÎÇÏ°¡ ¸Å¿ì Å« °æ¿ì¿¡µµ ¾ÆÁÖ È¿°úÀûÀ¸·Î ºÐ»êÀ» ÇÑ´Ù.
°¡Àå ºü¸¥ ¼¹ö¿¡¼ ´õ ¸¹Àº ³×Æ®¿÷ Á¢¼ÓÀ» ó¸®ÇÒ ¼ö ÀÖ´Ù. ±×·¯¹Ç·Î ´Ù¾çÇÑ Ã³¸® ¿ë¶ûÀ» Áö´Ñ ¼¹ö·Î ±¸¼ºÇßÀ» °æ¿ì¿¡µµ ÈǸ¢ÇÏ°Ô ÀÛµ¿ ÇÑ´Ù´Â °ÍÀ» ÇÑ´«¿¡ ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù. ±×·¸Áö¸¸ ½ÇÁ¦·Î´Â TCPÀÇ TIME_WAIT »óŶ§¹®¿¡ ¾ÆÁÖ ÁÁÀº ¼º´ÉÀ» ³¾¼ö´Â ¾ø´Ù. TCPÀÇ TIME_WAIT´Â º¸Åë 2ºÐÀÌ´Ù. ±×·±µ¥ Á¢¼ÓÀÚ°¡ ¾ÆÁÖ ¸¹Àº À¥ »çÀÌÆ®´Â 2ºÐµ¿¾È¿¡ ¸îõ°³ÀÇ Á¢¼ÓÀ» ó¸®ÇØ¾ß ÇÒ °æ¿ì°¡ ÀÖ´Ù. ¼¹ö A´Â ¼¹ö Bº¸´Ù 󸮿뷮ÀÌ µÎ¹èÀÏ °æ¿ì ¼¹ö A´Â ¼öõ°³ÀÇ ¿äûÀ» ó¸®ÇÏ°í TCPÀÇ TIME_WAIT »óȲ¿¡ Á÷¸éÇÏ°Ô µÈ´Ù. ±×·¸Áö¸¸ ¼¹ö B´Â ¸îõ°³ÀÇ ¿äûÀÌ Ã³¸®µÇ±â¸¸À» ±â´Ù¸®°Ô µÈ´Ù. ±×·¡¼ ÃÖ¼Ò Á¢¼Ó ½ºÄÉÁ층À» ÀÌ¿ëÇÒ °æ¿ì ´Ù¾çÇÑ Ã³¸®¿ë·®À» Áö³ ¼¹ö·Î ±¸¼ºµÇ¾úÀ» °æ¿ì ºÎÇϺлêÀÌ È¿À²ÀûÀ¸·Î µÇÁö ¸øÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù.
4. 6. 4 Weighted Least-Connection Scheduling (°¡ÁßÄ¡ ±â¹Ý ÃÖ¼Ò Á¢¼Ó ½ºÄÉÁ층)
°¡ÁßÄ¡ ±â¹Ý ÃÖ¼Ò Á¢¼Ó ½ºÄÉÁ층Àº ÃÖ¼Ò Á¢¼Ó ½ºÄÉÁ층ÀÇ ÇÑ ºÎºÐÀ¸·Î¼ °¢°¢ÀÇ ½ÇÁ¦ ¼¹ö¿¡ ¼º´É °¡ÁßÄ¡¸¦ ºÎ¿©ÇÒ ¼ö ÀÖ´Ù. ¾ðÁ¦¶óµµ °¡ÁßÄ¡°¡ ³ôÀº ¼¹ö¿¡¼ ´õ ¸¹Àº ¿äûÀ» ¹ÞÀ» ¼ö ÀÖ´Ù. °¡»ó ¼¹öÀÇ °ü¸®ÀÚ´Â °¢°¢ÀÇ ½ÇÁ¦ ¼¹ö¿¡ °¡ÁßÄ¡¸¦ ºÎ¿©ÇÒ ¼ö ÀÖ´Ù. °¡ÁßÄ¡ÀÇ ºñÀ²ÀÎ ½ÇÁ¦ Á¢¼ÓÀÚ¼ö¿¡ µû¶ó ³×Æ®¿÷ Á¢¼ÓÀÌ ÇÒ´çµÈ´Ù. ±âº» °¡ÁßÄ¡´Â 1ÀÌ´Ù.
°¡ÁßÄ¡°¡ ÀÖ´Â ÃÖ¼Ò Á¢¼Ó ½ºÄÉÁ층Àº ´ÙÀ½°ú °°ÀÌ ÀÛµ¿ÇÑ´Ù:
n°³ÀÇ ½ÇÁ¦ ¼¹ö°¡ ÀÖ´Â °æ¿ì °¢ ¼¹ö i´Â °¡ÁßÄ¡ Wi (i = 1, ... , n)¸¦ °¡Áø´Ù°í °¡Á¤ÇÏÀÚ. ¼¹ö iÀÇ È°µ¿ Á¢¼Ó(active connection)Àº Ci (i = 1, ... , n)ÀÌ°í ¸ðµç_Á¢¼Ó Àº Ci (i = 1, ... , n)ÀÇ ÇÕÀÌ´Ù. ¼¹ö j·Î °¡´Â ³ÝÆ®¿÷ Á¢¼ÓÀº ¾Æ·¡¿Í °°´Ù.
(Cj/ALL_CONNECTIONS)/Wj = min { (Ci/ALL_CONNECTIONS)/Wi } (i=1,..,n)
ÀÌ ºñ±³¿¡¼ ALL_CONNECTIONS´Â »ó¼öÀ̹ǷΠCi¸¦ ¸ðµç_Á¢¼Ó À¸·Î ³ª´²ÁÙ ÇÊ¿ä°¡ ¾ø´Ù.±×·¯¸é ´ÙÀ½°ú °¥ÀÌ ÃÖÀû鵃 °ÍÀÌ´Ù.
Cj/Wj = min { Ci/Wi } (i=1,..,n)
°¡ÁßÄ¡°¡ ÀÖ´Â ÃÖ¼Ò Á¢¼Ó ½ºÄÉÁ층 ¾Ë°í¸®ÁòÀº ÃÖ¼Ò Á¢¼Ó ½ºÄÉÁ층 ¾Ë°í¸®Áò¿¡ ºñÇØ ºÎ°¡ÀûÀÎ ¹èºÐÀÛ¾÷ÀÌ ÇÊ¿äÇÏ´Ù. ¼¹öµéÀÌ °°Àº ó¸® ¿ë·®À» °¡Á³À»¶§´Â ÀÛ¾÷ ÇÒ´çÀÇ °£Á¢ ºñ¿ëÀ» ÃÖ¼ÒÈÇϱâÀ§ÇØ ÃÖ¼Ò Á¢¼Ó ½ºÄÉÁ층°ú °¡ÁßÄ¡°¡ ÀÖ´Â ÃÖ¼Ò Á¢¼Ó ½ºÄÉÁ층 ¾Ë°í¸®Áò µÑ ´Ù »ç¿ëÇÒ ¼ö ÀÖ´Ù.
4. 7 °í °¡¿ë¼º
Áß¿äÇÑ »ó¾÷Àû ÀÀ¿ë ºÐ¾ß°¡ ÀÎÅͳÝÀ¸·Î Á¡Á¡ ´õ ¸¹ÀÌ ¿Å¾Æ¿È¿¡ µû¶ó °¡¿ë¼ºÀÌ ³ôÀº ¼¹öµéÀ» Á¦°øÇÏ´Â °ÍÀÌ Á¡Á¡ ´õ Áß¿äÇØÁö°í ÀÖ´Ù. Ŭ·¯½ºÅÍÈµÈ ½Ã½ºÅÛÀÇ ÀåÁ¡Áß Çϳª´Â Çϵå¿þ¾î¿Í ¼ÒÇÁÆ®¿þ¾îÀÇ ¿©À¯ºÐÀÌ ÀÖ´Ù´Â °ÍÀÌ´Ù. ³ôÀº °¡¿ë¼ºÀº ³ëµå(node)³ª µ¥¸ó(deamon)ÀÇ Àå¾Öµé(failures)À̳ª ½Ã½ºÅÛÀÇ À籸¼º(reconfiguring)À» ÀûÀýÈ÷ °¨ÁöÇØ Å¬·¯½ºÅÍ¿¡ ³²¾ÆÀÖ´Â ³ëµå·Î ÀÛ¾÷ ºÎÇÏ(workload)¸¦ ÀÌÀüÇÏ´Â °ÍÀ¸·Î ÀÌ·ê ¼ö ÀÖ´Ù. °¡»ó ¼¹öÀÇ ³ôÀº °¡¿ë¼ºÀ» ÇöÀç "mon"°ú "fake" ¼ÒÇÁÆ®¿þ¾î¸¦ »ç¿ëÇØ Á¦°øÇÑ´Ù. "mon"Àº ³ÝÆ®¿÷ ¼ºñ½º °¡¿ë¼º°ú ¼¹ö ³ëµå¸¦ ¸ð´ÏÅÍÇÒ ¼ö ÀÖ´Â ¹ü¿ë ÀÚ¿ø ¸ð´ÏÅ͸µ ½Ã½ºÅÛ(general-purpose resource monitoring system)ÀÌ´Ù. "fake"´Â ARP ¼ÓÀ̱â(spoofing)¸¦ »ç¿ëÇØ IP¸¦ ÀÌÀüÇÏ´Â ¼ÒÇÁÆ®¿þ¾î´Ù.
¼¹öÀÇ Àå¾Ö ±Øº¹(failover)Àº ´ÙÀ½°ú °°ÀÌ Á¦¾îÇÑ´Ù: ºÎÇÏ ºÐ»ê±â(load balancer)¿¡ Ŭ·¯½ºÅÍÀÇ ¼ºñ½º µ¥¸óµé°ú ¼¹ö ³ëµåµéÀ» ¸ð´ÏÅÍÇϱâ À§ÇÑ "mon" µ¥¸óÀÌ ¿î¿µµÈ´Ù. ¸Å t Ãʸ¶´Ù ¼¹ö ³ëµåµéÀÌ »ì¾ÆÀÖ´ÂÁö °¨ÁöÇϵµ·Ï fping.monitor¸¦ ±¸¼ºÇÏ°í ¸Å m ºÐ¸¶´Ù ¸ðµç ³ëµåÀÇ ¼ºñ½º µ¥¸óµéÀ» °¨ÁöÇϱâ À§ÇØ ¿¬°üµÈ ¸ð´ÏÅÍ ÇÁ·Î±×·¥ ¿ª½Ã ±¸¼ºÇÑ´Ù. ¿¹¸¦ µé¾î http ¼ºñ½º¸¦ Á¡°ËÇϱâÀ§ÇØ http.monitor¸¦, ftp ¼ºñ½º¸¦ À§ÇØ ftp.monitor¸¦ ¶Ç, ±âŸ ´Ù¸¥ ¸ð´ÏÅÍ ÇÁ·Î±×·¥À» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¼¹ö ³ëµå³ª µ¥¸óÀÌ »õ·Î »ç¿ë ºÒ´É »óÅÂ(down)°¡ µÇ°Å³ª »ç¿ë °¡´É »óÅÂ(up)°¡ µÇ¸é °¡»ó ¼¹ö Å×ÀÌºí¿¡ ±ÔÄ¢À» Á¦°ÅÇϰųª Ãß°¡ÇϱâÀ§ÇÑ °æº¸°¡ ÀÛ¼ºµÈ´Ù. µû¶ó¼ ºÎÇÏ ºÐ»ê±â°¡ ¼ºñ½º µ¥¸óÀ̳ª ¼¹ö¸¦ Á¦°ÅÇϰųª º¹±¸µÇ¾úÀ» ¶§ ¼ºñ½º¿¡ Ãß°¡ÇÏ´Â °ÍÀ» ÀÚµ¿À¸·Î ÇÒ ¼ö ÀÖ´Ù.
ÀÌÁ¦ ºÎÇÏ ºÐ»ê±â´Â Àå¾Ö°¡ ÀÖÀ¸¸é Àüü ½Ã½ºÅÛ¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â °÷(single failure point)ÀÌ µÇ¾ú´Ù. ºÎÇÏ ºÐ»ê±âÀÇ Àå¾Ö¸¦ ¹æÁöÇϱâ À§ÇØ ºÎÇÏ ºÐ»ê±âÀÇ ¹é¾÷(backup) ¼¹ö¸¦ ¼³Ä¡ÇÑ´Ù. ºÎÇÏ ºÐ»ê±â¿¡ Àå¾Ö°¡ ÀÖÀ» ¶§ ºÎÇÏ ºÐ»ê±âÀÇ IP ÁÖ¼Ò¸¦ ¹é¾÷ ¼¹ö·Î ÀÌÀüÇϱâÀ§ÇØ "fake" ¼ÒÇÁÆ®¿þ¾î°¡ »ç¿ëµÈ´Ù. ¶Ç, ¹é¾÷ ¼¹ö¿¡¼´Â ºÎÇÏ ºÐ»ê±âÀÇ »óŸ¦ °Ë»çÇÏ¿© "fake"¸¦ ½ÇÇàÇϰųª ½ÇÇà Áß´ÜÇϱâÀ§ÇØ "mon"À» »ç¿ëÇÑ´Ù. "mon" µ¥¸óÀº ¹é¾÷ ¼¹ö¿¡¼µµ ¶ÇÇÑ ¿î¿ëµÇ¾î ¹é¾÷ ¼¹ö°¡ Ŭ·¯½ºÅÍÀÇ ÇöÀç »óŸ¦ ¾Ë°í ÀÖ¾î¾ß ÇÑ´Ù. ÁÖ ºÎÇÏ ºÐ»ê±â¿¡ Àå¾Ö°¡ ÀÖÀ» ¶§ ¹é¾÷ ¼¹ö°¡ ±× IP ÁÖ¼Ò(µé)¸¦ ÀμöÇÏ¿© ¼ºñ½ºµéÀ» °è¼Ó Á¦°øÇÑ´Ù. ±×·¯³ª Çؽ¬ Å×À̺íÀÇ ¼º¸³µÈ Á¢¼Ó(established connection)Àº ¼Ò¸êµÇ¸ç Ŭ¶óÀ̾ðÆ®µéÀº ±×µéÀÇ ¿ä±¸µé(requests)À» ´Ù½Ã º¸³»¾ßÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.
4. 8 ¹®Á¦Á¡
ÇöÀçÀÇ ·Îµå ¹ë·±¼ ½Ã½ºÅÛÀº ÀϹÝÀûÀ¸·Î 5ºÐÀÇ ÁÖ±â·Î ÇöÀçÀÇ Load¸¦ °¨½Ã ÇÏ¿© ½ºÄÉÁÙ¸µ¿¡ ¹Ý¿µÇϳª ÀÌ´Â 5ºÐÀ̳»ÀÇ ±Þ°ÝÇÑ Å¬¶óÀ̾ðÆ®·ÎºÎÅÍÀÇ ¿äûÀ» ó¸®Çϴµ¥ ÀÖ¾î¼ÀÇ ¹®Á¦Á¡ÀÌ ÀÖ´Ù. ÀÌ´Â ¶ÇÇÑ ±Þ°ÝÇÑ ºÎÇÏÀÇ Áõ°¡·Î ÀÎÇÏ¿© ¼¹öÀÇ ´Ù¿î½Ã ´Ù¿îµÈ ¼¹öÀÇ Load¸¦ ´Ù¸¥ ¼¹ö·Î ÀüȯÇϱ⠶§¹®¿¡ ´Ù¸¥ ¼¹öÀÇ ´Ù¿îÀ» ¾ß±â ÇÒ ¼ö ÀÖÀ¸¹Ç·Î ÃÖ¾ÇÀÇ °æ¿ì À¥ ¼¹ö ÀüüÀÇ ´Ù¿îÀ» °¡Á®¿Ã¼ö ÀÖ´Ù.
ÇöÀçÀÇ ·Îµå ¹ë·±¼ ½Ã½ºÅÛ¿¡ ÀÖ¾î¼ÀÇ °¡ÁßÄ¡¿¡ ´ëÇÑ °í·Á»çÇ×Àº ´ÜÁö Àüü Á¢¼ÓÀÚ ¼ö¿¡ ´ëÇÑ °¢°¢ÀÇ ¸®¾ó ¼¹öÀÇ Á¢¼ÓÀÚ ¼ö·Î¼ ¼¹öÀÇ ¼º´É ¹× ÇöÀç ¼¹öÀÇ ºÎÇÏ¿¡ ´ëÇÑ ¹Ý¿µÀÌ ºÒ°¡´ÉÇÏ´Ù.
¼¹öÀÇ ¼º´ÉÀº Ç×»ó °°À» ¼ö ¾øÀ¸¹Ç·Î °¢°¢ÀÇ °¡ÁßÄ¡¸¦ ºÎ¿© ÇÏ¿©¾ß ÇÏÁö¸¸ ÀÌ¿¡ ´ëÇÑ ¹æ¾ÈÀÌ ¾ø´Ù.
4. 9 LVSÀÇ Àå´ÜÁ¡
LVS ½Ã½ºÅÛÀº º°µµÀÇ Çϵå¿þ¾î Ãß°¡ ¾øÀÌ ±âÁ¸ÀÇ ³×Æ®¿öÅ© ½ºÀ§Ä¡¿Í ¼¹öµé ¸¸À¸·Î ´ë±Ô¸ð ÀÎ³Ý ¼ºñ½º ó¸® ¿äû¿¡ ´ëÇØ ÈǸ¢ÇÑ ÇØ´äÀ» Á¦½ÃÇÑ´Ù.
±×·¯³ª LVS¿Í °ü·Ã ÇÁ·ÎÁ§Æ®´Â ¸î°¡Áö ¹®Á¦Á¡ÀÌ ÀÖ´Ù. ¿ì¼± LVS´Â »ç¿ëÀÌ ½±Áö ¾Ê´Ù. ó¸® ¿ë·®À̳ª °¡ÁßÄ¡ÀÇ ¼³Á¤À̶ó°Å³ª, ¼¹ö Ãß°¡³ª Á¦°Å½Ã °ü¸®ÀÚ°¡ À̸¦ À§ÇØ ÀÏÀÏÀÌ ½Ã½ºÅÛÀ» Àç¼³Á¤ÇØ¾ß ÇÏ´Â ¹®Á¦°¡ ÀÖ´Ù. ¶ÇÇÑ LVSÀÇ ÀڸŠÇÁ·ÎÁ§Æ®ÀÎ HA´Â °í°¡¿ë¼º ¿ä±¸¿¡ ´ëÇÑ ÇØ°áÃ¥À¸·Î º¸±â¿¡´Â ÇÑ°è°¡ ÀÖ´Ù. ¶Ç, ´ÜÀÏ Å¬·¯½ºÅÍ ³»¿¡ ¿©·¯ °³ÀÇ ·Îµå ¹ë·±¼ÀÇ ¼³Á¤À̳ª ¼ºê Ŭ·¯½ºÅÍÀÇ ±¸¼º µî, ±â´É¼º°ú Á¢±Ù¼º¿¡¼ ±âÁ¸ L4 ½ºÀ§Ä¡¿Í ºñ±³Çϱ⿣ ¹«¸®°¡ ÀÖ´Ù.
5. ÇÁ·ÎÁ§Æ® ¸ñÇ¥
- Á¤±ÔÈµÈ ÀÚ·áÁ¦½Ã·Î È®À强 ³ôÀº °í°¡¿ë¼º Ŭ·¯½ºÅÍ ±¸Ãà
- ½Ã½ºÅÛ ¸ð´ÏÅ͸µÀ» ÅëÇÑ È¿À²ÀûÀÎ ¼¹ö°ü¸® ¹æ¾È Á¦½Ã
- ´Ù¾çÇÑ ½ÇÇèÀ» ÅëÇÑ ¼öÄ¡Çؼ®À¸·Î À¥¼¹öÀÇ °¢ º¯¼ö°£ »ó°ü°ü°è ºÐ¼®
- ºÐ¼®µÈ ÀڷḦ ÅëÇÑ ÃÖÀûÀÇ Å¬·¯½ºÅ͸µ À¥¼¹ö ±¸Çö¹æÇâ Á¦½Ã
6. ÇÁ·ÎÁ§Æ® ³»¿ë
6. 1 ÀÌ ½´
- ÀûÁ¤¼öÀ§¿Í À§Çè ¼öÀ§¸¦ µÎ¾î À§Çè ¼öÀ§¸¦ ³ÑÀ» °æ¿ì ·Îµå ¹ë·±¼¿¡ Å뺸.
- ·Îµå ¹ë·±¼´Â °¡ÁßÄ¡¸¦ Àç °è»ê ÇÏ¿© ´Ù¸¥ ¸®¾ó ¼¹ö¿¡ ºÐ¹è
- ¼¹öº° Àý´ë °¡ÁßÄ¡ : a(CPU)*b(Memory)
- ¼¹öº° »ó´ë °¡ÁßÄ¡ : CPUÁ¡À¯À²*Memory»ç¿ëÀ²/Àüü Memory
- °¡ÁßÄ¡ Áö¼ö : (Ci/Sum)/Wi
- ¸Þ¸ð¸® : ÃÑ ¸Þ¸ð¸® (°íÁ¤°ª), »ç¿ëÁßÀÎ ¸Þ¸ð¸®
- CPU : ŸÀÔ(°íÁ¤°ª), Á¡À¯À²
- ±â Ÿ : ½ºÅ丮Áö SeekTime, Æ®·¡ÇÈ, Á¢¼ÓÀÚ ¼ö
6. 2 ÇÁ·Î±×·¥ È帧µµ(ÄÁÆ®·Ñ·¯)
Client DaemonÀº ÀÚ½ÅÀÇ »óŸ¦ ¸ð´ÏÅÍ ÇÏ°í ÀûÁ¤¼öÀ§ ¹× À§Çè¼öÀ§ÀÇ ÃÊ°ú½Ã ¼¹ö·Î ¼ÒÄÏÀ» ÅëÇÏ¿© ÀÚ½ÅÀÇ »óŸ¦ Àü´ÞÇÑ´Ù. À̶§ »óÅÂÁ¤º¸ÀÇ ¼öÁýÀº /procÀ» ÅëÇÏ¿© Á¤º¸¸¦ ¼öÁýÇÏ°í ÀÚ·áÈµÈ ÀûÁ¤¼öÀ§¿Í À§Çè¼öÀ§¸¦ ÅëÇÏ¿© ÀÚ½ÅÀÇ »óŸ¦ °áÁ¤ÇÑ´Ù.
ÇÁ·Î±×·¥ È帧µµ(ÄÁÆ®·Ñ·¯)
¸®¾ó¼¹ö´Â ÀÚ½ÅÀÇ »óÅ°¡ ÀûÁ¤¼öÀ§¸¦ º¹±¸ÇÏ¿´À» °æ¿ì ·Îµå ¹ë·±¼¿¡ ´Ù½Ã ÀÚ½ÅÀÌ À¥¼ºñ½º¸¦ ÇÒ ¼ö ÀÖÀ½À» º¸³»ÁÜ.
ÇÁ·Î±×·¥ È帧µµ (ÄÁÆ®·Ñ·¯)
·Îµå ¹ë·±¼ÀÇ Server DaemonÀº ¸®¾ó¼¹öÀÇ ÀڷḦ Á¾ÇÕÇÏ¿© ½ºÄÉÁÙ¸µ¿¡ ÀÖ¾î¼ÀÇ °¡ÁßÄ¡¸¦ º¯°æÇÔÀ¸·Î¼ ¼¹öÀÇ ´Ù¿îÀ» ¹æÁöÇÒ ¼ö ÀÖ´Ù.
ÇÁ·Î±×·¥ È帧µµ (¸ð´ÏÅÍ)
Client DaemonÀ¸·Î ºÎÅÍÀÇ Á¤º¸¸¦ Client DaemonÀº log¸¦ ±â·ÏÇÏ°í http¸¦ »ý¼ºÇÏ¿© Server DaemonÀº ÀÌÁ¤º¸¸¦ http·Î Á¦°øÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ ¼¹öÀÇ ¿î¿µÀÚ´Â ¿ø°ÝÁö¿¡¼ ÀÎÅÍ³Ý ÆäÀÌÁö¸¦ ÅëÇÏ¿© ÇöÀç ·Îµå ¹ë·±¼ÀÇ »óÅÂ¿Í ¸®¾ó¼¹öÀÇ »óŸ¦ ¸ð´ÏÅ͸µ ÇÒ¼ö ÀÖÀ¸¸ç Â÷ÈÄ Á¦¾î¿¡ ´ëÇÑ ºÎºÐµµ ¹Ý¿µÇÒ °ÍÀÓ
6. 3 Server/Client µ¥¸ó
·Îµå¹ë·±¼ ÄÁÆ®·Ñ ºÎºÐ ºÐ¼® ¹× µ¿ÀÛ¿ø¸® ÆÄ¾Ç & Server/Client µ¥¸ó ÀÛ¼º
-Client Daemon
Client DaemonÀº ¸®¾ó ¼¹öÀÇ CPU Á¡À¯À², Memory »ç¿ëÀ² ¹× ³×Æ®¿öÅ©ÀÇ Æ®·¡ÇÈÀ» ¸ð´ÏÅÍÇϸç ÀÌ Á¤º¸¸¦ ÅëÇÕÇÏ¿© ¼¹öÀÇ ÀûÁ¤¼öÁØ ¹× À§Çè ¼öÁØÀ» ¼¹ö·Î ¼ÒÄÏÀ» Çü¼ºÇÏ¿© º¸°íÇÑ´Ù.
-Server Daemon
Client Daemon·ÎºÎÅÍÀÇ Á¤º¸¸¦ ÀÌ¿ëÇÏ¿© ·Îµå ¹ë·±¼ÀÇ °¡ÁßÄ¡¸¦ º¯°æÇÏ¿© À̸¦ ·Îµå ¹ë·±½Ì¿¡ ¹Ý¿µ ÇÔÀ¸·Î½á DynamicÇÑ ·Îµå ¹ë·±¼ÀÇ ±¸ÇöÀÌ °¡´ÉÇÏ´Ù.
-Ŭ¶óÀ̾ðÆ®ÀÇ »óÅ Á¤º¸ ¼¹ö·Î Àü¼Û
-ÃëÇÕµÈ Á¤º¸¸¦ ÀÌ¿ëÇÏ¿© ´Éµ¿ÀûÀ¸·Î LVS ¼³Á¤ ¹× º¯°æ
6. 4 X-Window ±â¹Ý ¸ð´ÏÅ͸µ / ÄÁÆ®·Ñ·¯ Åø
X-Window ±â¹Ý À¯Àú ÀÎÅÍÆäÀ̽º ÄÁÆ®·Ñ·¯ ¹× ¸ð´ÏÅ͸µ Åø Á¦ÀÛ
X-Window»ó¿¡¼ ¸®¾ó¼¹öÀÇ »ðÀÔ, »èÁ¦ ¹× º¯°æ
6. 5 À¥±â¹Ý ¸ð´ÏÅ͸µ / ÄÁÆ®·Ñ·¯ Åø
Åë°èºÐ¼® Ãâ·Â ¹× ±âº»È¸é ±¸¼º ¹× ÄÁÆ®·Ñ / ¸ð´ÏÅ͸µ ±âº»°ñ°Ý Á¦ÀÛ
Ŭ¶óÀ̾ðÆ®ÀÇ »óŸ¦ À¥»ó¿¡¼ Ãâ·Â
À¥»ó¿¡¼ ¸®¾ó¼¹öÀÇ »ðÀÔ, »èÁ¦ ¹× º¯°æ
6. 5 5°¡Áö ¹æ½ÄÀÇ Å×½ºÆ® ÆäÀÌÁö ÀÛ¼º
- ±âº»ÀûÀÎ ÅؽºÆ®·Î ±¸¼ºµÈ ÆäÀÌÁö
(23KB, 70KB, 100KB, 200KB ÀÇ ÆäÀÌÁö ±¸¼º)
- À̹ÌÁö ¹× »ç¿îµå°¡ Æ÷ÇÔµÈ ÆäÀÌÁö
(1.5MB, 2.3MB, 3.0MB, 4.5MB ÀÇ ÆäÀÌÁö ±¸¼º)
- ´ë¿ë·® Å×½ºÆ® ÆäÀÌÁö
(Ftp±â´ÉÀÌ Æ÷ÇÔµÈ ÆäÀÌÁö·Î ´ë¿ë·®ÀÇ ÆÄÀÏ Àü¼Û )
- ½ºÅ©¸³Æ® ÆÄÀÏÀÌ ÀÖ´Â ÆäÀÌÁö
(¼¹ö³»ÀÇ ¸ðµâ·Î Æ÷ÇԵǾî ÀÖ´Â ÆÞ, PHPµî ´Ù¾çÇÑ ½ºÅ©¸³Æ®·Î ÆäÀÌÁö ±¸¼º)
- Á¾ÇÕÀûÀÎ ÆäÀÌÁö
(½ÇÁ¦ÀûÀ¸·Î »ç¿ëµÇ¾îÁö´Â ÆäÀÌÁö ±¸¼º)
6. 6 Å×½ºÆ® À¥ºê¶ó¿ìÀú ÀÛ¼º
À¥ ¼¹öÀÇ ºÎÇÏÀÇ »óŸ¦ ½Ã¹Ä·¹À̼ÇÇϱâ À§ÇØ ¼¹öÀÇ ºÎÇϸ¦ Áõ°¡½ÃÅ°±â À§ÇÑ ½ÇÁ¦¿¡ ±Ù»çÇÑ ¿¡¹Ä·¹ÀÌÆ® Åø Á¦ÀÛ
- ºÎÇϸ¦ ÀÓÀÇÀûÀ¸·Î »ý¼ºÇϱâ À§ÇØ 8°³ÀÇ µ¶¸³ÀûÀÎ ºê¶ó¿ì¡ Áö¿ø
- ÆäÀÌÁö¸¦ ÀÐ°í ³ ÈÄ ÀÐÀº ½Ã°£À» ÃøÁ¤ÇÏ¿© µ¥ÀÌÅÍ »ý¼º
6. 7 ´Ù¾çÇÑ »óȲ¿¡¼ÀÇ ºÎÇÏÃøÁ¤
Á¢¼ÓÀÚ ¼ö¸¦ º¯È½ÃÅ°¸ç Á¢¼ÓÀÚ Áõ°¡À²¿¡ µû¸¥ ¸Þ¸ð¸® »ç¿ë·®, CPU ·Îµå Áõ°¡À², Æ®·¡ÇÈ Áõ°¡À² ÃøÁ¤
6. 7. 1 ¸®¾ó¼¹ö ¼öÄ¡ Çؼ®À» À§ÇÑ Å×½ºÆ® ȯ°æ
3-111È£ÀÇ PC¸¦ ÀÌ¿ëÇÏ¿© ƯÁ¤½Ã°£¿¡ µ¿ÀÛ
(ÃÖ´ë 64±îÁö 8°³ ´ÜÀ§·Î ÃøÁ¤)
6. 7 .2 ´ÜÀϼ¹öÇÏ¿¡¼ ºÎÇÏ ÃøÁ¤
±âÁØÀÌ µÇ´Â ¼¹ö¿¡¼ ºÎÇϸ¦ ÃøÁ¤Ç쵂 Å×½ºÆ® ȨÆäÀÌÁöÀÇ ÆäÀÌÁöµéÀ» °¢°¢ Á¢¼ÓÀÚ°¡ 2¿¡¼ 64¸í±îÁö 2, 4, 8, 16, 32, 64¸í ´ÜÀ§·Î ÃøÁ¤ÇÑ´Ù. ÃøÁ¤Àº °¢ 10ȸ ÀÌ»óÀ¸·Î ÇÏ¸ç °¢ ÃøÁ¤°ªÀ» ±â·ÏÇÏ¿© º¸°£ÃøÁ¤¿¡ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. ÃøÁ¤°ªÀ¸·Î´Â Á¢¼ÓÀÚ Áõ°¡À²¿¡ µû¸¥ ¸Þ¸ð¸® »ç¿ë·®, CPU·Îµå Áõ°¡À², Æ®·¡ÇÈ Áõ°¡À² µîÀÌ ÀÖ´Ù. ±×¸®°í ±âÁØÀÌ µÇ´Â ¼¹öÀÇ »ç¾çÀ» ´Þ¸®ÇÏ¿© ´Ù½Ã ÃøÁ¤ÇÑ´Ù. ÀÌ·±½ÄÀ¸·Î µ¥ÀÌÅ͸¦ »êÃâÇÏ°Ô µÇ¸é 3Â÷¿ø ¹è¿·Î ³ªÅ¸³ª°Ô µÉ °ÍÀÌ´Ù. 3Â÷¿ø µ¥ÀÌÅÍ´Â ¼±Çü ȸ±ÍºÐ¼®À» ÇÏ¿© ÀÔüÀûÀÎ ±Ù»ç°ªÀ» »êÃâÇÏ°Ô µÈ´Ù.
½ºÅ©¸³Æ®°¡ Á¦¿ÜµÈ ÅؽºÆ®¹®¼ ¸Þ¸ð¸® »ç¿ë·® ÅؽºÆ® °á°ú(´ÜÀ§ : KB)
CPU
Á¢¼ÓÀÚ ¼ö
64MB
128MB
256MB
512MB
1GHz
2
67
60
53
51
1GHz
4
134
129
124
122
1GHz
8
165
160
159
154
1GHz
16
170
170
168
160
1GHz
32
178
178
175
171
1GHz
64
184
184
183
178
À̹ÌÁö°¡ Æ÷ÇÔµÈ ÅؽºÆ®¹®¼ ¸Þ¸ð¸® »ç¿ë·® ÅؽºÆ® °á°ú(´ÜÀ§ : KB)
CPU
Á¢¼ÓÀÚ ¼ö
64MB
128MB
256MB
512MB
1GHz
2
124
122
120
116
1GHz
4
256
255
252
248
1GHz
8
287
286
284
275
1GHz
16
320
316
316
310
1GHz
32
329
329
328
321
1GHz
64
335
335
334
329
½ºÅ©¸³Æ®°¡ ±¸¼ºµÈ ¹®¼ ¸Þ¸ð¸® »ç¿ë·® ÅؽºÆ® °á°ú(´ÜÀ§ : KB)
CPU
Á¢¼ÓÀÚ ¼ö
64MB
128MB
256MB
512MB
1GHz
2
791
783
745
734
1GHz
4
810
822
783
764
1GHz
8
872
869
861
859
1GHz
16
842
816
808
788
1GHz
32
858
826
816
801
1GHz
64
840
811
795
810
Á¢¼ÓÀÚ¿Í CPU¿¡ µû¸¥ ½ºÅ©¸³Æ® ½ÇÇà½Ã°£
Á¢¼ÓÀÚ¼ö
Cel-333
P2-400
P3-1000
1GHz
3
3
1
1GHz
5
5
1.5
1GHz
11
10
2
1GHz
20
18
4.9
1GHz
41
39
8.8
1GHz
103
71
13.1
6. 7. 3 ½ÇÁ¦ »ç¿ëµÈ ½ºÅ©¸³Æ® ÄÚµå
$start=time(); ÇöÀç ½Ã°£À» start¶ó´Â º¯¼ö¿¡ ÀúÀå
for($i=1;$i<500000;$i++) loop¹®
{}
$end=time()-$start; ÇöÀç½Ã°£¿¡¼ start¸¦ »« °ªÀ» end¶ó´Â º¯¼ö¿¡ ÀúÀå
echo "Time : $end"; end Ãâ·Â
?>
6. 8 ¼±Çü ȸ±ÍºÐ¼® ¹× º¸°£ÇÔ¼ö »êÃâ
°¢Á¾ µ¥ÀÌÅ͸¦ ¼±Çü ȸ±ÍºÐ¼®À» ÇÏ¿© º¸°£ÇÔ¼ö¸¦ »êÃâÇÑ´Ù. ȸ±ÍºÐ¼®Àº ´ºÅæ¹æ½ÄÀ» »ç¿ëÇÏ¸ç º¸°£ÇÔ¼ö ¿ª½Ã ´ºÅæ¹æ½ÄÀ» »ç¿ëÇÑ´Ù.
- ¸Þ¸ð¸®¿¡ ´ëÇÑ Á¢¼ÓÀÚ Áõ°¡¿¡ µû¸¥ º¯È¿¡ ´ëÇÑ ÇÔ¼ö
X
Y
f[X0, X1]
f[X0, X2]
f[X0, X3]
0
64
835
-0.219
0.00033
0
1
128
821
-0.156
0.00032
2
256
801
-0.035
3
512
792
¡Å P5(x)=0.00033x2-0.28236x+851.71936
Á¢¼ÓÀÚ Áõ°¡¿¡ µû¸¥ ¸Þ¸ð¸® »ç¿ë·®Àº °ÅÀÇ ¼±ÇüÀ¸·Î Áõ°¡ÇÏ¸ç ±â¿ï±â ¿ª½Ã °ÅÀÇ 0¿¡ °¡±õ´Ù.
- CPU¼Óµµ¿¡ µû¸¥ Á¢¼ÓÀÚ Áõ°¡¿¡ µû¸¥ ½ÇÇà¼Óµµ º¯È¿¡ ´ëÇÑ ÇÔ¼ö
P6(x)=-0.0000034x5+0.0004008x4-0.0144228x3+0.1924916x2+0.2086584x+1.7354112
½ÇÇà¼ÓµµÀÇ º¯È´Â Á¢¼ÓÀÚ ¼ö°¡ Ä¿Áö¸é Ä¿Áú¼ö·Ï ½ÇÇà¼Óµµ ¿ª½Ã Ä¿Áö´Â tan°î¼±¿¡ °¡±õ´Ù.
6. 9 µ¥ÀÌÅÍ °ËÁõ
»êÃâÇÑ ÇÔ¼ö½ÄÀÌ ÀûÇÕÇÑÁö °ËÁõÇϱâ À§ÇØ 700Mhz¿¡ ´ëÇØ °ËÁõ
Á¢¼ÓÀÚ°¡ ¸¹¾ÆÁü¿¡ µû¶ó ½ÇÁ¦°ª¿¡ Á¡±Ù
6. 10 À¥¼¹öÀÇ ºÎÇÏ ÁýÁ߽à Defunct ¹ß»ý ºóµµ¼ö ÃøÁ¤
6. 10. 1 Å×½ºÆ® ȯ°æ
- ´ÜÀϼ¹ö
ÆæƼ¾ö 500MHz¿¡¼ À¥¼¹ö ±¸Ãà
ÆæƼ¾ö 700MHz¿¡¼ À¥¼¹ö ±¸Ãà
ÆæƼ¾ö 800MHz¿¡¼ À¥¼¹ö ±¸Ãà
ÆæƼ¾ö 1GHz¿¡¼ À¥¼¹ö ±¸Ãà
- ºÎÇϺл꼹ö
ÆæƼ¾ö 1GHz¿¡¼ ·Îµå¹ë·±½Ì
´ÜÀϼ¹ö 4´ë·Î ¸®¾ó¼¹ö ±¸¼º
6. 10. 2 CPU¿¡ ´ëÇÑ »ó´ëÀûÀÎ ¼öÄ¡ Ç¥Çö ¹æ½Ä
6. 10. 3 iCOMP Áö¼ö
-ÀÎÅÚ¿¡¼ ¹ßÇ¥ÇÏ´Â CPUµé¿¡ ´ëÇÑ »ó´ëÀûÀÎ ¼º´É¿¡ ´ëÇÑ ¼öÄ¡·Î CPU¼Óµµ°¡ ¾Æ´Ñ iCOMPÁö¼ö¸¦ ÀÌ¿ëÇÏ¿© ÃøÁ¤
-500MHz(1650), 700MHz(2420), 800MHz(2690), 1000MHz(3280)
6. 10. 4 ´ÜÀϼ¹ö½Ã Á¢¼ÓÀÚ¼ö¿¡ µû¸¥ Defunct ºóµµ
Defunct ¹ß»ýȽ¼ö
±¸ºÐ
P3-500(1650)
P3-700(2420)
P3-800(2690)
P3-1000(3280)
32
0
0
0
0
64
8
1
1
0
96
12
3
3
1
128
17
12
11
7
Defunct
-¼¹ö¿ÍÀÇ Á¢¼ÓÀÌ Àå¾Ö·Î ÀÎÇÏ¿© ²÷±ä »óÅÂ
-¿øÀÎÀº ¼¹öÀÇ °úºÎÇÏ ¹× ³×Æ®¿öÅ© Àå¾Öµî ´Ù¾çÇÑ º¯¼ö°¡ Á¸Àç
TimeOut
-Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» ó¸®Áß ½Ã°£ÀÇ Å¸ÀӾƿôÀ¸·Î Á¢¼ÓÀÌ Á¾·á
6. 10. 5 ´ÜÀϼ¹ö½Ã Á¢¼ÓÀÚ¼ö¿¡ µû¸¥ DefunctÀÇ ¹ß»ý ¼ö
ÀÌ·ÐÀûÀ¸·Î 228¸íÀÇ Á¢¼ÓÀÚ°¡ µ¿½Ã Á¢¼Ó½Ã±îÁö Defunct´Â ¹ß»ýÇÏÁö ¾Ê´Â´Ù
6. 11 ´ÜÀϼ¹ö½Ã Á¢¼ÓÀÚ¼ö¿¡ µû¸¥ Upper Bound ÇÔ¼ö
ÇÔ¼ö ¼öÄ¡ »êÃâ¹æ¹ý
CPU
P3-500(1650)
P3-700(2420)
P3-800(2690)
P3-1000(3280)
ÃÖÁ¾¹ß»ý½ÃÁ¡
40
50
58
80
Upper Bound ÇÔ¼ö
F(x)=-0.000000004x3+0.00004204x2-0.1078152x+121.40968
6.12 ·Îµå¹ë·±¼ ÄÁÆ®·Ñ·¯¿¡ ¾²ÀÌ´Â ÇÔ¼ö
°¡ÁßÄ¡ ºÎ¿© ÇÔ¼ö
- ¿£Æ®¸®¿¡ µî·ÏµÈ ¸®¾ó¼¹öÁß °¡Àå ¼º´ÉÀÌ ³·Àº ¼¹ö¸¦ °¡ÁßÄ¡ 1·Î °è»ê
- ´Ù¸¥ ¿£Æ®¸®¿¡ µî·ÏµÈ ¸®¾ó¼¹ö´Â ¼º´ÉÀÌ ³·Àº ¼¹öÀÇ »ó´ëÄ¡·Î °è»ê
Upper/Lower Bound ÃøÁ¤ ÇÔ¼ö
- ÇØ´ç CPU¿¡ µû¸¥ ÃøÁ¤ÇÔ¼ö ±¸°£À» »ý¼ºÇÏ¿© Á¢¼ÓÀÚ±¸°£ »êÃâ
- Upper Bound ÃÊ°ú½Ã ·Îµå¹ë·±¼¿¡ ½Ã±×³Î ¼ÛÃâ
- Lower Bound ¹Ì¸¸½Ã ·Îµå¹ë·±¼¿¡ ½Ã±×³Î ¼ÛÃâ
7. ÃÖÁ¾°á·Ð
ÇöÀç »êÃâµÈ µ¥ÀÌÅ͸¦ ÀÌ¿ëÇÏ¿© LVS°¡ÁßÄ¡ °è»ê¿¡ Àû¿ë ½ÇÇè½Ä »ý¼º ¹× ÃÖÁ¾ÀûÀ¸·Î Ŭ¶óÀ̾ðÆ®°¡ ´À³¢´Â ü°¨ ½Ã°£°ú ¼¹öÀÇ »óŸ¦ ÀÌ¿ëÇÏ¿© Real ServerÀÇ ÇÑ°èÄ¡ ¹× Upper Bound¿Í Low Bound »êÃâÇÏ¿© ÃÖÀûÀÇ À¥¼ºñ½º ȯ°æ ±¸Ãà
À¥¼ºñ½ºÀÇ °¡ÁßÄ¡ ¹× »óÀÌÇÑ ¼¹ö°£ÀÇ Ã³¸®´É·Â °è·®È·Î À¥¼ºñ½º ¼³°è½Ã ±¸Ã¼ÀûÀÎ ±âƲ ¸¶·Ã
|
|
|