欢迎来到天天文库
浏览记录
ID:44531650
大小:1.26 MB
页数:40页
时间:2019-10-23
《网络仿真器NS2剖析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第一章、背景1.1局域网仿真局域网仿真是局域网设计的重要环节,也是网络性能分析的关键。计算机局域网设计、模拟和性能分析系统的研究是一个非常有意义的课题。它使设计者在设计阶段就能对所设计的网络的性能作岀准确的预测,合理修改英设计,选择符合要求的性价比较优的方案。进行计算机仿真,利用仿真中间参数分析系统性能是分析某一计算机网络系统的性能的常用方法。采用系统仿真的方法,能对各组件的行为进行较精确的模拟,获得足够数据来对系统的性能进行较准确的预测。在构造一个局域网Z前,需要设计此网络的拓扑图,各层协议等等。要达到最优的效果,需要对图的结构等等进行不断的修改。
2、如果用手工计算、调整,则不仅耗功耗时,还可能留I、•不可预计的漏洞。而要直接进行操作系统上的编程工作,则不断的修改、调试让人无法忍受,更重要的是由于实际机器的影响,很多工作都无法进行。类似的情况发工在我们研究网络算法时,如果直接在各种操作系统上编程、测试,便无可避免与操作系统内核打交道。这需要特别熟悉操作系统的内核,操作系统内核的复杂性大大增加了编程的难度,这使我们将更多的精力投入对操作系统的编程而不是对算法的研究。1.2仿真器基于以上种种考虑,我们需要•个与操作系统无关的平台,它可以屏蔽掉对操作系统的实际的访问,且能近乎真实地模拟网络环境,让我们可
3、以在各个层次上模拟网络的运行。事实上,已有许多研究机构对此作出努力,并开发出自己的网络仿真器。比如,ColumbiaUniversity的NEST,作者为AlexDupuyoUniversityofCalifornia的S.Keshav在NEST的基础上,进行修改,就形成后來的REAL网络仿真器。之后,LawreceBerkeleyNationalLaboratory实验室的NetworkResearchGro叩工作组对REAL进彳j•进一步的修改,终于得到LNBLNetworkSimulator,即ns的第一版。UCBerkeley的MASH研究组
4、对LNBL继续改进,将它的版本提高到2.1b7a,这是一个很优秀的软件。用一句话概括这个软件的功能就是:它可以在一台计算机上动态仿真一个网络的运行。本文的任务就是尽可能介绍UCBerkeley改进过的NS2,介绍其功能、使用方法,与其一起工作的工具,分析其源代码,并介绍对它进行简单扩展的方法。第二章、运行环境及语言支持2.1运行环境NS工具包有许多模块组成,不同的组合可以在不同的操作系统上运行。如:Windows系列,Linux^Unix、Macintosh等等。为了运行ns,还要求系统装有C++编译器。整合的Ns-allinone2.1b7a包含了
5、比较完整的工具包,但是只能在Linux下运行。2.2语言支持值得注意的是NS的主代码由两种语言写成:C卄和OTclo因为仿真器有两方面的需要:1)…方面,对协议细节的仿真需要八种比较系统的编程语言,它能高效地对字节、数据报头进行操作,能高效实现运行在大量数据集上的算法。对于这些任务,运行时间(runtime)是我们最关心的,要尽可能少,而转换时间(turn-aroundtime,含运彳亍,调试)可以反一些。2)另一方面,对网络研究会涉及到对网络实体的参数或配置的修改,或是对网络事件的修改。在这些情况下,反复时间(iterationtime,即变换模型
6、,重运行)更重要。由于配置仅运行一次(在仿真刚开始时),因此这一部分任务的运行时间可不用考虑。C++与Otcl解决了这两种需要。C++程序的运行时间很短,但转换时间很长,正适合用于实现具体的协议。Otcl运行得很慢,但可以很快的转换(或是交互),用来进行仿真的配置最适合不过。然后,通过tclcl模块将出现在两种语言里的变量、对象胶合起来。当然以上的分法并不是绝对的,例如:许多路由是由Otcl实现的,但英核心一一Dijkstra算法是用C++来实现)。通常,如果需要在一秒钟内调用许多次的模块,最好还是用C++代码实现。第三章、NS各模块及功能这章着重介
7、绍:•NS内各大模块及功能,•结合模块介绍整个工具包的工作机制•NS内含的几个单独的小工具包3.1模块概述Ns-allinone2.1b7a中含有12个模块:模块版本号必选/可选1TelTelrelease&3.2必选2TkTkrelease8.3.2必选3Otclotclrelease1.0a6必选4TclCLtclclrelease1.0b10必选5Nsnsrelease2.1b7必选6TclDebugtcl・debugrelase1.9可选7NamNamrelease1.0a9可选8Xgraphxgraphversion12可选9GT-ITMG
8、eorgiaTechInternetworkTopologyModeler可选10SGBStanfordGr
此文档下载收益归作者所有