blob: 3b33d33720858ade8d50a2ac9e84a7e34471423c [file] [log] [blame]
Alexander Afanasyevab933c62015-01-14 00:50:31 -05001ndnSIM Release Notes
2====================
3
4This file contains ndnSIM release notes.
5
6All of the ndnSIM documentation is accessible from the `ndnSIM website <http://ndnsim.net>`__.
7
8Release 2.0
9-----------
10
11Overview
12~~~~~~~~
13
14ndnSIM 2.0 is a new release of NS-3 based Named Data Networking (NDN) simulator that went through
15extensive refactoring and rewriting. The key new features of the new version:
16
17- ndnSIM no longer re-implements basic NDN primitives and directly uses implementation from
18 `ndn-cxx library (NDN C++ library with eXperimental
19 eXtensions) <http://named-data.net/doc/ndn-cxx/>`__.
20
21- All NDN forwarding and management is implemented directly using source code of `Named Data
22 Networking Forwarding Daemon (NFD) <http://named-data.net/doc/NFD/>`__. The current code is based
23 on ``a22a2172611b1cb93b2e2f53d9d5da122b384f3e`` commit of `NFD
24 repository <https://github.com/named-data/NFD/tree/a22a2172611b1cb93b2e2f53d9d5da122b384f3e>`__.
25
26Note RIB Manager is not yet available in ndnSIM.
27
28- Packet format changed to the `NDN packet format <http://named-data.net/doc/ndn-tlv/>`__.
29
30- Code style changes to conform to `ndn-cxx Code Style and Coding
31 Guidelines <http://named-data.net/doc/ndn-cxx/current/code-style.html>`__ This change also
32 includes renaming of the header and source files: ``*.h`` -> ``*.hpp``, ``*.cc`` -> ``*.cpp``
33
34- ndnSIM now uses C++11.
35
36New Features
37~~~~~~~~~~~~
38
39- Integration with NFD codebase:
40- A realistic behavior is added to the simulations.
41- Forwarding plane extensions can be used in both ndnSIM simulations and real NFD deployment.
42- Per namespace forwarding strategies for different namespaces (one strategy per namespace).
43- New examples:
44- ``ndn-load-balancer``
45- ``ndn-grid-multiple-strategies``
46- ``ndn-different-strategy-per-prefix``
47- Basic examples using python bindings: ``ndn-simple.py`` and ``ndn-grid.py``
48- Use of the the full-featured NDN packet format.
49- Full-featured support for Interest selectors.
50- Full-featured crypto operations can be simulated (disabled by default).
51- FibHelper to manage FIB entries.
52- StrategyChoiceHelper to manage per-namespace forwarding strategy selection.
53
54Changes
55~~~~~~~
56
57- HopCount tracing now includes only one way network-level hop count (e.g., the number of physical
58 links traversed by a packet). Previously, this tracing was round-trip and included applications
59 hops.
60- Python bindings have changed and, due to limitations of pybindgen, currently cover a smaller
61 subset of C++ code (`Task #2341 <http://redmine.named-data.net/issues/2341>`__).
62- LinkControlHelper now uses ErrorRate to simulate link failure/recovery. Previously it was relying
63 on Up/Down flag on NDN level.
64- The Face abstraction of NFD is now used.
65
66Bug fixes
67~~~~~~~~~
68
69- Fix processing files with customized LossRate or Queue model in AnnotatedTopologyReader `Bug
70 #2354 <http://redmine.named-data.net/issues/2354>`__.
71
72Removals
73~~~~~~~~
74
75- PyNDN emulation
76- (temporarily) ApiFace. Will be replaced with emulation of ndn-cxx ``ndn::Face`` in future
77 releases (`Issue #2370 <http://redmine.named-data.net/issues/2370>`__).
78- (temporarily) UdpFace, TcpFace (`Issue #2371 <http://redmine.named-data.net/issues/2371>`__).
79- Limits, LimitsWindow, LimitsRate.
80- PIT, FIB with "replacement" policies.
81- Old deprecated packet formats.