ndnSIM的组成部件:
- ndn::L3Protocol 该模块是ndnSIM的核心,实现了NDN核心协议,该模块实现的网络层模型可以通过与上下层的接口Face,实现对上层模型或者下层模型的Interest分组和Data分组的获取;
- ndn::Face 对通信接口的抽象,使得在L3Protocol实现的网络层模型中的通信信息统一化,同时还可以支持链路级别上的拥塞缓解,包括ndn::AppFace和ndn::NetDeviceFace;
- ndn::ContentStore 网络内部存储Data分组的缓存的抽象;
- ndn::Pit 待处理请求表(PIT)的抽象,记录了收到Interest分组的接口和Interest转发出的接口,以及Interest的随机标识nonce值;
- ndn::Fib 转发信息表(FIB)的抽象,通过转发策略指导Interest分组的转发;
- ndn::ForwardingStrategy Interest分组和Data分组转发策略的抽象与核心。转发过程的每一步,包括查询CS,PIT,FIB,根据PIT条目转发Data分组,在该模块中,都以虚函数调用的方式完成,该模块的功能实现可以根据具体的转发策略安装类的修改变化而变化。
除了作为核心的ndn::L3Protocol,ndnSIM其他的每一个模块和部件都有很多种可以选择的实现方式,具体的实现方式可以根据仿真场景的不同,通过helper类进行选择。PS. helper类参考文档
http://ndnsim.net/2.0/helpers.html
ndnSIM仍支持使用现有的流量分析工具(比如ndndump,wireshark,ccn plugin等)分析网络。
ndnSIM的设计中还包括许多的可选模块,比如:
- 一个用于数据安全的占位符
- 一个实验用的否定应答信号,即Interest NACK,该信号在数据平面出现问题的
- 时候可以快速响应,减少请求方的等待时间
- 可插入式Interest速率限制器和接口可用性控制部件
- 大量的数据统计模型
(继续更新…)
注:以上有关ndnSIM的内容来源于
http://ndnsim.net/2.0/intro.html