NFD相关文档:http://named-data.net/doc/NFD/current/
NFD安装教程:http://named-data.net/doc/NFD/current/INSTALL.html#playing-with-nfd
从分析角度推荐从源码安装,分别参考各模块安装教程,从实际部署上推荐用 apt-get
安装。
ndn-cxx
其为C++库,实现了基础NDN功能,被其它上层应用如NFD等调用。
代码地址:https://github.com/named-data/ndn-cxx
相关文档:http://named-data.net/doc/ndn-cxx/0.2.0/README.html
推荐安装教程(其中有提到如何编译运行简单示例):https://github.com/cawka/ndn-cxx/blob/master/docs/INSTALL.rst
NFD
NFD是一个支持NDN协议的网络数据转发软件。NFD主要模块包括:
- 内核(Core)。提供多种NFD不同模块共享的公共服务。包括hash计算方法、DNS解析、配置文件、接口监控以及为其它模块提供服务。
- 接口(Faces)。实现底层NDN接口传输机制。
- 表项(Tables)。实现了CS、PIT、FIB及其它数据结构表项,来支持NDN数据包和兴趣包的转发。
- 转发(Forwarding)。通过和接口、表项和策略模块的交互合作,实现基础的包处理转发。
- 策略模块(Strategy Support)。实现一个框架可以支持不同的转发策略。其中包括策略选择、测量以及和转发通路的挂接。
- 管理(Management)。实现了NFD管理协议http://redmine.named-data.net/projects/nfd/wiki/Management,其中支持应用配置NFD、查询NFD状态。
- 路由信息库管理(RIB Management)。路由信息库管理模块处理所有路由相关请求(包括各种路由策略、应用前缀注册、管理员手工录入等)产生一个相对稳定的转发表,并将其同NFD的FIB进行同步,其中FIB只包含其中少量支持转发的信息。
参考原文地址:http://named-data.net/doc/NFD/current/overview.html
更为详细的开发者指南:http://named-data.net/wp-content/uploads/2014/07/NFD-developer-guide.pdf
代码地址:https://github.com/named-data/NFD
安装教程:https://github.com/named-data/NFD/blob/master/docs/INSTALL.rst
实际运行相关命令
以下命令可以通过 man cmd
查看帮助,前提是从源码编译并且编译了 docs
,也可以通过 cmd -h
查看帮助。
nfd-start
启动NFD和RIB管理守护进程
nfd-stop
关闭NFD和RIB管理守护进程
nfd-status
显示NFD版本和状态信息,其中包括channal、face状态和FIB、RIB信息以及配置策略。
nfd-status-http-server
提供HTTP协议查询nfd的状态,即可以通过浏览器查看nfd的运行状况,提供更好的可视化效果。该命令可以设定启动http服务器开启的ip地址和端口号。
nfdc
手动配置FIB、RIB以及StrategyChoices table的的工具
nfd-autoreg
自动注册服务器是一个当新的接口(Face)被创建时,自动注册特定前缀的守护程序。其可以设定那些前缀可以被自动注册,可以设定RIB表项中的代价(cost),可以设定自动注册网络的黑白名单等等。
nfd
主要查看nfd有那些记录模块,设置配置文件位置