NFD version 0.1.0¶
Release date: May 7, 2014
This is an incomplete list of features that are implemented in NFD version 0.1.0.
Packet Format
LocalControlHeader, to allow apps to set outgoing face and learn incoming face
Faces
Unix stream socket
UDP unicast
UDP multicast
TCP
Ethernet, currently without fragmentation.
Note
Ethernet support will not work properly on Linux kernels with TPACKET_V3 flexible buffer implementation (>= 3.2.0) and libpcap >= 1.5.0 (e.g., Ubuntu Linux 14.04). Refer to issue #1551 for more details and implementation progress.
Management
Use of signed Interests as commands, with authentication and authorization.
Face management
FIB management
Per-namespace strategy selection
NFD status publishing
Notification to authorized apps of internal events, including Face creation and destruction.
Tables and forwarding pipelines support most Interest/Data processing, including selectors.
RIB Management that runs as a separate process,
nrd
. It supports basic prefix registration by applications, but no flags yet.Strategies
broadcast
best-route
ncc
: based on ccnx 0.7 for experimentationclient-control
: authorized application can directly control Interest forwarding
Name-based scoping
/localhost
: communication only within localhost using “local” Faces (UnixStreamFace, LocalTcpFace). NFD will strictly enforce this scope for Interests and Data packets/localhop
: one-hop communication (e.g., if at least one incoming or outgoing Face in PIT entry is non-local, the Interest cannot be forwarded to any non-local Face)
Support configuration file, which is in the Boost INFO format.
Applications
Tools to discover hubs on NDN testbed.
peek/poke and traffic generators for testing and debugging.
nfdc
, a command-line tool to configure NFD.nfd-status
, a command-line tool to query NFD status.nfd-status-http-server
, which reads the NFD status and publishes over HTTP.
Planned Functions and Features for Next Releases¶
- NACK
A packet sent back by a producer or a router to signal the unavailability of a requested Data packet. The protocol specification for NACK is in progress.
- New strategies
Additional strategies, including self-learning that populates the FIB by observing Interest and Data exchange.
- Hop-by-hop Interest limit mechanism
For congestion control
- Face enhancements
Add faces for new underlying protocols such as WiFi direct. Introduce the concept of “permanent faces” that can survive socket errors. Design a new hop-by-hop header that supports fragmentation, reliability improvement, etc.
- Tables
Experiment and evaluate different data structures and algorithms.
- RIB management
Move to more scalable data structures and support all flags in prefix registrations.
- Tunnel management
For hub nodes to authenticate incoming tunnel requests and maintain the tunnels.
- Extensible name-based scoping
Configurable organization-based scoping