问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

NS的简介

发布网友 发布时间:2023-06-07 22:03

我来回答

1个回答

热心网友 时间:2024-12-02 07:31

目前NS2可以用于仿真各种不同的IP网,已经实现的一些仿真有:网络传输协议,比如TCP和UDP;业务源流量产生器,比如FTP, Telnet, Web CBR和VBR;路由队列管理机制,比如Droptail , RED和CBQ;路由算法,比如Dijkstra等。NS2也为进行局域网的仿真而实现了多播以及一些MAC 子层协议。 NS2使用C++和Otcl作为开发语言。
NS可以说是Otcl的脚本解释器,它包含仿真事件调度器、网络组件对象库以及网络构建模型库等。事件调度器计算仿真时间,并且激活事件队列中的当前事件,执行一些相关的事件,网络组件通过传递分组来相互通信,但这并不耗费仿真时间。所有需要花费仿真时间来处理分组的网络组件都必须要使用事件调度器。它先为这个分组发出一个事件,然后等待这个事件被调度回来之后,才能做下一步的处理工作。事件调度器的另一个用处就是计时。NS是用Otcl和C++编写的。由于效率的原因,NS将数据通道和控制通道的实现相分离。为了减少分组和事件的处理时间,事件调度器和数据通道上的基本网络组件对象都使用C++写出并编译的,这些对象通过映射对Otcl解释器可见。 当仿真完成以后,NS将会产生一个或多个基于文本的跟踪文件。只要在Tcl脚本中加入一些简单的语句,这些文件中就会包含详细的跟踪信息。这些数据可以用于下一步的分析处理,也可以使用NAM将整个仿真过程展示出来。NS是一种针对网络技术的源代码公开的、免费的软件模拟平台,研究人员使用它可以很容易的进行网络技术的开发,而且发展到今天,它所包含的模块已经非常丰富,几乎涉及到了网络技术的所有方面。所以,NS成了目前学术界广泛使用的一种网络模拟软件。在每年国内外发表的有关网络技术的学术论文中,利用NS给出模拟结果的文章最多,通过这种方法得出的研究结果也是被学术界所普遍认可的,此外,NS也可作为一种辅助教学的工具,已被广泛应用在了网络技术的教学方面。因此,目前在学术界和教育界,有大量的人正在使用或试图使用NS。
2、使用NS进行网络仿真的方法和一般过程。
进行网络仿真前,首先分析仿真涉及哪个层次,NS仿真分两个层次:一个是基于OTcl编程的层次。利用NS已有的网络元素实现仿真,无需修改NS本身,只需编写OTcl脚本。另一个是基于C++和OTcl编程的层次。如果NS中没有所需的网络元素,则需要对NS进行扩展,添加所需网络元素,即添加新的C++和OTcl类,编写新的OTcl脚本。
假设用户已经完成了对NS的扩展,或者NS所包含的构件已经满足了要求,那么进行一次仿真的步骤大致如下:
(1)开始编写OTcl脚本。首先配置模拟网络拓扑结构,此时可以确定链路的基本特性,如延迟、带宽和丢失策略等。
(2)建立协议代理,包括端设备的协议绑定和通信业务量模型的建立。
(3)配置业务量模型的参数,从而确定网络上的业务量分布。
(4)设置Trace对象。NS通过Trace文件来保存整个模拟过程。仿真完后,用户可以对Trace文件进行分析研究。
(5)编写其他的辅助过程,设定模拟结束时间,至此OTcl脚本编写完成。
(6)用NS解释执行刚才编写的OTcl脚本。
(7)对Trace文件进行分析,得出有用的数据。
(8)调整配置拓扑结构和业务量模型,重新进行上述模拟过程。
NS2采用两级体系结构,为了提高代码的执行效率,NS2 将数据操作与控制部分的实现相分离,事件调度器和大部分基本的网络组件对象后台使用C++实现和编译,称为编译层,主要功能是实现对数据包的处理;NS2的前端是一个OTcl 解释器,称为解释层,主要功能是对模拟环境的配置、建立。从用户角度看,NS2 是一个具有仿真事件驱动、网络构件对象库和网络配置模块库的OTcl脚本解释器。NS2中编译类对象通过OTcl连接建立了与之对应的解释类对象,这样用户间能够方便地对C++对象的函数进行修改与配置,充分体现了仿真器的一致性和灵活性。
3、NS2的功能模块 NS2仿真器封装了许多功能模块,最基本的是节点、链路、代理、数据包格式等等,下面分别来介绍一下各个模块。
(1)事件调度器:目前NS2提供了四种具有不同数据结构的调度器,分别是链表、堆、日历表和实时调度器。
(2)节点(node):是由TclObject对象组成的复合组件,在NS2中可以表示端节点和路由器。
(3)链路(link):由多个组件复合而成,用来连接网络节点。所有的链路都是以队列的形式来管理分组的到达、离开和丢弃。
(4)代理(agent):负责网络层分组的产生和接收,也可以用在各个层次的协议实现中。每个agent连接到一个网络节点上,由该节点给它分配一个端口号。
(5)包(packet):由头部和数据两部分组成。一般情况下,packet只有头部、没有数据部分。
4、NS2的软件构成
NS2包含Tcl/Tk, OTcl, NS,Tclcl。其中Tcl是一个开放脚本语言,用来对NS2进行编程;Tk是Tcl的图形界面开发工具,可帮助用户在图形环境下开发图形界面;OTcl是基于Tcl/Tk的面向对象扩展,有自己的类层次结构;NS2为本软件包的核心,是面向对象的仿真器,用C++编写,以OTcl解释器作为前端;Tclcl则提供NS2和OTcl的接口,使对象和变量出现在两种语言中。为了直观的观察和分析仿真结果,NS2 提供了可选的Xgraphy、可选件Nam。
5、NS现有的仿真元素
从网络拓扑仿真、协议仿真和通信量仿真等方面介绍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,根据追踪文件产生通信量。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我女朋友我在同事面前说她是我媳妇她默认,在她组长面前就不承认了什么... 跨省迁户口需要的手续 户口跨省迁移需要哪些手续? cf空白名字怎么打(cf空白名字怎么打2021) 关于旅行的电影 就是一个人旅行放松心灵那种 不要纪录片 模拟人生2高斯的遗产给儿子还是女儿 模拟人生2如何跟高斯结婚啊? 模拟人生2高斯怎么找到贝拉,找到后能怎么办? 我的米2插上充电器后屏幕一直闪,快速的一下显示充电一下没在充电。请 ... ...屏幕乱闪 充不进去电 用手机连接电脑也是一样 山畔雍庭代表什么 山畔青田长夏苗的意思是什么 崖畔的意思 老僧山畔的意思是什么 我总怀疑我喜欢的男人已经结婚了 怎么试探才能知道呢 我开始怀疑,女人为什么要结婚? 相亲对象怀疑我结婚了有必要吗? ...打算结婚,我觉得我好像有婚姻恐惧症了,老是会怀疑 焦作怀菊花香烟多少钱一盒? 如何让年轻群体接触传统茶?茶文化是怎么传播到世界? 走古早路,品古茶香 街舞节目串词:街舞演出串词 怎样才能去空军啊? ...是空军飞行员,但他说他没有身份证,只有空军证,我想问一下为什么没... 贵州地方专项计划录取分数线二本 贵州建设职业技术学院西部计划名额 贵州高考专项计划的学校区别 贵州大学2022高校专项计划分数线 贵州大学地方专项计划有哪些专业 八级管理职员岗位相当于什么级别的待遇? steam中在任意一个游戏设置手柄在所有游戏都有效吗 女巫子葡萄一亩地多少斤 一个人病了还努力学习工作用什么形容词和成语来表答最适合? 因为生病了还来读书的四字成语 一个人生病了还坚持比赛应该用什么词语形容 国海证券的拼音怎么写? 情人节 女朋友给我转账658我回多少合适? 女生说其实你不用管我 我被惯坏了 怎么回 柯南658中说的疯狂的钻石什么意思,是什么物理现象??? 阿波罗的读音阿波罗的读音是什么 产业受托监管人可以出售房产吗 受委托人把房卖给自己可以吗? 受委托方可不可以把委托的房子卖给自己的爱人? 房产被委托人可以过户给自己吗 ...人可以是同一个人吗?受托人可以把房子卖给自己吗? 受托人可以将委托人委托的房子出售给自己的配偶吗? 什么是电压应力和电流应力??三克油!! 红糖姜枣膏做法 可以驱寒暖宫,不管是是手脚冷,还是生理期 天天软件给各大音乐打榜赚收益是诈骗吗 阳光金天天盈a为什么没有天天收益了