NS2学习笔记——网络脚本生成器NSG2的安装

NSG是一个专为NS2设计的脚本生成器,在可视化的界面里绘制拓扑图来自动生成基本网络配置的TCL代码。其主要功能及对象种类如下:
(1)产生有线网络以及无线网络的脚本(尚不支持有线无线混合);
(2)支持的Node种类:WirelessNode、WiredNode,支持WirelessNode的移动设置和相关参数设置;
(3)支持的Link种类:Duplex-link、Simple-link;
(4)支持的Agent种类TCP、TCP/Tahoe、TCP/Reno、TCP/Newreno、TCP/Vegas、TCPSink、UDP、NULL:
(5)支持的Application种类:CBR、TCP;
(6)支持的Routing Protocol种类:DSDV、DSR、AODV、TORA;
(7)支持的Queue种类:DropTail、RED、FQ、DRR、SFQ、CBQ。

第二版NSG2除了原本支持的无线网络脚本外,还支持有线网络脚本。NSG2是用Java编写的,因此可在Windows、Linux、Mac OS等任何支持Java的平台上执行;且NSG2是以Java Jar文件的形式发布的,所以本身并不需要安装,只需要下载NSG2并保存到计算机后,便可通过Java启动。

换言之,在执行NSG2前必须确定计算机装有JRE(Java Runtime Environment)或JDK(Java SE Development Kit)。在Windows系统中可以用快捷键“win+R”打开“运行”窗口后输入“cmd”,在DOS命令列中输入“java -version”来查看当前计算机是否安装过Java以及所安装Java的版本。

之后切换到NSG2程序的存放目录后,输入“java -jar NSG2.jar”即可启动NSG2。

一、在WinXP虚拟机上安装JDK

在Windows XP系统上安装JDK时,建议使用JDK8或更早版本。由于WinXP系统较早,因此较新版本的JDK不再得到官方支持,可能无法在WinXP上正常运行。JDK8是当前广泛使用的稳定版本,包含了许多新特性和改进,同时也支持WinXP系统的运行,但JDK8并不能够在WinXP系统上直接安装。

在WinXP系统上适配的32位的JDK8的文件(jdk-8u201-windows-i586.exe)可以从Oracle官网下载,也可以从国内华为开源镜像网站下载。网址分别如下:
https://www.oracle.com/rs/java/technologies/javase/javase8-archive-downloads.html
https://mirrors.huaweicloud.com/java/jdk/8u201-b09/

至于在WinXP虚拟机上无法直接安装JDK8的问题,目前相关的解决方法主要有以下两种,分别是(一)文件夹安装;(二)7-zip解压转换。我将分别说明两种方法,但在实际操作中仅采取了前者。

(一)文件夹安装

安装思路:不考虑过程,我们安装JDK8的最终目的是获得安装后的JDK8文件夹。那么我们可以从已经成功安装JDK8的计算机上拷贝JDK8文件夹,并将该JDK8文件夹复制到WinXP虚拟机中的目标位置即可。例如我在win7上安装JDK8后,将JDK8文件夹直接拷贝到WinXP虚拟机中。

这里我已经将拷贝好的的JDK8文件夹放入了百度云盘中,可以提取并解压缩后放入WinXP虚拟机中的目标目录下。
链接:https://pan.baidu.com/s/1eTXKmIVdBsDXlFsMT_ZqUw?pwd=star
提取码:star

记住所存放的目录(C:\java\jdk1.8.0_65),即可依此配置环境变量。
点击左下角“开始” – 右键“我的电脑” – 点击“属性”。打开“系统属性”界面,换到“高级系统属性”标签页,修改“环境变量”。需要新建或编辑的三个系统变量分别是JAVA_HOME、CLASSPATH与Path,增加如下引号内的变量值。
JAVA_HOME:“C:\java\jdk1.8.0_65”(这个根据所存放的目录自行调整)
CLASSPATH:“;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
Path:“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
如若配置失败,则编辑JAVA_HOME和PATH为用户变量。

最终检验是否成功安装JDK8。在WinXP系统中用快捷键“win+R”打开“运行”窗口后输入“cmd”,在DOS命令列中输入“java -version”,若成功安装JDK8,则显示当前计算机所安装Java的版本如下。

(二)7-zip解压转换

