blob: 03b1ce0c2be6db480e6b285e3bd0281f33d1d343 [file] [log] [blame]
Alexander Afanasyev687dba82015-09-27 15:32:58 -07001NFD version 0.1.0
2-----------------
3
4Release date: May 7, 2014
5
6This is an incomplete list of features that are implemented in NFD version 0.1.0.
7
8- **Packet Format**
9
10 + `NDN-TLV <http://named-data.net/doc/ndn-tlv/>`_
11 + LocalControlHeader, to allow apps to set outgoing face and learn incoming face.
12
13- **Faces**
14
15 + Unix stream socket
16 + UDP unicast
17 + UDP multicast
18 + TCP
19 + Ethernet, currently without fragmentation.
20
21 .. note::
22 Ethernet support will not work properly on Linux kernels with TPACKET_V3 flexible
23 buffer implementation (>= 3.2.0) and libpcap >= 1.5.0 (e.g., Ubuntu Linux 14.04).
24 Refer to `Issue 1551 <http://redmine.named-data.net/issues/1511>`_ for more
25 detail and implementation progress.
26
27- **Management**
28
29 + Use of signed Interests as commands, with authentication and authorization.
30 + Face management
31 + FIB management
32 + Per-namespace strategy selection
33 + NFD status publishing
34 + Notification to authorized apps of internal events, including Face creation and destruction.
35
36- **Tables and forwarding pipelines** support most Interest/Data processing, including
37 selectors.
38
39- **RIB Management** that runs as a separate process, ``nrd``. It supports basic prefix
40 registration by applications, but no flags yet.
41
42- **Strategies**
43
44 + ``broadcast``
45 + ``best-route``
46 + ``ncc``: based on ccnx 0.7 for experimentation
47 + ``client-control``: authorized application can directly control Interest forwarding
48
49- **Name-based scoping**
50
51 + ``/localhost``: communication only within localhost using "local" Faces
52 (UnixStreamFace, LocalTcpFace). NFD will strictly enforce this scope for Interests
53 and Data packets
54 + ``/localhop``: one-hop communication (e.g., if at least one incoming or outgoing Face
55 in PIT entry is non-local, the Interest cannot be forwarded to any non-local Face)
56
57- **Support configuration file**, which is in the Boost INFO format.
58
59- **Applications**
60
61 + Tools to discover hubs on NDN testbed.
62 + peek/poke and traffic generators for testing and debugging.
63 + ``nfdc``, a command-line tool to configure NFD.
64 + ``nfd-status``, a command-line tool to query NFD status.
65 + ``nfd-status-http-server``, which reads the NFD status and publishes over HTTP.
66
67
68Planned Functions and Features for Next Releases
69^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
70
71- NACK
72 A packet sent back by a producer or a router to signal the unavailability of a requested
73 Data packet. The protocol specification for NACK is in progress.
74
75- New strategies
76 Additional strategies, including self-learning that populates the FIB by observing
77 Interest and Data exchange.
78
79- Hop-by-hop Interest limit mechanism
80 For congestion control
81
82- Face enhancements
83 Add faces for new underlying protocols such as WiFi direct.
84 Introduce the concept of "permanent faces" that can survive socket errors.
85 Design a new hop-by-hop header that supports fragmentation, reliability improvement, etc.
86
87- Tables
88 Experiment and evaluate different data structures and algorithms.
89
90- RIB management
91 Move to more scalable data structures and support all flags in prefix registrations.
92
93- Tunnel management
94 For hub nodes to authenticate incoming tunnel requests and maintain the tunnels.
95
96- Extensible name-based scoping
97 Configurable organization-based scoping