blob: ecc1d72e163ba52e0e6919cb1e1e49dc75675cce [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
Beichuan Zhang55b8ed42014-04-26 22:25:44 -07004NFD is a network forwarder that implements and evolves together with the Named Data
5Networking (NDN) [protocol](http://named-data.net/doc/ndn-tlv/). After the initial
6release, NFD will become a core component of the
7[NDN Platform](http://named-data.net/codebase/platform/) and will follow the same release
8cycle.
Alexander Afanasyeva1417002014-01-21 20:29:55 -08009
Beichuan Zhang55b8ed42014-04-26 22:25:44 -070010NFD is an open and free software package licensed under GPL 3.0 license and is the
11centerpiece of our committement to making NDN's core technology open and free to all
12Internet users and developers. For more information about the licensing details and
13limitation, refer to
14[`COPYING.md`](https://github.com/named-data/NFD/blob/master/COPYING.md).
Steve DiBenedetto1a3c6732014-03-13 06:44:05 -060015
Beichuan Zhang55b8ed42014-04-26 22:25:44 -070016NFD is developed by a community effort. Although the first release was mostly done by the
17members of [NSF-sponsored NDN project team](http://named-data.net/project/participants/),
18it already contains significant contributions from people outside the project team (for
19more details, refer to [`AUTHORS.md`](https://github.com/named-data/NFD/blob/master/AUTHORS.md)).
20We strongly encourage participation from all interested parties, since broader community
21support is key for NDN to succeed as a new Internet architecture. Bug reports and
22feedback are highly appreciated and can be made through
Alexander Afanasyev284257b2014-04-11 14:16:51 -070023[Redmine site](http://redmine.named-data.net/projects/nfd) and the
24[ndn-interest mailing list](http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest).
Steve DiBenedetto1a3c6732014-03-13 06:44:05 -060025
Beichuan Zhang55b8ed42014-04-26 22:25:44 -070026The main design goal of NFD is to support diverse experimentation of NDN technology. The
27design emphasizes *modularity* and *extensibility* to allow easy experiments with new
28protocol features, algorithms, new applications. We have not fully optimized the code for
29performance. The intention is that performance optimizations are one type of experiments
30that developers can conduct by trying out different data structures and different
31algorithms; over time, better implementations may emerge within the same design framework.
32
33NFD will keep evolving in three aspects: improvement of the modularity framework, keeping
34up with the NDN protocol spec, and addition of other new features. We hope to keep the
35modular framework stable and lean, allowing researchers to implement and experiment
36with various features, some of which may eventually work into the protocol spec.
37
38The design and development of NFD benefited from our earlier experience with
39[CCNx](http://www.ccnx.org) software package. However, NFD is not in any part derived from
40CCNx codebase and does not maintain compatibility with CCNx.
Alexander Afanasyevc1d6a6b2014-04-08 18:04:57 -070041
Alexander Afanasyev284257b2014-04-11 14:16:51 -070042Documentation
43-------------
Steve DiBenedetto1a3c6732014-03-13 06:44:05 -060044
Alexander Afanasyev284257b2014-04-11 14:16:51 -070045For more information refer to
Steve DiBenedetto1a3c6732014-03-13 06:44:05 -060046
Beichuan Zhang55b8ed42014-04-26 22:25:44 -070047* [Release notes `docs/RELEASE_NOTES.rst`](https://github.com/named-data/NFD/blob/master/docs/RELEASE_NOTES.rst)
48* [Installation instruction `docs/INSTALL.rst`](https://github.com/named-data/NFD/blob/master/docs/INSTALL.rst)
Alexander Afanasyev284257b2014-04-11 14:16:51 -070049* [Hints on configuration `docs/README.rst`](https://github.com/named-data/NFD/blob/master/docs/README.rst)
Beichuan Zhang55b8ed42014-04-26 22:25:44 -070050* Other documentation in [`docs/`](https://github.com/named-data/NFD/blob/master/docs) folder