PrefixAnnouncement » History » Version 2
Davide Pesavento, 08/13/2018 11:48 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 | 2 | Davide Pesavento | The **prefix announcement object** is a Data packet that represents an application's intent of registering a prefix toward itself. A Data packet that satisfies the following requirements is a prefix announcement object: |
8 | 1 | Junxiao Shi | |
9 | 2 | Davide Pesavento | * Name starts with the announced prefix, followed by a fixed `prefix-announcement` generic name component, followed by a version component and a segment component as defined by the NDN Naming Conventions. |
10 | 1 | Junxiao Shi | * 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 | 2 | Davide Pesavento | * FreshnessPeriod gives the duration for which the prefix announcement remains valid. The duration begins when a node or program receives the prefix announcement. |
17 | 1 | Junxiao Shi | * When both ValidityPeriod and FreshnessPeriod are present, the most restricted constraint applies. |
18 | |||
19 | 2 | Davide Pesavento | Trust model of prefix announcement is to be defined by the application. |
20 | 1 | Junxiao Shi | |
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 | 2 | Davide Pesavento | The Interest's Parameters element carries the prefix announcement object. |
34 | 1 | Junxiao Shi | |
35 | NFD-RIB converts this command into an equivalent `rib/register` command. Route *origin* is set to "prefix announcement" (number 129). |
||
36 | 2 | Davide Pesavento | Response is the same as `rib/register` command. |
37 | 1 | Junxiao Shi | |
38 | ### 'unannounce' |
||
39 | 2 | Davide Pesavento | |
40 | 1 | Junxiao Shi | There is no 'unannounce' command. Instead, use `rib/unregister` command. |