入门¶
要点 1 参数配置信息
在 example_run/ 文件夹下:
- config_ns3.properties: 配置 仿真参数 的文件
- 包含仿真结束时间、随机种子、拓扑文件、调度配置
- topology.properties: 描述 拓扑结构 的文件
- 包含节点和链路的设置
- tcp_flow_schedule.csv: 描述 TCP 流的调度 文件
- 指定了每个 TCP 流的源、目标、大小、起始时间
- udp_burst_schedule.csv: 描述 UDP 爆发流的调度 文件
- 指定了 UDP 流的源、目标、速率、持续时间等信息
要点 2 运行主函数
在 $ns-3 的 scratch/ 文件夹中创建一个名为 my_main.cc 的文件,文件内容为仿真程序代码。
此代码将:
- 加载仿真环境 (从上述配置文件中获取)
- 读取拓扑文件并安装路由器和调度器 (scheduler or helper)
- 安装 TCP、UDP 和 Ping 流的调度器 (scheduler or helper)
- 执行仿真并输出结果
要点 3 执行方式
这点跟ns-3的基本步骤一模一样,都是先configure,再build,最后run
值得一提的是,这个子模块基于 ns-3-3.31,此时还是用 ./waf 作为构建指令的(在3.37之后就不用了,直接用 ./ns3)
| Bash | |
|---|---|
1 | |
如果你想保存控制台输出,可以使用:
| Bash | |
|---|---|
1 2 | |
要点 4 查看结果
仿真结束后,在 example_run/logs_ns3/ 目录下会生成一些结果文件,内容包括:
- finished.txt:仿真完成标志
- timing_results.csv 和 timing_results.txt:时间统计结果
- tcp_flows.csv 和 tcp_flows.txt:TCP 流的详细信息
- udp_bursts_incoming.csv 和 udp_bursts_outgoing.csv:UDP 流的收发统计
- pingmesh.csv 和 pingmesh.txt:Ping 测试的统计数据
- link_utilization.csv:链路利用率
- link_utilization_summary.txt:链路利用率汇总