网络仿真器NS2之使用手册Word格式文档下载.docx
- 文档编号:15110005
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:32
- 大小:1,019.36KB
网络仿真器NS2之使用手册Word格式文档下载.docx
《网络仿真器NS2之使用手册Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《网络仿真器NS2之使用手册Word格式文档下载.docx(32页珍藏版)》请在冰豆网上搜索。
一、使用需求:
‧计算机外设设备:
⏹CPU:
600MHz以上。
⏹内存:
256M以上。
⏹硬盘容量:
40GB以上。
‧宽带网络:
NS2各组件需要快速的联机网络下载,各组件的档案总共数百MegaBytes。
‧VisualC++6.0。
二、在WINDOWME/2000的安装方式:
1.在DOS环境下c:
\program\Microsoftstudio\VC98\bin执行vcvars32.bat的批次档,藉以设定VisualC++的路径以及环境变量;
并且可以手动编辑autoexec.bat中路径或环境变量。
以下为一Autoexec.bat的范例,仅供参考,并不硬性规定需如此设定:
@echooff
vcvars32.bat
setPATH=%PATH%;
c:
\netsim\tcl
\netsim\tk
\netsim\otcl
\netsim\tclcl
\netsim\ns2
\progra~1\tcl
@echoon
2.新增一个NetSim的资料夹在C:
\里面。
或是新增在你想放置的磁盘中。
3.DOWNLOADNS2的个别组件:
a.TCL(ToolCommandLanguage),anopensourcescriptinglanguage。
b.TK:
(ToolKit),AGUIextensionforTCL。
c.OTCL:
对象导向的Tcl/Tk延伸。
d.TCLCL:
Tcl/C++interface。
e.ns-2.1b7orhigher(在此列举2.1b8的版本)。
4.解压缩以上所DOWNLOAD的档案到C:
\NetSim的数据夹中,解压缩之后在NetSim数据夹中应该是〈图一〉这种情况。
〈图一〉
5.安装tclandtk:
第一步就是complietcl:
在tcl目录按下dir/w指令就可以看到跟〈图二〉类似的目录:
〈图二〉
在tcl中最需要注意的莫过于他的子数据夹win,而最重要的就是他里面一个叫makefile.vc的资料夹,在makefile.vc中需要修改一些设定如〈图三〉反白处:
〈图三〉
最主要修改的地方是:
倒数二、三行的地方,在c:
\progra~1\micro~3\vc98这一行中,需注意的是micro~3,需依照使用者所安装目录顺序所决定。
在此,因为MicrosoftVisualStudio安装的顺序在MicrosoftFrontPageandMicrosoftOffice之后,所以这里才需改为micro~3。
6.接下来就是compile,在c:
\netsim\tcl\win下执行下列的指令:
nmake–i–fmakefile.vc
‧nmake:
执行VisualC++指令的compiler。
‧-i:
忽略错误现象且持续执行。
‧-f:
使用下列的档案去compile。
7.接下来在tk部分则是跟tcl是一样的步骤,记得要到跟〈图四〉一样的位置去更改有关路径的部分:
〈图四〉
8.安装otcl/tclcl:
如前面安装tclandtk一样,适当的修改makefile.vc的档案,就能判定之前tclandtk的路径是否正确。
〈图五〉就是tclandtk的一部份:
〈图五〉
修改完毕之后,在c:
\netsim\otcl\下执行nmake–i–fmakefile.vc。
compile完之后,在otcl的目录底下就可以看到像〈图六〉一样的档案内容:
〈图六〉
(在这里NetSim数据夹是建立在D磁盘中)
9.下一步是compiletclcl,有点不一样的步骤是在d:
\netsim\tclcl\conf\makefile.win要如〈图七〉般在反白处更改路径:
〈图七〉
另一个需要注意的是,在反白处的下三行,若放置netsim数据夹的路径与其不同,则需改为使用者自行设置的路径。
如〈图八〉:
〈图八〉
确认一下tclandtk的版本是否正确,版本的问题牵扯到所需Load的档案的名称,因此务必要确认。
如〈图九〉:
〈图九〉
紧接着需要再确认tcl、tk、otcl、tclcl的数据夹是否设定妥当,必须和在Netsim目录底下的各个tcl、tk、otcl、tclcl的目录完全相同才可以,否则会有找不到路径及档案的错误出现。
设定如〈图十〉:
〈图十〉
回到tclcl的目录,执行nmake–i–fmakefile.vc,执行完后,在tclcl目录下的数据应该跟〈图十一〉类似才是正确的:
〈图十一〉
在做下一个步骤之前,以下两项作业必须已经完成好了:
‧tclandtk已经安装在适当的programfile目录下。
‧otclandtclcl已经compiler完成。
pilingNS:
确认已经把tcl,tk,otcl,tclcl的数据夹在路径环境变量中(PATHenvironmentvariable)已经设定好了,comfigurationforNS跟tclcl的大部分都相同,需要修改的configuration的档案是在/conf中的makefile.win,如〈图十二〉:
〈图十二〉
以下做法皆跟tclcl的步骤一样:
‧确认VisualC++的路径是否正确:
MSVCDIR=c:
\progra~1\micros~3\VC98。
‧需要特别注意localdirectory是否正确:
LOCAL_SRC=d:
\NetSim。
‧确认一下tclandtk的版本是否正确。
‧再确认tcl,tk,otcl,andtclcl的数据夹是否设定妥当。
‧回到NS的目录并且compile,执行nmake–i–fmakefile.vc。
如果执行顺利,NS的compile就完成了。
三、补充:
在做任何一次nmake之前,假如在此次compiler之前已经有compiler的记录时,则需先执行过”nmake–I–fmakefile.vcclean”的动作,将先前compiler过的程序清除,才能够让此次的compiler能够顺利的进行,否则它会先去判断是否有make过所产生的档案或目录,如果存在,则当做已经make成功而不会重新的make过。
如果遇见无法nmakeclean的问题,则看它所出现的某些档案或目录太长或者无法清除,用手动的方式将其清除再重新执行”nmake–I–Fmakefile.vc”的指令,到目前为止,只发现在ns-2.1bX的目录中会有此问题存在,原因是因为ns在compiler时会产生很多*.o的Object档,而因为太多而无法使用nmake–I–fmakefile.vcclean的指令来清除,需要手动下“del*.o”并且将gen\目录给全部清除,因为在nmakeclean时,遇见了错误讯息后便无法继续removegen的动作,所以也需手动来清除。
四、参考网址:
若有其它的疑问,可以至以下网址查询。
‧http:
//www.isi.edu/nsnam/ns
//www.public.iastate.edu/~magico/nsFiles/InstallNS1.html
//www.isi.edu/nsnam/ns/ns-tests.html
‧
使用手册§
1.先Implement一个使用者想要模拟的protocolintoNS2。
这里将介绍李志平学长使用C++撰写的protocol。
2.用名为LeeAgent的class去implement学长的protocol,在这个class中一开始需要宣告node的主要routingtable、备份routingtable和处理packets的函式,这样在NS2的环境中,每个node都会有LeeAgent的所宣告的环境。
以下就是部分的headerfile:
classLeeAgent:
publicAgent{
friendclassMyHelloTimer;
public:
LeeAgent(nsaddr_tid);
voidrecv(Packet*p,Handler*);
voidrt_ll_failed(Packet*p);
voidlee_failed(Packet*p);
voidpurge();
voiddump();
protected:
intcommand(intargc,constchar*const*argv);
voidaddnb(nsaddr_tnid);
intfindnb(nsaddr_tnid);
voiddelnb(nsaddr_tnid);
voidchecknb();
voidCheckMainRoute(nsaddr_tnid);
voidrt_resolve(Packet*p);
voidrecovery(nsaddr_tsid,nsaddr_tdid);
voidretransmit(nsaddr_tdid,nsaddr_tnid);
voidforward(Packet*p,nsaddr_tnexthop,doubledelay);
voidrecvLEE(Packet*p);
voidrecvMQRY(Packet*p);
voidrecvMRPY(Packet*p);
voidrecvMFQ(Packet*p);
voidrecvBQRY(Packet*p);
voidrecvBRPY(Packet*p);
voidrecvHELLO(Packet*p);
voidrecvFQ(Packet*p);
voidrecvUPD(Packet*p);
voidrecvFW(Packet*p);
voidrecvCLR(Packet*p);
voidsendMQRY(nsaddr_tsid,nsaddr_tdid);
voidsendMRPY(ns
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 仿真器 NS2 使用手册