blob: bcdcbe59669df01a1c2061ed8bdfb98d05f5cc59 [file] [log] [blame] [view]
Davide Pesavento3bc8e192022-12-31 01:40:11 -05001<div align="center">
2
Davide Pesavento39c67f62023-02-15 00:26:26 -05003[<img alt height="65" src="docs/named_data_theme/static/ndn-logo.svg"/>](https://named-data.net/)
Davide Pesavento3bc8e192022-12-31 01:40:11 -05004
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
Davide Pesavento39c67f62023-02-15 00:26:26 -050016NFD is a network forwarder that implements and evolves together with the Named
17Data Networking (NDN) [protocol](https://docs.named-data.net/NDN-packet-spec/).
Davide Pesavento08b91c82019-04-13 19:42:10 -040018Since 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
Davide Pesavento39c67f62023-02-15 00:26:26 -050037Extensive documentation is available on NFD's [homepage](https://docs.named-data.net/NFD/).
Davide Pesavento08b91c82019-04-13 19:42:10 -040038
39## Reporting bugs
40
Davide Pesavento39c67f62023-02-15 00:26:26 -050041Please submit any bug reports or feature requests to the
42[NFD issue tracker](https://redmine.named-data.net/projects/nfd/issues).
Davide Pesavento08b91c82019-04-13 19:42:10 -040043
44## Contributing
45
46NFD is developed by a community effort. Although the first release was mostly done by the
47members of [NSF-sponsored NDN project team](https://named-data.net/project/participants/),
48it already contains significant contributions from people outside the project team (see
49[`AUTHORS.md`](AUTHORS.md)). We strongly encourage participation from all interested parties,
50since broader community support is key for NDN to succeed as a new Internet architecture.
51
Davide Pesavento39c67f62023-02-15 00:26:26 -050052Contributions to NFD are greatly appreciated and can be made through our
53[Gerrit code review site](https://gerrit.named-data.net/).
54If you are new to the NDN software community, please read our
55[Contributor's Guide](https://github.com/named-data/.github/blob/main/CONTRIBUTING.md)
56and [`README-dev.md`](README-dev.md) to get started.
Davide Pesavento08b91c82019-04-13 19:42:10 -040057
58## License
59
Davide Pesavento39c67f62023-02-15 00:26:26 -050060NFD is free software distributed under the GNU General Public License version 3.
61See [`COPYING.md`](COPYING.md) for details.