Re: [ns] MAC layer implementation

2013-05-28 Thread Saravanan Kandasamy

Dear Gomathi,

Your question is not clear. What neighbor you are looking for? If you
are looking for routing neighbours you can only do in routing layer.
If you are looking for Radio Range or Carrier Sense neightbour you can
do either using
a) routing.cc - this approach has been recently elaborated, kindly
check the NS2 messages archive ,or
b) channel.cc - WirelessChannel::getAffectedNodes() would be of your
interest. Do take note, if you use this approach, you would need to
modify the square radio range to a circular radio range to better
exhibit the transmission property of radio of a wireless node.

Dont think you could do MAC layer in the present form, as the
neighbour management is only done in routing layer.

Good Luck.

rgds
Saravanan K


On Mon, May 27, 2013 at 4:13 AM, Gomathi Rajamanickam
gomathi250...@gmail.com wrote:

 Hi,
 I am doing my project in MAC layer. I want to form a neighbor table for
 each node in MAC layer. Please any one help me how to form neighbor list in
 MAC layer?

 Regards,
  R. Gomathi



Re: [ns] Collision measurement

2013-05-28 Thread Saravanan Kandasamy

Pedro,

The tracefile will be useful for you.
Good Luck.

rgds
Saravanan K

On Fri, May 24, 2013 at 6:15 AM, pedro chaparro pdr...@gmail.com wrote:

 Hi All, there is some way to measure the number of collisions in a wireless
 802.11 scenario?

 --
 Pedro Alonso Chaparro Valero RD Engineer
 Ciudad Politecnica de la Innovación
 iTEAM - Mobile Communications Group
 Polytechnic University of Valencia
 C\ Camino de Vera S/N, Edificio 8G
 46022 Valencia, Spain



Re: [ns] Queue Delay

2013-05-28 Thread Saravanan Kandasamy

Hi,

Tried to read on queue monitor in NS2 manual or internet. Some of
the below can be solved by using it.

Good Luck

rgds
Saravanan Kandasamy

On Sun, May 19, 2013 at 8:18 PM, Sai Bhyravajosyula sbhyr...@asu.edu wrote:

 Hello All

 I have a question regarding queue delay.

 Is there any way in NS2 to know the number of packets present in the queue
 of a
 particular node.

 And also how to calculate what is the time taken to empty the queue if it
 is full.

 Please let me know if any one has any idea about the above two.

 Thanks


 --
 Bhyravajosyula Sai Vishnu Kiran
 MS in Computer Science
 mail-id:  sbhyr...@asu.edu



Re: [ns] GPSR implementation running out of memory

2013-05-12 Thread Saravanan Kandasamy

Anas,

You are facing a memory leak. The effect of memory leak aggravated when you
run longer simulation time, simulating larger number of nodes or both.

Valgrind is good for memory leak detection. It able to show the functions
and exact lines of codes that potentially causing some of the memory leaks.
In case you have no experience using Valgrind, do spend some time on
internet to learn how to setup and test using Valgrind, it has ample of
information on this.

NS2 does not have automatic garbage collection, thus warrants a manual
freeing of allocated memory once an object is no longer needed.

Good Luck.

rgds
Saravanan K

On Sun, May 12, 2013 at 6:24 PM, Anas Almajali almaj...@usc.edu wrote:


 All,

 I ported GPSR implementation to ns-2 2.34. The examples that come with the
 implementation work fine.
 Some of my simulations that have small number of nodes or few events
 happening work fine too. However, when I increase the number of nodes above
 100 nodes and have more events, the simulation runs for a while then
 aborts. I was checking the memory while running the cases that fail and
 found that these simulations are consume the whole memory on my machine and
 off course abort after that. I have 8GB of memory! The same simulations
 work fine with other routing protocols like AODV and the memory consumption
 is within limits.

 Does anyone know were does GPSR goes wrong and consumes the memory? and is
 there a fix for that?

 Anas



Re: [ns] explanation of command function in ns2

2013-04-10 Thread Saravanan Kandasamy

Hi,

It can be used to invoke codes from TCL.

e.g:
$ns_ at 10.00 stop

stop will be defined at command (e.g app.cc)

Good Luck.

rgds
Saravanan K

On Wed, Apr 10, 2013 at 6:09 AM, shiny shiny@gmail.com wrote:


 hi all,
 anybody can explain about command() function,how it works and what's the
 purpose of that function.Waiting for ur replies frndz...

 *example command function in snoop.cc file *
 *
 *
 int
 Snoop::command(int argc, const char*const* argv)
 {
 //Tcl tcl = Tcl::instance();

 if (argc == 3) {
 if (strcmp(argv[1], llsnoop) == 0) {
 parent_ = (LLSnoop *) TclObject::lookup(argv[2]);
 if (parent_)
 recvtarget_ = parent_-uptarget();
 return (TCL_OK);
 }

 if (strcmp(argv[1], check-rxmit) == 0) {
 if (empty_()) {
 rxmitStatus_ = SNOOP_PROPAGATE;
 return (TCL_OK);
 }

 Packet *p = pkts_[buftail_];
 hdr_snoop *sh = hdr_snoop::access(p);

 if (sh-sndTime()!=-1  sh-sndTime()atoi(argv[2]) 
 sh-numRxmit() == 0)
 /* candidate for retransmission */
 rxmitStatus_ = snoop_rxmit(p);
 else
 rxmitStatus_ = SNOOP_PROPAGATE;
 return (TCL_OK);
 }
 }
 return NsObject::command(argc, argv);
 }

 --
 With Regards,
 John Shiny.J



Re: [ns] Computing RxThreshold for long distances

2013-03-28 Thread Saravanan Kandasamy

Dear Wben Jab (If thats your name),

Looking at your operating frequency your cross over distance is around 86m.
Thus when you experiment communication above this distance, the TwoRay
propagation takes place anything below though you are using TwoRay only
FreeSpace takes into effect.

From the both RxThreshold, you will reach 300m and 1000m transmit range
respectively. Nothing would be wrong in the RF point of view unless you
changed your transmission power or RXThreshold in between.

I am not sure where you are reading to confirm your packet receive. This
should be done at the physical layer. If you are reading from the MAC
layer, if there is a mechanism to define a packet error rate this could be
the reason the received packet is discarded due to the failed integrity
test of the content of the received packet.

Do check on this.

Good Luck.

Saravanan K

On Wed, Mar 27, 2013 at 2:03 PM, wben-...@labri.fr wrote:


 Dear All,

 I want to ask about the receving RxThreshold. I compute it for two
 distances, one with 300m and the other with 1000m, using TwoRayGround
 propagation model.
 I have for 300m , the following output:
 distance = 300
 propagation model: TwoRayGround

 Selected parameters:
 transmit power: 0.281838
 frequency: 9.14e+08
 transmit antenna gain: 1
 receive antenna gain: 1
 system loss: 1
 transmit antenna height: 1.5
 receive antenna height: 1.5

 Receiving threshold RXThresh_ is: 1.76149e-10


 Then, I applied with the same parameters for distance 1000m, and I
 have the following output.
 distance = 1000
 propagation model: TwoRayGround

 Selected parameters:
 transmit power: 0.281838
 frequency: 9.14e+08
 transmit antenna gain: 1
 receive antenna gain: 1
 system loss: 1
 transmit antenna height: 1.5
 receive antenna height: 1.5

 Receiving threshold RXThresh_ is: 1.42681e-12

 I used the first receiving threshold 1.76149e-10 with distance of 300m
 of communication range. And I find that the communication is close to
 300m.

 However, when I increased the distance with 1000m of communication
 range (RXThresh_ is: 1.42681e-12), then I found that the maximum
 communication range between nodes is 550m.
 It seems strange to me, that's why I want to ask, if I had to change
 the initialization parameters (Frequency, Transmission Power,..),
 because I didn't change them (I used them as their default parameters
 in threshold.cc file).

 Could you please, give me a hand, and if I have to modify some other
 parameters in WirelessPhy.

 Thank you, and
 Best regards.




