{"id":2013,"date":"2007-09-02T23:35:03","date_gmt":"2007-09-02T14:35:03","guid":{"rendered":"http:\/\/pchero21.com\/?p=2013"},"modified":"2007-09-02T23:35:03","modified_gmt":"2007-09-02T14:35:03","slug":"implementing-a-new-manet-unicast-routing-protocol-in-ns2-version-0-2-%eb%b2%88%ec%97%ad%ed%8c%90-4","status":"publish","type":"post","link":"http:\/\/pchero21.com\/?p=2013","title":{"rendered":"Implementing a New Manet Unicast Routing Protocol in NS2 Version 0.2 \ubc88\uc5ed\ud310-4"},"content":{"rendered":"<p><strong>7 \ub808\uc774\uc5b4-2 \ud504\ub85c\ud1a0\ucf5c\ub4e4\ub85c\ubd80\ud130 \uc815\ubcf4\ub97c \ubc1b\uae30<\/strong><\/p>\n<p>\uba87 \uac1c\uc758 \ub77c\uc6b0\ud305 \ud504\ub85c\ud1a0\ucf5c\ub4e4\uc740 \ud328\ud0b7\uc774 \ub808\uc774\uc5b4-2\ub85c\ubd80\ud130 \ubcf4\ub0b4\uc9c8 \uc218 \uc5c6\uc744 \ub54c \ubc18\uc751\uc5d0 \ud765\ubbf8\uac00 \uc788\uc744 \uac83\uc774\ub2e4. \uc774\uac83\uc740 \uc6b0\ub9ac\uac00 \uc544\ub798\uc5d0 \uc124\uba85\ud55c \uac83\ucc98\ub7fc, \uc6b0\ub9ac\uc758 \ub77c\uc6b0\ud305 \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574\uc11c \uc27d\uac8c \ub2ec\uc131\ub420 \uc218 \uc788\ub2e4.<\/p>\n<p>\uadf8\uac83\uc740 \uc5b4\ub5bb\uac8c \uc791\ub3d9\ud558\ub294\uac00? \ud328\ud0b7\uc758 \uacf5\ud1b5\uc758 \ud5e4\ub354\ub294 \uadf8 \ud328\ud0b7\uc774 \uadf8 \ub808\uc774\uc5b4-2 \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574\uc11c \ubcf4\ub0b4\uc9c8 \uc218 \uc5c6\ub2e4\uba74 \ud638\ucd9c\ub420 \uac83\uc778 \ud568\uc218\ub97c \ub124\uac00 \uba85\uc2dc\ud560 \uc218 \uc788\ub294 \ud544\ub4dc\ub97c \uac00\uc9c4\ub2e4. \uadf8 \ud568\uc218\ub97c <em>protoname_mac_failed_callback()<\/em>\uc774\ub77c \ubd80\ub974\uc790. \uc6b0\ub9ac\ub294 \uadf8\ub7f0 \ub808\uc774\uc5b4-2 \uc2e4\ud328\uc5d0 \ub300\ud574 \ubc18\uc751\uc744 \ub2f4\ub2f9\ud558\ub294 \uc5ed\ud560\uc744 \ud558\ub294 \ub77c\uc6b0\ud305 \uc5d0\uc774\uc804\ud2b8 \ub0b4\uc5d0 \ub610 \ub2e4\ub978 \uac83\uc744 \ud638\ucd9c\ud558\ub294 \uc774\ub7f0 \ud568\uc218\ub97c \uc0ac\uc6a9\ud560 \uac83\uc774\ub2e4. \uc6b0\ub9ac\ub294 \uc774\ub7f0 \ub450 \ubc88\uc9f8 \ud568\uc218\ub97c <em>mac_failed()<\/em>\ub85c \ubd80\ub97c \uac83\uc774\ub2e4. \uadf8\ub798\uc11c \uc6b0\ub9ac\ub294 <em>protoname\/protoname.h<\/em>\uc758 \uc904 9\ub9cc \ub2e8\uc9c0 \ubcc0\uacbd\ud574\uc57c \ud55c\ub2e4<\/p>\n<p>protoname\/protoname.h<\/p>\n<p>1: class Protoname : public Agent {<\/p>\n<p>2: \/* &#8230; *\/<\/p>\n<p>3:<\/p>\n<p>4: public:<\/p>\n<p>5:<\/p>\n<p>6: Protoname(nsaddr_t);<\/p>\n<p>7: int command(int, const char*const*);<\/p>\n<p>8: void recv(Packet*, Handler*);<\/p>\n<p>9: void mac_failed(Packet*);<\/p>\n<p>10: };<\/p>\n<p>11: #endif<\/p>\n<p>\uadf8 <em>protoname\/protoname.cc<\/em> \ud30c\uc77c\uc740 \ub354 \ub9ce\uc740 \ubcc0\ud654\ub4e4\uc744 \uc694\uad6c\ud55c\ub2e4. \ubb34\uc5c7\ubcf4\ub2e4\ub3c4 \uc6b0\ub9ac\ub294 \uacf5\ud1b5\uc758 \ud5e4\ub354 \uc548\ucabd\uc5d0 \ub4f1\ub85d\ub418\ub294 \uadf8 \ud568\uc218\ub97c \uad6c\ud604\ud574\uc57c \ud55c\ub2e4. \uadf8 \ud568\uc218\ub294 <strong>Protoname<\/strong> \ud074\ub798\uc2a4\uc758 <em>mac_failed()<\/em> \ud568\uc218\ub85c \ub2e8\uc21c\ud788 \ud638\ucd9c\ud560 \uac83\uc774\ub2e4. \ub108\ub294 \uc544\ub798\uc5d0 \uad6c\ud604\uc744 \ubcfc \uc218 \uc788\ub2e4.<\/p>\n<p>protoname\/protoname.cc<\/p>\n<p>1: static void<\/p>\n<p>2: protoname_mac_failed_callback(Packet *p, void *arg) {<\/p>\n<p>3: ((Protoname*)arg)-&gt;mac_failed(p);<\/p>\n<p>4: }<\/p>\n<p><em>mac_failed()<\/em>\uc5d0 \uc758\ud574\uc11c \uad6c\ud604\ub41c \uae30\ub2a5\uc131\uc740 <em>protoname<\/em> \uaddc\uaca9\uc5d0 \ub9e4\uc6b0 \uc758\uc874\ud55c\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \ucf54\ub4dc\uc758 \ub2e4\uc74c \uc870\uac01\uc740 \ub514\ubc84\uadf8 \uba54\uc2dc\uc9c0\ub97c \ud504\ub9b0\ud2b8\ud558\uace0 (\uc904 6-9) \ud328\ud0b7\uc744 \ubc84\ub9b0\ub2e4. (\uc904 11)<\/p>\n<p>protoname\/protoname.cc<\/p>\n<p>1: void<\/p>\n<p>2: Protoname::mac_failed(Packet* p) {<\/p>\n<p>3: struct hdr_ip* ih = HDR_IP(p);<\/p>\n<p>4: struct hdr_cmn* ch = HDR_CMN(p);<\/p>\n<p>5:<\/p>\n<p>6: debug(&#8220;%f: Node %d MAC layer cannot send a packet to node %dn&#8221;,<\/p>\n<p>7: CURRENT_TIME,<\/p>\n<p>8: ra_addr(),<\/p>\n<p>9: ch-&gt;next_hop());<\/p>\n<p>10:<\/p>\n<p>11: drop(p, DROP_RTR_MAC_CALLBACK);<\/p>\n<p>12:<\/p>\n<p>13: \/* &#8230; do something &#8230; *\/<\/p>\n<p>14: }<\/p>\n<p>\ub9cc\uc57d \uc6b0\ub9ac\uac00 \ub77c\uc6b0\ud305 \ud328\ud0b7\uc774 \ub808\uc774\uc5b4-2 \ud504\ub85c\ud1a0\ucf5c\ub4e4\uc5d0 \uc758\ud574\uc11c \ubcf4\ub0b4\uc9c0\uc9c0 \uc54a\uc744 \ub54c\ub97c \uc54c\uae30 \uc6d0\ud55c\ub2e4\uba74 \uc6b0\ub9ac\ub294 <em>send_protoname_pkt()<\/em>\ub97c \ubcc0\uacbd\ud560 \ud544\uc694\uac00 \uc788\ub2e4. \uc720\uc0ac\ud558\uac8c \ub9cc\uc57d \uc6b0\ub9ac\uac00 \ub370\uc774\ud130 \ud328\ud0b7\ub4e4\uc5d0 \uc8fc\uc758\ud558\uae30\ub97c \uc6d0\ud55c\ub2e4\uba74 <em>forward_data()<\/em>\ub294 \uac00\ubccd\uac8c \ub9c8\ucc2c\uac00\uc9c0\ub85c \ubcc0\uacbd\ub418\uc5b4\uc57c \ud55c\ub2e4. \uc591\ucabd\uc758 \uacbd\uc6b0\ub4e4\uc5d0\uc11c \uc6b0\ub9ac\ub294 \uadf8 \ud328\ud0b7\uc758 \uacf5\ud1b5\uc758 \ud5e4\ub354\ub97c \uc5c5\ub370\uc774\ud2b8\ud560 \ub54c \ub2e4\uc74c\uc758 \ub450 \uac1c\uc758 \uc904\ub4e4\uc744 \ub2e8\uc9c0 \ub354\ud574\uc57c \ud55c\ub2e4.<\/p>\n<p>protoname\/protoname.cc<\/p>\n<p>1: ch-&gt;xmit_failure_ = protoname_mac_failed_callback;<\/p>\n<p>2: ch-&gt;xmit_failure_data_ = (void*)this;<\/p>\n<p><em>protoname_mac_failed_callback()<\/em>\uc740 \ubb34\uc2a8 \uacbd\uc6b0\ub4e4\uc5d0\uc11c \ud638\ucd9c\ub420 \uac83\uc778\uac00? NS-2.27\uc5d0\uc11c \uc6b0\ub9ac\ub294 \ub450 \uac1c\uc758 \ub2e4\ub978 \uc0c1\ud669\ub4e4\uc744 \uc124\ub9bd\ud560 \uc218 \uc788\ub2e4.<\/p>\n<p><strong>mac\/arp.cc<\/strong> \ub178\ub4dc\uac00 \ubaa9\uc801\uc9c0 \uc8fc\uc18c\ub97c (ARP\ub97c \ud1b5\ud574\uc11c) \uacb0\uc815\ud558\uae30\ub97c \uc6d0\ud558\uc9c0\ub9cc \uc7ac\uc2dc\ub3c4\ub4e4\uc758 \ucd5c\ub300 \uc22b\uc790\uac00 \ucd08\uacfc\ub420 \ub54c<\/p>\n<p><strong>mac\/mac-802_11.cc<\/strong> \ub450 \uac1c\uc758 \uac00\ub2a5\uc131\ub4e4\uc774 \uc788\ub2e4. \uccab \ubc88\uc9f8 \uac83\uc740 RTS\uac00 \ubcf4\ub0b4\uc84c\uc9c0\ub9cc \ub300\uc751\ud558\ub294 CTS\uac00 \ubc1b\uc544\ub4e4\uc5ec\uc9c0\uc9c0 \uc54a\uc558\uace0 \uc7ac\uc2dc\ub3c4\uc758 \ucd5c\ub300 \uc22b\uc790\uac00 \ucd08\uacfc\ub420 \ub54c \uc77c\uc5b4\ub0a0 \uc218 \uc788\ub2e4. \ub450 \ubc88\uc9f8 \uac83\uc740 \ub370\uc774\ud130 \ud328\ud0b7\uc774 \uc804\ub2ec\ub418\uc5c8\uc9c0\ub9cc \uc808\ub300 ACK\ub97c \ubc1b\uc9c0 \ubabb\ud588\uace0 (\ubc1b\uc544\ub4e4\uc5ec\uc9c4 ACK\uac00 \uc5c6\ub2e4) \uc7ac\uc2dc\ub3c4\ub4e4\uc758 \ucd5c\ub300 \uc22b\uc790\uac00 \ucd08\uacfc\ub420 \ub54c \ubc1c\uc0dd\ud55c\ub2e4.<\/p>\n<p><strong>8 \uc720\uc120\uc774-\ubd99\uc740-\ubb34\uc120 \ud658\uacbd\ub4e4\uc744 \uc704\ud55c \uc9c0\uc6d0<\/strong><\/p>\n<p>\uc774\uc81c\uae4c\uc9c0 \uc6b0\ub9ac\ub294 \ud3c9\ud3c9\ud55c manet\ub4e4, \uc989, \ubb34\uc120-\uc720\uc77c\ud55c \uc2dc\ub098\ub9ac\uc624\ub4e4\uc5d0 \ub300\ud574\uc11c\ub9cc \uad00\ub828\uc774 \uc788\uc5c8\ub2e4. \uc774\ubc88 \uc808\uc5d0\uc11c \uc6b0\ub9ac\ub294 \ud558\uc774\ube0c\ub9ac\ub4dc manet\ub4e4 (NS2 \uc6a9\uc5b4\ub97c \ub530\ub974\uba74, \uc720\uc120\uc774-\ubd99\uc740-\ubb34\uc120 \uc2dc\ub098\ub9ac\uc624\ub4e4)\uc744 \ub2e4\ub8e8\uae30 \uc704\ud55c \uae30\ubcf8\uc801\uc778 \uac1c\ub150\ub4e4\uc744 \uc18c\uac1c\ud560 \uac83\uc774\ub2e4. \uc720\uc120\uc774-\ubd99\uc740-\ubb34\uc120 \uc2a4\ud06c\ub9bd\ud2b8\ub4e4\uc740 \uacc4\uce35\uc801\uc778 \uc8fc\uc18c\ub97c \uc0ac\uc6a9\ud560 \ud544\uc694\uac00 \uc788\uace0, \uadf8\ub798\uc11c \ub108\ub294 \uc8fc\uc18c\uc758 \uc774\ub7f0 \uc720\ud615\uc5d0\uc11c \ud544\uc694\ud55c \uc9c0\uc2dd\uc744 \uc5bb\uae30 \uc704\ud574\uc11c 15\uc7a5\uacfc 29\uc7a5 [2]\uc744 \uc77d\uc5b4\uc57c \ud55c\ub2e4.<\/p>\n<p>\ucd5c\uc18c\uc758 \ubcc0\ud654\ub4e4\uacfc \ud568\uaed8 \uc6b0\ub9ac\ub294 \uc720\uc120\uc774-\ubd99\uc740-\ubb34\uc120 \uc2dc\ubbac\ub808\uc774\uc158\ub4e4\uc5d0\uc11c \uc6b0\ub9ac\uc758 \ud504\ub85c\ud1a0\ucf5c\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4. \uc774\ub7f0 \uac83\ub4e4\uc5d0\uc11c\ub294 \uace0\uc815\ub41c \ub178\ub4dc\ub4e4, \ubb34\uc120 \ub178\ub4dc\ub4e4 \uadf8\ub9ac\uace0 \ubca0\uc774\uc2a4 \uc2a4\ud14c\uc774\uc158\ub4e4\uc774 \uc788\ub2e4. \ubca0\uc774\uc2a4 \uc2a4\ud14c\uc774\uc158\uc740 \uc720\uc120\uacfc \ubb34\uc120 \ub3c4\uba54\uc778\ub4e4 \uc0ac\uc774\uc5d0 \uac8c\uc774\ud2b8\uc6e8\uc774\uc774\uace0, \ubaa8\ub4e0 \ubb34\uc120 \ub178\ub4dc\ub294 \uc790\uc2e0\uc774 \uc5b4\ub290 \ubca0\uc774\uc2a4 \uc2a4\ud14c\uc774\uc158\uc5d0 \uacb0\ud569\ub418\ub294\uc9c0\ub97c \uc54c \ud544\uc694\uac00 \uc788\ub2e4. \uc6b0\ub9ac\uac00 \uc720\uc120\uc774-\ubd99\uc740-\ubb34\uc120 \uc9c0\uc6d0\uc744 \uc81c\uacf5\ud558\uae30 \uc704\ud574\uc11c \uc2e4\ud589\ud560 \ud544\uc694\uac00 \uc788\ub294 \ubaa8\ub4e0 \uac83\uc740 \uac01\uac01\uc758 \ub178\ub4dc\ub97c \uc704\ud574 \uc77c\uce58\ud558\ub294 \ubca0\uc774\uc2a4 \uc2a4\ud14c\uc774\uc158\uc744 \uc124\uc815\ud558\ub294 \uac83\uc774\ub2e4.<\/p>\n<p>\uc720\uc120\uc774-\ubd99\uc740-\ubb34\uc120 \uc2dc\ub098\ub9ac\uc624\ub4e4\uc744 \uae30\uc220\ud558\ub294 \uc2dc\ubbac\ub808\uc774\uc158 \uc2a4\ud06c\ub9bd\ud2b8\ub4e4\uc740 \uac01\uac01\uc758 \ubaa8\ubc14\uc77c \ub178\ub4dc\uc5d0\uc11c \uc2dc\uac04\uc801\uc73c\ub85c \uc55e\uc120 \ub3d9\uc791\uc744 \uc218\ud589\ud558\ub294\ub370, \uc989, \ubaa8\ub4e0 \ubaa8\ubc14\uc77c \ub178\ub4dc\ub294 \ubca0\uc774\uc2a4 \uc2a4\ud14c\uc774\uc158 (<strong>\ub178\ub4dc API<\/strong>\uc758 <em>\ubca0\uc774\uc2a4-\uc2a4\ud14c\uc774\uc158<\/em> \ud568\uc218)\uc5d0 \ubd80\ucc29\ub41c\ub2e4. \uadf8\ub7ec\ub098 \uc6b0\ub9ac\ub294 \uc5ec\ub7ec \uac1c\uc758 \ubca0\uc774\uc2a4 \uc2a4\ud14c\uc774\uc158\ub4e4\uc774 \uc0ac\uc6a9\ub418\ub294 \uc2dc\ub098\ub9ac\uc624\ub4e4\uc5d0 \uad00\uc2ec\uc774 \uc788\uace0, \uc6b0\ub9ac\ub294 \ubaa8\ubc14\uc77c \ub178\ub4dc\ub4e4\uc774 \uadf8\ub4e4\uc758 \uacb0\ud569\ub41c \ubca0\uc774\uc2a4 \uc2a4\ud14c\uc774\uc158\ub4e4\uc744 \ub3d9\uc801\uc73c\ub85c \ubc14\uafb8\uae30\ub97c \uc6d0\ud55c\ub2e4\ub294 \uac83\uc744 \uc0c1\uc0c1\ud574\ub77c. \uc6b0\ub9ac\uac00 \ub2e4\uc218\uc758 \ubca0\uc774\uc2a4 \uc2a4\ud14c\uc774\uc158\ub4e4\uc774 \ud5c8\ub77d\ub418\ub294 \ud558\uc774\ube0c\ub9ac\ub4dc ad hoc \ub124\ud2b8\uc6cc\ud06c\ub4e4\uc744 \uc9c0\uc6d0\ud558\ub294 \ub77c\uc6b0\ud305 \ud504\ub85c\ud1a0\ucf5c\uc744 \ucf54\ub4dc\ud558\uae30\ub97c \uc6d0\ud55c\ub2e4\uba74 \uc774\uac83\uc740 \uc720\uc6a9\ud558\ub2e4. \ub9cc\uc57d \uc774\uac83\uc774 \ub108\uc758 \uacbd\uc6b0\ub77c\uba74, \uadf8 \uc808\uc744 \uacc4\uc18d\ud574\uc11c \uc77d\uc5b4\ub77c.<\/p>\n<p>\ub2e4\uc74c\uc758 \ucf54\ub4dc\uc5d0\uc11c \ubcf4\uc5ec\uc9c0\ub294 \uac83\ucc98\ub7fc <em>protoname\/protoname.h<\/em>\ub97c \ub2e4\uc2dc \ud3b8\uc9d1\ud558\uc790. \uc904\ub4e4 1\uacfc 11\uc740 \ub354\ud574\uc9c0\uace0, \ubc18\uba74\uc5d0 \ub098\uba38\uc9c0\ub294 \ubcc0\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n<p>protoname\/protoname.h<\/p>\n<p>1: #include &lt;mobilenode.h&gt;<\/p>\n<p>2:<\/p>\n<p>3: \/* &#8230; *\/<\/p>\n<p>4:<\/p>\n<p>5: class Protoname : public Agent {<\/p>\n<p>6:<\/p>\n<p>7: \/* &#8230; *\/<\/p>\n<p>8:<\/p>\n<p>9: protected:<\/p>\n<p>10:<\/p>\n<p>11: MobileNode* node_;<\/p>\n<p>12:<\/p>\n<p>13: \/* &#8230; *\/<\/p>\n<p>14: };<\/p>\n<p>\uc6b0\ub9ac\ub294 \ub77c\uc6b0\ud305 \uc5d0\uc774\uc804\ud2b8\uac00 \ubd80\ucc29\ub418\ub294 \ub178\ub4dc\ub97c \uc758\ubbf8\ud558\ub294 (<em>common\/mobilenode.h<\/em>\uc5d0\uc11c \uc815\uc758\ub41c) <strong>\ubaa8\ubc14\uc77c\ub178\ub4dc<\/strong> \uc624\ube0c\uc81d\ud2b8\uc5d0 \ub300\ud55c \ucc38\uc870\ub97c \ub354\ud588\ub2e4. \uc774\ub7f0 \ucc38\uc870\ub97c \uc5bb\uae30 \uc704\ud574\uc11c \uc6b0\ub9ac\ub294 <strong>Protoname<\/strong> \uac74\uc124\uc790 \uc548\ucabd\uc5d0 \ub2e4\uc74c\uc758 \uc904 4\ub97c \ub354\ud560 \ud544\uc694\uac00 \uc788\ub2e4.<\/p>\n<p>protoname\/protoname.cc<\/p>\n<p>1: Protoname::Protoname(nsaddr_t id) : Agent(PT_PROTONAME), pkt_timer_(this) {<\/p>\n<p>2: bind_bool(&#8220;accessible_var_&#8221;, &amp;accessible_var_);<\/p>\n<p>3: ra_addr_ = id;<\/p>\n<p>4: node_ = (MobileNode*)Node::get_node_by_address(id);<\/p>\n<p>5: }<\/p>\n<p><strong>\ubaa8\ubc14\uc77c\ub178\ub4dc<\/strong> \ud074\ub798\uc2a4\ub294 \uc6b0\ub9ac\uac00 \uad00\uc2ec\uc774 \uc788\ub294 \ub450 \uac1c\uc758 \ud568\uc218\ub4e4\uc744 \uc18c\uc720\ud55c\ub2e4. \uc6b0\uc120 \uccab\uc9f8\ub85c \ubaa8\ubc14\uc77c \ub178\ub4dc\uac00 \ubd80\ucc29\ub418\ub294 \ubca0\uc774\uc2a4 \uc2a4\ud14c\uc774\uc158\uc758 \uc2dd\ubcc4\uc790\ub97c \ub418\ub3cc\ub824\uc8fc\ub294, <em>base_stn()<\/em>\uc774\ub2e4. \ub450 \ubc88\uc9f8\ub294 \uadf8 \ubaa8\ubc14\uc77c \ub178\ub4dc\ub97c \uc704\ud55c \uc801\ud569\ud55c \ubca0\uc774\uc2a4 \uc2a4\ud14c\uc774\uc158\uc744 \uc124\ub9bd\ud560 \uc218 \uc788\ub294 <em>set_base_stn()<\/em>\uc774\ub2e4. \uadf8\ub798\uc11c \uc6b0\ub9ac\ub294 \uc720\uc120\uc774-\ubd99\uc740-\ubb34\uc120 \uc2dc\ubbac\ub808\uc774\uc158\ub4e4\uc744 \uc774\ub7f0 \ub450 \uac1c\uc758 \ud568\uc218\ub4e4\uc744 \uc0ac\uc6a9\ud568\uc73c\ub85c\uc368 \ub2e4\ub8f0 \uc218 \uc788\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \ub2e4\uc74c\uc758 \ucf54\ub4dc\ub294 \uadf8 \ubaa8\ubc14\uc77c \ub178\ub4dc \uc790\uccb4\uac00 \ubca0\uc774\uc2a4 \uc2a4\ud14c\uc774\uc158\uc778\uc9c0\ub97c \uccb4\ud06c\ud558\uace0; \ub9cc\uc57d \uc544\ub2c8\ub77c\uba74 \uadf8\ub54c \uadf8\uac83\uc740 \ubca0\uc774\uc2a4 \uc2a4\ud14c\uc774\uc158\uc744 \ud560\ub2f9 \ubc1b\ub294\ub2e4.<\/p>\n<p>protoname\/protoname.cc<\/p>\n<p>1: if (node_-&gt;base_stn() == ra_addr()) {<\/p>\n<p>2: \/\/ I\u2019m a base station<\/p>\n<p>3: \/* &#8230; *\/<\/p>\n<p>4: }<\/p>\n<p>5: else {<\/p>\n<p>6: \/\/ I\u2019m not a base station<\/p>\n<p>7: node_-&gt;set_base_stn(base_stn_addr);<\/p>\n<p>8: }<\/p>\n<p>\uc55e\uc758 \uc608\uc81c\ub294 \uacb0\ud569\ub41c \ubca0\uc774\uc2a4 \uc2a4\ud14c\uc774\uc158\uc744 \ub3d9\uc801\uc73c\ub85c \ubc14\uafb8\ub294 \ubc95\uc744 \ubcf4\uc5ec\uc900\ub2e4. \uc774\ub7f0 \ubc14\uafc8\ub4e4\uc744 \uc218\ud589\ud558\uae30 \uc704\ud574\uc11c \uc0ac\uc6a9\ub418\ub294 \uc811\uadfc\ub4e4\uc740 \ud504\ub85c\ud1a0\ucf5c \uc790\uccb4\uc5d0 \uc758\uc874\ud55c\ub2e4.<\/p>\n<p><strong>\ucc38\uc870<\/strong><\/p>\n<p>[1] Marc Greis. Tutorial for the Network Simulator \u201dns\u201d.<\/p>\n<p>http:\/\/www.isi.edu\/nsnam\/ns\/tutorial\/index.html.<\/p>\n<p>[2] The VINT Project. The ns Manual, December 2003.<\/p>\n<p>http:\/\/www.isi.edu\/nsnam\/ns\/ns-documentation.html.<\/p>\n<hr size=\"1\" \/><a href=\"http:\/\/blog.naver.com\/PostUpdateForm.nhn?blogId=gunjunk&amp;cpage=1&amp;scode=0&amp;logNo=150019139296#_ftnref1\" target=\"_blank\">[1]<\/a> \uc774\uac83\uc740 manet \ub77c\uc6b0\ud305 \ud504\ub85c\ud1a0\ucf5c\ub4e4\uc5d0\uc11c \uc77c\ubc18\uc801\uc778 \ud2b9\uc9d5\uc774\uc9c0\ub9cc, \uadf8\ub7ec\ub098 \uc2e4\uc81c \ubaa9\uc801\uc740 \ub79c\ub364 \uc22b\uc790\ub4e4\uc744 \uc5bb\ub294 \uc608\uc81c\ub97c \uc81c\uacf5\ud558\ub294 \uac83\uc774\ub2e4.<\/p>\n<p><a href=\"http:\/\/blog.naver.com\/PostUpdateForm.nhn?blogId=gunjunk&amp;cpage=1&amp;scode=0&amp;logNo=150019139296#_ftnref2\" target=\"_blank\">[2]<\/a> \uc2e4\uc81c \uc774\uac83\uc740 \uc0ac\uc2e4\uc774 \uc544\ub2c8\ub2e4. \uc0ac\uc2e4 \ub370\uc774\ud130 \ud328\ud0b7\ub4e4\uc740 \uc790\uc2e0\ub4e4\uc758 \uc77c\uce58\ud558\ub294 \uc5d0\uc774\uc804\ud2b8\uc5d0\uac8c \uc9c1\uc811 \ubc30\ub2ec\ub418\uace0, \uadf8\ub798\uc11c \ud3ec\ud2b8 \ubd84\ub958\uc790\ub294 \uc6b0\ub9ac\uc758 \ub77c\uc6b0\ud305 \uc5d0\uc774\uc804\ud2b8\uc5d0\uc11c \ud544\uc694\ud558\uc9c0 \uc54a\ub2e4. \uadf8\ub7ec\ub098 \uc6b0\ub9ac\ub294 \uc774\ub7f0 \uc124\uba85\uc744 \uc720\uc9c0\ud558\ub294\ub370 \uc65c\ub0d0\ud558\uba74 NS-2.27\uc740 \ub77c\uc6b0\ud305 \uc5d0\uc774\uc804\ud2b8\uac00 \uc790\uc2e0\uc758 API\uc758 \ubd80\ubd84\uc73c\ub85c\uc368 <em>port-dmux<\/em> \ub3d9\uc791 (4.3.2\uc808\uc744 \ubcf4\ub77c)\uc744 \ubc1b\uc544\ub4e4\uc774\ub294 \uac83\uc744 \uc694\uad6c\ud558\uae30 \ub54c\ubb38\uc774\ub2e4.<\/p>\n<p><a href=\"http:\/\/blog.naver.com\/PostUpdateForm.nhn?blogId=gunjunk&amp;cpage=1&amp;scode=0&amp;logNo=150019139296#_ftnref3\" target=\"_blank\">[3]<\/a> IP \ud5e4\ub354\uc5d0 \ub530\ub77c\uc11c \ud328\ud0b7\uc758 Time To Live<\/p>\n","protected":false},"excerpt":{"rendered":"<p>7 \ub808\uc774\uc5b4-2 \ud504\ub85c\ud1a0\ucf5c\ub4e4\ub85c\ubd80\ud130 \uc815\ubcf4\ub97c \ubc1b\uae30 \uba87 \uac1c\uc758 \ub77c\uc6b0\ud305 \ud504\ub85c\ud1a0\ucf5c\ub4e4\uc740 \ud328\ud0b7\uc774 \ub808\uc774\uc5b4-2\ub85c\ubd80\ud130 \ubcf4\ub0b4\uc9c8 \uc218 \uc5c6\uc744 \ub54c \ubc18\uc751\uc5d0 \ud765\ubbf8\uac00 \uc788\uc744 \uac83\uc774\ub2e4. \uc774\uac83\uc740 \uc6b0\ub9ac\uac00 \uc544\ub798\uc5d0 \uc124\uba85\ud55c \uac83\ucc98\ub7fc, \uc6b0\ub9ac\uc758 \ub77c\uc6b0\ud305 \uc5d0\uc774\uc804\ud2b8\uc5d0 \uc758\ud574\uc11c \uc27d\uac8c \ub2ec\uc131\ub420 \uc218 \uc788\ub2e4. \uadf8\uac83\uc740 \uc5b4\ub5bb\uac8c \uc791\ub3d9\ud558\ub294\uac00? \ud328\ud0b7\uc758 \uacf5\ud1b5\uc758 \ud5e4\ub354\ub294 \uadf8 \ud328\ud0b7\uc774 &hellip; <a href=\"http:\/\/pchero21.com\/?p=2013\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[30],"tags":[],"_links":{"self":[{"href":"http:\/\/pchero21.com\/index.php?rest_route=\/wp\/v2\/posts\/2013"}],"collection":[{"href":"http:\/\/pchero21.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/pchero21.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/pchero21.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/pchero21.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2013"}],"version-history":[{"count":0,"href":"http:\/\/pchero21.com\/index.php?rest_route=\/wp\/v2\/posts\/2013\/revisions"}],"wp:attachment":[{"href":"http:\/\/pchero21.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2013"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/pchero21.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2013"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/pchero21.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}