本篇问题:
NS2是个庞大的系统,如何按照个人需求在NS2上实现第一项仿真?(比如:仿真研究排队系统中时延与队列溢出概率的关系)除了运行上一篇文章中基础的入门程序之外,需要对NS2平台剥丝抽茧,寻找并学习相应的组件,然后编程组合,既要使用OTcl语言建立和配置网络,又要利用C++语言执行仿真,前者负责前台工作(例如用户接口),后者负责后台运算即执行仿真运算。本文旨在学习使用NS2各组件的方法。
1. 首先,通过对C++更深入的学习之后明确了上篇文章一些模棱两可的地方:
(1) .cc是Linux下C++ 源文件的默认后缀,.cpp是C++语言文件的后缀名,采用.cc后缀;
(2) 执行“g++ bernoulli.cc -o bernoulli -lm -std=c++11”后生成可执行文件 (application/x-executable)“bernoulli”。其中-l是传递给link程序叫它连接某些库函数(-lm是连接数学库),-std=c++11表示standard为c++11;
执行"g++ poisson.cc -o poisson.o -std=c++11"后生成文件“poisson.o”,其中.o是编译的中间目标文件,可以将多个中间目标文件链接成可执行文件。
2. NS仿真的唯一记录——Trace文件:
(1) 打开Trace:
set nd [open out.tr w]
$ns trace-all $nd
set namtracefd [open poisson.nam w]
$ns namtrace-all $namtracefd
(2)