Re: [ns] About RXThreshold and CSThreshold calculation

2013-03-18 Thread Saravanan Kandasamy

Mate,

These values are defined and not calculated. The received power from a
packet is what determines if the packet is received or just sensed. This is
basic, you would need to
a)read the manual
b)read the codes in NS2
c)read the appropriate standards
d) or simply spend some time on the internet
to understand how the Physical and MAC layer works.

There are ample of information available on this. It depends how much you
are willing to work hard to acquire it.

-- SK

On Fri, Mar 15, 2013 at 9:53 AM, shiny shiny@gmail.com wrote:


 Hi frndz,
 Anybody know  where  the RXThreshold and CSThreshold  values are calculated
 in ns2 back-end

 --
 With Regards,
 John Shiny.J



Re: [ns] Phy/Wireless Transmission Power w.r.t Trans Range

2013-03-09 Thread Saravanan Kandasamy

Suggest you to read ns manual and look at the sample simulation codes given 
example folder - SK

On 9 Mar 2013, at 11:32, Khadijeh Arabi khadijeh.ar...@gmail.com wrote:

 
 Hi
 In which files and directory can change the Phy/Wireless Transmission Power
 w.r.t Trans Range?We most add related codes in main tcl code or create
 another tcl script for this?
 thanks



Re: [ns] compiling ns-2 problem

2013-02-13 Thread Saravanan Kandasamy

Hi,

After make, do sudo make install

rgds
SK

On Wed, Feb 13, 2013 at 3:45 PM, Dalia El3wely dalia-el3w...@hotmail.comwrote:





 after making changes in ns2 c++ files , i tried to rebuild ns2 by using 
 make command, i didn't get any errors, but when i tried to simulate a
 simple scenario i found that my changes have not been applied   !!I'm using
 ns-2.35 under cygwin + windows 7..even when i tried to print a simple line
 on my trace file so i've altered cmu-trace.cc file .. changes have not been
 applied too!! , i don't know if i have to change any files else befor
 compiling ns2, or what..?
 Regards,
 Dalia Elewely.




Re: [ns] conflicting hello process in aodv rfc and aodv.cc

2013-02-11 Thread Saravanan Kandasamy

Amar,

Your explanation is not clear and not sure if you are messing up with the
codes without knowing what you like to achieve.

1. Create a minimalistic scenario.

2. Enable Hello Packets.
[Do not touch aodv.cc, it is controlled by a flag in aodv.h, comment out
#define AODV_LINK_LAYER_DETECTION in aodv.h]

3. Observe the trace file if it is operating correctly.

4. If it is not, you need to provide clear details on
-your scenario of interest,
-what is the topology
-its configuration/setup/parameters,
-the changes done in the code,
-what you observed in trace file,
-what you are expecting
-what you think is the next way forward to solve the bottle neck you are
facing.

Good Luck.

rgds
Saravanan K

On Fri, Feb 8, 2013 at 5:25 AM, AmarNath Patra amarnath.pa...@gmail.comwrote:


 Hello Everyone,

 In the existing AODV code, HELLO is disabled. I am able to enable it (by
 commenting '#ifndef AODV_LINK_LAYER_DETECTION' and '#endif' in aodv.cc).
 The problem is that after enabling, all the nodes in the network perform
 the hello process.
 But,according to the rfc3561, *A node SHOULD only use hello messages if it
 is part of an active route.*
 Please help me to implement this feature (of selective HELLO) in AODV.

 By the way, is the implementation of hello process in aodv in ns2.34 *
 incorrect*?

 I tried to implement this feature in aodv.cc as below:

 In the function: HelloTimer::handle(Event*), I put the statement:
 agent-sendHello(); inside the condition:* if(agent-rtable.head())*
 So I have now:

 -
 void
 HelloTimer::handle(Event*) {
if(agent-rtable.head()){//amar: allowing only the nodes which are
 part of any active route to use hello msg, in accrdnc to rfc3561
 agent-sendHello();
}
double interval = MinHelloInterval + ((MaxHelloInterval -
 MinHelloInterval) * Random::uniform());
assert(interval = 0);
Scheduler::instance().schedule(this, intr, interval);
 }

 --
 Is this implementation correct?

 Thanks in advance.
 -amar



Re: [ns] recv function not called in aodv for destination node

2013-02-07 Thread Saravanan Kandasamy

Dear Amar,

I think you have confused with between mac::recv() and aodv::recv()

1. mac::recv() able to listen every packet in a channel as long as it
is above CSThresh and decode a packet if it is above RXThresh.

2.This is not the same for aodv::recv(), you would need to understand, how
a)AODV protocol works and the components of AODV Table built at nodes
b)wireless mobile node schematic in the NS2 manual.

3.Not every packet  received by mac::recv() is sent upstack to
aodv::recv(), only those need to be forwarded will be sent to
aodv::recv(). Thus the final destination node would not go through
aodv:recv but the data packet received by mac:recv will be directly
sent to AGT via LL using uptarget_

4.If you yet to understand this, let me illustrate this in a small
scenario. We have 3 nodes (N3, N4 and N5) arranged in series. N5 sends
one packet to N3.

You will see something as below,

Node: _5 _ recvd data packet at time: 11.5, PacketType: 61, UID: 4
Node: _4 _ recvd data packet at time: 11.501782848, PacketType: 61, UID: 4

if you invoke the below at aodv::recv(),

if(DATA_PACKET(ch-ptype())) {fprintf(stdout,\nNode: _%i _ recvd data
packet at time: %.9lf, PacketType: %i, UID: %i, index, CURRENT_TIME,
ch-ptype(), ch-uid());}

You will see the destination node, i.e N3 is missing.

5. Do compare this with your trace file results,

