安装NS2文件
- 格式:doc
- 大小:472.00 KB
- 文档页数:12
Ubuntu 11.04 安装 ns2-allinone-2.34【完整版】(附各种问题解决方案)这真是一个痛苦并快乐到过程,尝试多次安装,最终迎来来伟大的复兴!终于安装成功了!!!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 经验:先将本文提到的错误在./INSTALL之前全部改正后可减少出错机会1.首先,修改更新源,原有的更新源无法完成更新。
以下是ubuntu 11.04 教育网的源:sudo gedit /etc/apt/sources.list#网易资源deb /ubuntu/ natty main restricted universe multiversedeb /ubuntu/ natty-security main restricted universe multiversedeb /ubuntu/ natty-updates main restricted universe multiversedeb /ubuntu/ natty-proposed main restricted universe multiversedeb /ubuntu/ natty-backports main restricted universe multiversedeb-src /ubuntu/ natty main restricted universe multiverse deb-src /ubuntu/ natty-security main restricted universe multiversedeb-src /ubuntu/ natty-updates main restricted universe multiversedeb-src /ubuntu/ natty-proposed main restricted universe multiversedeb-src /ubuntu/ natty-backports main restricted universe multiverse2、更新Ubuntu系统文件,虽然系统是最新版本的,但是不代表里面的文件都是最新的,需要更新。
目录1介绍 (1)在这一章对NS2的引入提供。
尤其是,关于NS2的安装信息是在第2章。
第3章介绍了NS2的目录和公约。
第4章介绍了在NS2仿真的主要步骤。
一个简单的仿真例子在第5章。
最后,在第.8章作总结。
2安装 (1)该组件的想法是明智的做法,以获取上述件和安装他们的个人。
此选项保存downloadingtime和大量内存空间。
但是,它可能是麻烦的初学者,因此只对有经验的用户推荐。
(2)安装一套ns2的all-in-one在unix-based系统 (2)安装一套ns2的all-in-one在Windows系统 (3)3目录和公约 (4)目录 (4)4运行ns2模拟 (6)ns2程序调用 (6)ns2模拟的主要步骤 (6)5一个仿真例子 (8)6总结 (12)1 Introduction (13)2 Installation (15)Installing an All-In-One NS2 Suite on Unix-Based Systems (15)Installing an All-In-One NS2 Suite on Windows-Based Systems (16)3 Directories and Convention (17)Directories and Convention (17)Convention (17)4 Running NS2 Simulation (20)NS2 Program Invocation (20)Main NS2 Simulation Steps (20)5 A Simulation Example (22)6 Summary (27)1介绍网络模拟器(一般叫作NS2)的版本,是证明了有用在学习通讯网络的动态本质的一个事件驱动的模仿工具。
模仿架线并且无线网络作用和协议(即寻址算法,TCP,UDP)使用NS2,可以完成。
一般来说,NS2提供用户以指定这样网络协议和模仿他们对应的行为方式。
ns2的基本功能和用法。
NS2是一款广泛使用的离散事件网络仿真器,它可以用来模拟网络协议、网络拓扑结构、传输层协议等各种网络方面的问题。
在本文中,我们将会详细介绍NS2的基本功能和用法,让您了解如何使用这个强大的工具来开展网络仿真和探索。
第一部分:NS2的简介NS2全称Network Simulator 2,是一款免费且开源的网络仿真平台,它可以运行于Linux和Windows操作系统。
NS2是C++编写的,它是由一个模块化的体系结构构建而成的。
NS2可以帮助你模拟和测试各种网络协议和技术,包括但不限于TCP/IP、WiFi、无线通信、移动通信、卫星通信等。
NS2的基本组成部分包括:- OTcl:OTcl是一个面向对象的Tcl解释器,它被用来编写NS2的脚本文件。
它可以帮助您表示仿真模型以及控制仿真场景和参数。
- C++代码:NS2的模拟核心是由C++编写的,它包含了底层的网络协议处理逻辑和数据结构。
- Trace:NS2的Trace模块可以记录仿真过程中所有的事件和消息交换。
我们可以通过Trace来分析仿真结果,并对仿真场景进行可视化。
总结NS2是一个开源且强大的网络仿真器,它的核心部分是由C++编写而成的。
NS2可以帮助您模拟和测试各种网络协议和技术,并提供一个强大的OTcl 脚本语言来控制和配置仿真模型。
第二部分:NS2的基本功能NS2提供了很多强大的功能,如下所示:1. 拓扑结构模拟NS2可以帮助我们模拟各种网络拓扑结构,例如星型、树形结构、层次结构等。
通过定义节点、连接和协议,我们可以很容易地构建复杂的拓扑结构,并进行仿真和测试。
2. 参数设置和控制通过OTcl脚本,我们可以轻松地配置和控制仿真模型。
我们可以设置各种参数,例如发送速率、仿真持续时间、节点位置等等。
此外,我们还可以通过设置事件触发器来控制仿真场景的流程。
3. 模拟协议NS2可以帮助我们模拟各种协议,例如TCP、UDP、ICMP等。
NS2安装步骤与注意事项一、NS2是运行在linux系统环境中的,故其安装主要分三步:装虚拟机,在虚拟机上装ubuntu,在ubuntu上装NS2。
二、虚拟机安装,VMware-workstation-full-7.1.4-385536.7z。
跟装其他软件一样,无需特殊设置。
Win7系统下,用较新版本的虚拟机,旧版本上网设置太麻烦。
三、在虚拟机上安装linux系统。
打开VMware workstation,创建一个新的虚拟机,根据安装向导,typical典型安装,next,注意选I will install the operating system later(稍后安装操作系统),之后选择自己的操作系统版本及安装位置,磁盘容量自选,安装完成。
(一)、最开始安装的是redhat版本的linux:我的redhat的系统是三个光盘映像文件,打开VMware workstation左边的Sidebar有显示自己刚才安装的虚拟机,Red Hat Linux。
1、设置操作系统的安装是从光盘映像文件启动:VM→settings→CD/DVD(IDE),右边栏里connection选择use ISO image file(使用光盘映像文件),定位到第一个光盘映像。
OK之后启动redhat,开始安装。
2、第一张光盘安装完成会提示插入第二张光盘。
同样从VM→settings→CD/DVD(IDE)定位到第二张光盘,OK 之后不会继续安装。
注意此处在点OK之前需要将上边Device status 下的connected打上对勾,(默认的只有第二个有对勾),这样点OK才能继续安装第二张光盘,同理安装第三张光盘。
Redhat里边插入U盘不能直接识别,先将U盘挂载,U盘里的安装包拷到Redhat内,再安装,安装各种出错……o(╯□╰)o Redhat版本的linux系统操作不方便,换用ubuntu。
可以考虑在redhat 上再装一个ns2.(二)ubuntu安装Ubuntu操作系统只有一个光盘映像文件。
Linux下的NS2安装+LEACH及错误修改一、安装前的准备说明为了方便实验和使用,采用的实在虚拟机上安装,安装和配置过程与实体无异。
环境:Redhat9.0+ns-allinone-2.29.tar.gz准备:在安装编译之前确保Linux中已经安装了gcc++编译工具,以及XFree86-devel and XFree86-libs两个组件。
分别为:X 软件开发KDE桌面环境,可以在添加删除程序中进行安装。
二、安装过程1. 本实验安装环境:完全安装的RedHat 9.0操作系统,ns-allinone-2.29安装包。
2. 到官方下载网址下载NS2安装软件包ns-allinone-2.29.tar.gz.3. 以root登录RH9,在/home下建立ns2文件夹,将ns-allinone-2.29.tar.gz放在该文件夹下,在终端运行cd /home/ns2,使用解压命令tar xvfz ns-allinone-2.29.tar.gz,即生成/home/ns2/ ns-allinone-2.9.4. 修改/home/ns2/ ns-allinone-2.9/nam-1.11/agent.h中的第73行,将NULL改为0.5. 在/home/ns2/ ns-allinone-2.9/下运行。
/install6. 根据安装结束后结尾处的提示,将某些路径复制下来,或者直接按照以下修改(可以对照提示理解):7. 修改/root/.bashrc(注意该文件为隐藏文件),在该文件末尾加上以下三句话:exportPA TH=$PA TH:/home/ns2/ns-allinone-2.29/bin:/home/ns2/ns-allinone-2.29 /tcl8.4.11/unix:/home/ns2/ns-allinone-2.29/tk8.4.11/unixexportLD_LIBRARY_PA TH=$LD_LIBRARY_PA TH:/home/ns2/ns-allinone-2.29/otcl-1.11:/home/ns2/ns-allinone-2.29/libexportTCL_LIBRARY=$TCL_LIBRARY:/home/ns2/ns-allinone-2.29/tcl8.4.11/library在root路径下输入命令:source .bash_profile进行环境变量的更新8.这时,如果以上设置正确,直接运行ns会出现%,或者可以运行软件自带的例子,在/home/ns2/ns-allinone-2.29/ns-2.29/ns-tutorial/examples下运行ns example2.tclLEACH协议的安装准备:获取LEACH的源码文件:mit.tar.gz1.进入到目录/home/ns2/ns-allinone-2.29下解压LEACH协议源文件mit.tar.gz[root@localhost root]# cd /home/ns2/ns-allinone-2.29[*********************]#tar-xzcfmit.tar.gz./2.修改MakeFile文件1)添加-DMIT_uAMPS到DEFINE中DEFINE = -DTCP_DELAY_BIND_ALL.......-DMIT_uAMPS2)添加-I./mit/rca -I./mit/uAMPS到INCLUDE中INCLUDES = \-I./diffusion3/filter_core -I./asim/ -I./qs \-I./diffserv -I./satellite \-I./wpan \-I./mit/rca -I./mit/uAMPS \3)添加以下代码在gaf/gaf.o \之前mit/rca/energy.o mit/rca/rcagent.o \mit/rca/rca-ll.o mit/rca/resource.o \mac/mac-sensor-timers.o mac/mac-sensor.o mit/uAMPS/bsagent.o \注:添加过程中使用TAB键代替空格。
1、安装cygwin。
安装完成后修改.bashrc文件会出现‘、r’command not find,是因为.bashrc 文件的格式:unix和windows的字符不一样。
改正方法,使用工具dos2unix修改.bashrc文件。
命令:dos2unix .bashrc2、运行startxwin.bat后,关闭时运行exit,确认退出。
3、安装ns2,将压缩包文件拷贝到“home/登录用户目录”中。
解压:tar xvfz ns-allinone-2.27修改在startxwin.bat之后,想运行一个example的时候,还是出现ns: command not found灰心。
但也一定要找出问题所在。
再baidu一下,发现很多人有这个问题,并且有说“把ns-2.28目录下的ns.exe和nam-1.11下的ns.exe与nam.exe放到examples目录下就没问题。
”于是,查看ns-2.28文件夹下的ns.exe,有,然后拷贝到examples文件夹下。
问题来了,nam-1.11文件夹下没有nam.exe。
发现:第一步:将C:\cygwin\home\xly\ns-allinone-2.28\nam-1.11下的agent.h文件中的NULL改为0;第二步:进入目录home/xly/ns-allinone-2.28/nam-1.11,然后运行命令(./configure && make && make install)后会在home\xly\ns-allinone-2.28\nam-1.11目录下生成一个nam.exe文件,把nam.exe文件拷贝到home\xly\ns-allinone-2.28\bin目录下。
一定要按照顺序来,首先用ultraedit打开第一步中的agent.h,在第73行改null为0。
然后再运行第二步中的那串命令。
命令的运行时间为几分钟,别管它。
系统环境为ubuntu8.04.4,gcc v4.2.4首先下载ns-allinone-2.29.tar.gz, ns-2.29-nist-mob.tgz和pmip6-for-ns-2.29-nist.patch文件下载到目录/home/bt/ns2/(1).sudo apt-get install build-essential,这样可以安装gcc,make。
(2).安装tk,tclsudo apt-get install tcl8.4sudo apt-get install tcl8.4-devsudo apt-get install tk8.4sudo apt-get install tk8.4-dev(3).sudo apt-get install libxmu-dev,是和nam有关的东西。
完毕。
1,解压文件夹ns2.29,修改里面的nam文件夹中agent.h的73行,将后面的null改为0;sudo tar -vxzf ns-allinone-2.29.tar.gz #解压到当前目录/home/bt/ns2/cd ns-allinone-2.29 #进入目录将ns-2.29-nist-mob包中ns-2.29文件夹替换ns-allinone-2.29包中ns-2.29文件夹,并在ns-allinone-2.29中添加pmip6-for-ns-2.29-nist.patch补丁包;然后安装NS2-2.29。
2,sudo ./install #开始安装3,安装的时候出现众多error,大概分为两种类型:一是在某函数前面的某个“限定错误”,修改办法是找到ns2.29中该处错误的地方,将该限定删除;二是出现函数未声明的错误,在C语言里将函数定义放在后面,而在前面调用则一定要在文件的最开头声明函数原型,Ubuntu8.04.4是遵循这一原则的,但在ns2.29中则不是如此,并没有在文件开头声明函数原型,奇怪的是在很多Linux版本(Fedora6/Ubuntu6.06)中安装的时候竟然不会报错,如果在Ubuntu8.04.4上安装ns2.29则需要你自己找出报错地方添加声明。
1. 下载 NS2:点击/sourceforge/nsnam/ns-allinone-2.33.tar.gz下载ns-allinone-2.33。
将ns-allinone-2.33.tar.gz下载到桌面即可,如图:2.解压 ns-allinone-2.33.tar.gz:3. 选择安装位置:将 ns-allinone-2.33 剪切到你的文件夹下(既想要安装到的位置):为了方便管理,我在我的文件夹(/home/lzh)下创建了一个Program 文件夹,并将 ns-allinone-2.33文件夹剪贴到此文件夹下(/home/lzh/Program,注意大小写)。
4解决 nam 调用的 tk 组件和 xproto-7.0.13 不兼容的问题(xproto-7.0.13 新添加了 GenericEvent)。
(这种方法最简单)进入ns-allinone-2.33, 找到tk8.4.18在里面搜索出tkBind.c,在588行/* MappingNotify */ 0,/* VirtualEvent */ VIRTUAL,中间插入#ifdef GenericEvent/* GenericEvent */ 0,#endif最后如/* MappingNotify */ 0,#ifdef GenericEvent/* GenericEvent */ 0,#endif/* VirtualEvent */ VIRTUAL,5.打开一个终端(位置:应用程序>系统工具>终端);在终端里输入 sudo -i,回车;按提示输入密码(123),回车,进入 root 权限操作;6.更新系统。
$ sudo apt-get update #更新源列表$sudo apt-get upgrade#更新已安装的包$sudo apt-get dist-upgrade #更新软件,升级系统7.安装几个编译必备的包$ sudo apt-get install build-essential$ sudo apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev$ sudo apt-get install libxmu-dev libxmu-headers8.检查gcc版本如果gcc的版本大于4.0则在./install之前要做一些修改("gcc 4.0版本以前是用ld -share来生成共享库的,但是到了4.0以上的版本(我的为gcc version 4.4.1),这个命令改为了gcc -share即可")补充:怎样查看gcc版本?终端执行ls /usr/bin/gcc –l或者gcc –version或者gcc -v查看过gcc版本之后,如果确实是4.0以上的版本,需要做以下修改:cd /home/lzh/Program/ns-allinone-2.33//otcl-1.13在终端输入sudo gedit configure.in将77行,SHLIB_LD="ld -shared"改为SHLIB_LD="gcc -shared"保存,退出同时修改configure ,在终端输入sudo gedit configure将第5518行SHLIB_LD="ld -shared"改为SHLIB_LD="gcc -shared"保存退出9.输入 cd 命令,转到 ns-allinone-2.33 文件夹下(我的路 home/lzh/Program/ns-allinone-2.33)输入./install,进行安装。
网络仿真器NS-2之使用手册(草稿)目录安装手册....................................................................................01~091.使用需求 (01)2.在Windows Me/2000安装方式 (01)3.补充 (08)4.参考网址 (09)使用手册.....................................................................................10~18附录一、Output File Format...............................................................19~251.NAM各字段格式及范例.. (19)2.NEW TRACE FILE格式 (23)附录二、TCL语法整理…………………………………………………………26~33§安装手册§一、使用需求:‧计算机外设设备:⏹CPU:600MHz以上。
⏹内存:256M以上。
⏹硬盘容量:40GB以上。
‧宽带网络:NS2各组件需要快速的联机网络下载,各组件的档案总共数百Mega Bytes。
‧Visual C++ 6.0。
二、在WINDOW ME/2000的安装方式:1.在DOS环境下c:\program\Microsoft studio\VC98\bin执行vcvars32.bat的批次档,藉以设定Visual C++的路径以及环境变量;并且可以手动编辑autoexec.bat中路径或环境变量。
以下为一Autoexec.bat的范例,仅供参考,并不硬性规定需如此设定:@echo offvcvars32.batset PATH=%PATH%;c:\netsim\tclset PATH=%PATH%;c:\netsim\tkset PATH=%PATH%;c:\netsim\otclset PATH=%PATH%;c:\netsim\tclclset PATH=%PATH%;c:\netsim\ns2set PATH=%PATH%;c:\progra~1\tcl@echo on2.新增一个NetSim的资料夹在C:\里面。
基于VMware环境下网络模拟软件NS2的安装【摘要】NS2是一种面向对象的网络仿真器,成为各大科研院校进行仿真各种网络性能的首选,本文介绍了在VMware虚拟机上安装Red hat Linux操作系统,在Linux操作系统上安装NS2网络模拟软件的方式,此方式简单、快捷、可行,同时可以在两个操作系统之间切换来去自由,是一个很不错选择和尝试。
【关键词】NS2;VMware虚拟机;Linux操作系统引言目前,各大高等学校的计算机专业都开设有计算机网络、无线局域网等课程,如何进行课内实验和上机任务成为计算机老师必须要考虑的问题,很多高校的老师都选择NS2作为网络仿真工具的软件来模拟一些网络协议以及网络原理,这样能够更好的激发同学们的学习热情和学习兴趣,同时也使得一些网络原理更容易理解。
对于那些欠缺网络实验室的高校来说,这样做更有好处。
NS2软件通常安装在Linux操作系统下面,安装相对复杂,本文介绍基于VMware环境下安装NS2,这种方法安装简单、方便、可行。
1.NS2简介在进行网络教学和研究的过程中,实现网络系统常常需要发费较长时间、周期漫长,因此采用网络模拟仿真成为首选。
NS2(Network Simulator version 2)是当前最为主流的一款网络仿真器,广泛应用于科研院校的研究和教学中,它是由离散事件驱动的一种面向对象的网络仿真器,它可以仿真不同的IP网络,比如仿真TCP、UDP网络传输协议,对于AODV、DSDV、DSR等无线路由协议也具有强大的模拟功能,同时也实现了一些MAC子层协议和多播功能。
NS2采用C++和Otcl作为开发语言,NS可以说Otcl的脚本解释器,它包含仿真事件调度器、网络组件对象库以及网络构建模型库等,NS2仿真器封装了节点、链路、代理、数据包格式等多种功能模块[1],同时NS2源代码开放、免费,可以供用户根据自己的需求进行修改、扩展,当仿真完成以后,NS将会产生一个或多个基于文本的跟踪文件。
摘要无线传感器网络是一种全新的信息获取和处理技术,具有许多传统网络无法比拟的优点,可广泛应用于军事、医疗、灾难救助等环境中,已经成为现代通信技术中的一个热点研究领域。
由于无线传感器网络中的节点普遍能量受限,因而设计能量有效的无线传感器网络路由协议受到了学术界和工业界的高度重视。
本文在上述背景下概述了影响无线传感器网络路由协议设计的因素,指出了传感器网络路由协议的评价标准,介绍了几种主流的传感器网络路由协议,并选择典型的低能量自适应聚类层次结构(LEACH)协议进行了深入分析,着重描述了实现LEACH协议的关键算法,分析了该协议存在的优势与不足,并给出了一些修改的建议。
在上述工作的基础上,本文利用网络仿真软件NS-2对其进行建模,重点实现了LEACH协议、CSMA协议、网关处理的有限状态机模型(FSM),并结合节点模型和网络模型,在omnet的虚拟无线环境下建立了LEACH协议的仿真平台。
最后利用上述平台建立了两个包含不同数量节点的无线传感器网络,仿真了LEACH协议的实际运行情况,并根据相关定义统计了网络的生命周期,节点能耗等参数,最终得出了LEACH协议能够高效利用能量的结论。
本文建立LEACH协议仿真平台的相关工作,为针对该协议的后续改进研究作了铺垫,具有一定的应用价值。
关键词无线传感器网络;路由协议;LEACH;NS-2网络仿真AbstractMotivated by the advancement in sensor, embedded computing, networking and wireless communication technologies, wireless sensor network (WSN) is now regarded as a promising technology for pervasive information acquiring and processing. Since WSN could be deployed in diverse applications, such as military affairs, medical care, emergencies, and so on, it becomes a boosting research topic in modern wireless networking technology. Due to the limited power supply characteristics of individual sensor node, it is extensively desirable to find out ways to maximize the life time of WSN. Consequently, energy-efficient routing protocol has become a hotspot in both academic research and industrial practices.This thesis firstly summarizes the factors which dominate the energy-consumption characteristics of routing protocol for WSN. Some criteria are then presented to evaluate the performance of a given routing protocol. Secondly, after introducing several mainstream routing protocols, the Low Energy Adaptive Clustering Hierarchy (LEACH) will be addressed to elucidate its advantages and disadvantages. Some proposals are also discussed to improve the LEACH routing protocol.In addition, by employing the network simulation tool—NS-2, this thesis lays emphasis on modeling the Finite State Machine of LEACH protocol, CSMA protocol. After that, based on the node and network model, LEACH protocol’s simulation platform will be presented using omnet’s virtual wireless environment.Finally, by setting up two WSN application scenarios with different number of sensor nodes, the life-time of WSN and the node’s energy consumption of the WSN are collected and analyzed. It is validated that the LEACH protocol is energy-efficient, which is suitable for the requirement by practical WSN implementations. Moreover, the completed simulation platform offer a good beginning for the future studies on LEACH protocol and its improved variations.Key words Wireless Sensor Network; Routing Protocol; LEACH; Network Simulation Using NS-2目录1 引言 (4)2 绪论...............................................................................................................................2.1 无线传感器网络简介...........................................................................................2.2 无线传感器网络体系结构...................................................................................2.2.1 传感器节点组成........................................................................................2.2.2 网络体系结构............................................................................................2.2.3 协议体系结构............................................................................................2.3 无线传感器网络的特点.......................................................................................2.4 无线传感器网络的应用.......................................................................................2.5 NS-2介绍2.6 NS-2在不同环境下的安装3 总体设计 (12)3.1 激光的检测 (12)3.2 靶位的划分 (12)3.3 编码标准 (13)3.4 成绩的传送和处理 (13)3.5 其他说明 (13)4 硬件设计 (14)4.1 信号放大电路 (14)4.2 整形电路 (16)4.3 编码电路 (17)4.4 串行传送 (19)4.5 电平转换 (21)5 软件设计 (22)5.1 总体方案 (22)5.2 程序流图 (22)5.3 模块说明 (23)6 制作与调试 (26)6.1 硬件电路的布线与焊接 (26)6.2 调试 (26)7 结论 (28)致谢 (29)参考文献 (30)附录 (31)1 引言由于近年来传感器技术、嵌入式技术、分布式信息处理技术和无线通讯技术的发展,微型制造技术、通信技术及电池技术的改进,促使微小的传感器可具有感应、无线通信及处理信息的能力。
3.2 Ns-2软件的安装3.2.1 Windows系统下安装Cygwin登陆Cygwin[7]官网,下载安装程序setup.exe,然后运行。
选择将Cygwin下载到本地计算机,即download without installing。
点击下一步,选择Cygwin将要下载到的目标目录。
然后按照提士依次进行。
当出现如图3.2所示的对话框时,点击View按钮,使之为Full形式,如图3.3所示。
这时我们只选择Ns-2需要的软件包。
分别是:gcc,gcc-g++,gnuplot,make,patch,perl,tar,X-startup-scripts,xorg-x11-base,xorg-x11-bin,xorg-x11-devel,xorg-x11-bin-dlls,xorg-x11-bin-lndir,xorg-x11-etc,xorg-x11-fenc,xorg-x11-fnts,xorg-x11-libs-data,xorg-x11-xwin。
即分别点击上述软件包使之为非skip形式。
然后等待安装即可。
此时注意要取消左下角的“hide obsolete packages”,防止漏掉一些隐藏的软件包。
图3.1 cygwin 安装Ns-2所需软件包图3.2 点击View使显示方式为Full3.2.2通过cygwin安装Ns-2在Ns-2官网上下载Ns-2的安装包,避免安装步骤的繁琐,这里采用Ns-2提供的一次性的安装包来安装。
安装的版本为ns-allinone-2.29[7]。
Cygwin是在windows系统下创造一个Linux系统的虚拟环境。
因此用cygwin安装Ns-2要将ns-allinone-2.29.tar.gz的压缩包放到Cygwin提供的家目录下,这里是:Cygwin/home/Administrator。
打开Cygwin界面。
输入命令“tar xvzf ns-allinone-2.29.tar.gz”解压缩。
ns2仿真软件介绍ns2⽹络仿真软件NS 是⼀种针对⽹络技术的源代码公开的、免费的软件模拟平台,研究⼈员使⽤它可以很容易的进⾏⽹络技术的开发,⽽且发展到今天,它所包含的模块已经⾮常丰富,⼏乎涉及到了⽹络技术的所有⽅⾯。
所以,NS成了⽬前学术界⼴泛使⽤的⼀种⽹络模拟软件。
在每年国内外发表的有关⽹络技术的学术论⽂中,利⽤NS给出模拟结果的⽂章最多,通过这种⽅法得出的研究结果也是被学术界所普遍认可的,此外,NS也可作为⼀种辅助教学的⼯具,已被⼴泛应⽤在了⽹络技术的教学⽅⾯。
因此,⽬前在学术界和教育界,有⼤量的⼈正在使⽤或试图使⽤NS。
然⽽,对初学者来说,NS是⾮常难于掌握的,⼀般⼈从学习NS到上⼿⾄少需要半年多时间。
原因是多⽅⾯的:⼀⽅⾯,NS 内容庞杂,随软件所提供的⼿册更新不够快,初学者阅读起来⾮常困难;另⼀⽅⾯,使⽤NS还要掌握其它很多必备的相关知识以及相关⼯具,这会使初学者感到⽆从⼊⼿;有的使⽤者可能还不了解⽹络模拟的过程或是对NS软件的机制缺乏理解,这也影响了对NS的掌握。
另外,不论在国外还是国内,还没有⼀本书能集中回答和解决这些问题,这也是NS难于被掌握的⼀个重要原因。
1、NS2简介NS2 (Network Simulator, version 2)是⼀种⾯向对象的⽹络仿真器,由UC Berkeley开发⽽成。
它本⾝有⼀个虚拟时钟,所有的仿真都由离散事件驱动的。
⽬前NS2可以⽤于仿真各种不同的IP⽹,已经实现的⼀些仿真有:⽹络传输协议,⽐如TCP和UDP;业务源流量产⽣器,⽐如FTP,Telnet,Web CBR和VBR;路由队列管理机制,⽐如Droptail,RED和CBQ;路由算法,⽐如Dijkstra等。
NS2也为进⾏局域⽹的仿真⽽实现了多播以及⼀些MAC ⼦层协议。
NS2 使⽤C++和Otcl作为开发语⾔。
NS 可以说是Otcl的脚本解释器,它包含仿真事件调度器、⽹络组件对象库以及⽹络构建模型库等。
Fedora 10下安装NS2——by F i s h P i n g 一、NS2程序简介对于如何验证网络协议的正确性和进行相关性能测试,人们提出了很多方法,目前最广泛使用的方法就是通过虚拟环境进行模拟仿真。
NS-2是进行网络仿真最流行的软件,已广泛被科研院所和各大高校用于进行网络分析、研究和教学。
它支持众多的协议,并提供了丰富的测试脚本。
NS-2全称是Network Simulator Version 2。
它是面向对象的,离散事件驱动的网络环境模拟器,主要用于解决网络研究方面的问题。
NS-2提供在无线或有线网络上,TCP、路由、多播等多种协议的模拟。
NS-2最早来源与1989年的Real Network Simulator项目,经过多年的发展之后,于1995年得到施乐公司(Xerox)的支持,加入VINT项目。
NS一直以来都在吸收全世界各地研究者的成果,包括UCB、CMU等大学和SUN等公司的无线网络方面的代码。
NS-2由两种编程语言,OTCL(具有面向对象特性的TCL脚本程序设计语言)和C++实现。
之所以使用两种编程语言,是因为模拟器有两方面的事情需要做。
一方面,具体协议的模拟和实现,需要一种程序设计语言,能够高效率的处理字节(Byte),报头(Packet Header)等信息,能够应用合适的算法在大量的数据集合上进行操作。
为了实现这个任务,程序内部模块的运行速度(run-time speed)是非常重要的,而运行模拟环境的时间、寻找和修复bug的时间,重新编译和运行的时间(run-around time)不是很重要。
这种情况下,C++语言是非常合适的。
另一方面,许多网络中的研究工作都围绕着网络组件和环境的具体参数的设置和改变而进行的,需要在短时间内快速的开发和模拟出所需要的网络环境(scenarios),并且方便修改和发现、修复程序中的Bug。
在这种任务中,网络环境布置的时间就显得很重要了,因为模拟环境的建立和参数信息的配置只需要运行一次。
myEvalvid和myEvalvid-NT及图像传输效果分析与评估1、Destination(1)了解Evalvid的系统结构及其优缺点(2)了解整合Evalvid和NS2所得的myEvalvid的系统结构(3)了解通过更改myEvalvid得到的myEvalvid-NT系统结构(4)了解可解画面比例(Decodable Frame Rate)的意义及其分析模型(5)了解如何使用 myEvalvid 和 myEvalvid-NT 来仿真和评估多媒体图像传输(6)使用myEvalvid-NT验证所得的可解画面比例分析模型(7)了解各种影响图像传输的因素(8)了解各种因素之间的相关性2、Background(1)Evalvid的系统结构及其优缺点Evalvid是一套德国人发明的多媒体质量评估工具,提供了用户从原始影像数据压缩、封包传送产生效能分析结果,在视觉上比较影像传输质量的好坏。
其结构图如图1所示。
其主要组件包括:信源——格式可以是YUV QCIF(176*144)或者YUV CIF(352*288)视频编解码器——支持NCTU codec和ffmpeg,其中ffmpeg能提供比较多样的编码方式视频发送器——UDP封包传输评价Trace——效果评估的工作是在发送端处理,需要将接收端的Trace文件传回发送端重建视频——接收端收到的图像文件画面数必须和发送端一致,若不一致,则由重建视频根据最近一个成功解出的画面来修补遗失的画面PSNR(峰值信噪比)——这个值越大则表示目的图像与原始图像差距越小,也就是画面的质量越好MOS(平均主观评分)——评鉴数字图像质量的主观指针。
其范围从1(最差)到5(最好)。
可将PSNR的值转换为MOS值。
Evalvid提供的模型只是一个简单的Error Model,限制了研究者验证所提出来的方法和结构。
于是通过myEvalvid、my_UDP和myEvalvid_Sink三个接口程序(Agent)与NS2联络,构成myEvalvid。
Windows + Cygwin + myNS2
This document will show you how to install myNS2 (ns-2.28 + all my modules) on Windows platform (windows 2000 or windows XP). If you follow each step in this webpage, you can successfully run all the simulation scripts provided me without installing each module. (It includes TKN 802.11e EDCF module, NOAH routing, MFlood, CSFQ, Poisson traffic, wireless random uniform and GE error model, and tcldebug.)
2006/10/27 add “Evalvid-RA” and “IEEE 802.16 module for ns2 (from NIST)”.
[Cygwin]
1. 1.Download the cygwin.rar.
2. 2.Decompress the cygwin.rar
3. 1.Click the setup.exe to install cygwin.
4. 2.Because the language of operating system is Traditional Chinese. The text of button is
shown in Chinese. But you don’t need to worry about this. I think it is shown in English in your computer. Just click “Next”.
5. 3.Then choose “Install from Local Directory”
6. 4.Click “Next”.
(Just keep the settings as they are.)
7. 5.Click “Next”
8. 6.Click “Browse” to choose where the software is. (Please choose
“ftp%3a%2f%.tw%2fWindows%2fcygwin”)
9.7.Click “OK”.
10.8.Click “Next” and you will see the figure shown a s follows. In this window, the cygwin
setup program let you choose what software you want to install.
点“+All”后面的符号,变成“Install”
11.11.Click “Next”.
(Please be patient. It may take a long time to finish the installation.)
12.12.When setup is done, it will be shown as following figure. Click “Finish”.
13.13.Click “OK” to finish the cygwin setup progr am.
[myNS2 setup]
1. 1.Click the icon on the desktop.
2. 2.For the first time execution, it will generate some environment parameter setting files. In
this example, smallko is my login name to windows system. Therefore, the cygwin will create
a folder named “smallko” under home directory. (The actual path for smallko folder is:
c:\cygwin\home\smallko) It should be noticed that the login name can not have any space in your name. For example, “A B” may cause errors when you install NS2.
3. 3.Download myNS2.
4. 4.Decompress the ns-allinone-2.28.rar.
5. 5.Move this folder under c:\cygwin\home\smallko. (P.S. smallko is my login name)
6. 6.Open a cygwin window
7.7.Change the path to ns-allinone-2.28/ns-2.28
8.8.Run the command “./configure; make clean; make
9.9.Please be patient. It will take some time to finish the compilation.
10.10.When it is done, it should look like as follows.
11.11.To make sure that you have successfully installed myNS2, you need to check whether you
can find ns.exe under ns-allinone-2.28/ns-2.28
12.12.Copy the .bashrc to c:/cygwin/home/smallko
13.13.Run the example script to test whether you have setup the path or not.
14.If you see the error message like “ns command not found”, no worry about this. Sometimes
even you have setup the path, but it does not work. You can copy the ns.exe (nam.exe) to the same place as the simulation script. Run the simulation with “./ns.exe” and it will be ok.(将ns.exe、nam.exe, xgraph.exe(这些文档分别在\ns-allinone-2.28\ns-2.28中,\ns-allinone-2.28\nam-1.11中,\ns-allinone-2.28\xgraph-12.1中)文档拷贝到ns-allinone-2.28\bin文件夹中)
Last modified: 2006/3/3
Author : Chih-Heng, Ke
Website: http://140.116.72.80/~smallko
Email: smallko@.tw
Phd candidate, EE Department, NCKU, Taiwan。