陶 晶,馮永浩
(空軍工程大學 電訊工程學院,陜西 西安 710077)
以JTIDS為終端的Link16網(wǎng)絡是美軍的主要戰(zhàn)術數(shù)據(jù)鏈,具有通信、導航、識別等多種功能。同時具有組網(wǎng)靈活,抗干擾能力強,保密性好的特點,使得JTIDS系統(tǒng)具有廣泛的應用價值。JITDS 1類終端多為大型設備,是Link16,Link11組網(wǎng)的核心端機,設備功能復雜,平時主要擔任戰(zhàn)術值班任務。2類終端構成了Link16網(wǎng)絡的主要端機部分,與1類端機組網(wǎng)可以形成較為完整的Link16網(wǎng)絡功能[1-2]。但是實際設備數(shù)量較少、精密度較高、易損壞,而且組網(wǎng)條件較為復雜。
為了克服使用實際裝備進行訓練的難度,必須設計出能夠實現(xiàn)JTIDS系統(tǒng)功能,同時結構相對簡單,成本相對低廉的JTIDS仿真訓練系統(tǒng)。JTIDS系統(tǒng)采用TDMA的工作方式進行組網(wǎng),但是,存在時隙分配、任務組劃分等策略。因此,實現(xiàn)JTIDS仿真訓練系統(tǒng)必須著力解決系統(tǒng)組網(wǎng)模式的問題。
JTIDS仿真訓練系統(tǒng)是JTIDS端機組成的Link16網(wǎng)絡的系統(tǒng)仿真,因此,系統(tǒng)必須實現(xiàn)實際網(wǎng)絡端機具備的角色分配、入網(wǎng)、通信、導航、監(jiān)視、電子戰(zhàn)、空中控制等一系列功能。同時系統(tǒng)的實時性和安全性要求必須得到滿足。
系統(tǒng)功能包括:1)控制臺對仿真訓練進行統(tǒng)一控制,提供角色分配、任務劃分、入/退網(wǎng)控制。2)端機通過發(fā)送、接收PPL信息、狀態(tài)信息、電子戰(zhàn)信息實現(xiàn)導航、監(jiān)視、識別、電子戰(zhàn)、空中控制等功能。
端機功能包括:1)端機產(chǎn)生并發(fā)送自身信息,獲得其他端機的信息。2)端機在本地數(shù)據(jù)庫建立所有其他端機的數(shù)據(jù)信息,并以此進行端機本地化操作。3)端機通過向控制臺發(fā)送入、退網(wǎng)請求,建立與控制臺的連接,完成隨時入、退網(wǎng)的功能。4)主控端機通過發(fā)送指令實現(xiàn)對指定端機的控制。
非功能需求包括:1)實時性要求,即端機進行的操作,能夠實現(xiàn)即時響應,端機對端機的控制能夠實現(xiàn)即時控制。2)記憶性要求,即在需要端機航跡的情況下,各端機能夠顯示出其他端機的航跡線,以及進行航跡相關。3)安全性要求,即系統(tǒng)工作中需要采用加密手段,防止信息、數(shù)據(jù)泄露,網(wǎng)絡中傳輸?shù)谋仨毷墙?jīng)過加密的數(shù)據(jù)包。
網(wǎng)絡結構是利用現(xiàn)有通信技術及協(xié)議方法制定的符合功能需求的拓撲結構。同時結構的設計要盡量簡單,以減少成本。
JTIDS仿真訓練系統(tǒng)采用C/S體系結構。如圖1所示。服務器端由控制臺和服務器數(shù)據(jù)庫組成。實現(xiàn)角色的分配、端機入/退網(wǎng)控制、任務分配和端機數(shù)據(jù)的存儲和轉發(fā)??蛻舳擞啥藱C及其數(shù)據(jù)庫組成。實現(xiàn)自身數(shù)據(jù)的生成和其他端機數(shù)據(jù)的存儲。網(wǎng)絡模型采用OSI的7層模型設計。使用成熟的TCP/UDP協(xié)議實現(xiàn)網(wǎng)絡通信。各端機采用總線模式與服務器端相連,端機數(shù)據(jù)需要經(jīng)過數(shù)據(jù)加密和防火墻控制實現(xiàn)安全通信,其邏輯圖如圖2所示。

圖1 JTIDS仿真訓練系統(tǒng)網(wǎng)絡結構圖