Line#01 - s 11.5 _5_ AGT  --- 4 Poisson 1500 [0 0 0 0 Y Y]
--- [5:1 3:1 32 0 0]
Line#02 - r 11.5 _5_ RTR  --- 4 Poisson 1500 [0 0 0 0 Y Y]
--- [5:1 3:1 32 0 0]
Line#03 - s 11.5 _5_ RTR  --- 4 Poisson 1520 [0 0 0 0 Y Y]
--- [5:1 3:1 30 2 4]
Line#04 - s 11.500435000 _5_ MAC  --- 4 Poisson 1578 [13a 4 5 800 Y Y]
--- [5:1 3:1 30 2 4]
Line#05 - r 11.501757848 _4_ MAC  --- 4 Poisson 1520 [13a 4 5 800 Y Y]
--- [5:1 3:1 30 2 4]
Line#06 - s 11.501767848 _4_ MAC  --- 0 ACK 38 [0 5 4 0 Y Y]
Line#07 - r 11.501782848 _4_ RTR  --- 4 Poisson 1520 [13a 4 5 800 Y Y]
--- [5:1 3:1 30 2 4]
Line#08 - f 11.501782848 _4_ RTR  --- 4 Poisson 1520 [13a 4 5 800 Y Y]
--- [5:1 3:1 29 1 3]
Line#09 - r 11.502072515 _5_ MAC  --- 0 ACK 38 [0 5 4 0 Y Y]
Line#10 - s 11.502481848 _4_ MAC  --- 4 Poisson 1578 [13a 3 4 800 Y Y]
--- [5:1 3:1 29 1 3]
Line#11 - r 11.503804697 _3_ MAC  --- 4 Poisson 1520 [13a 3 4 800 Y Y]
--- [5:1 3:1 29 1 3]
Line#12 - s 11.503814697 _3_ MAC  --- 0 ACK 38 [0 4 3 0 Y Y]
Line#13 - r 11.503829697 _3_ AGT  --- 4 Poisson 1520 [13a 3 4 800 Y Y]
--- [5:1 3:1 29 1 3]
Line#14 - r 11.504119364 _4_ MAC  --- 0 ACK 38 [0 4 3 0 Y Y]

You will see RTR (i.e AODV) is received only by the source node and
the intermediary nodes (where forward event need to be executed)
except the destination node.

6. In case you like to know if a destination node received a packet,
you can do so by comparing  a packet's  destination ip address with
the node_id of a node receiving the packet

Good Luck.

rgds
Saravanan K

On Wed, Feb 6, 2013 at 3:51 PM, AmarNath Patra amarnath.pa...@gmail.com wrote:

 Hello Everyone,

 If I add the following statement in the beginning of the code in the
 function, AODV::recv(Packet *p, Handler*), in aodv.cc :

 if(DATA_PACKET(ch-ptype())) { printf(\nNode: _%i _ recvd data packet at
 time: %.4lf, index, CURRENT_TIME); }

 Then it prints for all active nodes except for the destination. Why is it
 happening?
 If not in this function/file, then where can I check whether the
 destination received a data packet?

 I just tried to implement the NULL agent's recv function in c++ source
 code, and added the above statement in it.
 Here the print function gets executed for the case of destination node. Is
 this correct?

 Can't I recognize the/a destination node in the aodv,cc file itself?

 -amar



Re: [ns] node in wireless 802.11

2013-02-07 Thread Saravanan Kandasamy

Hi,

Two ways to do it,

a) By implementing node-down command as what test-suite-wpan.tcl had
done.Look for it in the example folder. It basically free a packet
going out of a node and marks the header of a packet as error for
incoming packets.

b) Try to do what a switched off node should behave. It is not
supposed have packets coming in and going out of its interface. Look
at the wireless schematic at NS2 manual, channel_ is responsible to
put a packet in a channel and uptarget_ is responsible to put a packet
in the receiving buffer of a receiving node Try to disable this
whenever you need to switch off the node and turn it on whenever the
node is supposed to be alive.

Good Luck.

rgds
Saravanan K

2013/2/7 hocine saadi hlim.nar...@gmail.com:

 hello
 how can i stop (deactivate) a node in wireless 802.11 network
 thank you

 --
 Hocine Saadi
 Chargé d’études au CERIST (CEntre de Recherche en l'Information
 Scientifique et Technique)
 Division Théorie et Ingénierie des Systèmes Informatiques (DTISI)
 03, Rue frères Aissiou - Ben Aknoun - Alger
 Ingénieur en Informatique (USTHB)



Re: [ns] recv function not called in aodv for destination node

2013-02-07 Thread Saravanan Kandasamy

Amar,

Correction on Line #6,

6. In case you like to know if a destination node received a packet,
you can do so by comparing  a packet's  destination ip address with
the node_id of a node receiving the packet ***at MAC layer***

rgds
Saravanan K

On Thu, Feb 7, 2013 at 2:19 PM, Saravanan Kandasamy svana...@gmail.com wrote:
 Dear Amar,

 I think you have confused with between mac::recv() and aodv::recv()

 1. mac::recv() able to listen every packet in a channel as long as it
 is above CSThresh and decode a packet if it is above RXThresh.

 2.This is not the same for aodv::recv(), you would need to understand, how
 a)AODV protocol works and the components of AODV Table built at nodes
 b)wireless mobile node schematic in the NS2 manual.

 3.Not every packet  received by mac::recv() is sent upstack to
 aodv::recv(), only those need to be forwarded will be sent to
 aodv::recv(). Thus the final destination node would not go through
 aodv:recv but the data packet received by mac:recv will be directly
 sent to AGT via LL using uptarget_

 4.If you yet to understand this, let me illustrate this in a small
 scenario. We have 3 nodes (N3, N4 and N5) arranged in series. N5 sends
 one packet to N3.

 You will see something as below,

 Node: _5 _ recvd data packet at time: 11.5, PacketType: 61, UID: 4
 Node: _4 _ recvd data packet at time: 11.501782848, PacketType: 61, UID: 4

 if you invoke the below at aodv::recv(),

 if(DATA_PACKET(ch-ptype())) {fprintf(stdout,\nNode: _%i _ recvd data
 packet at time: %.9lf, PacketType: %i, UID: %i, index, CURRENT_TIME,
 ch-ptype(), ch-uid());}

 You will see the destination node, i.e N3 is missing.

 5. Do compare this with your trace file results,

 Line#01 - s 11.5 _5_ AGT  --- 4 Poisson 1500 [0 0 0 0 Y Y]
 --- [5:1 3:1 32 0 0]
 Line#02 - r 11.5 _5_ RTR  --- 4 Poisson 1500 [0 0 0 0 Y Y]
 --- [5:1 3:1 32 0 0]
 Line#03 - s 11.5 _5_ RTR  --- 4 Poisson 1520 [0 0 0 0 Y Y]
 --- [5:1 3:1 30 2 4]
 Line#04 - s 11.500435000 _5_ MAC  --- 4 Poisson 1578 [13a 4 5 800 Y Y]
 --- [5:1 3:1 30 2 4]
 Line#05 - r 11.501757848 _4_ MAC  --- 4 Poisson 1520 [13a 4 5 800 Y Y]
 --- [5:1 3:1 30 2 4]
 Line#06 - s 11.501767848 _4_ MAC  --- 0 ACK 38 [0 5 4 0 Y Y]
 Line#07 - r 11.501782848 _4_ RTR  --- 4 Poisson 1520 [13a 4 5 800 Y Y]
 --- [5:1 3:1 30 2 4]
 Line#08 - f 11.501782848 _4_ RTR  --- 4 Poisson 1520 [13a 4 5 800 Y Y]
 --- [5:1 3:1 29 1 3]
 Line#09 - r 11.502072515 _5_ MAC  --- 0 ACK 38 [0 5 4 0 Y Y]
 Line#10 - s 11.502481848 _4_ MAC  --- 4 Poisson 1578 [13a 3 4 800 Y Y]
 --- [5:1 3:1 29 1 3]
 Line#11 - r 11.503804697 _3_ MAC  --- 4 Poisson 1520 [13a 3 4 800 Y Y]
 --- [5:1 3:1 29 1 3]
 Line#12 - s 11.503814697 _3_ MAC  --- 0 ACK 38 [0 4 3 0 Y Y]
 Line#13 - r 11.503829697 _3_ AGT  --- 4 Poisson 1520 [13a 3 4 800 Y Y]
 --- [5:1 3:1 29 1 3]
 Line#14 - r 11.504119364 _4_ MAC  --- 0 ACK 38 [0 4 3 0 Y Y]

 You will see RTR (i.e AODV) is received only by the source node and
 the intermediary nodes (where forward event need to be executed)
 except the destination node.

 6. In case you like to know if a destination node received a packet,
 you can do so by comparing  a packet's  destination ip address with
 the node_id of a node receiving the packet

 Good Luck.

 rgds
 Saravanan K

 On Wed, Feb 6, 2013 at 3:51 PM, AmarNath Patra amarnath.pa...@gmail.com 
 wrote:

 Hello Everyone,

 If I add the following statement in the beginning of the code in the
 function, AODV::recv(Packet *p, Handler*), in aodv.cc :

 if(DATA_PACKET(ch-ptype())) { printf(\nNode: _%i _ recvd data packet at
 time: %.4lf, index, CURRENT_TIME); }

 Then it prints for all active nodes except for the destination. Why is it
 happening?
 If not in this function/file, then where can I check whether the
 destination received a data packet?

 I just tried to implement the NULL agent's recv function in c++ source
 code, and added the above statement in it.
 Here the print function gets executed for the case of destination node. Is
 this correct?

 Can't I recognize the/a destination node in the aodv,cc file itself?

 -amar



Re: [ns] Regarding Re-compile error

2013-02-04 Thread Saravanan Kandasamy

Dear Gopi.

The compiler error did told you what to do.

You need to run configure. Any changes in Makefile would require
fresh configure.

rgds
Saravanan K

On Sun, Feb 3, 2013 at 6:40 AM, Gopi gopi_...@yahoo.co.in wrote:

 Dear ns-users,
i am getting the following error while re-compiling, after 
 modifications in makefile.in...

 Makefile.in is newer than Makefile.
 You need to re-run configure.
 false
 make: *** [Makefile] Error 1


 can anyone help me to fix the error...


 Regards,
 T.Gopi.



Re: [ns] Code for editing packet header

2013-02-04 Thread Saravanan Kandasamy

Magdy,

I have not worked adding a new field in packet header in IP layer.
Nevertheless, just throwing some thoughts,

1. Have you included int tag_; in your Agent.h?
2. In MAC layer we have to mention the size of new field, one of the
purpose is, it could be factored in for the transmission time over
physical layer considering longer packet size now.Do see if the same
needed to be done for IP packet.

Good Luck.

rgds
Saravanan K

On Sat, Feb 2, 2013 at 9:18 PM, Magdy Fares mfare...@yahoo.com wrote:

 How are you Sir,

 In my project i need the code to do the following:
 While the packet passes through the nodes in the path from the sender to the 
 receiver, each node has a unique id consists of for example 3 or 4 bits, and 
 there is a field of 16 bits in each packet header that holds the node id 
 after XORing it with the old value.

 I acctually did the following:
 1- In the structure hdr_ip in the file ip.h , i added a variable of type int 
 named tag_ to hold the node's id after doing XOR with the old values as i 
 said befor.
 2- And also in the same place i added an access function lkie this   int 
 tag() {return tag_;}
 3- In the file ip.cc, in the function export_offsets() , i added this line   
 field_offset(tag_, OFFSET(hdr_ip, tag_));
 I think, by these above three steps i added a new field in the packet headers 
 that carry the nodes id after doing XOR between old and new values.

 In the file agent.cc, and in the function  Agent::initpkt() , i added these 
 two lines:
 iph-tag() = 3;

 printf(\n This packet has a tag of %d, iph-tag_);
 I think these two lines are used for debugging.

 So, if these steps are correcet, is there any one can help me to build on 
 them to finish my task, please i need your help Urgently


 Thank you friends,
 Eng. Magdy Fadel


 
  From: Magdy Fares mfare...@yahoo.com
 To: ns-users@isi.edu ns-users@isi.edu
 Sent: Saturday, February 2, 2013 12:14 AM
 Subject: Code for editing packet header


 To NS-Users,
   I am a Ph.D. student of and part of my project trys to XOR some 
 data in the packet header while it travrses from the source to the 
 destination. So i *urgently* need code to accomplish this point please.

 So, Any One have code for this plz forward it **Urgently.**


 Thanks and regards,
 Magdy
  Fadel



Re: [ns] Regarding Routing

2013-02-04 Thread Saravanan Kandasamy

Gopi,

Have you tried to google? Much information is there, just need to
spend some time doing research.

1. For single hop network you dont need routing. You may use dumbagent.

2. There are some implementation for static routing in the web, some
uses DSR as base and some created their own way for filling the
routing table. Check out for NOAH or FixRT.

Good luck.

rgds
Saravanan K



On Wed, Jan 30, 2013 at 5:59 AM, gopi gopi_...@yahoo.co.in wrote:

 Dear ns users,

 can anyone tell me, how to add static routing for wireless 
 network...



 Regards,
 T.Gopi.



Re: [ns] how to access the variables in .cc files?

2013-02-04 Thread Saravanan Kandasamy

Dear Shiny,

This is a more of a programming question rather than NS2. Perhaps you
can check with other programming related forums.

In the programming point of view for sure it can be done but you have
to check if it is logically sound from simulator or real life
implementation point of view. Assume you like to read a content of
source node address of an ACK packet from MAC layer (mac-802.11.cc) at
Physical Layer (wireless-phy.cc), since current frame format of ACK
does not carry that information, you may create a new field to carry
this information for you. So when you read it at physical layer, your
are not only reading the variables from two different files, but also
logically sound, as you are reading the packet content which flows
from MAC to Physical layer when it flows out from destination (Data)
node.

Good Luck.

rgds
Saravanan K

On Wed, Jan 30, 2013 at 4:29 AM, shiny shiny@gmail.com wrote:

 hi all,
 how to include variables from one .cc file to other?

 --
 With Regards,
 John Shiny.J



Re: [ns] Bind a float

2013-02-04 Thread Saravanan Kandasamy

Dear Rafeal,

I am not sure where you like to do this binding. When you declare your
variable number_ in file.h ensure you choose a data structure that
accepts a float, e.g

double number_;

rgds
Saravanan K

