.. 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. ndnSIM is specially optimized for simulation
purposes and has a cleaner and more extensible internal structure comparing to the
existing NDN implementation (NDNx).

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


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

- **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>`__)

- **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`
