[Ns-developers] IEEE80211s development in NS-3

kirillano kirillano at yandex.ru
Thu Nov 20 03:33:10 PST 2008


Hi!

We are the team of developers from Wireless Software Research & Development Group of Institute of Information Transmission Problems of the Russian Academy of Sciences.

Our current development in NS3 is aimed to make a complete model of IEEE802.11s D2.0 Draft Standart.
Now we have already developed beaconing model and peer link managament model (including managament frame types and data frame extentions for mesh networking).
Also we are starting to develop HWMP (Hybrid Wireless Mesh Protocol), and we would like to get some advice about constructing MAC-layer routing protocol.

Our idea of constructing MAC-layer routing protocol is copied from realization of FLAME protocol in Linux: 
First, L2 protocol module creates a virtual network device, which grabs real network devices, on which routing should be started. Second, operating system deals with this virtual network device and can consider it to be simple ethernet device.

Now we have implemented mesh-wifi-mac (inherited from wifi-mac), and it can form and send all frame types, included in mesh Draft, but it has no routing primitives implemented and it does not know which frame to send and when (excluding peer link managament and beacons, which are the parts of mesh-wifi-mac).
So we suppose routing module to be written above WifiNetDevice, and routing should work using MLME interface (we want to implement MLME using NetDev, because this way makes some abstraction from realization of MAC) - i.e indication, confirmation, request and response primitives.
Also the routing module is a part of virtual NetDevice, it maintains a routing table, with all routing information including the real interface number (multi-interface model is important for mesh). When route resolve procedure is needed, it tells the real NetDevice all parameters, needed to route-resolve procedure to be started; the NetDevice does the same to MeshWifiMac, and MeshWifiMac forms proper frames with parameters given from routing module. When MeshWifiMac receives a routing managament frame from network, it notifies the routing protocol module using NetDevice, and the routing protocol module updates its routing table.
This model can attach the routing protocol above any kind of MAC (ethernet, etc), not only above MeshWifiMac, though NetDevice should be extended a bit - one address field should be added to real NetDevice Send method, and routing-to-MAC API shall be constructed.
In the attachment you may see a diagram, which illustrates our idea.

Our final aim is to commit our code to NS-3 development tree, so if someone have ideas how to improve this model - let's discuss it here.
Best reguards,
Kirill V. Andreev,
IITP RAS
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ns_mesh.png
Type: image/png
Size: 99456 bytes
Desc: not available
Url : http://mailman.isi.edu/pipermail/ns-developers/attachments/20081120/2b4fe1e6/ns_mesh-0001.png


More information about the Ns-developers mailing list