[Ns-developers] Ideas about 802.11 enhancements in ns-3

Timo Bingmann timo.bingmann at student.kit.edu
Fri Nov 21 08:23:28 PST 2008


Hello people,

I'm a student at the University of Karlsruhe and am going to write my diploma thesis in the next 6 months. The thesis will be about some various enhancement of the 802.11 layers in ns-3. The DSN research group [1] here studies vehicular networks and enhanced the 802.11 implementation in ns-2 with some aspects crucial to their work. This "Overhaul NS-2" [2] was included in the newest ns-2.33 release as WirelessPhyExt and Mac802_11Ext extension classes.

They want me to port the implementation onto ns-3, because it clearly has the cleaner code base and should be used for future research by the group. That's the basic idea. Whether "porting" is appropriate is a different question. In the end, the results should be comparable or show accountable differences.

Furthermore the group is interested in QoS / 802.11e extensions for obvious purposes (e.g. set packets reporting car crashes to highest priority). In VANETs only EDCA is interesting, due to the lack of an AP for HCCA.

So that's what I hope to accomplish within the next 6 months. This is my first contact with the deeper level of 802.11 and ns-3. I have spent the last month digging into the 802.11 standard and ns-2/3 wifi code.

The following are a collection of ideas and improvements which I could do. I hope for some helpful comments.

ns-3 inherited from yans a much more complex PHY model than standard ns-2 currently has. There are many patches available to ns-2's wifi, which I haven't been able to go through yet.

The WirelessPhyExt from ns-2 uses a SINR-based reception threshold with cumulative noise. WirelessPhyExt also models preamble and data capture of stronger signals. The DSN contributed a Nakagami propagation loss model to ns-2. (Rayleigh fading is a special case of Nakagami.)

ns-3's WifiPhy on the other hand uses BER/PER to determine packet reception. Cumulative noise is already implemented. Preamble and data capture however is missing. Also two propagation loss models from ns-2 are missing: TwoRayGround and Nakagami.

In standard ns-2 wifi packet reception is deterministic, except when using the probabilistic Nakagami propagation loss model. BER/PER on the other hand already includes a probabilistic reception criterion at the end.

As first steps into ns-3, I have already ported Nakagami (+ dependencies) to ns-3. To cross-check the results with ns-2, I disabled BER-calculation in WifiPhy and replaced it with a simple SINR-criterion. The results of some simple simulations were equal.

Next step on the way will be to implement preamble and data capture. This is not an easy move, because it means changing the state machine of WifiPhy.
First question is then: should I change the current ns-3-dev WifiPhy or take mathieu/ns-3-wifi and implement a derived WifiPhy class aiming at compatibility with ns-2 WirelessPhyExt?

>From reading dca-txop.cc and old yans code, I believe implementing QoS extensions is rather straight-forward. Mathieu advised me against porting the old yans code. I will also have a long look at Casetti's 802.11e patch to ns-2.

Another issue are the fixed 802.11a PHY parameters in ns-3. I understand this is needed for all the rate control to work. But somehow extending this to allow 802.11b/g parameters and future 802.11p for VANET is really necessary.
Has anyone worked on this issue? I believe it is coupled with the virtualized PHY classes in mathieu/ns-3-wifi.

Greetings
Timo Bingmann

[1] http://dsn.tm.uka.de
[2] http://dsn.tm.uka.de/Overhaul_NS-2.php



More information about the Ns-developers mailing list