可以参考《JDK压缩包安装方法,方便版本切换》文章进行WinXP的JDK8安装。
https://blog.csdn.net/VimGuy/article/details/80814066

安装思路:JDK8不能直接安装在WinXP上,则将其解压缩得到目标文件夹。大多数解压缩软件无法对JDK8文件解压缩,这里需要使用到较特殊的7-zip压缩软件,下载地址如下:https://7-zip.org/

WinXP安装JDK8步骤如下。首先,从Oracle官网国内华为开源镜像网站下载好32位的JDK8文件(jdk-8u201-windows-i586.exe),右键使用7-zip打开压缩包,找到tools.zip并再次解压缩到目标位置。例如将jdk1.8中的tools.zip解压到WinXP虚拟机的C:\java\jdk1.8.0_65目录。

其次,我们需要将解压后的JDK8文件夹(jre/lib)中的rt.pack、tools.pack两个文件转换为rt.jar、tools.jar。该转换需要使用jdk下的bin/unpack200.exe转换工具,我们在DOS命令列中调用该转换工具即可。具体操作如下:
用快捷键“win+R”打开“运行”窗口后,输入“cmd”,以管理员身份打开终端;
在DOS命令列中输入“cd C:\java\jdk1.8.0_65”切换到C:\java\jdk1.8.0_65目录下;
输入命令“for /r %x in (*.pack) do .\bin\unpack200 -r "%x" "%~dx%~px%~nx.jar"

最后同样需要配置环境变量,以及检验是否成功安装。操作步骤参照(一)文件夹安装。

二、在WinXP虚拟机上安装NSG2

可以从NSG2官网下载,但是国内不能直接访问网站,需要代理。
https://sites.google.com/site/pengjungwu/nsg

我使用的是NSG2.1版本,无法从官网下载者可以从百度云盘自取。
链接:https://pan.baidu.com/s/1rg0mcgpKFgosIkWdGPSIuQ?pwd=star

提取码:star

下载完成后切换到NSG2.1存放目录,直接用java打开即可。
例如,我将其存放到“C:\cygwin\home\dell\ns-allinone-2.28\ns-2.28\book\lab7”中,那么我可以在WinXP系统中用快捷键“win+R”打开“运行”窗口后输入“cmd”,在DOS命令列中输入“cd C:\cygwin\home\dell\ns-allinone-2.28\ns-2.28\book\lab7”切换到存放目录,再输入“java -jar NSG2.1.jar”即可直接打开NSG2.1。

三、NSG2使用说明

NSG2启动后,用户可以通过 “Scenario”→“New wired scenaria”来建立有线网络脚本,或者使用快捷键“Ctrl+W”。

NSG2使用界面较简单,只包含5种模式:
(1)Hand mode 用于拖拽界面;
(2)Node mode 单击产生节点,双击节点拖拽节点位置,右键节点选择删除;
(3)Link mode 先设置链路属性,然后点击两个节点产生链路,右击链路选择修改参数/删除;
(4)Agent mode 先设置通信协议属性,点击节点+点击空白处产生代理 ,点击两个对应协议的代理进行配对,如TCP和TCPSink、UDP和NULL,右键代理选择修改参数/删除;
(5)Application mode 先设置应用种类,点击代理+点击空白处产生应用,右键应用选择修改参数/删除;

除却以上5种模式,用户还可以在“Paramenters”标签页下设置模拟时间和trace文件的名称,点击“TCL”按键产生tcl脚本文件并进行简单修改。之后可以用NS2执行保存下来的tcl文件。

本文为原创文章,转载请注明出处!

NS2学习笔记——win10+vmware(winXP)+cygwin+ns2.28安装

近期毕设任务是关于数据通信领域的多队列单服务器系统仿真及性能分析。我打算使用NS2网络模拟器进行仿真实验。安装过程较复杂,特此记录。

一、软件简介

NS2(Network Simulator – Version 2)是一个面向对象的、事件驱动的网络仿真器,由C++和OTcl语言编写。它实现了TCP、UDP等网络协议,FTP、Telnet、Web、CBR、VBR等队列传输的模拟,Droptail、RED、CBQ等队列管理机制,Dijkstra路由算法等,还可用于多播和MAC层协议的仿真。

