网络仿真软件ns2的下载与安装(VMware&ubuntu)
一、VMware安装
VMware虚拟机安装多种多样,可参考下方链接:
大家根据自身电脑配置情况酌情选择版本,这里不再赘述
二、Ubuntu安装
1.映像下载
这里选择Ubuntu16.04,选用阿里镜像源,由于大小较大,选用磁力链接下载的方式
阿里云镜像源链接:https://mirrors.aliyun.com/ubuntu-releases/16.04/
选用64位系统,由于仿真需要图形化显示,选用desktop的版本

可以点击红色箭头直接下载,也可以点击黄色箭头下载磁链通过p2p下载软件下载,这里使用bitcomet下载,由于做种的人很多,用户也很多,可以看到下载的速度很快

2.虚拟机配置
下载的时候同时先配置虚拟机,
下载的同时我们准备VMware的设置,点击新建虚拟机


选择自定义,硬件兼容默认。
选择稍后安装操作系统,先装一个空壳,稍后再装系统。

选择Linux操作系统,Ubuntu64位

重命名,选择一个合适的放置虚拟机的地方,我的F盘有较大空闲空间,选择放在这里

接下来选择处理器数量和每个处理器内核数量,一般选择宿主机内核数的一半,保证其他功能的正常使用,我的电脑内核是10,此处设置处理器内核总数为4

设置内存,默认的4G已经足足够用

设置网络类型为NAT,方便我们向它发送安装包

一路next过来,设置Ubuntu建议大小20GB,作为仿真实验用已经绰绰有余

已经创建完成,再核对一下信息,点击完成创建虚拟机

3.配置系统
此时刚才的映像已经下载完毕,我们点击编辑虚拟机设置为其装系统,选择刚才下载的ISO文件。

然后开启虚拟机,可以点击上方保持横纵比拉伸来放大屏幕

接下来通过引导程序安装系统
-
点击
Install Ubuntu -
勾选
Install third-party software for ... -
由于是建立了新盘,选择Erase disk and install Ubuntu
-
选择东八区,点击地址为上海

-
选择键盘布局为
English(US) -
设置用户名和密码,需要注意密码很重要,之后还要用

-
点击
Install启动安装,等待之后重启即可
进入系统后搜索启动terminal
安装一些基础软件:
sudo apt-get install -y vim ssh
4.系统换源
为提高相关软件下载速度,需要换源,这里我们使用清华的源(ubuntu16版本号是xenial,注意分辨)
链接如下:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
deb http://security.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
使用编辑器编辑源列表文件
cd /etc/apt/
sudo cp sources.list sources.list.bakup //备份原先文件
sudo vim sources.list
按i键进入编辑模式,注释掉原先源,将上方源复制到文件最后。按ESC键退出编辑模式,输入:wq + Enter保存并退出vim
更新源
sudo apt-get update
sudo apt-get upgrade
三、安装ns2
1.安装依赖库
在安装ns2之前我们需要准备以下几个依赖库:
- libx11-dev:提供X Window系统相关的开发库。
- tcl-dev:为Tcl语言提供编译环境。
- tk-dev:为Tk图形界面库提供开发支持。
- gcc 和 g++:用于编译C和C++代码。
- make:构建工具,用于编译NS2。
(引用自https://blog.csdn.net/weixin_36296444/article/details/141827130)
一键安装
sudo apt-get install -y libx11-dev gcc make tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev build-essential libxmu-dev libxmu-headers
测试安装
g++ -v
你也可以编译一段程序验证:
cd ~
sudo vim test.cpp
#include <cstdio>
#include <iostream>
int main(void)
{
std::cout << "Hello World" << std::endl;
return 0;
}
sudo g++ test.cpp -o test && ./test
程序输出Hello World,没有问题
2.安装ns2
先下载ns2的all in one包(你也可以选择源码,但是安装可能会遇到一些问题),官网给出的链接是sourcedorge的下载链接
官网链接:https://www.isi.edu/websites/nsnam/ns/
下载链接:http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz/download
如何把文件发送到虚拟机上呢,这里使用sftp将文件发上去,先查看虚拟机的IP地址:
ifconfig

其中ens33网卡就是我们之前配置的NAT网络对应的网卡
返回主机系统,在刚才下载到压缩包的路径打开cmd
通过sftp使用刚才设置的用户和密码登录系统,并将文件发送上去(将xxx修改为自己设置的用户名)
sftp xxx@192.168.81.130
put ns-allinone-2.35.tar.gz /home/xxx/

返回虚拟机可以看到文件已经上传成功

解压缩源码压缩包:
tar -zxvf ns-allinone-2.35.tar.gz
cd ns-allinone-2.35
开始安装
./install
发现报错

是因为我们使用的g++版本与当时不同,只能修改源码来解决
sudo vim ns-2.35/linkstate/ls.h
将137行的erase改为this->erase即可,再次执行./install等待安装完成即可
显示安装完成:

依据提示设置环境变量:

sudo vim ~/.bashrc
export PATH=$PATH:/home/xxx/ns-allinone-2.35/bin:/home/xxx/ns-allinone-2.35/tcl8.5.10/unix:/home/xxx/ns-allinone-2.35/tk8.5.10/unix
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/xxx/ns-allinone-2.35/otcl-1.14:/home/xxx/ns-allinone-2.35/lib
export TCL_LIBRARY=$TCL_LIBRARY:/home/xxx/ns-allinone-2.35/tcl8.5.10/library
(将xxx改为自己的名称)
编译环境变量:
source ~/.bashrc
验证安装(这步时间较长,不建议,建议直接跳到下一步)
cd ns-2.35 && ./validate
3.测试ns2
退出重启terminal,输入ns,出现一个%证明安装成功
输入exit退出:
cd ns-allinone-2.35/ns-2.35/tcl/ex
ns example.tcl
如果出现了数据,证明ns2运行正常。再输入
ns simple.tcl
倘若弹出动画演示框,则证明ns完全安装正确

四、一些问题
1.运行simple显示无nam
重新安装nam即可
cd ~/ns-allinone-2.35/nam-1.15
./configure
make
sudo make install
然后测试,出现nam console说明安装成功,回去重新测试即可

2.复制粘贴技巧
如果没有安装tools,复制粘贴可能不太方便,可以使用ssh链接
可以win+R然后输入powershell
ssh xxx@192.168.81.130
登录即可,就获得了一个在本地运行的终端,右键即可粘贴
