PrefixAnnouncement » History » Version 1
Junxiao Shi, 08/13/2018 05:36 AM
1 | 1 | Junxiao Shi | # Prefix Announcement Protocol |
---|---|---|---|
2 | |||
3 | The **prefix announcement protocol** allows registering prefixes using a *prefix announcement object*. It is an alternative to NFD [[RibMgmt|RIB Management protocol]]'s `rib/register` verb. |
||
4 | |||
5 | ## Prefix Announcement object |
||
6 | |||
7 | The **prefix announcement object** is a Data packet that represents an application's intent of registering a prefix toward the application. A Data packet that satisfies the following requirements is a prefix announcement object: |
||
8 | |||
9 | * Name starts with the announced prefix, followed by `prefix-announcement` constant component, followed by a version component and a segment component as defined in NDN Naming Convention. |
||
10 | * ContentType is "prefix announcement". |
||
11 | * Content contains zero or more TLV elements. |
||
12 | |||
13 | A prefix announcement object, by default, is valid indefinitely. Its **validity period** can be constrained with ValidityPeriod or FreshnessPeriod element. |
||
14 | |||
15 | * ValidityPeriod gives the absolute time range in which the prefix announcement remains valid. It is ignored if the receiving node does not have a UnixTime clock. |
||
16 | * FreshnessPeriod gives the duration in which the prefix announcement remains valid. The duration begins when a node or program receives the prefix announcement. |
||
17 | * When both ValidityPeriod and FreshnessPeriod are present, the most restricted constraint applies. |
||
18 | |||
19 | Trust model of prefix announcement is to be defined by application. |
||
20 | |||
21 | ## Command Verbs |
||
22 | |||
23 | ### 'announce' |
||
24 | |||
25 | This command announces a prefix using a prefix announcement object. |
||
26 | NFD-RIB accepts this command as a [[ndn-cxx:CommandInterest|Command Interest]] with the following syntax: |
||
27 | |||
28 | ``` |
||
29 | /localhost/nfd/rib/announce/<params-sha256>/<command-interest-components> |
||
30 | /localhop/nfd/rib/announce/<params-sha256>/<command-interest-components> |
||
31 | ``` |
||
32 | |||
33 | The Interest's Parameters element carries the prefix announce object. |
||
34 | |||
35 | NFD-RIB converts this command into an equivalent `rib/register` command. Route *origin* is set to "prefix announcement" (number 129). |
||
36 | Response is same as `rib/register` command. |
||
37 | |||
38 | ### 'unannounce' |
||
39 | There is no 'unannounce' command. Instead, use `rib/unregister` command. |