Cygwin是一款在Windows操作系统上运行的开源工具集,提供了在Windows环境下使用类Unix系统命令的能力,当前多为64位,但只有32位的能够较好适配NS2。若在64位的Cygwin下安装NS2则会缺少相应的包,报错:“Package gcc4 is not present on your system.”或“Package gcc is not present on your system.”
这里要特别感谢《Windows+Cygwin+NS2安装》一文,让我明白了报错的原因并加以改正。https://blog.csdn.net/mez_Blog/article/details/105439615
VMware是一款虚拟化软件,提供了完整的虚拟计算机环境如虚拟的CPU、内存、硬盘、网络适配器等。它可以在一台物理计算机上创建多个虚拟计算机,每个虚拟计算机能够运行不同的操作系统和应用程序。

二、安装思路

安装顺序:在win10笔记本上安装VMware软件,用VMware创建一个winXP虚拟机,在winXP虚拟机上安装Cygwin软件,在Cygwin目录的/home/dell下解压并安装NS2(ns-allinone-2.28)。

复杂套娃式安装的理由如下:我所要使用的NS2.28软件是在Unix系统上开发的。若要将NS2安装在Windows平台,则需要先在Windows平台上安装32位的Cygwin软件以模拟Unix(Linux)环境。若要安装32位的Cygwin,最好在32位的WinXP机上进行。(参考柯志亨《NS2仿真实验——多媒体和无线网络通信》一书,也是在WinXP或Win2000上进行安装的。)

三、安装步骤

(一)安装VMware

我之前已经在win10操作系统的主机上安装了VMware Workstation 16虚拟机工作平台,需要的同学可以从百度云盘自取:https://pan.baidu.com/s/1nFIxt9PNYT14y9QwFQEScw?pwd=star,提取码:star。
没有安装过的同学也可以从VMware官网下载最新版本软件,目前最新版本是 VMware Workstation 17。
https://www.vmware.com/cn/
下载完成后,右键VMware 16.exe安装程序,以管理员的方式运行。一直点击下一步,接受许可协议条款,设置虚拟机安装位置目录,视情况选择更新和创建快捷方式,选择安装并等待完成。最后需要输入许可证完成验证(许可证密钥可从互联网搜索获取)。

(二)用VMware创建WinXP虚拟机

要在VMware上创建一个WinXP虚拟机,额外需要一个WinXP系统的.iso程序光盘映像文件
我所用的映像文件存到了百度云盘,需要的同学可以自取。
链接:https://pan.baidu.com/s/1SmxZ3Ad-TGXDMhShqvlCGg?pwd=star
提取码:star

具体步骤可以参考《手把手教,使用VMware虚拟机安装Windows XP系统,爷青回》一文。
https://blog.csdn.net/linxinfa/article/details/112768896

点击vmware.exe以打开VMware Workstation。
点击左上角“文件”→“新建虚拟机”创建新的虚拟机,或者直接使用快捷键“Ctrl+N”,打开新建虚拟机向导。
默认选择“典型”配置即可,点击“下一步”。
当新建虚拟机向导窗口询问安装来源时,点选第二项从本地文件安装,选择先前下载好的WinXP的.iso镜像文件。
输入WinXP产品密钥,该密钥也可从互联网搜索获取。
设置本次要创建虚拟机的名称、位置,默认即可。
设置本次要创建虚拟机的磁盘大小等,默认即可。
最后总览该虚拟机信息,点击Finish即可自动安装。安装时间较长,大概30-40分钟,需要耐心等待。

(三)在WinXP虚拟机上安装Cygwin

推荐在VMware Workxstation上安装VMware Tools,以便于后期在实体机和虚拟机之间拖拽转移文件。具体操作如下:启动WinXP虚拟机,在VMware Workxstation主页面上,点击上方工具栏的“虚拟机”,点击“安装VMware Tools”,选择典型安装,之后一直点击“下一步”直至完成。

推荐在WinXP虚拟机上安装一个合适的浏览器,因为WinXP虚拟机自带的IE只能访问特定的几个网页。我安装了一个版本适配的360安全浏览器,另外还有一个火狐浏览器可供选择,需要的同学可以到百度云盘自取。
链接:https://pan.baidu.com/s/1wT2adXFXXc4KHCpv4l26vQ?pwd=star
提取码:star