On Mon, Jan 28, 2013 at 7:07 PM, Rafael P B Mota
rafaelpera...@gmail.com wrote:

 How can I bind a float member ?
 For example, when I bind an integer (bind(value_,value_) it works.
 When I bind a float (bind(number_,number_) I receive errors.

 What can I do to solve this problem ?
 Thanks,

 --
 
 Rafael Perazzo B Mota
 rafaelpera...@gmail.com
 Web-page: https://sites.google.com/site/rafaelperazzo/
 Doutorando em Ciência da Computação
 Universidade de São Paulo (USP)
 Campus da Capital
 Instituto de Matemática e estatística (IME)
 --




Re: [ns] Transmission range

2013-02-04 Thread Saravanan Kandasamy

Rafael,

You would need to spend more time with NS2 manual.

1. How can I change the transmission power to allow 2 nodes
communicate themselves at a max distance of 5m ?
It depends on the propagation model you are using. Since its just 5 m,
you may check Friis as Two Way Ground behaves as Friis as it operate
below cut off frequency (assuming you are operating in a frequency
above 2GHz). You would find the right Pt_ value when Pr at 5m is
=RxThreshold using your preferred propagation model. You may write
you own simple code, use excel sheet or even use a built in program in
NS2, I think its in the folder named tools.

How can I calculate the Pt_ value  ?
2. Refer above.

 What does a 0.28 Pt_ value mean ?
3. Its 0.28W

rgds
Saravanan K

On Sat, Jan 26, 2013 at 7:56 PM, Rafael P B Mota
rafaelpera...@gmail.com wrote:

 How can I change the transmission power to allow 2 nodes communicate
 themselves at a max distance of 5m ? How can I calculate the Pt_ value  ?
 What does a 0.28 Pt_ value mean ?
 Thanks



Re: [ns] Packet loss effect on End2End Delay

2013-02-04 Thread Saravanan Kandasamy

Saleem,

Why not create a test scenario in NS2 and find out the answer. You may
induce packet loss systematically and observe your preferred
parameter.

rgds
Saravanan K

On Wed, Jan 30, 2013 at 11:03 AM, saleem khan star_s...@yahoo.com wrote:

 Hi All,
 is there any effect of packet loss on End2End Delay in OLSR routing protocol? 
 For example if a routing protocol has more packet loss then wat about the 
 end2end delay..either it will be increasing or decreasing with packet loss?
 Thanks in advance

 Muhammad Saleem Khan
 Ph.D(CS) , COMSATS Institute of Information Technology, Islamabad.
 Cell No# 0346-9754454



Re: [ns] Regarding Scheduling a channel access.

2013-02-04 Thread Saravanan Kandasamy

Why you want to do that? Aint the objective of a network is to provide
as much throughput as you can? You said nothing about your setup,
protocols you are using etc. Dont have the liberty to assume
ourselves. A typical reason on getting lack of support -- SK

On Mon, Feb 4, 2013 at 10:54 PM, Sai Bhyravajosyula sbhyr...@asu.edu wrote:

 Hi all

 I need some help.


 How can I make a node to access the channel a particular number of times.

 I mean suppose I have a number like 400 , then how can I make a node
 to transmit only 400 times and rest of the time in backoff.

 Please help me .Thanks in advance.


 Thanks.
 --
 Bhyravajosyula Sai Vishnu Kiran
 MS in Computer Science
 mail-id:  sbhyr...@asu.edu




Re: [ns] Regarding Scheduling a channel access.

2013-02-04 Thread Saravanan Kandasamy

Hi,

Do note it is no longer 802.11 once done the below changes. Your
network might crumble after the 400th packets as the queue works as
FIFO, only when a packet goes out another will replace it. There are
two ways to do this,

1. Open ns manual and look for mobile node schema for wireless
diagram. Do see which variable places the actual packet in channel.
Look for the variable in your code, put a counter there, anything
above it you can trigger channel as busy.

2. Since you are testing only cbr. Can generate only 400 packets and
increase the queue size to accommodate 400 packets or more. Can
measure fairness while not compromising the integrity of the
protocols. If like to test say 500pkts on the same network, can do the
same but with queue size 500 pkts or more. It becomes like infinite
queue scenario.

rgds
Saravanan K

On Mon, Feb 4, 2013 at 11:24 PM, Sai Bhyravajosyula sbhyr...@asu.edu wrote:
 Thanks for the reply.

 Rather than throughput the concept here is the fairness.

 Setup protocols :

 MAC802.11 , AODV,CBR in UDP.

 Main objective is to use a magical number in sensing or accessing the channel.

 Please let me know if you have any further questions.




 On Mon, Feb 4, 2013 at 4:19 PM, Saravanan Kandasamy svana...@gmail.com 
 wrote:

 Why you want to do that? Aint the objective of a network is to provide
 as much throughput as you can? You said nothing about your setup,
 protocols you are using etc. Dont have the liberty to assume
 ourselves. A typical reason on getting lack of support -- SK

 On Mon, Feb 4, 2013 at 10:54 PM, Sai Bhyravajosyula sbhyr...@asu.edu wrote:

 Hi all

 I need some help.


 How can I make a node to access the channel a particular number of times.

 I mean suppose I have a number like 400 , then how can I make a node
 to transmit only 400 times and rest of the time in backoff.

 Please help me .Thanks in advance.


 Thanks.
 --
 Bhyravajosyula Sai Vishnu Kiran
 MS in Computer Science
 mail-id:  sbhyr...@asu.edu





 --
 Bhyravajosyula Sai Vishnu Kiran
 MS in Computer Science
 mail-id:  sbhyr...@asu.edu



Re: [ns] Schedule the backoff timer in mac-802_11

2012-12-07 Thread Saravanan Kandasamy

Dear Falahati,

Doing a flow chart for 802.11 MAC for NS2 is very good. It is not a
easy task though as if you go deeper you will see 3 different flows
you must understand.

1. The event flow - How one event calls another
2. The state flow - For instance, how MAC states e.g tx_state or
rx_state changes, when tx_active activated
3. Timer Management flow - RxTimer, TxTimer, DeferTimer, BackOffTimer
etc managed.

The flow chart you have shared, is incomplete as not explored all the
branches, missing some process and have errors, thus the given
flowchart is not good to understand the 802.11 MAC.

I have reviewed the first block,
Refer: http://www.pixentral.com/show.php?picture=1WK7gXjz96e6klBBw32eI0KcBS2zro

Not to get disheartened on the effort. Suggest you to continually
working on it, eventually it will be correct.

Good Luck.

rgds
Saravanan K

On Fri, Dec 7, 2012 at 10:12 AM, M Falahati md.falah...@gmail.com wrote:

 Hello

 Thanks for your reply.

 Ms Bostanipour, I hope that continuation of our discussion solve some
 problems.

 Yesterday, i was drawing the flowchart with my viewpoint of NS-2 codes.

 Please see the flowchart from
 herehttp://www.pixentral.com/show.php?picture=11IMy2iqu2fgUFjOfZDnEa1LoRLl0.

 I think this flowchart is good for better understanding of Mac-802_11
 mechanism.

 *I have a suggestion:* If you agree, please check this flowchart that we
 can continue our discussion about Mac-802_11 mechanism in details.

 *Note:* this flowchart has drawn to present the send mechanism of
 broadcast data packets in Mac-802_11.

 Sincerely Yours.



Re: [ns] Schedule the backoff timer in mac-802_11

2012-12-07 Thread Saravanan Kandasamy

Yes, it is correct for the specific case you are handling. When I
switched to the picture got the impression its for the generic case.
My bad -- SK

On Fri, Dec 7, 2012 at 12:34 PM, M Falahati md.falah...@gmail.com wrote:
 Dear Kandasamy,

 Thank you very much for your guidance.

 I agree with you that flowchart is incomplete and i try to complete it
 through the assistance of you and other NS users.

 But i told:
 1) Note: this flowchart has drawn to present the send mechanism of
 broadcast data packets in Mac-802_11.

   Since i just consider the send mechanism from upper layer to lower
 layer in MAC, then i ignored Is Dir Down? No.
   Also i think sendRTS() function does not do anything for
 broadcasting data packet, then i ignored it.

  2) I was drawing the flowchart with my viewpoint of NS-2 codes (I'm
 working with NS-2.35).

