NS3.26 Flowmon not working in the 802.11p enviornemnt

436 views
Skip to first unread message

SAKET MOHAN

unread,
Apr 28, 2017, 2:20:33 PM4/28/17
to ns-3-users
Hi Konstantinos

I would like to get some help from ns3 user community in installing a Flow monitor to monitor performance related parameters. 

What I have done is 

1) I have used SUMO to generate a mobility.tcl file to be used with NS2Mobilityhelper in ns3.
2)  I have used the vanet-routing compare example.cc file and changed the nodes and simulation time. Also, provided it with a path to the above mentioned mobility trace file. 
3) I intend to use scenario=2 in my case so I have deleted the scenario=1.
4) I need to calculate the following 

  • Cross channel interference in a typical operating environment.
  • Packet error rates and safety critical message.
  • End-to-end delay and operating range under all operating conditions
  • Impact of a range of vehicle speeds for vehicles moving in the same/opposite direction on V2I and V2V communication performance. 
  • Critical performance issues operation under higher penetration densities and resulting channel congestion for road safety related application
  • Scalability for safety related applications using the existing bandwidth and transmission power

I have used flowmonitor in my code but it seems there is no output in the xml file generated. 

Being very new to the simulation area apologies if I am asking things which people have already asked for..

Could you please have a look at my code esp. the Flowmonitor such that it gives me an output and that while using Netanim with the SUMO output the node seems to be moving but when used with the actual code (vanet-routing-compare.cc) the node's don't seem to be moving ?

Thanks 
Flowmon.xml
London.log
London.xml
vanet-routing.output.csv
vanet-routing.output2.csv
vanet-routing-compare.cc
vanet-routing-compare.mob
mobility.tcl

Tommaso Pecorella

unread,
Apr 28, 2017, 6:01:57 PM4/28/17
to ns-3-users
Hi,

please read the FlowMonitor documentation.

FlowMonitor will NOT track broadcast packets, and BSM traffic is broadcast.

T.

Saket Mohan

unread,
Apr 28, 2017, 6:17:44 PM4/28/17
to ns-3-...@googlegroups.com
Hi Tommaso 

Thanks for your reply. 

The scenario also has the option to choose routing protocol AODV instead of choosing BSM application to broadcast data. Will AODV performance data be tracked by Flowmon? 

Thanks and if I may ask you to quickly have a look at my Vanet code declaration for Flowmon whether it should be giving any output if I choose AODV routing? 

Thanks 


--
Posting to this group should follow these guidelines https://www.nsnam.org/wiki/Ns-3-users-guidelines-for-posting
---
You received this message because you are subscribed to a topic in the Google Groups "ns-3-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ns-3-users/WzTo8s_YUa8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ns-3-users+...@googlegroups.com.
To post to this group, send email to ns-3-...@googlegroups.com.
Visit this group at https://groups.google.com/group/ns-3-users.
For more options, visit https://groups.google.com/d/optout.
--
Best Regards,
Saket Mohan
Telephone : +447869637964  

Tommaso Pecorella

unread,
Apr 28, 2017, 6:27:39 PM4/28/17
to ns-3-users
Sorry, but... why don't you try ?

Moreover, the scope and limitation of FlowMonitor are here: https://www.nsnam.org/docs/models/html/flow-monitor.html, just check 'em.

T.

Saket Mohan

unread,
Apr 28, 2017, 6:33:50 PM4/28/17
to ns-3-...@googlegroups.com
Hi pal 

The reason I asked you to check is because I have been breaking my head from last a week but could not get to a point where I could see network related parameter using Flowmon and hence my post in this group today. 

Apologies Once again. 

Tommaso Pecorella

unread,
Apr 28, 2017, 8:18:36 PM4/28/17
to ns-3-users
Let me rephrase and let's analyze your question.

The scenario also has the option to choose routing protocol AODV instead of choosing BSM application to broadcast data. Will AODV performance data be tracked by Flowmon? 

