一种新的实时半实物网络仿真方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种新的实时半实物网络仿真方法1
赵玉亭戴冠中张治慕德俊陈旿
西北工业大学自动化学院,西安,710072
zhaoyuting77@
摘要:开发了一种新的研究大规模网络的实时半实物仿真方法,并对无线Ad Hoc网络上的视频传输进行了成功仿真,证明该方法对研究通信网络具有实时性、可扩展性和高保真性。关键词:实时;半实物;网络;仿真;Ad Hoc
1.仿真及半实物仿真
仿真方法的应用最早可追溯到1773年,法国自然学家用仿真方法做物理实验估计π值。经过200多年的发展,仿真技术已经成为科学实验的有效手段,对科学技术的发展起到了巨大的推动作用。1992年美国提出22项国家关键技术,仿真技术列第16项;提出21项国防关键技术,仿真技术列第6项。近年来美国更加重视仿真,将发展“合成仿真环境”作为国际科技发展的7个科技推动领域之一[1]。
1.1 仿真分类
根据仿真过程中所建立模型对象的方式不同,可以将系统仿真分为三种模式[1]:
(1)计算机仿真。其特点是系统用严格的数学模型表示,不使用实际系统的任何部件。计算机仿真的模型抽象程度最高,仿真费用最省,仿真所花的时间最少,作各种变量控制试验也最方便。但它有一个最致命的弱点,即仿真结果的可信度较差。
(2)实物仿真。即系统原型方法,特点是全部使用实际系统的子系统或部件,系统原型可以任意接近最后的系统配置。实物仿真与实际系统最接近,仿真结果最可信,但费用高,执行起来所花时间长,作变量控制试验也不方便。
(3)半实物仿真,又称为硬件在回路(Hardware-In-Loop,HWIL)仿真。被仿真系统有一部分用与实际系统相同或相近的实物,其它部分则采用计算机仿真形式。半实物仿真是一种将控制器(实物)与在计算机上实现的控制对象的仿真模型(数学仿真)联接在一起进行实验的技术。在这种实验中,控制器的动态特性、静态特性和非线性因素等都能真实地反映出来,因此它是一种更接近实际的仿真实验技术。这种仿真技术可用于修改控制器设计,同时也广泛用于产品的修改定型、产品改型和出厂检验等方面。
1.2 半实物仿真及其特点
半实物仿真技术自20世纪60年代问世直到目前美国研制航天飞机,始终盛行不衰[2]。美国大多数国防承包商都有一个或多个半实物仿真实验室,这些实验室代表了当前世界先进
1本课题得到航空科学基金(01F53029)、西北工业大学科技创新基金资助。
- 1 -
水平。其先进性体现在:(1)有高速高精度的仿真机;(2)有先进完备的环境模拟设备。国内半实物仿真技术在导弹制导、火箭控制、卫星姿态控制等应用研究方面也达到了较高水平。自20世纪80年代开始,我国建设了一批高水平、大规模的半实物仿真系统,如射频、红外制导导弹、歼击机、驱逐舰半实物仿真系统等。
半实物仿真的特点是[1]:①在回路中接入实物,必须实时运行,即仿真模型的时间标尺和自然时间标尺相同。②需要解决控制器与仿真计算机之间的接口问题。③半实物仿真的实验结果比数学仿真更接近实际。
2.半实物网络仿真
2.1 半实物网络仿真的要求
网络的半实物仿真是一种重要的网络研究方法。它允许现实世界的网络分组流量和仿真器中模拟的流量进行交互,经受用户定义的分组延时、丢失、重排序和复制。利用网络仿真,用户能够测试现实网络设备在各种不同模拟的网络环境中的功能和性能,而无需获得、了解或修改它的内部协议栈。正由于此,半实物仿真被广泛应用于测试网络协议和设备。
实时模拟IP网络对于网络仿真引擎来说是一个很大的挑战和负担。网络仿真器必须同时监视实际运行的网络作为输入数据流量、仿真流量并将仿真结果重新递交给实际运行的IP 网络。网络仿真器必须具有下列的特性才能够进行上述的网络模拟[3]:
速度快(Fast)——仿真器处理单个分组的时候必须比实际的网络要快。如果分组在模拟网络内部需要10ms,那么就要将分组在10ms以内重新递交给目的端IP电话所在的实际网络。如果这个时间增加到了50ms或者更多,那么模拟IP网络就不称职了——实际的网络设备将经历很高的端到端延时,这与实际网络情况出入太大,没有反映出真实性。
扩展性强(Scalable)——即使在网络规模达到数以千计的时候,仿真器也要执行得比实际网络运行要快。一个模拟的IP网络如果只能支持小规模网络,那么它的有用性就大打折扣了。
高保真度(High-Fidelity)——仿真器必须对模拟IP网络进行精确建模的情况下满足前面的两个要求。
这样就对网络仿真提出了很高的要求,我们需要开发能够实现实时IP网络模拟的网络半实物仿真方法。
2.2 半实物网络仿真的原理
IP网络模拟应该允许真实的网络设备(例如VoIP电话和计算机程序)通过模拟的网络进行通信[4]。这个功能是通过从实际的网络当中读取实际的IP流量,并将读取到的数据流量添加到仿真当中,然后在仿真结束时,将仿真器中的数据流量重新注入到实际的IP网络。尽管IP网络的通信效果是仿真得到的,但是对于实际的设备来说,却和真实的网络流量毫无二致。
我们开发的IP网络模拟是通过QualNet外部接口(External Interface)API实现的。这个API使得QualNet和其它的仿真器、图形用户接口(Graphic User Interface, GUI)和物理设备容易接口。它将接口简化为两个函数:获取(Get)数据和发送(Send)数据。
“Get Data”函数利用libpcap库从实际运行的IP网络中接收数据。Libpcap是一个开放
- 2 -
源代码的网络管理工具,允许QualNet从实际网络中直接读取IP分组。当QualNet确定要仿真某个读取到的IP分组(例如该分组是两个QualNet已经作了标记的真实设备之间通信的数据),QualNet将使用外部API将此IP分组添加到仿真内部。IP分组将在仿真场景中的节点之间传输,最终要么到达目的端,要么由于网络问题被丢弃。
如果某个IP分组到达其目的地,那么外部接口API将调用“Send Data”函数。此函数将该IP分组重新导入实际运行的IP网络。此过程调用另一个称为“libnet”的开源工具。IP 分组重新被送回到实际运行网络中的实际接收者——目的端IP设备。
图1 IP网络模拟器原理图
图1当中,源端IP电话(真实设备)向目的端IP电话(另一个真实设备)发起呼叫。呼叫的语音数据是以逐个IP分组的形式在网络中传输的。在传输的过程中,这些IP数据分组被QualNet导入模拟IP网络内部,从洛杉矶经过Internet传输到纽约,然后再重新导出模拟IP网络,递交给目的端IP电话。对于源端和目的端IP电话而言,模拟网络也提供了实际网络一样的传输延时和分组丢失,语音分组就好像经过了实际的Internet传输一样。从目的端的体验效果来看,是无法区分出分组是经过实际网络还是模拟网络传输的。
实时IP网络模拟具有许多好处。它使模拟网络代替了实际网络,节省了人力和财力,加速了实际设备的研发。
3.建立半实物网络仿真
我们基于QualNet建立了半实物网络仿真环境。
3.1 实验床的配置
我们的实验床包含3台运行Windows XP系统的电脑:一个作为仿真服务器,其它两个作为物理网络收发设备。
图2 配置QualNet半实物仿真实验床
实验床按照图2中标示的IP地址进行配置。这三台计算机连接到了同一个有线(或无
- 3 -