In Ns-2.35  bugFix_timer_  parameter is defined.
Also i think that insend() function if Is MAC IDLE? No then
 DIFS will set to zero by default. In this case, the start function invokes
 with two arguments.


 Sincerely Yours.



Re: [ns] Default Channel bandwidth in 802.11?

2012-12-02 Thread Saravanan Kandasamy

Dear Behnaz,

Looks like you don't quite understand how MAC 802.11 works.

Phy/WirelessPhy set bandwidth_ 2e6 will only be used if you have not
set basicRate_ or dataRate_ in your MAC setup.

Even so the transmission time does not do packet size/channel
bandwidth, suggest you to study how
Mac802_11::txtime(double psz, double drt) function works in mac-802.11.cc

Good Luck.

rgds
Saravanan K

On Sun, Dec 2, 2012 at 1:02 PM, Behnaz Bostanipour
behnaz.bostanip...@unil.ch wrote:

 Hello,

 I would like to calculate transmission time (tx_time) for packets sent by  
 CMU MAC 802.11.

 Usually we have tx_time=packet size/channel bandwidth.

 I looked in the ns-default.tcl file and I have found this value:

 Phy/WirelessPhy set bandwidth_ 2e6

 Is this the value used for calculation of tx_time by 802.11?

 Thanks,
 Behnaz




Re: [ns] to recover the RSS value

2012-11-03 Thread Saravanan Kandasamy

Hi,

I am not so clear on your description.

1. Where do you want to retrieve the Pr value, in mac/wireless-phy.cc or
else where?

2. If within mac/wireless-phy.cc, you may use Pr or p-txinfo_.getTxPr()
depending the function where you are invoking the value.

rgds
Saravanan K


On Sat, Nov 3, 2012 at 8:39 AM, Basma Bejaoui bejaoui.ba...@gmail.comwrote:


 Hi every body , i'm trying to recover RSS value in a handover procedure,
 I use this instruction defined in mac/wirelss-phy.cc
 p-txinfo_.RxPr
 but the value is always null ??
 why ?
 and how can I resolve this problem??
 thx in advance
 --
 *Cordialement*
 *Basma Bejaoui*
 *Ingénieur Informatique, Génie Télécommunication et Réseaux *
 *+216 20 09 52 02 *



Re: [ns] debugging ns-2 using eclipse

2012-09-22 Thread Saravanan Kandasamy

Dear Dejene,

Perhaps you got the notion of debugging wrongly.

Eclipse does not find one the erroneous part, it simply assist to
pause the simulation midway at your predefined location and walk with
you the simulation in a controlled way till an anomaly occurs.

Try doing some tutorial first to get some grip before pursuing the
debugging process on your own. (Try to Google for the tutorial)

I am little bit confused though, you mentioned you did some sample
simulation (presume its a code with an error) and found the Eclipse
configured correctly. If it is true than you would already have some
idea on the debugging process by now.

rgds
Saravanan K

On Wed, Sep 19, 2012 at 8:23 PM, Dejene B. djz...@gmail.com wrote:

 Hi all,

 I am debugging ns-2 while running simulations using eclipse. I have
 configured eclipse correctly and have tested it by some sample simulation
 and it is working. My problem is, I am not able to find in the debugger how
 to trace an erroneous part. It simply terminates and don't show which part
 of the code has a problem. Anyone who is experienced please help!!

 regards

 --
 *Dejene Boru*
 *.
 *
 Graduate Student-Telecom Eng
 University of Trento
 Via  Brennero 150
 Trento, Italy
 dejeneboru.oljir...@unitn.it
 djz...@gmail.com
 0039-388-998-1919

 *
 *



Re: [ns] Eliminating Packet Loss

2012-09-20 Thread Saravanan Kandasamy

Dear Gregory Butron,

1. To answer your question directly, yes, it is possible. But that approach
does not make sense, as you would compromise the integrity of a simulator.
For e.g when a frame is currently being received by a receiver node and
another new frame arrives overlapping in time, only the strongest frame
will be received by the receiving node. The weaker frame will be discarded
due to collision by IEEE 802.11 MAC i.e one of the typical frame loss
scenario. Modifying the simulator to accept both frames does not
make sense from Physical or MAC layer point of view.

2. What I would suggest is to mark frames lost due to propagation model
separately than any other frame loss scenarios. Later you can do you own
accounting to find the loss incurred due to propagation model. Try to
Google on how to do this.

3. The method in #2 above is practical and accommodate your requirement,
as, when a MAC send a frame from a transmitting node, it goes through a
wireless channel with a certain propagation model, when received by a
receiving node, test will be done to see if there is any error caused by
the propagation model. The below function line would interest you

WirelessPhy::sendUp in Wireless-phy.cc

Good Luck.

rgds
Saravanan K


On Thu, Sep 20, 2012 at 1:35 PM, Gregory Butron gregorybut...@oru.eduwrote:


 I am working on a wireless network simulation where I want to look solely
 at packet loss caused by fading (using the Nakagami propagation model). Is
 there a way to disable all other forms of packet loss?I am using NS2.35 on
 Linux Mint 12.
 Any help is very much appreciated,
 Gregory Butron









Re: [ns] debuggin ns2

2012-09-04 Thread Saravanan Kandasamy

Hi,

NS2 as you already know has two part, the TCL part for the front end
and C++ part for the back end.

To Debug C++ you can you test based debugging tool such as GDB or GUI
based debugging tool such as Eclipse or DDD.

I assume you are looking for a TCL Debugger. There are several you may
try TCL Debug (Don Lib) or the improved version of it such as NSTK
(TCL Debug+Mash+TKCON)

rgds
Saravanan K

On Tue, Sep 4, 2012 at 2:54 PM, Dejene B. djz...@gmail.com wrote:

 Hi all,

 I want to debug ns-2  while running simulation using eclipse. I succeeded
 in debugging ns-2 executable but now want to debug when running tcl code
 simulation. I really appreciate if someone has tried before.
 thanks,

 --
 *Dejene Boru*
 *.
 *
 Graduate Student-Telecom Eng
 University of Trento
 Via  Brennero 150
 Trento, Italy
 dejeneboru.oljir...@unitn.it
 djz...@gmail.com
 0039-388-998-1919

 *
 *



Re: [ns] Error displayed in running tcl scripts in ns2-32

2012-08-23 Thread Saravanan Kandasamy

I guess you are trying to run your simulation using NAM. Allow your
simulation to complete fully before using the time slide bar. Dont stop the
simulation midway using NAM then try to forward it to another time. It
breaks at some machine. One way to validate if there is anything wrong with
your script, disable NAM and try to run it to see if it can get compiled.
If yes, there is nothing wrong in your script. Good Luck -- SK

