.. ndnSIM: NS-3 based NDN simulator documentation master file

Welcome
=======

The ndnSIM 2.0 is NS-3 module that implements Named Data Networking (NDN) communication
model, the clean slate Internet design.

We invite you to `join our mailing list
<http://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim>`_ to see and participate in
discussions about ndnSIM implementation and simulations in general (`mailing list archives
<http://www.lists.cs.ucla.edu/pipermail/ndnsim/>`_).

Contents:

.. toctree::
    :maxdepth: 4

    intro
    getting-started
    faq
    examples
    best-practices
    helpers
    cs
    fw
    applications
    metric
    parallel-simulations
    guide-to-simulate-real-apps
    ndnsim-research-papers
    community-contributions


.. toctree::
    :hidden:
    :glob:

    meta/*
    RELEASE_NOTES


-------

If you refer to ndnSIM in a published work, please cite the following papers, not just the ndnSIM website. Thank you!

**For ndnSIM >= 2.0:**

- **S. Mastorakis, A. Afanasyev, and L. Zhang, "On the Evolution of ndnSIM: an Open-Source Simulator for NDN Experimentation," ACM SIGCOMM Computer Communication Review (CCR), July 2017** (`PDF <https://ccronline.sigcomm.org/wp-content/uploads/2017/08/sigcomm-ccr-final112-full-letter.pdf>`__, `BibTex <http://web.cs.ucla.edu/~mastorakis/bibtex-ndnsim>`__)

- **S. Mastorakis, A. Afanasyev, I. Moiseenko, and L. Zhang, "ndnSIM 2: An updated NDN simulator for NS-3," NDN, Technical Report NDN-0028, Revision 2, 2016** (`PDF <https://named-data.net/wp-content/uploads/2016/11/ndn-0028-2-ndnsim-v2.pdf>`__, `BibTex <http://lasr.cs.ucla.edu/afanasyev/bibwiki/bibtex/399>`__)

**For ndnSIM 1.0:**

- **A. Afanasyev, I. Moiseenko, and L. Zhang, "ndnSIM: NDN simulator for NS-3," NDN, Technical Report NDN-0005, 2012** (`PDF <https://named-data.net/wp-content/uploads/TRndnsim.pdf>`__, `BibTex <http://lasr.cs.ucla.edu/afanasyev/bibwiki/bibtex/367>`__)

.. * :ref:`search`
