You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, NDVR uses the Incoming Face ID to detect how to reach a particular node for two reasons: 1) to get the certificate; 2) to insert FIB entries later on related to learned name prefix from the routing process. This is implemented in the following commit/lines: 487c877#diff-7cb0052807d3b8a56a34865ab9a08382R236-R238
However, it's worth to notice that since we are using the default multicast forward strategy, the incoming face can be a result of another node forwarding the interest on behalf of someone else. In other words, we create FIB entries to forward NDVR interest using the multicast strategy for ALL faces; thus, one node can forward ndvr messages from other nodes and then the interest might be received from (i) the direct face or (ii) from the intermediate forwarder face! Not necessarily means the node moved!
Ideally, we should use the forward strategy semantics similar to the localhop prefix (nfd::scope_prefix::LOCALHOP):
The localhop scope limits propagation to no further than the next node.
Interest packets under prefix ndn:/localhop are restricted by these rules:
If an Interest is received from a local face, it can be forwarded to a non-local face.
If an Interest is received from a non-local face, it cannot be forwarded to a non-local face.
In either case the Interest can be forwarded to a local face.
PIT entry can be satisfied by Data from any source.
Data packets under prefix ndn:/localhop are unrestricted.
Maybe we need a custom forward strategy
The text was updated successfully, but these errors were encountered:
Commit 9224e34 changed NDVR's naming schema to use LOCALHOP scope prefix and after that we were able to improve the problem of a node forwarding NDVR interests on behalf of other nodes (which are not supposed to happen).
In terms of the protocol overhead (number of interest and data packages transmitted by each node), we reduced from ~24k to ~17k in the ndncomm2020 scenario (10rounds, or 400s, of data generation + 20nodes + RandomWalk + 1328s of simulation time):
Suppose a scenario such as:
Currently, NDVR uses the Incoming Face ID to detect how to reach a particular node for two reasons: 1) to get the certificate; 2) to insert FIB entries later on related to learned name prefix from the routing process. This is implemented in the following commit/lines: 487c877#diff-7cb0052807d3b8a56a34865ab9a08382R236-R238
However, it's worth to notice that since we are using the default multicast forward strategy, the incoming face can be a result of another node forwarding the interest on behalf of someone else. In other words, we create FIB entries to forward NDVR interest using the multicast strategy for ALL faces; thus, one node can forward ndvr messages from other nodes and then the interest might be received from (i) the direct face or (ii) from the intermediate forwarder face! Not necessarily means the node moved!
Ideally, we should use the forward strategy semantics similar to the localhop prefix (nfd::scope_prefix::LOCALHOP):
Maybe we need a custom forward strategy
The text was updated successfully, but these errors were encountered: