Research project topic from January. Finally getting round to writing it down.
NDN is an academic curiosity and is unlikely to progress beyond that.
IPFS is better.
Content is addressed directly, hosts / processes either have and serve it, or requests it from upstreams and serves it when it in turn. Content has heirarchical names, and routed according to name hierarchy, basically giant global distributed filesystem.
Names (and caching) is permanent, but not enforced algorithmically (ex. hash). Everything is Type-Length-Value (TLV) encoded (but inconsistently),. Goal would be to replace the IP/TCP/HTTP (or equivalent) stack, implementing routers on hardware.
Unsurprisingly nobody wants to invest in implementing hardware for an inefficient protocol. The only current implementation works primarily on top of UDP, optionally Ethernet, TCP, WebSockets. HTTP can be implemented on top of NDN.
So you can have a Ethernet / TCP / HTTP / WebSocket / NDN / HTTP stack.