[Ns-developers] Update on ns-3 802.11n
tpecorella at mac.com
Mon Aug 30 17:15:18 PDT 2010
After the summer I'm back on track (I hope) and I count on starting some serious work toward 802.11n support in ns-3.
So I guessed to give news about the current status and the path to achieve it.
There are some major points to handle to achieve 11n support, so any feedback is appreciated. In order of importance, they are:
1) new preambles.
2) new coding schemes (and the various related timings)
3) mixed mode operations (b/g/n)
4) 20/40 support
5) MIMO support
6) AMPDU aggregation
Even if from a "user" point of view probably the most exciting and interesting thing would be to have the raw power of 11n, as is the MIMO and 20/40 stuff, they are not the first thing in my list, and that for a number of reasons.
Preambles and coding schemes are blocking features, as is they *have* to be implemented. Coding schemes, being quite similar to 11a ones, should not be a big issue. Preambles on the contrary are quite harder, as to my best knowledge ns-3 use everywhere the long preambles. Hence first I'll have to figure out how to let the nodes decide about the preambles. Btw, in the process probably we'll have the support for the short preambles as well as an "unplanned" feature.
Mixed modes should go smooth as well, as it is a feature coming directly from negotiations. On this point however I have some doubts. How much do we need to support the case of an 11n AP having mixed nodes associated, as is some 11n, some 11g and some 11b? Theoretically they're backward compatible, so it's only a matter of choosing what is the degree of flexibility we want to have in the simulations.
BTW, this raises also another point, also 11b have the short preambles as optionals, so we also should have an attribute or something to allow/forbid the use of short preambles in 11b nodes. Maybe I should open a bug just for this. After solving the preambles things ofc, right now it's pointless.
20/40 support is planned, but not immediately. Moreover it will probably have to be managed alongside with... MIMO :P
Now, MIMO support is really giving me headaches, as:
a) it will basically mean to have up to 4 data flows (and more attributes to set the number of antennas in a node).
b) there are also the combinations of different coding rates, not only the sum of the basic ones.
If we handle them as more possible modcods, we'll end up with thousands of them. If we handle them "just" as parallel flows it will require some heavy work on the lower layers. And that's why I wouldn't mind delaying those features, consolidating first points 1 and 2.
As for the missing aggregation, I feel that this is not a big issue. We can live without it for the time being, or work on it in parallel with the other features.
So, the plan right now is to concentrate on having a basic support for the 1 antenna terminals, with the right preambles, modcods and mixed mode operations. When that will be consolidated, we will start adding the missing features.
Comments and feedbacks are greatly appreciated.
The nice thing about standards is that there are so many to choose from.
And if you really don't like all the standards you just have to wait another year until the one arises you are looking for.
-- A. Tanenbaum, "Introduction to Computer Networks"
Tommaso Pecorella - Ph.D.
Dpt. Elettronica e Telecomunicazioni
Università di Firenze
CNIT - Università di Firenze Unit
via di S. Marta 3
email: tommaso.pecorella at unifi.it
tommaso.pecorella at cnit.it
phone : +39-055-4796412
fax : +39-055-494569
More information about the Ns-developers