[ns] DropTail queue-limit calculation
Hi All, Did anyone have a chance to count the number of packets sitting in a drop-tail queue precisely? I have the latest ns v.2.33 and faced the following issue: I was running simple script with the following topology node - router1 router2 - receiver where the link type between routers was set to DropTail and queue limit was set to 16 packets set rout_link [$ns duplex-link $r1 $r2 $bw_rout $delay_rout DropTail] $ns queue-limit $r1 $r2 16 I enabled trace-all' traces and then parsed the output file with the simple awk script. The idea was to see the time-dependent built of the bottleneck queue. As a result the number of packets in a queue never reached its limit of 16 and packets started dropping when queue built was equal to 15 packets instead of 16 as it should be. I took a look at the void DropTail::enque(Packet* p) function which is implemented in the \ns-2.33\queue\drop-tail.cc, file and found that one of the conditions to enable packet drop mechanism is not quite correct (from my viewpoint): if ( + (q_-length() + 1) = qlim_ +) Here q_-length() is the current number of packets sitting in a queue and qlim_ is a queue-limit (which is 16). This explains why the packet-drop started at 15 packets: 15 + 1 is equal to 16 thus a packet is dropped. It can be 'cured' easily by exchanging = with . Link queue is pretty old and one of the basic features in ns. So the question is: Is it a real bug and nobody ever tried to count the number of packets sitting in a queue precisely or it is kinda specific logic of ns queue management? I understand that it is a minor bug but I just wanted to know someone's opinion concerning this issue. Best regards, Dmitry Sinelnikov
[ns] S.OS. Help please
please i realy need your helpi need to add multimedia traffic to NS-2.32 and i do not know how to do.. it's very important to meplease, please,please,please,your help _ Sur Windows Live Ideas, découvrez en exclusivité de nouveaux services en ligne... si nouveaux qu'ils ne sont pas encore sortis officiellement sur le marché ! http://ideas.live.com
[ns] Segmentation fault for more simultaneous CBR traffics in Wireless simulation
Dear all, We are doing wireless static (802.11) chain topology simulation, for determining energy consumption per successful packet received. Actually we face segmentation fault (core dumped) for more than 4 CBR simultaneous active traffics. For 4 or less simultaneous flows it works nicely. In above case, we started the CBR traffics at 10 seconds and stop at 120 seconds. When we changed it to 10 seconds to 25 seconds resp, the (segmentation fault) problem started after 6 simultaneous traffics. We don't understand exactly, what is the problem? Is it some limitation of the ns? We are using: 1 ns 2.30 2 Operating System: Ubuntu 7.10, The output of uname -a is: Linux wsl1 2.6.22-14-generic #1 SMP Tue Feb 12 07:42:25 UTC 2008 i686 GNU/Linux 3 The machine has Intel Core 2 (Duo) processor and 2GB RAM, I've read the FAQ, ns-problems page, and manual and I couldn't find the answer there with regards, Mayur - Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.
[ns] Basic power control 802.11 MAC
Dear all, We want to implement the basic power-control 802.11 MAC protocol, where RTS/CTS and DATA/ACK are transmitted using different power levels. How to select a particular power level for sending a particular type of packet? Mayur - Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.
[ns] ns] Help: to get the speed and the direction of a mobile node NS2
Dear everybody, I'm trying to implement a routing protocole for ad hoc network using ns2, and I need to get the speed and the direction of a mobile node. I used the function getVelo() provided by the class Mobilenode but it seems that I don't know how to do it in an appropriate way. In fact, I thought that getVelo() allows me to get the velocity vector components (vx,vy) and than to get the direction (angle teta) I computed the cos and sin using vx and vy. Could someone please help me I would be really grateful Nadia
Re: [ns] how to define and use disjoint nodes and disjoint linkes for AOMDV
Dear Marcello: In a simple scenario, How can i define disjoint paths or links? should i modify or add makefile.in? Best: Pejman. Chech aomdv.h for this defines: //#define AOMDV_LINK_DISJOINT_PATHS #define AOMDV_NODE_DISJOINT_PATHS They will (disjointly :-) ) enable the features you need. Good work. - Marcello Caleffi Department of Electronic and Telecommunication Engineering University of Naples Federico II 21 Claudio street - 80125 Naples ITALY Tel +39-(0)81-7683810. Fax +39-(0)81-7683149 http://wpage.unina.it/marcello.caleffi/
[ns] Odd queue size increase with 80MB UDP CBR going over a lossy 100Mb wired link
Hi, I have came across an odd issue that has gone against what I thought was normal UDP behaviour. I have set up a network as follows: 12 OO I set up Node 1 to be a UDP source and Node 2 to be a UDP Sink. I then created an 80Mb CBR stream with a packet size of 1472B that would start at time = 0s and end at time = 20s. The link has a bandwidth of 100Mb with a link delay of 0.01ms, and the queue is a DropTail with a queue size of 100,000. Now, when I set up an ErrorModel across link 1-2 of 0.01 the queue size at Node 1 starts to increase, and will keep increasing until it reaches 100,000 (if the scenario was run for a long enough period of time). Why, when UDP has no flow control, is there a queue build up at Node 2? If UDP has no flow control I would expect there to be no queue build up because an 80Mb stream should have no issue going across a 100Mb link! The fact that some of the packets are dropped going across the link shouldn't have an effect on the queue size - or am I mistaken? I have searched Google and through the mail archives and I have been unable to find any mention of this issue anywhere! Your help with this issue would be greatly appreciated. Kind Regards, Chris PS The system I am using is: Fedora Core 5, Kernel 2.6.15-1.2054 NS-2 2.31 The information contained in this E-Mail and any subsequent correspondence is private and is intended solely for the intended recipient(s). The information in this communication may be confidential and/or legally privileged. Nothing in this e-mail is intended to conclude a contract on behalf of QinetiQ or make QinetiQ subject to any other legally binding commitments, unless the e-mail contains an express statement to the contrary or incorporates a formal Purchase Order. For those other than the recipient any disclosure, copying, distribution, or any action taken or omitted to be taken in reliance on such information is prohibited and may be unlawful. Emails and other electronic communication with QinetiQ may be monitored and recorded for business purposes including security, audit and archival purposes. Any response to this email indicates consent to this. Telephone calls to QinetiQ may be monitored or recorded for quality control, security and other business purposes. QinetiQ Limited Registered in England Wales: Company Number:3796233 Registered office: 85 Buckingham Gate, London SW1E 6PD, United Kingdom Trading address: Cody Technology Park, Cody Building, Ively Road, Farnborough, Hampshire, GU14 0LX, United Kingdom http://www.QinetiQ.com/home/legal.html
Re: [ns] ns-2 on Suse 9.3
Hi Simone, please see inline below: [EMAIL PROTECTED] wrote: -- Message: 3 Date: Mon, 14 Apr 2008 13:10:16 +0200 From: FERLIN,Simone [EMAIL PROTECTED] Subject: [ns] Installing ns-2.33 on Suse To: ns-users@ISI.EDU Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=ISO-8859-1 Hi, I am trying to install *ns-2.33 on Suse* distribution and get the following error: /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/X11R6/lib/libXext.so when searching for -lXext /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/X11R6/lib/libXext.a when searching for -lXext /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lXext collect2: ld returned 1 exit status make: *** [ns] Error 1 Ns make failed! would anybody help with it? To me all the 64s seem to indicate, that you try to install ns2 on a 64bit machine. Are you trying this? thanks, sisiferl 4. ns-2 on Suse 9.3 (FERLIN,Simone) -- Message: 4 Date: Tue, 15 Apr 2008 12:50:55 +0200 From: FERLIN,Simone [EMAIL PROTECTED] Subject: [ns] ns-2 on Suse 9.3 To: ns-users@ISI.EDU Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=ISO-8859-1 Hi, I am experiencing some problems during installation of ns-2 on suse 9.3. does anybody could help here? Did you give up on your 64bit machine? I ran ns2 on SuSE 10.2 and had no problems. Please post a more detailed description of your system (32/64 bit, exact version of: Suse, gcc, tcl/tk and so fourth. Have you checked the ns2 wiki on installation help? http://nsnam.isi.edu/nsnam/index.php/Downloading_and_installing_ns-2#Installing_NS2_on_UNIX_Based_System tks, sisiferl -- -- Claus Christmann Graduate Research Assistant Georgia Institute of Technology 270 Ferst Drive Atlanta, GA 30332-0150
Re: [ns] DropTail queue-limit calculation
Thanks for the answer. well, as I said I can print two other values from the drop-tail.cc which are: q_-length() - it contains the number of packets sitting in a drop-tail queue qlim_ - a limit of the queue (which can be set in a TCL script) From these two values I can see that packets start dropping however they didn't reach the queue-limit and one more packet can be enqueued. If I change the condition (q_-length() + 1) = qlim_ to (q_-length() + 1) qlim_ everything seems to be fine. I was just wondering if is a real bug or my misunderstanding of ns-2 logic. Best regards, Dmitry Sinelnikov Wednesday, April 16, 2008, 12:23:40 PM, you wrote: IM try to print this u will be able to see in the aodv.cc code IM print the variable ifqueue-length() IM which will tell the number of packets in the droptail queue... hope this is IM useful for u.. IM Imranullah Mohammed. IM On Wed, Apr 16, 2008 at 1:20 PM, Дмитрий Синельников [EMAIL PROTECTED] IM wrote: Hi All, Did anyone have a chance to count the number of packets sitting in a drop-tail queue precisely? I have the latest ns v.2.33 and faced the following issue: I was running simple script with the following topology node - router1 router2 - receiver where the link type between routers was set to DropTail and queue limit was set to 16 packets set rout_link [$ns duplex-link $r1 $r2 $bw_rout $delay_rout DropTail] $ns queue-limit $r1 $r2 16 I enabled trace-all' traces and then parsed the output file with the simple awk script. The idea was to see the time-dependent built of the bottleneck queue. As a result the number of packets in a queue never reached its limit of 16 and packets started dropping when queue built was equal to 15 packets instead of 16 as it should be. I took a look at the void DropTail::enque(Packet* p) function which is implemented in the \ns-2.33\queue\drop-tail.cc, file and found that one of the conditions to enable packet drop mechanism is not quite correct (from my viewpoint): if ( + (q_-length() + 1) = qlim_ +) Here q_-length() is the current number of packets sitting in a queue and qlim_ is a queue-limit (which is 16). This explains why the packet-drop started at 15 packets: 15 + 1 is equal to 16 thus a packet is dropped. It can be 'cured' easily by exchanging = with . Link queue is pretty old and one of the basic features in ns. So the question is: Is it a real bug and nobody ever tried to count the number of packets sitting in a queue precisely or it is kinda specific logic of ns queue management? I understand that it is a minor bug but I just wanted to know someone's opinion concerning this issue. Best regards, Dmitry Sinelnikov -- Best regards, Дмитрийmailto:[EMAIL PROTECTED]
Re: [ns] storing data in a node
* rashmi bhat | 2008-04-14 12:43:38 [+0530]: Does anybody know how to store data in a node? I want a node which, sort of, acts like a bank. It stores information about nodes in that network some temporary information critical to passing messages in the network. This means that this node co-ordinates passing of messages based on information stored in it. Not out of the box - you need to extend the agent functionality and implement the required functionality. Tip: you can inherit from existing agent classes to save time and coding effort! HGN PS: if you describe the required functionality more explicit perhaps I can point to the right places!
Re: [ns] storing data in a node
I have a common bottleneck on my topology and, we set this node as Agent/LossMonitor. Could you try it and let we know how it works? sisiferl On Wed, Apr 16, 2008 at 6:36 PM, Hagen Paul Pfeifer [EMAIL PROTECTED] wrote: * rashmi bhat | 2008-04-14 12:43:38 [+0530]: Does anybody know how to store data in a node? I want a node which, sort of, acts like a bank. It stores information about nodes in that network some temporary information critical to passing messages in the network. This means that this node co-ordinates passing of messages based on information stored in it. Not out of the box - you need to extend the agent functionality and implement the required functionality. Tip: you can inherit from existing agent classes to save time and coding effort! HGN PS: if you describe the required functionality more explicit perhaps I can point to the right places!
[ns] sending a broadcast packet
Hi All, how can I setup a cbr stream that sends broadcasts packet in wireless simulations using tcl code? regards, - Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.
[ns] problem install ns2.28
Hi, I have a big problem. I try to install ns2.28 in ubuntu 6.10 like: http://b.gaedol.org/entry/ns-allinone-228-mobiwan-on-Ubuntu but, I have problems when put the instruction: $ sudo apt-get install -f libxt-dev libxt6 libsm-dev libsm6 libice-dev libice6 sgb its has an error: Leyendo lista de paquetes... HechoCreando arbol de dependencias Leyendo informacion de estado... Hecholibxt-dev ya esta en su version mas reciente.libxt6 ya esta en su version mas reciente.libsm-dev ya esta en su version mas reciente.libsm6 ya esta en su version mas reciente.libice-dev ya esta en su version mas reciente.libice6 ya esta en su version mas reciente.E: No se pudo encontrar el paquete sgb Someone Knows how I can install it.. or someone know other way to install.. I need to run MIPv6 regards, Vinicio _ Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy! http://spaces.live.com/spacesapi.aspx?wx_action=createwx_url=/friends.aspxmkt=en-us
[ns] problems with ns2.28 and mobiwan
Hi, I successfully install ns2.28 and mobiwan. I executed simple-mipv6 and got the result, but when I rana TCL script like /ns-2.28/tcl/ex/simple.tcl, I got the following error as shown below: can't read EnableHierRt_: no such variable (Object set line 1) invoked from within Simulator set EnableHierRt_ (procedure _o10 line 10) (Node attach line 10) invoked from within $node attach $agent (procedure _o3 line 2) (Simulator attach-agent line 2) invoked from within $ns attach-agent $n0 $udp0 (file simple.tcl line 29) It seems that this is a bug introduced by ns-228-mobiwan-102. How can I handle this problem? Thanks a lot!
[ns] Error: NS 2.31 with NDSL WiMAX patches in Ubuntu 7.10
Hi, Everybody: I work in Ubuntu 7.10. I've installed NS-2.31 and patched it for using the WiMAX module. I download the WiMAX 2.03 extension for NS-2 (http://ndsl.csie.cgu.edu.tw/download.php): it contains the files packet.h, ecc.. within the common, queue and mac/Mac-802_16 directories and re-install NS-2.31 to have a clean distribution, without changed files. ( http://ndsl.csie.cgu.edu.tw/wimax_ns2.php) I modify the Makefile in the principal directory which is ns-2.31 (after copying these files in the correct places..) and then make clean and make depend and make . The result is that the gcc said that PT_LBRACE isn't in the right scope, error found in packmime.cc.. I'm not an expert.. but I've followed all the steps in the How-to of the WiMAX site and these doesn't work. By the way, I successfully installed the patch in Windows XP with the Cygwin, so I believe there is someplace need to be modified under Linux environment. Please help me~~~ Have a nice day/
[ns] NS2 wireless network emulation
Hey, I am working on Ubuntu and with NS2.31. I am trying to emulate a wireless mesh network in NS2. I have written a UDP client socket program to generate UDP traffic. Presently, to start with I am trying to run my UDP socket code and my NS2 code on the same machine. If this works, I will be running the UDP socket code on another machine and try to accept traffic from there. But right now, I am unable to see the emulation results. I do not get any errors, but my terminal is blank, so is my trace file. Following is the code that I have used: set ns [new Simulator] $ns use-scheduler RealTime set file1 [open output_gentra.tr w] $ns trace-all $file1 set file2 [open output_gentra.nam w] $ns namtrace-all $file2 puts Starting... proc finish {} { global ns global file1 global file2 $ns flush-trace close $file1 close $file2 $ns close channel #exec nam output.nam exit 0 } set node0 [$ns node] set node1 [$ns node] set node2 [$ns node] set ipnetIN [new Network/IP/UDP] $ipnetIN open readonly $ipnetIN bind 127.0.0.1 1234 set aIn [new Agent/Tap] $aIn network $ipnetIN set ipnetOUT [new Network/IP/UDP] $ipnetOUT open writeonly $ipnetOUT connect 127.0.0.1 1235 set aOut [new Agent/Tap] $aOut network $ipnetOUT $ns duplex-link $node0 $node1 30kb 5ms DropTail $ns duplex-link $node1 $node2 0.1kb 5ms DropTail $ns queue-limit $node1 $node2 10 $ns attach-agent $node0 $aIn $ns attach-agent $node2 $aOut $ns connect $aIn $aOut puts Starting... $ns run and my UDP client socket program is as follows: import java.net.*; import java.lang.*; import java.io.*; public class ClientUDP { static Thread t; public static class SimpleClient implements Runnable{ DatagramSocket socket; DatagramPacket packet; InetAddress address; //byte[] message = new byte[256]; int port = 1234; String s = hdhasgdhasgd; byte[] b = s.getBytes(); public SimpleClient(){ try{ socket = new DatagramSocket(); address = InetAddress.getByName(Sam); packet = new DatagramPacket(b, b.length, address, port); }catch(Exception e){} } // // Send empty request // public void run(){ try{ for(int i=0; i1; i++){ socket.send(packet); t.sleep(1000); } }catch(Exception e){} } } public static void main(String[] args) throws Exception { try{ t = new Thread(new SimpleClient()); t.start(); }catch(Exception e){} // // Receive reply and print // /*packet = new DatagramPacket(message, message.length); socket.receive(packet); String received = new String(packet.getData(), 0); System.out.println(Received: + received); socket.close();*/ } } Could somebody please tell me what is happening?? Sam -- View this message in context: http://www.nabble.com/NS2-wireless-network-emulation-tp16715141p16715141.html Sent from the ns-users mailing list archive at Nabble.com.