Difference between revisions of "Current Development"

From Nsnam
Jump to: navigation, search
m (Nix-vector routing)
m (Nix-vector routing)
Line 167: Line 167:
=== Nix-vector routing ===
=== Nix-vector routing ===
* ''review location'':  http://codereview.appspot.com/101054/show
* ''review location'':  http://codereview.appspot.com/101058/show
* ''code location'':  http://code.nsnam.org/jpelkey3/ns-3-nix-vector-routing
* ''code location'':  http://code.nsnam.org/jpelkey3/ns-3-nix-vector-routing
* ''status'': under development for ns-3.6
* ''status'': under development for ns-3.6

Revision as of 18:47, 5 August 2009

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.

For newcomers: Contributing to ns-3

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.

Developer home pages

Here are some developer pages, to see what people are currently working on:

Code contributions under review for main tree

This section is devoted to code that is being reviewed or considered for merge to ns-3-dev. Some small patches are not included here and can be found in the tracker instead, often with the keyword PATCH

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).

Multi-channels in yans wifi phy

Athstats wifi trace sink

802.11 10 MHz channel

802.11 mesh model review

underwater acoustic network device

ns-3-simu sockopt patches

Miscellaneous wifi enhancements

Patch to pause and resume an interface

Public development projects

This section describes projects that are being worked on and have been publicly announced. Please add your project to the below so interested contributors can coordinate with you.

Google Summer of Code projects

These projects each have their own separate wiki pages:

Network Address Translation

Minstrel Rate Adaptation

Uplink Scheduler for WIMAX

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.


  • 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.


IPv6 for ns-3

Flow monitor module

Spectrum modeling support

Multi-threaded simulation implementation for multicore

MPI-based distributed simulation

Synchronized emulation

Nix-vector routing

WiMAX module

Underwater acoustic model

Verification, Validation and Testing

Verification is the process of making sure that a given computer program you have built implements your conceptual model correctly. Validation means the ability to determine that a given model has some connection to some reality -- that a model is an accurate representation of a real system. Testing means the ability to exercise a given model to determine that it behaves as expected given various good (and perhaps bad) inputs (and does not change unexpectedly over time). Note the perhaps subtle differences.

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 Python visualization tool (http://code.nsnam.org/gjc/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/

Synchronous posix/sockets API

real-world application integration

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.

802.21 media independent handover

Suggested Projects

2009 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

Ns3 Wireless PHY

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 wns3 in March 2009.

Traffic generation applications

George Riley (riley@ece.gatech.edu) is overseeing the porting of application models from GTNetS to ns-3.

Removing traffic generation from applications class

Craigdo 23:57, 27 March 2009 (UTC)