On Thu, Aug 23, 2012 at 6:13 AM, Manjula Raja rajamanjulase...@gmail.comwrote:


 Hello friends!

 When i try to run any tcl script in ns-2.32, i am facing the flowing error

   Missing required flag -x in: W -t 150

 Missing required flag -y in: W -t 150

 Parsing error in event. 


 Can any body help me out in this regard?
 Will be much obliged

 Regards

 --
 **R.Manjula

 Research Scholar
 Dept of EECE
 IIT Kharagpur
 West Bengal
 **





 --
 **R.Manjula
 Sr.Lecturer, Dept of ECE
 BITM, Bellary
 Karnataka.

 Current Status:

 Research Scholar
 Dept of EECE
 IIT Kharagpur
 West Bengal
 **



Re: [ns] How to find vehicle route information

2012-08-22 Thread Saravanan Kandasamy

Ajmal,

NS2 does not know map, it only moves a node from point A to point B in
straight line in a given velocity.

Assume Node 0 is positioned at (100,100), if it is moving in one direction
is,
$ns_ at 0.0 $node_(0) setdest 150.0 150.0 1.0

to move in the opposite direction is,
$ns_ at 0.0 $node_(0) setdest 50.0 50.0 1.0

Do note it has no negative value as the point of origin is (0,0)

Good Luck.

rgds
Saravanan K

On Wed, Aug 22, 2012 at 6:28 AM, ajmal khan engaj...@yahoo.com wrote:


 Dear all

 Hi

 I am working on VANET. I need to know how to find a route of a vehicle. I
 can generate mobility traces of vehicles in VanetMobisim and it looks like
 this.

 $ns_ at 0.0 $node_(0) setdest 714.9497484683059 494.9497484683058
 0.75267607

 i.e. node 0 will move towards mentioned (x,y) coordinates at speed of
 0.752 but it does not give any information which route it will follow on a
 given map. Please help me how to figure out the routes of vehicles. If
 there is any other tool that can help. please mention that as well.

 Also i would like to know how to find that a vehicle is moving in opposite
 direction.

 your help will be greatly appreciated.

 Thanks in advance





  AJMAL KHAN
 Ph.D Scholar
 Telecommunication Networks Lab
 School of Electrical Engineering and Computer Science
 Kyungpook National University
 Cell : +82 (10) 7732-3885



Re: [ns] segmentation problem

2012-08-08 Thread Saravanan Kandasamy

Dear Sunil Kumar,

Segmentation Fault is a very common problem faced by NS2 users. It has
to do with memory such as trying to access an address that cannot
physically be addressed, thus an exception has been called. It can
happen either in C++ side or at TCL side. The below looks like
happening from C++ side to me.

Thought the problem is very common, unfortunately the cause of the
Segmentation Fault are very wide. It takes more than providing couple
of preceding error lines to solve it.

The right way to handle a Segmentation Fault is by debugging the code.
To start with, if your simulation scenario involves 50 nodes, see if
you could replicate the problem in the smallest possible number of
nodes to simplify your debugging process. For C++ debugging you can
use GDB or even putting simple printf lines around  node 0 received
`UPD` from non-neighbor 5 lines to see if the change of variables,
memory allocation and function calls are done per your need.

It will take some time to understand how GDB codes work for first time
user and a certain amount of troubleshooting effort., once you get
used to it, it will be easy.  After finding where the abnormality
occur, work your way up the code to know what caused the abnormality
and rectify the problem.

Its very rare another person could able to help you to solve
Segmentation Fault without looking at all the codes.

Good Luck.

rgds
Saravanan Kandasamy

On Wed, Aug 8, 2012 at 5:08 AM, sunil kumar scientist@gmail.com wrote:

 hello every one
 I am working with ns-2.35 in windows environment. For ODMRP protocol if
 number of nodes increased above 10 then simulation running successfully for
 99% of simulation time and aborted with the message segmentation
 fault(core dumped)... what happend? can any one tell the solution for
 this...? thanks in advance



Re: [ns] Ignoring collisions during simulation

2012-08-06 Thread Saravanan Kandasamy

Dear Lopes,

Its not a problem if a receiving node receives only one packet, as
collision would not be induced. If another packet arrives during the
receiving of the first packet, this where a collision would be
induced. If you can decide what you like to do with the later packet,
then its possible to make simulation without considering collision,
though I cant find a reason why a person would want to do that.

If you are using 802.11 MAC, the below line will be of your interest
in Mac802_11::recv function,

if(pktRx_-txinfo_.RxPr / p-txinfo_.RxPr = p-txinfo_.CPThresh) {
capture(p);
} else {
collision(p);
}

Good Luck.

rgds
Saravanan K

On Mon, Aug 6, 2012 at 6:35 PM, efrenlopes efrenlo...@gmail.com wrote:


 Hello!

 Is there any way to make simulations without considering the collision of
 packets in wireless networks?

 Thank you!
 --
 View this message in context: 
 http://old.nabble.com/Ignoring-collisions-during-simulation-tp34261426p34261426.html
 Sent from the ns-users mailing list archive at Nabble.com.




Re: [ns] need help on understanding Scheduler::instance().clock()

2012-08-05 Thread Saravanan Kandasamy

Dear Hongsheng Lu,

Scheduler::instance().clock() has 9 decimal point accuracy, most of
the time it will be different.

Even you are calling it in the same file and in the same function, you
might end up completely different timings. You can either use a
debugger or simply printf statements to understand this.

For instance, assume you have a topology of two wireless nodes, T and
R where T transmits a data packet to R using 802.11 MAC.

Try to put a printf statement calling scheduler::instance().clock()
directly before send(p,h) at,

if(hdr-direction() == hdr_cmn::DOWN) {
send(p, h);
return;
}

and another printf statement directly after the IF loop.

in Mac802_11::recv function in mac-802_11.cc file

You will see completely different clock information as it is not a
systems time but simulated time. The first timing information related
when T sends a packet and the second timing information related when R
received a packet at the MAC layer which accounts a link delay among
other timing parameter.

By just shifting the printf statement couple of lines in the same
function you are already at a different node location.

Good Luck.

rgds
Saravanan K





On Sat, Aug 4, 2012 at 2:45 AM, Hongsheng Lu h...@nd.edu wrote:

 Hi there,

 I am a newer to NS2. Could anyone tells me
 how Scheduler::instance().clock() works? In particular,
 when Scheduler::instance().clock() are called at two different places in
 the program (might be in different methods or classes), how can I tell
 whether they return the same or different time? Thanks a lot.

 --
 Best Regards,
 Hongsheng Lu



Re: [ns] RXThresh values!!

2012-08-04 Thread Saravanan Kandasamy

Dear Wben,

I presume you like to know the relationship between distance vs RXthresh ?

It might not be that straight forward as it depends on which multipath
propagation you like to use.

Assume this topology
-Two nodes (T and R),  node T would be transmitting to node R placed x
meter away.

You need to know,
1. Frequency you like to operate
2. Which multipath propagation you like to use.
3. Transmit power
4. Gain of antenna
5. Height of the transmitter and receiver

Assume Two-Ray Ground Reflection Model

Method
1. Using the frequency, calculate the cut off distance (m) using
(4*PI*ht*hr)/lambda where lambda is c/freq, ht and hr is the height of
T and R.
2. If the T-R separation is below the cut off distance, use Friis
Equation, if it is above the cut off distance use two-ray reflection
model.
3. The Pr is the RXThresh you need to set in your simulation varying
the distance from the Friis/Two-ray ground reflection equation which
you can easily get from the internet.

