已阅读5页,还剩54页未读, 继续免费阅读
(计算机软件与理论专业论文)基于网络仿真技术的网络性能研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
堕玺鎏士;堡盔兰鎏土耋j 兰兰銮 摘要 网络规划设计的关键之一是建立网络的优化模型。对网络进行优化需要 对网络性能进行分析,目的是在网络建设开始之前,就可以有效地设计、模 拟网络的运行环境,在网络实施之前就能获得网络的性能指标,以便优化网 络结构、提高网络性能、节省用户投资。网络性能的分析与评价是网络建设 的前提,也是进行网络规划不可缺少的一个步骤。 随着计算机技术的发展,网络仿真已经成为一种分析复杂系统的有效工 具,成为网络设计和网络性能评价的一项重要工作。作为网络研究方法之一 的网络仿真方法,其应用范围较多的局限于协议仿真,而运用仿真技术进行 系统性能指标分析、辅助网络设计、建设等各阶段工作所作的努力还不够。 n s 2 具有强大的网络仿真功能,它既可以对实际存在的大型网络进行网 络性能测试,也可以对已经设计好但还没有组建的网络进行性能测试,从而 对网络性能进行最大限度的优化。 本文的主要内容分三个部分: 首先介绍了网络性能分析、评价的一般方法及常用的定量研究工具。 其次分析了n s 一2 基本架构、实现规则和常用模块功能,包括研究各组 件之间的相互关系和n s 2 的仿真工作细节。 最后应用网络仿真方法对几个典型的网络性能指标进行仿真测量,通过 研究仿真数据,给出网络性能评价。具体内容为:第一,归纳应用网络仿真 进行网络仿真设计的方法;第二,运用该方法对三种典型的网络拓扑结构进 行网络仿真实验,包括网络仿真模型的设计、仿真程序的编写、网络性能参 数的获取;第三,对仿真结果进行处理分析,比较不同的网络拓扑结构对网 络性能的影响,给出网络性能评价。 关键词:网络性能分析与评价;网络仿真:网络拓扑;n s 2 哈尔滨工榉大学硕十学位论文 - _ _ _ - _ _ _ _ _ _ _ _ - _ _ - _ _ _ _ - _ _ _ _ _ - _ _ - _ _ - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - _ _ - - _ i i l a b s t r a c t o n eo ft h ek e y so fn e t w o r kp l a n n i n ga n dd e s i g ni sa no p t i m i z a t i o nm o d e l w h i c hi ss e tu pt h en e t w o r k 0 p t i m i z i n gt h en e t w o r kn e e da n a l y z et h en e t w o r k p e r f o r m a n c e s ,t h ep u r p o s ei s w ec a ne f f e c t i v e l yd e s i g n ,s i m u l a t i o nr u n n i n g e n v i r o n m e n to fn e t w o r kb e f o r eb e g i n n i n gi nn e t w o r k i n g ;o b t a i nt h en e t w o r k p e r f o r m a n c e sb e f o r et h en e t w o r ki m p l e m e n t si no r d e rt oo p t i m i z et h es t r u c t u r eo f n e t w o r k ,i m p r o v en e t w o r kp e r f o r m a n c e ,s a v eu s e r st om a k et h ei n v e s t m e n t a n a l y s i sa n da p p r a i s a lo f n e t w o r kp e r f o r m a n c ea r ep r e r e q u i s i t e so ft h en e t w o r k ; c a r r yo na ni n d i s p e n s a b l es t e po f n e t w o r kp l a n n i n gt o o w i t ht h ed e v e l o p m e n to fc o m p u t e rt e c h n o l o g y , n e t w o r ks i m u l a t i o nh a s a l r e a d yb e c o m ea ne f f e c t i v et o o lt oa n a l y z et h ec o m p l i c a t e ds y s t e m sa n da n i m p o r t a n tw o r ko fn e t w o r kd e s i g na n da p p r a i s e dt on e t w o r kp e r f o r m a n c e s a so n e o ft h em e t h o d so fr e s e a r c h i n gi nn e t w o r k ,n e t w o r ks i m u l a t i o n s r a n g eo f a p p l i c a t i o ni sc o n f m e dt oa g r e e m e n ts i m u l a t i o n ,b u tt h ee f f o r t sa r e n ts t i l le n o u g h i na n a l y z eo fs y s t e m a t i cf u n c t i o ni n d e x ,a u x i l i a r yn e t w o r k d e s i g n ,e v e r ys t a g e so f c o n s t r u c t i o n n s - 2h a sas t r o n gf u n c t i o no fn e t w o r ks i m u l a t i o n i tc a nt e s t n e t w o r kp e r f o r m a n c ea n dc h a r a c t e r i s t i cf o rl a r g e s c a l en e t w o r k e x i s t i n ga c t u a l l y , a n da l s oh a v et h ef u n c t i o nt e s tf o rt h en e t w o r kw h i c hh a sa l r e a d yd e s i g nb u td o e s n o ts e tu py e t ,t h u sc a r r yo nm a x i m u m o p t i m i z a t i o nt on e t w o r kp e r f o r m a n c e t h em a i nc o n t e n th e r e i ni sd i v i d e di n t ot h r e ep a r t s : f i r s to fa l l ,t h eg e n e r a lm e t h o do fa n a l y s i sa n da p p r a i s a lo fn e t w o r k p e r f o r m a n c ea n dq u a n t i t a t i v er e s e a r c ht o o lc o m m o n l yu s e di n t r o d u c e d n e x t ,n s - 2s t r u c t u r e ,i m p l e m e n t a t i o nr u l ea n dd a i l ym o d u l ef u n c t i o nw e r e a n a l y z e d ;t h er e l a t i o n s h i p sb e t w e e nt h em a i no b j e c t sa n ds i m u l a t i o nw o r k i n g d e t a i l so f n s 2w e r er e s e a r c h e d i nt h eu p s h o t ,a p p l yt h es i m u l a t i o nm e t h o do ft h en e t w o r kt om e a s u r es e v e r a l t y p i c a ln e t w o r kp e r f o r m a n c em e t r i c s ,t h r o u g hr e s e a r c h i n gt h es i m u l a t i o nd a t a ,t h e 哈尔滨 :程大学硕士学位论文 e s t i m a t i o no fn e t w o r kp e r f o r m a n c ei sp r o v i d e d t h ec o n c r e t ec o n t e n ti s :f i r s t l y , t h em e t h o do fn e t w o r kt o p o l o g i c a ld e s i g nu s i n gn e t w o r ks i m u l a t i o nt e c h n o l o g yi s s u m m a r i z e d s e c o n d l y , u s et h i sm e t h o dt oc a r r yo ng a es i m u l a t i o ne x p e r i m e n to f t h en e t w o r kt ot h r e ek i n d so ft y p i c a lt o p o l o g i c a ls t r u c t u r eo fn e t w o r k ,i n c l u d i n g d e s i g n i n gt h es i m u l a t i o nm o d e lo fn e t w o r k ,w r i t i n gt h ep r o g r a mo fs i m u l a t i o n , o b t a i n i n gt h en e t w o r kp e r f o r m a n c em e t r i c s t h i r d l y , d e a lw i 也a n da n a l y z et h e s i m u l a t i o nr e s u l t ,c o m p a r e dw i t ht h ei n f l u e n c ed i f f e r e n tt o p o l o g i e st on e t w o r k p e r f o r m a n c e ,g a v et h ea p p r a i s a lo f n e t w o r kp e r f o r m a n c e k o y w o r d s :a n a l y s i sa n da p p r a i s a lo f n e t w o r kp e r f o r m a n c e ,n e t w o r ks i m u l a t i o n , n e t w o r kt o p o l o g y , n s - 2 哈尔滨工程大学 学位论文原创性声明 本人郑重声明:本论文的所有工作,是在导师的指 导下,由作者本人独立完成的。有关观点、方法、数据 和文献的引用已在文中指出,并与参考文献相对应。除 文中已注明引用的内容外,本论文不包含任何其他个人 或集体已经公开发表的作品成果。对本文的研究做出重 要贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 作者( 签字) :塾 日期:埘6 缉;月1日 1 1 引言 第1 章绪论 随着i n t e m e t 的应用领域和应用规模的快速增长,一方面需要改进网络 的协议和算法,进行新的网络协议和算法开发,以提高网络的基础技术支持, 另一方面,还需要合理分配和利用已有的网络软硬件资源,进行系统化的网 络规划与设计,解决由于网络复杂性带来的问题。网络规划设计的关键之 一是建立网络的优化模型。对网络进行优化需要对网络性能进行分析,目的 是在网络建设开始之前,就可以有效地设计、模拟网络的运行环境,在网络 实施之前就能获得网络的性能指标,以便优化网络结构、提高网络性能、节 省用户投资。 网络性能的分析与评价是网络建设的前提,也是进行网络规划不可缺少 的一个步骤。对网络性能进行分析、评价,获得网络性能的总体情况,可以 评估、鉴定和验收一个现有网络;对一个新的待建网络,其方案的论证也极 大地依赖于如何分析和评价网络的性能。根据用户的业务特点,选择何种拓 扑结构,工作站的个数最多可以有多少个,以及网络应受到哪些限制、扩充 的余地还有多大等等,这些问题都要事先进行一定的理论分析,单凭经验行 事往往会很被动。 源代码开放的网络仿真软件n s 2 ( n e t w o r ks i m u l a t o r2 ) 2 1 是国际上最 广泛的网络性能仿真工具,它是一个面向对象的事件驱动仿真器,既能进行 现有网络元素的仿真分析,又是一个开发新协议、新算法和新功能的工具。 运用仿真软件能够获取特定的网络性能参数,进而可对网络性能进行分析, 网络性能仿真过程和结果可利用可视化图形工具展示出来,使设计者在设计 阶段就能对所设计的网络的性能做出准确的预测,并对其设计进行合理的修 改,选择符合要求的高性价比的优化方案,从而达到改善网络运行状况的目 的。 哈尔滨j 二程大学硕十学位论文 - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - _ _ _ _ _ _ - _ - _ _ _ - - i i - _ _ - 1 2 国内外的研究及应用现状 1 2 1 网络性能分析、评价的国内外研究方法 进行网络性能分析、评价的方法有很多,大致分为定性分析和定量分析 两种。定性分析指的是技术人员根据自己的经验对一个已有或待建的网络进 行大致的性能估计,判断网络配置能否满足用户的需要。这种方法显然不够 准确,常常需要在使用过程中进行动态的调整,以满足用户的需求。定量分 析指的是用数学工具或测量方法找出反映网络性能的定量指标间的数值关系 以及某个或某些指标变化时对网络性能的影响。定量分析能够更精确的反映 网络性能的实际情况,为技术人员设计和规划网络提供了更准确、详细的依 据,使决策更科学。常用的定量分析方法包括数学分析法、实际测量法和计 算机仿真法三种。 数学分析法:数学分析法主要运用数学公式反映网络性能指标问的关 系。只要得到了每一个性能指标的量度与其他量度及影响因素之间的数学表 达式,那么整个网络的性能就可以准确地把握了。这对于网络的设计、优化 具有重要的意义。数学分析方法主要运用概率论、随机过程论和排队论等数 学工具。特别是排队论,是进行网络性能分析的有力武器,因为一个网络系 统往往可以等价为一个排队系统。采用数学分析法,需要为网络建立适当的 数学模型,把一个实际的网络抽象成一个理论上的相对简单又能真实反映网 络情况的模型。这种方法一般对系统的模型有限制,而且模型的分析需要花 费很大的力气去解决复杂的数学问题。建立模型的过程中必须做一些合理的 假设,否则建模是很困难的,且假设不能太多、太牵强,这样会使模型失去 实际意义,而且即使建立了模型,其求解也是非常复杂的,甚至得不到明确 的解析解。 实际测量法:使用软件或专用硬件设备,在现实的网络上实现对网络协 议、网络行为和网络性能的研究,并对网络进行动态数据的收集和统计分析。 目前流行的大多数网络测试软件及设备均属于这种测量方法。其中代表性的 测量软件有g a n y m e d es o f t w a r e 公司的c h a r i o t1 3 1 ,它是最优秀的软件测试工 堕2 j 鎏王堡盔誊翟主耄譬鎏銮 具之一,被全球最大的电信运营商们所采用。此外还有多种网络测试仪器, 包括数据通讯测试仪,网络协议分析仪等等。这种方法的优点是准确性较高, 具有针对性,可以获得更真实的数据,不会丢失重要的详细资料。缺点是成 本较高,重新配置或共享资源更难,运用起来不灵活,不能在网络建立之前 预测网络的性能。 计算机仿真法:应用网络仿真软件对所研究的对象( 例如w e b 应用) 和所 依存的网络系统( 例如i n t e r n e t ) 进行初步分析,自行丌发或选择一个已有的 网络仿真工具,设计一个实际的或理论的网络系统的仿真模型,在计算机上 运行这个模型,并分析运行的输出结果。仿真法很灵活,可以根据需求设计 所需的网络模型,以用相对很少的时间和费用了解网络在不同条件下的各种 特性,获取网络研究的有效数据,从而选出最佳方案,而不必去构造实际的 系统。缺点是受软硬件资源的限制,无法同时展现现实网络的全部特性。仿 真方法适用于网络协议研究、网络性能研究和网络设计。 1 2 2n s 2 国内外研究概述 国外对虚拟网络实验的研究已有一段时间,比较全面和通用的网络仿真 工具是由美国国防部高级研究计划局( d a 融 a ) 立项,南加利福尼亚劳伦斯 伯克利国家实验室( l b n l ) 、加利福尼亚的伯克利大学( u cb e r k e l e y ) 、美 国施乐公司的p a l oa l t o 研究中心( x e r o xp s r c ) 和南加利福尼亚信息科学院 ( u s c i c i ) 联合设计的网络仿真器n s 2 。目前正以n s 2 为引擎,开发一 个虚拟互联网络测试平台系统v i n t ( v i t u a li n t e r n e t w o r kt e s t b e d ) f 4 】,提供 给专业网络设计人员作为网络性i i i i 试工具,目前已在2 0 0 多家科研机构和 大专院校使用。n s - 2 免费使用并且完全开放源代码,使用者可以根据自己的 需求编写代码,扩充n s 2 的功能,因此备受研究人员关注。作为一个事件 驱动的虚拟试验床,n s 一2 可以提供有线网络和无线网络中链路层及其上层, 精确到数据包的一系列行为的仿真。正如在文献 5 中用其来研究端到端搠塞 控制,在文献 6 中用其来研究能提供q o s 服务的i n t e m e t 组播路由协议,国 内也有一些研究用n s - 2 来进行网络协议的研究,比如在文献 7 用n s 2 来 进行队列管理机制的研究,在文献 8 研究n s 2 中多路径路由选择机制。最 值得一提的是,n s - 2 中的许多协议代码都和真实网络中的应用代码十分相 堕警鎏三:堡盔主堡土耋垡鎏銮 似,其真实性和可靠性高居世界仿真软件前列。 1 。3 课题的目的、意义及工作内容 1 课题的目的、意义 1 ) 本课题主要通过研究网络仿真技术,归纳了网络仿真实验设计的方法, 提出了网络拓扑仿真方案模型,并运用该模型进行网络拓扑结构的仿真,比 较不同的拓扑结构对网络性能的影响,对主要的网络性能参数进行提取和分 析,给出网络评价。由于网络仿真技术的应用范围较多的局限于协议仿真。 而运用仿真技术进行网络性能参数分析、辅助网络设计、建设等各阶段工作 所作的努力还不够。因此该课题对网络设计和网络规划具有一定的现实意义。 2 ) 本文对n s 2 网络仿真软件本身的结构进行较为细致的研究,并对其 拓扑结构仿真实现的细节进行研究。由于n s 2 的复杂性一直以来成为它广 泛应用的最大障碍,它对用户的编程能力,实际网络协议的理解能力要求较 高,而且国际上针对它的完整使用手册目前只有一个英文版本f 9 】,所以希望 能对n s 一2 的初学者们有所帮助,并为网络性能分析方面的仿真研究奠定一 定的基础。 2 工作内容 对网络性能的分析和评价方法进行研究,研究不同方法的优缺点及其适 用的场合,重点研究应用仿真技术对网络性能分析的方法,并提出仿真分析 模型,给出仿真应用实例。 研究n s 一2 开源网络仿真软件的组成与结构,以及其内部网络拓扑仿真 的实现细节。在此基础上探讨与研究基于n s 2 的不同网络拓扑结构下网络 性能仿真实现机制。 本文第2 章主要描述网络性能参数及常用定量研究工具。第3 章主要剖 析了n s 一2 的类结构、组件结构和内部实现细节。第4 章提出应用网络仿真 技术进行网络仿真实验设计的方法:建立网络拓扑结构仿真实验模型,提出 网络拓扑结构仿真方案,具体描述仿真程序,其中包括定义网络参数、生成 仿真对象、仿真退出处理;对仿真结果进行分析比较,得出结论。在结论部 分对本文的主要内容做一个总结,并展望未来的研究方向。 堕警鎏占罂盔兰霉土兰垡笙苎 第2 章网络性能参数及常用定量研究工具 网络性能是对一系列对于运营商有意义的,并可用于系统设计、配置、 操作和维护的参数进行测量所得到的结果。可见,网络性能是与终端性能以 及用户的操作无关的,是网络本身特性的体现,可以由一系列的性能参数来 测量和描述。 2 1 网络性能参数 2 1 1 网络- 陛能参数的概念 对网络性能进行度量和描述的工具就是网络性能参数。目前,i t u 的s g 13 工作组i ”1 和i e t f 的i fp m w g ( p e r f o r m a n c em e t r i cw o r k i n gg r o u p ) 工 作组 i 1 1 分别对网络性能参数的标准化进行了定义,并在不断修改中。 1 f t u - t 定义的l p 网络性能参数 1 2 1 i t u t 对i p 网络性能参数的定义包括如下: 1 ) i p 包传输时延( i p t d ,i pp a c k e tt r a n s f e rd e l a y ) :i p 包传输时延是 为成功i p 包传送结果和错误i p 包传送结果而定义的。i p 包传输延迟的值为 l 。一l 。,其中l 。为包传输的起始时间,l 。为包到达目的端时间,一般 来说t e 。 l 。,l 。一1 0 o ,x 0 概率分布函数为: f ( x ) = 1 一e “ 指数函数具有无记忆性( 或马尔科夫无后效性) 2 泊松过程 12 哈尔滨i :程大学硕十学位沧文 - _ i i i i _ - _ _ _ _ - - - _ _ _ 泊松过程是最基本的到达过程,泊松分布的数学表达式为: e ,f d :熊一 “ k ! 上式表示平均速率到达为九的泊松过程在t 时间间隔中有k 次到达的概 率。可以证明泊松分布的均值和方差均为n 。 泊松过程的到达到达问隔分布函数为: a ( t ) = p ( 至0 达间隔t ) = l - e “ 上式两边对t 求导,可得到到达间隔的概率密度为: a ( t ) = x e m 上式说明了,在一个泊松到达过程中,顾客的到达间隔为指数分布,其 逆定理也成立。 可以证明:m 个泊松过程的合成仍为一个泊松过程,此即泊松合成定理。 2 4 2 排队论 1 概述 排队论是以概率论和随机过程论为基础,专门研究排队系统的行为特性 的一个数学分支。它对排队系统进行抽象,得出其数学描述( 通常是一个数 学表达式) ,为分析排队系统的行为,改善排队系统的性能提供了有力的数学 工具。 一般一个排队系统由三个部分组成:顾客、服务机构和排队队列。顾客 指排队系统的服务对象,在网络中足数据流或数据包;服务机构是若干服务 员组成的处理服务对象的实体;队列是当服务员忙时,暂时得不到服务的顾 客在系统中等候服务而排成的队列,队列可以有多个。 研究排队系统的行为特征,般从以下几个方面入手: 1 ) 顾客来源:分为有限和无限两种。若顾客来源有限但数量相当大,可 近似为无限顾客来源。 2 ) 顾客到达模式:排队系统的服务能力不仅取决于自身,还与顾客到达 的模式有关。直观地说,均匀到达肯定比随机到达等待的时间短。在排队系 统中最常见的顾客到达模式是泊松分布,其到达i 日j 隔为指数分布: a ( t ) = l - e “,九为平均到达速率 堕笙鎏! ;堡厶耋璺土耋笙笙銮 3 ) 服务时间分布:在很多排队系统中,选择服务时间服从指数分布,因 为服从指数分布的随机变量具有马尔科夫性质( 无后效性质) ,即如果一个服 务员正在为一个顾客服务且服务时间服从指数分布,那么为完成这个服务还 要花的时间的期望值与已进行的服务时间无关。 4 ) 最大顾客容量:容量为0 的系统称为丢失系统,即当所有服务人员都 忙时来了顾客,则顾客便会离开系统。一般系统的容量介于0 与无限之间, 若用k 表示,则k 表示系统中最多容纳的顾客数。 5 ) 排队纪律:又称服务规则,即选择下一个顾客服务的原则。常见的有 先来先服务( f c f s ) 、后来先服务( l c f s ) 、随机次序服务、优先级服务等。 排队模型常用肯达尔表示法简记为:a b c k m z 。a 为到达时间分布, b 为服务时间分布,c 为服务员数,k 为系统容量,m 为顾客来源,z 为排队 纪律。一般常取前三项。 2 。l i t t i e 定律 l i t t l e 定律是排队论中应用最广泛的定律之一,适用于各种排队系统。其 数学表达式为:n = k t 这里n 为系统中的平均顾客数,九为顾客平均到达速率,t 为顾客在系 统中的平均等待时间。上式适用于不同的顾客到达模式、服务时问分布、服 务员个数和服务规则。 2 4 3 几个典型的排队模型 1 m g i 模型 m g i 模型表示顾客以泊松到达模式进入系统,具有一般的服务时间分 布,系统中只有一个服务员。下面给出一些结论: 平均等待时间:t w :雩# ; a l 。 平均删饿l w _ 勰: 系统中顾客平均数:l - - :d + 型; 譬j 鎏i _ l - 入兰鎏i :i 盛鎏銮 顾客在系统中的平均耗费h 寸i 可: t 讣嬲; s 是一随机变量,表示服务时问。 系统中的平均顾客数可出p - k 均值公式求得,p - k 公式为: 怍d + 苎鬯:。 2 ( 1 一p ) 2 m m l 模型 m m i 模型表示顾客以泊松到达模式进入系统,服务时阳j 服从指数分布, 系统中的服务员数为一个。 根据泊松到达模式,在- - , 1 , 段时间h 内,有一个顾客进入系统的概率为: x h e “= 柚+ 0 0 1 ) 。说明顾客到达率和系统中的顾客数无关,即九。= 九。同样, 服务速率和系统中的顾客数也无关,即h = p 。系统中没有顾客的概率 p o = l p ,其中p = 2 为服务员利用率。系统中有n 个顾客的概率:只= ( 1 - o ) p “。 系统中的顾客数服从几何分布,平均值为专,方差为百备。顾客在系统 中的平均耗费时间为了丢:万,顾客在队列中的平均等待时间为而p ,平 均队列长度为二。等待时间的分布函数:t w ( o = 1 - p e ( 3 m d l 模型 m d 1 模型与m g l 模型的区别在于每个顾客的服务时阳l 均为固定值 儿,它实际上是m g 1 模型的一个特例。在分组交换网络中,如果分组的长 度取固定值,则服务时间也为固定值,因此一个固定长度分组的网络可以用 一个m d 1 排队模型来表示。 平均等待时问:t - 瓦蠢南; 平均队列长度: l w 。身高; 哈尔滨上程大学硕士学何论文 系统中顾客平均数: l 2 丽p ( 2 - p ) ; 顾客在系统中的平均耗费时间:t = 兰二l 。 2 耻( 1 一p ) 2 5 本章小结 本章主要介绍了网络性能参数的概念、制定原则、选取方法及常用的定 量研究工具,分析了网络性能结构模型及影响网络性能的因素,为应用仿真 技术对网络性能进行分析、评估打下了基础。 第3 章仿真工具n s - 2 的组成与结构 源码开放网络仿真工具n s - 2 是一面向对象的仿真器,用c + + 写成,用 o t e l 解释器作前端。在n s 一2 软件中二者协同工作,共同完成一个任务。其 中包括o t c l 语言、网络模块、调度模块和网络仿真四部分组成,o t c l 语言 与c + + 分层结构是n s 2 的软件结构,也是其特色。网络模块是其主体部分, 并具有可扩展性。凋度模块是其总控模块,控制仿真的推进。网络仿真根据 网络编写脚本,对网络进行仿真。n s 2 对网络的仿真实现基本是按照网络协 议分层模型来实现的,由低到高的层次顺序为:离散事件调度、网络拓扑( 结 点、链路) 、路由、传输层和应用层。n s 2 中建立了一些n o d e 、a g e n t 等类, 通过这些模块仿真网络层、传输层和应用层实体,构建网络仿真的模型。 3 1n s - 2 类结构 n s 2 采用分层软件模型,内核使用高效的编译型c + + 语言,而外壳使用 o t c l 脚本语言f 19 】;内核完成数据处理任务,外壳完成配置、控制任务。n s 2 中提供了一中间层机制,编程者只要调用n s 2 提供的接1 2 函数就可以,不 必了解o t c l 库函数的调用细节。这些软件存放在n s 2 2 8 t c l c l 子目录下。完 成仿真的主程序存放在n s 2 2 8 k n s w i n 子目录下。 中间层由6 个主要的类组成即】。它们是c l a s s t e l ,c l a s st c l o b j e c t ,c l a s s t c l c l a s s ,c l a s st c l c o m m a n d ,c l a s se m b e d d e d t c l 和c l a s si n s t v a r 。它们构成 n s - 2 的底层结构,其它类都是它们的子类,以下介绍其功能。 1 类t c l 提供与o t c l 交互的方法。它提供指向前端解释器的指针,调用解释器执 行一o t c l 命令的方法,将结果字符串从c + + 传给前端解释器和从前端解释 器传给c + + 的方法。 获取类t c l 的实例的指针:t c l & t c l = t e l :f i n s t a n c e f ) ; 执行一o t c l 命令t c l 类提供4 个函数接口,这些函数最终调用t c l 语 哈尔滨一l 科人学硕士学位论文 _ i i ii i 言提供的库函数t c lg l o b a l e v a l ( ) ,通过该函数执行指定的o t c l 命令。传送 结果提供一函数接口将结果字符串传到解释器,另一函数接口取解释器的结 果字符串。 2 类t c i o b j e c t 该类是解释环境与编译环境中其它类的基类,该类的每个对象都是用户 在解释环境下建立的,并在编译环境下建立与其映射的对象,这二个对象一 一对应,类t c l c l a s s 实现二者的映射。该类主要完成3 个任务,创建互相l | 兜 射的对象,绑定两对象的变量,扩展o t c l 命令。 3 类t c l c l a s s 该类是为解决o t c l 类层次与c + + 类层次一一映射而设计的类,它是一 纯虚类,其所有子类都是静态类,只提供两个函数,一为构造函数,定义一 静态对象,一为c r e a t e 函数,c r e a t e 函数创建一t c l o b j e c t 对象。作用举例说 明: s t a t i cc l a s su d p a g e n t c l a s s :p u b l i ct c l c l a s s p u b l i c : u d p a g e n t c l a s s ( ) :t c l c l a s s ( “a g e n t u d p ”) ) t c l o b j e c t + c r e a t e ( i m ,c o n s tc h a r + c o n s t + ) r e t u r n ( n e wu d p a g e n t ( ) ) ; c l a s s _ u d p _ a g e n t ; ) 因是静态对象,在编译时创建,进入n s 2 时,该对象已经存在,当在 o t c l 中创建一对象时,o t c l 中n e w 过程创建一o t c l 对象,由上文知最终会 调用到c r e a t es h a d o w 函数,该函数有一句p - c r e a t e ,便调用到此c r e a t e 函数, 就动态地建立了一个t c l o b j e c t 类对象,二个对象是一一映射。这样动态地 实现了对象的创建与映射。 4 类t c l c o m m a n d 该类用来扩展单独的o t c l 命令,即不与对象关联的命令。这些命令被单 独使用。例如:n s - v e r s i o n 命令。扩展这种命令很简单,只需在m i s c c c 文件 中,添加你所定义的类。添加时,参照m i s t c c ( h a s 2 2 8 c o m m o n ) 文件中其 它类的格式,在构造函数中定义命令名,在c o m m a n d 函数中实现命令,最后 1 8 哈尔滨1 :程大学硕士学位论文 _ i i 一 i i l 用n e w 语句创建对象。命令名与实现函数的绑定原理为,在t e l c o m m a n d 构 造函数中,利用t e l 库函数t e lc r e a t e c o m m a n d 将命令名与d i s p a t c h - c m d 函 数绑定,d i s p a t c h c m d 函数调用新类的c o m m a n d 函数。库函数 t c lc r e a t e c o m m a n d 原型为: t e l _ c r e a t e c o m m a n d ( t e l _ i m e r p + i n t e r p ,c h a r + c m d n a m e ,t c l _ c m d p r o cp r o c , c l i e n t d a t ac l i e n t d a t a , t c l _ c m d d e l e t e p r o c ,d e l e t e p r o c ) 对应的回调函数的原型为: i n tt e l _ c m d p r o c ( c l i e n t d a t a ,c l i e n t d a t a ,t e l i n t e r p + i n t e r p ,i n ta r g c ,c h a r + a r g v ) 5 类e m b e d d e d t c l 该类用来在c + + 中装入、执行o t c l 脚本。若要在c + 十中执行o t e l 脚本, 首先将脚本文件转换为e m b e d d e d t c l 类的对象,即将文件转为一字符串,作 为对象的数据成员,其次在初始化时,调用e m b e d d e d t c l :l o a d 函数,该函数 利用t e l 类提供的接口函数执行脚本。 举例说明如下: t c l s ht e l e x p a n d t e ln s l i b t e l t c l 2 c + + e t - n s l i b n s _ _ t c l c c t c l s ht c l e x p a n d t c l 程序完成的功能是,若脚本嵌套其它脚本,将嵌套脚 本展开,使脚本中不在含有脚本文件。将文件输出到屏幕。 t c l 2 c + + 将屏幕字符串转为e m b e d d e d t c l 对象,对象名e t a s 1 i b ,这段程 序名为n st e l c c 。n s 2 在初始化时调用它。 6 类i n s t v a r 该类提供将o t c l 对象中的变量与c + + 中的变量绑定的机制。在t c l 语 言中每当产生变量、读、写和删除变量时,都会改写该变量相应的标志。t c l 语言的c 库函数中的t e lt r a c e v a r 函数,用来跟踪一个t c l 变量的标志,并 当指定变量标志发生变化时,触发执行指定函数。库函数t e ls e t y a r 设置t e l 变量,t c l g e t v a r 读取t c l 变量。利用以上三个函数,就可以绑定指定的变 量。首先,在c + + 中也定义一变量,与t c l 中的变量相对应,然后用t c lt r a c e v a r 函数跟踪欲绑定的t c l 变量,指定读、写、删除标志会触发执行指定函数, 而每当读t c l 变量时,就调用t c lg e t v a r 函数,用c + + 变量设置t e l 变量, 每当写t c l 变量时,就调用t c lg e t v a r 函数,用t c l 变量设置c + + 变量。这 1 9 哈尔滨t 程大学硕士学伉论文 样,实现了二者的绑定。 3 2n s 2 网络组件 n s 一2 的网络组件分为基本网络组件和复合网络组件口”。 3 2 1 基本网络组件 n s o b e j c t 是所有基本网络组件的父类,而它本身的父类是t c l o b j e c t 类。 这个类的对象有一个基本的功能,就是处理数据包( p a c k e t ) 。所有的网络组 件可以划分为2 类,即分类器( c l a s s i f i e r ) 和连接器( c o n n e c t o r ) ,它们都 是n s o b j e c t 的直接子类,也是所有基本网络组件的父类。 1 分类器:c l a s s i f i e r 是n s 一2 基本网络组件的一个大类。它的基本派生 类有地址分类器( a d d r c l a s s i f i e r ) 、多播分类器( m c a s t c l a s s i f i e r ) 、多路分类 器、哈希分类器和复制器( p o r t c l a s s i f i e r ) 等。分类器的特点是基于分类器 的基本网络组件具有1 个或多个可能的数掘输出路径,属于交换( s w i t c h ) 设备。( 对应来说,连接器c o n n e c t o r 只有一个数据的输出路径) 。 2 连接器:c o n n e c t o r 是n s 一2 基本网络组件中的另一个大类。它的基 本派生类包括缓冲队列( q u e u e ) 、延迟( d e l a y ) 、各种产生和处理资料包的 代理( a g e n t ) 和对象的跟踪器( t r a c e ) 。 连接器的特点是基于连接器的基本网络组件只有个可能的数据包输出 的路径,即单进单出的管道,所以叫c o n n e c t o r ,和分类器有1 个或多个可能 的数据包输出路径( s w i s h ) 是不问的。 3 2 2 复合网络组件 网络复合组件主要有n o d e 、l i n k 及a g e n t 筹。 1 n o d e 类 拓扑结点( n o d e ) 是由若干个分类器( c l a s s i f i e r ) 组成的一个复合对象。 路由、传输层、应用层的模型都以a g e n t 的形式存在,附着在结点上实现其 功能。网络结点的功能是分配数据包,n s 2 的单播结点由一个a d d r c l a s s i f i e r 和一个p o r t c l a s s i f i e r 构成,a d d r c l a s s i f i e r 分析数据包的目的地址,并将其转 发到相应的链路,p o r t c l a s s i f i e r 将数据包转到相应的代理,见图3 1 。 2 0 譬2 :鎏三鲞盔兰鎏土誊皇鲨銮 n e t w o r kt o p o l o g y - n o d e 。c p 9 彤毪 图3 1 结点结构 建立网络拓扑的第一步就是建立网络结点,命令为:s n sn o d e 。怠o 建一 个n o d e 结点时,共创建三个对象,第一个对象标志n o d e 本身,第二个对象 是地址分类器,它与路由模块关联,包含一个指示使用何种路由计算模块的 指针,它有许多出口,作为数据包的输出端口,n s 。2 中的路由计算就是为地 址分类器中的出口赋值,使其指向相应的链路,第三个对象是一端口分类器, 端口分类器有许多出口,指向a g e n t 对象。刨建时,端口分类器入口自动挂 在地址分类器的第一个出口上。n o d e 结点入口是地址分类器,数据包进入 n o d e 后,就进入了地址分类器,若是到本结点的,从第一个出口进入端口分 类器,再进入相应的a g e n t ,若不是到本结点的,按目的地址为其寻找出口, 通过不同的出口进入通往目的结点的链路。 n s 2 中n o d e 的操作命令可分为4 类。控制功能、地址和端口管理、点 到点路由功能、代理管理和添加邻居。 1 ) 控制功能 $ n o d ee n t r y 返回n o d e 对象的入口对象,对单播结点而言,通常是某种 a d d r c l a s s i f i e r 。 2 ) 地址和端口管理,点到点路由功能 $ n o d ei d 返回n o d e 对象标志号 $ n o d ea g e n tp o r t 返回与指定端口的相连的代理 3 ) 代理管理 $ n o d ea t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 针制作工岗前工作实操考核试卷含答案
- 烷基苯装置操作工岗前前瞻考核试卷含答案
- 供排水泵站运行工诚信道德模拟考核试卷含答案
- 脱酚工岗前技术评优考核试卷含答案
- 柠檬酸原料粉碎工成果转化评优考核试卷含答案
- 混凝土模具工安全技能测试知识考核试卷含答案
- 2026 三年级上册《课堂交际口语表达》课件
- 桌游竞技活动免责协议书
- 2026年环卫工人道路作业安全防范知识考试
- 2026年中国邮政储蓄银行风险控制知识考核
- GRR标准表格-偏倚
- 房产销售管理公司章程(五)标准范本
- 医师执业变更执业多机构备案申请审核表
- YS/T 633-2015四氧化三钴
- 人教版高中物理选择性必修第三册第一章教案学案
- GB/T 19582.2-2008基于Modbus协议的工业自动化网络规范第2部分:Modbus协议在串行链路上的实现指南
- GB/T 13810-2007外科植入物用钛及钛合金加工材
- 纳米材料的力学性能课件
- 2.3二次函数与一元二次方程、不等式
- YB∕T 4645-2018 重型设备钢丝预应力缠绕组合施工及验收规范
- 高中作文之“责任和担当”素材
评论
0/150
提交评论