blob: beadc1341bceeef8521761d6bb61350ddcad7102 [file] [log] [blame] [view]
Davide Pesavento3bc8e192022-12-31 01:40:11 -05001<div align="center">
2
3[<img alt height="70" src="docs/named_data_theme/static/ndn-logo.svg"/>](https://named-data.net/)
4
Davide Pesaventob7bfcb92022-05-22 23:55:23 -04005# NFD: Named Data Networking Forwarding Daemon
Alexander Afanasyeva1417002014-01-21 20:29:55 -08006
Davide Pesavento3bc8e192022-12-31 01:40:11 -05007</div>
8
Davide Pesavento13dae352021-08-13 15:40:54 -04009[![CI](https://github.com/named-data/NFD/actions/workflows/ci.yml/badge.svg)](https://github.com/named-data/NFD/actions/workflows/ci.yml)
10[![Docs](https://github.com/named-data/NFD/actions/workflows/docs.yml/badge.svg)](https://github.com/named-data/NFD/actions/workflows/docs.yml)
Davide Pesaventob7bfcb92022-05-22 23:55:23 -040011![Language](https://img.shields.io/badge/C%2B%2B-17-blue)
Davide Pesavento13dae352021-08-13 15:40:54 -040012![Latest version](https://img.shields.io/github/v/tag/named-data/NFD?label=Latest%20version)
Nick Gordon3257af22017-12-21 14:15:55 -060013
Alexander Afanasyev0c3e93d2014-05-12 15:49:56 -070014## Overview
15
Beichuan Zhang55b8ed42014-04-26 22:25:44 -070016NFD is a network forwarder that implements and evolves together with the Named Data
Davide Pesavento08b91c82019-04-13 19:42:10 -040017Networking (NDN) [protocol](https://named-data.net/doc/NDN-packet-spec/current/).
18Since the initial public release in 2014, NFD has been a core component of the
19[NDN Platform](https://named-data.net/codebase/platform/).
Steve DiBenedetto1a3c6732014-03-13 06:44:05 -060020
Beichuan Zhang55b8ed42014-04-26 22:25:44 -070021The main design goal of NFD is to support diverse experimentation of NDN technology. The
22design emphasizes *modularity* and *extensibility* to allow easy experiments with new
23protocol features, algorithms, new applications. We have not fully optimized the code for
24performance. The intention is that performance optimizations are one type of experiments
25that developers can conduct by trying out different data structures and different
26algorithms; over time, better implementations may emerge within the same design framework.
27
28NFD will keep evolving in three aspects: improvement of the modularity framework, keeping
29up with the NDN protocol spec, and addition of other new features. We hope to keep the
Steve DiBenedetto62a93942014-08-24 17:13:52 -060030modular framework stable and lean, allowing researchers to implement and experiment with
31various features, some of which may eventually work into the protocol spec.
Davide Pesavento08b91c82019-04-13 19:42:10 -040032
33## Documentation
34
35See [`docs/INSTALL.rst`](docs/INSTALL.rst) for compilation and installation instructions.
36
37Extensive documentation is available on NFD's [homepage](https://named-data.net/doc/NFD/).
38
39## Reporting bugs
40
41Bug reports and feedback are highly appreciated and can be submitted through the
42[NFD issue tracker](https://redmine.named-data.net/projects/nfd/issues) or the
43[ndn-interest mailing list](http://www.lists.cs.ucla.edu/mailman/listinfo/ndn-interest).
44
45## Contributing
46
47NFD is developed by a community effort. Although the first release was mostly done by the
48members of [NSF-sponsored NDN project team](https://named-data.net/project/participants/),
49it already contains significant contributions from people outside the project team (see
50[`AUTHORS.md`](AUTHORS.md)). We strongly encourage participation from all interested parties,
51since broader community support is key for NDN to succeed as a new Internet architecture.
52
53If you are new to the NDN software community, please read [`README-dev.md`](README-dev.md)
Davide Pesavento17521592020-05-14 19:01:32 -040054and the [Contributor's Guide](https://github.com/named-data/.github/blob/master/CONTRIBUTING.md)
55to get started.
Davide Pesavento08b91c82019-04-13 19:42:10 -040056
57## License
58
Davide Pesavento17521592020-05-14 19:01:32 -040059NFD is a free and open-source software package licensed under the GPL version 3 and
60is the centerpiece of our committement to making NDN's core technology free and open
61to all Internet users and developers. For more information about licensing, refer to
62[`COPYING.md`](COPYING.md).