AODV is a routing protocol. BSM application is an application.

If you use AODV to broadcast data, you'll have the very same results: FlowMonitor will not work.
In any case, AODV won't broadcast data, because it's not built for broadcasting messages. In other terms, it's a one-to-one ripping protocol, and it doesn't support flooding, broadcast or multicast.

In order to use FlowMonitor you'd need to switch from a broadcast model to a unicast model, which means that you need to change your scenario.
We can't help you with that, and we can't suggest a change that, potentially, won't fit your scenario.

T.

Konstantinos

unread,
Apr 29, 2017, 3:06:26 AM4/29/17
to ns-3-users
A few comments to add to the discussion.

The scenario you are using (vanet-routing-compare) has TWO types of traffic; the broadcast BSM (always on) and unicast traffic (if you enable it you can select the routing protocol to use for that). 

BSM Application is supported with the BSM Stats that gives you statistics about the broadcast traffic (currently only PDR) at different distances. You could extend that to account for delay as well.

Regards,
K

SAKET MOHAN

unread,
May 2, 2017, 10:43:17 AM5/2/17
to ns-3-users
Hi Konstantinos

Is it possible to use the Vanet-routing-compare experiment (in this case with my mobility trace) to calculate CAM performance instead of BSM as in Europe ?

Thanks 

Konstantinos

unread,
May 2, 2017, 10:48:21 AM5/2/17
to ns-3-users
Hi,

The BSM application is a simple broadcast application of fixed packet size, with fixed period (10Hz). 
This can be similar to CAM, without the DCC and without the dynamic interval (according to speed etc). 

Regards,
K

Saket Mohan

unread,
May 2, 2017, 11:04:51 AM5/2/17
to ns-3-...@googlegroups.com
Hi

Would you mind expanding this in detail for me please ? Do I need to tweak the code to exclude DCC -sorry I did not get this if you could explain ?

Thanks



--
Posting to this group should follow these guidelines https://www.nsnam.org/wiki/Ns-3-users-guidelines-for-posting
---
You received this message because you are subscribed to a topic in the Google Groups "ns-3-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ns-3-users/WzTo8s_YUa8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ns-3-users+unsubscribe@googlegroups.com.

To post to this group, send email to ns-3-...@googlegroups.com.
Visit this group at https://groups.google.com/group/ns-3-users.
For more options, visit https://groups.google.com/d/optout.

Saket Mohan

unread,
May 2, 2017, 12:00:19 PM5/2/17
to ns-3-...@googlegroups.com
Hi

I understand the CAM generation has several factors generating factors like

CAM generation – time condition: message interval, provided by DCC, expires – dynamic condition: (i) heading changed > 4°, (ii) position changed > 4 meters, or (iii) magnitude of speed changed > 0.5 m/sec – After 1 second even above two conditions are not met..

So, is there any chance this can be taken in account in the BSM application ? Or how I use approach this as I need to calculate performance related metrics of a CAM ? Do you prefer using another simulator all together ?

Thanks

Konstantinos

unread,
May 2, 2017, 12:01:23 PM5/2/17
to ns-3-users
Hi,

In the US, the IEEE WAVE / SAE stack suggests the broadcast of BSM packets, with fixed 10Hz frequency.
On the other hand, in the EU, the ETSI TS ITS stack is not such straightforward. First, the CAM messages are generated with a more dynamic method (related to mobility) and also the introduction of DCC (Decentralized Congestion Control) mechanism varies the packet generation/broadcast.

You could do the analysis of fixed broadcast messages, with some minor modifications introduce dynamic generation (based on mobility), but the DCC is a bit more tricky to simulate/implement. 

Regards,
K.

Konstantinos

unread,
May 2, 2017, 1:16:16 PM5/2/17
to ns-3-users
You can take such parameters into account but you would need to implement them. 
As I said, it should not be that tricky. You can use the MobilityModel class to access position and velocity vectors (hence get the heading, speed) and monitor their change.

Regards,
K

Saket Mohan

