Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ndn-rs

ndn-rs is a Named Data Networking (NDN) stack in Rust. It ships a forwarder (ndn-fwd), an embeddable engine (ndn-engine), and a Develop-tier umbrella crate (ndn-rs-prelude, library name ndn) that an application reaches for to fetch a Data by name or serve one.

The first stable boundary is the spec-aligned core plus the tooling needed to run and verify it. Browser, embedded, mobile, BLE, WebRTC, in-network compute, network coding, ABE, and dashboard work live in extension or research scopes unless their individual pages say otherwise.

The project is primarily AI-authored and still carries known spec-compliance findings. Do not cite ndn-rs as a reference implementation of NDN; use the live audit tracker and spec-compliance page to decide what has actually been witnessed.

Three API tiers separate audience from intent:

  • Develop — application authors. The 5-minute path: connect a Consumer, call fetch_object.
  • Extend — protocol, strategy, and face authors. Implement Strategy, RoutingProtocol, or Face without forking the engine.
  • Instrument — researchers and measurement tooling. Feature-gated experimental-instrument; observe every packet, inject a strategy, wire two engines.

Start here

The source lives at github.com/Quarmire/ndn-rs. The crate map and pipeline shape are in ARCHITECTURE.md.