ns安装笔记

论文已接近尾声了,现在正开始用 ns作为模拟实验的平台,因而把ns装好成了我的必修之路。由于是新手,上网找了不少资料,但今我失望是的,很多文章都只是介绍如何在win+cygwin的平台下安装ns的。现在给后来者更好的参考,我把在linux9.0下的安装过程写出来,希望对大家有帮助。

下载ns

    http://www.isi.edu/nsnam/dist/ns-allinone-2.29.tar.gz,在这个URL中可以下载到ns2.29版本,同时该网站提供了新的版本,有需要的朋友可以查看最新版本并下载。需要说明的一点是allinone方式是比较方便的,把ns的所有组件下载,并且一次性安装,给初学者带来了不省的方便。

解压

   用如下命令进行解压即可:tar -xzvf ns-allinone-2.29.tar.gz,解压完成后,会在当前目录下生成ns-allinone-2.29子目前,用cd命令进入它,开始安装过程。

安装

  安装过程很简单,运行./install即可。安装过程会比较久,请大家耐心等待,因为离成功只有一步之差了。安装完成后,系统出现如下的提示:

Please put /home/lyt/ns/ns-allinone-2.29/bin:/home/lyt/ns/ns-allinone-2.29/tcl8.4.11/unix:/home/lyt/ns/ns-allinone-2.29/tk8.4.11/unix
into your PATH environment; so that you'll be able to run itm/tclsh/wish/xgraph.

IMPORTANT NOTICES:

(1) You MUST put /home/lyt/ns/ns-allinone-2.29/otcl-1.11, /home/lyt/ns/ns-allinone-2.29/lib,
    into your LD_LIBRARY_PATH environment variable.
    If it complains about X libraries, add path to your X libraries
    into LD_LIBRARY_PATH.
    If you are using csh, you can set it like:
                setenv LD_LIBRARY_PATH <paths>
    If you are using sh, you can set it like:
                export LD_LIBRARY_PATH=<paths>

(2) You MUST put /home/lyt/ns/ns-allinone-2.29/tcl8.4.11/library into your TCL_LIBRARY environmental
    variable. Otherwise ns/nam will complain during startup.

(3) [OPTIONAL] To save disk space, you can now delete directories tcl8.4.11
    and tk8.4.11. They are now installed under /home/lyt/ns/ns-allinone-2.29/{bin,include,lib}

After these steps, you can now run the ns validation suite with
cd ns-2.29; ./validate

 

配置

    安装成功后,要对系统进行一点简单的配置才可以正常运行ns的。其实配置是根据安装完成后给出的提示进行的,方法如下:

假定解压文件放在/home/lyt/ns/目录下,打开当前用户目录下的.bashrc文件(如/home/lyt/.bashrc文件,lyt为当前用户名)在文件未尾增加如下内容:

export PATH="$PATH:/home/lyt/ns/ns-allinone-2.29/bin:/home/lyt/ns/ns-allinone-2.29/tcl8.4.11/unix:/home/lyt/ns/ns-allinone-2.29/tk8.4.11/unix"

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/lyt/ns/ns-allinone-2.9/otcl-1.11:/home/lyt/ns/ns-allinone-2.29/lib"

export TCL_LIBRARY="$TCL_LIBRARY:/home/lyt/ns/ns-allinone-2.29/tcl8.4.11/library"

然后再进入ns-allinone-2.29目录下的ns-2.29子目录,运行./validate即可验证你的安装和配置是否成功。如果没有成功,请不要灰心,请楚检查一次,肯定会成功的。至此,ns的安装已完成!

可以在命令行下输入ns试试看,如果出现%则说明你安装和配置成功了!感受你的NS之旅吧……

### 关于 ns-3 的学习资料 #### 1. 官方文档 官方文档是最权威的学习资源之一,涵盖了从入门到高级使用的各个方面。可以通过以下链接访问最新版本的教程和手册[^1]: ```plaintext https://www.nsnam.org/docs/release/3.29/tutorial/html/getting-started.html ``` #### 2. 编译与构建指南 对于初学者来说,了解如何正确编译和构建 ns-3 是非常重要的。以下是常用的编译流程及相关说明: - 使用 `build.py` 脚本来一次性完成 ns-3 及其辅助项目的编译是一个推荐的方法,尤其适合首次使用者[^2]。 ```bash python build.py ``` - 配置并构建 ns-3 主项目时,建议启用示例和支持测试功能以验证环境是否正常工作[^3]。 ```bash ./waf configure --enable-examples --enable-tests --build-profile=debug ./waf build ``` #### 3. Ubuntu 环境搭建指导 为了顺利运行 ns-3,通常需要在一个 Linux 发行版上进行开发,比如 Ubuntu。以下是一些常见的安装步骤以及可能遇到的问题解决办法[^4]: - **虚拟机设置**:如果是在 Windows 上通过 VMware 安装 Ubuntu,则需特别关注网络配置部分(如桥接模式),以便后续能够正常使用互联网更新软件包。 - **依赖库安装**:某些情况下,默认命令可能导致错误;此时可尝试调整命令参数,例如将 `libgtk2-dev` 替换为更通用的形式 `libgtk3*` 来满足需求。 ```bash sudo apt-get install libgtk3* ``` - **SSH服务配置**:为了让远程工具(如 VSCode)更好地管理虚拟机内的文件和服务,还需确保 SSH 已经被正确安装并启动。 ```bash sudo apt update sudo apt install openssh-server sudo service ssh status ``` --- ### 示例代码片段 下面展示了一个简单的 ns-3 模拟程序结构,帮助理解基本框架: ```cpp #include "ns3/core-module.h" #include "ns3/network-module.h" using namespace ns3; int main (int argc, char *argv[]) { NodeContainer nodes; nodes.Create(2); PointToPointHelper pointToPoint; pointToPoint.SetDeviceAttribute ("DataRate", StringValue ("5Mbps")); pointToPoint.SetChannelAttribute ("Delay", StringValue ("2ms")); NetDeviceContainer devices = pointToPoint.Install(nodes); Simulator::Run (); Simulator::Destroy (); return 0; } ``` 此代码创建了两个节点并通过点对点链路将其连接起来,同时设置了数据速率和延迟属性。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值