Release 2.0

Overview

ndnSIM 2.0 is a new release of NS-3 based Named Data Networking (NDN)
simulator that went through extensive refactoring and rewriting. The key
new features of the new version:

-   ndnSIM no longer re-implements basic NDN primitives and directly
    uses implementation from ndn-cxx library (NDN C++ library with
    eXperimental eXtensions).

-   All NDN forwarding and management is implemented directly using
    source code of Named Data Networking Forwarding Daemon (NFD). The
    current code is based on a22a2172611b1cb93b2e2f53d9d5da122b384f3e
    commit of NFD repository.

Note RIB Manager is not yet available in ndnSIM.

-   Packet format changed to the NDN packet format.

-   Code style changes to conform to ndn-cxx Code Style and Coding
    Guidelines This change also includes renaming of the header and
    source files: *.h -> *.hpp, *.cc -> *.cpp

-   ndnSIM now uses C++11.

New Features

-   Integration with NFD codebase:
-   A realistic behavior is added to the simulations.
-   Forwarding plane extensions can be used in both ndnSIM simulations
    and real NFD deployment.
-   Per namespace forwarding strategies for different namespaces (one
    strategy per namespace).
-   New examples:
-   ndn-load-balancer
-   ndn-grid-multiple-strategies
-   ndn-different-strategy-per-prefix
-   Basic examples using python bindings: ndn-simple.py and ndn-grid.py
-   Use of the the full-featured NDN packet format.
-   Full-featured support for Interest selectors.
-   Full-featured crypto operations can be simulated (disabled by
    default).
-   FibHelper to manage FIB entries.
-   StrategyChoiceHelper to manage per-namespace forwarding strategy
    selection.

Changes

-   HopCount tracing now includes only one way network-level hop count
    (e.g., the number of physical links traversed by a packet).
    Previously, this tracing was round-trip and included applications
    hops.
