Re: [ns] Does anyone in this forum has detailed knowledge about the NS2source code?
A design decision like this can be accepted if it was supported by proper documentation, which is absolutely not the case for ns-2. IMHO, the biggest problem of ns-2 is lack of proper documentation. At least, there has to be two documents: a user's guide, and a developer's guide. ns manual is, again, a mixture of both that, in its current state, does not serve the purpose of any! I understand it is a work-in-progress, but it doesn't have a consistent format for different sections. The level of detail ranges across a wide spectrum in various sections. A user's guide has to worry about writing oTcl simulation scripts that only uses the simulator to run simulation scenarios. At least half of the problems discussed in the list can be avoided by having such a document. A developer's guide should present the simulator's architecture, and describe the design of individual modules. Moreover, it should clarify how to go about implementing new modules for every layer in the networking stack. The maintainers' requirements for including new modules in the distribution is a good move, if they were met more often! I'm very much interested in producing a more accessible documentation suite for ns-2. Such a great tool has much greater potential than it is credited for, only if it had proper documentation. To take a positive action, I'm willing to spend some time helping the dream of good ns-2 documentation happen. If anyone else is interested, please let's do something about it. PS. the #ns-2 IRC channel on irc.freenode.net could be a good place for such discussions! Regards, - Ahmad Khayyat Bo Wang wrote: > Hi, > > IMHO, the mixture of C++ and oTcl is the most annoying feature of NS > which makes it really hard to understand the code. > > Best, > Bo Wang > > > On 5/31/06, Ahmad Khayyat <[EMAIL PROTECTED]> wrote: > >> Just a tiny hint.. >> >> When you trace the code, don't forget that ns-2 is a mixture of C++ and >> oTcl. Much of the object passing is done through oTcl. >> >> Faisal Siddiqui wrote: >> >>> Hi Paul, >>> >>> Thanks for the link. >>> >>> I totally agree with you. I have spent so much time trying to understand >>> >> as >> >>> to how does the simulation flows through the source code, but can't >>> >> really >> >>> make any headways anymore. I am trying to implement a new control flow >>> mechanism where no packet are dropped, but in order to do so I have read >>> >> the >> >>> queue size of the next hop so that the current node can decide whether >>> >> to >> >>> accept any more packets from other nodes or flag its exception >>> >> indicatiing >> >>> to all other nodes feeding into it to stop sending more packets to it. I >>> >> am >> >>> really stuck right now because I can't locate where in the source code >>> >> does >> >>> the current node find its next hop address and how does it find that >>> >> out. I >> >>> have bunch of more questions like how does the node and agents are >>> >> located >> >>> to each other because nodes don't store any information regarding agents >>> >> or >> >>> classifiers within them and vice-versa. >>> >>> I am still waiting if someone could lend some insight into it. Please >>> >> let me >> >>> know if you have any comments or if you find any help. >>> >>> Thanks, >>> - Faisal >>> >>> >>> On 5/21/06, Paul Vincent Craven <[EMAIL PROTECTED]> wrote: >>> >>> The proper link is: http://www.grid.unina.it/~vollero/resources/doc_ns2.27/html/index.html But the documentation there is limited at best. I'm in the same boat as you. I've spent a very long time trying to understand the passing of events around, how to switch between classifiers, etc. I'd love to find someone who really knows NS2 and >> hire >> them as a consultant for a few hours just to answer all my questions! Paul Vincent Craven [EMAIL PROTECTED]
[ns] Routing overhead of manet routing protocol (DSR)
Hi all, Could anyone tell me how to calculate routing overhead of DSR? How about the header size of RTR ( DSR ) and MAC (802.11) ? " s 18.741626845 _1_ AGT --- 681 cbr 10 [0 0 0 0] --- [1:0 0:0 32 0] [679] 0 0 r 18.741626845 _1_ RTR --- 681 cbr 10 [0 0 0 0] --- [1:0 0:0 32 0] [679] 0 0 SFs 18.741626845 _1_ 681 [1 -> 0] 1(0) to 0 s 18.741626845 _1_ RTR --- 681 cbr 30 [0 0 0 0] --- [1:0 0:0 32 0] [679] 0 0 s 18.742061845 _1_ MAC --- 681 cbr 82 [13a 0 1 800] --- [1:0 0:0 32 0][679] 0 0 r 18.742296093 _0_ MAC --- 681 cbr 30 [13a 0 1 800] --- [1:0 0:0 32 0] [679] 1 0 s 18.742306093 _0_ MAC --- 0 ACK 38 [0 1 0 0] r 18.742321093 _0_ RTR --- 681 cbr 30 [13a 0 1 800] --- [1:0 0:0 32 0] [679] 1 0 r 18.742321093 _0_ AGT --- 681 cbr 10 [13a 0 1 800] --- [1:0 0:0 32 0] [679] 1 0 r 18.742610160 _1_ MAC --- 0 ACK 38 [0 1 0 0] " According to the output trace file, the rtr layer header is 30-10=20 bytes (how the header size got, is it the DSR routing header?),and the mac layer header is 82-30=52bytes(PHY +MAC header). But why it transmit 82 bytes only receive 30 bytes? How much is the biggest header size of DSR routing protocol using in RTR layer because I find the value of the playload in RTR is variable, not always 20bytes? I uesed the CBR / UDP, the packet size is 10 bytes. (if need consider the IP/UDP/RTP header, the packet size should add 40 bytes ?) Regards, HuiYao
[ns] RES: packet size TCP
OK, I don't need remove the headers. But I didn't understand L3 header and L4 header. What's that? AODV / DSDV: 1060 bytes. (TCP 1000 + IP 20 + "??") DSR: 1040 bytes. (TCP 1000 + "??") Can you help me? Virginia. -Mensagem original- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de John Kioussis Enviada em: quarta-feira, 31 de maio de 2006 18:24 Para: ns-users Assunto: Re: [ns] packet size TCP Hi Virginia, In ns-2 the default packet size is 1000 bytes. In AODV and DSDV the default MTU is 1060 because of the L4 header (20 bytes) and L3 headers (IP 20 bytes and AODV[DSDV] another 20 bytes). In DSR there is no IP header, that's why the packet size is 1040. In TCP, if you want to change the packet size to X bytes you should use $tcpsource set segsize_ [ X - headers' size] if you want to keep the headers ( check for the other instance variables of TCP agents in ns manual). If you need to remove some or all of the headers, see ns manual page 117. vthoma wrote: >Hello, > >I'm using FTP with TCP, and would like know the packet size. > >In the my simulations, I'm using three types routing protocols. (AODV, >DSDV and DSR). Are the size packets differents? With AODV and DSDV the packet size is 1060. And DSR the packet size is 1040. Why occurs that? > >Regards. > >Virginia. > > > > >
[ns] RES: MANET > Error! just by changing AODV to DSR!
Hi, You need change this parameter: "set opt(ifq) Queue/DropTail/PriQueue". Change to "set opt(ifq) CMUPriQueue" Virginia. -Mensagem original- De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Em nome de S. Alex Nixad Enviada em: quarta-feira, 31 de maio de 2006 13:01 Para: NS-List Assunto: [ns] MANET > Error! just by changing AODV to DSR! Hi everyone, I'm simulating a ad hoc network with 50 random mobile nodes ... and 15 random CBR traffic ... The simulation is successful under AODV protocol; but when I just define DSR routing protocol for same network, it FAILS with following ERROR: Segmentation fault Kind regards, Alex Nixad
Re: [ns] MANET > Error! just by changing AODV to DSR!
Hi, In this case, you need to use a debugger such as gdb to find out where is the problem. Best, Bo Wang On 5/31/06, S. Alex Nixad <[EMAIL PROTECTED]> wrote: > > > Hi everyone, > I'm simulating a ad hoc network with 50 random mobile nodes ... and 15 > random CBR traffic ... > The simulation is successful under AODV protocol; > but when I just define DSR routing protocol for same network, it FAILS > with following ERROR: > Segmentation fault > Kind regards, > Alex Nixad >
Re: [ns] Does anyone in this forum has detailed knowledge about the NS2source code?
Hi, IMHO, the mixture of C++ and oTcl is the most annoying feature of NS which makes it really hard to understand the code. Best, Bo Wang On 5/31/06, Ahmad Khayyat <[EMAIL PROTECTED]> wrote: > > > Just a tiny hint.. > > When you trace the code, don't forget that ns-2 is a mixture of C++ and > oTcl. Much of the object passing is done through oTcl. > > Faisal Siddiqui wrote: > > Hi Paul, > > > > Thanks for the link. > > > > I totally agree with you. I have spent so much time trying to understand > as > > to how does the simulation flows through the source code, but can't > really > > make any headways anymore. I am trying to implement a new control flow > > mechanism where no packet are dropped, but in order to do so I have read > the > > queue size of the next hop so that the current node can decide whether > to > > accept any more packets from other nodes or flag its exception > indicatiing > > to all other nodes feeding into it to stop sending more packets to it. I > am > > really stuck right now because I can't locate where in the source code > does > > the current node find its next hop address and how does it find that > out. I > > have bunch of more questions like how does the node and agents are > located > > to each other because nodes don't store any information regarding agents > or > > classifiers within them and vice-versa. > > > > I am still waiting if someone could lend some insight into it. Please > let me > > know if you have any comments or if you find any help. > > > > Thanks, > > - Faisal > > > > > > On 5/21/06, Paul Vincent Craven <[EMAIL PROTECTED]> wrote: > > > >> The proper link is: > >> http://www.grid.unina.it/~vollero/resources/doc_ns2.27/html/index.html > >> > >> But the documentation there is limited at best. > >> > >> I'm in the same boat as you. I've spent a very long time trying to > >> understand the passing of events around, how to switch between > >> classifiers, etc. I'd love to find someone who really knows NS2 and > hire > >> them as a consultant for a few hours just to answer all my questions! > >> > >> Paul Vincent Craven > >> [EMAIL PROTECTED] > >> > >> > >> >
[ns] IEEE 802.11 MAC implementation in NS2
Hi, all, The following "Bug Fix" http://www.dei.unipd.it/wdyn/?IDsezione=2435 pointed out that " The *send* procedure begins with the 'send' method of the class 'Mac802_11' in 'mac-802_11.cc' file. First, *send* checks whether the medium is idle and no previous backoff procedure is pending. If the response is true, *send* calls the internal DeferTimer procedure, which should simulate the random backoff stage described by the IEEE 802.11 standard. Notice that, despite what dictated by the standard concerning the backoff stage the internal DeferTimer procedure DOES NOT freeze the timer contdown if the channel becomes busy, since the channel sensing procedure is not considered. For this reason, in the following we will refer to this backoff procedure as PSEUDO BACKOFF." However, this bug fix does not aim to solve this PSEUDO BACKOFF problem. My question is that if the backoff procedure does not freeze the timer countdown which is a big deviation from the standard, can we still use NS2 to do wireless simulation? It seems that a lot of research papers use NS2. Is the timer countdown freezing properly implemented in real wireless products? I would like to hear your opinion on this issue. Thank you very much! Best, Bo Wang
Re: [ns] packet size TCP
Hi Virginia, In ns-2 the default packet size is 1000 bytes. In AODV and DSDV the default MTU is 1060 because of the L4 header (20 bytes) and L3 headers (IP 20 bytes and AODV[DSDV] another 20 bytes). In DSR there is no IP header, that's why the packet size is 1040. In TCP, if you want to change the packet size to X bytes you should use $tcpsource set segsize_ [ X - headers' size] if you want to keep the headers ( check for the other instance variables of TCP agents in ns manual). If you need to remove some or all of the headers, see ns manual page 117. vthoma wrote: >Hello, > >I'm using FTP with TCP, and would like know the packet size. > >In the my simulations, I'm using three types routing protocols. (AODV, DSDV >and DSR). Are the size packets >differents? With AODV and DSDV the packet size is 1060. And DSR the packet >size is 1040. Why occurs that? > >Regards. > >Virginia. > > > > >
[ns] ns-2.29.3 built successfully on Core Duo and Cygwin
Sven, Ethan thank you. I managed to build ns2 from package ns-2.29.3, but it did compile only when I tried to install it from an X client. nam compiled fine.Everything is OK now!!! Thank you!
[ns] how to model two state markov chain in ns2
Hi !!! Can somebody please tell how to model a two markov chain in ns2? Regards. Armelle. _ Windows Live Mail : venez tester la version bêta ! http://www.ideas.live.com/programpage.aspx?versionId=5d21c51a-b161-4314-9b0e-4911fb2b2e6d
Re: [ns] How to specify "wait" in ns2
You may want to consider using a timer.. Heo Heo wrote: > I am working on improving AODV, and I need to specify "wait" in ns2, > something like: > > - When the routing packets (RREQ) arrive, just store it into a buffer > and do not send out anything. > > - Wait for a period of X miliseconds. After that, look into the > buffer and select the routing packet that satisfy some conditions and send > it out. > > I don't know how to do that "wait for X miliseconds". > > Thanks a lot for any help. > > > > - > Feel free to call! Free PC-to-PC calls. Low rates on PC-to-Phone. Get Yahoo! > Messenger with Voice >
Re: [ns] Does anyone in this forum has detailed knowledge about the NS2source code?
Just a tiny hint.. When you trace the code, don't forget that ns-2 is a mixture of C++ and oTcl. Much of the object passing is done through oTcl. Faisal Siddiqui wrote: > Hi Paul, > > Thanks for the link. > > I totally agree with you. I have spent so much time trying to understand as > to how does the simulation flows through the source code, but can't really > make any headways anymore. I am trying to implement a new control flow > mechanism where no packet are dropped, but in order to do so I have read the > queue size of the next hop so that the current node can decide whether to > accept any more packets from other nodes or flag its exception indicatiing > to all other nodes feeding into it to stop sending more packets to it. I am > really stuck right now because I can't locate where in the source code does > the current node find its next hop address and how does it find that out. I > have bunch of more questions like how does the node and agents are located > to each other because nodes don't store any information regarding agents or > classifiers within them and vice-versa. > > I am still waiting if someone could lend some insight into it. Please let me > know if you have any comments or if you find any help. > > Thanks, > - Faisal > > > On 5/21/06, Paul Vincent Craven <[EMAIL PROTECTED]> wrote: > >> The proper link is: >> http://www.grid.unina.it/~vollero/resources/doc_ns2.27/html/index.html >> >> But the documentation there is limited at best. >> >> I'm in the same boat as you. I've spent a very long time trying to >> understand the passing of events around, how to switch between >> classifiers, etc. I'd love to find someone who really knows NS2 and hire >> them as a consultant for a few hours just to answer all my questions! >> >> Paul Vincent Craven >> [EMAIL PROTECTED] >> >> >>
[ns] confusion on the timers implementation
Hello Ns-users: I have doubts about the implementation of the timers because there are two forms. In AODV, they use: class HelloTimer : public Handler { public: HelloTimer(AODV* a) : agent(a) {} voidhandle(Event*); private: AODV*agent; Event intr; }; But the Ns2 manual form is: class RTPTimer : public TimerHandler { public: RTPTimer(RTPAgent *a) : TimerHandler() { a_ = a; } protected: virtual void expire(Event *e); RTPAgent *a_; }; I do not know which form is better. Somebody can explain me how work both forms? Thank you. _ Un amor, una aventura, compañía para un viaje. Regístrate gratis en MSN Amor & Amistad. http://match.msn.es/match/mt.cfm?pg=channel&tcid=162349
[ns] Fw: How to install fhcf or afedcf implementation to NS-2? Please help me...
Hello everybody! Can anyone tell me how to install fhcf or afedcf implementation to NS-2? Can anybody help? I tried './make install' command in ns/ns2 directory but it doesn't work. In which directory should I unpack this implementation? Do I need add it to my already installed ns-allinone-2.28 directory? I would be very appreciate for any help! Please give me exact tips (step by step). Also suggest me please which implementation of Ni Qiang to choose. I would my Network Simulator to be able to simulate both edcf and hcf function from 802.11e standard. Thank you in advance!!! Regards! Mateusz -- Poznaj Stefana! Zmien komunikator! >>> http://link.interia.pl/f1924
[ns] MANET > Error! just by changing AODV to DSR!
Hi everyone, I'm simulating a ad hoc network with 50 random mobile nodes ... and 15 random CBR traffic ... The simulation is successful under AODV protocol; but when I just define DSR routing protocol for same network, it FAILS with following ERROR: Segmentation fault Kind regards, Alex Nixad
[ns] packet size TCP
Hello, I'm using FTP with TCP, and would like know the packet size. In the my simulations, I'm using three types routing protocols. (AODV, DSDV and DSR). Are the size packets differents? With AODV and DSDV the packet size is 1060. And DSR the packet size is 1040. Why occurs that? Regards. Virginia.
Re: [ns] ns-2.29.2 installation problem on Intel Core Duo and Cygwin
The allinone 2.29.3 package compiles fine (with the exception of nam) on OS X 10.4.6 running on Intel Core Duo. The 2.29.3 package was a maintenance release announce a few days ago. ~Ethan On May 31, 2006, at 8:14 AM, Sven Ehlert wrote: > > Dear John > > John Kioussis wrote: >> Hi, >> I had a problem while trying to build ns-2 from package >> ns-allinone-2.29.2 on an Intel Core Duo processor and Cygwin. The >> following error >> appears while building tcl8.4.11 : > > Unfortunately we don't have Core Duo Machines available here, so don't > have experience in this area. > > >> />>checking for sin...7 [main] ? (11612) C:\cygwin\bin >> \gcc.exe : *** >> fatal error - couldn't allocsize 65536, page_const 4096 8 [main] gcc 11068 child_copy: stack write copy failed, 0x22EB90.. 0x23, done 0 , windows pid 2288324, Win32 error 5 yes checking for main in -lieee... no checking for main in -linet... no checking for net/errno.h... no checking for connect... yes checking for gethostbyname... yes checking how to build libraries... static checking for ranlib... ranlib checking if 64bit support is requested... no checking if 64bit Sparc VIS support is requested... no *checking system version (for dynamic loading)... ./configure: line >> 7624: syntax error near unexpected token ')' ./configure: line 7624: ' OSF*)'* >> tcl8.3.2 configuration failed! Exiting.../ >> >> (why tcl8.3.2) > > This is a typo error - nevermind. > >> I have built successfully ns-allinone-2.29.2 on an Intel Pentium >> III and >> cygwin. I also have tried to >> build tcl ( 8.4.14 and 8.5a4 ) from source, with msys/mingw, but it >> couldn't be built. Should I try linux? If yes, the distribution >> Ubuntu 6.06 Flight 7 would be fine? Is it possible at all to build >> ns2 >> on Intel Core Duo? > > As you've written, there seems a general Tcl problem with Core Duo, > which is out of our hands unfortunately. My guess that you won't have > these problems under Linux, however still without Core Duo experience. > > Kind regards > /Sven Ehlert > > > >> >> Thank you! >> >>
[ns] examples of TORA tcl scripts
Hello everybody! i have written before about the failed TORA simulation, but i haven't found any solution for my problem. Does anyone have an example of a TORA simulation that works? Please, this is essential for my project. Anything would be useful.Thank you in advance! Regards, Alexandra Alexandra Cioroianu - How low will we go? Check out Yahoo! Messengers low PC-to-Phone call rates.
Re: [ns] ns-2.29.2 installation problem on Intel Core Duo and Cygwin
Dear John John Kioussis wrote: > Hi, > I had a problem while trying to build ns-2 from package > ns-allinone-2.29.2 on an Intel Core Duo processor and Cygwin. The > following error > appears while building tcl8.4.11 : Unfortunately we don't have Core Duo Machines available here, so don't have experience in this area. > />>checking for sin...7 [main] ? (11612) C:\cygwin\bin\gcc.exe : *** > fatal > >>error - couldn't allocsize 65536, page_const 4096 > >> 8 [main] gcc 11068 child_copy: stack write copy failed, 0x22EB90.. > >>0x23, done 0 , windows pid 2288324, Win32 error 5 > >>yes > >>checking for main in -lieee... no > >>checking for main in -linet... no > >>checking for net/errno.h... no > >>checking for connect... yes > >>checking for gethostbyname... yes > >>checking how to build libraries... static > >>checking for ranlib... ranlib > >>checking if 64bit support is requested... no > >>checking if 64bit Sparc VIS support is requested... no > >>*checking system version (for dynamic loading)... ./configure: line > 7624: syntax > >>error near unexpected token ')' > >>./configure: line 7624: ' OSF*)'* > tcl8.3.2 configuration failed! Exiting.../ > > (why tcl8.3.2) This is a typo error - nevermind. > I have built successfully ns-allinone-2.29.2 on an Intel Pentium III and > cygwin. I also have tried to > build tcl ( 8.4.14 and 8.5a4 ) from source, with msys/mingw, but it > couldn't be built. Should I try linux? If yes, the distribution > Ubuntu 6.06 Flight 7 would be fine? Is it possible at all to build ns2 > on Intel Core Duo? As you've written, there seems a general Tcl problem with Core Duo, which is out of our hands unfortunately. My guess that you won't have these problems under Linux, however still without Core Duo experience. Kind regards /Sven Ehlert > > Thank you! > >
[ns] ns-2.29.2 installation problem on Intel Core Duo and Cygwin
Hi, I had a problem while trying to build ns-2 from package ns-allinone-2.29.2 on an Intel Core Duo processor and Cygwin. The following error appears while building tcl8.4.11 : />>checking for sin...7 [main] ? (11612) C:\cygwin\bin\gcc.exe : *** fatal >>error - couldn't allocsize 65536, page_const 4096 >> 8 [main] gcc 11068 child_copy: stack write copy failed, 0x22EB90.. >>0x23, done 0 , windows pid 2288324, Win32 error 5 >>yes >>checking for main in -lieee... no >>checking for main in -linet... no >>checking for net/errno.h... no >>checking for connect... yes >>checking for gethostbyname... yes >>checking how to build libraries... static >>checking for ranlib... ranlib >>checking if 64bit support is requested... no >>checking if 64bit Sparc VIS support is requested... no >>*checking system version (for dynamic loading)... ./configure: line 7624: syntax >>error near unexpected token ')' >>./configure: line 7624: ' OSF*)'* tcl8.3.2 configuration failed! Exiting.../ (why tcl8.3.2) I have built successfully ns-allinone-2.29.2 on an Intel Pentium III and cygwin. I also have tried to build tcl ( 8.4.14 and 8.5a4 ) from source, with msys/mingw, but it couldn't be built. Should I try linux? If yes, the distribution Ubuntu 6.06 Flight 7 would be fine? Is it possible at all to build ns2 on Intel Core Duo? Thank you!
[ns] nsaddr_t type and
Hello, I'm implementing a routing protocol for hybrid ad hoc network where each node can change its base station dynamically. However I'd like to ask two questions: 1/ in config.h, we define typedef int32_t nsaddr_t; nsaddr_t is also address of a base station (in node.cc at get_node_by_address we know that's id of a node). In mobilenode.h we have inline void set_base_stn(int addr) { base_stn_ = addr; } So we must set the BS of a node by its address typed int. My question is that if there is a way to convert int into nsaddr_t in NS-2, or we must do a type-casting in C++ ? Because int and int32_t aren't always the same. 2/ In Ros & Ruiz 's tutorial, we can dynamically change BS of a node. Have we to change also the address of a node, as we're using hieraddr ? Thanks in advance, -- Hai-Nam NGUYEN http://www.jcisio.com
[ns] problem when simulating wireless landmark
Hi everybody, I tried to run wireless-landmark.tcl but I get the following error: ns wireless-landmark.tcl invalid command name "Agent/landmark" while executing "Agent/landmark set sport_0" (file "../mobility/landmark.tcl" line 39) invoked from within "source.orig ../mobility/landmark.tcl" ("uplevel" body line 1) invoked from within "uplevel source.orig [list $fileName]" invoked from within "if [$instance_ is_http_url $fileName] { set buffer [$instance_ read_url $fileName] uplevel eval $buffer } else { uplevel source.orig [list $fileName] ..." (procedure "source" line 8) invoked from within "source ../mobility/landmark.tcl" (file "wireless-landmark.tcl" line 199) As I have seen, another person asked about the same problem 3 years ago, but as far as I know, no one answered him at that time. Is there anyone who can help with this issue now? Thank you in advance. Best regards, Steluta __ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com