³ëµå¿Í ¸µÅ©ÀÇ Á¶ÇÕÀ¸·Î ÀÌ·ç¾îÁø ³×Æ®¿öÅ©¿¡´Â µ¥ÀÌÅÍÀÇ Æ®·¡ÇÈ Á¶Àý°ú È¥Àâ Á¦¾î°¡ ÇÊ¿äÇÕ´Ï´Ù.
³×Æ®¿öÅ© µðÀÚÀ̳ʵéÀº ÀÌ·¯ÇÑ ³×Æ®¿öÅ©¸¦ ½ÇÁ¦·Î ±¸ÇöÇϱ⿡ ¾Õ¼ ´Ù·é ¼öÇÐÀûÀÎ ¹æ¹ý°ú ns-nam°ú °°Àº ¼ÒÇÁÆ®¿þ¾î Åø µîÀ» »ç¿ëÇÏ¿© ³×Æ®¿öÅ©¸¦ ±¸¼ºÇÏ°í Æò°¡ÇÏ¿© ¿£Áö´Ï¾î·Î¼ÀÇ ¡®ÀÚ¿øÀÇ È¿À²ÀûÀÎ »ç¿ë¡¯À̶õ ¸ñÀûÀ» ´Þ¼ºÇØ¾ß ÇÕ´Ï´Ù. ¿À´ÃÀº ÀÌ·¯ÇÑ ³×Æ®¿öÅ© µðÀÚÀ̳ʰ¡ µÇ±â À§ÇÑ ¿¬ÀçÀÇ ¸¶Áö¸· ½Ã°£ÀÔ´Ï´Ù.
³×Æ®¿öÅ© µðÀÚÀÌ³Ê¿Í °í¼Óµµ·Î µðÀÚÀ̳ʴ ¸ñÀûÁö¿¡¼ Ãâ¹ßÁö·Î Àǹ̰¡ ÀÖ´Â ´ÜÀ§¸¦ Àü¼ÛÇÏ´Â ¿ªÇÒÀ» ÇÑ´Ù´Â Á¡¿¡¼ À¯»çÇÏÁö¸¸ ±¸ÇöÀÇ Ãø¸é¿¡¼´Â Â÷ÀÌÁ¡ÀÌ ¸¹½À´Ï´Ù. ¿¹¸¦ µé¸é °í¼Óµµ·Î´Â ±× ±¸Çö°ú »óŰ¡ ½Ç»ýȰ¿¡¼ µå·¯³ªÁö¸¸, ³×Æ®¿öÅ© µðÀÚÀÎÀº »ç¿ëÀÚ¿¡°Ô º¸ÀÌÁö ¾Ê°í ´À²¸ÁöÁö ¾Êµµ·Ï ±¸ÇöÇÑ´Ù´Â Á¡À» µé ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ À̷аú Çö½ÇÀÇ ±«¸®·ÎºÎÅÍ ÀÌ·ÐÀûÀ¸·Î ³×Æ®¿öÅ©¸¦ °øºÎÇÑ »ç¶÷µéÀÌ ½ÇÁ¦·Î Àåºñ¸¦ »ç¿ëÇÏ¿© ³×Æ®¿öÅ©¸¦ ±¸ÇöÇÒ ¶§ ¾î·Á¿òÀ» °Þ°Ô µË´Ï´Ù.
¸¸¾à ½ÇÁ¦ÀÇ ±¸Çö¿¡ ¾Õ¼ ½Å·Ú¼º ³ôÀº ¼ÒÇÁÆ®¿þ¾î·Î ¸¹Àº ¿¬½ÀÀ» ÇØ º¼ ¼ö ÀÖ´Ù¸é, ±×¸®°í °¡½ÃÀûÀÎ ±¸ÇöÀ» ÅëÇØ ÀüüÀûÀÎ ³×Æ®¿öÅ©ÀÇ ±×¸²À» ±×¸± ¼ö ÀÖ´Ù¸é ¾î¶³±î¿ä? ºÐ¸í ³×Æ®¿öÅ© µðÀÚÀ̳ʵ鿡°Õ È¿°ú(Effectiveness)¿Í È¿À²(Efficiency) ³ôÀº ¹«¾ùº¸´Ùµµ ÈǸ¢ÇÑ ÅøÀÌ µÇ¾îÁÙ °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ¸ñÀûÀ» °¡Áö°í ³×Æ®¿öÅ©µðÀÚÀ̳ʵéÀº ¼ÒÇÁÆ®¿þ¾î ÅøÀ» °³¹ßÇÏ°Ô µÇ¾ú°í ±× Áß¿¡ ´ëÇ¥ÀûÀÎ °ÍÀÌ ¹Ù·Î Áö±Ý ¼Ò°³ÇÒ NS-NAM(NS version 2)ÀÔ´Ï´Ù.
NS-NAMÀº Network Simulator-Network AniMatorÀÇ ¾àÀÚ·Î USC(University of Southern California)ÀÇ ISI(Information Sciences Institute)¿Í UCB(University of California at Berkeley), CMU(Carnegie Mellon University) µî¿¡¼ ¿¬±¸ÇÏ´Â Network Designerµé°ú ¼®ÇеéÀÌ ÇÔ²² ¸ð¿© ¸¸µç ¼ÒÇÁÆ®¿þ¾î ½Ã¹Ä·¹ÀÌ¼Ç ÅøÀÔ´Ï´Ù. NS-NAMÀº C++¸¦ »ç¿ëÇÏ¿© °³¹ßµÇ¾ú½À´Ï´Ù.
°´Ã¼ÁöÇâ Æ¯¼ºÀÇ Otcl(ƼŬ)À̶ó´Â ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇÏ¿© ÄÄÆÄÀÏ ÈÄ ³×Æ®¿öÅ©ÀÇ »óŸ¦ ¾Ö´Ï¸ÞÀÌ¼Ç È¿°ú µîÀ» ÅëÇØ º¼ ¼ö ÀÖ´Â Åø·Î½á, Ç÷§Æû¿¡ »ó°ü¾ø´Â À̽ļº°ú È®À强À» °¡Áö°í ÀÖ½À´Ï´Ù. ¶ÇÇÑ x-graph¶ó´Â ±×·¡ÇÁ ºÐ¼® ÅøÀ» »ç¿ëÇÏ¿© ³×Æ®¿öÅ© µðÀÚÀÎÀ» Çϵå¿þ¾îÀÇ ±¸Çö ¾øÀÌ ºÐ¼®ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ·¯ÇÑ NS-NAMÀº ±âÁ¸ÀÇ ¼öÇÐÀûÀÎ ÅøÀÌ ºÎºÐÀûÀÎ ºÐ¼®¿¡ Á¦ÇÑÀûÀ¸·Î »ç¿ëµÇ´Â Á¡À» º¸¿ÏÇÏ¿© ³×Æ®¿öÅ©¸¦ ÀüüÀûÀÎ ±×¸²¿¡¼ ÀÌÇØÇÒ ¼ö ÀÖ´Â ÀåÁ¡ÀÌ ÀÖ½À´Ï´Ù. ¶ÇÇÑ °´Ã¼ÁöÇâÀÇ Æ¯¼º¿¡¼ ºñ·ÔÇÏ¿© ¿Ï¼ºµÈ ³×Æ®¿öÅ©¸¦ ÇϳªÀÇ ¸ðµâ(Module)ó·³ »ç¿ëÇÏ¿© ¶Ç ´Ù¸¥ ³×Æ®¿öÅ© µðÀÚÀÎÀ̳ª Çùµ¿ ÀÛ¾÷¿¡ ½±°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ·¯ÇÑ È®À强Àº NS-NAMÀÌ ´Ù¾çÇÑ ³×Æ®¿öÅ© ÇÁ·ÎÅäÄݵé°ú ÀÎÅÍ³Ý ¶ó¿ìÆÃ(routing), ´Ù¾çÇÑ Å¥À×(queuing) ¸ðµ¨µéÀ» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Çß½À´Ï´Ù. ÇÏÁö¸¸ NS-NAMµµ ¿Ïº®ÇÑ ÅøÀÌ µÇÁö ¸øÇÏ´Â ´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù(¹°·Ð °è¼Ó ¹ßÀüÇϰí ÀÖ½À´Ï´Ù). ´ëÇ¥ÀûÀÎ °ÍÀº ·¹À̾î 3 ÀÌÇÏ¿¡ °üÇÑ °ÍµéÀ» ¹«½ÃÇϰí ÀÖ´Â °Í°ú .tcl·Î ÀÌ·ç¾îÁø ÄÚµùÀÌ Ã³À½ »ç¿ëÇÏ´Â »ç¶÷µé¿¡°Ô ¹®¹ýÀûÀ¸·Î³ª Ç¥ÇöÀûÀ¸·Î³ª ¾î·Á¿ï ¼öµµ ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù.
±×·¡µµ NS-NAMÀº ÇöÀç ¼¼°èÀûÀ¸·Î °¡Àå ¸¹ÀÌ »ç¿ëµÇ°í ÀÖÀ¸¸ç ¾ÕÀ¸·Î ´Ü°èÀûÀ¸·Î ¿Ï¼ºµµ¸¦ ´õÇØ°¥ °ÍÀ» ±â´ëÇØ º¼ ¼ö Àֱ⿡ ¡®Ãʺ¸ÀÚ¸¦ À§ÇÑ ³×Æ®¿öÅ© 3ȸ ¿¬À硯¿¡¼ ¡®NS-NAMÀ¸·Î ÇØº» Network Design Software Simulation¡¯À̶õ Á¦¸ñÀ¸·Î °£´ÜÇÑ ¿¹Á¦·Î NS-NAMÀ» ½Ç½ÀÇÏ¿© ¼Ò°³ÇÏ´Â ±âȸ·Î »ï°Ú½À´Ï´Ù.
³×Æ®¿öÅ© ±¸¼º, ÅäÆú·ÎÁö
º»°ÝÀûÀÎ NS-NAMÀÇ ¼³¸í¿¡ ¾Õ¼ NS-NAMÀ» ÀÌ¿ëÇØ ´Ù¾çÇÏ°Ô µðÀÚÀÎÇÒ ¼ö ÀÖ±â À§ÇØ ³×Æ®¿öÅ©ÀÇ ±âº»ÀûÀÎ ÅäÆú·ÎÁö(topology)¿¡ °üÇØ ¼Ò°³ÇϰڽÀ´Ï´Ù. ÅäÆú·ÎÁö¶õ ³×Æ®¿öÅ©¸¦ ÀÌ·ç´Â ¸µÅ©¿¡ ¿¬°áµÈ ³ëµåÀÇ ¹°¸®ÀûÀÎ ¹è¿À» ¸»ÇÕ´Ï´Ù. ´Ù½Ã ½±°Ô ¸»ÇÏÀÚ¸é ³ëµå¸¦ ¹°¸®ÀûÀ¸·Î ÀÕ´Â ¹æ¹ýÀ̶ó°í ÇÒ ¼ö ÀÖ°Ú½À´Ï´Ù. ÀÌ·¯ÇÑ ³×Æ®¿öÅ© ÅäÆú·ÎÁö¿¡´Â, <±×¸² 1>°ú °°ÀÌ Á¡´ëÁ¡(point to point), ¹ö½º(bus), Æ®¸®(tree), ¸µ(ring), ±×¸®°í ½ºÅ¸(star) µîÀÇ ÇüŸ¦ °¡Áö°í ÀÖ½À´Ï´Ù.
Á¡´ëÁ¡ ÅäÆú·ÎÁö´Â °¡Àå ´Ü¼øÇÑ ÇüÅÂÀÇ ±×°ÍÀ¸·Î Àü¼Û ³ëµå¿Í ¼ö½Å ³ëµå°¡ ´Ü¼øÇÏ°Ô Á¡´ëÁ¡À¸·Î ¿¬°áµÈ »óÅÂÀÔ´Ï´Ù. ¹ö½º ÅäÆú·ÎÁö(bus topology)´Â ³×Æ®¿öÅ© ½ºÅ×À̼ǿ¡¼ ½ÃÀÛµÈ Àü¼ÛÀÌ ¹Ìµð¾îÀÇ ±æÀ̸¦ µû¶ó Àü´ÞµÅ ´Ù¸¥ ¸ðµç ½ºÅ×À̼ÇÀÌ ¼ö½ÅÇÏ°Ô µÇ´Â °ÍÀÔ´Ï´Ù. Æ®¸® ÅäÆú·ÎÁö(tree topology)´Â ´Ù¼öÀÇ ³ëµå°¡ ÀÖ´Â ºê·£Ä¡¸¦ Æ÷ÇÔ½Ãų ¼ö ÀÖ´Â ³ª¹«°¡Áö ÇüÅÂÀÇ ÅäÆú·ÎÁöÀÔ´Ï´Ù. ½ºÅ×À̼ǿ¡¼ º¸³»´Â Àü¼ÛÀº ¹Ìµð¾îÀÇ ±æÀÌ ¹æÇâÀ¸·Î Àü´ÞµÇ¸ç, ´Ù¸¥ ¸ðµç ½ºÅ×À̼ǿ¡¼ ¼ö½ÅÇÏ°Ô µË´Ï´Ù.
¸µÇü ÅäÆú·ÎÁö(ring topology)´Â ´Ü ¹æÇâ Àü¼Û ¸µÅ©¿¡ ÀÇÇØ ¼·Î ¿¬°áµÅ ÇϳªÀÇ Æó¼â ·çÇÁ¸¦ Çü¼ºÇÏ´Â ÀÏ·ÃÀÇ ¸®ÇÇÅ͵é·Î ±¸¼ºµÈ ³×Æ®¿öÅ© ÅäÆú·ÎÁö·Î ³×Æ®¿öÅ©»óÀÇ °¢ ½ºÅ×À̼ÇÀº ¸®ÇÇÅÍ¿¡¼ ³×Æ®¿öÅ©·Î ¿¬°áµË´Ï´Ù. ¸µÇü ÅäÆú·ÎÁö´Â Æó¼â ·çÇÁÀÇ º° ¸ð¾çÀ¸·Î ±¸¼ºµÇ´Â °æ¿ìµµ ¸¹½À´Ï´Ù. ½ºÅ¸Çü ÅäÆú·ÎÁö(star topology)´Â ³×Æ®¿öÅ©ÀÇ ¿£µå Æ÷ÀÎÆ®µéÀÌ Á¡´ëÁ¡ ¸µÅ© ¹æ½ÄÀ¸·Î °ø¿ë Áß¾Ó ½ºÀ§Ä¡·Î ¿¬°áµÅ ÀÖ´Â LAN ÅäÆú·ÎÁöÀÔ´Ï´Ù.
ÀÌ·¯ÇÑ ÅäÆú·ÎÁö¿¡ °üÇÑ Áö½ÄÀº ¾ÕÀ¸·Î ¿©·¯ºÐÀÌ ³×Æ®¿öÅ©¸¦ ¹°¸®ÀûÀ¸·Î µðÀÚÀÎÇÒ ¶§ °¡Àå ¸ÕÀú »ý°¢ÇØ¾ß ÇÒ ´Ü°è°¡ µÉ °ÍÀÔ´Ï´Ù. NS-NAMÀ¸·Î ±¸ÇöÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ µÇ¾î ÁÙ °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ÅäÆú·ÎÁö´Â ¿ì¸®°¡ ¾ÕÀ¸·Î NS-NAMÀ¸·Î ´Ù·ç°Ô µÉ ¿¹Á¦¸¦ ÅëÇØ¼ ½Ã°¢ÀûÀ¸·Î »Ó¸¸ ¾Æ´Ï¶ó ÇÁ·Î±×·¥ÀûÀ¸·Îµµ ±¸ÇöµÉ °ÍÀÔ´Ï´Ù.
 |