unread,
May 25, 2017, 7:31:22 AM5/25/17
to ns-3-...@googlegroups.com
Hi Konstantinos


An URGENT - QUERY



I am struggling to introduce collisions in the Vanet-routing-compare code attached.
I have a mobility file generated from SUMO which I am using in NS3 to calculate PDR's etc. The other thing which I need to calculate is when a collision happens (if two BSM's are broadcasted at the same time) there will be an affect of this on the PDR and throughput . So my questions is how to introduce the logic of collisions in 802.11p vanet-routing-compare ? Please find attached the code.

Also, can you please confirm that

1) WavePktsSent is the cumulative of all packets sent by all vehicles at that point in time in the simulation and not from one vehicle ?
2) WavePktsReceived - is this also a cumulative of all packets received by all vehicles  ? And why is the received too larger compared to sent (eg: sent 430 and received 14000)
3) What is ExpectedWavePktsReceived ?
4) What is expectedWavepktsInCoverageReceived ?

Thanks
vanet-routing-compare.cc

Konstantinos

unread,
May 25, 2017, 8:39:23 AM5/25/17
to ns-3-users
Hi,

When you send a message in the list and tag it with 'URGENT', most probably you will not get an immidiate reply.
What is urgent for you, does not mean it is urgent for the volunteers that assist in the list.

Regarding your collision question, I can only say that you do not introduce collisions. Collisions are there when you have a shared channel as the CSMA/CA used in 11p.

1) int wavePktsSent = m_waveBsmHelper.GetWaveBsmStats ()->GetTxPktCount ();

int ns3::WaveBsmStats::GetTxPktCount()

Returns the count of transmitted packets.

Returns
count of packets transmitted

2)   int wavePktsReceived = m_waveBsmHelper.GetWaveBsmStats ()->GetRxPktCount ();

int ns3::WaveBsmStats::GetRxPktCount()

Returns the count of packets received.

Returns
the count of packets received

As for the difference with Tx/Rx number, think about it. Broadcast. You sent one, how many receive it? This will also answer the questions below.

3) What is ExpectedWavePktsReceived ?

int ns3::WaveBsmStats::GetExpectedRxPktCount(int index)

Returns the count of expected packets received within range(index)

Parameters
indexindex for statistics
Returns
the count of expected packets received within range(index)

4) What is expectedWavepktsInCoverageReceived 

void ns3::WaveBsmStats::SetRxPktInRangeCount(int index,
int count 
)

Sets the count of packets within range that are received.

Parameters
indexindex for statistics
countthe count of packets

Saket Mohan

unread,
May 25, 2017, 8:54:06 AM5/25/17
to ns-3-...@googlegroups.com
Hi

What I meant was urgent attention as I have to submit a project and it was a last minute thought I didn;t include collisions in this code, and not for the whole community as I am aware people are busy with their own stuuf.

Ok thanks for explaining them above but I still have a question regarding collision - when you say Collisions are there when you have a shared channel as the CSMA/CA used in 11p,  is there a way to use it as part of this vanet-routing-compare code like in the code it says


void
 VanetRoutingExperiment::SetupWaveMessages ()
{
// WAVE PHY mode
 // 0=continuous channel; 1=channel-switching
 int chAccessMode = 0;
if (m_80211mode == 3)
 {
    chAccessMode = 1;
   }

Is this the place  to use a shared channel ie a continuous channel CSMA/CA ?

I did not get this - sorry - Could you please explain how to make use of CSMA/CA in this code to make collisions available ?

Thanks

Konstantinos

unread,
May 25, 2017, 9:08:39 AM5/25/17
to ns-3-users
Hi,

I would recommend to study a book on wireless communications to understand what collisions are and how/why they happen. Your reply shows that you do not have a clear understanding on that concept.
Then study the WAVE standard (1609.4) for multi-channel MAC to understand the difference between the PHY modes (continuous/switching). 

Regards,
K
Reply all
Reply to author
Forward
0 new messages