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.
- 5713e7a bindings: Manually adding some python bindings by Alexander Afanasyev · 10 years ago
- eb7d530 bindings: Removing all automatically generated bindings by Alexander Afanasyev · 10 years ago
- 012760b ndnSIM-v2: Removing old and legacy code by Alexander Afanasyev · 10 years ago
- 9fd46ba bindings: Rescanned bindings by Alexander Afanasyev · 10 years ago
- db5f3b6 utils/tracers: Adding *::Destroy () method in Tracers by Alexander Afanasyev · 11 years ago v0.5-rc2
- 3fe94dc utils/tracers: Modifying (simplifying) interface for ndnSIM tracers by Alexander Afanasyev · 11 years ago
- 772f51b src: Global renaming ContentObject -> Data by Alexander Afanasyev · 11 years ago
- 8d6e3f6 python: Rescanned bindings by Alexander Afanasyev · 11 years ago
- 0a15a2b model: Add ability to print interest to the standard output, so it plays nice with PyNDN by Alexander Afanasyev · 11 years ago
- 76b1157 PyNDN: Initial changes of PyNDN emulation in ndnSIM by Alexander Afanasyev · 11 years ago
- 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
- a6cc910 python: Rescanned bindings by Alexander Afanasyev · 11 years ago
- 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
- a4e7428 model+ndn.cxx+test: Finishing implementation of ApiFace (now timeouts are working as well) by Alexander Afanasyev · 11 years ago
- 858d531 bindings: Rescan of python bindings by Alexander Afanasyev · 11 years ago
- 5b8d61b python bindings: Rescanned by Alexander Afanasyev · 11 years ago v0.4
- 298c844 bindings: Rescanned python bindings by Alexander Afanasyev · 11 years ago
- 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
- eae83ee all: InterestHeader and ContentObjectHeader refactoring to Interest and ContentObject by Alexander Afanasyev · 11 years ago
- cfdc14f all: Replacing deprecated NameComponents class with Name by Alexander Afanasyev · 11 years ago
- 0e4ae8e model+cs: Now it is possible to get pointer to ContentStore from cs::Entry by Alexander Afanasyev · 11 years ago
- 06dba7c model: replacing direct usage of fib::FaceMetric variables by inline methods by Alexander Afanasyev · 11 years ago
- c17e4bd helper: Fixing a recently introduced bug related to the per-face Interest limits by Alexander Afanasyev · 11 years ago v0.2.5
- e6c07b5 model: small API change with ndn::ForwardingStrategy by Alexander Afanasyev · 11 years ago v0.2.4
- 32c0756 model: Renaming ndn::NameComponents to simply ndn::Name by Alexander Afanasyev · 11 years ago
- 67f4a4a model: small API change in ndn::ForwardingStrategy by Alexander Afanasyev · 12 years ago
- e8dab50 general: Topology plugin is now compiled by default by Alexander Afanasyev · 12 years ago
- 7102973 topology plugin: Adding ability in AnnotatedTopologyReader to save the current topology (mostly useful to save positions) by Alexander Afanasyev · 12 years ago
- 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
- a8f5d88 limits: Adding ability for GlobalRoutingController to set precise BDP prefix limits using knowledge of RTT for destination by Alexander Afanasyev · 12 years ago
- 7e4235a limits: finalizing rate-based limits by Alexander Afanasyev · 12 years ago
- f5c0774 limits: Introducing modularity for Interest limits by Alexander Afanasyev · 12 years ago
- 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
- 663d63f Small extension of InterestHeader API (cheat for python bindings) by Alexander Afanasyev · 12 years ago
- ca5f6d1 Rescanned python binding by Alexander Afanasyev · 12 years ago
- 29c19b9 Content Store extension. Now it supports the same enumeration interface available for PIT and FIB by Alexander Afanasyev · 12 years ago
- c202fd9 Replacing boost::multi_index to std::set for OutgoingFaces in PIT entry by Alexander Afanasyev · 12 years ago
- cf6dc92 Now everything compiles, but not everything is working yet by Alexander Afanasyev · 12 years ago
- 5feb38b Rescanned bindings for the refactored code base by Alexander Afanasyev · 12 years ago
- 1c0248b Adding more statistics collection (number of transmitted/received bytes by Alexander Afanasyev · 12 years ago
- 786936a Small corrections and python bindings rescan by Alexander Afanasyev · 12 years ago
- 5662b36 python: rescanned bindings by Alexander Afanasyev · 12 years ago
- 30f60e3 Some progress on CcnxPit. Partially working by Alexander Afanasyev · 12 years ago
- 95a4fa3 Fighting off python bindings and repairing ccnx_fib visualizer plugin by Alexander Afanasyev · 12 years ago
- 1ba09b8 Small changes in in FIB re-implementations with tries, rescanned python bindings by Alexander Afanasyev · 12 years ago
- 3073da8 Correcting small bug in CcnxAppFace (unnecessary function was defined by Alexander Afanasyev · 12 years ago
- 4052f95 Rescan python bindings to reflect latest API changes by Alexander Afanasyev · 12 years ago
- 6d98ac3 Rescanned python bindings by Alexander Afanasyev · 12 years ago
- ad5acce Rescanned python bindings by Alexander Afanasyev · 12 years ago
- 4756b89 Rescanned python bindings by Alexander Afanasyev · 12 years ago
- 06d3a61 Small extension of CcnxGlobalRoutingHelper. Removing some old examples by Alexander Afanasyev · 12 years ago
- ce81014 Rescanned bindings to reflect latest rebase of ns-3-base by Alexander Afanasyev · 12 years ago
- 8e2f112 Finalizing BGL-implementation of ccnx global routing controller. Also, several extensions in CcnxFib by Alexander Afanasyev · 12 years ago
- 9568f95 Adding support for Timestamp and Freshness in ContentObject by Alexander Afanasyev · 12 years ago
- 6f93353 Rescan python bindings to reflect latest changes in NS-3-DEV by Alexander Afanasyev · 12 years ago
- 03d92e4 Rescanned bindings by Alexander Afanasyev · 12 years ago
- 8e0d281 Moving around path weight tagging. Now CcnxFace owns metric field, which is used for tagging. by Alexander Afanasyev · 12 years ago
- 6bff0df Finalizing PathWeight tracing by Alexander Afanasyev · 12 years ago
- e9c9d72 Change in CcnxApp API. Now callbacks also contain pointer of original by Alexander Afanasyev · 12 years ago
- b3e4b85 Separating ccnx-tracers into separate files. by Alexander Afanasyev · 13 years ago
- 4975f73 Slight API change. Now there is only one CcnxAppHelper that can create all CcnxApps by Alexander Afanasyev · 13 years ago
- 8f5a9bb Rescanned bindings. Slight change in input format for AnnotatedTopology by Alexander Afanasyev · 13 years ago
- 53872ce Rescanned bindings by Alexander Afanasyev · 13 years ago
- ae3b7c3 Simplified and unified implementation of RocketfuelWeightReader by Alexander Afanasyev · 13 years ago
- dd3eeec Correcting 32bit version of python bindings (just copy of 64bit version) by Alexander Afanasyev · 13 years ago
- aa032ea Restore modulegen__gcc_ILP32.py by Alexander Afanasyev · 13 years ago
- a174aa5 Repair regression in CcnxFib. by Alexander Afanasyev · 13 years ago
- 0782718 Correcting python bindings (+ rescan) by Alexander Afanasyev · 13 years ago
- 381dea0 Rescanned python bindings by Alexander Afanasyev · 13 years ago
- 85a3bca Debugging and resolving problems with interest serialization/deserialization by Alexander Afanasyev · 13 years ago
- 5769923 Update of Python bindings by Alexander Afanasyev · 13 years ago
- eface60 Update of Python bindings, commenting out broken code by Alexander Afanasyev · 13 years ago
- 2536e20 Moving apps back to apps/ folder. Finally worked out the problem with headers by Alexander Afanasyev · 13 years ago
- c166cd3 python binding bug is fixed by Ilya Moiseenko · 13 years ago
- 02fb706 autogenerated bindings and prototype of traffic sink by Ilya Moiseenko · 13 years ago
- 71062f3 Removing *.pyc, adding stuff into .gitignore by Alexander Afanasyev · 13 years ago
- 1762af7 Module template now builds into ns-3 by Ilya Moiseenko · 13 years ago