| <±×¸² 1> ¿©·¯ °¡Áö ¸ð¾çÀÇ ±âº» ³×Æ®¿öÅ© ÅäÆú·ÎÁö |
NS-NAM ¼³Ä¡Çϱâ
NS-NAMÀº Ç÷§Æû¿¡ »ó°ü¾øÀÌ(Platform-regardless) »ç¿ëÀÌ °¡´ÉÇÑ ÇÁ·Î±×·¥ÀÔ´Ï´Ù. ´Ù½Ã ¸»Çؼ À¯´Ð½º, ¸®´ª½º, À©µµ¿ì µî ¾î¶² OS¿¡¼µµ »ç¿ëÀÌ °¡´ÉÇÕ´Ï´Ù. ÇÏÁö¸¸ À¯´Ð½º °è¿(Most UNIX and UNIX-like systems) OS¿¡¼ »ç¿ëÀÌ Æí¸®ÇÕ´Ï´Ù. À©µµ¿ì ȯ°æ¿¡¼ »ç¿ëÇϱâ À§Çؼ´Â CIGWIN(
http://www.cygwin.com/)À̶ó´Â À©µµ¿ì ȯ°æ¿¡¼ À¯´Ð½º ȯ°æÀ» ¸¸µé¾î ÁÙ ¼ö ÀÖ´Â ÇÁ·Î±×·¥À» ¸ÕÀú ¼³Ä¡ÇØ¾ß ÇÏ´Â ¹ø°Å·Î¿òÀÌ ÀÖÀ¸¸ç ÀÌ·¯ÇÑ ¹æ¹ýÀº NS-NAM¼³Ä¡ ÈÄ ¸ðµç »óŸ¦ Á¡°ËÇÏ´Â Validation Test°¡ ½ÇÇàÀÌ ¾È µÇ´Â ´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù. ¶§¹®¿¡ À¯´Ð½º ȯ°æ¿¡¼ ½Ç½ÀÇÒ ¼ö ¾ø´Â µ¶ÀÚµéÀÇ °æ¿ì ¸®´ª½º¸¦ ¸ÕÀú ¼³Ä¡Çϰí NS-NAMÀ» ½ÇÇàÇϱ⸦ ÃßõÇÕ´Ï´Ù.
NS-NAM ³»·Á¹Þ±â
À¯´Ð½º ȯ°æÀÌ ¿Ï¼ºµÇ¾ú´Ù¸é NS-2 ¼ÒÇÁÆ®¿þ¾î¸¦ ´Ù¿î¹Þ¾Æ º¸°Ú½À´Ï´Ù. NS-2´Â NS-NAM ½ÇÇàÀ» À§ÇÑ ¿©·¯ °¡Áö ÀÀ¿ë ÇÁ·Î±×·¥µéÀÌ µé¾î ÀÖ´Â NS ¹öÀü 2 ÇÁ·Î±×·¥ÀÔ´Ï´Ù. ³¸¼± À¯´Ð½º ȯ°æ¿¡¼ ¼³Ä¡°¡ ¾î·Á¿ï ¼öµµ ÀÖÀ¸³ª Â÷ºÐÇÑ ¸¶À½À¸·Î Çϳª¾¿ ÇÔ²² ½ÃÀÛÇØ º¾½Ã´Ù.
¿ì¼±
http://www.isi.edu/nsnam/ns/ns-build.html¿¡¼ ¹öÀü 2.28ÀÇ NS-2¸¦ ´Ù¿î¹Þ¾Æ º¸¼¼¿ä. ȸ鿡¼ ¡®Where to Start¡¯¸¦ ã°í ¡®All at Once¡¯¸¦ Ŭ¸¯ÇÏ¿© 250MBÀÇ current release 2.28, ns-allinone-2.28.tar.gz(¸±¸®Áî ¹öÀüÀº ÃßÈÄ¿¡ ¾÷µ¥ÀÌÆ®µÉ ¼ö ÀÖ½À´Ï´Ù)¸¦ ¿©·¯ºÐÀÇ »ç¿ë ÄÄÇ»ÅÍ¿¡ ~/ns µð·ºÅ丮¸¦ ¸¸µé¾î ´Ù¿î¹Þ½À´Ï´Ù. ±× ÈÄ ´ÙÀ½ÀÇ ¸í·É¾î¸¦ ¼øÂ÷ÀûÀ¸·Î ÀÔ·ÂÇÏ¿© ¾ÐÃàÀ» Ç®°í ¼³Ä¡ÇÕ´Ï´Ù.
gunzip ./ns-allinone-2.28.tar.gz ¢Ð gunzip ¾ÐÃàÀ» DZ´Ï´Ù.
/usr/sbin/tar xvf ./ns-allinone-2.28.tar ¢Ð tar ¾ÐÃàÀ» DZ´Ï´Ù.
./install ¢Ð ÆÐŰÁö ¾È¿¡ ÀÖ´Â ÀÚµ¿ ÀνºÅç ÆÄÀÏÀ» ½ÇÇàÇÕ´Ï´Ù.
 |
| <ȸé 1> ¼º°øÀûÀÎ ¼³Ä¡ ÈÄ ³ªÅ¸³ª´Â ¸Þ½ÃÁö ȸé |
./installÀ» ¼º°øÀûÀ¸·Î ½ÇÇà½ÃŰ°í ³ª¸é <ȸé 2>¿Í °°Àº ¸Þ½ÃÁö°¡ ³ªÅ¸³ª°í ÇÁ·Î±×·¥ ¼³Ä¡°¡ ¼º°øÀûÀ¸·Î ¿Ï·áµÇ¾úÀ½À» ³ªÅ¸³À´Ï´Ù. ÇÏÁö¸¸ ³¡ÀÌ ¾Æ´Õ´Ï´Ù. ȸ鿡´Â ¼º°øÀûÀ¸·Î ¼³Ä¡°¡ µÇ¾ú´Ù´Â ¸Þ½ÃÁö°¡ ³ª¿ÀÁö¸¸ ¸Þ½ÃÁö ÇϹݺο¡´Â ¿©·¯ºÐÀÇ ÄÄÇ»ÆÃ ȯ°æ¿¡ ¸Â°Ô ´Ü°èº°·Î ÇØ¾ß ÇÒ ÀϵéÀÌ ÀÚµ¿À¸·Î ³ªÅ¸³³´Ï´Ù. µð·ºÅ丮´Â µ¶ÀÚ¸¶´Ù ´Ù¸¦ ¼ö ÀÖÀ¸´Ï ÁÖÀÇÇÏ¿© »ìÆìº¸±â ¹Ù¶ø´Ï´Ù.
µÎ·Á¿öÇÏÁö ¸»°í Â÷ºÐÂ÷ºÐ ȯ°æ¼³Á¤À» ¸Þ½ÃÁö¿¡ ³ª¿Â ´ë·Î ÇØ³ª°¡°Ú½À´Ï´Ù. ȯ°æ¼³Á¤À» ¸¶¹«¸®Çß´Ù¸é, ns-2.28 µð·ºÅ丮·Î ¿Å±ä ÈÄ ./validate¸¦ ½ÇÇàÇØ º¾´Ï´Ù. Validate¸¦ ¼º°øÀûÀ¸·Î ½ÇÇàÇÏ¸é ´Ù¾çÇÑ ¿¹Á¦µéÀÌ ÄÄÆÄÀÏµÈ ÈÄ ÀÚµ¿ÀûÀ¸·Î NAMÀ¸·Î ³×Æ®¿öÅ©°¡ ³ªÅ¸³³´Ï´Ù. ÀÌÁ¦ ¿©·¯ºÐÀº NS-NAMÀ» ¼º°øÀûÀ¸·Î ¼³Ä¡ÇÑ °ÍÀÔ´Ï´Ù.
NS-NAMÀº ¾î¶² ±¸Á¶·Î ÀÌ·ç¾î Á³À»±î?
Network Simulator, NS´Â ³×Æ®¿öÅ© ½Ã¹Ä·¹À̼ÇÀ» À§ÇÑ ÄÄÇ»ÅÍ ¾ð¾î Object-oriented TcL(OTcl)¸¦ ÄÄÆÄÀÏÇÏ´Â ÀÎÅÍÇÁ¸®ÅÍ(interpreter)ÀÔ´Ï´Ù. ´Ù½Ã ¸»Çؼ NS-2¸¦ »ç¿ëÇϱâ À§Çؼ± OTcl ¾ð¾î¸¦ »ç¿ëÇÏ¿© ÇÁ·Î±×·¥À» Â¥¾ß ÇÕ´Ï´Ù. OTcl ½ºÅ©¸³Æ®´Â ÇÁ·Î±×·¥ÀÌ À̺¥Æ® ½ºÄÉÁì·¯¸¦ ÃʱâÈÇϰí NS-2 ¶óÀ̺귯¸®¿¡ ÀÖ´Â ³×Æ®¿öÅ© ÅäÆ÷·ÑÁöµéÀ» ÁغñÇÏ¿© °¢°¢ÀÇ ³×Æ®¿öÅ© À̺¥Æ®¿¡ µû¸¥ Àü¼Û ³ëµå¿¡¼ ¼ö½Å ³ëµå±îÁöÀÇ µ¥ÀÌÅÍÀÇ È帧À» °áÁ¤ÇÏ°Ô µË´Ï´Ù.
NS-2¿¡¼ À̺¥Æ®´Â °í±Þ »ç¿ëÀÚÀÇ °æ¿ì ±âÁ¸ÀÇ OTcl ¸ðµâµéÀ» »õ·Ó°Ô ÀÛ¼ºÇÑ OTcl ½ºÅ©¸³Æ®¿Í ÇÔ²² ÄÄÆÄÀÏÇÏ¿© ³×Æ®¿öÅ© ÄÄÆ÷³ÍÆ®·Î »ç¿ëÇϴµ¥ ±×·¯±â À§Çؼ »õ·Î ÀÛ¼ºÇÑ ½ºÅ©¸³Æ®¿Í ±âÁ¸ÀÇ ½ºÅ©¸³Æ®´Â ÇÔ²² ÄÄÆÄÀϵǾî¾ß ÇÕ´Ï´Ù.
µ¶ÀÚµéÀÌ ÀÛ¼ºÇÏ°Ô µÉ OTcl ÆÄÀÏ(.tcl)À» ÄÄÆÄÀÏÇϸé <±×¸² 2>¿Í °°Àº À̺¥Æ®°¡ ÀϾ´Ï´Ù. ³×Æ®¿öÅ©¸¦ ¼ÒÇÁÆ®¿þ¾îÀûÀ¸·Î ½Ã¹Ä·¹À̼ÇÇÑ ÈÄ ±× °á°ú¸¦ ±â·ÏÇÑ ÆÄÀÏ µÎ °³°¡ »ý¼ºµÇ´Âµ¥ ±×°ÍÀÌ out.nam°ú out.trÀÔ´Ï´Ù. out.namÀº Network-AniMatorÀÎ NAMÀÇ ½ÇÇàÀ» À§ÇÑ ÆÄÀÏÀ̸ç out.trÀº ³×Æ®¿öÅ©¿¡¼ µ¥ÀÌÆ®ÀÇ È帧À» ¸ð´ÏÅ͸µÇÏ°í ½Ã¹Ä·¹À̼ÇÇÑ µ¥ÀÌÅÍÀÇ °¢°¢ÀÇ À̺¥Æ®¿¡ µû¸¥ »ý¼ºµÈ ·Î±×¶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù.
 |
| <±×¸² 2> .tcl ½ºÅ©¸³Æ®¸¦ NS¿¡¼ ½ÇÇàÇßÀ» ¶§ÀÇ Àüü ±×¸² |
 | NS-2¸¦ »ç¿ëÇÏ¿© ±¸ÇöÇÒ ¼ö ÀÖ´Â ³×Æ®¿öÅ© ±â´É |  | |  | |
| 1. Router queue Management Techniques DropTail, RED, CBQ
2. Multicasting
3. Simulation of wireless networks
4. Traffic Source Behaviour- www, CBR, VBR
5. Transport Agents- UDP/TCP
6. Routing
7. Packet flow
8. Network Topology
9. Applications- Telnet, FTP, Ping
10. Tracing Packets on all links/specific links
| | | | | |
| |
NAM
NAMÀº ³×Æ®¿öÅ© µðÀÚÀÎÀÇ Æ¯¼º»ó ½±°Ô ´«À¸·Î º¼ ¼ö ¾ø¾ú´ø µ¥ÀÌÅÍÀÇ È帧°ú ±¸ÇöµÈ ³×Æ®¿öÅ© ÅäÆú·ÎÁö¸¦ ¾Ö´Ï¸ÞÀÌ¼Ç È¿°ú¸¦ ÅëÇØ Á¦°øÇÏ´Â ÅøÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ±â´ÉÀº .tcl ½ºÅ©¸³Æ®°¡ ÄÄÆÄÀÏµÈ ÈÄ »ý¼ºµÈ out.namÀ̶ó´Â ÆÄÀÏÀ» ÀÌ¿ëÇÏ¿© ½ÇÇàµÇ¸ç µðÀÚÀÎµÈ ³×Æ®¿öÅ©ÀÇ ½Ã°¢ÀûÀÎ ÇØ¼®À» °¡´ÉÇÏ°Ô ÇÕ´Ï´Ù. ¿©Å¸ÀÇ ¸ÖƼ¹Ìµð¾î Ç÷¹À̾î¿Í °°Àº ¼Õ½¬¿î µ¿ÀÛ ¹æ¹ýÀ¸·Î ³×Æ®¿öÅ©¸¦ Á¦¾îÇÒ ¼ö ÀÖÀ¸¸ç °¢°¢ÀÇ ¸µÅ©¿¡ ÆÐŶµéÀÇ ¼ö³ª Àüü Throughput µîÀÌ ½±°Ô ¸¶¿ì½º µ¿ÀÛÀ¸·Î ³ªÅ¸³» Áý´Ï´Ù. ¶ÇÇÑ °¢°¢ÀÇ ³ëµå´Â µå·¡±× ¾Ø µå·ÓÀ¸·Î »ý¼ºµÇ°Å³ª À̵¿µÉ ¼ö ÀÖ´Â ±â´Éµµ ÀÖ½À´Ï´Ù.
 |
| <ȸé 2> NAM ¼³¸íÇϱâ |
X-Graph
X-Graph´Â X-À©µµ¿ìÀÇ ÀÀ¿ë ÇÁ·Î±×·¥À¸·Î ±×·¡ÇÎ(graphing) °ú ÇÃ·ÎÆÃ(plotting)À» ÇÒ ¼ö ÀÖ´Â ÅøÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ÄÚµùÀº .tcl ½ºÅ©¸³Æ®°¡ ÄÄÆÄÀÏµÈ ÈÄ »ý¼ºµÈ out.tr ÆÄÀÏÀ» ÀÌ¿ëÇÏ¿© ³ªÅ¸³ª¸ç .tcl ½ºÅ©¸³Æ®¿¡¼ ´ÙÀ½°ú °°Àº ¾à°£ÀÇ ÄÚµùÀ¸·Î »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.
proc finish{} {
global f0 f1 f2
#Close the output files
close $f0
close $f1
close $f2
#call X-Graph to display the results
exec xgraph out0.tr ?geometry 800x400 &
exit 0
}
 |
| <ȸé 3> X-GraphÀÇ 3°³ÀÇ Trace ºÐ¼® ȸé |
Á¡´ëÁ¡ ³ëµå¿Í ¸µÅ© µû¶óÇϱâ
ÀÌÁ¦ºÎÅÍ NS-2·Î ³×Æ®¿öÅ©¸¦ ±¸¼ºÇϱâ À§ÇÑ ´Ü°èÀÔ´Ï´Ù. °£´ÜÇÑ ¿¹Á¦¸¦ ÅëÇØ º»°ÝÀûÀ¸·Î NS-NAMÀ» ½Ç½ÀÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù. ¿ì¼± Á¡´ëÁ¡ ÅäÆú·ÎÁö·Î ÀÌ·ç¾îÁø µÎ °³ÀÇ ³ëµå¿Í ÇÑ °³ÀÇ ¸µÅ©¸¦ NS-2·Î ±¸ÇöÇϰí NAMÀ¸·Î È®ÀÎÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù. ¿ì¸®°¡ ±¸ÇöÇÒ ³×Æ®¿öÅ©ÀÇ ÇÊ¿ä»çÇ×(requirement)Àº µÎ °³ÀÇ ³ëµå(³ëµå ¡®0¡¯°ú ¡®1¡¯)°¡ ÀÖ°í ±× ³ëµå »çÀÌ¿¡´Â µàÇ÷º½º(duplex)·Î ¿¬°áµÈ ¸µÅ©°¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù.
±×¸®°í µ¥ÀÌÅÍ´Â UDP(User Defined Protocol, »ç¿ëÀÚ°¡ µ¥ÀÌÅÍ Àü¼Û Å©±â¸¦ Á¤ÇÒ ¼ö ÀÖ´Â ÇÁ·ÎÅäÄÝ)¸¦ »ç¿ëÇÏ¿© º¸³»Áö¸ç CBR(Constant Bit Rate, µ¥ÀÌÅÍ Àü¼ÛÀÇ È帧À» Ç×»ó ÀÏÁ¤ÇÑ ºñÀ²·Î ÇÏ´Â °Í)À» »ç¿ëÇÏ¿© 5ÃÊ µ¿¾È µ¥ÀÌÅ͸¦ º¸³»¾ß ÇÕ´Ï´Ù. ±×¸®°í ¸¶Áö¸·¿¡ NAMÀ» È£ÃâÇÏ¿© ¿ì¸®ÀÇ ½Ç½À ³×Æ®¿öÅ© ÅäÆú·ÎÁö¸¦ ´«À¸·Î º¼ ¼ö ÀÖ°í ½Ã¹Ä·¹À̼ÇÇϵµ·Ï ÇÕ´Ï´Ù. ±×·³ ³ëµå¸¦ »ý¼ºÇÏ´Â °ÍºÎÅÍ ½ÃÀÛÇØ º¸°Ú½À´Ï´Ù.
³ëµå »ý¼º°ú ¿¬°á
NS-2¿¡¼µµ ³×Æ®¿öÅ©´Â ³ëµå¿Í ¸µÅ©·Î ÀÌ·ç¾îÁø´Ù. ³ëµå¿Í ¸µÅ©¿¡ ÆÐŶ µ¥ÀÌÅ͸¦ º¸³»±â À§Çؼ´Â NS°¡ ½ÃÀ۵Ǵ ½Ã°£, µ¥ÀÌÅ͸¦ º¸³»±â ½ÃÀÛÇÏ´Â ½Ã°£, µ¥ÀÌÅ͸¦ Àü¼Û ¸¶Áö¸· ½Ã°£ µîÀÇ ½Ã°£¿¡ ´ëÇÑ ÀüüÀûÀÎ À̺¥Æ®ÀÇ ½ºÄÉÁìÀ» ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù.
½ÃÀÛ ¿ÀºêÁ§Æ® »ý¼º -> set ns [new Simulator]
NS ½ÃÀÛ ½Ã°£ ¼³Á¤ -> $ns at <time> <event>
NS ½ÃÀÛ -> $ns run
³ëµå¸¦ ¸¸µé±â À§Çؼ´Â ¡®set¡¯À̶ó´Â ¸í·É¾î¸¦ »ç¿ëÇÕ´Ï´Ù.
set n0 [$ns node]
set n1 [$ns node]
°¢°¢ ¡®n0¡¯¿Í ¡®n1¡¯À» ÁöÁ¤ÇÏ°í µÎ °³ÀÇ ³ëµå ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇß½À´Ï´Ù. NAM¿¡¼ ³×Æ®¿öÅ© È帧À» º¸±â ÁÁ°Ô ³ªÅ¸³»±â À§Çؼ µ¥ÀÌÅÍ Ç÷ο쿡 »öÀ» Áý¾î³Ö±âµµ Çϴµ¥ ¹æ¹ýÀº ´ÙÀ½°ú °°½À´Ï´Ù. »öÀº °ËÁ¤, »¡°, ÆÄ¶û, ¹Ù´Ù³ì»ö µîÀÌ ÀÖ½À´Ï´Ù.
$n0 color
»ý¼ºµÈ ³ëµå¸¦ ¸µÅ©·Î ¿¬°áÇÏ´Â µ¥¿¡´Â ´Ü ¹æÇâ Àü¼Û(simplex)°ú ¾ç ¹æÇâ Àü¼Û(duplex)ÀÌ ÀÖ½À´Ï´Ù. °¢°¢Àº ´ÙÀ½°ú °°ÀÌ ¼³Á¤µË´Ï´Ù.
A Simplex link(´Ü ¹æÇâ) -> $ns simplex-link $n0 $n1
<bandwidth><delay> <queue_type>
A duplex link(¾ç ¹æÇâ) -> $ns duplex-link $n0 $n1
<bandwidth> <delay> <queue_type>
¹êµåÀ§½º¿Í µô·¹ÀÌ´Â °¢°¢ 1Mb¿Í 10ms·Î ¼³Á¤ÇßÀ¸¸ç Áö³ È£¿¡ ¼³¸íÇß´ø Å¥´Â ¸ÕÀú µé¾î¿Â µ¥ÀÌÅͰ¡ ¸ÕÀú 󸮵Ǵ FIFO(First In First Out)À¸·Î ¼³Á¤ÇϰڽÀ´Ï´Ù. À̿ܿ¡µµ RED(Random Early Detection), Drop Tail, FQ(Fair Queuing) µîÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
Agent¿Í ¾ÖÇø®ÄÉÀ̼Ç
NS-2·Î »ý¼ºµÈ ³ëµå ¿ÀºêÁ§Æ®´Â 2°³ÀÇ Å¬·¡½º¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅÍ Æ®·¡ÇÈ(traffic)À» »ý¼ºÇÕ´Ï´Ù. ±×°ÍÀº the class Agent and the class ApplicationÀÔ´Ï´Ù. °¢°¢ÀÇ ³ëµå´Â µ¥ÀÌÅ͸¦ Àü¼ÛÇÏ°í ¼ö½ÅÇÏ´Â ±â´ÉÀÌ ÇÊ¿äÇѵ¥ ÀÌ·¯ÇÑ ÀÏÀ» ÇÏ´Â °ÍÀÌ AgentÀÔ´Ï´Ù. ¶ÇÇÑ Agent À§¿¡ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¼öÇàÇÏ°Ô µÇ´Â °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀº ±¸ÇöµÉ ³×Æ®¿öÅ©¿¡¼ µ¥ÀÌÅÍ Æ®·¡ÇÈÀÇ Á¾·ù¸¦ °áÁ¤ÇÏ°Ô µË´Ï´Ù. NS-2¿¡´Â UDP¿Í TCPÀÇ µÎ °¡Áö Agent°¡ ÀÖ½À´Ï´Ù.
UDP
set udp0 [new Agent/UDP]
set null [new Agent/NULL]
$ns attach-agent $n0 $udp0 # udp Agent¸¦ ³ëµå n0¿¡ ºÙÀÔ´Ï´Ù.
$ns attach-agent $n1 $null
$ns connect $udp $null # 2°³ÀÇ Agent¸¦ ¿¬°áÇÕ´Ï´Ù.
ÀÌ ÄÚµå´Â UDP Agent¸¦ ¸¸µé¾î¼ n0 ³ëµå¿¡ ºÙÀ̰í Null Agent¸¦ ¸¸µé¾î¼ µ¥ÀÌÅͰ¡ ³ëµå n1¿¡ ºÙ¿©¼ ¹°ÀÌ ³ôÀº °÷¿¡¼ ³·Àº °÷À¸·Î È帣µíÀÌ µ¥ÀÌÅ͸¦ È帣°Ô ¸¸µé¾î ÁÝ´Ï´Ù.
TCP
set tcp [new Agent/TCP]
set tcp_sink [new Agent/TCPSink]
$ns attach-agent $n0 $tcp # tcp Agent¸¦ ³ëµå n0¿¡ ºÙÀÔ´Ï´Ù.
$ns attach-agent $n1 $tcp_sink
$ns connect $tcp $tcp_sink # 2°³ÀÇ Agent¸¦ ¿¬°áÇÕ´Ï´Ù.
ÀÌ TCP ÄÚµå´Â TCP Agent¸¦ ¿ì¼± »ý¼ºÇÏ¿© ³ëµå, n0¿¡ ºÙÀ̰í n1Àº TCPSink agent·Î ¼³Á¤ÇÑ ÈÄ µ¥ÀÌÅͰ¡ n0¿¡¼ n1·Î Æ®·¡ÇÈÀÌ Àü¼ÛµÉ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù. NS-2¿¡¼´Â TCP, TCP/Reno, TCP/Vegas, TCP/Sack1, TCP/Fack, TCPSink µîÀÇ ´Ù¾çÇÑ TCP ŸÀÔÀÌ ÁöÁ¤µÉ ¼ö ÀÖ½À´Ï´Ù.
NS-2¿¡´Â µ¥ÀÌÅ͸¦ Àü¼ÛÇÏ´Â ¹æ¹ý¿¡ µû¶ó ´Ù¸¥ 4°³ÀÇ Æ®·¡ÇÈ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ÀÖ½À´Ï´Ù. °¡Àå ½±°Ô »ç¿ëµÇ´Â, Ç×»ó ÀÏÁ¤ÇÑ ºñÀ²·Î µ¥ÀÌÅ͸¦ Àü¼ÛÇÑ´Ù´Â ÀǹÌÀÇ CBR(Constant Bit Rate)À» »ìÆìº¸°Ú½À´Ï´Ù. Agent¸¦ »ý¼ºÇÑ ÈÄ ÆÄ¶ó¹ÌÅ͵éÀ» »ç¿ëÇÏ¿© »õ·Î¿î ¿ÀºêÁ§Æ®¸¦ Çϳª ¸¸µì´Ï´Ù(´ÙÀ½ÀÇ °æ¿ì, my_cbr). ±×¸®°í ´Ù½Ã agent¿¡ ¿¬°áÇÏ¿© ¾ÖÇø®ÄÉÀ̼ÇÀ» ¿Ï¼ºÇÕ´Ï´Ù. ¿Ï¼ºµÈ ¾ÖÇø®ÄÉÀ̼ÇÀº ½Ã°£ÀÇ º¯¼ö¿Í ÇÔ²² ½ÇÁúÀûÀÎ µ¥ÀÌÅÍ Àü¼Û ½Ã°£À» °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
set my_cbr [new Application/Traffic/CBR]
$my_cbr attach-agent $udp
$ns at <time> $my_cbr start
°áÁ¤ÀÎÀÚ
start : ȯ°æ º¯¼ö¿¡ ±âÁØÇØ ÆÐŶµéÀ» º¸³»±â ½ÃÀÛÇÏ´Â ½Ã°£À» °áÁ¤
stop : ÆÐŶ Àü¼ÛÀ» Áß´Ü
PacketSize_ : ÀÏÁ¤ÇÏ°Ô »ý¼ºµÇ´Â ÆÐŶµéÀÇ Å©±â¸¦ °áÁ¤ÇÏ´Â ÀÎÀÚ
rate_ : Àü¼Û ºñÀ²À» °áÁ¤ÇÏ´Â ÀÎÀÚ
interval_ : Àü¼ÛµÈ µÎ°³ÀÇ ÆÐŶ°£ÀÇ ½Ã°£
maxpkts_ : Àü¼ÛÇÏ´Â ÃÖ´ë ÆÐŶ ¼ö
°áÁ¤ÀÎÀÚ´Â NS-2°¡ ¼ÒÇÁÆ®¿þ¾î ½Ã¹Ä·¹À̼ÇÀ̱⠶§¹®¿¡ ¸Å¿ì ½ÅÁßÇÏ°í ¼öÇÐÀûÀ¸·Î °è»êÇØ¾ß ÇÕ´Ï´Ù. ÀûÀýÇÑ ÆÐŶũ±â ÁöÁ¤°ú Àü¼Û ºñÀ², ÀÎÅ͹ú ¼³Á¤Àº ´Ù¾çÇϰí Á¤È®ÇÑ ÀÀ¿ëÀ» °¡´ÉÇÏ°Ô ÇØÁÝ´Ï´Ù.
Æ®·¹À̽Ì
Æ®·¹À̽Ì(Tracing)Àº ½Ã¹Ä·¹À̼ÇÀ» ÅëÇØ¼ »ý¼ºµÈ µ¥ÀÌÅÍÀÇ ·Î±×¸¦ ÀúÀåÇÏ¿© ºÐ¼®ÇÒ ¼ö ÀÖµµ·Ï ÇØÁÝ´Ï´Ù. Æ®·¹À̽̿¡´Â ÆÐŶÀÇ Àü¼Û ½ÃÀÛ ½Ã°£, µµÂø ½Ã°£, Àü¼Û ½ÇÆÐ ÆÐŶÀÇ ¼ö¿Í Àü¼Û·ÎÀÇ »óÅ µîÀ» µ¿ÀûÀ¸·Î ±â·ÏÇϰí ÀÖ½À´Ï´Ù.
¡¡set trace_file [open out.tr w]
¡¡$ns trace-all $trace_file
¡¡$ns flush-trace
¡¡close $trace_file
¼º°øÀûÀÎ ÄÄÆÄÀÏ ÈÄ¿¡´Â out.trÀ̶ó´Â trace ÆÄÀÏÀÌ »ý¼ºµÇ¾î ´ÙÀ½°ú °°Àº µ¥ÀÌÅ͸¦ ÀúÀåÇÏ°Ô µË´Ï´Ù. ù ¹øÂ° Ä÷³ÀÇ ¡®+¡¯´Â Å¥¿¡ µé¾î¿À´Â °úÁ¤, ¡®-¡¯´Â Å¥¿¡¼ ³ª°¡´Â ½Ã°£, ¡®r¡¯Àº À̺¥Æ®°¡ »ý¼ºµÇ´Â ½Ã°£, ¡®d¡¯´Â Àü¼Û¹ÞÀº ÆÐŶÀ» Å¥¿¡¼ µå·ÓÇÑ ½Ã°£À» ±â·ÏÇÕ´Ï´Ù. 11°³ÀÇ °¢°¢ÀÇ Ä÷³¿¡ °üÇÑ ³»¿ëÀº <Ç¥ 1>°ú °°½À´Ï´Ù.
+ 1.84375 0 2 cbr 210 ------- 0 0.0 3.1 225 610
- 1.84375 0 2 cbr 210 ------- 0 0.0 3.1 225 610
r 1.84471 2 1 cbr 210 ------- 1 3.0 1.0 195 600
d 1.84566 2 0 ack 40 ------- 2 3.2 0.1 82 602
 | <Ç¥ 1> .tr ÆÄÀÏÀÇ µ¥ÀÌÅÍ Ä÷³ Á¾·ù ¼³¸íÇϱâ |  | |  | |
| | 1 | Operation performed in the simulation | | 2 | Simulation time of event occurrence | | 3 | Node 1 of what is being traced | | 4 | Node 2 of what is being traced | | 5 | Packet type | | 6 | Packet size | | 7 | Flags | | 8 | IP flow identifier | | 9 | Packet source node address | | 10 | Packet destination node address | | 11 | Sequence number | | | | | |
| |
<ȸé 4>Àº ÀÌ»óÀÇ ³»¿ëÀ» Çϳª¿¡ ¹¾î hello-ns.tcl ÆÄÀÏ·Î ÀúÀåÇϰí ÇÁ·ÒÇÁÆ® »óÅ¿¡¼ ns hello-ns.tclÀ̶ó°í ½ÇÇàÇÑ ÈÄ¿¡ ³ªÅ¸³ out.nam ȸéÀÔ´Ï´Ù. ÄÄÆÄÀÏÀÌ ¼º°øÀûÀ¸·Î ¼öÇàµÇ¸é ÀÚµ¿À¸·Î out.tr ÆÄÀϰú out.nam ÆÄÀÏÀÌ »ý¼ºµË´Ï´Ù. ÀÌÁ¦ µ¶ÀÚµéÀº óÀ½À¸·Î ¸¸µç ½Ã°¢ÀûÀÎ ³×Æ®¿öÅ©¸¦ ´Ù¾çÇÑ ±â´É۸¦ »ó¿ëÇØ¼ Áñ°Ü º¼ ¼ö ÀÖ½À´Ï´Ù. ÀÚÀ¯·Ó°Ô ¿©·¯ °¡Áö ±â´É°ú ÀÎÀÚµéÀ» ¹Ù²Ù¾î °¡¸é¼ ´Ù½Ã ÄÄÆÄÀÏÇÏ°í °á°ú¸¦ ½ÇÇà½ÃÄѺ¸¸é Á» ´õ ½±°Ô NS-NAMÀ» ÀÌÇØÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ±×¸®°í ¼¼ °³, ³× °³ÀÇ ³ëµå·Î È®´ëÇØ¼ ´õ ¸¹Àº °æÇèÀ» ½×¾Æº¸±â ¹Ù¶ø´Ï´Ù.
 |
| <ȸé 4> µÎ °³ÀÇ ³ëµå¿Í µàÇ÷º½º ¿¬°á |
| <¸®½ºÆ® 1> hello-ns.tclÀÇ ¼Ò½º | | | |
#------------------------------------------------------
# ÇÁ·Î±×·¥ ½ÃÀÛ
# ½Ã¹Ä·¹À̼ÇÀÇ Àüü »óÀ§ ·¹º§ÀÇ ¿ÀºêÁ§Æ® ¼³Á¤
set ns [new Simulator]
# nf(network flow) ¿ÀºêÁ§Æ® ¼³Á¤ ÈÄ NAMÀÌ »ç¿ë ÇÒ ¼ö ÀÖµµ·Ï ¼³Á¤
set nf [open out.nam w]
$ns namtrace-all $nf
# ½Ã¹Ä·¹À̼ÇÀÇ Á¾·á ÇÁ·Î½ÃÁ®(Procedure) ¼³Á¤
proc finish {} {
global ns nf
$ns flush-trace
# Á¾·á½Ã trace È帧À» ´Ý´Â´Ù.
close $nf
# network flow¸¦ ÀúÀåÇϰí ÀÖ´Â out.nam ÆÄÀÏÀ» »ç¿ëÇÏ¿© NAMÀ» ½ÇÇà
exec nam out.nam &
exit 0
}
#------------------------------------------------------
# ³ëµå »ý¼ºÇϱâ
set n0 [$ns node]
set n1 [$ns node]
# µàÇ÷º½º ¸µÅ©¸¦ ¼³Á¤ÇÏ°í ¹êµåÀ§½º, µô·¹ÀÌ, Å¥ ŸÀÔÀ» ¼³Á¤
$ns duplex-link $n0 $n1 1Mb 10ms FIFO
# UDP agent¸¦ »ý¼ºÇÏ°í ³ëµå n0¿¡ ºÙÀδÙ.
set udp0 [new Agent/UDP]
$ns attach-agent $n0 $udp0
# CBR Æ®·¡ÇÈÀ» »ý¼ºÇÏ°í ½ÃÀÛ ³ëµå¿¡ ºÙÀδÙ.
set cbr0 [new Application/Traffic/CBR]
$cbr0 set packetSize_ 500
$cbr0 set interval_ 0.1
$cbr0 attach-agent $udp0
# Null agent¸¦ »ý¼ºÇÏ°í ¸ñÀû ³ëµå n1¿¡ ºÙÀδÙ.
set null0 [new Agent/Null]
$ns attach-agent $n1 $null0
# ½ÃÀÛ ³ëµå¿Í ¸ñÀû ³ëµå¸¦ ¿¬°áÇÑ´Ù.
$ns connect $udp0 $null0
# ÆÐŶ Àü¼Û ½Ã°£°ú Á¾·á ½Ã°£À» ¼³Á¤
$ns at 0.5 "$cbr0 start"
$ns at 4.5 "$cbr0 stop"
# NS Àüü ½Ã¹Ä·¹ÀÌ¼Ç ½Ã°£ 5ÃÊ ÈÄ, finish ÇÁ·Î½ÃÁ®¸¦ È£ÃâÇÏ¿© ½Ã¹Ä·¹À̼ÇÀ» Á¾·á
time
$ns at 5.0 "finish"
# Run the simulation
$ns run
| |
 |
10³â ÀüÀ» ¶°¿Ã¸®¸ç
NS-NAMÀº ´Ü¼øÇÑ À¯¼±»óÀÇ ¿¬°á À̿ܿ¡µµ ¹«¼± ³×Æ®¿öÅ©¿Í ´Ü¸»ÀÇ À̵¿ ±×¸®°í À¯´Ïij½ºÆÃ°ú ¸ÖƼij½ºÆÃ µîÀÇ ±¸ÇöÀÌ °¡´ÉÇÕ´Ï´Ù. Âü°í·Î ÇÊÀÚ´Â Áö³ 2004³â ÃÊ IEEE 802.16/eÀÇ ´Ü¸» À̵¿½Ã È¿°úÀûÀÎ µ¥ÀÌÅÍ Àü¼ÛÀ» À§ÇÑ ÀÎÁõ´Ü°è¸¦ ÃÖ¼ÒÈ¿¡ ´ëÇÑ ÁÖÁ¦·Î NS-2¸¦ ÀÌ¿ëÇÏ¿© ½Ã¹Ä·¹À̼ÇÀ» ÇÑ ÀûÀÌ ÀÖ½À´Ï´Ù.
³×Æ®¿öÅ© µðÀÚÀ̳ʵéÀÌ °¡»ó ½ÇÇè ȯ°æ ¼Ó¿¡¼ ½ÇÁ¦¿Í ÃÖ´ëÇÑÀ¸·Î À¯»çÇÑ ³×Æ®¿öÅ© ±¸ÇöÀ» ÇØ ³ª°¥ ¼ö ÀÖ´Ù¸é È¿À² ³ôÀº ³×Æ®¿öÅ© ±¸ÇöÀ» ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. NS-NAM¿¡ °üÇÑ ÂªÀº ¿¬Àç¿´Áö¸¸ ¾ÕÀ¸·Î ¸¹Àº °ü½ÉÀ» °®°í NS-NAMÀ» »ç¿ëÇϰí ÁöÄѺ»´Ù¸é ³×Æ®¿öÅ©¸¦ ÇâÇÑ ¿©·¯ºÐÀÇ ¸ñÇ¥¿¡ ²À ÇÊ¿äÇÑ ÅøÀÌ µÉ °ÍÀÔ´Ï´Ù. ¿©·¯ºÐÀÇ Âü°í¸¦ À§ÇÏ¿© Âü°íÀÚ·á¿¡ ¸î °³ÀÇ NS-NAM °ü·Ã »çÀÌÆ®¸¦ Ãß°¡ÇÕ´Ï´Ù.
³×Æ®¿öÅ©´Â ³ëµå¿Í ³ëµå¸¦ ÀÕ°í µ¥ÀÌÅ͸¦ È帣°Ô ÇÏ´Â °ÍÀ» ¸»ÇÕ´Ï´Ù. »õÇØºÎÅÍ ½ÃÀÛÇÑ ¼¼ ¹øÀÇ ¿¬Àç°¡ µ¶ÀÚµéÀÇ È£±â½ÉÀ» ¾ó¸¶³ª ¸¸Á·½ÃÄ×´ÂÁö ±Ã±ÝÇÕ´Ï´Ù.
¿¬À縦 ÇÏ¸é¼ 10³â Àü ±º´ë¸¦ Á¦´ëÇϰí ÄÄÇ»ÅÍ °øºÎ¸¦ ´Ù½Ã ½ÃÀÛÇÏ¸ç ¸¶¼Ò¸¦ Àâ¾Ò´ø ±â¾ïÀ» µÇ»õ°Ü ºÃ½À´Ï´Ù. 10³â Àü¸¸ ÇØµµ »õ·Î¿î ±â¼ú°ú ¸ð¸£´Â ¿ë¾îµéÀ» º¸¸ç ½º½º·Î¿¡ ´ëÇÑ ½Ç¸Á°ú ½Å±â¼ú¿¡ ´ëÇÑ ¾î·Á¿òÀ¸·Î °ÆÁ¤ÀÇ ³¯µéÀ» º¸³»±âµµ Çß¾ú½À´Ï´Ù.
ÀÌ ±ÛÀ» Àо µ¶ÀÚ°¡ ¸¶¼ÒÀÇ ÁÖ´Ï¾î ¼½¼ÇÀ» º¸¾Ò´ø ÇÊÀÚÀÇ ½ÃÀý°ú ºñ½ÁÇÏ´Ù »ý°¢ÇÏ°í °¨È÷ ÇѸ»¾¸µå¸®¸é, ³×Æ®¿öÅ©´Â ²À ÄÄÇ»ÅÍ¿Í ÄÄÇ»Å͸¦ ÀÕ´Â °Í¸¸À» ¸»ÇÏÁö ¾Ê½À´Ï´Ù. ¼¼»óÀ¸·Î ³ª¿Í ³ëµå¸¦ ã°í Á¤ÀÇÇÏ°í °¢°¢ÀÇ °ü°è¿¡ ¸Â´Â ȯ°æ ÀÎÀÚ¸¦ ¼³Á¤ÇÏ¿© µ¥ÀÌÅ͸¦ Àü¼ÛÇÏ°í °¡Ä¡¸¦ »ý¼ºÇÏ´Â ÀÏÀÌ ¹Ù·Î ³×Æ®¿öÅ© µðÀÚÀ̳ʶó´Â ¸»À» ¸¶Áö¸·À¸·Î ³ª´©°í ½Í½À´Ï´Ù.@
* ÀÌ ±â»ç´Â ZDNet KoreaÀÇ Á¦ÈÞ¸ÅüÀÎ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î¿¡ °ÔÀçµÈ ³»¿ëÀÔ´Ï´Ù.