实时半实物网络模拟仿真方法研究
1.仿真及半实物仿真 1.1仿真分类 (1)计算机仿真。其特点是系统用严格的数学模型表示,不使用实际系统的任何部件。计算机仿真的模型抽象程度最高,仿真费用最省,仿真所花的时间最少,作各种变量控制试验也最方便。但它有一个最致命的弱点,即仿真结果的可信度较差。 (2)实物仿真。即系统原型方法,特点是全部使用实际系统的子系统或部件,系统原型可以任意接近最后的系统配置。实物仿真与实际系统最接近,仿真结果最可信,但费用高,执行起来所花时间长,作变量控制试验也不方便。 (3)半实物仿真,又称为硬件在回路(Hardware-In-Loop,HWIL)仿真。被仿真系统有一部分用与实际系统相同或相近的实物,其它部分则采用计算机仿真形式。半实物仿真是一种将控制器(实物)与在计算机上实现的控制对象的仿真模型(数学仿真)联接在一起进行实验的技术。在这种实验中,控制器的动态特性、静态特性和非线性因素等都能真实地反映出来,因此它是一种更接近实际的仿真实验技术。这种仿真技术可用于修改控制器设计,同时也广泛用于产品的修改定型、产品改型和出厂检验等方面。 1.2半实物仿真及其特点 (1)有高速高精度的仿真机; (2)有先进完备的环境模拟设备。 国内半实物仿真技术在导弹制导、火箭控制、卫星姿态控制等应用研究方面也达到了较高水平。自20世纪80年代开始,我国建设了一批高水平、大规模的半实物仿真系统,如射频、红外制导导弹、歼击机、驱逐舰半实物仿真系统等。 半实物仿真的特点是: 2.1半实物网络仿真的要求 实时模拟IP网络对于网络仿真引擎来说是一个很大的挑战和负担。网络仿真器必须同时监视实际运行的网络作为输入数据流量、仿真流量并将仿真结果重新递交给实际运行的IP网络。网络仿真器必须具有下列的特性才能够进行上述的网络模拟: 速度快(Fast)——仿真器处理单个分组的时候必须比实际的网络要快。如果分组在模拟网络内部需要10ms,那么就要将分组在10ms以内重新递交给目的端IP电话所在的实际网络。如果这个时间增加到了50ms或者更多,那么模拟IP网络就不称职了——实际的网络设备将经历很高的端到端延时,这与实际网络情况出入太大,没有反映出真实性。 扩展性强(Scalable)——即使在网络规模达到数以千计的时候,仿真器也要执行得比实际网络运行要快。一个模拟的IP网络如果只能支持小规模网络,那么它的有用性就大打折扣了。 高保真度(High-Fidelity)——仿真器必须对模拟IP网络进行精确建模的情况下满足前面的两个要求。 这样就对网络仿真提出了很高的要求,我们需要开发能够实现实时IP网络模拟的网络半实物仿真方法。 2.2半实物网络仿真的原理 我们开发的IP网络模拟是通过QualNet外部接口(ExternalInterface)API实现的。这个API使得QualNet和其它的仿真器、图形用户接口(GraphicUserInterface,GUI)和物理设备容易接口。它将接口简化为两个函数:获取(Get)数据和发送(Send)数据。 “GetData”函数利用libpcap库从实际运行的IP网络中接收数据。Libpcap是一个开放源代码的网络管理工具,允许QualNet从实际网络中直接读取IP分组。当QualNet确定要仿真某个读取到的IP分组(例如该分组是两个QualNet已经作了标记的真实设备之间通信的数据),QualNet将使用外部API将此IP分组添加到仿真内部。IP分组将在仿真场景中的节点之间传输,最终要么到达目的端,要么由于网络问题被丢弃。 如果某个IP分组到达其目的地,那么外部接口API将调用“SendData”函数。此函数将该IP分组重新导入实际运行的IP网络。此过程调用另一个称为“libnet”的开源工具。IP分组重新被送回到实际运行网络中的实际接收者——目的端IP设备。 图1当中,源端IP电话(真实设备)向目的端IP电话(另一个真实设备)发起呼叫。呼叫的语音数据是以逐个IP分组的形式在网络中传输的。在传输的过程中,这些IP数据分组被QualNet导入模拟IP网络内部,从洛杉矶经过Internet传输到纽约,然后再重新导出模拟IP网络,递交给目的端IP电话。对于源端和目的端IP电话而言,模拟网络也提供了实际网络一样的传输延时和分组丢失,语音分组就好像经过了实际的Internet传输一样。从目的端的体验效果来看,是无法区分出分组是经过实际网络还是模拟网络传输的。 实时IP网络模拟具有许多好处。它使模拟网络代替了实际网络,节省了人力和财力,加速了实际设备的研发。 3.建立半实物网络仿真 3.1实验床的配置 实验床按照图2中标示的IP地址进行配置。这三台计算机连接到了同一个有线(或无线)交换机上。 这样,这三台计算机就处于同一个网段内并且能够相互访问,我们需要对192.168.0.1和192.168.0.4这两台计算机进行如下的静态路由配置,使得二者之间的通信都必须经过仿真服务器转发: route-padd100.100.10.0mask255.255.255.0192.168.0.100 3.2仿真场景的配置 这个示例场景一共有四个节点,IP地址分别是100.100.10.1、100.100.10.2、100.100.10.3和100.100.10.4,组成了一个移动自组织网络(MobileAdHocNetworks,MANET)。它们都具有802.11射频,运行AODV(AdHocOnDemandVector)路由协议。最左边的1号节点向最右边的4号节点发送恒定比特率(ConstantBitRate,CBR)流量,数据经由中间的2号或3号节点转发。 3.3半实物仿真的配置 影射的结果就是将100.100.10.1和100.100.10.4这两个节点分别和192.168.0.1和192.168.0.4这两个计算机建立匹配关系。由192.168.0.1计算机发送的数据发送到192.168.0.100后,仿真器会将数据导入100.100.10.1节点,接着由100.100.10.1节点把数据通过仿真器中模拟的场景进行传输,最终到达100.100.10.4节点,再由100.100.10.4节点把数据导出到192.168.0.4计算机。 对于192.168.0.1和192.168.0.4上运行的端到端应用程序而言,仿真器是透明的。192.168.0.4收到的数据就好象是经过这四个仿真节点组成的AdHoc网络传输的一样。 4.仿真实例 我们设置的仿真场景如图4所示: 最左端和最右端的两个节点分别是视频的发送端和接收端。中间的节点个数可变,用来表示视频分组从信源到信宿经过了几跳的中继传输。我们进行了1~9跳的仿真实验。 在接收端,我们将接收到的视频数据分组进行了实时记录,从最终文件的大小我们可以看出经过不同网络环境传输后的视频分组的丢包情况,根据对接收视频文件的主观评价标准,我们可以看出经过不同网络环境传输后的视频分组的出错情况。 从图5可以看出,AdHoc网络中的中继跳数是一个非常重要的性能参数指标。 根据记录视频文件回放的主观视频质量评价,我们可以看出,在我们实验设置的参数下,随着跳数的增加,视频质量的下降趋势和图6所示的文件大小的变化趋势相同:超过4跳的AdHoc传输以后,我们几乎无法观察视频图像;从3跳开始,音频质量就已经下降了很多,令人无法接受了。 5.结论 我们后续可以通过改变仿真场景,获得不同网络拓扑和配置下的传输效果,进而改进网络协议,直到获得较为满意的结果。 参考文献 作者简介: >>相关产品 |