Project

General

Profile

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.