Project

General

Profile

Actions

CcndStrategy » History » Revision 1

Revision 1/2 | Next »
Junxiao Shi, 06/09/2014 09:27 PM


ccnd 0.7.2 forwarding strategy

ccnd has a hierarchical name prefix table that stores both permanent and temporary forwarding states.
Forwarding entries, similar to IP's static routing table, are manually configured or registered by local applications, and usually lasts for a long time and can be considered "permanent".
For each incoming ContentObject, ccnd remembers where it comes from (npe->src) in the name prefix table at every node that is a prefix of this ContentObject (eg. source of /A/B/C is remembered at /, /A, /A/B, and /A/B/C nodes); this information is temporary, and expires after 8 seconds.

In many cases, multiple forwarding entries apply to the same Name, indicating that ContentObject MAY be available from multiple Faces.
Unlike IP network, having a forwarding entry to a Face does not guarantee the successful retrieval of ContentObject.
Interest is first forwarded to the "best" Face (npe->src) of a Name Prefix entry with at least one forwarding entry (eg. if only /A and /A/B have forwarding entries, Interest to /A/B/C/D goes to npe->src of /A/B node; in strategy_callout:CCNST_FIRST).
If a matching ContentObject comes in predicted time, the prediction is adjusted down; otherwise, the prediction is adjusted up, and the Interest is forwarded to N other possible faces (N = MIN(2, number of unexpired downstreams); in do_propagate).

Updated by Junxiao Shi over 10 years ago · 2 revisions