HLA仿真系统中应用层组播通信的设计与实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第22卷第3期计算机仿真2004年4月

文章编号:1006—9348(2005)03—0145—04

HLA/RTI仿真系统中应用层组播通信的设计与实现

汤伟1,刘晓明2,黄松2

(1.解放军理工大学通信工程学院,江苏南京210007;2解放军理工大学指挥自动化学院,江苏南京210007)摘要:底层通信方式是影响/-KA/RTI仿真系统性能的一个重要因素。采用组播的通信方式能够显著的提高HLA/RTI仿真

系统的性能。基于口组播的应用研究了很长时间,但在实施上还存在很多困难,软硬件方面的问题都有。近年来,不少人

都开始反思口组播体系结构本身的问题,并提出将复杂的组播功能放在端系统来实现的新思想,这就是应用层组播技术。

该文根据应用层组播的思想,设计实现了一套简单的基于应用层组播的I-ILA/RTI组播通信解决方案,为解决HLA/RTI仿真

系统的通信问题提供了新思路。

关键词:分布式仿真;高级体系结构;组播;应用层组播技术

中图分类号:TP391.9文献标识码:A

DesignandImplementationofApplicationLayer

MulticastinginHLA/RTISimulationSystem

TANGWeil,LIUXiao—min_,HUANGSong

(1.InstituteofCommunicationEngineer,PLAUniv.ofSci.&Tech.,NanjingJiangsu210007,China;

2.InstituteofCommandAutomation,PLAUniv.ofSci.&Teeh.,NanjiIlgJiangsu210(}07,China)AB蜘[RACI.:ThewayofcommunicationhasmucheffectontheperformanceofHLA/RTIsimulationsystem.Usingmulti-

casanginsteadofbroadcastinginHLA/RTIsiml】1ationsystemvanimprovetheperformancegreatly.Muchtimehadbeen

takentostudyIPmulticasting,however,it’sdifficulttoputitintoapplication.Recently,anewthoughtwasputforwardby

80meresearcher.Thenewtechnologyiscalledappheafionlayermulticastwhichimplementthemulticastinginendsystem

insteadofinnetworksystem.qhispaperproposedasolutiontotheHL∥RTIcommunicationbasedontheapplicationlayer

multicast.

KEYWORI)s:Distributedsimulation;HighIevelArchitecture(LHA);Multicast;Applicationlayermulticast

1引言

随着计算机技术、网络技术、仿真技术和虚拟技术的发展,分布式仿真越来越多地被运用到各个领域当中。从早期的D/S系统,到现在的甩A框架,采用的技术越来越先进,应用范围也日趋广泛。DIS系统采用的是广播的通信方式。而在阳A框架中,由RTI来提供管理功能和通信支持。RTI一般可采用多种通信方式来系统通信支持,例如在多处理机系统中,可采用共享内存的方式进行通信,而在当前普遍应用的TCP/IP网络中,一般是采用基于口的计算机网络互连这种通信方式。

基于HIA/RTI体系结构的分布式仿真系统主要包括:底层通信网络、运行时支撑结构(Run—TimeInfrastructure,RTI),应用对象模型和管理对象模型。RTI是联邦执行的核心,是

收稿日期;2003—10—09仿真系统进行分层管理控制、实现分布式交互仿真可扩充性的基础。RTI具有以下特点:各个联邦成员可以使用不同的程序语言、操作系统和设备;加入联邦的成员数量不受限制;RTI作为软件的核心,具有通用性,不随仿真的种类和内容而变化。这种结构能够保证仿真应用的设计可以独立于联邦,也增强了仿真应用的互操作性,提高了仿真平台的可重用性。由于HLA/RTI仿真系统有自己的特点,通常是一部分联邦成员对某些数据感兴趣,之间存在着数据通信。这种情况下,通常是采取组播的通信方式,如果按照DIS采用广播,会造成网络带宽资源的浪费,严重时还会造成广播风暴,严重影响系统的性能。但是组播通信虽然研究了很多年,真正投人应用的却非常少,主要的问题包括扩展性,网络管理,实施和高层应用的支持。本文针对这一情况,提出了一套基于应用层组播的解决方案。

---——145・--——

 万方数据

2Ⅲ。A/RⅡ通信需求

通信与连接方式是影响HLA/RTI仿真系统性能的一个重要因素。在联邦执行过程中,各种控制类消息和数据类消息的传输都是依靠网络来实现的。对于控制类消息,必须保证准确的传输,常采用点到点可靠方式通信。数据类消息可以分为可靠和尽最大努力传输,通常采用组播方式来实现。

在HLA系统环境中,可以确定有以下几种通信需求:

・低反应时间尽最大努力的组播通信;这种通信方式主要用来传输频繁变化的对象属性,比如说一个移动对象的位置等等,这些数据允许在一定的比例内丢失,丢失的数据不会对仿真系统产生很大的影响。

・低反应时间可靠组播通信;这种通信方式主要用来传输非连续变化但可能在任意时刻改变的对象属性,例如一个对象的外观等等。

・组播组中任意成员间一些突发数据的低反应时间可靠单播。

・大块数据非实时组播通信;相应数据例如地形数据库、对象枚举等等。

・RTI组件之间控制信息的可靠单播。。

以上所述通信需求都有各自的侧重点。到目前为止,还没有哪一种通信协议能够完全满足所有的需求,例如有的需要可靠的组播通信协议,有的需要普通的组播通信协议,有的仅仅是单播通信,用TCP协议就能满足。可靠的组播通信协议已经有不少机构提出,例如RSqI'(ReliableSelectivelyTransportProtocd)协议等等,但是还未达到实用的水平。美国国防部的DMSORTI使用的就是普通m组播。

3职组播应用局限性与应用层组播技术

基于田层的组播技术虽然经过了多年的研究,但是在应用实施上,还存在一定的困难。主要的问题包括扩展性、网络管理、实施和高层应用的支持。口组播中,所有介于发送者和接收者之间的路由器、集线器、交换机、TCP/IP协议栈、防火墙等,均需要支持组播;路由器上需要安装组播管理软件、组播路由协议软件等;需要配置相应的组播地址分配服务器。组播路由的配置是一项相当复杂的工作,绝大部分管理员都不愿意进行组播路由的配置工作,因此目前的绝大多数集线器、交换机以及路由器都是简单地将组播数据当作广播数据来接收和发送。目前口组播应用还处于刚刚起步的阶段,有许多问题,如实时性、可靠性等,都有待解决。

面对口组播业务在因特网中的困境,一些研究者开始反思口组播体系结构本身的问题,提出将复杂的组播功能放在端系统实现的新思想。端系统实现组播业务的思想是将组播作为一种叠加的业务,实现为应用层的服务,因此,端系统组播又称为应用层组播(Applicationlayermulticast)。图1显示了应用层组播在毋体系结构中所处的位置。

应用层组播技术的目标是在Intemet上层构建组播服务,部分代替口组播服务。它允许建立独立的媒体组播网一146一

络。媒体组播网络可以利用分布网络的互连,通过在不同种类的服务提供者之间的应用层的对等关系来构建。在媒体组播网络中,每个具有组播能力的节点(称为媒体桥:Media.Bridge)执行应用层的路由。另外,每个媒体桥和一个或多个邻居媒体桥通过明确的配置互连,这个互连建立了应用层重叠拓扑。媒体桥在媒体组播网络中执行一个分布的应用层组播路由算法来确定一条优化的虚拟组播路径。应用层组播的优点是打破了口组播的一些障碍。可以以更灵活的方式实现组播控制。应用层技术提出后的短短几年,多个研究机构都开展了应用层组播体系结构的研究项目,如ESM(EndSystemMulticast)、I-IM(HostMulticast)、Y011)、Overcast等等。这些应用层组播方案都是面向特定的上层应用的。

4基于应用层的HLA/RTI组播通信方案

4.1组播方案概述

针对分布式仿真系统的特点,提出了一套简单的基于应用层的组播方案。此方案在结构上分为三个层次:客户端、客户端代理和中心服务器。三个层次中,客户端代理和中心服务器与仿真应用以及仿真平台没有交互,只有客户端对RTI提供通信调用接口。结构示意图如图2所示。此方案采用的是“无根”的组织模型,即任何一个参与组播的成员(也就是客户端)都有权力加入组播组,不存在一个管理成员加人或者退出的根节点。各个层次之间采用的通信方式有所不同,为了减轻客户端代理的负担,客户端代理之间、客户端代理和客户端之间采用UDP方式通信,而为了保证各个客户端代理中组播信息的一致性,客户端代理和中心服务器之间采用TCP连接,以确保通信的可靠信。

在这种结构中,客户端就是参与组播通信的发送者或者接收者;组播数据的分发由各个客户端代理来完成,客户端代理执行应用层的路由功能;中心服务器主要作用是协调各个客户端代理的状态,使得当前组播组的状态对于所有的客户端系统来说,都是相同的。每个客户端代理知道自己所代理的每一个客户端,以及其它的每一个客户端代理和所代理的客户端,每一个客户端代理也维护了一张组播表,这张表中记录所有的组播组和组播成员。每个客户端代理维护的信息是一致的。当一个客户端要加入系统时,需要在一个客户端代理上注册,然后客户端代理将此信息通知中心服务器,中心服务器再通知所有的客户端代理。增加一个客户端代理时,也需要通知中心服务器,然后由中心服务器通知所有其它的客户端代理。一个客户端加入或者退出某一个组播组,就向自己的客户端代理提出请求,然后客户端代理将组播表的更新并且通过中心服务器通知给所有其它客户端代理。组播数据的转发由各个客户端的客户端代理来完成。当一个客户端要发送组播数据时,首先将数据交给客户端代理,客户端代理根据组播表找到组播组中的成员,然后再找到这些成员分别由那些客户端代理来代理,最后将组播数据发送给这些客户端代理;客户端代理受到数据后,对照组播

 万方数据

相关文档
最新文档