So when you get 300m using 1.76149e-10W RxThresh most likely you used
two-ray ground reflection model operating at 2.4GHz frequency.

Good luck.

rgds
Saravanan K


On Sat, Aug 4, 2012 at 2:18 PM,  wben-...@labri.fr wrote:


 Dear all,
 Has anyone an idea about the different corresponding values of the
 parameter  RXThresh, when varying the distances. Or when I could find
 these values?

 set RXThresh 1.76149e-10 ;#compute with threshold.cc for distance 300m


 Thanks.




Re: [ns] installing ns2.34 on ubuntu 11.10 64 bit error while installing

2012-07-14 Thread Saravanan Kandasamy

Hi,

There are several writeup which would be of help to you.

Refer:
[1] http://erl1.wordpress.com/2011/05/12/installing-ns-2-34-on-ubuntu-11-04/
[2] 
http://www.pradeepkumar.org/2011/07/installing-network-simulator-2-ns2-34-in-ubuntu-11-04.html

Good Luck.

rgds
Saravanan K

On Sat, Jul 14, 2012 at 6:51 PM, Ajinkya kadam ajenkya.ka...@gmail.com wrote:

 i am currently using ubuntu 11.10 64-bit , and while installing ns2.34 i am
 getting a compiling error in tools/ranvar.cc line  213 and 561
 what should i do to remove it ???



Re: [ns] Implementing TORA in NS-2.34

2012-07-06 Thread Saravanan Kandasamy

Dear Rahul Sharma,

Segmentation Fault is a very common problem faced by NS2 users. It has to
do with memory such as trying to access an address that
cannot physically be addressed, thus an exception has been called. It can
happen either in C++ side or at TCL side. The below looks like happening
from C++ side to me.

Thought the problem is very common, unfortunately the cause of the
Segmentation Fault are very wide. It takes more than providing couple of
preceding error lines to solve it.

The right way to handle a Segmentation Fault is by debugging the code. To
start with, if your simulation scenario involves 50 nodes, see if you could
replicate the problem in the smallest possible number of nodes to simplify
your debugging process. For C++ debugging you can use GDB or even putting
simple printf lines around  node 0 received `UPD` from non-neighbor 5
lines to see if the change of variables, memory allocation and function
calls are done per your need.

It will take some time to understand how GDB codes work for first time user
and a certain amount of troubleshooting effort., once you get used to it,
it will be easy.  After finding where the abnormality occur, work your way
up the code to know what caused the abnormality and rectify the problem.

Its very rare another person could able to help you to solve Segmentation
Fault without looking at all the codes.

Good Luck.

rgds
Saravanan Kandasamy

On Fri, Jul 6, 2012 at 9:58 AM, Rahul Sharma wireless.ra...@gmail.comwrote:


 Hi All,

 I tried simulating TORA in NS-2.34 for 20 nodes.

 For some time of execution i receive the output as below and than suddenly
 it shows Segmentation fault:

 node 165506090 received `UPD` from non-neighbor 17
 node 165506090 received `UPD` from non-neighbor 17
 node 165506090 received `UPD` from non-neighbor 17
 node 0 received `UPD` from non-neighbor 1
 node 0 received `UPD` from non-neighbor 1
 node 0 received `UPD` from non-neighbor 16
 node 0 received `UPD` from non-neighbor 16
 node 0 received `UPD` from non-neighbor 16
 node 0 received `UPD` from non-neighbor 16
 node 0 received `UPD` from non-neighbor 5
 node 0 received `UPD` from non-neighbor 5
 node 0 received `UPD` from non-neighbor 5
 node 0 received `UPD` from non-neighbor 5
 node 0 received `UPD` from non-neighbor 5
 node 0 received `UPD` from non-neighbor 5
 node 0 received `UPD` from non-neighbor 5
 node 0 received `UPD` from non-neighbor 5
 node 0 received `UPD` from non-neighbor 5
 node 0 received `UPD` from non-neighbor 5
 node 0 received `UPD` from non-neighbor 5
 node 0 received `UPD` from non-neighbor 5
 node 0 received `UPD` from non-neighbor 5
 *Segmentation fault*


 Can anyone suggest some way to solve this?

 I need it urgently, kindly help


 On Thu, Jul 5, 2012 at 2:49 PM, Durgesh Kshirsagar 
 durgeshpkshirsa...@gmail.com wrote:

  Hi Rahul, you can solve the segmentation fault by remaking the ns2. If it
  doesn't solve try to reinstall the ns2 and check. All the best!
 



[ns] Preamble/Frame Body Capture Threshold - IEEE 802.11b

2012-06-29 Thread Saravanan Kandasamy

Dear All,

If a stronger frame (P1) arrive during the reception of a weaker frame
(P2) by a certain threshold (dB), a MAC (802.11) in NS2 will decide it
as a collision.

However in  hardware implementation for e.g in Prism chipset, P1 can
still be captured if it arrives within P2's preamble time (Preamble
Capture) and in Atheros chipset, P1 can be captured even if it arrives
after P2's preamble time (Frame Body Capture) [1].

Settings in [2],
MAC = IEEE 802.11p
Preamble Capture Threshold = 5dB
Frame Body Capture Threshold  = 10dB

Settings in [3],
MAC = IEEE 802.11p
Preamble Capture Threshold = 4dB
Frame Body Capture Threshold = 10dB

Settings in [4],
MAC = IEEE 802.11a (5.9GHz)
Preamble Capture Threshold = 4dB
Frame Body Capture Threshold = 10dB

These capture thresholds very much dependent on the datarate, chipset
manufacturer's parameter setting etc. It is not defined by the
standard.

Anyone aware the optimal/chipset manufacturer setting for IEEE 802.11b
(e.g 11Mbps) for Preamble and Frame Body Capture Threshold ?

Would appreciate if you could point me to some papers or web URL's for
my further reading. My search have not been fruitful thus far.

rgds
Saravanan K

Reference:
[1] Jiho Ryu, Jeongkeun Lee, Sung-Ju Lee, and Taekyoung Kwon,
Revamping the IEEE 802.11a PHY simulation models,  in Proceedings of
the 11th international symposium on Modeling, analysis and simulation
of wireless and mobile systems (MSWiM '08), pp 28-36, New York, USA
[2] Hannes Hartenstein, Kenneth Laberteaux, VANET: Vehicular
Applications and Inter-Networking Technologies, Wiley,
[3] Moritz Killat* and Hannes Hartenstein, An Empirical Model for
Probability of Packet Reception in Vehicular Ad Hoc Networks, EURASIP
Journal on Wireless Communications and Networking, 2009
[4] Byungjin Cho, A Simulation study on Interference in CSMA/CA
Ad-Hoc Networks using Point Process, Masters Thesis, Aaltoo
University, 2010



[ns] TENS1.2 on NS2.33 (Ubuntu 8.10)

2009-05-07 Thread Saravanan Kandasamy

Hi,

I am new to NS2.

Have anyone successfully installed TENS1.2 on NS2.33 running on Ubuntu 8.10 ?
Need some pointers.

I could be reached at svanan77[at]gmail[dot]com

rgds
Saravanan K