docs: Documentation update
diff --git a/docs/ns3_html_theme/static/ns3_stylesheet.css b/docs/ns3_html_theme/static/ns3_stylesheet.css
index 1c2a4fc..0ab405d 100644
--- a/docs/ns3_html_theme/static/ns3_stylesheet.css
+++ b/docs/ns3_html_theme/static/ns3_stylesheet.css
@@ -1,11 +1,14 @@
/* ns-3 changes to the default CSS from Doxygen and Sphinx */
-body, table, div, p, dl {
+body {
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
- font-size: 12pt;
+ font-size: 11pt;
color: black;
}
+table, div, p, dl {
+}
+
a {
color: #91A501;
font-weight: bold;
@@ -28,7 +31,7 @@
/* Doxygen side bar */
#nav-tree {
- font-size: 12pt;
+ font-size: 10pt;
}
#nav-tree a {
@@ -46,7 +49,7 @@
div.related a {
color: #91A501;
- font-size: 14pt;
+ font-size: 13pt;
font-weight: bold;
}
@@ -66,7 +69,7 @@
/* Sphinx side bar */
div.sphinxsidebar {
- font-size: 12pt;
+ font-size: 10pt;
}
div.sphinxsidebar a {
@@ -130,6 +133,10 @@
background-color: #FFFF88;
}
+.highlighttable {
+ font-size: 9pt;
+}
+
.red {
color: red;
font-weight: bold;
diff --git a/docs/source/_static/ndnsim-components.pdf b/docs/source/_static/ndnsim-components.pdf
new file mode 100644
index 0000000..d940bf9
--- /dev/null
+++ b/docs/source/_static/ndnsim-components.pdf
Binary files differ
diff --git a/docs/source/_static/ndnsim-components.png b/docs/source/_static/ndnsim-components.png
new file mode 100644
index 0000000..1601f19
--- /dev/null
+++ b/docs/source/_static/ndnsim-components.png
Binary files differ
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 2be118d..1d60617 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -48,7 +48,7 @@
# built documents.
#
# The short X.Y version.
-version = '0.2.8'
+version = '0.5'
# The full version, including alpha/beta/rc tags.
release = 'Overall ndnSIM'
@@ -185,7 +185,7 @@
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
- ('index', 'ndnSIM.tex', u'ndnSIM: NS-3 based Named Data Networking (NDN) simulator documentation',
+ ('tutorial', 'ndnSIM-tutorial.tex', u'ndnSIM: NS-3 based Named Data Networking (NDN) simulator documentation',
u'Alexander Afanasyev, Ilya Moiseenko, and Lixia Zhang', 'manual'),
]
@@ -251,6 +251,6 @@
googleanalytics_enabled = True
-# aafig_format = dict(latex='pdf', html='png', text=None)
+aafig_format = dict(latex='pdf', html='svg', text=None)
# aafig_default_options = dict(Fixed=True)
diff --git a/docs/source/examples.rst b/docs/source/examples.rst
index 41142c9..4fb13d0 100644
--- a/docs/source/examples.rst
+++ b/docs/source/examples.rst
@@ -14,20 +14,22 @@
Simple scenario
---------------
+.. sidebar:: Topology
+
+ .. aafig::
+ :aspect: 60
+ :scale: 90
+
+ +----------+ +--------+ +----------+
+ | | 1Mbps | | 1Mbps | |
+ | Consumer |<-------------->| Router |<-------------->| Producer |
+ | | 10ms | | 10ms | |
+ +----------+ +--------+ +----------+
+
The first example (``ndn-simple.cc``) shows very basics of ndnSIM. In the simulated
topology there are 3 nodes, connected with point-to-point links, one
NDN consumer, and one NDN producer:
-.. aafig::
- :aspect: 60
- :scale: 120
-
- +----------+ +--------+ +----------+
- | | 1Mbps | | 1Mbps | |
- | Consumer |<-------------->| Router |<-------------->| Producer |
- | | 10ms | | 10ms | |
- +----------+ +--------+ +----------+
-
Consumer is simulated using :ndnsim:`ConsumerCbr` reference application and generates Interests towards the producer
with frequency of 10 Interests per second (see :doc:`applications`).
@@ -57,29 +59,30 @@
9-node grid example
-------------------
+.. sidebar:: Topology
+
+ .. aafig::
+ :aspect: 60
+ :scale: 120
+
+ /--------\ /-\ /-\
+ |Consumer|<---->| |<------->| |
+ \--------/ \-/ \-/
+ ^ ^ ^
+ | | | 1Mbps/10ms delay
+ v v v
+ /-\ /-\ /-\
+ | |<-------->| |<------->| |
+ \-/ \-/ \-/
+ ^ ^ ^
+ | | |
+ v v v
+ /-\ /-\ /--------\
+ | |<-------->| |<---->|Producer|
+ \-/ \-/ \--------/
+
This scenario (``ndn-grid.cc``) simulates a grid topology, which is constructed using PointToPointLayout NS-3 module
-.. aafig::
- :aspect: 60
- :scale: 120
-
- /--------\ /-\ /-\
- |Consumer|<---->| |<------->| |
- \--------/ \-/ \-/
- ^ ^ ^
- | | | 1Mbps/10ms delay
- v v v
- /-\ /-\ /-\
- | |<-------->| |<------->| |
- \-/ \-/ \-/
- ^ ^ ^
- | | |
- v v v
- /-\ /-\ /--------\
- | |<-------->| |<---->|Producer|
- \-/ \-/ \--------/
-
-
FIB is populated using :ndnsim:`GlobalRoutingHelper` (see :doc:`helpers`).
Consumer is simulated using :ndnsim:`ConsumerCbr` reference application and generates Interests towards the producer
@@ -109,6 +112,28 @@
9-node grid example using topology plugin
-----------------------------------------
+.. sidebar:: Topology
+
+ .. aafig::
+ :aspect: 60
+ :scale: 120
+
+ /--------\ /-\ /-\
+ |Consumer|<---->| |<------->| |
+ \--------/ \-/ \-/
+ ^ ^ ^
+ | | | 1Mbps/10ms delay
+ v v v
+ /-\ /-\ /-\
+ | |<-------->| |<------->| |
+ \-/ \-/ \-/
+ ^ ^ ^
+ | | |
+ v v v
+ /-\ /-\ /--------\
+ | |<-------->| |<---->|Producer|
+ \-/ \-/ \--------/
+
Instead of defining topology directly as in :ref:`simple-scenario` or using specialized helpers as in :ref:`9-node-grid-example`, ndnSIM provides experimental extended versions of TopologyReader classes: :ndnsim:`AnnotatedTopologyReader` and :ndnsim:`RocketfuelWeightsReader`.
While :ndnsim:`RocketfuelWeightsReader` is a specialized version intended to be used with `Rocketfuel <http://www.cs.washington.edu/research/networking/rocketfuel/>`_ topology and link weights files (examples will be provided later), :ndnsim:`AnnotatedTopologyReader` is a more general-use class that uses simple user-readable format.
@@ -124,26 +149,6 @@
This scenario (``ndn-grid-topo-plugin.cc``) duplicates the functionality of :ref:`9-node-grid-example` but with the use of :ndnsim:`AnnotatedTopologyReader`.
-.. aafig::
- :aspect: 60
- :scale: 120
-
- /--------\ /-\ /-\
- |Consumer|<---->| |<------->| |
- \--------/ \-/ \-/
- ^ ^ ^
- | | | 1Mbps/10ms delay
- v v v
- /-\ /-\ /-\
- | |<-------->| |<------->| |
- \-/ \-/ \-/
- ^ ^ ^
- | | |
- v v v
- /-\ /-\ /--------\
- | |<-------->| |<---->|Producer|
- \-/ \-/ \--------/
-
.. literalinclude:: ../../examples/ndn-grid-topo-plugin.cc
:language: c++
:linenos:
@@ -170,24 +175,26 @@
6-node bottleneck topology
--------------------------
+.. sidebar:: Topology
+
+ .. aafig::
+ :aspect: 60
+ :scale: 90
+
+ /------\ /------\
+ | Src1 |<--+ +-->| Dst1 |
+ \------/ \ / \------/
+ \ /
+ +-->/------\ "bottleneck" /------\<-+
+ | Rtr1 |<===============>| Rtr2 |
+ +-->\------/ \------/<-+
+ / \
+ /------\ / \ /------\
+ | Src2 |<--+ +-->| Dst2 |
+ \------/ \------/
+
This scenario (``ndn-congestion-topo-plugin.cc``) can be used for congestion-related scenarios
-.. aafig::
- :aspect: 60
- :scale: 120
-
- /------\ /------\
- | Src1 |<--+ +-->| Dst1 |
- \------/ \ / \------/
- \ /
- +-->/------\ "bottleneck" /------\<-+
- | Rtr1 |<===============>| Rtr2 |
- +-->\------/ \------/<-+
- / \
- /------\ / \ /------\
- | Src2 |<--+ +-->| Dst2 |
- \------/ \------/
-
.. literalinclude:: ../../examples/topologies/topo-6-node.txt
:language: bash
:linenos:
@@ -214,6 +221,37 @@
11-node 2-bottleneck topology with custom forwarding strategy
-------------------------------------------------------------
+.. sidebar:: Topology
+
+ .. aafig::
+ :aspect: 60
+ :scale: 90
+
+ /------\ 0 0 /------\
+ | c1 |<-----+ +----->| p1 |
+ \------/ \ / \------/
+ \ /-----\ /
+ /------\ 0 \ +==>| r12 |<==+ / 0 /------\
+ | c2 |<--+ \ / \-----/ \ / +-->| p2 |
+ \------/ \ \ | | / / \------/
+ \ | | 1Mbps links | | /
+ \ 1 v0 v5 1v 2v 3 /
+ +->/------\ /------\<-+
+ 2| r1 |<===============>| r2 |4
+ +->\------/4 0\------/<-+
+ / 3^ ^5 \
+ / | | \
+ /------\ 0 / / \ \ 0 /------\
+ | c3 |<--+ / \ +-->| p3 |
+ \------/ / \ \------/
+ / "All consumer-router and" \
+ /------\ 0 / "router-producer links are" \ 0 /------\
+ | c4 |<-----+ "10Mbps" +---->| p4 |
+ \------/ \------/
+
+ "Numbers near nodes denote face IDs. Face ID is assigned based on the order of link"
+ "definitions in the topology file"
+
To effectively use the example :ref:`custom strategy <Writing your own custom strategy>`, we need to make sure that FIB entries contain at least two entries.
In the current version of ndnSIM, this can be accomplished using manual route configuration.
@@ -221,34 +259,6 @@
Let us first define a meaningful topology:
-.. aafig::
- :aspect: 60
- :scale: 120
-
- /------\ 0 0 /------\
- | c1 |<-----+ +----->| p1 |
- \------/ \ / \------/
- \ /-----\ /
- /------\ 0 \ +==>| r12 |<==+ / 0 /------\
- | c2 |<--+ \ / \-----/ \ / +-->| p2 |
- \------/ \ \ | | / / \------/
- \ | | 1Mbps links | | /
- \ 1 v0 v5 1v 2v 3 /
- +->/------\ /------\<-+
- 2| r1 |<===============>| r2 |4
- +->\------/4 0\------/<-+
- / 3^ ^5 \
- / | | \
- /------\ 0 / / \ \ 0 /------\
- | c3 |<--+ / \ +-->| p3 |
- \------/ / \ \------/
- / "All consumer-router and" \
- /------\ 0 / "router-producer links are" \ 0 /------\
- | c4 |<-----+ "10Mbps" +---->| p4 |
- \------/ \------/
-
- "Numbers near nodes denote face IDs. Face ID is assigned based on the order of link"
- "definitions in the topology file"
The corresponding topology file (``topo-11-node-two-bottlenecks.txt``):
diff --git a/docs/source/intro.rst b/docs/source/intro.rst
index b39f211..eb001fa 100644
--- a/docs/source/intro.rst
+++ b/docs/source/intro.rst
@@ -1,13 +1,15 @@
.. ndnSIM: NS-3 based NDN simulator
.. ============================================================
-.. .. toctree::
-.. :maxdepth: 2
-
============
Introduction
============
+.. sidebar:: ndnSIM components
+
+ .. image:: _static/ndnsim-components.*
+ :width: 100%
+
The ndnSIM 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).
Following the NDN architecture, ndnSIM is implemented as a new network-layer protocol model, which can run on top of any available link-layer protocol model (point-to-point, CSMA, wireless, etc.).
@@ -22,43 +24,6 @@
This modular structure allows any component to be easily modified or replaced with no or minimal impact on other components.
In addition, the simulator provides an extensive collection of interfaces and helpers to perform detailed tracing behavior of every component, as well as NDN traffic flow.
-
-.. aafig::
- :aspect: 60
- :scale: 120
-
- +----------------+ +-----------+
- | "Applications" | | NetDevice |
- +----------------+ +-----------+
- ^ ^
- .................|......................................|......................
- . v v .
- . +----------------------+ +----------------------+ .
- . | "Face" | | "Face" | .
- . | "(AppFace, ApiFace)" | | "(NetDeviceFace)" | .
- . +----------------------+ +----------------------+ .
- . ^ ^ .
- . | | .
- . v v .
- . XXXXXXXXXXXXXXXXXXXXXXXXXXXXX .
- . XX XX .
- . XX Core NDN protocol XX .
- . XX "(L3Protocol)" XX
- . XX XX .
- . XXXXXXXXXXXXXXXXXXXXXXXXXXXXX .
- . ^ ^ ^ ^ .
- . | | | | .
- . +-------------------+ +---+ +---+ +------------+ .
- . | | | | .
- . v v v v .
- . +-------------------+ +-------+ +-------+ +-------------+ .
- . | "ContentStore" | | PIT | | FIB | | "Forwarding"| .
- . +-------------------+ +-------+ +-------+ | "Strategy" | .
- . +-------------+ .
- . .
- ...............................................................................
-
-
The current wire format for the Interest and Data packets used by ndnSIM is defined in :ref:`ndnSIM packet format`.
ndnSIM also has an option to be compatible to wire format used by `NDNx implementation <http://named-data.net/>`_ (NDNx binary XML encoding). However currently, this option is deprecated, but can be reintroduced in the future as an optional wire format.
diff --git a/docs/source/metric.rst b/docs/source/metric.rst
index 6b86e9f..ba65d8d 100644
--- a/docs/source/metric.rst
+++ b/docs/source/metric.rst
@@ -45,7 +45,7 @@
...
- :ndnsim:`L2Tracer`
-
+
This tracer is similar in spirit to :ndnsim:`ndn::L3RateTracer`, but it currently traces only packet drop on layer 2 (e.g.,
due to transmission queue overflow).
@@ -75,32 +75,34 @@
In this scenario we will use a tree-like topology, where consumers are installed on leaf nodes and producer is in the root of the tree:
-.. aafig::
- :aspect: 60
- :scale: 120
+.. sidebar:: Topology
- /--------\ /--------\ /--------\ /--------\
- |"leaf-1"| |"leaf-2"| |"leaf-3"| |"leaf-4"|
- \--------/ \--------/ \--------/ \--------/
- ^ ^ ^ ^
- | | | |
- \ / \ /
- \ / \ / 10Mbps / 1ms
- \ / \ /
- | | | |
- v v v v
- /-------\ /-------\
- |"rtr-1"| |"rtr-2"|
- \-------/ \-------/
- ^ ^
- | |
- \ / 10 Mpbs / 1ms
- +--------\ /--------+
- | |
- v v
- /--------\
- | "root" |
- \--------/
+ .. aafig::
+ :aspect: 60
+ :scale: 100
+
+ /--------\ /--------\ /--------\ /--------\
+ |"leaf-1"| |"leaf-2"| |"leaf-3"| |"leaf-4"|
+ \--------/ \--------/ \--------/ \--------/
+ ^ ^ ^ ^
+ | | | |
+ \ / \ /
+ \ / \ / 10Mbps / 1ms
+ \ / \ /
+ | | | |
+ v v v v
+ /-------\ /-------\
+ |"rtr-1"| |"rtr-2"|
+ \-------/ \-------/
+ ^ ^
+ | |
+ \ / 10 Mpbs / 1ms
+ +--------\ /--------+
+ | |
+ v v
+ /--------\
+ | "root" |
+ \--------/
The corresponding topology file (``topo-tree.txt``):
@@ -123,15 +125,13 @@
The successful run will create ``rate-trace.txt`` and ``aggregate-trace.txt`` files in the current directly, which can be analyzed manually or used as input to some graph/stats packages.
-For example, the following `R script <http://www.r-project.org/>`_ will build a number of nice graphs:
+.. sidebar:: Graph build using the `R script <http://www.r-project.org/>`_
-.. image:: _static/root-rates.png
- :alt: Interest/Data packet rates at the root node
- :align: right
+ .. image:: _static/root-rates.png
+ :alt: Interest/Data packet rates at the root node
-.. image:: _static/root-5sec-counts.png
- :alt: Interest/Data packet counts at the root node in 5-second intervals
- :align: right
+ .. image:: _static/root-5sec-counts.png
+ :alt: Interest/Data packet counts at the root node in 5-second intervals
.. literalinclude:: ../../examples/graphs/rate-graph.R
:language: r
@@ -144,15 +144,14 @@
Example of packet drop tracer (L2Tracer)
----------------------------------------
+.. sidebar:: Topology
+
+ .. image:: _static/topo-tree-25-node.png
+ :alt: 25-node tree topology
+ :width: 550px
+
This example (``ndn-tree-with-l2tracer.cc``) demonstrates basic usage of :ref:`trace classes`.
-In this scenario we will use a tree-like topology:
-
-.. image:: _static/topo-tree-25-node.png
- :alt: 25-node tree topology
- :width: 600px
- :align: right
-
The corresponding topology file (``topo-tree-25-node.txt``):
.. literalinclude:: ../../examples/topologies/topo-tree-25-node.txt
diff --git a/docs/source/ndnsim-research-papers.rst b/docs/source/ndnsim-research-papers.rst
index d619e36..b84638f 100644
--- a/docs/source/ndnsim-research-papers.rst
+++ b/docs/source/ndnsim-research-papers.rst
@@ -43,7 +43,7 @@
- **M. Vahlenkamp, "Threats on Information-Centric Networking", Hamburg University of Applied Sciences, Technical Report, 2012.** (`PDF <http://inet.cpt.haw-hamburg.de/teaching/ws-2012-13/master-projekt/markus-vahlenkamp_seminar.pdf>`_)
- The ICN approach aims for reflecting these changes in usage of the Internet and is thus dragging content awareness into the network, for instance to let the network itself decide where to acquire requested data from and thereby utilize content caches to increase the data dissemination efficiency. All this is backed by the use of the publish/subscribe paradigm that is utilised to announce content availability and request its delivery. Since the ICN paradigm is entirely different from todays Internet, new challenges arise within the area of network security. NDN/CCNx, as the most popular ICN approach, claims to solve a couple of different security flaws which the actual Internet is suffering from. This raises the questions of which vulnerabilities still exist and if maybe new issues arise.
+ The ICN approach aims for reflecting these changes in usage of the Internet and is thus dragging content awareness into the network, for instance to let the network itself decide where to acquire requested data from and thereby utilize content caches to increase the data dissemination efficiency. All this is backed by the use of the publish/subscribe paradigm that is utilised to announce content availability and request its delivery. Since the ICN paradigm is entirely different from todays Internet, new challenges arise within the area of network security. NDN/CCNx, as the most popular ICN approach, claims to solve a couple of different security flaws which the actual Internet is suffering from. This raises the questions of which vulnerabilities still exist and if maybe new issues arise.
- **C. Yi, A. Afanasyev, I. Moiseenko, L. Wang, B. Zhang, and L. Zhang, "A Case for Stateful Forwarding Plane," Computer Communications, vol. 36, no. 7, pp. 779–791, 2013. ISSN 0140-3664** (`PDF <http://lasr.cs.ucla.edu/afanasyev/data/files/Yi/comcom-stateful-forwarding.pdf>`_, `BibTex <http://lasr.cs.ucla.edu/afanasyev/bibwiki/bibtex/380>`_, `simulation code <https://github.com/cawka/ndnSIM-comcom-stateful-fw>`_)
@@ -65,29 +65,29 @@
- **B. Zhou, C. Wu, X. Hong, and M. Jiang, "Algorithms for Distributed Programmable Controllers", Technical Report, March 2013.** (`PDF <http://hong.cs.ua.edu/DCP-techReport-March2013.pdf>`_)
- A few works on SDN (Software-Defined Networking) like those in Onix improve programmability of the distributed network control.
- The asynchronism and Byzantine issues of the control challenge the re-configurability of the service that is to safely program the control in atomic so as to avoid the transient control issues like the routing loops and black holes.
- We propose two important algorithms of the distributed control to enable the programmability: (1) the reconfiguration primitive allows the network control of the services being able to safely react to an external event; and (2) the reuse primitive allows the control states of a service being accessible for all services. We give concepts and algorithms of two primitives.
- In addition, we provide the concrete cases of the current approaches for ICN (Information-Centric Networking) and CDN (Content Distribution Networks) for quests of the reconfigurability and programmability.
+ A few works on SDN (Software-Defined Networking) like those in Onix improve programmability of the distributed network control.
+ The asynchronism and Byzantine issues of the control challenge the re-configurability of the service that is to safely program the control in atomic so as to avoid the transient control issues like the routing loops and black holes.
+ We propose two important algorithms of the distributed control to enable the programmability: (1) the reconfiguration primitive allows the network control of the services being able to safely react to an external event; and (2) the reuse primitive allows the control states of a service being accessible for all services. We give concepts and algorithms of two primitives.
+ In addition, we provide the concrete cases of the current approaches for ICN (Information-Centric Networking) and CDN (Content Distribution Networks) for quests of the reconfigurability and programmability.
Then, we evaluate the performance of ICN in both simulation and the PlanetLab testbed.
The evaluation results show that the layer improves the lowers 19.6% of the Interest delays in the ICN that is heavily congested and lowers 97% delays in the PlanetLab with 9 nodes on usual case.
In addition, the evaluation of CDN on the PlanetLab shows that it reduces 81% request delay on usual case.
- **M. Tortelli, L. A. Grieco, and G. Boggia, "Performance Assessment of Routing Strategies in Named Data Networking", in Proc. of GTTI 2013 Session on Telecommunication Networks, 2013** (`PDF <http://www.gtti.it/GTTI13/papers/Tortelli_et_al_GTTI2013.pdf>`_)
- Information Centric Networking (ICN) architectures are currently being investigated to orient the Future Internet towards a content centric paradigm, thus allowing the provisioning of more secure, efficient, and scalable services.
+ Information Centric Networking (ICN) architectures are currently being investigated to orient the Future Internet towards a content centric paradigm, thus allowing the provisioning of more secure, efficient, and scalable services.
In this work, we focus on the Named Data Networking (NDN) proposal to analyze the impact of several routing and forwarding strategies, which play a fundamental role in ICN.
In particular, thanks to the recently devised ns-3 based NDN simulator, namely ndnSIM, we conduce an extensive simulation campaign using the GEANT topology as a core network.
- We monitor different distinctive metrics, such as file download time, server load reduction, hit ratio, hit distance, and communication overhead, in different topologies and traffic conditions.
- Simulation results show that the election of a single best forwarding strategy is a difficult task.
- Indeed, the pros and cons of each strategy are heavily influenced by the popularity distribution of contents, which, in turn, affects the effectiveness of the distributed caching mechanisms typically used in the NDN architecture.
+ We monitor different distinctive metrics, such as file download time, server load reduction, hit ratio, hit distance, and communication overhead, in different topologies and traffic conditions.
+ Simulation results show that the election of a single best forwarding strategy is a difficult task.
+ Indeed, the pros and cons of each strategy are heavily influenced by the popularity distribution of contents, which, in turn, affects the effectiveness of the distributed caching mechanisms typically used in the NDN architecture.
- **S. Seo, J.-M. Kang, A. Leon-Garcia, Y. Han, and J. W.-K. Hong, "Secure and Efficient Context Data Collection using Content-Centric Networking", in Proc. of International Workshop on Smart Communication Protocols and Algorithms (SCPA), 2013** (`PDF <http://dpnm.postech.ac.kr/papers/SCPA/13/sesise/scpa13.pdf>`_)
Context data collection is a fundamental and important process for realizing context-aware recommender or personalization systems.
The existing context data collection approaches are based-on traditional TCP/IP that has several disadvantages such as lack of mobility and security.
- On the other hand, Content-Centric Networking (CCN) provides advantages in terms of mobility, security, and bandwidth efficiency compared to TCP/IP.
- In this paper, we propose a secure and efficient context data collection and provision approach based on CCN.
+ On the other hand, Content-Centric Networking (CCN) provides advantages in terms of mobility, security, and bandwidth efficiency compared to TCP/IP.
+ In this paper, we propose a secure and efficient context data collection and provision approach based on CCN.
Simulation results show that this approach can reduce bandwidth consumption by 52.7%–98.9% in comparison to a TCP/IP-based one.
- **J. Ran, N. Lv, D. Zhang, Y. Ma, and Z. Xie, "On Performance of Cache Policies in Named Data Networking", in International Conference on Advanced Computer Science and Electronics Information (ICACSEI 2013), 2013** (`PDF <http://www.atlantis-press.com/php/download_paper.php?id=7640>`_)
diff --git a/model/fib/ndn-fib.h b/model/fib/ndn-fib.h
index b5e8e40..f088515 100644
--- a/model/fib/ndn-fib.h
+++ b/model/fib/ndn-fib.h
@@ -85,8 +85,6 @@
*
* If the entry exists, metric will be updated. Otherwise, new entry will be created
*
- * Entries in FIB never deleted. They can be invalidated with metric==NETWORK_UNREACHABLE
- *
* @param name Prefix
* @param face Forwarding face
* @param metric Routing metric
@@ -99,8 +97,6 @@
*
* If the entry exists, metric will be updated. Otherwise, new entry will be created
*
- * Entries in FIB never deleted. They can be invalidated with metric==NETWORK_UNREACHABLE
- *
* @param name Smart pointer to prefix
* @param face Forwarding face
* @param metric Routing metric
@@ -119,15 +115,6 @@
virtual void
Remove (const Ptr<const Name> &prefix) = 0;
- // /**
- // * @brief Invalidate FIB entry ("Safe" version of Remove)
- // *
- // * All faces for the entry will be assigned maximum routing metric and NDN_FIB_RED status
- // * @param name Smart pointer to prefix
- // */
- // virtual void
- // Invalidate (const Ptr<const Name> &prefix) = 0;
-
/**
* @brief Invalidate all FIB entries
*/