




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖北工业大学硕士学位论文 摘要 随着计算机技术的发展,网络仿真技术己成为进行网络研究的重要方法。网 络协议仿真是网络仿真内容的一部分,它利用仿真软件来模拟网络协议进行科学 实验,具有经济、可靠、安全、灵活、可多次重复使用等优点。源代码开放的网 络仿真软件n s - 2 ( n e t w o r k s i m u l a t o r2 ) 是国际上广泛使用的网络仿真工具,它是一 个面向对象的事件驱动仿真器,既能对现有网络元素进行仿真分析,又适合于开 发新的协议、新算法和新功能。 近年来,互联网规模迅速增长,拥塞已经成为一个十分重要盼问题。在互联 网中使用的拥塞控制算法对于互联网的稳定性具有十分重要的意义。拥塞控制算 法分为源算法和链路算法两大类,目前,在源算法方面,大量的工作集中在对t c p 协议的研究上,链路算法的研究则主要集中在主动式队列管理方面。 本文首先介绍了网络仿真技术和原理,接着重点分析了网络仿真软件n s - 2 的 结构、组成和特点,以及用n s 2 进行网络仿真的过程。在网络控塞控制方面,本 文详细分析了t c p 中的拥塞控制机制、典型的a o m 算法r e d 及其改进后的算法, 对这几种a q m 算法进行了比较研究。在上述基础上,本文用n s 2 仿真工具对这 几种相关的拥塞控制算法进行了仿真研究,检测其在网络环境中的性能和作用, 通过仿真结果分析出不同的参数配置对拥塞控铜饽车法的影响,这对于在各种不同 的网络状况下如何配置参数有一定的参考意义最后,对论文的工作进行了总结, 并对网络拥塞控制协议的仿真研究进行了展望 关键词。网络仿真,n s - 2 ,拥塞控镪协议仿真 湖北工业大学硕士学位论文 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 e l m o l o g y ,n e t w o r ks i m u l a t i o nl a n sb o 伽ea n i m p o r t a n tm e t h o dt op r o c e e dn c t w o r kr e s e a r c h a sap a r to fn e t w o r ks i m u l a t i o n , o c t w o r kp r o t o c o ls i m u l a t i o ou 淞s i m u l a t i o ns o f t w a r et os i m u l a t ea c t u a ln e t w o r k e n v i r o n m e n tf o rs c i e n t i f i ce x p e r i m e n t s i th a sm a n ya d v a n t a g e ss u c h 勰e c o n o m i c , r e l i a b l ea n d 靶日i l 聆。f l e x i b l e ,a n di t 锄b cu s e dr e p e a t e d l yf o rm a n yt i m e s a st h eo p e n s o u r c ec o d es o f t w a r ef o ri l c t w o r ks i m u l a t i o n , n e t w o r ks i m u l a t o r2i so n eo ft h em o s t c x t c o s i v cu s e dn e t w o r ks i m u l a t i o nt 0 0 1 i ti s 锄0 b i e e l o r i e l l t e d , e v e n t - d r i v e ns i m u l a t o r , a n di tn o to n l yi sau s e f u lt o o lf o rs i m u l a t i o na o a l y s i st oe x i s t i n gn c t w o r kc l e m c o t s , b u t a l s ot h et o o lf o rd e v e l o p i n gn e wp r o t o c o l s n e wa l g o r i t h m sa n dn c , wf u n c t i o n s i nr c n ty e a r s w i t l lt h er a p i dg r o w t ho ft h e $ c a l l bo fi n t c r n e t ,n e t w o r ke o n g e s t i o o h a sb c c o n l eav e r yi m p o r t a n ti s s u e t h ec o n g e s t i o nc o n t r o la l g o r i t l a m st l a a tb eu s e di n i n t e r a c tp l a yav e r yi m p o r t a n tr o l ei nk e c p i n gt h es t a b i l i t yo ft h ei n t c m e t t h e r ea r ct w o p r i m a r yc o m p o n e n t s i n c o n g e s t i o nc o n t r o l :s o u r c ea l g o r i t h ma n dl i n ka l g o r i t h m n o w a d a y s , i n s o i i i c ea l g o r i t h ma s p c c t al o to fw o r kf o c u so i lt h es t u d yo ft h et c p , a n d l i n ka l g o r i t h mr e s e a r c hi sm a i n l yc o n c e n t r a t i n go i lt h ea c t i v eq u e u em a o a g e m c n t 1 1 l i st l a 鹊i si n t r o d a c e st h en f 1 w o r ks i m u l a t i o nt e c l m o l o t ya n dt h e o r yf i r s t l y f o c u s o nt h ea n a l y s i st ot h es t r u c t u r e c o m p o n e n t sa n dc h a r a c t e r i s t i c so fi i c l w o r ks i m u l a t i o n s o f t w a r en s 一2 ,a sw e l l 鹤t h eg e n e r a ls i m u l a t i o np r o c e s s i nn e t w o r kc o n l l o l 笛p e c t ,t h e t h e s i sd e t a i l e da n a l y z e st h ec o n g e s t i o nc o n l x o lm e c h a n i s mi nt c p r e i 卜1 h et y p i c a l a o ma l g o r i t h ma n di t si m p r o v e da l g o r i t h ma r e d ,a n dh a sc o m p a r e dt h e s ea q m a l g o r i t h m s o nt h cb a s eo fa b o v es t u d i e s u s i n gn s 一2s i m u l a t i o n $ o f c w a l r e , s i m u l a t i v e r e s e a r c hh a sb e e nd o n et ot l a c s ec o r r e l a t i v ec o n g e s t i o nc o n t r o la l g o r i t h m si nt h et h e s i s 。 t od e t e c tt l a e a l g o t i t l a m s p e r f o r m a n c ea n dr o l ei no c t w o r kc n v i r o m c n t a c c o r d i n gt o t h es i m u l a t i o nr e s u l t s t h ee f f e c to fd i f f e r e n tp a r a m e t e r si l ln l e s eco n g e s t i o ne o n t z o l a l g o r i t h m s h a sb e e na n a l y z e d 。i th a ss o m eu f u lr e f e r e n c ev a l u eo nh o wt o e o n f i g u r a t ep a r a m e t e r si n1 3 c l e l l a j nn c t w o r kc i r c u m s t a n c e f i n a l l y t h et h e s i sp r o v i d e sa s u m m a r yo fa l ls t u d i e s ,a n dc x l 觥l st h es i m u l a t i o ns t u d yt ot h en e t w o r kc o j a g c s t i o o p r o t o c o l s k e ”v o l l l s :n e t w o r ks i m u l a t i o n , n s - 2 , c o r g e s t i o oc o n t r o lp r o t o c o ls i m u l a t i o n n 佩嘉亡工繁火港 学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作所取 得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经 发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方 式标明。本声明的法律结果由本人承担 学位论文作者签名: 万勇日期:2 0 呷年b b 了日 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留 并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授 权湖北工业大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采 用影印、缩印或扫描等复制手段保存和汇编本学位论文。 学位论文作者签名: 日期:川年6 月 万男 7 日 指导教师签名:钞多南法 日期:2 呻年6 月7 日 湖北工业大学硕士学位论文 第1 章引言 1 1 计算机网络仿真技术与n s - 2 随着计算机网络的发展,网络规模与网络应用飞速增长,网络复杂度不断提 高,这些都对网络的性能评估、协议的开发及测试等提出了新的需求。由于计算 机仿真技术是以系统模型为对象的研究方法,不干扰实际系统并利用计算机快速 计算的能力,用极短的时间模拟实际系统中的较长周期,因此,计算机仿真技术 具有极其重要的应用意义。 网络协议仿真是网络仿真内容中的一部分,它利用仿真软件来模拟实际网络 环境进行科学实验,具有经济、可靠、安全、灵活、可多次重复使用等优点,正 成为对许多复杂网络协议进行分析、设计、试验、评估的重要手段。协议仿真对 协议的性能分析评估、正确性的验证、协议的开发都有着重要的作用。 源代码开放的网络仿真软件n s - 2 ( n e t w o r ks i m u l a t o r2 ) 是国际上广泛使 用的网络性能仿真工具,它是一个面向对象、事件驱动的仿真系统,既能对现有 网络元素进行仿真分析,又是一个开发新协议、新算法和新功能的工具。通过仿 真软件能够获取特定的网络性能参数,进而对网络性能进行分析,网络仿真的过 程和结果可利用可视化图形工具展示出来,使设计者在设计阶段就能对所设计网 络的性能做出准确的预测,并对其设计进行合理的修改,选择符合要求的高性价 比的优化方案,从而达到改善网络运行状况的目的。 1 2 网络拥塞控制的研究现状 随着互联网规模的增长,互联网上的用户和应用都在快速地增长,拥塞已经 成为一个十分重要的问题在互联网中使用的拥塞控制算法对于互联网的稳定具 有十分重要的意义,如果不在互联网中使用拥塞控制算法,拥塞崩溃的发生会严 重降低网络的性能。网络中的拥塞来源于网络资源和网络流量分布的不均衡性, 拥塞不会随着网络处理能力的提高而消除。拥塞控制算法按其实现位置可以分为 源算法( s o u r c ea l g o r i t h m ) 和链路算法o i n ka l g o r i t h m ) 两大类嘲,目前,在拥塞 控制的源算法方面,大量的工作集中在对t c p 协议的研究上近年来t c p 中采用 了很多新的算法,包括慢启动( s l o ws t a r t ) 、拥塞避免、快速重传( f a s t r e t r a n s m i t ) 嘲、快速恢复( f a s tr e c o v e r y ) 、选择性应答( s a c k ) “1 等这些新增 湖北工业大学硕士学位论文 加的算法大大提高了网络传输的性能。链路算法的研究则主要集中在“主动式队 列管理”( a c t i v eq u e u em a n a g e m e n t ,a 伽) 方面“” 最初的t c p 协议只有基于窗口的流量控制( f l o wc o n t r 0 1 ) 机制而没有拥塞控 制机制。1 9 8 8 年j a c o b s o n 针对t c p 在网络拥塞控制方面的不足,提出了。慢启动” 和“拥塞避免”算法,1 9 9 0 年出现的t c pr e n o 版本又增加了“快速重传”。、“快 速恢复”算法,避免网络拥塞不严重时采用慢启动算法而造成过大地减小发送窗 口尺寸的现象。这样t c p 的拥塞控制部分就由这4 个核心部分组成,这些拥塞控 制机制有效地防止了现今网络的拥塞崩溃。 目前链路算法的研究则主要集中在。主动式队列管理”方面。在目前的 i n t e r n e t 上,丢包是对端节点进行拥塞通知的主要机制,与传统的。去尾”算法 不同,主动式队列管理算法自嘴点是在队列满之前就按一定自甘策略进行丢包,这 样端节点便能在队列溢出前对拥塞作出反应。在主动式队列管理算法中,网络中 间节点通过预测网络状态及拥塞的出现,对数据包进行有目的的“主动”丢弃, 从而可以使发送端更及时地了解到网络状况并调整发送速率,从而避免更严重的 网络拥塞。 r e d 是a 伽算法的一个代表,它利用一个加权的平均队列长度( a v g ) 来检测链 路是否发生拥塞以及拥塞的程度,在路由器队列满之前以一定的概率随机地丢弃 一些数据包以通知端系统降低发送速率。r e d 机制的一个主要目标是使用平均队列 长度和拥塞通知来实现低时延和高带宽,相关实验表明它在这方面是成功的。 虽然l l e d 有以上优点,但它同时也存在着缺陷。r e d 对于参数的设置很敏感, 改变参数的设置会对算法的性能产生很大的影响到目前为止,对r e d 中使用的 参数还没有明确的设定方法 由于r e d 算法本身并不能自动调节参数,因此研究人员f e n g 等人提出了一种 自动配置的髓d ( s e l f - c o n f i g u r i n gr e d ) ,它是在r e d 的基础上作了少量改动的 算法,提出了一种自动配置机制,其主要思想是根据网络中负载的不同情况对参 数m a x ,的值进行动态调整,从而获取更好的性能。之后s a l l yf l o y d 等人对自动 配置的r e d ( s e l f - c o n f i g u r i n gr e d ) 算法进行了改进,在保持其基本思想不变盼 情况下,对其作了几处改动,提高了算法本身的鲁棒性,并把这种算法称为 a d a p t i v e 咖,即a 陋d 。这两种改进的算法能够根据网络的拥塞状况自适应地调 节参数嘲而的值,这有利于解决r e d 中参数设置的敏感性问题,但其自身又引入 了新的参数,新参数的设置也存在类似的问题 2 湖北工业大学硕士学位论文 1 3 本文的主要工作 本文的研究工作来源于湖北省教育厅科学研究计划项目。对网络仿真原理、 n $ - 2 网络仿真软件系统、网络拥塞控制协议进行了详细介绍和深入的分析;使用 仿真软件n s - 2 ,对几种相关的拥塞控制算法进行了仿真研究,以检测其在网络环 境中的性能;通过仿真实验结果,分析出不同的参数配置对拥塞控制算法的影啊。 首先介绍了网络仿真技术和原理,接着重点分析了网络仿真软件n s - 2 的结构、 组成和特点,以及用n s 一2 进行网络仿真的过程。 在网络控塞控制方面,本文详细分析了t c p 中的拥塞控制枫铹、典型的a 删算 法r e d 及其改进算法a 旺d ,对这几种a 刚算法进行了比较研究。 在上述基础上,本文用n s 一2 仿真工具对这几种相关的拥塞控制算法进行了仿 真研究,检测其在网络环境中的性能和作用,通过仿真结果分析出不同的参数配 置对拥塞控制算法的影响。最后,对论文的工作进行了总结,并对网络拥塞协议 的仿真研究进行了展望。 3 湖北工业大学硕士学位论文 第2 章网络仿真技术概述 随着计算机网络的飞速发展,网络规模与网络应用呈爆炸性的增长。网络应 用和网络规模的增长对网络的性能评价提出了新的需求,而仿真技术作为性能评 价的重要手段,在各个领域都得到了越来越广泛的应用。特别是随着网络规模的 扩展和网络应用的复杂化,网络仿真技术也遇到了新的挑战。 2 1 计算机系统性能评价的基本方法 系统性能评价的基本方法有两种:测量方法和模型方法,其中模型方法又分为 分析方法和仿真方法“”。如图2 1 所示。 2 1 1 测量方法 性 图2 1 计算机系统性能评价的基本方法 通过一定的测量设备或一定的测量程序可以直接从计算机阿络和计算机系统 测得各项性能指标或与之密切相关的度量,然后经过一些简单的运算由这些测量 值求出相应的性能指标。测量法是最直接也是最基本的方法,其他方法在一定程 度上也要依赖于它。测量时往往需要比较高级的仪器,并且这种方法只能适用于 已经存在并运行的系统,在测量时也比较耗费时问。 2 1 2 模型方法 模型方法与测量方法相比有两个优点:第一,它不仅可以对已有系统进行性 能评价,也可对尚未存在的系统进行性能预测;第二,工作量通常比测量方法小, 费用比测量手段少。 4 法 法 方 方 析 其 撕 钵 。l 法 法 方 方 耆 模 l 能评价基本方法 湖北工业大学硕士学位论文 模型方法又可分为分析方法和仿真方法两种。 分析方法采用数学分析对系统进行简化,建立相应的分析模型,并求出模型 的解析解,由此得出系统的性能指标。 仿真方法是用来设计、执行和验证拥有大量且变化实体所组成系统的一项重 要方法。以网络系统为例,随着通信网络的复杂化,影响网络性能的因素越来越 多,并且互相作用,在这种情况下只考虑单独的节点或特征无法得出正确的结果 因此,仿真模型得到了广泛的使用,并出现了许多仿真软件包。 仿真方法主要用于研究系统方案的可行性,调整系统结构参数,提高系统精 度,预测某项目的前景等方面。为了对复杂系统进行性能评价,往往需要综合应 用测量方法、分析方法和仿真方法。随着计算机技术的迅速发展,仿真方法在以 上三种方法中占有越来越重要的位置,其应用也最为广泛。 2 2 网络仿真技术概述 2 2 1 网络仿真技术的特点 网络仿真是一种利用数学建模和统计分析的方法模拟网络行为,从而获取特 定的网络特性参数的技术。 网络仿真技术有两个显著的特点。 首先,网络仿真能够为网络的规划设计提供可靠的定量依据。网络仿真技术 能够迅速建立起现有网络的模型,并能够方便地修改模型并进行仿真,这使得网 络仿真非常适合于预测网络的性能,回答。州 t i f ”这样的问题倒如: “如果网络扩容,骨干中继链路带宽需要扩大多少? ” 。如果网络上增设新的业务,对网络性能有什么影响? 同络上的哪些链路或 网络设备需要升级和改造? ” “如果网络拟采用新的技术升级,网络的性能会有多大幅度的改善? 这种改 善与投入相比是否值得? 新技术的引进是否会带来负而影响? ” 其次,网络仿真能够验证实际方案或比较多个不同的设计方案。在网络规划 设计过程中经常出现多个不同的设计方案,它们往往是各有优缺点,仅凭主观判 断,很难做出正确的选择,因此如何进行科学的比较和取舍往往是网络设计者们 感到头疼的事。网络仿真能够通过为不同的设计方案建立模型,进行模拟,获取 定量的网络性能预测数据,为方案的验证和比较提供可靠的依据。这里所指的设 计方案可以是网络拓扑结构、路由设计、业务配置等等。 由上可知,网络仿真是一种介于试验和计算之间的技术,它通过建立实际系统 5 湖北工业大学硕士学位论丈 的数学模型并按照相同的运行机理模拟物理系统的动态行为,可以说网络仿真是 一种基于统计计算的模拟试验方法 应该指出,网络仿真技术只是网络规划设计的手段之一,并不能完全取代传 统的网络设计方法,而应该和传统的设计方法结合在一起使用才能够得蛩朦好的 效果。 2 2 2 网络仿真技术与传统的阿络设计方法的关系 经验、试验和计算作为三种传统的网络设计方法,都具有其局限性。网络仿 真技术和这三种方法结合在一起使用,可以弥补它们的不足 表2 1 四种网络设计方法的比较 表2 1 给出了经验方法、试验方法、计算方法和网络仿真这四种方法在可靠 性、实现成本、可实现性和适用的网络规模等四个方面的比较。可以发现,网络 仿真在这些方面基本上是其它三种方法的比较理想的折衷,特别是在大型网络的 规划和设计方面有比较明显的优势。 2 2 3 网络仿真技术的发展及动态 上个世纪8 0 年代中期以后,计算机仿真技术开始越来越多地用于通信网络的 分析和设计,这主要因为在8 0 年代中期以后,通信网络的数量和复杂度迅速增长; 计算机性能显著提高和用于通信阿络的仿真软件趋于成熟,仿真时回大大缩短; 通信网络与计算机的结合日趋紧密“”。 现在通信网络计算机仿真研究的主要内容有: 1 相关理论研究 这些理论包括计算机仿真理论和方法、通信网络基础理论、可靠性及系统工 程、图论、话务工程及规赶l 论、数理统计、计算方法及最优化理论等。 2 模型的研究与建立 模型包括通信网络拓扑结构以及交换节点、链路、业务量、路由、可靠性、 信息流量控制、网络管理、网络效能评估等模型。 3 仿真工具研究及仿真环境建立 6 湖北工业大学硕士学位论文 包括计算机仿真语言研究、专用软件包开发、仿真硬件平台研制、仿真环境 集成等。 4 仿真参数研究 包括仿真参数定义、仿真参数统计数据的收集及分析、各类模型仿真参数的 确定。 5 仿真结果的处理 它包括仿真输出报告形式、输出报告数据分析等。 2 3 网络协议仿真及其主要步骤 阿络协议仿真是网:络仿真内容的一鄙分,主要用于对网络协议进行仿真研究 网络协议仿真的主要内容是协议建模与仿真。 网络协议仿真的一般步骤,如图2 2 所示“。: 睦量墨鲞堑笪塞笪旦堡塑巡 l 匦巫函匡霾匿塑亟囹 i 匝巫囹 l 园圃 i 应夔面堕画耍画 l 匝亟觋 i l 堕塞塑些笙墨盟丝盐坌曰 图2 2 同络协议仿真的一般步骤 1 选择要进行仿真的网络协议。 2 阐明协议的主要内容并进行抽象。在选择了要进行仿真的网络协议后,必 须对协议的内容进行描述归纳,并将其抽象成易于用模型表示的形式。 3 仿真建模。网络仿真建模包括网络建模( 网络设备、通信链路等) 和流量建 模两个部分模拟网络行为是指模拟网络流量在实际网络中传输、交换和复用的 7 湖北工业大学硕士学位论文 过程。网络仿真获取的网络特性参数包括网络全局性能统计量、网络节点的性能 统计量、网络链路的流量和延迟等,由此既可以获取某些业务层的统计数据,也 可以得到协议内部的某些特殊的参数的统计结果。 在离散系统仿真的建模中,主要应根据随机发生的离散事件、代表系统中所 描述主要对象的实体流以及仿真时间的推进机制,按照系统的运行进程来建立模 型。对于连续系统的仿真建模,则主要根据系统内部各个环节之间的因果关系, 系统运行的流程,按一定方式建立相应的状态方程( 差分方程或微分方程) 来进 行仿真建模。 4 数据采集。仿真模型给出了系统仿真的架构,只有在输入正确数据的基础 上,仿真运行才能调动模型内部的逻辑关系和数学关系,进行相应的运算和统计 计算,并给出准确的仿真输出结果。 5 仿真程序的编制和验证。仿真模型只是系统的一种抽象和运行框架,必须 将仿真模型转化成计算机能识别和执行的代码,才能通过计算机进行必要的仿真 实验。仿真程序的验证是指对仿真程序的逻辑和数学关系以及输入输出响应与仿 真模型的一致性所进行的测试和验证通常这种一致性由程序结构和模型要素之 间的对应性来保证。 仿真程序的重点在数据结构设计和工作流程两大部分。 6 仿真模型的运行。在仿真模型已得到确认,仿真程序也经过验证之后,就 可以对仿真模型作正式运行。由于仿真模型中往往包含多种随机变量,每次仿真 运行仅是对系统运行的一次抽样,应用相同的初始条件和输入数据( 包含输入随 机变量) ,作多次独立的重复仿真运行,才能得翌肪真输出响应的统计规律。 7 仿真输出结果的统计分析。对仿真模型进行多次独立重复运行后,可以得 到一系列仿真数据。但是这些数据只是对仿真实验运行过程的数据记录,必须在 此基础上进行必要的统计和分析。 b 湖北工业大学硕士学位论文 第3 章网络仿真软件n s - 2 3 1 网络仿真软件介绍 目前网络仿真软件可以分为高端和低端两类产品。高端产品一般具有复杂的 建模机制、比较完备的模型库、完善的外部接口、强大的功能并能够得到比较可 靠的仿真结果其主流产品大都来自美国公司,例如i x ;b e r k e l e y 的n s 、m i l 3 公 司的o p n e t “。”,c a c i 公司的c o h m r r 等;低端产品一般只有简单的建模机制、较小 的模型库、简单的外部接口,功能单一并且仿真结果的可靠性较差,价位在数百 至数千美元之间,比较知名的产品也大都来自美国,例如s e s 公司的s t r a t e g i z e r 对于不同的仿真软件,其定位不同,采用的仿真技术也有很大差异,因此呈 现出不同的特点,有其各自不同的适用领域。例如,c o m n u t 采用数学分析模拟方 法。仿真效率很高,但是无法得到有关网络和协议细节的结果,因此适用于网络 高层性能的仿真:n i l 3 公司的o p n e t 综合了基于包的建模方法和数学分析的建模 方法,既可以得到非常细节的模拟结果,也可以获得比较快的仿真计算速度;而 u cb e r k e l e y 的n s 则特别适合于各个网络层上的模拟 3 2n s - 2 概述 n s 一2 是美国d a r p 支持的项目v i n r ( v i r t u a li n t e r n e tt e s t e d ) 中的基础和 核心部分。由u cb e r k e l e y ,u s c i s i ,l b l 和x e r o xp a r c 等大学和实验室联合开 发“”。其目的在于建立一个网络仿真平台,为网络研究者提供一系列的仿真工具, 用于网络科研和教学,比如可用来评价现有网络协议的性能,设计和评估新协议, 进行现实中难以实现的大规模仿真实验等。n s 一2 支持大型、多协议的网络仿真, 以及各种类型的网络协议和拓扑结构,与同类网络仿真器相比,能更完善地仿真 网络的各种情况和行为沮2 “。 n s - 2 是由事件驱动的仿真系统,可运行在u n i x 、l i n u x 、w i n d o w s 等多种操作 系统环境中。 n s 一2 具有如下特点: 1 n s 一2 对同一个仿真模型提供不同粒度的仿真,可以对单独一个协议、多种 类型数据流、多协议相互作用等各种网络情况进行不同级别的仿真,不用改变仿 真模型 9 湖北工业大学硕士学位论文 2 有仿真情节产生的功能,使仿真模型自动创建复杂的流量模式、动态事件, 如链路故障等 3 提供了可视化工具,可动画演示整个网络仿真过程,显示数据结果。 4 具有可扩展性 n s 一2 提供的支持包括如下范围。 仿真的网络类型:广域网、局域网、移动通信网、卫星通信同 流量产生模型:t e l n e t 流量模型、f t p 流量模型、c b r 流量模型、实时音频流 量模型、r t p 模型、w e b 流量模型、指数分布流量模型、p a r e t o 分布流量模型。 数学方面支持:随机数的产生、随机变量、积分。 跟踪监测:包类型、队列监测、流监测。 路由:点到点传播路由、组播路由、网络动态路由、层次路由。 3 3n s - 2 软件结构 n s - 2 采用分层软件结构,用两种面向对象的编程语言c + + 和c r r c l 语言描述对 象,这样可以同时满足灵活和高效这两种需求。在网络仿真实现时,低层事件处 理如通过仿真路由器进行包转发这一类的核心任务,需要很高的性能,且不会频 繁地修改,因此使用编译语言c + + 来实现另一方面,协议对象的动态配置和流量 数据源的设置等需要重复调整,在仿真任务中需要经历频繁的修改,因此使用灵 活交互式的脚本语言o t c l 来实现。在实现过程中,控制和数据分离,控制操作为 外壳部分,使用o t c l 实现,数据处理为内核部分,使用c + + 实现。这种分层结构 满足了效率和灵活的需求,但一个任务需要在两个层中分别进行设置和修改,开 发人员必须熟悉两种环境和工具,这增加了软件使用的难度。 n s - 2 的软件结构如图3 1 所示,大致可分为这几部分:t c l ,o r c l ,t c l c l 部 分;e v e n ts c h e d u l e r 部分,n e t w o r kc o m p o n e n t 部分,模拟部分 e v e m s c b e d u l a r 脚 蒯 o t c l 菲 习 图3 1n s 一2 的软件结构 1 0 湖北工业大学硕士学位论文 3 3 1t c l ,o r e i ,t c i c i 部分 t c l 是一种脚本语言,它本身不支持面向对象的编程方法,c r r c l 是对t c l 进 行面向对象的扩充后的语言,它不能单独存在,必须依附于t c l 语言,t c l c l 是 n s - 2 中映射c + + 与o r c l 的中厨软件层。 c r r c l 即o b j e c tt c l ,是对t c l 语言面向对象的扩展,t c l 是t o o lc o m m a n d l a n g u a g e 的缩写,主要包含两个部分:脚本语言和用于解释这种语言的解释器。 该解释器能够很容易地嵌入到应用程序中。t c l 最大自q 1 寺点是能够方便地f 哥其他应 用程序添加t c l 解释器,扩展其他语言配置,完成定制应用程序的任务。使用两 种语言是因为仿真器有两种不同的工作要做,一方面模拟协议的执行细节需要一 种系统编程语言,可高效地在大数据集上操纵字节、包头和执行算法。对于这些 任务,运行速度是重要的;另一方面,大部分网络研究涉及稍微修改配置参数或 快速探索一些场景,在这些情况下,反复时间( 改变模型和再运行) 是重要的,因 为配置只在仿真开始时运行一次,这部分任务的运行时间就不那么重要。c + + 运行 速度快但修改困难,它适合实现协议细节;o r c l 运行速度慢得多,但可快速地交 互式修改,正适合用于对仿真进行配置。通过使用c + + 和o t c l 这两种语言,n s - 2 可满足上述两种需要n s - 2 通过t c l c l 提供了粘合机制,使得对象和变量在两种 语言中都能出现 n s - 2 在c + + 中支持一个类的层次结构( 编译层次结构 ,同时在o t c l 中有一个 相似的类层次结构( 解释层次结构) ,这两个层次结构是相互紧密相连盼,从用户 的角度看,在这两个层次结构的类之何有一一对应的关系。这种层次结构的根为 t c l o b j e c t 。用户在c r r c l 解释器中创建新的仿真对象,这些对象在解释器中实例 化,并在编译类层次结构有一相应的对象。解释层次结构通过类t c l c l a s s 中定义 的方法自动建立起来,用户实例化的对象由类t c l o b j e c t 中定义的方法来作镜像 两个层次类之间的对应关系如图3 2 如示。 i i 湖北工业大学硕士学位论文 图3 2n s - 2 中两个层次类之间的对应关系 3 3 2e v e n ts c h e d u l e r ( 事件调度) 部分 事件调度部分是n s - 2 的总控部分,n s - 2 是一个事件驱动的仿真器,网络仿真 就是不断地处理事件。在仿真开始前,按照网络模拟脚本中的描述生成所有的事 件,按时问顺序捧在事件总表中,仿真开始后,就循环地从事件总表中取出事件, 修改时钟,处理事件 3 3 3n e t w o r kc o m p o n e n t ( 网络基本模块) 部分 网络模块是n s - 2 的主体部分,它由大量的协议模拟模块、基本瞬络行为模拟 模块组成,它实现了对基本网络行为和大量网络协议的模拟 3 3 4 模拟部分 用于编写同络模拟脚本,模拟各种阿络运行,取得仿真结果。 3 3 5n s - 2 系统的层次结构 陋一2 系统内核的层次结构如图3 3 所示。 湖北工业大学硕士学位论文 图3 3n s - 2 的内核层次结构 内核中的大部分模块使用c + + 编写,主要有六种t c l 类,它们是: 1 c l a s st c l :封装了o t c l 解释器实例,向外提供方法( m e t h o d s ) 来访阿解 释器:( 1 ) 获得t c l 实例的一个引用:( 2 ) 通过解释器激活c r r c l 过程;( 3 ) 返回 结果;( 4 ) 报告错误状态;( 5 ) 存储和查找t c l 对象。 2 c l a s st c l c l a s s :把用户通过类t c l o b j e c t 在解释器中创建的类结构映射 到n s 编译类结拇,提供方法来实例化新的对象 3 c l a s si n s t v a r :定义了一些方法和机斜,在编译类结构对象的成员变量 和对应的解释类结构对象的成员变量之间建立映射,使两类变量一致共享。 4 c l a s st c l o b j e c t :是大多数子类的基类。 5 c l a s st c i c o m - m d :提供一种机制使n s 内核向解释器输出简单的命令 6 c l a s sf m b e d e d t c l :允许用户以编译代码或解释代码的方式来扩展n s 功 能 3 4n s 一2 各组成部分 t e l o b j e c t 在类层次结构中处于最高层,所有其他主要的类都从它派生而来, 湖北工业大学硕士学位论文 它有一个静态链表记录了用户创建的所有对象,每一个对象都有一个唯一的标识, 记录了每个对象所属的类名。使用这种公共基类的好处是各种对象可以存储在同 一个链表中,使用对象的函数知道如何处理对象和简单地进行强制类型转换以满 足自己的需要。 1 调度器( s c h e d u l e r ) 调度器是仿真器的中心,它记录当前时间,调度网络事件链表中的事件。它 有一个静态成员变量i n s t a n c e ,供所有的类访问i 哥一个调度器,提供函数产生新 事件,指定事件发生的时间。 2 事件和t c p 分组( e v e n t & t c pp a c k e t ) 事件表示仿真器产生的实际事件,包括事件产生的时间,处理事件的事件处 理器。派生了两个类:p a c k e t 和a t h a n d l e r 。使用这种方法的好处是无论哪个处 理器要处理事件,都可以把事件的类型转换成它所需要的类型,然后进行相应地 处理 3 事件处理器( h a n d l e r ) h a n d l e r 是所有处理事件类的基类,它是一个虚基类,每个继承类实现自己的 功能。 4 匹配器类( m a t c h e r ) 匹配器类用来标识有实例对象生成的类,用户给出标识匹配类的关键字,匹 配类返回相应的新建对象。匹配器类被定义成静态的,只允许一个实例对象 5 变量( v a t ) 用来存放系统变量和缺省变量。每当新建对象后,通过搜索适当的变量和类 名可以得到参数的缺省值 6 s i m u l a t o r 类 整个仿真器由一个t c l 类s i m u l a t o r 来描述,它提供了一组接口,来配置仿 真场景,并可选择用来驱动仿真的事件调度器。通常一个仿真脚本开始先创建此 类的一个实例,然后调用各种方法来创建结点、网络拓扑和配置其它各种参数 7 n s 对象( n s o b j e c t ) n s o b j e c t 是所有网络实体的基类,包括节点、链路、代理、业务记录( t r a c e ) 和数据源等,节点、链路、代理同时继承了n s o b j e c t 和事件处理器类,因为这三 种对象要处理多种事件,其他对象则不需要。 8 节点( n o d e ) 节点类表示网络中实际的节点和路由器。它有一个静态变量c n t _ 月来记录当 前网络中节点总数多个业务源可以连接到一个节点的不同端口,但一个节点的 1 4 湖北工业大学硕士学位论文 端口数是有限制的。节点有一个路由表,基于目的地址转发数据包,节点本身并 不产生分组,而是由代理( a g e n t ) 来产生和消费分组。 结点的功能是当它接收到一个数据包后,检查包的各个字段,通常是目的地 址字段,有时也检查源地址,然后按地址映射到一个出口端口,即此包的下一个 接收者。在n s - 2 中,这项任务由一个简单的c l a s s i f i e r ( 分类器) 对象完成,可有 多个分类器对象检查包的不同字段,并通过结点将包发送出去,以实现不同的目 的,因此n o d e 实际上是c l a s s i f i e r 的集合。图3 4 是单播结点的结构母: 图3 4 单播结点结构图 9 代理( a g e n t ) 代理是实际产生和消费分组的对象,它们属于传输层实体,运行在端主机, 节点的每一个代理自动被赋予一个唯一的端口号( 模拟t c p u d p 端口) 。代理姗道 与它相连的节点,以便把分组转发给节点,它也知道分组大小,业务类型,目的 地址等。a g e n t 类是各种t c p 实现类的基类,如t c p r e n o 、t c p n e m e n o 、t c p s a c k l 以及t c p 接收端( s i n k s ) ,如t c p s i n k ,t c p s i n k i ) e l a c k ,t c p s i n k 1 等代理 被保存在一个称为d e m u x 一的链表中 1 0 链路( l i n k ) 链路用来连接不同的网络节点。一个节点可以有一条或多条输出链路( 如路由 器) 。所有的链路都以队列的形式来管理分组的到达、离开或丢弃,统计并保存字 节数和分组数另外还有一个独立的对象来记录( t r a c i n g ) 队列日志。 湖北工业大学硕士学位论文 正如结点由c l a s s i f i e r 组成,一个简单的链路由一系列的c o n n e c t o r ( 连接器) 组成,其结构如图3 5 所示。其中t t l 一指向的元素用来操纵每个包中含有的t t l ( t i m e t o - l i v e ,生存期) 值,l i n k 一指向的元素用来模拟实际链路的延迟和带宽特 性,q u e u e _ 指向的元素是链路中的主队列元素。 图3 5 链路结构图 1 1 其它( o t h e r ) i n t e g r a t o r :用来累加一个对象的统计数据,有助于计算参数如队列长度,平 均花费时间等。 s i g m a :计算数据包的平均值。 r a n d o m :产生均匀的或指数的随机数,用于如随机早期检测算法( r 即) 等 3 5n s - 2 中网络仿真实现原理 模拟模型按照执行的依据可以分为基于时间的模型和基于事件的模型。基于 时间的模拟模型由一个内部时钟驱动,时钟以固定增量增加,每一次“走动”要 求某些动作必须发生。基于事件的模拟模型由事件规定系统的改变,模拟时钟由 一个事件发生的时刻推进到下一个事件发生时刻。n s 一2 是一个事件驱动的仿真器, 仿真网络中传送的数据包就是事件,根据包的产生、发送、到达、丢弃等事件驱 动时钟。n s - 2 中由s c h e d u l e r 类处理事件调度。 n s - 2 对网络的仿真实现基本是按照网络协议分层模型来实现的,由低到高的 层次顺序为:离散事件调度、网络拓扑( 节点、链路) 、路由、传输层、应用层。 n s 一2 中建立了一些n o d e 、a g e n t 等类,通过这些模块模拟网络层、传输层和 应用层实体,构建网络模拟的模型。 一个n o d e 对象模拟一个网络层实体,即一主机或路由器,但对二者并不区分 其内部结构如图3 6 所示,主要完成转发m 数据包的功能 湖北工业大学硕士学位论文 图3 6n o d e 对象内部结柯 一个a g e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出版行业编辑入职合同
- 网络安全领域技术升级贷款合同
- 离婚协议书:女性财产权益及子女抚养全面保障合同
- 2025年度校车租赁及校车司机培训服务合同
- 借用资金周转合同5篇
- 2025年私营医疗机构劳动合同
- 2025供电局业务合同模板
- 2025沥青混凝土供应与采购合同协议书范本
- 2025家电产品购销合同模板
- 2025广告策划服务合同模板
- 哮病(支气管哮喘急性发作)中医护理方案
- 中小企业员工离职原因分析与对策研究
- 001 比较思想政治教育(第二版) 第一章
- GB/T 9728-2007化学试剂硫酸盐测定通用方法
- GB/T 2992.1-2011耐火砖形状尺寸第1部分:通用砖
- 神经系统的分级调节课件 【知识精讲+备课精研+高效课堂】 高二上学期生物人教版选择性必修1
- 中医门诊消毒隔离制度
- 三年级上册数学试卷-第一单元 混合运算 北师大版 (含答案)
- 教学课件-英语学术论文写作(第二版)
- 实习证明模板(两种格式)
- ISO 31000-2018 风险管理标准-中文版
评论
0/150
提交评论