圖2 JTIDS仿真訓練系統(tǒng)網(wǎng)絡結構邏輯圖
系統(tǒng)組網(wǎng)的模式,由系統(tǒng)中各模塊通信的方式和通信鏈路條件決定。由于JTIDS仿真訓練系統(tǒng)需要實現(xiàn)PPL、狀態(tài)、電子戰(zhàn)等信息的端機獲取和廣播發(fā)送,需要滿足端機入網(wǎng)、端機控制指令的發(fā)送和響應,而且端機需要實現(xiàn)控制臺對其進行的角色分配和控制退網(wǎng)的操作。因此,對JTIDS仿真訓練系統(tǒng)的組網(wǎng)模式設計分為順序輪循模式和指令訪問模式兩種。
仿真訓練系統(tǒng)中根據(jù)角色的劃分,端機分為主控端機和一般端機兩大類。
順序輪循模式主要完成系統(tǒng)工作期間的PPL、狀態(tài)和電子戰(zhàn)等數(shù)據(jù)信息的獲取和發(fā)送。
各端機在入網(wǎng)的情況下,控制臺按照端機擔任角色,確定輪循的順序。即按照先主控端機、再一般端機的順序,控制臺進行輪循操作。
同時各端機因端機角色不同,發(fā)送的消息類型也不相同。一般端機發(fā)送PPL信息和狀態(tài)信息,而主控端機還需要發(fā)送電子戰(zhàn)消息和控制指令。因此,數(shù)據(jù)信息劃分為3種數(shù)據(jù)格式進行傳輸。數(shù)據(jù)格式定義為數(shù)據(jù)類型、端機優(yōu)先級、信息優(yōu)先級、上傳/下載、原目標地址、目標節(jié)點地址、數(shù)據(jù)長度和數(shù)據(jù)。其中,端機優(yōu)先級由端機角色決定。而信息優(yōu)先級決定了控制臺首先獲取優(yōu)先級高的數(shù)據(jù)。其順序為PPL信息、電子戰(zhàn)信息和狀態(tài)信息。
在JTIDS仿真訓練系統(tǒng)的設計中,主控端機只有1臺。因此在順序輪循模式下,控制臺對端機的輪循順序為先主控端機,再一般端機;先編號低的一般端機,再編號高的一般端機;先優(yōu)先級高的信息,再優(yōu)先級低的信息。
系統(tǒng)工作時,控制臺向端機廣播,需要主控端機的PPL信息,各端機在收到消息后,確定消息目標是否為自身端機,主控端機這時就將控制臺需要的端機信息發(fā)送到控制臺。控制臺將獲得的主控端機的PPL信息存入控制臺數(shù)據(jù)庫中,并將信息以廣播的形式發(fā)送到各端機。各端機在收到信息后,存儲到本機數(shù)據(jù)庫中,以備后期操作使用。這一操作結束后,控制臺發(fā)送需要主控端機電子戰(zhàn)信息的廣播,操作同上。在這樣一輪結束后,控制臺再向各端機發(fā)送需要主控端機的狀態(tài)信息的廣播,操作同上。之后,控制臺再發(fā)送對一般端機PPL信息、狀態(tài)信息的廣播。當控制臺在向各端機廣播發(fā)送消息,沒有端機應答,則控制臺將再次發(fā)送相同的消息,如此3次,若沒有端機應答,則控制臺判定此端機已退網(wǎng),此后,不再發(fā)送對此端機的信息需求廣播。其工作流程圖如圖3所示。