推荐在WinXP虚拟机上安装一个压缩软件,以便后期在虚拟机直接解压缩文件。如果没有解压缩软件就只能借用VMware Tools将实体机上解压好的文件拖拽转移到WinXP虚拟机上,很不方便。我安装了一个版本适配的“好压”压缩软件,需要的同学可以到百度云盘自取。
链接:https://pan.baidu.com/s/1tN0VJtVeyZYfSCLis3xNWg?pwd=star
提取码:star

现在开始正式安装Cygwin。首先前往官网,点击左侧“Install Cygwin”标签页,下滑到最后,下载32位的Cygwin安装包“setup-x86.exe”(注意“setup-x86_64.exe”是64位的,与NS2不适配)。后期如果需要补充包,可以在“Search Package”标签页下查找。
http://www.cygwin.com
下载完成后在WinXP虚拟机上运行setup-x86.exe程序。
如果选择第一项“Install from Internet”以互联网为下载来源,需要指定代理后前往国外的Cygwin镜像网站安装,很麻烦。所以我直接选择第三项“Install from Local Directory”从本地安装。适用于WinXP的Cygwin32安装包和相关文件,我放到了百度云盘,有需要的同学可以自取。

链接:https://pan.baidu.com/s/1yYoM-Tm-qPaL1dpM5WEV2w?pwd=star
提取码:star
设置根目录,默认即可。
在“Select Local Package Directory”时选择从百度云盘下载解压的该文件夹即可。
选择要安装的软件包。点右上角的view,使其状态显示为Full,以便于看到按字母顺序排序的package列表。这里我只点选了NS2需要的安装包:gcc,gcc-g++,gawk,gnuplot,make,patch,perl,tar,gzip,XFree86-base,XFree86-bin,XFree86-prog,XFree86-lib,XFree86-etc等,使其处于非“Skip”的状态(未安装的会显示为版本号,已安装的会显示为“Keep”)。如果安装过程有缺漏,也可用同样方法从这里再次补装需要的包。
最后安装并等待结束。
可以在桌面和开始菜单栏创建快捷方式。

(四)在WinXP虚拟机上安装NS-2.28

我使用的是NS2.28版本,可以到官网下载安装包,或从百度云盘自取。
http://www.isi.edu/nsnam/dist/ns-allinone-2.28.tar.gz

链接:https://pan.baidu.com/s/1cC850fI7GrmTkD1MrAGdkg?pwd=star
提取码:star

在WinXP虚拟机的C:\cygwin\home目录下创建一个文件夹(我创建了一个名为dell的文件夹),将ns2拷贝到该文件夹下进行解压,得到ns-allinone-2.28文件夹。如果没有安装解压软件,可以打开Cygwin输入“tar -xzvf tar xvfz ns-allinone-2.28.tar.gz”解压tar.gz文件。

启动Cygwin,输入“cd C:/cygwin/home/dell/ns-allinone-2.28”切换到ns-allinone-2.28文件夹,输入“./install”开始安装,大约15分钟。

安装结束后在C:\cygwin\home下会出现另一个以虚拟机用户为名的文件夹,其中包含一个.bashrc文件。现在我需要在这里修改一些配置信息,把可执行文件的路径加到PATH环境变量中。
用记事本打开.bashrc文件,输入以下代码(根据自己安装在home 路径下的文件夹修改对应名称)并保存:

export NS_HOME=/home/dell/ns-allinone-2.28
export PATH=$NS_HOME/nam-1.11:$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/bin:$PATH
export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/otcl-1.9:$NS_HOME/lib:$LD_LIBRARY_PATH
export TCL_LIBRARY=$NS_HOME/tcl8.4.5/library

最后把目录C:\cygwin\home\dell\ns-allinone-2.28\nam-1.11下的nam.exe以及ns-allinone-2.28\ns-2.28下的ns.exe拷贝到目录C:\cygwin\home\dell\ns-allinone-2.28\ns-2.28\tcl\ex下。

此时已经完成了相关配置。打开Cygwin,输入“startxwin.bat”,会弹出以下窗口。
在该窗口下输入“cd c:/cygwin/home/dell/ns-allinone-2.28/ns-2.28/tcl/ex”切换文件夹,输入“ns simple.tcl”可以运行NS2自带的simple.tcl文件,并显示在NAM可视化窗口上。该情形证明NS2已经成功安装。

本文为原创文章,转载请注明出处!