Project

General

Profile

CcndStrategy » History » Version 1

Junxiao Shi, 06/09/2014 09:27 PM

1 1 Junxiao Shi
# ccnd 0.7.2 forwarding strategy
2
3
ccnd has a hierarchical name prefix table that stores both permanent and temporary forwarding states.
4
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".
5
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.
6
7
In many cases, multiple forwarding entries apply to the same Name, indicating that ContentObject MAY be available from multiple Faces.
8
Unlike IP network, having a forwarding entry to a Face does not guarantee the successful retrieval of ContentObject.
9
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`).
10
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`).