(计算机科学与技术专业论文)卫星网络链路仿真系统的研究与实现.pdf_第1页
(计算机科学与技术专业论文)卫星网络链路仿真系统的研究与实现.pdf_第2页
(计算机科学与技术专业论文)卫星网络链路仿真系统的研究与实现.pdf_第3页
(计算机科学与技术专业论文)卫星网络链路仿真系统的研究与实现.pdf_第4页
(计算机科学与技术专业论文)卫星网络链路仿真系统的研究与实现.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(计算机科学与技术专业论文)卫星网络链路仿真系统的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国防科学技术大学研究生院学位论文 摘要 随着卫星网络技术的飞速发展,出现了很多卫星网络专用的协议和应用程序, 它们在投入实际使用之前必须经过全面细致的调试、验证和性能评估。因此,如 何建立稳定可靠的卫星网络实验环境成为一个重要问题 网络仿真技术结合了网络模拟和实物测试平台两种方法的优点,既能提供可 控制、可再生的实验环境,又能通过真实的网络协议与外界进行实时的数据交换。 网络仿真可以利用较低的代价获得可信度较高的实验结果,非常适合卫星网络测 试研究的要求。 本文着重研究卫星网络链路仿真技术。通过分析和比较现有网络仿真系统的 特点,论述动态更新、报文截获、时间同步、实时调度等关键问题的解决方法, 并创新地提出通过改变报文截获方式和在仿真系统中引入时间同步机制两种方法 消除物理网络固有的链路特性对仿真实验的影响。 针对卫星网络的特点,课题完成了卫星网络链路仿真原型系统的设计与实现 该系统完全在用户态实现,采用分布式的体系结构和统一的开放式接口,有效地 解决了动态扩展、实时更新、链路特性仿真等关键问题。 实时性是仿真系统的主要特点。我们一方面通过在分布式仿真系统中引入时 问同步机制,在系统内部建立统一的时间表示和换算方法,精确计算仿真延时。 另一方面,通过研究用户态下的实时调度问题,利用误差补偿的方法提高仿真延 时控制的精度。 最后通过实验对延时控制、误码率控制和实时更新进行了测试,验证了时间 同步、用户态下实时调度和误差补偿算法的有效性。 主题词:卫星网络,链路仿真,报文截获,时间同步,实时性 第i 页 国防科学技术大学研究生院学位论文 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fs a t e l l i t en e t w o r k st e c h n o l o g y , m a n ys p e c i a l n e t w o r kp r o t o c o l sa n da p p l i c a t i o n sf o rs a t e l l i t en e t w o r k sh a v ee m e r g e d b e f o r eb e i n g u s e di np r a c t i c e ,t h ep m t o c o l sa n da p p l i c a t i o n so ft h es a t e l f i t en e t w o r k sm u s tb e d e b u g g e d , t e s t e da n de v a l u a t e di nd e t a i l s o i ti s i m p o r t a n tt ob u i l dar e l i a b l e h b o r a t o r i a le n v i r o n m e n tf o rt h i sp u r p o s e n e t w o r ke m u l a t i o nc o m b i n e so ft h ea d v a n t a g e so fn e t w o r ks i m u l a t i o na n dl i v e t e s t h e d i tc a nb u i l dac o n t r o l l e da n dr e p r o d u c e de n v i r o n m e n t i ta l s oc a ne x c h a n g e n e t w o r kd a t aw i t ht h eo u t s i d ei nr e a lt i m ea n du s i n gr e a li m p l e m e n t a t i o n so fn e t w o r k p r o t o c o l s n e t w o r ke m u l a t i o nc a l lg e tt h er e l i a b l ee x p e r i m e n t a lr e s u l t sw i t hl o wc o s t s , s oi ti sv e r ys u i t a b l ef o r t h er e q u i r e m e n to f s a t e l l i t en e t w o r k st e s t i n g t h i st h e s i sf o c u s e so nt h es t u d yo fs a t e l l i t en e t w o r k - l i n k se m u l a t i o n b ya r l a l y z i n g a n dc o m p a r i n gt h ec h a r a c t e r i s t i c so f t h ee x i s t i n gn e t w o r ke m u l a t i o ns y s t e m , w ed i s c u s s t h es o l u f i o i l st ot h ec r i t i c a li s s u e so fd y n a m i cu p d a t e , p a c k e tc a p t u r e , t i m e s y n c h r o n i z a t i o na n dr e a l - t i m es c h e d u l i n g i no r d e rt og e tr i d o ft h ep h y s i c a l n e t w o r k - l i n k se f f e c t st ot h ee m u l a t i o nt e s t s , w ec h a n g et h ew a yo fp a c k e tc a p t u r ea n d i n t r o d u c et h et i m es y n c h r o n i z a t i o nm e c h a n i s m b a s e do nt h ec t m r a c t e r i s t i c so ft h es a t e l l i t en e t w o r k , w eh a v ef i n i s h e dt h ed e s i g n a n di m p l e m e n to ft h ep r o t o t y p eo ft h es a t e l l i t en e t w o r k s - l i n ke m u l a t i o ns y s t e m t h i s s y s t e mi sf u l l yi m p l e m e n t e di i l u s e rs p a c e ,w i t hd i s t r i b u t e da r c h i t e c t u r ea n do p e n i n t e r f a c e w ei n a k co u tt h es o l u t i o n st ot h ec r i t i c a li s s i 矾s u c ha sd y n a m i ce x p a n s i o n , r e a l - t i m e u p d a t i n g a n d e m u l a t i o n o f t h e c h a r a c t e r i s t i c s o f l i n k r e a l - t i m ei so n eo f t h ec h a r a c t e r so f t h ee m u l a t i o ns y s t e m w ei n t r o d u c et h et i m e s y n c h r o n i z a t i o ni d e at ot h ed i s t r i b u t e de m u l a t i o ns y s t e ma n de s t a b l i s hau n i f i e d e x p r e s s i o na n dc o n v e r s i o no f t i m e t h e nt h ea c c u r a t ee m u l a t i o nd e l a yc a nb ec a l c u l a t e d e a s i l y i na d d i t i o n , 、】v i t ht h es t u d y o nr e a l - t i m es c h e d u l ei nu s e rs p a c e , w eu s et h ew a yo f 盯l o rc o m p e n s a t i o nt oi m p r o v et h ea c c u r a c yo f t h ee m u l a t i o n f i n a l l y , w em a k es o m ee x p e r i m e n t sf o rt h ef u n e t i o l lo f d e l a yc o n t r o l , e r r o rc o n t r o l a n dr e a l - t i m eu p d a t e n 坞r e s u l tc a nb eu s e dt ov e r i f yt h ea l g o r i t h m so ft i m e s y n c h r o n i z a t i o n , r e , - t i m es c h e d u l ei nu s e rs p a c ea n da r o rc o m p e n s a t i o n k e yw o r d s :s a t e l l i t en e t w o r k ,l i n ke m u l a t i o n ,p a c k e tc a p t u r e , t i m es y n c h r o n i z a t i o n r e a l - t i m e 第i i 页 国防科学技术大学研究生院学位论文 表目录 表2 1 几种网络仿真系统总体介绍 表2 2 几种网络仿真系统的链路特性仿真功能 表3 1 用户态实时调度算法的误差比较 表4 1 链路参数列表 1 3 2 4 表5 i 仿真延时期望值与测量值的比较5 0 第页 国防科学技术大学研究生院学位论文 图目录 图2 1 仿真系统的基本结构 图2 2 集中式体系结构 9 ,l o 1 0 1 1 1 4 图2 3 分布式体系结构 图2 4 网络仿真类型 图3 1 端到端链路仿真 图3 2 虚拟网络环境 图3 3 延时的计算。 图3 4 时间同步模式 图4 。ls n l e 体系结构 1 4 1 8 1 9 :1 8 :1 9 :;:i 图4 2s n l e 模块说明 图4 3 流量控制模块 图4 4 流量控制处理流程。 图4 5 报文截获数据流 图4 6 接收端报文截获流程 图4 7 计算以太网延时。 图4 8 使用定时器触发延时发送行为 图4 9 使用轮询检测实现一次延时发送行为 图5 1 仿真实验拓扑结构 图5 2 仿真延时平均值 图s 31 0 m s - 4 0 m s 采样数据。 图5 4 仿真误码率测试 图5 5 误码补偿算法测试 图5 6 实时控制测试 3 9 4 2 4 3 ,4 9 5 2 第页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它教育机构的学 位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示谢意 学位论文题目:卫星圈缝堡竖笾裹丞统鲍叠窥量塞理 学位论文作者签名:刁堑亟日期:彳年,月,歹日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权国 防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允 许论文被查阅和借阅;可以将学位论文的全部或部分内客编入有关数据库进行检索, 可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目:卫星圈垒壁墅笾墓益统数盟壅量塞塑 学位论文作者签名:刁垄垫 作者指导教师签名:埤 日期:如。f 年t 月莎日 日期:砌,6 年f f 月师 国防科学技术大学研究生院学位论文 第一章绪论 从1 9 5 7 年第一颗人造卫星上天以来,卫星在地球考察、军事应用、气象、通 信等很多方面都得到了广泛的应用。目前围绕地球运行的人造卫星已经超过8 0 0 0 颗,如果把这些卫星组成一个网络,那么所能够提供的通信能力是无法估量的 卫星网络已经成为网络技术一个重要的发展方向。卫星网络的特点决定了必须为 其设计专用的协议和应用程序,建立稳定可靠的卫星网络测试环境可以极大地推 动卫星组网和卫星网络通信技术的发展 1 1 课题背景及研究意义 卫星网络在全球数据通信中的地位正变得越来越重要【l l 。它不仅能够提供覆盖 全球、高速率、高带宽、方便快捷的通信方式,而且还具有高度的可扩展性和灵 活性。当前全球有一半以上的区域不能通过地面网络覆盖,卫星通信却可以不受 地域限制。使用卫星接口能够很方便地实现本地局域网与世界其它任何局域网之 间的互联,因此卫星通信技术在军事和民用各个方面得到了广泛应用。毫无疑问, 卫星网络将成为下一代i n t e r n e t 不可缺少的组成部分【2 】,在创建未来新型个人通信 方式、星际组网等领域都将发挥出重要作用。 早期的通信卫星都是地球同步轨道卫星( g e o s t a t i o n a r y - e a r t ho r b i t ,o e o ) 。 g e o 卫星通常作为中继节点在地面两点之间的起到数据转发的作用,这种形式是 固定的,没有路由可言p 】。随着星上处理技术和小卫星技术的发展,通过星间链路 把各种类型的卫星连接起来组成卫星网络成为一种趋势。与传统的g e o 卫星相比, 中轨道( m e o ) 和低轨道( l e o ) 卫星具有更多的优势,比如传输延迟小( 典型值 为1 0 l o o m s ) 、对地面终端的功率要求低等。利用星间链路( i n t e r - s a :【c l l i t el i n k , i s u 组成卫星网络可以更好地从真正意义上实现全球通信。但是,中低轨道卫星 的高速运动方式使卫星网络的拓扑结构具有了时变特性。 卫星网络与地面网络在链路特性上的差异主要包括以下几个方面: ( 1 ) 传输延时大 由于卫星网络中节点之间的传输距离长,而且数据都要通过无线信道传播, 所以造成卫星网络传输延时比地面有线网络要大得多。通常情况下【3 j ,g e o 卫星 的单向传输延时约为2 6 0 毫秒,两个g e o 卫星之间通信的最大传输延时约为5 5 0 毫秒,m e o 卫星的单向延时约为1 0 0 毫秒l e o 卫星的单向传播时延应为几十毫 秒数量级,例如海拔一千公里上空的l e o 卫星单跳传播时延约为2 0 m s 。l e o 卫 第1 页 国防科学技术大学研究生院学位论文 星之间i s l 的时延则与l e o 卫星间的距离紧密相关由于l e o 卫星的高速运动, 因此传播时延也会随着时间而变化。如果考虑前向纠错和交织编码,传输延时则 会更大。 ( 2 ) 误码率高 传输距离长、信号衰减、电磁干扰等都会导致数据在卫星链路传输中出现错 误现有卫星链路的误码率大约为l 旷,最坏情况大约为1 旷 ( 3 ) 周期性交化 卫星处于不断的运动中,因此卫星网络中各节点之间的相对位置也在不断变 化,不同轨道面上的卫星之间的i s l 长度也会持续变化,导致网络拓扑和链路的 特性也会随之改变另外,由于运动方向和卫星星座设计的原因,不同卫星轨道 面之间可能会存在缝隙,i s l 还会出现间歇性断开的情况。但是所有的卫星都要按 照设定的轨道运行,因此所有卫星链路特性的变化又都具有固定的周期和规律。 鉴于卫星网络与地面网络在链路特性上差异很大,如果直接在卫星网络中使 用传统地面网络的协议和应用程序如t c p i p 协议,o s p f 协议等,会极大降低协议 的性能,并造成卫星网络资源的严重浪费,因此必须要设计卫星网络专用的协议 和应用程序卫星网络协议和应用程序在正式投入使用之前必须经过严格的测试, 如何建立稳定可靠的卫星网络测试环境是一个非常重要的问题。 网络仿真系统能够提供稳定可靠的实验环境,对网络协议和应用程序进行多 方面严格的测试。网络仿真系统控制简便,成本低廉,它既能够虚拟多种不同的 场景,也可以十分方便地在仿真过程中动态改变控制参数由于在仿真测试中使 用真实的网络协议和应用程序,不但避免了对被测程序做过多的修改,而且获得 的实验结果与现实情况比较接近,具有很高的可信度和参考价值。 1 2 国内外研究现状 经过人们多年的研究与探索,前后出现了很多种计算机网络的测试和性能评 估方法。目前比较常用的主要有四种方法:数学分析( m a t h e m a t i c a la n a l y s i s ) 、模 拟( s i m u l a t i o n ) 、仿真( e m u l a t i o n ) 和实物测试平台( l i v en e t w o r kt e s tb e d ) 。每 种方法都有自身的优缺点,在网络软件不同的开发阶段,也需要使用不同的测试 方法。仿真是模拟和实物测试平台两种方法的结合在仿真系统中,模型的一部 分被真实系统代替,或者说真实系统的一部分被模型代替,使仿真系统兼备了模 拟和实物测试平台两种方法的优点。网络仿真系统既能够提供可控制、可再生的 虚拟实验场景,又使用真实的网络协议实时地与外界传递网络数据,建立实验环 境所需的成本也比较低近些年来,网络仿真已经成为网络测试技术的发展热点。 第2 页 国防科学技术大学研究生院学位论文 国内外已经出现了一些网络仿真系统的实际应用,归纳起来主要有两种类型: 端到端链路仿真。仿真系统只是对发送端到接收端的链路单独进行控制, 模拟该链路上传输延时、带宽、误码率和队列管理等特性,并不考虑拓扑 结构交化的问题典型的案例如d u r a m y n e t 1 0 1 4 0 ,o n e 5 1 ,n i s l 删, e n d e 1 7 】嗍等 网络拓扑结构仿真。仿真系统内部建立虚拟的拓扑结构,通过改变数据流 在虚拟节点之间的流向,模拟网络拓扑结构动态变化的情况;典型的案例 如s b i 2 3 1 ,e l v n o w e r r l 5 1 1 2 1 】圈,i p t n e l 4 ”。v i r t u a lr o u t e r s 4 2 1 1 4 3 1 等 绝大多数现有的网络仿真系统都要依赖于对操作系统内核进行修改才能实现 链路仿真功能。例如,d u m m y n e t 基于f r e e b s d 内核,s b i ,e m p o w e r , n i s t 等 基于l i n u x 内核,这在一定程度上影响了网络仿真系统的适用范围。 由于现实中的网络种类繁多,结构复杂多变,因此不可能有一种网络仿真系 统适用于所有类型的网络,网络链路仿真必须根据所要虚拟的真实网络的链路特 点进行专门设计。目前国内外关于卫星网络仿真系统的研究成果并不多,只有o n e , s b i 等少数几种。其中o n e 只是简单实现了对网络延时的仿真控制,功能比较单 一。美国堪萨斯大学研制的卫星网络仿真系统s b i ( s p a c e - b a s e di n t e r a c te m u l a t o r ) 具有良好的扩展性,可以依据网络模型进行动态变化,对本课题的研究具有重要 参考价值。但是由于s b i 系统必须通过修改l i n u x 系统内核才能实现仿真处理, 所以仍然存在一定的局限性。 1 3 主要工作 课题通过对卫星组网和网络链路仿真技术全面深入的研究,借鉴国内外现有 网络仿真系统的特点,设计并实现了卫星网络链路仿真原型系统一一s n l e ( s a t e l l i t en e t w o r k - l i n k se m u l a t i o n ) ,解决了动态扩展、实时控制、链路特性仿真 等主要问题,最后通过实验对原型系统进行了验证。实验结果证明s n l e 仿真原 型系统的设计和实现方案切实可行,可以作为测试卫星网络协议和应用程序的有 力工具。 课题的主要工作包括以下几个方面: 对卫星组网和网络链路仿真技术进行全面深入的研究,掌握它们的特点、 发展现状和趋势。 通过分析和比较现有网络仿真系统的特点,详细论述动态更新、报文截获、 时间同步、实时调度等关键问题的解决方法。 现有仿真系统普遍忽略物理网络固有的链路特性对仿真实验的影响,针对 第3 页 国防科学技术大学研究生院学位论文 这个问题,创新地提出利用改变报文截获方式和在仿真系统中引入同步机 制两种方法消除物理链路误差的思路:把报文截获和链路仿真处理都在接 收端执行,并基于时间同步机制在系统内部建立统一的时间轴,在接收端 精确计算仿真延时,消除物理链路上的误差 完成了卫星两络链路仿真原型系统的设计与实现。提出了时间同步、实时 调度和误差补偿算法,着重实现了实时更新、报文截获、链路特性仿真处 理等主要功能 通过实验对延时控制、误码率控制和实时更新进行测试,验证了相关算法 的有效性。对产生误差的原因进行分析,并提出了改进方案 1 4 论文的组织结构 全文共分为六章,各章的内容大致如下: 第一章绪论 首先介绍课题背景和研究意义,概述国内外相关研究的现状,对课题的主要 工作进行总体说明。 第二章网络仿真相关技术 介绍网络仿真技术的特点和相关概念。通过分析和比较国内外几种典型的仿 真系统,总结网络链路仿真的实现方法,作为课题研究的理论基础。 第三章卫星网络链路仿真技术研究 结合卫星网络链路的特点,逐一论述动态更新、报文截获、时间同步、实时 控制等关键问题的解决方法,并提出自己的研究思路。 第四章分布式卫星网络链路仿真原型系统的设计与实现 阐述卫星网络链路仿真原型系统的设计和实现方案,说明设计要点和实现中 的解决方法,详细描述基于时间同步机制的延时计算、实时调度、误差补偿等关 键算法。 第五章原型系统测试与性能分析 测试延时控制,误码率控制和实时更新的实际效果,并对相关算法进行验证, 认真分析实验结果和误差产生的原因。 第六章结束语 对课题和全文进行总结,指出研究中的创新点,并提出对今后工作的建议和 展望。 第4 页 国防科学技术大学研究生院学位论文 第二章网络仿真相关技术 性能评估在软件开发过程中非常重要。如果能够尽早发现错误并及时纠正, 软件产品就可以尽早投入使用,并大大提高开发效率近年来随着网络技术的迅 速发展,新的网络协议和应用不断地涌现。如何准确全面地测试和评估它们的性 能,是研究人员目前面临的一个重要问题。随着网络规模的扩大,新的网络协议 和网络应用也越来越复杂,要分析和研究它们的性能,不但需要构建更加庞大的 网络结构,而且实验环境的变化过程也更加复杂,这使得进行网络测试也变得越 来越困难。如何找到新的、更有效的网络测试和性能评估方法成为网络技术发展 的当务之急。 2 1 网络仿真技术发展背景 随着网络规模扩大、网络带宽增加、异构性和复杂性不断提高、网络新业务 不断出现,人们对互联网络的流量特征、性能特征、可靠性和安全性特征、网络 行为模型缺乏理解和精确描述的问题日益突出,严重影响网络的科学发展和有效 利用。建立高效、稳定、安全、可靠、互操作强、可预测、可控的网络是网络技 术研究一直追求的目标,而网络分析测试是获得网络行为第一手数据的有效手段。 网络测试和网络行为分析是高性能协议设计、网络设备开发,网络规划与建设、 网络管理和操作的基础,也是开发高效网络应用的基础。获取真实可靠的实验数 据是必不可少的关键条件。 首先对几个今后用到的名词进行说明: 目标网络:网络仿真系统所参考的真实网络原型。网络仿真的目标就是达 到仿真实验环境无限接近于日标网络的真实环境。 仿真网络:为了展现目标网络特征和变化规律,通过网络仿真系统人为制 造出来的虚拟网络。 网络模型:利用抽象语言对目标网络特征和变化规律的详细描述。 2 1 1 网络仿真的产生 网络仿真是一种介于软件模拟和真实环境测试之间的新兴测试技术,通过归 纳和吸取传统测试方法的优点逐渐发展而成。它的目标是用尽可能简单的软硬件 资源建立接近于现实的实验环境,使实验结果科学可靠。网络仿真主要参考了网 络模拟和实物测试平台两种方法的特点。 第5 页 国防科学技术大学研究生院学位论文 2 1 1 1 网络模拟 目前流行的网络模拟器有n s 2 n 、o p n e t 忉等。大多数网络模拟器使用基于离 散事件的方法对目标网络建模。在基于离散事件驱动的模拟系统中,目标网络模 型被视为事件和状态的集合。模拟器负责跟踪关键事件的触发,例如应用程序发 送或接收报文,报文进入或离开路由器队列,丢弃报文等 这些关键事件首先按照各自触发时间的先后顺序存放在一个调度列表中,然 后就可以顺序执行列表中的事件在调度执行一个事件的时候,会导致其它后续 事件的执行例如,当某个报文离开一个路由器队列时,可能会进入另一个路由 器的队列,也可能被丢弃,究竟哪个事件会发生由模拟器决定 网络模拟器内部不使用真实的时间,而是人为指定的模拟时间。模拟器内部 的当前时间是指正在执行的事件的触发时间。如果在某个时间段内没有事件发生, 那么就可以直接跨越这段不重要的时间类似地,某些事件在实际情况下可能会 执行很长的时间,但是在模拟器中可能只用一个事件切换就可以代表。因为模拟 器的时间表示是人为指定的,所以不需要与真实时钟保持一致。这意味着网络模 拟的时间长度只与目标网络的复杂度和流量相关,而与模拟的网络场景在真实情 况下实际需要运行的时间无关。例如,如果要测试一个包含5 个节点的f 1 田流, 也许真实情况下从源节点向目的节点传输数据需要2 个小时,而模拟整个过程也 许只需要2 分钟就足够了。 网络模拟只需要利用软件模型就可以代替目标网络所有的软硬件结构,通常 只需要一台计算机就可以完成所有的分析和处理工作,因此它的成本非常低。 2 1 12 实物测试平台 实物测试平台要复制目标网络全部软硬件结构,通过真实的协议和物理链路 进行测试,所以必须在真实时间下进行。因为实验环境与现实情况非常类似,所 以实物测试平台的测试结果可以非常精确地体现出目标网络在实际情况下的性 能 这种方法的缺点在于它的成本非常昂贵,而且有时甚至无法建立这种实验环 境。实验中所有的软硬件资源都要与实际情况下使用的完全相同,这对于大型网 络,如a dh o e 网络、卫星网络来说,要建立与实际情况相同的网络环境是非常困 难的【4 】。 因为对硬件进行改动会非常困难,所以实物测试平台缺少灵活性另外,由 于一些参数( 如队列长度) 的配置可能会很困难,甚至是根本无法控制的【5 】,所以 也不能精确地重现同一个实验场景,很难在同样的网络条件下重复进行同一种测 试。因此,实物测试平台的实验结果通常只是实际情况的一个子集。 第6 页 国防科学技术大学研究生院学位论文 2 1 1 3 网络仿真 仿真是模拟和实物测试平台两种方法的结合在仿真系统中,模型的一部分 被真实系统代替,或者说真实系统的一部分被模型代替,因此仿真系统兼备了模 拟和实物测试平台两种方法的优点。一方面通过设置仿真系统内部软件模型的参 数和规则,可以方便地控制仿真处理过程;另一方面,由于通过真实的物理环境 和协议进行数据交换,所以仿真实验也必须在实时条件下进行。网络仿真系统不 是一个孤立的封闭系统,外部网络流进入仿真系统后,经过处理最终还是要穿过 虚拟的仿真网络到达外部的目的节点。仿真系统内部利用比较简单的软硬件资源 模拟真实网络( 如卫星网络、无线网络等) 的各种复杂场景和链路特性,并可以 对虚拟环境进行有效的控制;网络仿真系统对于外部被测程序又具有透明性,外 部程序不需要了解仿真系统的内部细节,只要使用真实的协议就可以与仿真系统 进行实际的数据交换。 2 1 2 网络仿真与网络模拟的比较 网络模拟要建立一个完整的、能够独立运行的软件模型,因此不但要对目标 网络整体的软硬件结构进行建模,而且模型还必须包括被测程序的部分。这意味 着网络模拟不能直接使用被测程序现有的代码实现,而必须使用网络模拟内部的 描述语言重新对被测程序进行描述。对于如分布式文件系统这样的大型程序而言, 二次建模的过程非常困难,而且难免会出现错误,所以这种做法显然是不可取的。 虽然模型控制简便,可以重复使用,但是在建模过程中难免要忽略一些细节, 模型表示的范围越大,被忽略的细节往往也会更多,模型与现实的偏差也会更明 显。例如,网络软件经常使用定时器完成如报文重传等任务,但是网络模拟通常 会简化定时器的实现细节。在网络模拟器的模型中,大多数情况下定时器的行为 都设置为理想状态:即由定时器触发的调度事件能够精确地执行这种情况在真 实的系统中显然是不可能的。如果定时器通过软件实现( 并且不是集成在特殊的 硬件中,如网络接口卡) ,那么还要借助于操作系统内部定时器的帮助才能实现 自己的功能,这种定时器的时间精度不会很高。比如在传输层之上的协议中用到 的定时器,无论在最初设计算法时有怎样的规定,它们的延迟时间都在l o 毫秒以 上。这种情况会对协议的性能有明显的影响,但是在软件模型中通常都不会考虑 这样的因素。 网络仿真只在有限的范围内才使用软件模型,用于模拟目标网络的主要特征。 这样起到了扬长避短的作用,既发挥了软件模型的可控制、可重用的优点,又尽 量保持了真实环境的实现细节网络仿真要使用真实的协议和物理链路与被测程 第7 页 国防科学技术大学研究生院学位论文 序进行实时的数据交换,并不触及被测程序内部的运转逻辑,被测协议不需要做 过多的改动,因此网络仿真与网络模拟相比具有更高的可信度嗍。 2 2 网络仿真技术概述 网络仿真要再现目标网络的链路环境,并与外界进行实时的数据交互。一方 面,测试中使用真实的网络协议和应用程序;另一方面,数据在仿真网络内部的 传输过程要通过软件模拟。仿真系统内部的软件模型会对网络延时、误码率和带 宽等特性进行控制,使仿真网络内部的虚拟链路接近于目标网络的真实情况。 因为被测程序要运行真实的代码实现,所以仿真系统必须在实时情况下运行, 而且不用对被测程序内部的控制逻辑和运行机制做任何修改。另外,仿真实验必 须要使用多台计算机联网传递真实的网络数据,因此仿真系统模仿的数据传输场 景与真实情况更加接近 网络仿真系统可以通过修改内部的软件模型重新配置网络结构和链路特性, 而几乎不需要对硬件做出任何改动,并且在调试过程中能够多次重复再现同一个 实验场景【4 】。 2 2 _ 1 网络仿真系统的工作原理 虽然网络仿真的设计和实现方式各不相同,但是归纳起来有以下共同的特征: 使用真实的协议。 产生实际的流量。 实时运行。测试执行的时间与软件实际运行的时间相同,因此对软件性能 的测量会更加准确。 对网络链路建模仿真实验中各节点之间的链路在仿真网络内部表示的范 围比实际的物理链路更大,甚至可以用来表示一个现实中的网络。另外, 在改变仿真网络内部的拓扑结构的时候,不需要对物理链路做出改动。 仿真系统的基本组成结构如图2 1 所示。大多数仿真系统接收两种类型的输 入:被测程序产生的数据和网络的描述信息。拓扑生成程序可以利用网络描述信 息生成网络模型传递给流量控制程序流量控制程序首先要通过报文截获程序获 得发送端的数据,接着根据网络模型规定的链路特性对网络数据进行仿真处理, 最后再通过报文注入程序发送到接收端。 第8 页 国防科学技术大学研究生院学位论文 图2 1 仿真系统的基本结构 下面对图2 1 描述的仿真系统各模块逐一进行解释: 被测程序:在仿真实验中进行测试的网络程序 网络描述:对目标网络的描述信息,包括链路特性和变化的规律。 报文截获程序:用于截获通过仿真网络传输的网络数据,把它们交给流量 控制程序处理。 流量控制程序:利用网络模型进行仿真处理的程序。实际上是通过软件的 方法模拟目标网络的链路特性( 如延时、误码率等) 和变化过程。流量控 制程序必须在实时情况下进行仿真处理。 报文注入程序:把经过仿真处理的数据返回到接收端的被测程序。 网络模型:仿真系统内部对链路参数和控制规则的表示方式,流量控制程 序要基于网络模型进行仿真处理。 拓扑生成程序:把网络描述转换成仿真系统内部可以理解的网络模型。 虽然很多现有仿真系统没有做出明确的划分,但是这些模块都代表了一个网 络仿真系统应该具备的基本功能。例如,在某些仿真系统内部,报文程序和注入 程序通常和流量控制程序结合在一起;某些仿真系统没有拓扑生成程序,而是把 被测程序的数据和网络模型作为它的输入【4 】i s 】【1 0 】【l l 】【柏】。 可以把仿真实验分为两个步骤:第一步先把网络描述转换成网络模型,然后 在第二步再把网络模型转换为具体的参数和规则,控制流量控制程序的仿真处理。 这样做的好处在于,第一步的工作不需要在实时条件下进行,因此描述信息可以 第9 页 国防科学技术大学研究生院学位论文 更全面、更详细,从描述到模型的转换过程可以采用复杂的方法以获得更完备的 网络模型。但是在第二阶段,网络仿真的处理必须在实时条件下运行 对报文的截获一般需要操作系统的支持才能完成【4 】【s 】h 0 1 ( 1 1 ) 1 4 0 1 。这种实现方法可 以使网络仿真系统对于被测程序完全透明,不需要对被测程序做任何修改。但是 这样的网络仿真系统只有在特定的操作系统平台上才能使用。 2 2 2 网络仿真系统的体系结构 网络仿真系统有两种基本的体系结构类型:集中式和分布式体系结构。集中 式仿真系统如图2 2 所示,它的内部有一个中央流量控制程序集中处理网络数据。 而在分布式仿真系统内的每个仿真节点都有自己的流量控制程序,因此可以分别 处理各自的网络数据,如图2 3 。分布式仿真系统可以由一个中央管理程序负责动 态更新仿真节点上的网络模型,以此达到对整个仿真过程和所有仿真节点的控制。 请注意,虽然存在中央管理节点,但是每个节点都有自己的流量控制程序,可以 同时进行多条链路上的仿真处理,因此它还是属于分布式的体系结构的范畴。 图2 2 集中式体系结构 图2 3 分布式体系结构 分布式体系结构使仿真系统具有更好的可扩展性,并且也提高了节点之间的 带宽,增强了系统的并行性。在集中式体系结构中,所有的报文都要通过中央流 第1 0 页 国防科学技术大学研究生院学位论文 量控制程序统一处理。当要增加带宽或仿真节点时,中央流量控制程序要处理的 数据量会变得非常巨大,这样将很难满足实时运行的要求然而在分布式体系结 构中,每个节点只需要负责处理经过自己的网络数据流,因此系统可以同时处理 的数据量更大,而且多条链路的数据可以并行处理,完全不必担心会互相干扰。 2 2 3 网络仿真的类型 由于计算机网络采用层次体系结构,所以仿真系统也可以从多个位置截获网 络数据。按照报文截获接口所处的网络层次,可以把网络仿真分为物理层、数据 链路层、网络层和传输层四种类型,如图2 4 所示: 应用层 - 1 传输层仿真i 应用层 传输层 l网络层仿真l 传输层 网络层 网络层 数据链路层 1 数据链路层仿真l 数据链路层 j 物理层仿真i 物理层 物理层 图2 4 网络仿真类型 从仿真系统的类型就能够确定它的测试范围: 所有处于报文截获接口所在网络层次之上的协议和应用程序都可以运行 真实的代码实现,因此都可以利用仿真系统对它们进行测试。 包括报文截获接口所在的网络层次以下,都不是真实的实现,而是利用软 件模拟内部逻辑和特征,因此处于这些层次的协议和应用程序都不能通过 仿真系统进行测试。 例如,一个链路层仿真系统的测试范围是链路层以上所有的网络协议和应用, 这表示网络层、传输层和应用层上所有的协议和应用程序都可以在该仿真系统中 运行真实的代码,而该系统不能用于测试链路层和物理层的协议和应用程序。 2 3 典型实例分析 本节总结了一些国内外出现的网络仿真系统的特点,作为本课题设计和实现 工作中的参考和借鉴。 表2 1 列举了现有的几种典型网络仿真系统的体系结构和设计方案,表2 2 列 举了这些系统的链路仿真功能。从表中可以看到,集中式和分布式体系结构的仿 国防科学技术大学研究生院学位论文 真系统实例都已经出现,具有分布式结构的仿真系统所能建立的实验规模更大, 而且可以模拟拓扑结构比较复杂的场景从仿真系统实现平台的角度来看,为了 解决链路仿真的问题,绝大多数选择了开源的操作系统,对系统内核进行了相应 修改。 表2 1 几种网络仿真系统总体介绍 。,;。名称。,磊菜釜覆冀, h 。“n w z ? “ ;,+ 类型;*曩k 实现平台。i ; d u m m y n e t t l 0 1 【删分布式链路层 b s d n s e t l 6 】【3 9 l 集中式链路层用户态 n i s tn e t b l 集中式网络层 l i n u x o n e 5 】 集中式网络层 s o l a r i s e n d e 1 7 】【1 8 】 分布式网络层 l i n u x 。 j e m u 1 9 】 集中式链路层 w i n c e c e n e t s h a p e r l 2 0 】分布式链路层 l i n u x s e a w i n d 1 4 1 集中式网络层用户态 e m p o w e r t l 5 1 1 2 1 1 1 2 2 1 分布式链路层 l i n u x s b i 2 3 1 1 2 4 分布式网络层 l i n u x m o d e 】n c t 【2 5 】嘲 分布式网络层 b s d m o b i e m u t 2 j 7 分布式链路层 l i n u x 通过对几种现有网络仿真系统的对比和分析,我们得到如下结论: 根据不同的应用需求,选择适合的体系结构。集中式体系结构的系统管理 简便,但是存在调度和带宽的瓶颈。分布式系统比集中式系统具有更强的 灵活性,扩展性好,但是会增加控制的难度 链路仿真是仿真系统最基本、最主要的功能,它的实现方法多种多样。目 前采用通过修改操作系统内核实现仿真处理的实例比较多,这种方法可以 达到仿真系统对被测程序完全透明的效果,但是也增加了系统设计和实现 的复杂度,而且使系统无法跨平台使用。 选择一个好的网络模型生成工具,对仿真实验很有帮助。 现实中网络的种类繁多,链路特性各不相同,因此任何一种网络仿真系统都 第1 2 页 国防科学技术大学研究生院学位论文 不可能适应所有的情况。仿真系统的研究必须认真分析目标网络的链路特性及其 变化规律,有针对性地进行设计 表2 2 几种网络仿真系统的链路特性仿真功能 摹露蠢茗藉i 爰j嚣譬三运试臻。5 蜚误码1 ,。 ,7 ;曼葡糕! 篆薹 d u m m y n e t有丢弃无 n s e 有丢弃 有 n i s t n c t 有丢弃无 o n e 有无无 e n d e 有无无 j e n m 有丢弃有 n e t s h a p c r有丢弃有 s e a w i n d 有 。比特位错误有 e m p o 、) l ,e r 有丢弃有 s b i 有丢弃有 m o d e l n c 吐 有丢弃有 m o b i e m u无 丢弃有 2 4 本章小结 本章首先介绍网络仿真技术发展的背景,通过网络仿真与网络模拟和实物测 试平台的对比,突出网络仿真技术的概念和特点。接着说明网络仿真技术的主要 概念和工作方式。最后通过对比和分析几种典型的仿真系统的特点,总结国内外 网络仿真技术发展的总体现状和实现方法。 第1 3 页 国防科学技术大学研究生院学位论文 第三章卫星网络链路仿真技术研究 结合卫星网络和网络仿真技术的相关知识,本章主要研究卫星网络链路仿真 技术的关键问题。通过分析和比较现有仿真系统的具体实现,论述动态更新、报 文截获、时间同步、实时调度等关键问题的解决方法,并提出自己的研究思路。 3 1 动态更新 卫星网络的组织形式和链路特性都会随着卫星的运动周期性地变化,因此卫 星网络链路仿真系统必须具有良好的扩展性和动态变化的能力 3 1 1 拓扑结构变化 有些仿真系统如n i s t , o n e 等,只是把目标网络抽象成一个路由器,发送和 接收双方都必须通过仿真系统相连,如图3 1 所示仿真系统只对每条连接上的数 据进行单独的仿真处理,不考虑拓扑结构的变化。这种系统只能测试端到端的协 议和应用,而不能测试与拓扑结构相关的协议和应用,如路由协议。 图3 1 端到端链路仿真 一些仿真系统如s b i ,e m p o w e r , i p - t n e ,v i r t u a l r o u t e r s 等,都针对上面的问 题做出了改进。在仿真系统内部建立虚拟网络环境,利用虚拟节点或设备模拟复 杂的拓扑结构,如图3 2 所示。虚拟节点或设备组织方式灵活,可以根据需要任意 改变虚拟拓扑结构的配置。 嘲n o d e 8 t e s t n o d e a o 删黼 _ _ 啼- l 缸一l i t 图3 2 虚拟网络环境 第1 4 页 国防科学技术大学研究生院学位论文 卫

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论