外文参考文献译文及原文.docx
- 文档编号:28148415
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:24
- 大小:81.49KB
外文参考文献译文及原文.docx
《外文参考文献译文及原文.docx》由会员分享,可在线阅读,更多相关《外文参考文献译文及原文.docx(24页珍藏版)》请在冰豆网上搜索。
外文参考文献译文及原文
1介绍
网络模拟器(一般叫作NS2)的版本,是证明了有用在学习通讯网络的动态本质的一个事件驱动的模仿工具。
模仿架线并且无线网络作用和协议(即寻址算法,TCP,UDP)使用NS2,可以完成。
一般来说,NS2提供用户以指定这样网络协议和模仿他们对应的行为方式。
由于其灵活性和模块化的性质,获得了NS2的网络研究界在1989年诞生以来,不断普及。
从那以后,有几个革命和修改,标志着该工具的日益成熟,来自外地的球员重大贡献表示感谢。
其中有康奈尔大学和加州谁开发了真正的网络模拟器,1其中NS是基于基础研究。
自1995年以来美国国防高级研究计划局(DARPA)支持通过虚拟网络互联试验台(作业中)项目开发的NS[9].2目前,美国国家科学基金会(NSF)已加入了发展的旅程。
最后但并非最不重要的,研究人员和开发商的社会群体正在不断努力,以保持NS2的强大和灵活。
同样,这本书的主要目的是提供到NS2的架构见解的读者。
本章给出了一个以NS2的简要介绍。
NS2的初学者,建议去彻底的详细介绍网上资源。
例如,NS2的官方网站[10]提供NS2的源代码以及详细的安装指导。
[11]和[12]网页中极力推荐的是提供教程和例子设立基本NS2仿真。
NS2的代码的完整清单作出贡献,研究人员可以在[13]发现。
这些介绍性的在线资源将有助于理解本书中的材料介绍。
在这一章对NS2的引入提供。
尤其是,关于NS2的安装信息是在第2章。
第3章介绍了NS2的目录和公约。
第4章介绍了在NS2仿真的主要步骤。
一个简单的仿真例子在第5章。
最后,在第.8章作总结。
2安装
NS2的是一个免费的模拟工具,它可以从[9]获得。
它运行在包括UNIX(或Linux),不同平台的Windows和Mac系统。
在Unix环境下开发作为无须感到惊讶,NS2的具有流畅的骑在那里,它的安装也是如此。
除另有规定外,在这本书的讨论是基于Cygwin的(UNIX的仿真器)系统启动Windows操作系统。
NS2的源代码分布在两种形式:
所有功能于一身的套件和组件明智的。
随着一包中的所有程序,用户得到的所有可选组件以及一些必需的组件。
这基本上是一个为初学者首选。
这个软件包提供了一个“安装”脚本配置NS2的环境,并创建NS2的可执行文件使用“make”工具。
当前all-in-one套包括下列主要的组件:
•NSrelease,
•Tcl/Tkrelease8.4.13,
•OTclrelease
•TclCLrelease.
以下是可选项内容:
•NAMrelease:
:
NAM是一种模拟动画的网络的工作和包的工作。
•Zlibversion1.2.3:
这是配合NAM的需求文件。
•Xgraphversion:
这是一种数据为了计划依照互动按钮,选择打印、放大、显示等选项。
该组件的想法是明智的做法,以获取上述件和安装他们的个人。
此选项保存downloadingtime和大量内存空间。
但是,它可能是麻烦的初学者,因此只对有经验的用户推荐。
安装一套ns2的all-in-one在unix-based系统
全在一套房可以安装在基于Unix的机器,只需运行安装脚本并按照指示的地方。
唯一的要求是一个用C++编译器的计算机上安装。
下面的命令显示如何所有功能于一身的NS2的套件可以安装和验证,分别是:
shell>./install
shell>./validate
验证NS2的涉及只运行一个脚本thatverify工作已安装的组件的基本功能的数目。
安装一套ns2的all-in-one在Windows系统
要运行基于Windows的操作系统,是位NS2的调整是必需的。
基本上,这个想法是使基于Windows的计算机模拟的类Unix环境的功能。
一个受欢迎的节目,它执行这项工作是在得到Cygwin的工作,作为基于Unix的安装同样的程序可以遵循。
为了便于安装,它是建议所有功能于一身的包使用。
在基于Windows的安装的详细描述可在NS2中的Wiki网站的在线[9],其中对安装后的故障信息也可以找到。
注意默认情况下Cygwin不安装必要所有的包裹跑NS2。
用户需要手动地安装在表显示的加法包裹。
表运行ns2需要的安装包
CategoryPackages
Developmentgcc,gcc-objc,gcc-g++,make
Utilspatch
X11xorg-x11-base,xorg-x11-devel
3目录和公约
ns2是安装在目录中的数字显示。
图的目录结构的目录。
在这里,目录是在一级水平。
在第二季目录包含类tclcl(例如,Tcl,tclobject,tclclass)。
所有ns2模拟模块在目录在第二级。
此后,我们会参考的目录,如。
18ns
tcl的对象,因此,与实例变量的程序,例如,指令,C是与对象变量和函数。
•尽管他们大不相同,条款“OTcl”and“interpreted”可互换使用。
同样,整个“C++”和“编译的”可交换使用。
这些术语可以用作形容词来表示域。
例如,otcl变量,并把变量指的变量中,解释hierarchy。
相似地两个“C”指的是编译功能和功能的已编译功能。
此外,我们会参考C编译器和解释器otcl是编译器和解释器。
•一个“MyClass”对象是一种速记为对象的类开始了。
一个“MyClass”指针是一种速记的指针指向一个对象的类开始了。
比如说呢,基于这些报表,队列q和包P,“q”和“p”队列对象和包指针分别地。
同时,进一步假设类目标类和其他类源于阶级MyClass。
然后,一个MyClass对象是指任何对象的关联,是从类MyClass及其派生类(即目标类和其他类)。
•对象实例的关联,是从C类和otcl类。
然而,这本书用这些换两个术语。
•ns2由两种语言。
假设物体“A”和“B”都写在每一种语言,与另一个。
然后“A”是有“B”的阴影。
同样“B”是有“A”的阴影。
•考虑两个相邻节点,对象(即节点)左边总是发送的数据包对象在右边。
Notations对象的对象称为下游或目标,而反对的说的上游目标。
一般情况下,物体可以有更多的目标。
然而,一包转发必须为这些目标。
从上游的对象的诈骗对象,也是领取包裹,作为新对象。
•大多数的文本在这本书是用普通信件。
ns2代号“此字体类型”.此字体typethe引号略去如果这是清楚的上下文。
例如,模拟器是一个普遍的术语模拟模块ns2,模拟器的目的是物体的模拟类。
•值所含变量是包含着<>。
例如,如果一个变量柄整数位7,<柄>将为7。
•命令提示符或ns2提示用换行使用“>>”
•一类的名字可能是由几个字。
中的所有单词都大写。
一名派生类中的名字命名的父母、斜线字符的解释,(“/”)的困境,而在编制了层次结构的名字命名的基类。
4运行ns2模拟
ns2程序调用
在安装后重新编译和/或(看截面)的可执行乐ns是在后台创建ns2根目录。
:
ns2可以被执行后的环境,从:
>>ns[
其中\u003cfile\u003e和\u003cargs\u003e是可选的输入参数。
如果没有给出参数,该命令将弹出一个NS2的环境,在那里等待NS2的解释从标准输入(即键盘)线按第一个输入参数\u003cfile\u003e是给出命令,将NS2的解释输入脚本\u003c文件(即所谓的Tcl的模拟脚本)根据Tcl的语法。
对于写作的Tcl脚本文件的细节载于附录,输入参数\u003cargs\u003e,各由一个空格隔开,是美联储的TCL文件\u003c文件。
从该文件\u003c文件,输入参数是存储在内置的变量argv中获取(见附录A.1.1条)。
ns2模拟的主要步骤
在ns2模拟方案中有三个关键的原则:
步骤1:
模拟设计
在模拟网络的第一步是设计模拟。
在这一步,用户应确定模拟目的,网络配置和假设,性能的措施,并取得预期的结果类型。
步骤2:
配置并运行仿真
此步骤实现设计第一步骤中。
它由两个阶段组成:
•网络配置阶段:
在这个阶段的网络组件(例如,节点,TCP和UDP)的创建和配置根据模拟设计。
此外,如数据传输事件定在某个时间开始。
•模拟阶段:
这个阶段开始的这是在网络配置相配置的模拟。
这维持了模拟时钟和执行的事件按时间顺序。
这一阶段通常是模拟时钟运行,直到达到一个阈值在指定的网络配置阶段。
在大多数情况下,可以方便地定义一个Tcl脚本文件(例如,\u003c文件)和饲料作为一个NS2的调用的输入参数文件(如一个模拟情景,执行“纳秒\u003c文件”)。
步骤3:
模拟后处理
在这个步骤的主要任务包括核实程序的完整性和评估网络性能的模拟。
虽然第一个任务是称为调试,第二个是通过正确地收集和整理模拟结果(见第13章)。
5一个仿真例子
我们通过一个简单的例子证明一个网络模拟。
再次,模拟过程包括三个步骤。
步骤1:
仿真设计
图显示正在考虑网络的配置。
该网络由five节点n0到n4组成。
在这种情况下节点n0发送恒定比特率(CBR)traffic节点n3,和节点n1传输数据节点n4使用的是file传输协议(FTP)。
这两个带的traffic源已分别交由传输层协议用户数据报协议(UDP)和传输控制协议(TCP)。
NS2,在这两种协议的传输的对象是UDP代理和一个TCP代理,而对接收分别为Null代理和一个TCP接收器代理。
图网络拓扑示例
步骤2:
配置并运行仿真
考虑程序。
此程序会创建一个模拟器实例中线1.它创建跟踪file和一个南跟踪file分别在2-3线和4–5.它定义过程完成中系6–13{}括起。
最后,它节点创建和链接它们在一起分别系14–18及19–24。
模拟器在行1,通过执行新模拟器。
返回的模拟器句柄存储在一个变量,2及4打开文件和,分别,进行写入。
变量myTrace和myNAM分别为这两个的文件file句柄。
3线和5告知NS2分别收集用于定期跟踪和一个南跟踪所有跟踪信息。
该模拟器是创建1行中执行“新模拟器”。
返回的模拟器句柄存储在一个变量2和4打开文件和,分别写。
变数myTrace和myNAM是文件处理这两个文件,分别。
线路3和5NS2的通知,以收集所有跟踪定期跟踪和不结盟运动跟踪,分别资料。
模拟终止前立即调用过程完成{}括起。
在全球的关键字通知Tcl解释器myNAMmyTrace,变量ns是那些在全球范围内(即,到过程以外的defined)的defined。
行8flushes数据包跟踪变量的buffer。
行9–10关闭句柄myTrace和语句关联的文件&从shell环境。
最后,线12告诉退出,代码为NS2。
线路14-18创建节点使用的模拟器whosehandleinstproc节点纳秒。
19-23线连接的双向连接各节点对使用instproc双工链接(型钢DST的体重延误qtype类模拟器,其中src是一个开始节点),dst是一个终止节点,体重是链接带宽,延迟是连结传输延时和qtype是节点之间的src和dst的节点的队列类型。
类似instproc全双工链路{...},线23创建一个单向链接使用类模拟器1instproc单纯链接{...}。
最后,线24套的氮气队列之间的节点和节点N3的队列大小为40包。
下一步,考虑Tcl模拟脚本程序中的第二部分。
UDP连接、CBR源、一个TCP连接和FTP会话创建和配置中系25–30、31–34、35–40和41–42,分别。
行43–47安排离散的事件。
最后,在使用运行{}关联模拟器句柄ns的instproc线48中启动该模拟器。
要创建一个UDP连接,发送UDP和一个接收器中创建空行25日和27日分别。
以一个节点和一个作为输入代理。
程序的第一个NS2程序
#
#CreateaSimulator
1setns[newSimulator]
#Createatracefile
2setmytrace[openw]
3$nstrace-all$mytrace
#CreateaNAMtracefile
4setmyNAM[openw]
5$nsnamtrace-all$myNAM
#Defineaprocedurefinish
6procfinish{}{
7globalnsmytracemyNAM
8$nsflush-trace
9close$mytrace
10close$myNAM
11execnam&
12exit0
13}
#CreateNodes
14setn0[$nsnode]
15setn1[$nsnode]
16setn2[$nsnode]
17setn3[$nsnode]
18setn4[$nsnode]
#ConnectNodeswithLinks
19$nsduplex-link$n0$n2100Mb5msDropTail
20$nsduplex-link$n1$n2100Mb5msDropTail
21$nsduplex-link$n2$n454Mb10msDropTail
22$nsduplex-link$n2$n354Mb10msDropTail
23$nssimplex-link$n3$n410Mb15msDropTail
24$nsqueue-limit$n2$n340
#CreateaUDPagent
25setudp[newAgent/UDP]
26$nsattach-agent$n0$udp
27setnull[newAgent/Null]
28$nsattach-agent$n3$null
29$nsconnect$udp$null
30$udpsetfid_1
#CreateaCBRtrafficsource
31setcbr[newApplication/Traffic/CBR]
32$cbrattach-agent$udp
33$cbrsetpacketSize_1000
34$cbrsetrate_2Mb
#CreateaTCPagent
35settcp[newAgent/TCP]
36$nsattach-agent$n1$tcp
37setsink[newAgent/TCPSink]
38$nsattach-agent$n4$sink
39$nsconnect$tcp$sink
40$tcpsetfid_2
#CreateanFTPsession
41setftp[newApplication/FTP]
42$ftpattach-agent$tcp
#Scheduleevents
43$nsat"$ftpstart"
44$nsat"$cbrstart"
45$nsat"$ftpstop"
46$nsat"$cbrstop"
47$nsat61"finish"
#Startthesimulation
48$nsrun
基于案例推理的源线31中创建。
它被连接到一个UDP代理udp线32。
基于案例推理的连接数据包大小和代率都分别设置为1000字节和2Mbps。
同样,一个FTP会话句柄线41中创建并连接到一个TCP代理tcp线42。
步骤3:
仿真模拟Processing–Packet跟踪
数据包跟踪记录过程模拟中的数据包跟踪的详细信息。
它可以是一个基于文本的数据包跟踪和南数据包跟踪到类库。
基于文本的基于数据包跟踪文本的数据包跟踪记录数据包通过网络检查点(例如,节点和队列)的详细信息。
通过运行上面的仿真获得的基于文本的跟踪的一部分如下所示。
...
+12tcp1040-------2512
+12tcp1040-------2613
-12tcp1040-------2512
-12tcp1040-------2613
r02cbr1000-------128
+23cbr1000-------128
-23cbr1000-------128
r02cbr1000-------139
+23cbr1000-------139
-23cbr1000-------139
r23cbr1000-------106
r12tcp1040-------2310
+24tcp1040-------2310
-24tcp1040-------2310
r23cbr1000-------117
r12tcp1040-------2411
...
6总结
本章介绍了网络仿真(第2版),NS2的。
特别是,信息对NS2的两个Unix和Windows系统的安装提供。
NS2的基本架构的描述。
这些材料是必不可少的理解NS2中作为一个整体,将有助于获得一开始NS2的工作。
NS2包含OTcl和C++。
C++对象映射到使用TclOtcl句柄。
要运行模拟,用户需要定义Tcl仿真中的网络方案,并作为一个可执行文件filens的输入源此脚本。
在该的模拟过程中可通过基于文本的跟踪或跟踪南收集数据包跟踪信息。
后在的仿真程序AWK或perl程序可用于分析基于文本的跟踪文件。
该程序在另一方面利用重播网络模拟动画跟踪文件。
使用NS2的模拟包括三个主要步骤。
首先,模拟设计可能是最重要的一步。
在这里,我们要明确指定目标和模拟的假设。
第二,配置和运行模拟实现第一步骤中设计的概念。
此步骤还包括配置模拟方案和运行模拟。
一个模拟的最后一步是为了收集模拟结果和跟踪模拟必要。
NS2主要是用C++编写,采用可编译源代码链接,创建的对象文件,并创建一个可执行文件filens使实用程序。
因此在默认描述符file生成文件中的指令specified。
实用程序提供了一个简单的方法,将新开发的模块合并到NS2。
然后发展一个C++源代码,我们只是将对象file名称添加到此的依存,然后重新运行。
1Introduction
NetworkSimulator(Version2),widelyknownasNS2,issimplyaneventdrivensimulationtoolthathasprovedusefulinstudyingthedynamicnatureofcommunicationnetworks.Simulationofwiredaswellaswirelessnetworkfunctionsandprotocols.,routingalgorithms,TCP,UDP)canbedoneusingNS2.Ingeneral,NS2providesuserswithawayofspecifyingsuchnetworkprotocolsandsimulatingtheircorrespondingbehaviors.
Duetoitsflexibilityandmodularnature,NS2hasgainedconstantpopularityinthenetworkingresearchcommunitysinceitsbirthin1989.Eversince,severalrevolutionsandrevisionshavemarkedthegrowingmaturityofthetool,thankstosubstantialcontributionsfromtheplayersinthefithesearetheUniversityofCaliforniaandCornellUniversitywhodevelopedtheREALnetworksimulator,1thefoundationwhichNSisbased1995theDefenseAdvancedResearchProjectsAgency(DARPA)supporteddevelopmentofNSthroughtheVirtualInterNetworkTestbed(VINT)project[9].2CurrentlytheNationalScienceFoundation(NSF)hasjoinedtherideindevelopment.Lastbutnottheleast,thegroupofresearchersanddevelopersinthecommunityareconstantlyworkingtokeepNS2strongandversatile.
Again,themainobjectiveofthisbookistoprovidethereaderswithinsightsintotheNS2architecture.ThischaptergivesabriefintroductiontoNS2.NS2Beginnersarerecommendedtogothoroughthedetailedintroductoryonlineresources.Forexample,NS2officialwebsite[10]providesNS2sourcecodeaswellasdetailedinstallationinstruction.Thewebpagesin[11]and[12]areamonghighlyrecommendedoneswhichprovidetutorialandexamplesforsettingupbasicNS2simulation.AcomprehensivelistofNS2codescontributedbyresearcherscanbefoundin[13].Theseintroductoryonlineresourceswouldbehelpfulinunderstandingthematerialpresentedinthisbook.
InthischapteranintroductiontoN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 外文 参考文献 译文 原文