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