Veins is easy to use the map with obstacles from SUMO. However, it lacks routing operations of communication networks. I want to add AODV routing on the top of Veins' examples. What is the straightforward way ?
Thank you in advance!
INET 4 supports the simulation of routing protocols. I would therefore recommend to essentially build a simulation using INET 4, then to use Veins (and veins_inet) to drive node mobility/creation in your simulation. See the veins_inet example for how to do that.
Related
Vehicles communicate using 802.11p on Veins 5.1, OmNET 5.6.2, sumo 1.8.0 environment.
My questions
Do I have to implement retransmission process(like CSMA/CA) when collision is occurred?
or, is retransmission process(like CSMA/CA) already implemented in library or such class?
I want to use RTS/CTS option, do I have to implement it too?
Thank you
To directly answer your question: the 802.11p modules that are included in Veins 5.1 trigger automatic retransmissions (following the 802.11 specification) for lost unicast messages if the MAC layer useAcks parameter is set to true (which is not the default). RTS/CTS is not implemented, so if you want to use only modules from Veins you would need to implement this yourself.
More generally, though, your research sounds like it might be better served if you would combine Veins with The INET Framework (via veins_inet); this would allow you to use the more general 802.11 simulation model included in The INET Framework. It includes features like block-ACKs, RTS/CTS, fragmentation and reassembly, infrastructure mode, automatic rate selection, and many more.
I implemented AODV and GPSR protocol existing in inet module on the senario network existing in veins-inet subproject.so, how to implement them based on 80211p ?
In other words , i want to use the upper layers of INET and lower layers of Veins?
I am using instant veins-4.7.1
If you want to use lower layers of Veins, you will need to write an adapter module yourself. Its design is straightforward: to upper layers, it will look like an INET NIC, to lower layers it will act like a Veins application.
Note, however, that recent versions of the INET Framework offer an easier way: their WLAN NIC can be configured to behave according to 802.11p. While this has not received as much use as the modules of Veins, it should serve as a reasonably-safe alternative in many applications.
See the veins_inet example of recent Veins versions for how to configure INET to model 802.11p VANETs and, at the same time, use Veins for ensuring realistic road traffic.
I am successfully able to establish a connection between Omnet++ and SUMO using the sumo-launchd.py and am able to track the vehicles.
The main problem is that I am not able to understand which routing protocol is used and where it is written in the VEINS package.
This is my main concern because I cannot implement my own proposed routing algorithm unless I understand the protocol already existing.
Hope that I will get some sort of assistance
In order to understand the demo application which is shipped with Veins and how to start building your own scenario and applications please read the following posts:
What exactly does handleParkingUpdate() do?
Building my own veins scenario
Regarding Dynamic Routing in Veins
what policy is based vehicle rerouting in case of accident?
I am developing Car2X applications in order to simulate case studies based on Veins framework.
As an Information Systems student, I have been worried mostly about the code of my applications.
Recently I noticed that VEINS has no LLC, NETWORK and TRANSPORT layers in its source code (/src).
My question is: how to assure that my simulation runs would generate data close to reality for Car2X applications when there's none of these layers above in the source code?
P.S.: I am aware of INET framework and its protocols, I was just wondering if I could use just Veins for my case studies :)
The layers you mentioned are not needed for most Car2X simulations. If you download, for example, Veins 4.4, you will find only simulation models for single hop broadcast transmission of frames, the most general use case. If you want to simulate a special protocol, say, for multi-hop transmission of frames, you will need to implement this as a network layer. Then, your simulation will have a network layer model.
I want to develop and test a protocol for wireless sensor networks in OMNeT++. Which framework should I use?
Is it sensible to use Castalia or MiXiM although they are deprecated?
Is it sensible to use inet without using the 802.11 stuff?
INET is practically a superset of MiXiM. It is possible to use it without the 802.11 radio. Depending on how accurate your physical model needs to be, you can configure it with different radios (with different speed and complexity). If your goal is to test routing algorithms then probably a simple radio will do the job. I also suggest to check out the wireless tutorial for INET.