您的位置:首页 > 运维架构 > Linux

CentOS 5.0下安装NS-2

2009-02-24 17:45 483 查看
背景:
最近完成了一套sip系统,想要测试通话语音质量。运用实际网络来测试很好,但是这个需要很大的成本。这时就需要一套能够仿真实际网络传输的软件来帮忙!

实施:
最后找到两款软件能够胜任:NIST net和NS-2。但是,它们都是运行在linux下的,而且NIST net 还要求重新编译内核,NS-2绝大多数介绍都是安装在RedHat 9.0下,要不就在Windows下安装一个系统仿真器Cygwin,这个Cygwin的安装受到从各个站点下载安装包的影响。安装速度奇慢!最后选择在现有的CentOS 5.0下安装。

步骤:
1.从http://www.isi.edu/nsnam/dist/下载ns-allinone-X.XX.tar.gz
2.以root登录CentOS,解压ns-allinone-2.27.tar.gz:tar xvfz ns-allinone-2.29.tar.gz,即生成/home/ns2/ ns-allinone-2.9。
3.修改文件:
(1)修改/home/ns2/ ns-allinone-2.9/nam-1.11/agent.h中的第73行,将NULL改为0。
(2)在ns-allinone-2.29目录下

文件名行数修改或删除
ns-2.29/sctp/sctp.c705删除SctpAgent::
ns-2.29/mobile/god.h88.93.98.101删除Vector::
ns-2.29/tcp/tcp-sack-rh.cc68删除SackRHTcpAgent::
ns-2.29/pgm/pgm_agent.cc307 删除PgmAgent::
ns-2.29/pgm/pgm_sender.cc189 删除PgmSender::
ns-2.29/pgm/pgm_receiver.cc186 删除PgmReceiver::
nam-1.11/parser.h97.98删除Parser::
nam-1.11/node.h226删除Node::
nam-1.11/netgraph.h删除NetGraph:
ns-2.29/indep-utils/cmu-scen-gen/setdest/setdest.h26.31.36.39删除vector::
ns-2.29/dsr/dsrgent.cc219添加void XmitFlowFailureCallback(Packet *pkt, void *data);
void XmitFailureCallback(Packet *pkt, void *data);
ns-2.29/diffsuion/diffsuion.cc400添加void XmitFailedCallback(Packet *pkt, void *data);
ns-2.29/diffsuion/omai_mcast.cc361添加void OmniMcastXmitFailedCallback(Packet *pkt, void *data);
(3)再修改一下ENV,,将下面的加到/etc/profile的最后
NSPATH=$HOME/ns-allinone-2.29
PATH=$NSPATH/bin:$NSPATH/tcl8.4.11/unix:$NSPATH/tk8.4.11/unix:$PATH
LD_LIBRARY_PATH=$NSPATH/otcl-1.11:$NSPATH/lib
TCL_LIBRARY=$NSPATH/tcl8.4.11/library
export NSPATH PATH LD_LIBRARY_PATH TCL_LIBRARY
4. 在ns-allinone-2.29目录下运行安装:./install 。

使用:
NS-2的使用要学习tcl脚本的编写,而且没有个把月是看不懂的,接下来的测试部分正在学习中...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: