From Nsnam
Revision as of 11:11, 7 February 2011 by Tommaso (Talk | contribs) (Satellite network stack)

Jump to: navigation, search

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

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


GSoC 2011 Ideas

This webpage highlights project ideas for ns-3's Google Summer of Code 2011 effort.

About the ns-3 project

ns-3 is a discrete-event network simulator, with a particular emphasis on network research and education. Users of ns-3 can construct simulations of computer networks using models of traffic generators, protocols such as TCP/IP, and devices and channels such as WiFi, and analyze or visualize the results. Simulation plays a vital role in the research and education process, because of the ability for simulations to obtain reproducible results (particularly for wireless protocol design), scale to large networks, and study systems that have not yet been implemented. A particular emphasis in ns-3 is the high degree of realism in the models (including frameworks for real application and kernel code) and integration of the tool with virtual machine environments and testbeds; we view that researchers need to move more effortlessly between simulation, testbeds, and live experiments, and ns-3 is designed to facilitate that.

ns-3 has been in development since 2005 and has been making quarterly releases since June 2008 (our last release was ns-3.10 in January 2011). ns-3 is replacing the popular ns-2 tool which was developed in the 1997-2000 timeframe but became out of date and unmaintained. The tool is coming into wide use; our web server logged almost 71000 successful downloads of our released software between January 2010 and January 2011, and we have a users mailing list of about 900 members now averaging 200-300 posts per month.

Our GSOC organizational admin is Lalith Suresh and our backup org admin is Tom Henderson.

Project Ideas

The following are project ideas which the ns-3 team has identified as important and is most interested in working on as part of the 2011 Google Summer of Code. GSoC applicants are however free to propose their own ideas. In addition, please note that these ideas are not limited to Google Summer of Code, anyone is welcome to work on them. Please email the ns-developers list if you have an idea that you'd like to work on. GSoC applicants are encouraged to look over this list, pick one that especially interests them, think about it, and discuss potential approaches on the ns-developers list. Previous experience suggests that the more you discuss and refine your proposal on the mailing list beforehand, the more stronger a proposal it will develop into, and the higher your chances of being ranked high.

Each project idea has been tagged with the following properties:

  • Required Experience: Languages, concepts, or packages with which applicants must be familiar.
  • Bonus Experience: Other experience or familiarity which would be greatly helpful to applicants for this project.
  • Interests: Areas of particular relevance to this project, and an indicator of where successful students might apply their experiences coming out of this project.
  • Difficulty: easy, medium or difficult
  • Recommended reading: pointers to documentation, papers, specific bugs, etc.

Note that all of the projects require some experience and comfort with C++. Project ideas for which C++ is noted as a required experience will require more and deeper familiarity with the language. A similar notion applies to computer networking, BSD sockets, etc: Familiarity is strongly preferred, but is not required except where explicitly noted due to the topic being more advanced in that regard.

Priority Project Ideas

The following are work areas the ns-3 project has identified as the highest priorities, has several mentors available, and would be especially interested in having students work on.

Antenna Models

Mentors: Ruben Merz

  • Antenna Radiation Patterns This project would implement support for antenna radiation patterns in the physical layer of ns-3. In addition to enhancing the realism of the ns-3 physical layer, this would also enable to implement directional antennas in ns-3. This project can have a large impact on the ns-3 simulator as it would allow several wireless physical layers to benefit from it, namely 802.11, WiMAX and LTE. If time permits, validation with an 802.11 testbed is envisioned.
    • Required Experience: C++, some knowledge of radio propagation is a plus
    • Bonus Experience: physical layer modeling and simulation, wireless networking
    • Interests: wireless networking, physical layer modeling and simulation
    • Difficulty: medium
    • Recommended readings: ns-3 propagation models (files *propagation*.{cc,h}), The Impact of Directional Antenna Models on Simulation Accuracy

Peer to Peer and Content Based Routing

Mentors: TBD (Note: This project is not yet confirmed for GSoC 2011)

  • Mobile P2P. ns-3 currently does not include any implementation of Mobile Peer-to-Peer (P2P) systems. This project would implement some additional networking protocols based on a cross-layer approach between routing and Distributed Hash Tables (DHTs), such as ATR and MADPastry. Both the ns-2 implementations of the cited protocols are currently available and could be used as design guides.
    • Required Experience: C/C++
    • Bonus Experience: P2P, mobile ad hoc networks (MANETs), ns-2
    • Interests: P2P, DHT, MANETs, routing.
    • Difficulty: medium
    • Recommended reading:
      • Mobile ad hoc networking: imperatives and challenges by Imrich Chlamtac, Marco Conti, Jennifer J. -N. Liu, - Ad Hoc Networks, Volume 1, Issue 1, July 2003, Pages 13-64, ISSN 1570-8705, DOI: 10.1016/S1570-8705(03)00013-1.
      • MADPastry: A DHT Substrate for Practicably Sized MANETs. by Thomas Zahn and Jochen Schiller - In Proc. of 5th Workshop on Applications and Services in Wireless Networks (ASWN2005), Paris, France, June 2005.
      • Chord: A scalable peer-to-peer lookup service for internet applications. by Stoica, I., Morris, R., Karger, D., Kaashoek, M. F., and Balakrishnan, H. 2001. - In Proceedings of the 2001 Conference on Applications, Technologies, Architectures, and Protocols For Computer Communications (San Diego, California, United States). SIGCOMM '01. ACM, New York
      • P2P over MANET: Indirect tree-based routing by Caleffi, M.; Paura, L.; - Pervasive Computing and Communications, 2009. PerCom 2009. IEEE International Conference on , vol., no., pp.1-5, 9-13 - March 2009.
      • Mobile Ad Hoc Networks: the DHT Paradigm, Ph.D. Thesis by M. Caleffi - University of Naples Federico II - December 2008.

Satellite network stack

Mentors: Tommso Pecorella

Cognitive Radio Networks

Mentors: TBD (Note: This project is not yet confirmed for GSoC 2011)

  • Cognitive Networks ns-3 currently does not include any implementation of routing protocols for cognitive networks. This project would implement some additional networking protocols for this scenario. Such protocols should be able to deliver packets across multiple channels avoiding to interfere with primary users. A cross-layer approach with the physical layer is required for spectrum sensing.
    • Required Experience: C/C++
    • Bonus Experience: mobile ad hoc networks (MANETs), ns-2
    • Interests: MANETs, routing, cognitive networks.
    • Difficulty: Medium
    • Recommended reading:
      • Mobile ad hoc networking: imperatives and challenges, Ad Hoc Networks by Imrich Chlamtac, Marco Conti, Jennifer J. -N. Liu - Volume 1, Issue 1, July 2003, Pages 13-64, ISSN 1570-8705, DOI: 10.1016/S1570-8705(03)00013-1.
      • Multihop cognitive radio networks: to route or not to route by Khalife, H.; Malouch, N.; Fdida, S. - Network, IEEE , vol.23, no.4, pp.20-25 - July-August 2009
      • Search: A routing protocol for mobile cognitive radio ad-hoc networks, Computer Communications by K.R. Chowdhury, M.D. Felice - Volume 32, Issue 18, Cognitive Radio and Dynamic Spectrum Sharing -Systems, 15 December 2009, Pages 1983-1997, ISSN 0140-3664, DOI: 10.1016/j.comcom.2009.06.011.
      • Mobile Ad Hoc Networks: the DHT Paradigm, Ph.D. Thesis by M. Caleffi - University of Naples Federico II - December 2008

Additional Project Ideas

The following are additional project ideas that the ns-3 team has highlighted as important projects to support, and are suggested for students to extend. Not all of them have specific mentors assigned yet but we would seek out mentors from our mentor pool if high quality applications came in on these topics (or any ns-3 topic, for that matter).


  • Generalized Router Models/Structure. Many simulators, including ns-3, do not provide high fidelity models of Internet routers. For instance, intra-device latencies and input queuing behavior are not modeled. This project would adapt recent results on empirical router testing to develop a new, more detailed Router node type for ns-3.
    • Required Experience:
    • Bonus Experience: Routing architectures, routing protocols, queueing theory, statistics
    • Interests: High fidelity simulation, queueing theory, statistics, data driven model development
    • Difficulty: medium-to-high, because there may be a dependency on Click router

MAC and PHY Models

Mentors: Ruben Merz

  • CSMA/CD and Aloha
    • Description: Implement a CSMA/CD MAC protocol. Optionally, implement slotted aloha. A good reference describing the CSMA/CD and aloha protocols as well as basic theoretical results about these protocols is "Computer Networking: A Top-Down Approach.".
    • Required Experience: basic C++, know what aloha and CSMA/CD are.
    • Bonus Experience: ns-3 programming, contributions to open source projects.
    • Interests: networking, C++ programming
    • Difficulty: easy
    • Recommended reading: Computer Networking: a top down approach, chapter 5.

Mentors: TBD

  • SNS for ns-3 Wifi. Staged Network Simulations (SNS) is a patch for the ns-2 wireless models which provides for function approximation and caching. That mechanism greatly speeds up the many calculations required in mobile wireless simulations. This project would incorporate those techniques into the ns-3 WiFi model.
    • Required Experience:
    • Bonus Experience: Software profiling, software tuning
    • Interests: Approximation, caching, software profiling, high performance computing, scientific computing
    • Difficulty: depends on what functionality the student proposes to implement

Applications and Systems

  • Large Scale Topology Generation and Management. ns-2 incorporates support for various topology generators, which would be useful to also support in ns-3. This project would investigate porting topology generators or mapping their output to ns-3 simulations. It would also touch on the problem of coherent IP addressing in generated topologies. In particular, recent work by the Emulab project may be useful in this regard.
    • Required Experience:
    • Bonus Experience: Graph theory, network management, Internet topology
    • Interests: Internet topology, Internet autonomous systems, graph theory
    • Difficulty: depends on what functionality the student proposes to implement