Difference between revisions of "Current Development"

From Nsnam
Jump to: navigation, search
(Device and channel models)
(update Current Development)
Line 14: Line 14:
  
 
= Ongoing development projects =
 
= Ongoing development projects =
 +
 +
== ns-3 core ==
 +
 +
=== Multi-threaded simulation implementation for multicore ===
 +
 +
* ''ns-developers post'':  http://mailman.isi.edu/pipermail/ns-developers/2009-July/006197.html
 +
* ''code location'':  http://code.nsnam.org/guillaume/ns-3-multithreading/
 +
* ''status'': ns-3.10 merge?
 +
 +
=== Synchronized emulation ===
 +
 +
* ''code location'': None posted yet
 +
* ''background'':  http://mailman.isi.edu/pipermail/ns-developers/2009-July/006198.html
 +
* ''status'':  contact Elias Weingartner
  
 
== Device and channel models ==
 
== Device and channel models ==
 +
 +
=== Spectrum modeling support ===
 +
 +
* ''ns-developers post'': [http://mailman.isi.edu/pipermail/ns-developers/2009-April/005759.html original post] [http://mailman.isi.edu/pipermail/ns-developers/2010-March/007529.html review request]
 +
* ''code location'': [http://codereview.appspot.com/230045 corereview] [http://code.nsnam.org/nbaldo/ns-3-dev-spectrum mercurial]
 +
* ''status'': review requested, merge candidate for ns-3.9
  
 
=== underwater acoustic network device ===
 
=== underwater acoustic network device ===
Line 34: Line 54:
 
* ''reviewer(s)'':  Mathieu Lacage
 
* ''reviewer(s)'':  Mathieu Lacage
 
* ''status'':  waiting for more reviews
 
* ''status'':  waiting for more reviews
 
=== Chord/DHash DHT ===
 
 
* ''code location'': http://code.nsnam.org/gillh/ns-3-chord
 
* ''reviewers'': (none yet)
 
* ''background'': http://mailman.isi.edu/pipermail/ns-developers/2009-December/007222.html
 
 
=== ns-3-simu sockopt patches ===
 
 
* ''code location'': Four patches listed in http://mailman.isi.edu/pipermail/ns-developers/2009-June/006144.html
 
* ''reviewer(s)'':  TBD
 
* ''status'': review requested on June 22
 
* ''background'':  http://mailman.isi.edu/pipermail/ns-developers/2009-June/006144.html
 
  
 
=== Miscellaneous wifi enhancements ===
 
=== Miscellaneous wifi enhancements ===
Line 60: Line 67:
 
* ''reviewer(s)'':  TBD
 
* ''reviewer(s)'':  TBD
 
* ''status'':
 
* ''status'':
 
  
 
=== 802.11 model extensions ===
 
=== 802.11 model extensions ===
Line 92: Line 98:
 
* ''code location'': http://code.nsnam.org/mirko/ns-3-80211n
 
* ''code location'': http://code.nsnam.org/mirko/ns-3-80211n
 
* ''status'':  Frame aggregation and block ack merged already; others TBD
 
* ''status'':  Frame aggregation and block ack merged already; others TBD
 +
 +
== Link layer ==
 +
 +
=== MPLS ===
 +
 +
* ''code location'': http://code.google.com/p/ns3-mpls/
 +
* ''reviewer(s)'':  None
 +
* ''status'':  None announced
 +
 +
=== 802.21 media independent handover ===
 +
 +
* ''wiki page'': http://www.nsnam.org/wiki/index.php/NS-3_MIH_implementation
 +
* ''code location'':  http://code.nsnam.org/salumu/ns-3-mih/
 +
* ''status'': Dormant-- no merge plans announced.
 +
 +
== Network layer ==
  
 
=== IPv6 for ns-3 ===
 
=== IPv6 for ns-3 ===
Line 100: Line 122:
 
* ''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
 
* ''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
  
=== Spectrum modeling support ===
+
== Application layer ==
  
* ''ns-developers post'': [http://mailman.isi.edu/pipermail/ns-developers/2009-April/005759.html original post] [http://mailman.isi.edu/pipermail/ns-developers/2010-March/007529.html review request]
+
=== Chord/DHash DHT ===
* ''code location'': [http://codereview.appspot.com/230045 corereview] [http://code.nsnam.org/nbaldo/ns-3-dev-spectrum mercurial]
+
* ''status'': review requested, merge candidate for ns-3.9
+
  
=== Multi-threaded simulation implementation for multicore ===
+
* ''code location'': http://code.nsnam.org/gillh/ns-3-chord
 +
* ''reviewers'': (none yet)
 +
* ''background'': http://mailman.isi.edu/pipermail/ns-developers/2009-December/007222.html
  
* ''ns-developers post'':  http://mailman.isi.edu/pipermail/ns-developers/2009-July/006197.html
+
=== Synchronous posix/sockets API ===
* ''code location'':  http://code.nsnam.org/guillaume/ns-3-multithreading/
+
* ''status'': recently announced; still under development
+
  
=== Synchronized emulation ===
+
* ''summary'': An ns-3 "process" environment
 +
* ''ns-developers post'': http://mailman.isi.edu/pipermail/ns-developers/2008-April/003912.html
 +
* ''code location'': http://code.nsnam.org/mathieu/ns-3-simu
 +
* ''status'':  still in development
  
* ''code location'': None posted yet
+
=== real-world application integration ===
* ''background'':  http://mailman.isi.edu/pipermail/ns-developers/2009-July/006198.html
+
 
 +
* ''summary'': port of quagga routing to ns-3
 +
* ''wiki page'': http://www.nsnam.org/wiki/index.php/Real_World_Application_Integration
 +
* ''code location'': http://code.nsnam.org/lj/quagga-porting/
 +
* ''status'':  Was developed by Liu Jian, Google Summer of Code.  Portions of this code are planned for a future release (ns-3.8 or later) when ns-3-simu is merged.
 +
 
 +
=== ns-3-simu sockopt patches ===
 +
 
 +
* ''code location'': Four patches listed in http://mailman.isi.edu/pipermail/ns-developers/2009-June/006144.html
 +
* ''reviewer(s)'':  TBD
 +
* ''status'': review requested on June 22
 +
* ''background'':  http://mailman.isi.edu/pipermail/ns-developers/2009-June/006144.html
  
=== Visualization for ns-3 ===
+
== Visualization for ns-3 ==
  
 
Jeremy Norman and the iNSpect team have posted some plans for a visualization library for ns-3:
 
Jeremy Norman and the iNSpect team have posted some plans for a visualization library for ns-3:
Line 130: Line 164:
  
 
Hagen Paul Pfeifer is working on a MANET visualizer http://nv.dev.jauu.net/
 
Hagen Paul Pfeifer is working on a MANET visualizer http://nv.dev.jauu.net/
 
=== Synchronous posix/sockets API ===
 
 
* ''summary'': An ns-3 "process" environment
 
* ''ns-developers post'': http://mailman.isi.edu/pipermail/ns-developers/2008-April/003912.html
 
* ''code location'': http://code.nsnam.org/mathieu/ns-3-simu
 
* ''status'':  still in development
 
 
=== real-world application integration ===
 
 
* ''summary'': port of quagga routing to ns-3
 
* ''wiki page'': http://www.nsnam.org/wiki/index.php/Real_World_Application_Integration
 
* ''code location'': http://code.nsnam.org/lj/quagga-porting/
 
* ''status'':  Was developed by Liu Jian, Google Summer of Code.  Portions of this code are planned for a future release (ns-3.8 or later) when ns-3-simu is merged.
 
  
 
=== L2 Ethernet switch module ===
 
=== L2 Ethernet switch module ===
Line 156: Line 176:
 
* ''code location'': http://code.nsnam.org/pfeifer/ns-3-para/
 
* ''code location'': http://code.nsnam.org/pfeifer/ns-3-para/
 
* ''status'':  dormant since 2008 Google Summer of Code
 
* ''status'':  dormant since 2008 Google Summer of Code
 +
 +
== Miscellaneous ==
  
 
=== Simulation Configuration and State Detection ===
 
=== Simulation Configuration and State Detection ===
  
In order to configura 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.
+
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.
  
 
[[SimulationConfiguration | Simulation Configuration]]
 
[[SimulationConfiguration | Simulation Configuration]]
Line 170: Line 192:
 
* ''status'':  No status update recently.  Dormant.
 
* ''status'':  No status update recently.  Dormant.
  
=== 802.21 media independent handover ===
 
  
* ''wiki page'': http://www.nsnam.org/wiki/index.php/NS-3_MIH_implementation
+
= Suggested projects =
* ''code location'':  http://code.nsnam.org/salumu/ns-3-mih/
+
* ''status'': Dormant-- no merge plans announced.
+
  
== Suggested projects ==
+
== 2010 Google Summer of Code Project Ideas ==
 
+
=== 2010 Google Summer of Code Project Ideas ===
+
  
 
We have posted some project ideas for [http://code.google.com/soc/ Google Summer of Code].  However, these ideas are not limited to the Google program.
 
We have posted some project ideas for [http://code.google.com/soc/ Google Summer of Code].  However, these ideas are not limited to the Google program.
Line 184: Line 201:
 
'''[[GSOC2010Projects | Project ideas here]]'''
 
'''[[GSOC2010Projects | Project ideas here]]'''
  
=== Path MTU discovery and fragmentation for IPv4 stacks ===
+
== Path MTU discovery and fragmentation for IPv4 stacks ==
  
 
There is no [http://en.wikipedia.org/wiki/Path_MTU_discovery path MTU discovery] implemented for IPv4.  This, combined with lack of fragmentation, makes guessing the end-to-end MTU imperative for ns-3 simulations.  We would welcome a contribution that introduced path MTU discovery and IPv4 fragmentation to ns-3.  Note that there is fragmentation support in the [http://yans.inria.fr/yans/ yans simulator] that may be of use; contact Mathieu Lacage for more information.   
 
There is no [http://en.wikipedia.org/wiki/Path_MTU_discovery path MTU discovery] implemented for IPv4.  This, combined with lack of fragmentation, makes guessing the end-to-end MTU imperative for ns-3 simulations.  We would welcome a contribution that introduced path MTU discovery and IPv4 fragmentation to ns-3.  Note that there is fragmentation support in the [http://yans.inria.fr/yans/ yans simulator] that may be of use; contact Mathieu Lacage for more information.   
  
=== Ns3 Wireless PHY ===
+
== Removing traffic generation from applications class ==
 
+
This project aims at building a high-quality set of PHY-level models for wireless networks: [[Ns3WirelessPhy]]
+
 
+
Mathieu Lacage is coordinating this work and has a workshop session at [http://www.wns3.org wns3] in March 2009.
+
 
+
=== Traffic generation applications ===
+
 
+
George Riley (riley@ece.gatech.edu) is overseeing the porting of application models from [http://www.ece.gatech.edu/research/labs/MANIACS/GTNetS/ GTNetS] to ns-3.
+
+
=== Removing traffic generation from applications class ===
+
  
 
#* ''summary'': Proposed decoupling to generalize applications
 
#* ''summary'': Proposed decoupling to generalize applications
Line 205: Line 212:
 
#* ''status'':  Was under discussion in the summer.
 
#* ''status'':  Was under discussion in the summer.
 
#:
 
#:
 
----
 
[[User:Craigdo|Craigdo]] 23:57, 27 March 2009 (UTC)
 

Revision as of 03:58, 30 March 2010

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 current release, which is now ns-3.8 due in April. The release page should list code that is under active review for merging.

ns-3.8 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.

Note: Several ns-3 developers hang out on IRC at #ns-3 at irc.freenode.net. A typically active time is around 1500 to 1900 UTC, Mondays through Fridays.

We conduct many of our reviews at http://codereview.appspot.com. The Reviews page links to some of this code that is currently under review (also summarized below).

Ongoing development projects

ns-3 core

Multi-threaded simulation implementation for multicore

Synchronized emulation

Device and channel models

Spectrum modeling support

underwater acoustic network device

WIFI_PHY_STANDARD_80211p_SCH/CCH

Vehicular Ad Hoc Networks (VANET)

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
  • status: Frame aggregation and block ack merged already; others TBD

Link layer

MPLS

802.21 media independent handover

Network layer

IPv6 for ns-3

Application layer

Chord/DHash DHT

Synchronous posix/sockets API

real-world application integration

ns-3-simu sockopt patches

Visualization for ns-3

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

Gustavo Carneiro is working on a NS-3 Python visualization tool called NS-3 PyViz.

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/

L2 Ethernet switch module

Parallel simulations (2008)

Miscellaneous

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

Delay Box for ns-3

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


Suggested projects

2010 Google Summer of Code Project Ideas

We have posted some project ideas for Google Summer of Code. However, these ideas are not limited to the Google program.

Project ideas here

Path MTU discovery and fragmentation for IPv4 stacks

There is no path MTU discovery implemented for IPv4. This, combined with lack of fragmentation, makes guessing the end-to-end MTU imperative for ns-3 simulations. We would welcome a contribution that introduced path MTU discovery and IPv4 fragmentation to ns-3. Note that there is fragmentation support in the yans simulator that may be of use; contact Mathieu Lacage for more information.

Removing traffic generation from applications class