[友猫]NFD Developers Guide ---介绍(翻译)

NDN Fforwarding Deamon (NFD)是一个网络转发器,有意实现NDN协议。其中设计强调模块化和可扩展性。
1.NFD模块:
在这里插入图片描述NFD的主要功能是转发兴趣包和数据包,因此,他将底层网络传输机制抽象道Face,维护基本的数据结构(CS,PIT,FIB),并实现包处理逻辑。处理实现基本的包转发之外,他也提供多种转发算法,用于CONFIG,控制,监督NFD的管理接口。如上图所示,NDF包含以下几种内部模块:

  • ndn-cxx library ,core and tools:用以提供各种通用素吾,包括哈西计算,DNS解析,config 文件,接口管理等等
  • Faces(2):在各种底层传输机制的顶部实现NDN接口抽象
  • Table(3):包括CS,PIT,FIB,StrategyChioce,mearsurement,以及其他数据结构,用以支持NDN数据,兴趣包的转发
  • Forwarding(4):与接口Face,Table,strategies(5)交互实现基本的包处理路径
  • Management(6):实现NFD的管理协议,允许应用Config NFD,设置/查看NFD内部状态。通过在应用与NFD之间交互数据包/兴趣包实现
  • RIB Management(7):管理 routing information base(RIB),RIB可能会由不同的组件以不同的方式更新。包括各种路由机制,应用前缀注册,系统管理员的命令行操作。RIB管理模块处理所有的这些请求来产生一个稳定的转发表,并将其与NFD的FIB表进行同步。(FIB则包含转发决定所需最小数据).

2.NFD中包的处理

包通过Face到达NFD,Face可以是一个物理接口也可以是一个overlay tunnel(覆盖隧道)。事实上,NFD与本地应用之间的通信可以通过Unix-domain socket,这也是一个Face。一个接口包含一个LinkSservice和Transport。
LinkService提供Face的高层服务,例如:分段和重组,网络层计数器,失败检测。
Transport是一个底层传输协议的封装,并提供类似链路层技术的服务。
Face通过操作系统API读取incoming stream或数据报。从链路协议包中提取网络层包(兴趣包,数据包,NACK),并传输这些网络层包到Forwarding

网络层的包由forwarding pipeline处理。这些管道定义了处理包的步骤。NFD的data plane 是有状态的,NDF对一个包的操作不仅取决于包本身,还要考率存储在Table中的转发状态。
interest packet
当一个转者这收到一个兴趣包的时候,他首先将兴趣包插入PIT,其中每一个表现代表一个尚未满足的兴趣包或是最近满足的兴趣包,此后在CS中查找匹配数据,CS表是一个数据包的网内 cache。若找到对应数据则返回,若没有该兴趣包需要被转发。

转发算法决定如何转发兴趣包。NFD允许每一个名字域算法选择,以决定使用那种转发算法,而算法选择表则采用最长前缀匹配的方式,做决定的时候算法可以从FIB表中获取信息,(FIB表包含由本地应用前缀注册和路由协议产生的路由信息),使用PIT表中存储的strategy-specofic 信息,以及Measurements表项中的data plane performance measurements。

当算法决定转发一个兴趣包到特定端口,兴趣包需要继续在forwarding pipeline中执行几步操作,然后通过该接口。根据下层协议如果有需要,接口将一个网络包封装到多个链路层包,并通过系统API将链路层数据包作为输出流或是一个数据报发送出去。
data packet
处理到达数据的步骤与之不同,首先查看PIT表项中是否友由可以由该数据包满足的
兴趣包。所有匹配的项都会被选中进行进一步的处理。若数据包不能满足任何一项,则是一个unsolicited,将其丢弃即可,否则将数据项写入CS中。每一个匹配的PIT表项的转发算法被标注,通过这些标注通知,以及其他“NO data come bake ”算法可以观察路径的可达性和性能。同时算法可以将观察结果记录在mearsurement Table中,以提高未来的决策。最后数据被发送给所有的请求者,通过接口处理发送数据的方式和发送兴趣包类似。
nack packet
当一个转发收到一 NACK,处理过程取决与所使用的forwarding strategy。

management interest and processed in NFD
NFD的管理协议定义了三个基于兴趣包数据包交互的内部处理管理机制:命令行,状态数据集以及通知流

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值