Alexander Afanasyev | 687dba8 | 2015-09-27 15:32:58 -0700 | [diff] [blame^] | 1 | NFD version 0.1.0 |
| 2 | ----------------- |
| 3 | |
| 4 | Release date: May 7, 2014 |
| 5 | |
| 6 | This 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 | |
| 68 | Planned 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 |