Difference between revisions of "Suggested Projects"

From Nsnam
Jump to: navigation, search
(SCTP (Stream Control Transmission Protocol))
(deprecate suggested projects page)
 
Line 1: Line 1:
 
{{TOC}}
 
{{TOC}}
  
One way to get involved with ns-3 is to work with a mentor on a suggested project.  These are typically project suggestions that would be valued contributions but the proposer does not have enough time to do it himself or herself, but is willing to mentor someone else to do it.
+
This page has moved to [[Project_Ideas]] page.
 
+
Another possibility for students is to get involved in the [http://code.google.com/soc/ Google Summer of Code] program.  This program is administered by Google and acceptance is competitive.
+
 
+
= Google Summer of Code =
+
 
+
== 2011 Google Summer of Code Project Ideas ==
+
 
+
ns-3 plans to apply to 2011 Google Summer of Code.  Our 2011 ideas page: '''[[GSOC2011Projects | 2011 GSOC project ideas]]'''
+
 
+
= Mentored projects =
+
 
+
This section lists project ideas for which there is interest by an ns-3 developer or maintainer to serve as a mentor in the development of a new feature for ns-3.
+
 
+
How does a mentored project work?  You contact the mentor and describe your interests and availability to work on the module.  You and the mentor will work out a plan to regularly review and discuss the development of your module, following the [http://www.nsnam.org/code-submission.html guidelines for developing new models for ns-3].  You will set up a public repository somewhere such as [http://mercurial.selenic.com/wiki/MercurialHosting a site listed here] or your own mercurial server. 
+
 
+
Please do not apply for mentoring help on a class project unless you have approval from the instructor to receive mentoring.
+
 
+
== Create non-IP stack for ns-3 ==
+
 
+
'''Mentor''':  [mailto:tomh@tomh.org Tom Henderson]
+
 
+
All ns-3 simulations are IP based but there is no template for how to do this for non-IP-based stacks.  One issue that should be addressed in the long term is that applications that generate traffic are strongly coupled to the sockets interface. It would be nice to decouple the traffic generation aspects of these applications from the sockets-related code.
+
 
+
#* ''summary'': Proposed decoupling to generalize applications
+
#* ''ns-developers post'': http://mailman.isi.edu/pipermail/ns-developers/2007-July/003136.html
+
#* ''code location'': http://code.nsnam.org/laprisee/ns-3-mp/
+
#* ''status'':  Was under discussion in the summer.
+
#:
+
 
+
== IPv6 Routing ==
+
 
+
'''Mentor''':  [mailto:tomh@tomh.org Tom Henderson]
+
 
+
There is little support for global (i.e. god) routing or dynamic routing for IPv6.
+
 
+
== SCTP (Stream Control Transmission Protocol) ==
+
 
+
'''Mentor''':  [mailto:tommaso.pecorella@unifi.it Tommaso Pecorella]
+
 
+
[http://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol SCTP] is a message-based L4 protocol with features similar to both TCP and UDP. It was originally developed as a reliable protocol to transport PSTN control streams, and it's currently used to carry 3G and 4G signaling over IP networks. The use of SCTP, however, is not limited to signaling transport, as its features makes it very interesting for a lot of other applications where UDP or TCP fails.
+
Currently there is no SCTP implementation for ns-3. An SCTP implementation would have to comply with the IPv4 and IPv6 layers and have programming APIs toward the application layer similar to the ones defined in the available SCTP implementations for Linux.
+
* Required Experience: C++
+
* Bonus Experience: L4 protocols understanding
+
* Interests: L4 protocols modeling and simulation
+
* Difficulty: medium
+
* Recommended reading:
+
** [http://tools.ietf.org/html/rfc3286 RFC 3286] An Introduction to the Stream Control Transmission Protocol
+
** [http://tools.ietf.org/html/rfc6458 RFC 6458] Sockets API Extensions for the Stream Control Transmission Protocol
+
** all the relevant RFCs about SCTP
+
 
+
= Feature requests =
+
 
+
The following projects have been suggested in the past.  If you are working on them, please let us know on the developers or users list so that we can coordinate activities.  If you want to add a project, please describe it below.
+
 
+
== Path MTU discovery for IPv4 stacks ==
+
 
+
'''Status:'''  Being worked on by Vedran Miletic
+
 
+
There is no [http://en.wikipedia.org/wiki/Path_MTU_discovery path MTU discovery] implemented for IPv4.  This makes guessing the end-to-end MTU imperative for ns-3 simulations.  We would welcome a contribution that introduced path MTU discovery to ns-3. 
+
 
+
Vedran expressed interest in working on PMTU discovery.
+
 
+
'''Update:'''  This section has been updated in order to reflect the IPv4 fragmentation availability.
+
 
+
== UDP for IPv6 ==
+
 
+
'''Status:'''  Being worked on by Ken Renard
+
'''Background:''' http://mailman.isi.edu/pipermail/ns-developers/2008-August/004649.html
+
 
+
Enable UDP for IPv6.  The next step would be TCP but Ken has volunteered to look at UDP first.
+
 
+
A patch has been proposed, the integration will be done after 3.13 release.
+

Latest revision as of 16:31, 11 February 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

This page has moved to Project_Ideas page.