JTIDS仿真训练系统组网模式研究
2010-03-14冯永浩
陶 晶,冯永浩
(空军工程大学 电讯工程学院,陕西 西安 710077)
1 引言
以JTIDS为终端的Link16网络是美军的主要战术数据链,具有通信、导航、识别等多种功能。同时具有组网灵活,抗干扰能力强,保密性好的特点,使得JTIDS系统具有广泛的应用价值。JITDS 1类终端多为大型设备,是Link16,Link11组网的核心端机,设备功能复杂,平时主要担任战术值班任务。2类终端构成了Link16网络的主要端机部分,与1类端机组网可以形成较为完整的Link16网络功能[1-2]。但是实际设备数量较少、精密度较高、易损坏,而且组网条件较为复杂。
为了克服使用实际装备进行训练的难度,必须设计出能够实现JTIDS系统功能,同时结构相对简单,成本相对低廉的JTIDS仿真训练系统。JTIDS系统采用TDMA的工作方式进行组网,但是,存在时隙分配、任务组划分等策略。因此,实现JTIDS仿真训练系统必须着力解决系统组网模式的问题。
2 JTIDS仿真训练系统网络结构设计
2.1 系统功能
JTIDS仿真训练系统是JTIDS端机组成的Link16网络的系统仿真,因此,系统必须实现实际网络端机具备的角色分配、入网、通信、导航、监视、电子战、空中控制等一系列功能。同时系统的实时性和安全性要求必须得到满足。
系统功能包括:1)控制台对仿真训练进行统一控制,提供角色分配、任务划分、入/退网控制。2)端机通过发送、接收PPL信息、状态信息、电子战信息实现导航、监视、识别、电子战、空中控制等功能。
端机功能包括:1)端机产生并发送自身信息,获得其他端机的信息。2)端机在本地数据库建立所有其他端机的数据信息,并以此进行端机本地化操作。3)端机通过向控制台发送入、退网请求,建立与控制台的连接,完成随时入、退网的功能。4)主控端机通过发送指令实现对指定端机的控制。
非功能需求包括:1)实时性要求,即端机进行的操作,能够实现即时响应,端机对端机的控制能够实现即时控制。2)记忆性要求,即在需要端机航迹的情况下,各端机能够显示出其他端机的航迹线,以及进行航迹相关。3)安全性要求,即系统工作中需要采用加密手段,防止信息、数据泄露,网络中传输的必须是经过加密的数据包。
2.2 网络结构设计
网络结构是利用现有通信技术及协议方法制定的符合功能需求的拓扑结构。同时结构的设计要尽量简单,以减少成本。
JTIDS仿真训练系统采用C/S体系结构。如图1所示。服务器端由控制台和服务器数据库组成。实现角色的分配、端机入/退网控制、任务分配和端机数据的存储和转发。客户端由端机及其数据库组成。实现自身数据的生成和其他端机数据的存储。网络模型采用OSI的7层模型设计。使用成熟的TCP/UDP协议实现网络通信。各端机采用总线模式与服务器端相连,端机数据需要经过数据加密和防火墙控制实现安全通信,其逻辑图如图2所示。
图1 JTIDS仿真训练系统网络结构图
图2 JTIDS仿真训练系统网络结构逻辑图
3 JTIDS仿真训练系统组网模式设计
系统组网的模式,由系统中各模块通信的方式和通信链路条件决定。由于JTIDS仿真训练系统需要实现PPL、状态、电子战等信息的端机获取和广播发送,需要满足端机入网、端机控制指令的发送和响应,而且端机需要实现控制台对其进行的角色分配和控制退网的操作。因此,对JTIDS仿真训练系统的组网模式设计分为顺序轮循模式和指令访问模式两种。
仿真训练系统中根据角色的划分,端机分为主控端机和一般端机两大类。
3.1 顺序轮循模式
顺序轮循模式主要完成系统工作期间的PPL、状态和电子战等数据信息的获取和发送。
各端机在入网的情况下,控制台按照端机担任角色,确定轮循的顺序。即按照先主控端机、再一般端机的顺序,控制台进行轮循操作。
同时各端机因端机角色不同,发送的消息类型也不相同。一般端机发送PPL信息和状态信息,而主控端机还需要发送电子战消息和控制指令。因此,数据信息划分为3种数据格式进行传输。数据格式定义为数据类型、端机优先级、信息优先级、上传/下载、原目标地址、目标节点地址、数据长度和数据。其中,端机优先级由端机角色决定。而信息优先级决定了控制台首先获取优先级高的数据。其顺序为PPL信息、电子战信息和状态信息。
在JTIDS仿真训练系统的设计中,主控端机只有1台。因此在顺序轮循模式下,控制台对端机的轮循顺序为先主控端机,再一般端机;先编号低的一般端机,再编号高的一般端机;先优先级高的信息,再优先级低的信息。
系统工作时,控制台向端机广播,需要主控端机的PPL信息,各端机在收到消息后,确定消息目标是否为自身端机,主控端机这时就将控制台需要的端机信息发送到控制台。控制台将获得的主控端机的PPL信息存入控制台数据库中,并将信息以广播的形式发送到各端机。各端机在收到信息后,存储到本机数据库中,以备后期操作使用。这一操作结束后,控制台发送需要主控端机电子战信息的广播,操作同上。在这样一轮结束后,控制台再向各端机发送需要主控端机的状态信息的广播,操作同上。之后,控制台再发送对一般端机PPL信息、状态信息的广播。当控制台在向各端机广播发送消息,没有端机应答,则控制台将再次发送相同的消息,如此3次,若没有端机应答,则控制台判定此端机已退网,此后,不再发送对此端机的信息需求广播。其工作流程图如图3所示。
图3 顺序轮循模式工作流程图
在这种轮询方式下,所有的网络成员共同组成了一个时分半双工的网状网。每个单元要么处于接收状态,要么处于发射状态。端机一般是处于接收状态,当收到控制台发来的信息时,端机才能发送自己的数据信息或者应答信息[3]。
3.2 指令访问模式
顺序轮循模式主要实现端机正常工作期间的端机工作,但不能实现端机与控制台之间控制指令的及时传输和实时响应,因此提出指令访问模式。
指令访问模式为控制台、主控端机、一般端机之间需要直接通信或间接通信,而在顺序轮循模式之外发送控制指令。而指令访问模式就是使这种控制指令能够准确传递、实时响应的方法。
指令按照终端类型和功能分为两类。终端类型指令分为控制台指令、主控端机指令和一般端机指令。而功能指令分为角色分配指令、入网指令、退网指令和端机控制指令。其中,控制台发送角色分配指令、控制台控制端机退网指令。主控端机发送入网指令、端机控制指令和自主退网指令。一般端机发送入网指令和自主退网指令。
在端机入网时,各端机向控制台发送入网请求,控制台向各端机发送网内同步时间,实现同步入网。控制台根据训练指导者设定的要求,向各端机发送角色分配指令。
端机的退网一般有主动退网、控制台控制退网和异常情况退网。异常情况退网为端机在断电和程序错误的情况下,端机未发送指令而退网的情形,这种情况由顺序循环模式处理。主动退网为端机向控制台提出退网申请,控制台根据端机角色,决定退网。如果是主控端机,选定接替端机,进行角色重新分配。控制台控制端机退网,为控制台指定一个或多个端机退网,其操作同主动退网。
指令按照数据格式的设定,存在端机优先级和功能优先级两种。端机优先级决定了端机指令的处理顺序,而功能优先级决定了相同级别端机控制指令处理的顺序。但是,这种简单优先级的控制,对于需要退网、入网、和角色分配的端机,仍会出现响应不及时的问题。因此,优先级的设定将主要采用功能优先为主、端机优先为辅的原则。指令优先级顺序为入网、退网、角色分配、端机控制。即在指令队列中,指令按照入网、控制台控制端机退网、自主退网、角色分配、端机控制的顺序进行处理。
但是,不排除由于指令量很大,导致控制指令不断累积,造成的时间延误和实时性变差。因此,设置指令有效期标识符,当指令时延超过门限,指令做抛弃处理。指令访问模式流程如图4所示。
图4 指令访问模式流程图
3.3 模式关系及处理方法设计
顺序轮循模式能够很好解决系统的PPL信息、状态信息、电子战信息等信息的传送,实现通信、导航、识别、电子战等功能。
但系统工作中,主控端机需要完成对端机的控制,实现对端机的任务指示、空中引导等功能。而且,系统允许端机的随时入网和退网,这就使端机与控制台之间的控制指令必须得以及时传输,这时顺序轮循模式将不能满足系统需要。
而指令访问模式,主要处理端机入网、退网、角色分配以及主控端机对端机控制的指令。两种模式的功能比较图如表1所示。
表1 系统功能与模式分配表
为了实现顺序轮循模式和指令访问模式的并行工作,在处理上加入双线程的方法,一条线程实现对端机的顺序轮询的操作,按照先从优先级高的主控端机获得优先级高的数据信息,再按照端机优先级由高到低,数据优先级由高到低的顺序获取。指令访问模式线程时刻监听指令队列。在有多条控制指令到达控制台时,首先处理优先级高的控制指令,再处理优先级低的控制指令。当没有控制指令时,则处于监听状态。
4 JTIDS仿真训练系统组网建模仿真
4.1 仿真模块架构
JTIDS仿真训练系统组网属于应用层的范畴,因此仿真模块是基于NS2[4]的Application层开发,下层采用NS2提供的已有组件,同时新增了应用层模型和数据采集模块,应用层模块又分为控制台节点模块、链路分配模块、初始分配模块、文件存储模块和接口访问模块[5-7]。平台各模块如图5所示。
图5 JTIDS仿真训练系统仿真模块图
接口访问模块通过Socket接口实现与NS2的直接通信,实现上层模块向下层的消息传递。
控制台节点模块确定参与端机数量、确定通信目标和通信方式,通过链路分配模块实现逻辑链路的搭建和拆除,实现入网和信息发送。
链路分配模块主要实现双线程的操作,负责在与控制台节点配合下的数据信息获取和处理,同时与接口访问模块配合实现对上传控制指令的监听和处理。初始分配模块为静态初始化模块,主要完成对入网端机的权限授予、功能分配等功能。文件存储模块为动态信息转存模块,不管是数据信息还是控制指令信息,都在与接口模块的通信中进行库操作。数据采集模块集合了NS2中的状态记录文件*.tr的主要功能,将网路运行时间内,从控制台节点模块、链路分配模块、初始分配模块和文件存储模块所进行的数据操作全部记录下来。
4.2 仿真场景设置
4.2.1 数据格式设置
J T IDS仿真训练系统的数据类型、数据长度、工作方式都有所不同,其格式定义如图6所示。
图6 JIDS数据格式
J T IDS_TYPE指传送消息的类型,主要包括数据信息J_Data、控制信息J_Control和广播信息J_Broadcast。OR_Flag指传送消息的方向,主要包括J_UP和J_DOWN。Level_Flag指信息的优先级。Src_addr指源目标节点地址。Dst_addr指目标节点地址。DATA_Length指数据长度,端机发送的数据信息有4种长度,分别是PPL信息、电子战信息、状态信息、控制信息。DATA为数据信息,NS2仿真为网络性能仿真,因此数据格式中包头为各种协议要求的内容,而数据字段都为空,只是标定数据字段长度。
4.2.2 仿真内容设置
根据仿真模块图,主要实现控制台轮循对各端机信息访问的顺序轮循模式,以及端机控制指令的发送和控制台的处理过程。因此,在顺序轮循模式下实现端机数量与顺序轮循周期的关系仿真。在有控制指令传输的情况下,仿真多指令发送延迟、终端数量、线程的关系以及单线程和双线程处理模式下,多指令发送延时抖动的关系。
4.2.3 仿真设置与分析
网络带宽100 Mbit/s,网络时延10 ms,路由器队列长度为10,使用Droptail模式,广播包大小为40 bit,指令包大小为200 bit,数据包大小为1 000 bit,假设端机发送数据信息为PPL信息和状态信息,端机按照序号由低到高先后发送PPL信息和状态信息,端机数量为1~40。
图7为对顺序轮询模式端机数量与轮循周期的比较图,在端机数量一定,端机发送消息类型相同的情况下,轮循周期随着端机数量的增加成线性增长。同时可以得到推论,在端机数量一定、端机分配角色已知的情况下,端机轮循时间为定值。
图7 顺序轮循模式周期、端机数关系
图8为在有控制指令的情况下,端机指令到控制台的延时情况对比图。从图中可以看出,单线程处理指令,时延较长且不稳定,使用双线程处理指令延时很小,可忽略不计。
图9为端机数量为5的情况下,单线程与双线程指令延时抖动特性。从图中可以看出,单线程的指令延时抖动很明显。而在双线程模式下,时延抖动很小,基本可以认为没有抖动,保证了指令传输的实时性和稳定性要求。
5 小结
笔者设计了JTIDS仿真训练系统的组网模式,并依据NS2仿真软件设计了JTIDS仿真训练系统的组网仿真模块,通过在该模块下的仿真,验证了该组网模式能够满足JTIDS仿真训练系统的稳定性和实时性要求。
图8 单、双线程端机到控制台指令时延
图9 单、双线程端机到控制台延时抖动
[1]梅文华,蔡善法.JTIDS/Link16数据链[M].北京:国防工业出版社,2007.
[2]LESLIE C,GOLLIDAY J.DataLink communications in tactical air command and control system[J].IEEE Journal on Selected Areas in Communications,2005,3(5):779-791.
[3]李林,毛玉泉,李连宝,等.陆航数据链轮循组网模式应用研究[J].通信技术,2009(1):143-145.
[4]于斌.NS2与网络建模[M].北京:人民邮电出版社,2006.
[5]吴堃,戴菡,叶保留,等.基于NS2的P2P网络模拟平台研究[J].系统仿真学报,2006(8):2152-2157.
[6]任浩,王劲林,鲁逸峰,等.基于NS2的P2P流媒体系统仿真平台的设计[J].微计算机应用,2008(10):26-30.
[7]PORTMANN M,SENEVIRATNE A.Cost-effective broadcast for fully decentralized peer-to-peer networks[J].Computer Communications Journal Special Issue on Ubiquitous Computing,2002,26(11):1159-1167.