Difference between revisions of "Current Development"

From Nsnam
Jump to: navigation, search
m (fixes dead link)
(IPv6 for ns-3)
Line 175: Line 175:
 
=== IPv6 for ns-3 ===
 
=== IPv6 for ns-3 ===
  
Note:  the below is stale information but is kept in case it is useful for future developers.  The below ns-3-ipv6-2nd is not on the current roadmap for merge to ns-3-dev. There are two groups working on implementing transport for IPv6 (see bug 1045).
+
IPv6 has been integrated into ns-3. Starting from ns-3.14 it will be possible to use TCP and UDP over IPv6. Any further development will be done directly on the main development tree.
  
* ''summary'': Ipv6 support for ns-3
+
Whoever is still using the old repositories previously linked in this section (i.e., https://svnet.u-strasbg.fr/hg/ns-3-ipv6-2nd/) should upgrade to the main ns-3 codebase as soon as possible.
* ''ns-developers post'': http://mailman.isi.edu/pipermail/ns-developers/2008-June/004283.html
+
* ''code location'': hg clone https://svnet.u-strasbg.fr/hg/ns-3-ipv6-2nd/
+
* ''status'':  ns-3.3 contains the first merge (Ipv6Address) of this code.  ns-3.7 and ns-3.8 will continue to add features.  Here is a tentative roadmap: http://mailman.isi.edu/pipermail/ns-developers/2009-July/006211.html
+
  
 
=== API and functionality for marking TOS bytes in packets ===
 
=== API and functionality for marking TOS bytes in packets ===

Revision as of 11:45, 18 March 2012

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

Installation - Troubleshooting - User FAQ - HOWTOs - Samples - Models - Education - Contributed Code - Papers

On this page, we will try to maintain pointers to current ns-3 development work, and post some suggested project ideas. If you are interested in collaborating on one of these projects, please do not hesitate to contact the individuals identified.

Much of the current activity is centered around the next release, which is ns-3.14 due in April 2012. The release page should list code that is under active review for merging: ns-3.14 release page

If you are new to ns-3 and want to contribute, please read these guidelines: Contributing to ns-3 and review the information on this page below. Please visit our Suggested_Projects page.

Note: ns-3 developers sometimes hang out on IRC at #ns-3 at irc.freenode.net.

We conduct many of our reviews at http://codereview.appspot.com.

Contents

Related projects

There are several projects under development that are integrating external libraries or frameworks with ns-3.

NSF Frameworks for ns-3 project

A multi-year project funded by NSF to improve usability of ns-3. Please see NSF_Frameworks page.

PhySim-Wifi

PhySim-Wifi is a detailed and accurate implementation of the OFDM-based IEEE 802.11 standard, with higher fidelity at the physical layer than found in ns-3.

ns-3-Wireless-Planning

ns-3-Wireless-Planning integrates two powerful applications: Radio Mobile (radio-systems simulator) and ns-3.

Synchronized emulation (Slicetime)

The goal of the Slicetime Project is to enable large-scale network emulation features by synchronizing the execution of a network simulator with virtual machines hosting arbitrary networking software.

the LTE-EPC Network Simulator (LENA) project

A team of developers at CTTC (Nicola Baldo, Marco Miozzo, Manuel Requena, Jaume Nin) has announced the LENA (LTE/EPC Network simulAtor) project to be working in collaboration with Ubiquisys on an enhanced LTE module for ns-3.

Links:

Development for main trunk of ns-3

Some of these projects are active, some dormant, but all seem oriented towards merging with the main trunk of ns-3 if they can be finished off.

ns-3 core

Multi-threaded simulation implementation for multicore

Linux namespaces and ns-3

Device and channel models

Miscellaneous wifi enhancements

Patch to pause and resume an interface

802.11 model extensions

There are several efforts ongoing to extend the ns-3 Wifi model.

Harmonization with ns-2 802.11 Ext models

  • summary: ns-2.33 added a new 802.11 model with much more detailed channel modeling. An effort has been started to port over reusable components from that implementation to ns-3's wifi model, while reusing already implemented basic components. The goal is a harmonization of the 802.11 models of ns-2 and ns-3. Leading aim is to support research on vehicular networks. Planned near-term features:
    • Equalizing PHY models including capture effects, user-definable coding rates (e.g. 5.9 GHz from 802.11p)
    • EDCA QoS extensions of 802.11e
  • Already finished features:
    • Nakagami/Rayleigh propagation loss model
  • ns-developers post: http://mailman.isi.edu/pipermail/ns-developers/2008-November/004936.html
  • code location: http://idlebox.net/2008/ns-3-wifi/code/ns-3-wifiex/
  • status: under current active development. Time frame till this is completed: 4-5 month.

802.11n

  • summary: University of Florence (LART lab) has begun work on an 802.11n model for ns3. The main goal is to simulate the frame aggregation feature. In the future, they aim to implement the High Throughput terminal behaviour with MIMO technology. They plan to add, to ns-3's 802.11 model, the following 802.11n features:
    • Frame Aggregation
    • Block ACK
    • HCF (EDCA and support for HCCA)
    • TXOP
    • HT terminal (also with protection modes)
    • MIMO

Also interested to verify the 11n terminal throughput when are associated terminal of a/b/g standards.

  • Already finished features (in ns-3.5):
    • HCF, TXOP, Frame Aggregation
  • Merged for ns-3.8:
    • Block ACK
  • code location: http://code.nsnam.org/mirko/ns-3-80211n Repository has been removed.
  • status: Frame aggregation and block ack merged already; Tommaso Pecorella announced his lab's next steps here. Current development is on hold.

Wireless Interference (Jamming) Model

Vehicular Ad Hoc Networks (VANET)

  • summary: Michele Weigle's group is working on VANET and has posted a patch for review in the past, but has taken it off the table for ns-3 merge consideration until more work is done.
  • code location: None publicly posted at this time.

ns-3, 802.15.4 + 6LoWPAN

Tommaso Pecorella announced his plans here

Current status is:

  • RPL implementation (storing, multicast): almost finished, will be posted for public discussion soon.
  • 6LoWPAN implementation: a development repository is here
  • 802.15.4 will rely on the lr-wpan module (currently being implemented by Boeing).

Boeing is working on lr-wpan (IEEE 802.15.4-2006) support; details here.

LTE

In addition to the LENA project above, several developers expressed their interest in enhancing the LTE code initially developed within the GSoC 2010:

  • Leo Razoumov announced possible interest in the following contributions:
    • MIMO
    • PHY model abstractions
    • scheduling models
    • mobility and traffic models
  • Giuseppe Piro and his group (DEE, Politecnico di Bari) announced the intent to continue with the development of the LTE module, focusing mainly on the following MAC layer aspects:
    • RRM
    • scheduling
    • AMC
  • Marco Mezzavilla and his group (DEI, University of Padova) announced interest in working on the following, and have posted a repository in February 2011 details here:
    • MAC layer
    • mobility
    • traffic modelization
    • MIMO
  • Sandra Frei announced that a group is working on Evolved Packet System (EPS) support
    • GTPv1-U (for the user plane)
    • GTPv2-C (for the control plane)
    • Diameter: Supported use cases: default- and dedicated bearer establishment
    • NAS (ESM, EMM) A combined initial attach with a default bearer establishment. Dedicated bearer establishment
    • X2AP HO without SGW relocation. Endmarker messages are not supported
    • PMIPv6: PBU/PBA, LMA, MAG

Link layer

802.21 media independent handover

MPLS

Network layer

IPv6 for ns-3

IPv6 has been integrated into ns-3. Starting from ns-3.14 it will be possible to use TCP and UDP over IPv6. Any further development will be done directly on the main development tree.

Whoever is still using the old repositories previously linked in this section (i.e., https://svnet.u-strasbg.fr/hg/ns-3-ipv6-2nd/) should upgrade to the main ns-3 codebase as soon as possible.

API and functionality for marking TOS bytes in packets

DSR routing

DSDV routing

Transport layer

TCP Vegas

Multipath TCP

NS-3 module for MPTCP (Multipath TCP). The current release is compatible with 3.8 version of NS-3. A check of the compatibility with the latest version is needed.

Application layer

Chord/DHash DHT

Synchronous posix/sockets API

real-world application integration

ns-3-simu sockopt patches

Pastry

Visualization

Jeremy Norman and the iNSpect team have posted some plans for a visualization library for ns-3:

George Riley has made a prototype animator for PointToPoint links.

Joe Kopena is working on what he calls a "decorator" http://code.nsnam.org/tjkopena/

Hagen Paul Pfeifer is working on a MANET visualizer http://nv.dev.jauu.net/

Graphical simulation builder

Pierre Weiss and Sebastien Vincent have written an ns-3 scenario generator in Qt.

NetExplorer

| NetExplorer is Gnome/Gtk network animation tool for NS-3.

Miscellaneous

L2 Ethernet switch module

Parallel simulations (2008)

Delay Box for ns-3

Matt Crinklaw is working on a port of ns-2 DelayBox to ns-3.

Simulation Configuration and State Detection

In order to configure simulations across multiple, probably virtualized, machines a large amount of configuration must be performed in order to construct the component systems. The oppportunity for human error to creep in during this process renders it essentially manually unworkable for all but the simplest topologies. Craig Dowell is thinking about how to address this problem.

Simulation Configuration

Build system and project infrastructure

Modular build and package management

This issue is being tracked (requirements and wish list) on this page

State of Doxygen

Need to bring Doxygen into compliance (no errors, no warnings for missing documentation).

Buildbots

  • investigate hooking code coverage (lcov) into the report
  • investigate how the whole buildbot farm may be made available to a maintainer to test out a non-ns-3-dev repo.

Code contribution guidance

Tom took action item to simplify and clarify the project code contribution guidelines (for people wishing to contribute new code to ns-3).

Samples directory

Consider cleanup and move of samples/ directory to examples/?

Documentation

Considering to refactor documentation to split the existing manual into a model library and a software core reference manual, to add a lighter-weight tutorial, and to add a "cookbook" of howtos for common ns-3 tasks.

Website

Status: INRIA is organizing some updates to the website.