圖3 順序輪循模式工作流程圖
在這種輪詢方式下,所有的網(wǎng)絡成員共同組成了一個時分半雙工的網(wǎng)狀網(wǎng)。每個單元要么處于接收狀態(tài),要么處于發(fā)射狀態(tài)。端機一般是處于接收狀態(tài),當收到控制臺發(fā)來的信息時,端機才能發(fā)送自己的數(shù)據(jù)信息或者應答信息[3]。
順序輪循模式主要實現(xiàn)端機正常工作期間的端機工作,但不能實現(xiàn)端機與控制臺之間控制指令的及時傳輸和實時響應,因此提出指令訪問模式。
指令訪問模式為控制臺、主控端機、一般端機之間需要直接通信或間接通信,而在順序輪循模式之外發(fā)送控制指令。而指令訪問模式就是使這種控制指令能夠準確傳遞、實時響應的方法。
指令按照終端類型和功能分為兩類。終端類型指令分為控制臺指令、主控端機指令和一般端機指令。而功能指令分為角色分配指令、入網(wǎng)指令、退網(wǎng)指令和端機控制指令。其中,控制臺發(fā)送角色分配指令、控制臺控制端機退網(wǎng)指令。主控端機發(fā)送入網(wǎng)指令、端機控制指令和自主退網(wǎng)指令。一般端機發(fā)送入網(wǎng)指令和自主退網(wǎng)指令。
在端機入網(wǎng)時,各端機向控制臺發(fā)送入網(wǎng)請求,控制臺向各端機發(fā)送網(wǎng)內同步時間,實現(xiàn)同步入網(wǎng)。控制臺根據(jù)訓練指導者設定的要求,向各端機發(fā)送角色分配指令。
端機的退網(wǎng)一般有主動退網(wǎng)、控制臺控制退網(wǎng)和異常情況退網(wǎng)。異常情況退網(wǎng)為端機在斷電和程序錯誤的情況下,端機未發(fā)送指令而退網(wǎng)的情形,這種情況由順序循環(huán)模式處理。主動退網(wǎng)為端機向控制臺提出退網(wǎng)申請,控制臺根據(jù)端機角色,決定退網(wǎng)。如果是主控端機,選定接替端機,進行角色重新分配。控制臺控制端機退網(wǎng),為控制臺指定一個或多個端機退網(wǎng),其操作同主動退網(wǎng)。
指令按照數(shù)據(jù)格式的設定,存在端機優(yōu)先級和功能優(yōu)先級兩種。端機優(yōu)先級決定了端機指令的處理順序,而功能優(yōu)先級決定了相同級別端機控制指令處理的順序。但是,這種簡單優(yōu)先級的控制,對于需要退網(wǎng)、入網(wǎng)、和角色分配的端機,仍會出現(xiàn)響應不及時的問題。因此,優(yōu)先級的設定將主要采用功能優(yōu)先為主、端機優(yōu)先為輔的原則。指令優(yōu)先級順序為入網(wǎng)、退網(wǎng)、角色分配、端機控制。即在指令隊列中,指令按照入網(wǎng)、控制臺控制端機退網(wǎng)、自主退網(wǎng)、角色分配、端機控制的順序進行處理。
但是,不排除由于指令量很大,導致控制指令不斷累積,造成的時間延誤和實時性變差。因此,設置指令有效期標識符,當指令時延超過門限,指令做拋棄處理。指令訪問模式流程如圖4所示。

圖4 指令訪問模式流程圖
順序輪循模式能夠很好解決系統(tǒng)的PPL信息、狀態(tài)信息、電子戰(zhàn)信息等信息的傳送,實現(xiàn)通信、導航、識別、電子戰(zhàn)等功能。
但系統(tǒng)工作中,主控端機需要完成對端機的控制,實現(xiàn)對端機的任務指示、空中引導等功能。而且,系統(tǒng)允許端機的隨時入網(wǎng)和退網(wǎng),這就使端機與控制臺之間的控制指令必須得以及時傳輸,這時順序輪循模式將不能滿足系統(tǒng)需要。
而指令訪問模式,主要處理端機入網(wǎng)、退網(wǎng)、角色分配以及主控端機對端機控制的指令。兩種模式的功能比較圖如表1所示。

表1 系統(tǒng)功能與模式分配表
為了實現(xiàn)順序輪循模式和指令訪問模式的并行工作,在處理上加入雙線程的方法,一條線程實現(xiàn)對端機的順序輪詢的操作,按照先從優(yōu)先級高的主控端機獲得優(yōu)先級高的數(shù)據(jù)信息,再按照端機優(yōu)先級由高到低,數(shù)據(jù)優(yōu)先級由高到低的順序獲取。指令訪問模式線程時刻監(jiān)聽指令隊列。在有多條控制指令到達控制臺時,首先處理優(yōu)先級高的控制指令,再處理優(yōu)先級低的控制指令。當沒有控制指令時,則處于監(jiān)聽狀態(tài)。
JTIDS仿真訓練系統(tǒng)組網(wǎng)屬于應用層的范疇,因此仿真模塊是基于NS2[4]的Application層開發(fā),下層采用NS2提供的已有組件,同時新增了應用層模型和數(shù)據(jù)采集模塊,應用層模塊又分為控制臺節(jié)點模塊、鏈路分配模塊、初始分配模塊、文件存儲模塊和接口訪問模塊[5-7]。平臺各模塊如圖5所示。

圖5 JTIDS仿真訓練系統(tǒng)仿真模塊圖
接口訪問模塊通過Socket接口實現(xiàn)與NS2的直接通信,實現(xiàn)上層模塊向下層的消息傳遞。
控制臺節(jié)點模塊確定參與端機數(shù)量、確定通信目標和通信方式,通過鏈路分配模塊實現(xiàn)邏輯鏈路的搭建和拆除,實現(xiàn)入網(wǎng)和信息發(fā)送。
鏈路分配模塊主要實現(xiàn)雙線程的操作,負責在與控制臺節(jié)點配合下的數(shù)據(jù)信息獲取和處理,同時與接口訪問模塊配合實現(xiàn)對上傳控制指令的監(jiān)聽和處理。初始分配模塊為靜態(tài)初始化模塊,主要完成對入網(wǎng)端機的權限授予、功能分配等功能。文件存儲模塊為動態(tài)信息轉存模塊,不管是數(shù)據(jù)信息還是控制指令信息,都在與接口模塊的通信中進行庫操作。數(shù)據(jù)采集模塊集合了NS2中的狀態(tài)記錄文件*.tr的主要功能,將網(wǎng)路運行時間內,從控制臺節(jié)點模塊、鏈路分配模塊、初始分配模塊和文件存儲模塊所進行的數(shù)據(jù)操作全部記錄下來。
J T IDS仿真訓練系統(tǒng)的數(shù)據(jù)類型、數(shù)據(jù)長度、工作方式都有所不同,其格式定義如圖6所示。