-   Python bindings have changed and, due to limitations of pybindgen,
    currently cover a smaller subset of C++ code (Task #2341).
-   LinkControlHelper now uses ErrorRate to simulate link
    failure/recovery. Previously it was relying on Up/Down flag on NDN
    level.
-   The Face abstraction of NFD is now used.

Bug fixes

-   Fix processing files with customized LossRate or Queue model in
    AnnotatedTopologyReader Bug #2354.

Removals

-   PyNDN emulation
-   (temporarily) ApiFace. Will be replaced with emulation of ndn-cxx
    ndn::Face in future releases (Issue #2370).
-   (temporarily) UdpFace, TcpFace (Issue #2371).
-   Limits, LimitsWindow, LimitsRate.
-   PIT, FIB with "replacement" policies.
-   Old deprecated packet formats.
  1. 5713e7a bindings: Manually adding some python bindings by Alexander Afanasyev · 10 years ago
  2. eb7d530 bindings: Removing all automatically generated bindings by Alexander Afanasyev · 10 years ago
  3. 012760b ndnSIM-v2: Removing old and legacy code by Alexander Afanasyev · 10 years ago
  4. 9fd46ba bindings: Rescanned bindings by Alexander Afanasyev · 10 years ago
  5. db5f3b6 utils/tracers: Adding *::Destroy () method in Tracers by Alexander Afanasyev · 11 years ago v0.5-rc2
  6. 3fe94dc utils/tracers: Modifying (simplifying) interface for ndnSIM tracers by Alexander Afanasyev · 11 years ago
  7. 772f51b src: Global renaming ContentObject -> Data by Alexander Afanasyev · 11 years ago
  8. 8d6e3f6 python: Rescanned bindings by Alexander Afanasyev · 11 years ago
  9. 0a15a2b model: Add ability to print interest to the standard output, so it plays nice with PyNDN by Alexander Afanasyev · 11 years ago
  10. 76b1157 PyNDN: Initial changes of PyNDN emulation in ndnSIM by Alexander Afanasyev · 11 years ago
  11. f23a7b6 model: A couple of tricks and fixes in NDN.cxx, so it will play nice with python bindings by Alexander Afanasyev · 11 years ago
  12. a6cc910 python: Rescanned bindings by Alexander Afanasyev · 11 years ago
  13. e4795ae model+ndn.cxx+apps: New application template (CallbackBasedApp) that can be used to prototype NS-3 applications in python by Alexander Afanasyev · 11 years ago
  14. a4e7428 model+ndn.cxx+test: Finishing implementation of ApiFace (now timeouts are working as well) by Alexander Afanasyev · 11 years ago
  15. 858d531 bindings: Rescan of python bindings by Alexander Afanasyev · 11 years ago
  16. 5b8d61b python bindings: Rescanned by Alexander Afanasyev · 11 years ago v0.4
  17. 298c844 bindings: Rescanned python bindings by Alexander Afanasyev · 11 years ago
  18. e5a8b5a model: Extending FIB and PIT interface to include Find call to search for exact match of FIB and PIT entry by Alexander Afanasyev · 11 years ago
  19. eae83ee all: InterestHeader and ContentObjectHeader refactoring to Interest and ContentObject by Alexander Afanasyev · 11 years ago
  20. cfdc14f all: Replacing deprecated NameComponents class with Name by Alexander Afanasyev · 11 years ago
  21. 0e4ae8e model+cs: Now it is possible to get pointer to ContentStore from cs::Entry by Alexander Afanasyev · 11 years ago
  22. 06dba7c model: replacing direct usage of fib::FaceMetric variables by inline methods by Alexander Afanasyev · 11 years ago
  23. c17e4bd helper: Fixing a recently introduced bug related to the per-face Interest limits by Alexander Afanasyev · 11 years ago v0.2.5
  24. e6c07b5 model: small API change with ndn::ForwardingStrategy by Alexander Afanasyev · 11 years ago v0.2.4
  25. 32c0756 model: Renaming ndn::NameComponents to simply ndn::Name by Alexander Afanasyev · 11 years ago
  26. 67f4a4a model: small API change in ndn::ForwardingStrategy by Alexander Afanasyev · 12 years ago
  27. e8dab50 general: Topology plugin is now compiled by default by Alexander Afanasyev · 12 years ago
  28. 7102973 topology plugin: Adding ability in AnnotatedTopologyReader to save the current topology (mostly useful to save positions) by Alexander Afanasyev · 12 years ago
  29. bd9c18e Solving a couple of bugs resulting from the packet format changes. Code compiles, but haven't fully tested yet by Alexander Afanasyev · 12 years ago
  30. a8f5d88 limits: Adding ability for GlobalRoutingController to set precise BDP prefix limits using knowledge of RTT for destination by Alexander Afanasyev · 12 years ago
  31. 7e4235a limits: finalizing rate-based limits by Alexander Afanasyev · 12 years ago
  32. f5c0774 limits: Introducing modularity for Interest limits by Alexander Afanasyev · 12 years ago
  33. a28ec56 utils: ndn::Limits now uses double for the internal limits parameter and invalid when (by default) it is set to a negative value by Alexander Afanasyev · 12 years ago
  34. 663d63f Small extension of InterestHeader API (cheat for python bindings) by Alexander Afanasyev · 12 years ago
  35. ca5f6d1 Rescanned python binding by Alexander Afanasyev · 12 years ago
  36. 29c19b9 Content Store extension. Now it supports the same enumeration interface available for PIT and FIB by Alexander Afanasyev · 12 years ago
  37. c202fd9 Replacing boost::multi_index to std::set for OutgoingFaces in PIT entry by Alexander Afanasyev · 12 years ago
  38. cf6dc92 Now everything compiles, but not everything is working yet by Alexander Afanasyev · 12 years ago
  39. 5feb38b Rescanned bindings for the refactored code base by Alexander Afanasyev · 12 years ago
  40. 1c0248b Adding more statistics collection (number of transmitted/received bytes by Alexander Afanasyev · 12 years ago
  41. 786936a Small corrections and python bindings rescan by Alexander Afanasyev · 12 years ago
  42. 5662b36 python: rescanned bindings by Alexander Afanasyev · 12 years ago
  43. 30f60e3 Some progress on CcnxPit. Partially working by Alexander Afanasyev · 12 years ago
  44. 95a4fa3 Fighting off python bindings and repairing ccnx_fib visualizer plugin by Alexander Afanasyev · 12 years ago
  45. 1ba09b8 Small changes in in FIB re-implementations with tries, rescanned python bindings by Alexander Afanasyev · 12 years ago
  46. 3073da8 Correcting small bug in CcnxAppFace (unnecessary function was defined by Alexander Afanasyev · 12 years ago
  47. 4052f95 Rescan python bindings to reflect latest API changes by Alexander Afanasyev · 12 years ago
  48. 6d98ac3 Rescanned python bindings by Alexander Afanasyev · 12 years ago
  49. ad5acce Rescanned python bindings by Alexander Afanasyev · 12 years ago
  50. 4756b89 Rescanned python bindings by Alexander Afanasyev · 12 years ago
  51. 06d3a61 Small extension of CcnxGlobalRoutingHelper. Removing some old examples by Alexander Afanasyev · 12 years ago
  52. ce81014 Rescanned bindings to reflect latest rebase of ns-3-base by Alexander Afanasyev · 12 years ago
  53. 8e2f112 Finalizing BGL-implementation of ccnx global routing controller. Also, several extensions in CcnxFib by Alexander Afanasyev · 12 years ago
  54. 9568f95 Adding support for Timestamp and Freshness in ContentObject by Alexander Afanasyev · 12 years ago
  55. 6f93353 Rescan python bindings to reflect latest changes in NS-3-DEV by Alexander Afanasyev · 12 years ago
  56. 03d92e4 Rescanned bindings by Alexander Afanasyev · 12 years ago
  57. 8e0d281 Moving around path weight tagging. Now CcnxFace owns metric field, which is used for tagging. by Alexander Afanasyev · 12 years ago
  58. 6bff0df Finalizing PathWeight tracing by Alexander Afanasyev · 12 years ago
  59. e9c9d72 Change in CcnxApp API. Now callbacks also contain pointer of original by Alexander Afanasyev · 12 years ago
  60. b3e4b85 Separating ccnx-tracers into separate files. by Alexander Afanasyev · 13 years ago
  61. 4975f73 Slight API change. Now there is only one CcnxAppHelper that can create all CcnxApps by Alexander Afanasyev · 13 years ago
  62. 8f5a9bb Rescanned bindings. Slight change in input format for AnnotatedTopology by Alexander Afanasyev · 13 years ago
  63. 53872ce Rescanned bindings by Alexander Afanasyev · 13 years ago
  64. ae3b7c3 Simplified and unified implementation of RocketfuelWeightReader by Alexander Afanasyev · 13 years ago
  65. dd3eeec Correcting 32bit version of python bindings (just copy of 64bit version) by Alexander Afanasyev · 13 years ago
  66. aa032ea Restore modulegen__gcc_ILP32.py by Alexander Afanasyev · 13 years ago
  67. a174aa5 Repair regression in CcnxFib. by Alexander Afanasyev · 13 years ago
  68. 0782718 Correcting python bindings (+ rescan) by Alexander Afanasyev · 13 years ago
  69. 381dea0 Rescanned python bindings by Alexander Afanasyev · 13 years ago
  70. 85a3bca Debugging and resolving problems with interest serialization/deserialization by Alexander Afanasyev · 13 years ago
  71. 5769923 Update of Python bindings by Alexander Afanasyev · 13 years ago
  72. eface60 Update of Python bindings, commenting out broken code by Alexander Afanasyev · 13 years ago
  73. 2536e20 Moving apps back to apps/ folder. Finally worked out the problem with headers by Alexander Afanasyev · 13 years ago
  74. c166cd3 python binding bug is fixed by Ilya Moiseenko · 13 years ago
  75. 02fb706 autogenerated bindings and prototype of traffic sink by Ilya Moiseenko · 13 years ago
  76. 71062f3 Removing *.pyc, adding stuff into .gitignore by Alexander Afanasyev · 13 years ago
  77. 1762af7 Module template now builds into ns-3 by Ilya Moiseenko · 13 years ago