blob: bd76dfb20d226311a697e8d010a42a16879a6de1 [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
Davide Pesaventobf4c1312023-02-23 20:32:01 -050010 + `NDN-TLV <https://docs.named-data.net/NDN-packet-spec/0.1/>`__
Davide Pesavento9f6a7d92020-10-06 15:21:48 -040011 + LocalControlHeader, to allow apps to set outgoing face and learn incoming face
Alexander Afanasyev687dba82015-09-27 15:32:58 -070012
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).
Davide Pesavento9f6a7d92020-10-06 15:21:48 -040024 Refer to :issue:`1551` for more details and implementation progress.
Alexander Afanasyev687dba82015-09-27 15:32:58 -070025
26- **Management**
27
28 + Use of signed Interests as commands, with authentication and authorization.
29 + Face management
30 + FIB management
31 + Per-namespace strategy selection
32 + NFD status publishing
33 + Notification to authorized apps of internal events, including Face creation and destruction.
34
35- **Tables and forwarding pipelines** support most Interest/Data processing, including
36 selectors.
37
38- **RIB Management** that runs as a separate process, ``nrd``. It supports basic prefix
39 registration by applications, but no flags yet.
40
41- **Strategies**
42
43 + ``broadcast``
44 + ``best-route``
45 + ``ncc``: based on ccnx 0.7 for experimentation
46 + ``client-control``: authorized application can directly control Interest forwarding
47
48- **Name-based scoping**
49
50 + ``/localhost``: communication only within localhost using "local" Faces
51 (UnixStreamFace, LocalTcpFace). NFD will strictly enforce this scope for Interests
52 and Data packets
53 + ``/localhop``: one-hop communication (e.g., if at least one incoming or outgoing Face
54 in PIT entry is non-local, the Interest cannot be forwarded to any non-local Face)
55
56- **Support configuration file**, which is in the Boost INFO format.
57
58- **Applications**
59
60 + Tools to discover hubs on NDN testbed.
61 + peek/poke and traffic generators for testing and debugging.
62 + ``nfdc``, a command-line tool to configure NFD.
63 + ``nfd-status``, a command-line tool to query NFD status.
64 + ``nfd-status-http-server``, which reads the NFD status and publishes over HTTP.
65
Alexander Afanasyev687dba82015-09-27 15:32:58 -070066Planned Functions and Features for Next Releases
67^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
68
69- NACK
70 A packet sent back by a producer or a router to signal the unavailability of a requested
71 Data packet. The protocol specification for NACK is in progress.
72
73- New strategies
74 Additional strategies, including self-learning that populates the FIB by observing
75 Interest and Data exchange.
76
77- Hop-by-hop Interest limit mechanism
78 For congestion control
79
80- Face enhancements
81 Add faces for new underlying protocols such as WiFi direct.
82 Introduce the concept of "permanent faces" that can survive socket errors.
83 Design a new hop-by-hop header that supports fragmentation, reliability improvement, etc.
84
85- Tables
86 Experiment and evaluate different data structures and algorithms.
87
88- RIB management
89 Move to more scalable data structures and support all flags in prefix registrations.
90
91- Tunnel management
92 For hub nodes to authenticate incoming tunnel requests and maintain the tunnels.
93
94- Extensible name-based scoping
95 Configurable organization-based scoping