ns2怎么用

时间:2023-09-17 04:12:48 知识 我要投稿

  ns2怎么用,NS2是一个广泛使用的网络仿真器,可以在网络中测试各种协议和场景。如果你是一名网络工程师或计算机科学研究人员,NS2对你非常有用,下面分享一下ns2怎么用。

  ns2怎么用1

  步骤一:安装NS2

  NS2是基于Linux操作系统开发的,因此你需要安装Linux操作系统。你可以选择安装任何一种Linux发行版,最常用的是Ubuntu。安装好Linux之后,你需要安装NS2。方法是使用终端,运行以下命令安装NS2。

  SUdo apt-get update

  sudo apt-get install -y ns2

  步骤二:创建拓扑

  在NS2中,你需要使用OTcl语言创建网络拓扑。首先,你需要创建一个脚本文件。脚本文件的扩展名为.tcl。在脚本文件中,你需要定义各种节点、链路、路由器等网络拓扑。掌握OTcl语言的语法是非常重要的。在NS2帮助文档中,你可以找到许多OTcl的例子,以便更好地理解语言语法。

image.png  

  步骤三:运行仿真

  创建好拓扑之后,你需要运行仿真程序。在终端中输入以下命令:

  ns filename.tcl

  其中,filename.tcl是你的脚本文件名。仿真过程将持续一段时间,直到仿真结束。在仿真结束后,你可以查看结果。

  步骤四:分析结果

  NS2可以输出仿真结果。在OTcl脚本文件中,你可以定义输出文件的名称。在仿真结束后,你可以打开输出文件查看结果。输出结果可以是节点间的数据包传输、信道带宽使用率、网络拓扑与节点的实时状态等。你可以使用Matlab或其他数据分析工具对数据进行分析。

  步骤五:进行修改

  在NS2中测试协议和场景是非常容易的。如果你发现仿真结果与实际情况不符,你可以对拓扑进行修改。修改包括修改节点属性、修改路由表等。你可以重新运行仿真程序,查看结果。这种反复修改的`过程可以帮助你逐步熟悉NS2的使用方法。

  NS2是一款非常强大的网络仿真器,可以用于测试各种协议和场景。如果你是一名网络工程师或计算机科学研究人员,NS2是必学的工具之一。你需要掌握OTcl语言、创建拓扑、运行仿真、分析结果、进行修改等技能。希望本文能够帮助你初步学会如何使用NS2!

  ns2怎么用2

  ns2是什么

  NS2是指 Network Simulator version 2,NS(Network Simulator) 是一种针对网络技术的源代码公开的、免费的软件模拟平台,研究人员使用它可以很容易的进行网络技术的开发,而且发展到,它所包含的模块几乎涉及到了网络技术的所有方面。

  所以,NS成学术界广泛使用的一种网络模拟软件。此外,NS也可作为一种辅助教学的工具,已被广泛应用在了网络技术的教学方面。因此,在学术界和教育界,有大量的人正在使用或试图使用NS。

  基本简介

  复杂性

  然而,对初学者来说,NS是非常难于掌握的,一般人从学习NS到上手至少需要半年多时间,原因是多方面的.一方面,NS内容庞杂,随软件所提供的手册更新不够快,初学者阅读起来非常困难;另一方面,使用NS还要掌握其它很多必备的相关知识以及相关工具,这会使初学者感到无从入手;

  有的使用者可能还不了解网络模拟的'过程或是对NS软件的机制缺乏理解,这也影响了对NS的掌握。另外,不论在国外还是国内,还没有一本书能集中回答和解决这些问题,这也是NS难于被掌握的一个重要原因。

  本质

  NS2(Network Simulator,version 2)是一种面向对象的网络仿真器,本质上是一个离散事件模拟器,由UC Berkeley开发而成。它本身有一个虚拟时钟,所有的仿真都由离散事件驱动的。

  NS2可以用于仿真各种不同的IP网,已经实现的一些仿真有网络传输协议,比如TCP和UDP,业务源流量产生器,比如FTP,Telnet,Web CBR和VBR;路由队列管理机制,比如Droptail,RED和CBQ;路由算法,比如AODV、DSDV、DSR等无线路由协议。NS2也为进行局域网的仿真而实现了多播以及一些MAC 子层协议。

image.png  

  主要内涵

  NS2使用C++和Otcl作为开发语言。NS可以说是Otcl的脚本解释器,它包含仿真事件调度器、网络组件对象库以及网络构建模型库等。事件调度器计算仿真时间,并且激活事件队列中的当前事件,执行一些相关的事件,网络组件通过传递分组来相互通信,但这并不耗费仿真时间。

  所有需要花费仿真时间来处理分组的网络组件都必须要使用事件调度器。它先为这个分组发出一个事件,然后等待这个事件被调度回来之后,才能做下一步的处理工作。事件调度器的另一个用处就是计时。

  NS是用Otcl和C++编写的。由于效率的原因,NS将数据通道和控制通道的实现相分离。为了减少分组和事件的处理时间,事件调度器和数据通道上的基本网络组件对象都使用C++写出并编译的,这些对象通过映射对Otcl解释器可见。

  当仿真完成以后,NS将会产生一个或多个基于文本的跟踪文件。只要在Tcl脚本中加入一些简单的语句,这些文件中就会包含详细的跟踪信息。这些数据可以用于下一步的分析处理,也可以使用NAM将整个仿真过程展示出来。

  ns2怎么用3

  NS2功能模块

  NS2仿真器封装了许多功能模块,最基本的是节点、链路、代理、数据包格式等等,下面分别来介绍一下各个模块。

  1、事件调度器:NS2提供了四种具有不同数据结构的调度器,分别是链表、堆、日历表和实时调度器。

  2、节点(node):是由TclObject对象组成的复合组件,在NS2中可以表示端节点和路由器。

  3、链路(link):由多个组件复合而成,用来连接网络节点。所有的链路都是以队列的形式来管理分组的到达、离开和丢弃。

  4、代理(agent):负责网络层分组的产生和接收,也可以用在各个层次的协议实现中。每个agent连接到一个网络节点上,由该节点给它分配一个端口号。

  5、包(packet):由头部和数据两部分组成。一般情况下,packet只有头部、没有数据部分。

  NS2软件构成

  NS2包含Tcl/Tk,OTcl,NS,Tclcl。其中Tcl是一个开放脚本语言,用来对NS2进行编程;Tk是Tcl的图形界面开发工具,可帮助用户在图形环境下开发图形界面;OTcl是基于Tcl/Tk的面向对象扩展,有自己的类层次结构;

  NS2为本软件包的核心,是面向对象的仿真器,用C++编写,以OTcl解释器作为前端;Tclcl则提供NS2和OTcl的接口,使对象和变量出现在两种语言中。为了直观的观察和分析仿真结果,NS2 提供了可选的Xgraphy、可选件Nam。

image.png  

  NS2仿真元素

  从网络拓扑仿真、协议仿真和通信量仿真等方面介绍NS的相应元素:

  1、网络拓扑主要包括节点、链路。NS的节点由一系列的分类器(Classifier,如地址分类器等)组成,而链路由一系列的'连接器(Connector)组成。

  2、在节点上,配置不同的代理可以实现相应的协议或其它模型仿真。如NS的TCP代理,发送代理有:TCP,TCP/Reno,TCP/Vegas,TCP/Sack1,TCP/FACK,TCP/FULLTCP等,接收代理有:TCPSINK,TCPSINK/DELACK。TCPSINK/SACK1,TCPSINK/SACK1/DELACK等。此外,还提供有UDP代理及接收代理Null(负责通信量接收)、Loss Monitor(通信量接收并维护一些接收数据的统计)。

  3、网络的路由配置通过对节点附加路由协议而实现。NS中有三种单播路由策略:静态、会话、动态。

  4、在链路上,可以配置带宽、时延和丢弃模型。NS支持:Drop-tail(FIFO)队列、RED缓冲管、CBO(包括优先权和Round-robin 调度)。各种公平队列包括:FQ,SFQ,DRR等。

  5、通信量仿真方面,NS提供了许多通信应用,如FTP,它产生较大的峰值数据传输;Telnet则根据相应文件随机选取传输数据的大小。

  此外,NS提供了四种类型的通信量产生器:EXPOO,根据指数分布(On/Off)产生通信量,在On阶段分组以固定速率发送,Off阶段不发送分组,On/Off的分布符合指数分布,分组尺寸固定;

  POO,根据Pareto分布(On/Off)产生通信量,它能用来产生长范围相关的急剧通信量;CBR,以确定的速率产生通信量,分组尺寸固定,可在分组间隔之间产生随机抖动;Traffic Trace,根据追踪文件产生通信量。