blob: f088f2ff8edc05451e32f4c876e37c239ab58f59 [file] [log] [blame] [view]
Alexander Afanasyeva1417002014-01-21 20:29:55 -08001NFD - Named Data Networking Forwarding Daemon
Beichuan Zhang55b8ed42014-04-26 22:25:44 -07002=============================================
Alexander Afanasyeva1417002014-01-21 20:29:55 -08003
Davide Pesaventocffb4e52016-09-12 20:03:08 +02004[![Build Status](https://travis-ci.org/named-data/NFD.svg?branch=master)](https://travis-ci.org/named-data/NFD)
5
Steve DiBenedetto62a93942014-08-24 17:13:52 -06006For complete documentation, including step-by-step installation instructions and
Eric Newberry81a9a862016-12-27 22:59:27 -07007tutorials, please visit the [NFD homepage](https://named-data.net/doc/NFD/).
Alexander Afanasyev0c3e93d2014-05-12 15:49:56 -07008
9## Overview
10
Beichuan Zhang55b8ed42014-04-26 22:25:44 -070011NFD is a network forwarder that implements and evolves together with the Named Data
Eric Newberry81a9a862016-12-27 22:59:27 -070012Networking (NDN) [protocol](https://named-data.net/doc/ndn-tlv/). After the initial
Beichuan Zhang55b8ed42014-04-26 22:25:44 -070013release, NFD will become a core component of the
Eric Newberry81a9a862016-12-27 22:59:27 -070014[NDN Platform](https://named-data.net/codebase/platform/) and will follow the same release
Beichuan Zhang55b8ed42014-04-26 22:25:44 -070015cycle.
Alexander Afanasyeva1417002014-01-21 20:29:55 -080016
Beichuan Zhang55b8ed42014-04-26 22:25:44 -070017NFD is an open and free software package licensed under GPL 3.0 license and is the
18centerpiece of our committement to making NDN's core technology open and free to all
19Internet users and developers. For more information about the licensing details and
20limitation, refer to
21[`COPYING.md`](https://github.com/named-data/NFD/blob/master/COPYING.md).
Steve DiBenedetto1a3c6732014-03-13 06:44:05 -060022
Beichuan Zhang55b8ed42014-04-26 22:25:44 -070023NFD is developed by a community effort. Although the first release was mostly done by the
Eric Newberry81a9a862016-12-27 22:59:27 -070024members of [NSF-sponsored NDN project team](https://named-data.net/project/participants/),
Beichuan Zhang55b8ed42014-04-26 22:25:44 -070025it already contains significant contributions from people outside the project team (for
Steve DiBenedetto62a93942014-08-24 17:13:52 -060026more details, refer to
27[`AUTHORS.md`](https://github.com/named-data/NFD/blob/master/AUTHORS.md)). We strongly
28encourage participation from all interested parties, since broader community support is
29key for NDN to succeed as a new Internet architecture. Bug reports and feedback are
30highly appreciated and can be made through
Eric Newberry81a9a862016-12-27 22:59:27 -070031[Redmine site](https://redmine.named-data.net/projects/nfd) and the
Alexander Afanasyev284257b2014-04-11 14:16:51 -070032[ndn-interest mailing list](http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest).
Steve DiBenedetto1a3c6732014-03-13 06:44:05 -060033
Beichuan Zhang55b8ed42014-04-26 22:25:44 -070034The main design goal of NFD is to support diverse experimentation of NDN technology. The
35design emphasizes *modularity* and *extensibility* to allow easy experiments with new
36protocol features, algorithms, new applications. We have not fully optimized the code for
37performance. The intention is that performance optimizations are one type of experiments
38that developers can conduct by trying out different data structures and different
39algorithms; over time, better implementations may emerge within the same design framework.
40
41NFD will keep evolving in three aspects: improvement of the modularity framework, keeping
42up with the NDN protocol spec, and addition of other new features. We hope to keep the
Steve DiBenedetto62a93942014-08-24 17:13:52 -060043modular framework stable and lean, allowing researchers to implement and experiment with
44various features, some of which may eventually work into the protocol spec.