This page is for coordinating development of the lr-wpan model for ns-3.
802.15.4 models have been worked on in ns-2 dating to 2003.
- A thorough model for 802.15.4 is implemented in ns-2 and described here
- This work did some additional work on the ns-2 model.
- more description of the ns-2 implementation is here
Some initial 802.15.4 models were contributed by Boeing in the 2011 timeframe, and maintained at http://code.nsnam.org/tomh/ns-3-lr-wpan/. This repository is now considered obsolete, replaced by the 'lr-wpan' module that is now in ns-3 as of ns-3.20 release.
In ns-3.19 release, a 6LoWPAN model was included, but the 6LoWPAN model precedes the 802.15.4 model. As a consequence, the 6LoWPAN examples are based on wired (csma) NetDevices.
Current status and next steps
Initial 802.15.4 support will be included in ns-3.20. Full 802.15.4 support is expected to require a few release cycles.
Goals for ns-3.20
Support for 6LoWPAN over 802.15.4 model(done)
Define clearly what features are modeled and validated, and which are for further study.
Goals for post-3.20
- Align with 802.15.4-2011 version of the standard
Other goals are to be determined and will later be listed here.
Previous list of issues with 802.15.4 model
Some initial code has been available for some time now at http://code.nsnam.org/tomh/ns-3-lr-wpan/.
Some missing features have been identified by others:
- Extended adresses
- Expose all MAC and PHY variables as ns-3 attributes.
- Implement Interframe Spacing (IFS) in the MAC.
- Do we need PacketBursts in LrWpanSpectrumSignalParameters? Maybe a Packet would be sufficient.
Calculate and check FCS if global attribute ChecksumEnable is set.
Class WpanAddress is not used, remove? Or use it instead of Mac16Address/Mac64Address.(WpanAddress Removed)
- NetDevice: LinkUp, LinkDown, remove? Or enable/disable transceiver.
- NetDevice: 6LoWPAN: Do you need the MTU, which MTU should we export? The maximum, i.e. without security, only 16bit addresses and with only the destination address and pan id, or source and destination addresses with pan id compression?
- This is dependent on the PAN. Once a node is associated, those params are known.
NetDevice: NeedsArp: Only true for 6LoWPAN?(No. ARP is needed by 802.15.4. Eventually it's suppressed by higher layer protocols (e.g., 6LoWPAN-ND)
Helper for assigning MacAddresses and configuring the lr-wpan stack.(Done)
- LrWpanSpectrumValueHelper: Make noise factor accessible through the ns-3 attribute system
LrWpanSpectrumValueHelper: Make all functions static?
PHY: More sophisticated handling of interference, i.e. handle it at all
- PHY: Tracing should be reviewed, especially RxBegin, RxEnd, RxDrop
PHY: Do we really need m_rxTotalNum, or can we derive the information from m_rxTotalPsd?
- Coordinator, GTS, CAP
The 6LoWPAN module has been merged with ns-3-dev and is available from ns-3.19. The current implementation is based on RFCs 4944 and 6282. The module does not implement all the 6LoWPAN features (in particular BC0, MESH and HC2 are not implemented). Moreover stateful compression is not yet supported (as it requires 6LoWPAN-ND).
Interested users should read the Doxygen and ns-3 manual for a full description of the module functionalities and limitations.
The "Neighbor Discovery Optimization for Low Power and Lossy Networks", also called 6LoWPAN-ND (RFC 6775) is strongly being considered for implementation. It could be extremely useful to study WSN bootstrap operations and proper RPL neighbor discovery under limited (i.e., non-multicast capable) assumptions. Moreover, 6LoWPAN-ND is required for stateful 6LoWPAN header compression. Currently, due to lack of resources, the development is on hold. Anyone interested in this development can contact Tommaso Pecorella
RPL (Routing Over Low power and Lossy networks)
RPL is being developed by Tommaso Pecorella (and others). No repository is actually available and only a restricted set of developers have access to the code. It will be released as soon as it's ready for the general use. Some of the features that will be in the model are:
- full support for custom metrics
- Storing with multicast support MOP
- P2P routes
The RPL model is currently at its 5th refactoring. Current development is focusing on a better handling of parents, along with their metric changes.The new code will support seamless integration of new metrics, up but not limited to:
- HC (the dumbest metric)
Note that, in order to really use the Energy metric, a full refactoring of the lr-wpan model will be required.