导师几个星期前就发来邮件让熟悉网络仿真软件了,只是自己前一个月基本都在到处转悠,加之网络不便,也耽搁了许久,这个月可以好好学习研究一番了。 第一次听说OPNET的时候似乎离现在已经很久远了,只记得那时对面7、8号楼还住着大四。值得一提的是7号楼当时是男女混住的^_^,哈哈,挺羡慕的吧!估计是当年的男女比例比较惊人,只不过男生住的是最南边那一排寝室,这段美好的过去估计只能写入西电的史册了… 这样算来,当时的我才大一。毕业之际,好网上到处都可以看到卖书的帖子,于是乎随便联系了一个7号楼的学长就去那淘书了,买回来差不多一堆书,OPNET就在其中,估摸着有半米多高,三年过后,发现能用的上的没几本呀!!连现在要用的OPNET都被我当废纸卖掉了… 当初怎么也没想到研究生要用这玩意儿。所以嘛,旧书买下一年要用的就足够了啦,买多了真是浪费体力=_=! 喂喂!偏题了!

网络仿真软件

就我所知道的,常用的网络仿真/模拟软件要么是NS2 (NS3正在活跃开发中), 要么就是OPNET, 前者是自由软件,后者是商业软件。它们二者之间在使用上的区别可见NS2和OPNET的讨论,在仿真层次上的详细区别可见OPNET Modeler and NS-2: Comparing the Accuracy of Network Simulators for Packet-Level Analysis using a Network Testbed,让我自己来选的话当然是NS2咯,优先自由软件么,OPNET14.5 Modeler在Linux下不能用,这是硬伤呀!用了近两年的Arch Linux后,我发现我越来越离不开它了,切换到MS Windows下感觉麻烦死了。问了下师兄,实验室里导师和师兄们都是用的OPNET14.5,合群一点自然是要用OPNET的。相对比较好的整合方案就是在Arch下用vbox/kvm虚拟个XP了,内存8G还是比较够使的,只是这样不符合如今节能环保的大趋势么

Win7/XP下安装OPNET14.5

OPNET软件安装本身其实没啥好扯的,下载得到的3个软件包从大到小安装。关键在于OPNET是采用VC++进行编译的,相关的环境变量和编译器什么的配置起来就值得一提了。OPNET14.5是一款比较老的软件了,XP下先装VC6.0,OPNET14.5编译时所需的用户变量也就配置好了,所以说如果你还在用上古时代的XP系统,VC6.0是再好不过的搭档了。当然,现在大多数人的电脑里估计已经换成了Win7/Win8了,装个VC6.0还是比较费劲的。所以喽,当然得另辟蹊径。

Win7下VS2008+OPNET14.5

对于高校学生来说,Dreamspark上一般有免费的正版软件提供,有个edu的邮箱即可下载。找VS2008,我开始下的是VS2012,装好后设置了下用户变量,安装OPNE后提示库版本过高。转头立马奔向VC++2008 Express去了,又是一番痛苦繁琐的各种注册配置,终于修成正果… 按照OPNET Modeler help->tutorial中提供的例子编译通过,无不良反应。安装VC Express版本时还需要个微软帐号以注册,虽然是免费的,但个人对M$这种浪费用户时间的行为投以强烈的鄙视!所以说嘛,有个edu的邮箱或是学校本身提供正版授权的话直接奔专业版去吧。安装好VS2008(这里只需VC部分)后比较繁琐的用户变量设置部分就来了,我当然希望几条命令或者是一个批处理搞定就好,后头重装时我可不想用鼠标点来点去的做苦力活。在这之前需要MS 官方提供的setx命令行工具,信得过我的可以在这里下载,当然你也可以选择到微软官方下载,一系列正版验证在那里等着你咧,真JB繁琐。有了命令行工具,剩下的就只剩用户变量设置喽,批处理脚本在此,双击即可。
迫不及待想看脚本庐山真面目的请目光下移:

PATH=%PATH%;C:\Program Files\Resource Kit\
@echo off
echo "set the environment of OPNET with VC++2008..."
set 
setx DevEnvDir "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE"

setx Framework35Version "v3.5"

setx FrameworkDir "C:\WINDOWS\Microsoft.NET\Framework"

setx FrameworkVersion "v2.0.50727"

setx INCLUDE "C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE;C:\Program Files\Microsoft SDKs\Windows\v6.0A\include;"

setx LIB "C:\Program Files\Microsoft Visual Studio 9.0\VC\LIB;C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib;"

setx LIBPATH "C:\WINDOWS\Microsoft.NET\Framework\v3.5;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 9.0\VC\LIB;"

setx Path "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE;C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN;C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools;C:\WINDOWS\Microsoft.NET\Framework\v3.5;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 9.0\VC\VCPackages;C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin;"

setx VCINSTALLDIR "C:\Program Files\Microsoft Visual Studio 9.0\VC"

setx VS90COMNTOOLS "C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\"

setx VSINSTALLDIR "C:\Program Files\Microsoft Visual Studio 9.0"

setx WindowsSdkDir "C:\Program Files\Microsoft SDKs\Windows\v6.0A\"

echo "Congratulations! environment set succesful."
pause

如果你需要在XP下使用VC2008进行编译,方法同上,不过也许在仿真时会出现「无法找到msvcr90.dll」等相关字样,不用急,解决方法如下:
先复制opnet安装目录\14.5.A\sys\pc_intel_win32\bin\manifest_NET2008目录下面文件到opnet安装目录\14.5.A\sys\pc_intel_win32\bin\目录下面,再到opnet安装目录\14.5.A\sys\pc_intel_win32\bin\目录下面执行如下四条命令:

Mt.exe -manifest op_runsim.exe.manifest -outputresource:op_runsim.exe;1
Mt.exe -manifest op_runsim_opt.exe.manifest -outputresource:op_runsim_opt.exe;1
Mt.exe -manifest op_runsim_mtdev.exe.manifest -outputresource:op_runsim_mtdev.exe;1
Mt.exe -manifest op_runsim_dev.exe.manifest -outputresource:op_runsim_dev.exe;1

不用一个一个输啦,不怕看错还怕输错呀,打开命令行窗口一把粘贴进去,Enter一敲,KO
以上解决办法引自opnet 14.5 + VS2008 + win7=麻烦

最后献上OPNET资料若干用以回馈广大观众朋友们听我唠嗑: