入门¶
要点 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:链路利用率汇总