四川九洲電器集團有限責任公司 苗 東
通信抗干擾技術的發(fā)展對通信對抗提出了新的要求,隨著常規(guī)通信對抗手段所取得的作戰(zhàn)效能不斷下降,現(xiàn)有的通信對抗技術以及工作模式已不能完全適應未來軍事任務需求,而分布式通信手段是在性能、成本、功率方面可能取突破的重要方式。本文闡述了通信對抗系統(tǒng)分布式通信架構的設計方法。
隨著軍民用通信設備的數量、類型以及更新速度快速增長,通信環(huán)境呈現(xiàn)高度復雜化,動態(tài)化特征,對通信對抗偵察和干擾手段提出了更高的要求。大型一體化的通信對抗系統(tǒng)將不同種類,不同用途的偵察設備,測向設備,干擾設備以及根據作戰(zhàn)需求定義的各種功能的軟件系統(tǒng),綜合為一個通用平臺,需要通過計算機網絡實現(xiàn)平臺中的信息共享,資源互通。
在大型通信對抗系統(tǒng)中,各個硬件設備、軟件模塊以及子系統(tǒng)之間通過大量的數據通信以實現(xiàn)協(xié)同工作,共同完成偵察、測向、干擾任務,因此研究大型通信對抗系統(tǒng)的通信體系架構具有重要意義。結合開放式分布式體系結構設計的思想,本文旨在該領域進行一定的探索研究。
分布式系統(tǒng)是指通過計算機網絡將各個異構的工作節(jié)點連接起來,為用戶提供一種跨網絡的任務支持系統(tǒng),同時用戶也可以充分利用網絡中的各個工作節(jié)點的計算資源,整個過程對用戶是完全透明的[1]。其內部的各個軟硬件設備及其子系統(tǒng)之間通過大規(guī)模的信息交互和協(xié)同工作,以實現(xiàn)數據的采集,傳遞和處理。目前,分布式系統(tǒng)中的信息交互和協(xié)同工作有多種機制[2],主要包括消息傳遞、遠程過程調用、共享空間、消息隊列、發(fā)布訂閱等。
不同的通信機制比較如表1所示:
表1 分布式通信機制對比圖
目前,通信對抗系統(tǒng)廣泛采用基于socket消息傳遞的通信機制,其主要存在以下缺點:
(1)單一的通信機制,難以適應復雜的通信需求;
(2)協(xié)同工作的參與者必須知道彼此在網絡中的位置才能夠完成通信,缺乏透明性;
(3)協(xié)同工作的參與者通信所使用的通信協(xié)議及設備多種多樣,缺乏統(tǒng)一的接口支持,缺乏易用性;
(4)當有新設備接入或者更替時,需要針對新設備進行一系列的文件重配置和軟件重編譯,使用復雜,缺乏可擴展性。
分布式通信對抗系統(tǒng),其核心就是采用相關技術,實現(xiàn)其分布式數據通信方式。
中間件是當前實現(xiàn)異構系統(tǒng)之間透明訪問的一項主要技術,它屏蔽了構成分布式系統(tǒng)的各個組成部分之間的硬件環(huán)境、操作系統(tǒng)以及編程語言等差異,為實現(xiàn)軟件模塊在分布式系統(tǒng)中的即插即用奠定了堅實的基礎[3]。
中間件位于操作系統(tǒng)和應用程序之間,為分布式計算機網絡中復雜的計算資源提供跨網絡、跨平臺的資源共享和互操作。通過使用中間件,可以達到系統(tǒng)內各組成部分在物理上分布、邏輯上統(tǒng)一的目的?;谥虚g件的分布式軟件設計技術也是大型系統(tǒng)分布式部署的重要手段和基礎技術[4]。
針對通信對抗系統(tǒng)的特點,我們采用消息中間件,在分布式計算環(huán)境中為應用程序和系統(tǒng)提供與平臺無關的高效可靠消息傳遞的服務。
ZeroMQ作為消息中間件的一種,本質上為高可靠的異步網絡通信庫,為分布式應用程序提供了一個并發(fā)性的技術框架。其介于應用層和傳輸層之間,向下封裝了底層的網絡通信、線程調度等,向上為應用程序提供API[5]。ZeroMQ以函數庫形式存在,對環(huán)境依賴程度低。其主要特點包括:
(1)跨語言:支持多種開發(fā)語言;
(2)跨平臺:支持Linux,Windows,OS X等;
(3)支持多種通信模式,并支持多種通信模式的組合,形成特定解決方案;
(4)支持多種通信協(xié)議和通信環(huán)境。
分布式對抗系統(tǒng)核心為分布式數據通信架構。分布式數據通信架構不僅為對抗系統(tǒng)中各個硬件設備、軟件模塊以及各子系統(tǒng)之間的信息交互和協(xié)同工作提供數據通信的保證,同時也根據通信對抗系統(tǒng)通信的作戰(zhàn)需求提供高效、透明、可擴展、可靠的底層技術服務。
根據分布式對抗系統(tǒng)中數據通信的功能需求和實際的工程需求,其分布式通信架構如圖1所示:
圖1 分布式數據通信框架
系統(tǒng)采用客戶端/服務器的應用體系結構,由三部分組成:注冊服務器、消息服務器以及提供給應用層使用的應用程序接口。服務器端包括注冊服務器和消息服務器,客戶端包括應用編程函數庫。系統(tǒng)使用ZeroMQ作為系統(tǒng)的底層通訊組件,以屏蔽操作系統(tǒng)、編程語言、網絡協(xié)議等。各子系統(tǒng)之間通過消息進行信息交互和協(xié)同工作。
注冊服務器主要負責管理發(fā)送應用程序的名稱、IP地址、端口號等注冊信息。它記錄了整個系統(tǒng)中偵察設備,測向設備,干擾設備等基本信息,主要維護了兩個注冊表:
(1)應用程序注冊表
記錄了系統(tǒng)中所有應用程序的名稱、協(xié)議、IP地址、端口號、通訊協(xié)議等。
(2)消息服務器注冊表
記錄系統(tǒng)中所有消息服務器的參數、狀態(tài)信息。
注冊服務器會定期向系統(tǒng)中應用所有應用程序和消息服務器發(fā)送心跳探測消息包,以探測應用程序和消息服務器的運行裝備,并更新注冊表,以便實現(xiàn)對通信的所有參與者的監(jiān)控,響應消息處理,以及捕獲異常。
消息服務器是分布式系統(tǒng)的后臺服務程序,主要負責子系統(tǒng)中應用程序發(fā)送和接收通道的建立/銷毀,消息的發(fā)送/接收。一個消息服務器可以服務多個應用程序,通過網絡和其他的消息服務器、注冊服務器進行通訊。
消息服務器由ZeroMQ函數通信庫、連接管理程序、消息存儲程序、消息轉發(fā)程序四部分組成。
(1)ZeroMQ通信庫
利用中間件ZeroMQ在Socket API之上進行封裝,將網絡通訊、進程通訊等抽象為統(tǒng)一接口。
(2)連接管理程序
連接管理程序是消息服務器的關鍵部分。所有系統(tǒng)中參與工作的應用程序都需要和連接管理程序進行連接,連接管理程序將根據應用程序的基本信息(如通信模式、IP、端口等)與注冊服務器進行交互。其主要功能包括:
管理本子系統(tǒng)中程序的狀態(tài)和連接方式;調用ZeroMQ通信庫建立數據連接通道;
向注冊服務器發(fā)送相關信息以及發(fā)送應用程序消息定位信息;
為接收應用程序監(jiān)聽來自注冊服務器的消息定位更新信息。
(3)消息存儲程序
消息存儲程序主要對本子系統(tǒng)消息服務器所發(fā)送的消息進行本地化存儲[6]。
(4)消息轉發(fā)程序
調用ZeroMQ通信庫,使用連接管理程序進行消息的發(fā)送和接收。
應用程序接口主要提供給用戶使用,以搭建應用層程序,而不需要關心具體的通信過程。應用程序接口采用ZeroMQ進行了封裝,并對ZeroMQ通信庫進行了相應的擴展[7]。應用程序通過調用API,即可實現(xiàn)接收通道的建立和銷毀,消息的發(fā)送和接收等業(yè)務。
采用該分布式通信架構的對抗系統(tǒng),根據中間件提供的特性,主要具有四種數據通信方式:
(1)點對點模式
該模式主要指使用Socket的數據傳輸方式,也是目前通信對抗系統(tǒng)內部廣泛使用的通信方式。系統(tǒng)內該模式主要用于新通信架構兼容原有通信方式。
(2)發(fā)布/訂閱模式
發(fā)布/訂閱模式主要解決了目前通信對抗系統(tǒng)內部的數據分發(fā)問題,同一份數據需要提供給多個子系統(tǒng)。采用發(fā)布/訂閱模式,上層應用程序可以非常容易的實現(xiàn)一對一、一對多和多對多的通信方式。
(3)并行管道模式
當子系統(tǒng)中某項功能需要使用其他多個設備或子系統(tǒng)的參與處理時,使用并行管道可以很好的進行解決。子系統(tǒng)通過發(fā)送節(jié)點,將待處理數據以消息流形式發(fā)送出去,多個接收端分別進行處理后,再通過節(jié)點扇入的方式,進行處理結果的匯總。
(4)請求/應答模式
當系統(tǒng)內多個子系統(tǒng)和功能模塊需要大量的信息交互和協(xié)同工作時,可以使用請求/應答模式,即一問一答的確認通信方式。
采用分布式通信架構的通信對抗系統(tǒng),其內部的信息交互和協(xié)同都是基于消息的。系統(tǒng)內消息分為兩種,一種為通信消息,一種為命令消息。
對于一個典型的通信對抗系統(tǒng),其通信消息類型主要包括:偵察數據、控制指令消息、任務通知消息、數據處理系消息等。消息體內部又包含參數配置、通信協(xié)議、任務描述參數等內容。
命令消息主要包括注冊服務器,消息服務器之間的同步,交互,數據傳遞,心跳控制等指令,為了有所區(qū)分,我們稱之為命令消息。
我們分析相應的控制需求,要求其命令消息具有以下內容:
目的地:表明命令消息的目的,即接受者地址;
消息服務器ID:發(fā)送此消息的消息服務器ID;
注冊服務器ID:發(fā)送此消息的注冊服務器ID;
命令類型:發(fā)送命令的類型:如控制指令、心跳數據、注冊指令等;
內容:表示該命令發(fā)送的內容;
通信模式:表示此消息發(fā)送的通信模式。
通信對抗系統(tǒng)的分布式通信架構,能夠將功能相對獨立的設備,功能模塊關聯(lián)起來,形成模塊化、通用一體化的體系結構,能夠有效的解決傳統(tǒng)系統(tǒng)中設備資源分配不均衡、數據資源無法共享的問題。采用基于消息中間件系統(tǒng)通信架構,使裝備在應用開發(fā)及維護具有透明性、易用性,同時具有很強的擴展性,可以適應各種復雜的數據通信模式。本文旨在拋磚引玉,基于分布式通信架構的通信對抗系統(tǒng)的有關問題還有待進一步研究。