圖6 JIDS數(shù)據(jù)格式
J T IDS_TYPE指傳送消息的類型,主要包括數(shù)據(jù)信息J_Data、控制信息J_Control和廣播信息J_Broadcast。OR_Flag指傳送消息的方向,主要包括J_UP和J_DOWN。Level_Flag指信息的優(yōu)先級。Src_addr指源目標節(jié)點地址。Dst_addr指目標節(jié)點地址。DATA_Length指數(shù)據(jù)長度,端機發(fā)送的數(shù)據(jù)信息有4種長度,分別是PPL信息、電子戰(zhàn)信息、狀態(tài)信息、控制信息。DATA為數(shù)據(jù)信息,NS2仿真為網(wǎng)絡性能仿真,因此數(shù)據(jù)格式中包頭為各種協(xié)議要求的內容,而數(shù)據(jù)字段都為空,只是標定數(shù)據(jù)字段長度。
根據(jù)仿真模塊圖,主要實現(xiàn)控制臺輪循對各端機信息訪問的順序輪循模式,以及端機控制指令的發(fā)送和控制臺的處理過程。因此,在順序輪循模式下實現(xiàn)端機數(shù)量與順序輪循周期的關系仿真。在有控制指令傳輸?shù)那闆r下,仿真多指令發(fā)送延遲、終端數(shù)量、線程的關系以及單線程和雙線程處理模式下,多指令發(fā)送延時抖動的關系。
網(wǎng)絡帶寬100 Mbit/s,網(wǎng)絡時延10 ms,路由器隊列長度為10,使用Droptail模式,廣播包大小為40 bit,指令包大小為200 bit,數(shù)據(jù)包大小為1 000 bit,假設端機發(fā)送數(shù)據(jù)信息為PPL信息和狀態(tài)信息,端機按照序號由低到高先后發(fā)送PPL信息和狀態(tài)信息,端機數(shù)量為1~40。
圖7為對順序輪詢模式端機數(shù)量與輪循周期的比較圖,在端機數(shù)量一定,端機發(fā)送消息類型相同的情況下,輪循周期隨著端機數(shù)量的增加成線性增長。同時可以得到推論,在端機數(shù)量一定、端機分配角色已知的情況下,端機輪循時間為定值。

圖7 順序輪循模式周期、端機數(shù)關系
圖8為在有控制指令的情況下,端機指令到控制臺的延時情況對比圖。從圖中可以看出,單線程處理指令,時延較長且不穩(wěn)定,使用雙線程處理指令延時很小,可忽略不計。
圖9為端機數(shù)量為5的情況下,單線程與雙線程指令延時抖動特性。從圖中可以看出,單線程的指令延時抖動很明顯。而在雙線程模式下,時延抖動很小,基本可以認為沒有抖動,保證了指令傳輸?shù)膶崟r性和穩(wěn)定性要求。
筆者設計了JTIDS仿真訓練系統(tǒng)的組網(wǎng)模式,并依據(jù)NS2仿真軟件設計了JTIDS仿真訓練系統(tǒng)的組網(wǎng)仿真模塊,通過在該模塊下的仿真,驗證了該組網(wǎng)模式能夠滿足JTIDS仿真訓練系統(tǒng)的穩(wěn)定性和實時性要求。

圖8 單、雙線程端機到控制臺指令時延

圖9 單、雙線程端機到控制臺延時抖動
[1]梅文華,蔡善法.JTIDS/Link16數(shù)據(jù)鏈[M].北京:國防工業(yè)出版社,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]李林,毛玉泉,李連寶,等.陸航數(shù)據(jù)鏈輪循組網(wǎng)模式應用研究[J].通信技術,2009(1):143-145.
[4]于斌.NS2與網(wǎng)絡建模[M].北京:人民郵電出版社,2006.
[5]吳堃,戴菡,葉保留,等.基于NS2的P2P網(wǎng)絡模擬平臺研究[J].系統(tǒng)仿真學報,2006(8):2152-2157.
[6]任浩,王勁林,魯逸峰,等.基于NS2的P2P流媒體系統(tǒng)仿真平臺的設計[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.