ndnSIM 如何进行仿真实验 仿真步骤

本文介绍了使用ndnSIM进行命名数据网络(NDN)仿真的详细步骤,包括建立仿真场景、设置仿真时间和分析数据。建议初学者运行所有官方示例以加深理解。仿真涉及构建拓扑、安装NDN栈、配置策略、安装应用、生成FIB表、设置仿真时间及获取结果。
摘要由CSDN通过智能技术生成

命名数据网络作为一种新型网络体系结构,由于目前尚未物理实现,因此相关的论文研究都使用仿真进行实验,常用的仿真方法有两种,第一种就是ndnSIM,这是一个基于NS-3的NDN仿真工具软件,另一种就是数值仿真,基于matlab或其他语言模拟场景进行实验。

ndnSIM的安装可以参考之前的几篇教程和踩坑记录。

安装好之后,我们就可以使用ndnSIM进行仿真了,相关的示例可以访问Examples — ndnSIM documentation获取,由于参考教程非常有限,强烈建议小伙伴们把所有的示例自己手动跑一遍,应该能获得不少启发。

一般来说,ndnSIM的仿真过程主要可以分为三步:

  • 第一,建立仿真场景,包括拓扑、应用(名称)的相关配置、路由策略和缓存机制等;
  • 第二,设置仿真时间,启动仿真,获取仿真数据;
  • 第三,分析数据,将数据绘图,生成实验结果。

其中,前两步是在ndnSIM中完成,最后一步可以使用python或者matlab完成,当然ndnSIM中给出了使用R语言脚本进行分析的示例。

前两步的完成主要依赖自己编写的代码,即自己编写的cpp文件或cc文件。具体的代码存放位置可以参考:ndnSIM 应该在哪里编写脚本 自己编写的文件放在哪运行?_producerhelper.setattribute-CSDN博客

代码中要完成的内容:

1.      构建拓扑结构,使用代码依次创建节点和链接或者直接读取拓扑文件(如果使用拓扑文件请参考)

2.      在所有节点安装NDN栈

3.      配置转发策略

4.      为各个节点安装消费者应用或者生产者应用,用于生产或请求NDN网络中的流量数据

5.      手动或者用 GlobalRoutingHelper 生成FIB表

6.      设置仿真时间

7.      使用 trace helper 等工具获取仿真结果(Obtaining metrics — ndnSIM documentation

8.      开始仿真,仿真结束后销毁


代码模板

#include "xx.h"
 
namespace ns3{

int main(int argc, char* argv[])
  {
    // 设置节点间链接和通道的默认参数
    ..
    //读取可选的命令行参数
    ..
    //创建节点
    ..
    //选择转发策略
    ..
    //安装应用程序(consumer等)
    Simulator::Stop(Seconds(20.0));  //设置时间,例如这是设置仿真持续20秒
    simulator::run();  //启动仿真
    simulator::destroy();
    return 0;
  }
 
} // namespace ns3

int
main(int argc, char* argv[])
{
  return ns3::main(argc, argv);
}

NDN科研工作者,长期研究,欢迎讨论交流与合作! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值