Re: [ns] ns 2 agents

2009-07-09 Thread Arturo Servin

I did play with the headers to test my own protocol. As far as I know  
NS you should be able to modify your own header information to add  
what you need. I am not enough savy to explain how I did it but I  
found this manual really helpful to understand how NS handles the  
headers. It also contains some examples that you can use as starting  

Hope it helps,

On 9 Jul 2009, at 08:18, Τσιλιγγίρης Γεώργιος wrote:

 Hi to all,

 I am trying to simulate a simple call flow in ns 2. Something like the
 one attached. My idea is to create a new packet header with one int
 value and one agent for each node. Each message in the call flow is
 given an ID (1,2,3...). The first agent sends the first packet with
 the ID=1 to the second node. The agent on the second node receives the
 packet and sends one packet back (ID=2) and one packet to the third
 node (ID=3). The procedure continues in the same way.
 I created the packet header successfully but i have some problems with
 the agents. Has anyone done anything similar? Can anyone help me?


Re: [ns] CFT SyClick symposium on Click Modular Router

2009-06-19 Thread Arturo Servin

I just read a little about Click and it sounds really interesting. I  
have a project and I was thinking in using the default nodes of NS  
(adding later routing, classification, filtering, etc.) but now that I  
read about click I think it may be a better approach.

There is a link in the Click's wiki in how to use it with NS-2,  
however I wonder if anybody has any more resources (presentations,  
tutorials, papers) about the use of Click and NS-2.


On 19 Jun 2009, at 09:47, Peter De Cleyn wrote:

 ~Our apologies if you receive multiple copies of this call for talks~



  Symposium on Click Modular Router

November 23-24, 2009

Ghent, Belgium


 Eddie Kohler, creator of the Click Modular Router and ass. professor
 at UCLA


 For the first time, a Click symposium will be organized to bring
 users and developers of the Click Modular Router framework.

 This symposium is an opportunity for Click developers and researchers,
 others interested in the wider field of networking, to get together to
 knowledge and experiences. Over the course of two days attendees will
 be able to

  - meet other Click developers/researchers and find out how they use
  - get answers to technical questions
  - form relationships for future collaboration
  - hear about some cool Click applications.

 The first day of the symposium, a developer day will be held to freely
 exchange amongst each other thoughts and ideas about the future of
 Topics include but are not limited to:

- multiprocessing status and improvements
- supporting per-flow state
- debugging kernel routers
- dynamically adding and removing element subgraphs
- GUI development
- educational applications
- IPv6 status
- generic network protocol support (e.g. addressing, generic
- annotation improvements
- ...

 The next day, experiences about Click applications, development and/or
 research results using Click will be presented. To this end, we open a
 for presentations for the following topics:

- novel applications of Click
- commercial applications of Click
- Click customizations
- Click innovations
- lessons learned after using Click


 Authors are requested to submit a 1 page PDF file containing a
 description of
 the work they want to present. Based on the submitted contributions  
 organising committee will select four presentations for a 30 min talk
 additional contributions for a poster session.

 Demonstrations of Click implementations are also highly encouraged.

 Contribution descriptions should be submitted through the symposium
 before: September 14th, 2009.

 Organizers and Chairs:

 Prof. Chris Blondia, PhD

 Peter De Cleyn, PhD

 Michael Voorhaen, PhD

 Bart Braem, MSc

 Contact Information:

 Please direct any questions to

 IBBT - PATS - University of Antwerp
 Dep. Mathematics and Computer Science
 Middelheimlaan 1
 B-2020 Antwerp

Re: [ns] Install ns2.26..mission impossible?!

2009-03-26 Thread Arturo Servin

Have you tried to install the BGP++ module in the latest version? May  
be you would need to modify the make files and the ns-default TCL file  
but it may be easier.


On 26 Mar 2009, at 12:17, blerina wrote:

 Hello to everyone,

 I am trying to install ns 2.26 on Fedora Core 8. I'm installing this  
 old version because i need to use the BGP++ module.

 I tried many times the installation and finally got this error:

 installation configuration problem: C++ compiler cannot create  

 This makes me think it is a compiler version related problem. I have  
 gcc 4.1 installed.

 Does anyone have had this kind of troubles? How did u resolve it?

 I will be so happy if finally i will be able to have a working  
 version of ns2 installed on my pc. :(

 Thnx in advance,


Re: [ns] Running c++ code in NS

2009-03-01 Thread Arturo Servin

You have to include your code (I am not sure but I think that you  
should do it in the same path were the rest of the ns code is) and to  
modify the make files in order to compile your code. Check the own ns  
makefiles as an example, they will give you a hint of what to include.


On 1 Mar 2009, at 12:04, Abhijeet Mirikar wrote:

 Dear all,
   I want to run my C++ code in NS. How it can be done?
   Please help.

 Abhijeet Mirikar

Re: [ns] ns in eclipse

2009-02-27 Thread Arturo Servin

Yes you can. You have to add the ns paths to eclipse. There is an old  
e-mail with the references of the libraries to include and the paths.  
Do a search in the list and you could find that e-mail.


On 27 Feb 2009, at 21:14, sarym binome wrote:

 how can i integrate ns in eclipse ?
 have u any idea ?
 plz help me

 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é !

Re: [ns] assigning IP address to nodes

2008-11-05 Thread Arturo Servin

If you are working with your code in TCL may be you can make a map  
Node_ID (from ns) to an IP address in your TCL script. If you are  
working in C++ you can do what Sidney proposes.

Either way you have a way to do it, may be not trivial but definitely  


On 5 Nov 2008, at 15:55, Sidney Doria wrote:

 The best of NS-2 is its flexibility. If you didn't find a trivial
 solution to assign a simple IP to a node, you can add a new attribute
 to an inherited class of node. You can simply bind this new attribute
 in your TCL script and assign what IP you want on the node you want.

 The new atrribute can be of type nsaddr_t (IP address).

 Hope to be useful,

 Sidney Doria

 2008/11/5 Marlos Marques [EMAIL PROTECTED]:

 Hello all,

 Currently, I am trying to implement an application layer multicast  
 using NS2. For this purpose I need to assign IP address to every  
 node in
 NS2. I checked out the NS2 nodes may have hierarchical routing  
 which is similar to IP addressing. But, I also found the addr  
 which apparently allows you to configure the node IP, so I can run  
 following code:

 set ns [new Simulator]
 set n0 [$ns node]
 set n1 [$ns node]
 $n0 addr
 $n1 addr

 But in the trace file I keep getting sequential identifiers. For  

 + 0 1 2 tcp 40 --- 2 1.0 5.0 0 0

 But I would like to get this one:

 + 0 tcp 40 --- 2 1.0 5.0 0 0

 What am I doing wrong?

 Thanks in advance,

 Sidney Doria
 Redes ad hoc móveis
 Mestrado em Computação

 Nessa jornada, o conhecimento será o seu escudo...
 (Mestre dos Magos no episódio do grimoire de ouro)

Re: [ns] How to produce HTTP Packet/Traffic

2008-07-16 Thread Arturo Servin

I have never used it but I think that Packmime-http could be useful  
for you:

The original link is not working but you can use the google cache:

Hope it helps,

P.D. For examples check /opt/ns-allinone-2.31/ns-2.31/tcl/ex/packmime/  
(or whatever path you have for your install)

On 16 Jul 2008, at 19:35, Levent Kurt wrote:

 Hi there,

 I have a project to do in NS I found so many working examples on how
 to produce FTP or CBR, but I couldn't found any simple way to
 produce 5 HTTP packets from one location to another. I'm completely
 overloaded with other project at school and unfortunately don't have
 time to go too deep in information to produce 5 simple HTTP packets
 and show them in NAM :(

 All help will be appreciated, thanks from now.

Re: [ns] Why routing is performed on layer 2 in IEEE 802.11s wireless mesh networks standard

2008-05-19 Thread Arturo Servin

I remember something similar with Frame Relay and mostly with ATM,  
which in deed had its own routing protocol PNNI. I do not know about  
IEEE 802.11s but with ATM you need to switch the cells independently  
from the L3 protocol (then it came MPLS and we forgot about ATM), I  
imagine that 802.11s has some needs about meshing topologies, roaming,  
etc. that require that independent routing from the L3.


On 19 May 2008, at 22:24, Ghada Al-Mashaqbeh wrote:

  Dear all,

  I just want to find a reasonable justfications of why the IEEE  
 802.11s standard have specified that routing must take place at  
 layer 2 of the protocol stack not layer 3? and which is better  
 routing on layer 2 or layer 3 of the protocol stack?



Re: [ns] How to work in eclipse for NS-2 new protocol.

2008-05-02 Thread Arturo Servin

It would be great if you could share your experience in the wiki or in  
a blog. I just could not make ns compile in eclipse.


On 2 May 2008, at 10:09, Salih ML wrote:

 I am able to build ns-2 with eclipse. However when I try to debug ns-2
 using eclipse I am getting the following
 error: (Added a breakpoint inside file)

 No symbol new in current context.
 No source file named
 Stopped due to shared library event
 No source file named
 Stopped due to shared library event
 No source file named
 Current language:  auto; currently asm
 No source file named

 Does anybody know what would be problem? It looks like it can't find
 the file.

 By the way, when I try to add a breakpoint using GDB from terminal I
 get the following error:

 (gdb) break
 No source file named
 Make breakpoint pending on future shared library load? (y or [n]) y

 Breakpoint 1 ( pending.

 I installed  ns-2.30 on a Ubuntu Linux machine.



 On Mon, Oct 22, 2007 at 12:23 AM, Sidney Doria [EMAIL PROTECTED]  


 Eclipse TODO:

 - install cygwin (as much complete as possible, to avoid more  

 - install ns in cygwin (don't forget the PATH, TCL_LIBRARY and
 LD_LIBRARY_PATH stuff at the end of installation) and validate;

 - install eclipse;

 - make a new directory to your protocol in /ns-allinone-2.32/ns-2.32/

 - open eclipse and create a project and the files of tutorial

 - to complile, you MUST add (include) dirs like: ns-2.32. commom,
 trace, etc. in the eclipse (look for a menu like
 project/compiler/directories). so, lots of errors will gone in the
 next compile turn.

 - Take a look in compile errors to find more needed dirs to include
 until last compile error has gone


 I have tried:

 Vista + Cygwin +NS-2 + Eclipse

 but the BEST is:

 VirtualBox + Ubuntu 7.10 + NS-2 + Eclipse (or gedit and make)

 With this last package everything runs smooth and easy.

 Sidney Doria

 2007/10/21, Azim [EMAIL PROTECTED]:

 Hi all,

 I am new in eclipse. I am using cygwin (g++) for compile and my  
 ns-2.31 is
 in /usr/local directory.

 But I am not getting how can I write new protocol like ping.cpp in  
 and compile NS-2.

 If anyone give me any idea, it would be very helpful for me.


 Sidney Doria
 Redes ad hoc móveis
 Mestrado em Computação

 Nessa jornada, o conhecimento será o seu escudo...
 (Mestre dos Magos no episódio do grimoire de ouro)

Re: [ns] RTT(please help me)

2008-05-01 Thread Arturo Servin

You could get the rtt by c++ and by tcl. Tcl might be easier.

This is an example in tcl where $tcp0 is a tcp agent.

set rtt [$tcp0 set rtt_]


On 1 May 2008, at 17:59, d d wrote:

 I am new in ns. I simulate a simple topology with tcl. I want to  
 calculate rtt of each packet that send with one of it's node, But I  
 don't know how? Could you please help me? Should I use c++ or there  
 is another way?
 Thank yo

 Be a better friend, newshound, and know-it-all with Yahoo! Mobile.   
 Try it now.

[ns] Use of dmalloc

2008-04-23 Thread Arturo Servin

  Is anybody using dmalloc (or has used it) to debug memory?

   I have tried to enable it in my simulation without success. I have  
been following:

I cannot get any output to the logfile (in fact I cannot find the  
logfile that I am supposedly creating).

Thanks for your help,

Re: [ns] segmentation fault(core dumped) error

2008-03-14 Thread Arturo Servin

I have 69 nodes, it was working well until yesterday that I added one  
line to create a new variable. After the value set up the simulation  
crash around the middle, if I remove the line, it works well. The  
offending line could be something as silly as:

set dummy 0

I wonder if any body knows any limits in the number of nodes (as the  
original e-mail), number of procedures, variables that the ns can  
handle in a tcl script.

On 14 Mar 2008, at 05:59, SS Mukaka wrote:

 I'm having problems with the above mentioned error when the number  
 of nodes
 in my simulation is more than 30.
 I'm simulating my own protocol and it works well  with nodes less  
 than 30...


[ns] Rate-limit and rate-limit-strategy

2007-11-26 Thread Arturo Servin

  I wonder if somebody has any documentation about rate-limit and
rate-limit-strategy. Both are under ns/pushback.


Re: [ns] how can implement DDoS attack using ns2

2007-11-25 Thread Arturo Servin

It would depend of what you want to do. I am using UDP and CBR in a
manual topology that I generated. There are some tools to automatic
generate a big number of nodes but I have not tested yet. Now my attacks
are confined to a small network.


brij wrote:
 Dear all

 please guide me to implement DDos attacks in ns2. if anybody working in same
 area please reply.


 B B Gupta, Member, IEEE
 Research Scholar
 Electronics  Computer Engg.Deptt.

 On 24/11/2007, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 Welcome to posting to the ns-users mailing list!

 We automatically send this message to every new person who sends mail
 to the list.  You should only receive it once.  My apologies if the
 program contacts you twice, perhaps because you have multiple e-mail
 addresses or send mail from multiple machines.

 If you are an experienced ns-user who simply has not posted since we
 started using this responder, our apologies for inconveniencing you
 with this message.  This message is intended to help inform users and
 cut down on redundant posts, which benefits everyone.

 Please look at the attached list of ns Frequently Asked Questions.
 If it answers your question, great!  You're done.
 If not, please RE-SEND your original message to [EMAIL PROTECTED]
 A copy of your original message is included below for reference.

 You will NOT have to do re-send your message every time you post, only
 the FIRST time you send from a new account.  The goal is to quickly
 help new users find the FAQ (hopefully answering their question).

-the ns development team


 The Network Simulator ns-2: Frequently Asked Questions

(This FAQ is also on the web at

  * _Where do I get ns?_

From the ns web site at and
the download page

  * _What platforms does ns run on and what kind of hardware do I

Please see where to start on the building ns web page:

  * _What should I do if I have trouble downloading/extracting ns?_

This question is answered in detail at

  * _What should I do if I encounter problems building ns?_

  1. the README that comes in the distribution (very brief),
  2. the installation problems, bug fixes and help web page,
  3. the archives of the ns-users mailing list,
  4. post a bug report (see below)

  * _What do I do after I successfully build ns?_

   + Put the path to your ns executable into your PATH environment
   + Put the path to your otcl into your LD_LIBRARY_PATH
   + Put the path to your tcl library into your TCL_LIBRARY

  * _Where can I find documentation for ns?_

All documentation is linked from the main ns web page Documentation includes a tutorial
(originally from Marc Greis) and a reference manual (ns notes and

  * _Words, words, words... that documentation is nice, but where are
some sample scripts I can start from?_

Many sample scripts can be found in the ns distribution in
~ns-2/tcl/ex and ~ns-2/tcl/test.

  * _What protocols does ns support?_

A lot! Almost all variants of TCP, several forms of multicast,
wired networking, several ad hoc routing protocols and propagation
models (but not cellular phones), data diffusion, satellite, and
other stuff. See the documentation (described above) for details,
or download ns and look.

  * _How do I know that ns correctly implements these protocols?_

Ns has validation tests that cover many protocols, see However, ultimately
users are responsible for verifying that ns is accurate for their
purposes---since we cannot foresee all the ways ns may be used, we
cannot test all cases with all inputs.

  * _Are there any contributed/additional protocols not in the main

Yes, please see the contributed code web page The mailing list
archives can also be helpful (see below).

  * _How should I get started doing something (like implementing a new
protocol or trying an experiment)?_

We recommend that you look through the tutorial (see

Re: [ns] how to get used-bandwidth of a wireless node in ns

2007-08-26 Thread Arturo Servin

I do not know if carrying a bandwidth value inside the flow is the
best solution. Bandwidth as I see is data_transmitted/time. And time is
relative, are you going to measure the bandwidth in the last second, the
last minute, the last hour? So that why I think is not the best way. I
would suggest then to use the bytes transmitted by the flow. Get that
number and divided by the time life of the flow. You can also do some
more complex things such as getting the bandwidth in the last second,
minute, etc. if you wanted.


Zhao Junmin wrote:
 Hi everyone,

 I am trying to add admission control mechanism in dsr ,so I need to know
 a node's bandwidth which has occupied at any moment. here ,there is a
 method. in dsr, enable every flow to carry occupied bandwidth by itself.
 we can compute a node's bandwidth which has occupied through integrating
 all flows' occupied bandwidth which pass through the node.
 But,I don't know any better one,so I would like to get some advice.



Re: [ns] Questions for an eavesdropping agent

2007-08-11 Thread Arturo Servin

李令雄 wrote:
 Hi all,
   I want to  implement a monitor(or  eavesdropping) agent.   The agent
 will be set at a middle node of a transmission.
 It listens and operates  all packets that  passed through the node.
  Since  packets  are not  for the middle node,  the monitor agent will
 not get access to any packets( In NS implementation, node classifies packet
 by its  dstIP and Port).
   How can we switch the pack  flow to the new agent and then back to
 next network component ( next link,next agent...)?
   Which part of the NS documentation should i focus on  for this

 Best Regards,
 Henry Lee
So you mean that queuing of packets and delays in trasmision 
because the monitor agent should not be visible in the simulation?

I have not work with the LAN modules of ns, but maybe if you set up
your monitor agent in a LAN type of network you would be able to sniff
  packets such as in the real scenario.


Re: [ns] Flow-aware networking

2007-07-04 Thread Arturo Servin


Some time ago somebody sent this post to ns-users. I am trying to
build a flow table. Each node send data (UDP or TCP) to other nodes. The
simulation now is very small, just 5 or 6 nodes and I want to make a
file with the information of flows over time. Basically what it is said
in the e-mail:

source_address, destination_address, source_port, destination_port,
flowId, number of packets, avg_packet size

I sorted how to get and to print in a file source_address,
destination_address,flow_id, number of packet and avg packet size, but I
cannot find how to get and to print the port number. Any idea in how to
do get the port number of the TCP or UDP connection (flow) and to print
it in a file?

  I'm working with ns2 to make a node whose traffic control is based on 
 conception of flow-aware networking 
 ( I know how to build 
 Queue class in c++ and how to include it in ns2. It is not a problem. The 
 problem is that I need a value of intensity of arriving packet flow. The flow 
 is identified by [src address, dst address, src port, dst port, type of 
 transport protocol]. I know that when I define source I have to specify the 
 intensity of packet emission. I know this, but I want the node to measure the 
 arriving packet intensity (of identified flow) and return the value as a 
 parameter to make some calculations. I was wondering about building a buffer 
 where I could store 2 packets and estimate time between them, but it is not 
 good solution when you have 1000 sources and you have to store 2000 packets 
 in the system to account 1000 arrival intensities... is anyone have a idea, 
 how to do it, how to build a class like this? I
  don't know but maybe ns2 has some tools to measure this time? I will be very 
 grateful for help.
  With regards, Marek

 Get the free Yahoo! toolbar and rest assured with the added security of 
 spyware protection. 

Re: [ns] Queue Monitor - Packet Drops

2007-07-04 Thread Arturo Servin

Somewhere in these three sites there is your answer:


Banu Sundar wrote:
 Hi users,
 I have questions on how to monitor the packet drop between two
  particular links.I have used the following commands to do it.
 set qmon [$ns monitor-queue $n3 $n4 [open qm.out w] 0.1]; 
 [$ns link $n3 $n4] queue-sample-timeout; 
 At the end of simulation qm.out is created.
 The qm.out looks like this;
 0 2 3 0 0 0 0 0 0 0 0
 0.10001 2 3 0.0 0.0 0 0 0 0 0 0
 0.20001 2 3 0.0 0.0 0 0 0 0 0 0
 0.30004 2 3 0.0 0.0 0 0 0 0 0 0
 0.40002 2 3 0.0 0.0 0 0 0 0 0 0
 0.5 2 3 0.0 0.0 0 0 0 0 0 0
 0.59998 2 3 0.0 0.0 18 18 0 9000 9000 0
 0.69996 2 3 0.0 0.0 38 38 0 19000 19000 0
 0.79993 2 3 0.0 0.0 58 58 0 29000 29000 0
 0.89991 2 3 0.0 0.0 78 78 0 39000 39000 0
 0.99989 2 3 0.0 0.0 98 98 0 49000 49000 0
 1.0999 2 3 2990.01178 5.98002349 136 122 0
  68000 61000 0
 1.2 2 3 9055.04129 18.1100831 176 147 9 88000 73500
 1.3 2 3 9625.06312 19.2501268 216 172 24 108000 86000
 1.4001 2 3 9625.09095 19.250183 256 197 39
  128000 98500 19500
 1.5002 2 3 9625.11878 19.250238 296 222 54
  148000 111000 27000
 1.6003 2 3 9625.14679 19.2502938 336 247 69
  168000 123500 34500
 1.7004 2 3 9625.17426 19.2503489 376 272 84
  188000 136000 42000
 1.8005 2 3 9625.20191 19.250405 416 297 99
  208000 148500 49500
 1.9006 2 3 9625.2301 19.2504601 456 322 114
  228000 161000 57000

 I have no idea how to interpret it! Which column gives the values of
  packets dropped at each instant.Please please try to help me with this.It
  is creating a blockk in my work and I am not able to proceed further
  without this informations.
 Thanks a lot in advance,

  Send free SMS to your Friends on Mobile from your Yahoo! Messenger. Download 

Re: [ns] couldn't execute nam: no such file or directory

2007-04-29 Thread Arturo Servin

Kuheli louha wrote:
 I am using ns-allinone-2.30. I was running the following example.tcl from
 ns-allinone-2.30 using the command /home/where_i_installed ns/ns-
 allinone-2.30/ns-2.30/ns example.tcl but I am getting the following error

 ns: finish: couldn't execute nam: no such file or directory
 while executing
 exec nam out.nam 
 (procedure finish line 5)
 invoked from within

 I had set by PATH variable as

 I also included the line
 export PATH=/home/louhaki/NS/ns-allinone-2.28/nam-1.12
 export PATH=$PATH:/home/louhaki/NS/ns-allinone-2.30/ns-2.30
  in .bashrc. Yet the problem persists.Can anybody help

 The file is
 set ns [new Simulator]

 set nf [open out.nam w]
 $ns namtrace-all $nf

 proc finish {} {
  global ns nf
  $ns flush-trace
  close $nf
  exec nam out.nam 
  exit 0

 set n0 [$ns node]
 set n1 [$ns node]

 $ns duplex-link $n0 $n1 1Mb 10ms DropTail

 $ns at 5.0 finish
 $ns run

May be it is a silly question to ask (you may check this already), 
but it would be the first thing that I would check.

Is nam in any of the directories that you have in your PATH?


Re: [ns] question on installation NS-2.29 on Linux Ubuntu

2007-04-13 Thread Arturo Servin

I had the same problems in Ubuntu 6.10 and ns-2-31. I had to compile
with gcc and g++   4.0 instead of 4.1 (default in my distro).

There are a couple of urls documenting this and how to install ns in