基于OPNET的多數據鏈組網設計與仿真
操振宇
(中國電子科技集團第28研究所,江蘇南京 210007)
摘 要 戰術數據鏈是數據通信技術在軍事方面的典型應用,而組網技術的研究是數據鏈系統工作的關鍵之一。隨著多種數據鏈的開發應用,從而提出多數據鏈協同互聯和互操作的問題。文章針對多數據鏈組網提出一種設計方案,并通過OPNET網絡仿真軟件予以驗證,仿真結果表明該方案的有效性和可行性。
關鍵詞 戰術數據鏈;多鏈協同;組網技術;OPNET
中圖分類號:TP393 文獻標識碼:A 文章編號:1671-7597(2014)10-0034-02
戰術數據鏈是一種按照統一的數據格式和通信協議以無線信道為主對信息進行實時、準確、自動、保密傳輸的數據通信系統。數據鏈系統通過一套標準的通信設備,將武器系統、顯示系統、指揮控制系統等鏈為一體,通過信息處理、交換、分發來完成戰場信息共享和控制功能,以便為指揮員迅速、正確地進行指揮決策提供及時、準確的戰場態勢信息和實現全軍的情報資源共享。
戰術數據鏈在現代戰爭中發揮著極其重要的作用,數據鏈的建設是信息化戰爭發展的重要標志之一,數據鏈的應用水平在很大程度上決定著信息化戰爭的水平和能力。信息化武器的一個重要特點就是武器平臺之間實現橫向組網,并融入信息網絡系統,達成信息資源共享,從而最大程度提高武器平臺的效能[1]。
美軍是發展和應用數據鏈最早的軍隊之一,早在20世紀50年代就開始研制點對點的單軍種數據鏈。時至今日,美軍戰術數據鏈的發展已經達到了相當高的水平,已研制出多種戰術數據鏈,應用較廣泛的主要有Link-4A/4C,Link-11/1lB、Link-16以及Link-22等多種數據鏈。為了適應信息化戰爭的需要,各國軍隊的指揮體制將加速向“扁平化”、“網絡化”發展。在作戰控制方面,將充分利用信息技術優勢,建立“無縫隙”的指揮控制系統,真正實現三軍互聯、互通、互操作。如美軍正在加緊建設的“全球信息柵格(GIG)”,旨在實現全球范圍的信息優勢,即在正確的時間,將正確的信息以正確的形式安全可靠地傳送給正確的接收者,同時壓制敵方謀求同樣能力的企圖。
隨著數據鏈技術的迅猛發展,多種型號的數據鏈被研制開發運用到武器作戰裝備,同時使用多種數據鏈,可以起到取長補短、互為備份和提高抗毀性的作用。這就使得多種數據鏈并存和綜合應用成為一種必然,從而提出多數據鏈協同互聯和互操作的問題[2][3]。多數據鏈協同互聯的關鍵是數據轉發、自動路由以及鏈路的配置與控制等[4]。文獻[5]對多種數據鏈綜合分析了技術難度以及解決途徑。隨著“網絡中心戰”作戰理念的提出,各種數據鏈之間實現協同互聯和互操作的要求日益凸現,本文針對多數據鏈綜合組網提出一種方案,并利用OPNET網絡仿真軟件對其進行仿真驗證,仿真結果表明該方案能較好地解決多鏈協同互聯中數據轉發、路由等問題。
1 多類型數據鏈協同互聯設計
本文假定的聯合作戰背景條件下,整個戰場配置了多種類型的戰術數據鏈;同時,支持地面指揮中心、預警機、衛星、作戰飛機等多種類型的節點。每種節點針對實際需求所支持的數據鏈,配置了完備的節點模型庫,使得每種數據鏈均有至少一類節點支持;每種節點至少支持一種數據鏈。其中,中心節點(例如預警機、地面指揮中心)支持多種數據鏈,實現數據轉發、多鏈綜合等功能。為增強系統的抗毀性和可靠性,對于應用層產生的不同應用數據類型,采用多數據鏈配置的方式,提供備份配置。
由于中心節點支持多種數據鏈類型,組網時本文提出多數據鏈、多IP的設計方式:為了識別每一種型號的數據鏈,網絡層不再給每個節點分配一個IP地址,而是針對每個節點所支持的每種數據鏈各分配一個IP地址,并且節點支持的每種數據鏈各自維護一張本類型數據鏈的鄰居表,即每種數據鏈各自組成一個子網,而中心節點則位于不同數據鏈子網之間的交點,如圖1所示。有了IP地址和鄰居表,單個數據鏈子網內的信息傳遞即可按照普通的TCP/IP協議來完成;如果信息要在不同的數據鏈子網之間轉發,則需要中心節點根據數據鏈的配置規則進行相應數據鏈之間的切換。
圖1 多數據鏈互聯方案示意圖
考慮到實際的網絡規模不會很大,節點數約為幾十個,網絡層路由協議采用最短路徑路由協議,每個節點的每種數據鏈都維護各自的鄰居表,該表的結構為:
鄰居節點ID 鄰居中繼優先級 最近一次更新時間
為實現最短路徑,即總跳數最少,本文給每一類節點均設計了節點的中繼優先級參數。該參數是指,當信息需要轉發時,選擇中繼節點的先后順序。節點的中繼優先級越高,越優先選擇該節點進行轉發。本文中幾種類型的節點,集成了多種鏈路的中心節點的優先級最高,因此,大多數情況下都是由中心節點來中繼轉發消息,從而減小消息發送的總跳數。此外,鄰居表具有一定的時效性,當收到同一節點ID的路由消息時,總是更新最近一次的消息;如果超過一定時間還未收到某節點的消息,則在鄰居表中刪除該節點,表明該節點已失效或者已退網。
網絡層以下仍舊采用常見的處理方式,MAC層使用TDMA方式接入,給每個節點分配相應的時隙,時隙分配策略采用輪詢機制,只有到本節點的時隙,才可以發送數據;物理層使用無線收發機組和全向天線來收發數據。
2 OPNET仿真驗證
為驗證上述方案,本文使用OPNET網絡仿真軟件設計相應的仿真場景予以驗證。OPNET是一款廣泛應用的網絡建模和仿真工具,具有先進的建模機制、完備的模型庫、完善的外部接口等優點。OPNET采用離散事件驅動仿真,提供了三層建模機制[6]:最上層為網絡層,反映網絡的拓撲結構;中間層為節點層,由相應的功能模塊構成,反映設備特性;最底層為進程層,用有限狀態機(FSM)來描述通信的各個狀態。OPNET還允許用戶使用有限狀態機自行開發協議,并提供了豐富的類C語言庫函數[7],可以方便地實現復雜的協議,是網絡設計中常用的仿真平臺。endprint
多數據鏈協同互聯設計的關鍵在于集成了多種類型數據鏈的中心節點功能的設計和實現,而預警機節點是支持多種鏈路并且中繼優先級較高的中心節點,因此本文以預警機節點為例,介紹數據轉發、多鏈集成與控制、路由等功能的設計與實現。
2.1 節點建模
預警機節點的節點模型如圖2所示。
圖2 預警機節點模型
形式上參考了網絡分層體系,采用層次化設計,主要分為應用層、網絡層、MAC層、物理層等四層。從上到下,首先是Application Layer,該層主要用于簡單模擬應用層的功能,產生網絡層所需要發送的包含各種應用、優先級的數據包,并且接收網絡層發送來的數據包,對統計量進行統計。Network Layer為本仿真的核心部分,完成多項重要功能。比如在組網階段,參與完成網絡的組建;在入網階段,實現新結點的入網;在正常通信階段,完成鄰居表的更新和維護等任務。從數據流向看,該層起到承上啟下的作用,將應用層傳來的數據增加IP頭之后交給MAC層,同時將MAC層傳來的數據包去掉IP頭之后,發送給應用層。MAC Layer,該層主要功能在于產生時隙,簡單的模擬以TDMA工作方式收發數據。PHY Layer,該層模擬的是物理層的功能,包括一組無線收發機和一個全向天線,用以收發數據。
從圖2可見,預警機節點支持四種類型的數據鏈,在每種數據鏈的網絡層模塊(ip)的臨近,各有一個路由管理模塊(rte_mgr),該模塊實現了各鏈路網絡層鄰居表的創建、維護、查找、刪除等功能,當消息需要轉發時,在鄰居表中查詢中繼節點,給出下一跳節點的ID號,完成路由功能。
本節點模型突出的設計是在應用層與網絡層之間增添了一個仲裁(arbitrator)模塊,該模塊實現了多種數據鏈的集成與管理功能:根據上層不同的應用數據類型,予以不同的數據鏈配置;如果消息需要在不同種類的數據鏈網絡中轉發,則根據目標節點支持的數據鏈種類,選擇相對應的數據鏈類型發送。
2.2 進程建模
進程模型通過有限狀態機(FSM)的狀態轉移圖(STD)來支持節點各功能的實現,用戶可根據實際需求自行編寫進程模型。下面詳細介紹上節重點分析的兩個模塊rte_mgr和arbitrator的進程模型。
rte_mgr是路由管理模塊,實現對鄰居表的管理和維護,上層待發送的數據包到達這個模塊,都會根據目的節點和鄰居表給出下一跳節點的ID號,對數據的走向起到引導作用;或者當消息需要多跳中繼轉發時,則根據鄰居表給出中繼節點的ID號。
該進程模型主要功能為,根據收到的不同數據,進行相應的處理:例如定期檢查鄰居表狀態,網絡中的每個節點需定期發送keepalive消息以通知鄰居節點本節點的存在,用以維護相應數據鏈的鄰居表,本節點定期(本文設為300秒,可根據需要靈活設置)檢查,如果未收到該節點的keepalive消息,則認為該節點已失效或者已退網,在鄰居表中刪除該節點;查詢和維護鄰居表狀態,如果收到的是節點的入網退網消息,則對鄰居表進行加入和刪除操作,若收到的是需要發送的消息,則查詢鄰居表,給出下一跳節點的ID號。
鄰居表的數據結構定義為:
#define MAX_ROUTES 32
typedef struct {
int neighbour_node_id;
int relay_priority;
double record_time;
} my_Route;
my_Route RoutingTable[MAX_ROUTES];
neighbour_node_id為鄰居節點的ID號,是識別節點的重要信息;relay_priority為節點的中繼優先級,當轉發消息時,盡量發往中繼優先級高的節點,也就是集成了多種數據鏈的中心節點;record_time記錄了當前維護進鄰居表的時間,用來表明該條路由信息的時效性。
arbitrator模塊是實現多種數據鏈集成與管理的核心模塊,該進程的主要功能是根據不同的上層應用數據選擇相應的數據鏈傳輸,完成中心節點集成管理多種數據鏈的任務。
實現選擇切換數據鏈功能的函數原型為:
static int first_link(int data_type); //首選配置鏈路
static int secondary_link(int data_type); //次選配置鏈路
static int last_link(int data_type); //最末配置鏈路
static Boolean is_support_this_link(int node_id , int data_link);//是否支持鏈路
前3個函數實現數據鏈的首選配置以及備份配置,第4個函數則是用來判斷某個節點是否支持某種數據鏈,若源節點和目標節點均支持該種數據鏈,則用該數據鏈發送消息。
2.3 仿真場景與結果分析
仿真場景的想定為,衛星節點欲通過A數據鏈向作戰飛機節點發送數據,而作戰飛機只支持B、C兩種數據鏈,不支持A鏈,因此,需要中心節點中繼轉發并切換傳輸鏈路:衛星先通過A鏈與中繼節點通信,然后中繼節點再根據B、C鏈的優先級選擇一條鏈路向作戰飛機傳輸數據。想定中中心節點有兩種:地面指揮中心節點和預警機節點。由于地面指揮中心的中繼優先級最高,因此,當指揮中心在網內時,信息將由指揮中心中繼;當某一時刻指揮中心退網后,此后的信息將由預警機負責中繼。
仿真過程中衛星節點的鄰居表如圖3所示,對比左右兩幅圖可以看出,當指揮中心(ID號10000)退網之后,衛星的鄰居表中便沒有指揮中心(10000)了。圖4是衛星節點前后發送的數據包內容比較,最初指定中繼優先級最高的地面指揮中心(10000)中繼,當指揮中心退網后,由于衛星的鄰居表里沒有指揮中心,于是便指定下一個中繼節點預警機(20100)中繼。仿真結果與場景設計分析的結果一致。
3 結束語
多數據鏈綜合組網應用是一個相當復雜的工程,本文提出了一種基于多IP地址分配實現各類型數據鏈協同互聯的實用方案,并利用仿真軟件設計仿真場景予以驗證,仿真結果表明,該方案具有一定的可行性和工程應用價值,可為進一步的研究工作奠定基礎。
圖3 衛星節點的鄰居表對比
圖4 衛星節點選擇中繼節點策略的變化
參考文獻
[1]孫義明,楊麗萍主編.信息化戰爭中的戰術數據鏈[M].北京郵電大學出版社,2004.
[2]周春福,黃鹍.多數據鏈綜合組網應用及其信息分發與處理[J].艦船電子工程,2010,30(7).
[3]陳水全,諶雙雙.聯合作戰數據鏈互連網重組技術[J].艦船電子工程,2011,31(7).
[4]許宏泉,王春生,張海波.海上聯合作戰數據鏈組網技術[J].艦船電子工程,2008,28(8).
[5]李富強,許銳.國外多種數據鏈綜合應用研究[J].現代電子技術,2010(16).
[6]王文博,張金文.OPNET Modeler與網絡仿真[M].北京:人民郵電出版社,2003.
[7]陳敏.OPNET網絡仿真[M].清華大學出版社,2004.endprint
多數據鏈協同互聯設計的關鍵在于集成了多種類型數據鏈的中心節點功能的設計和實現,而預警機節點是支持多種鏈路并且中繼優先級較高的中心節點,因此本文以預警機節點為例,介紹數據轉發、多鏈集成與控制、路由等功能的設計與實現。
2.1 節點建模
預警機節點的節點模型如圖2所示。
圖2 預警機節點模型
形式上參考了網絡分層體系,采用層次化設計,主要分為應用層、網絡層、MAC層、物理層等四層。從上到下,首先是Application Layer,該層主要用于簡單模擬應用層的功能,產生網絡層所需要發送的包含各種應用、優先級的數據包,并且接收網絡層發送來的數據包,對統計量進行統計。Network Layer為本仿真的核心部分,完成多項重要功能。比如在組網階段,參與完成網絡的組建;在入網階段,實現新結點的入網;在正常通信階段,完成鄰居表的更新和維護等任務。從數據流向看,該層起到承上啟下的作用,將應用層傳來的數據增加IP頭之后交給MAC層,同時將MAC層傳來的數據包去掉IP頭之后,發送給應用層。MAC Layer,該層主要功能在于產生時隙,簡單的模擬以TDMA工作方式收發數據。PHY Layer,該層模擬的是物理層的功能,包括一組無線收發機和一個全向天線,用以收發數據。
從圖2可見,預警機節點支持四種類型的數據鏈,在每種數據鏈的網絡層模塊(ip)的臨近,各有一個路由管理模塊(rte_mgr),該模塊實現了各鏈路網絡層鄰居表的創建、維護、查找、刪除等功能,當消息需要轉發時,在鄰居表中查詢中繼節點,給出下一跳節點的ID號,完成路由功能。
本節點模型突出的設計是在應用層與網絡層之間增添了一個仲裁(arbitrator)模塊,該模塊實現了多種數據鏈的集成與管理功能:根據上層不同的應用數據類型,予以不同的數據鏈配置;如果消息需要在不同種類的數據鏈網絡中轉發,則根據目標節點支持的數據鏈種類,選擇相對應的數據鏈類型發送。
2.2 進程建模
進程模型通過有限狀態機(FSM)的狀態轉移圖(STD)來支持節點各功能的實現,用戶可根據實際需求自行編寫進程模型。下面詳細介紹上節重點分析的兩個模塊rte_mgr和arbitrator的進程模型。
rte_mgr是路由管理模塊,實現對鄰居表的管理和維護,上層待發送的數據包到達這個模塊,都會根據目的節點和鄰居表給出下一跳節點的ID號,對數據的走向起到引導作用;或者當消息需要多跳中繼轉發時,則根據鄰居表給出中繼節點的ID號。
該進程模型主要功能為,根據收到的不同數據,進行相應的處理:例如定期檢查鄰居表狀態,網絡中的每個節點需定期發送keepalive消息以通知鄰居節點本節點的存在,用以維護相應數據鏈的鄰居表,本節點定期(本文設為300秒,可根據需要靈活設置)檢查,如果未收到該節點的keepalive消息,則認為該節點已失效或者已退網,在鄰居表中刪除該節點;查詢和維護鄰居表狀態,如果收到的是節點的入網退網消息,則對鄰居表進行加入和刪除操作,若收到的是需要發送的消息,則查詢鄰居表,給出下一跳節點的ID號。
鄰居表的數據結構定義為:
#define MAX_ROUTES 32
typedef struct {
int neighbour_node_id;
int relay_priority;
double record_time;
} my_Route;
my_Route RoutingTable[MAX_ROUTES];
neighbour_node_id為鄰居節點的ID號,是識別節點的重要信息;relay_priority為節點的中繼優先級,當轉發消息時,盡量發往中繼優先級高的節點,也就是集成了多種數據鏈的中心節點;record_time記錄了當前維護進鄰居表的時間,用來表明該條路由信息的時效性。
arbitrator模塊是實現多種數據鏈集成與管理的核心模塊,該進程的主要功能是根據不同的上層應用數據選擇相應的數據鏈傳輸,完成中心節點集成管理多種數據鏈的任務。
實現選擇切換數據鏈功能的函數原型為:
static int first_link(int data_type); //首選配置鏈路
static int secondary_link(int data_type); //次選配置鏈路
static int last_link(int data_type); //最末配置鏈路
static Boolean is_support_this_link(int node_id , int data_link);//是否支持鏈路
前3個函數實現數據鏈的首選配置以及備份配置,第4個函數則是用來判斷某個節點是否支持某種數據鏈,若源節點和目標節點均支持該種數據鏈,則用該數據鏈發送消息。
2.3 仿真場景與結果分析
仿真場景的想定為,衛星節點欲通過A數據鏈向作戰飛機節點發送數據,而作戰飛機只支持B、C兩種數據鏈,不支持A鏈,因此,需要中心節點中繼轉發并切換傳輸鏈路:衛星先通過A鏈與中繼節點通信,然后中繼節點再根據B、C鏈的優先級選擇一條鏈路向作戰飛機傳輸數據。想定中中心節點有兩種:地面指揮中心節點和預警機節點。由于地面指揮中心的中繼優先級最高,因此,當指揮中心在網內時,信息將由指揮中心中繼;當某一時刻指揮中心退網后,此后的信息將由預警機負責中繼。
仿真過程中衛星節點的鄰居表如圖3所示,對比左右兩幅圖可以看出,當指揮中心(ID號10000)退網之后,衛星的鄰居表中便沒有指揮中心(10000)了。圖4是衛星節點前后發送的數據包內容比較,最初指定中繼優先級最高的地面指揮中心(10000)中繼,當指揮中心退網后,由于衛星的鄰居表里沒有指揮中心,于是便指定下一個中繼節點預警機(20100)中繼。仿真結果與場景設計分析的結果一致。
3 結束語
多數據鏈綜合組網應用是一個相當復雜的工程,本文提出了一種基于多IP地址分配實現各類型數據鏈協同互聯的實用方案,并利用仿真軟件設計仿真場景予以驗證,仿真結果表明,該方案具有一定的可行性和工程應用價值,可為進一步的研究工作奠定基礎。
圖3 衛星節點的鄰居表對比
圖4 衛星節點選擇中繼節點策略的變化
參考文獻
[1]孫義明,楊麗萍主編.信息化戰爭中的戰術數據鏈[M].北京郵電大學出版社,2004.
[2]周春福,黃鹍.多數據鏈綜合組網應用及其信息分發與處理[J].艦船電子工程,2010,30(7).
[3]陳水全,諶雙雙.聯合作戰數據鏈互連網重組技術[J].艦船電子工程,2011,31(7).
[4]許宏泉,王春生,張海波.海上聯合作戰數據鏈組網技術[J].艦船電子工程,2008,28(8).
[5]李富強,許銳.國外多種數據鏈綜合應用研究[J].現代電子技術,2010(16).
[6]王文博,張金文.OPNET Modeler與網絡仿真[M].北京:人民郵電出版社,2003.
[7]陳敏.OPNET網絡仿真[M].清華大學出版社,2004.endprint
多數據鏈協同互聯設計的關鍵在于集成了多種類型數據鏈的中心節點功能的設計和實現,而預警機節點是支持多種鏈路并且中繼優先級較高的中心節點,因此本文以預警機節點為例,介紹數據轉發、多鏈集成與控制、路由等功能的設計與實現。
2.1 節點建模
預警機節點的節點模型如圖2所示。
圖2 預警機節點模型
形式上參考了網絡分層體系,采用層次化設計,主要分為應用層、網絡層、MAC層、物理層等四層。從上到下,首先是Application Layer,該層主要用于簡單模擬應用層的功能,產生網絡層所需要發送的包含各種應用、優先級的數據包,并且接收網絡層發送來的數據包,對統計量進行統計。Network Layer為本仿真的核心部分,完成多項重要功能。比如在組網階段,參與完成網絡的組建;在入網階段,實現新結點的入網;在正常通信階段,完成鄰居表的更新和維護等任務。從數據流向看,該層起到承上啟下的作用,將應用層傳來的數據增加IP頭之后交給MAC層,同時將MAC層傳來的數據包去掉IP頭之后,發送給應用層。MAC Layer,該層主要功能在于產生時隙,簡單的模擬以TDMA工作方式收發數據。PHY Layer,該層模擬的是物理層的功能,包括一組無線收發機和一個全向天線,用以收發數據。
從圖2可見,預警機節點支持四種類型的數據鏈,在每種數據鏈的網絡層模塊(ip)的臨近,各有一個路由管理模塊(rte_mgr),該模塊實現了各鏈路網絡層鄰居表的創建、維護、查找、刪除等功能,當消息需要轉發時,在鄰居表中查詢中繼節點,給出下一跳節點的ID號,完成路由功能。
本節點模型突出的設計是在應用層與網絡層之間增添了一個仲裁(arbitrator)模塊,該模塊實現了多種數據鏈的集成與管理功能:根據上層不同的應用數據類型,予以不同的數據鏈配置;如果消息需要在不同種類的數據鏈網絡中轉發,則根據目標節點支持的數據鏈種類,選擇相對應的數據鏈類型發送。
2.2 進程建模
進程模型通過有限狀態機(FSM)的狀態轉移圖(STD)來支持節點各功能的實現,用戶可根據實際需求自行編寫進程模型。下面詳細介紹上節重點分析的兩個模塊rte_mgr和arbitrator的進程模型。
rte_mgr是路由管理模塊,實現對鄰居表的管理和維護,上層待發送的數據包到達這個模塊,都會根據目的節點和鄰居表給出下一跳節點的ID號,對數據的走向起到引導作用;或者當消息需要多跳中繼轉發時,則根據鄰居表給出中繼節點的ID號。
該進程模型主要功能為,根據收到的不同數據,進行相應的處理:例如定期檢查鄰居表狀態,網絡中的每個節點需定期發送keepalive消息以通知鄰居節點本節點的存在,用以維護相應數據鏈的鄰居表,本節點定期(本文設為300秒,可根據需要靈活設置)檢查,如果未收到該節點的keepalive消息,則認為該節點已失效或者已退網,在鄰居表中刪除該節點;查詢和維護鄰居表狀態,如果收到的是節點的入網退網消息,則對鄰居表進行加入和刪除操作,若收到的是需要發送的消息,則查詢鄰居表,給出下一跳節點的ID號。
鄰居表的數據結構定義為:
#define MAX_ROUTES 32
typedef struct {
int neighbour_node_id;
int relay_priority;
double record_time;
} my_Route;
my_Route RoutingTable[MAX_ROUTES];
neighbour_node_id為鄰居節點的ID號,是識別節點的重要信息;relay_priority為節點的中繼優先級,當轉發消息時,盡量發往中繼優先級高的節點,也就是集成了多種數據鏈的中心節點;record_time記錄了當前維護進鄰居表的時間,用來表明該條路由信息的時效性。
arbitrator模塊是實現多種數據鏈集成與管理的核心模塊,該進程的主要功能是根據不同的上層應用數據選擇相應的數據鏈傳輸,完成中心節點集成管理多種數據鏈的任務。
實現選擇切換數據鏈功能的函數原型為:
static int first_link(int data_type); //首選配置鏈路
static int secondary_link(int data_type); //次選配置鏈路
static int last_link(int data_type); //最末配置鏈路
static Boolean is_support_this_link(int node_id , int data_link);//是否支持鏈路
前3個函數實現數據鏈的首選配置以及備份配置,第4個函數則是用來判斷某個節點是否支持某種數據鏈,若源節點和目標節點均支持該種數據鏈,則用該數據鏈發送消息。
2.3 仿真場景與結果分析
仿真場景的想定為,衛星節點欲通過A數據鏈向作戰飛機節點發送數據,而作戰飛機只支持B、C兩種數據鏈,不支持A鏈,因此,需要中心節點中繼轉發并切換傳輸鏈路:衛星先通過A鏈與中繼節點通信,然后中繼節點再根據B、C鏈的優先級選擇一條鏈路向作戰飛機傳輸數據。想定中中心節點有兩種:地面指揮中心節點和預警機節點。由于地面指揮中心的中繼優先級最高,因此,當指揮中心在網內時,信息將由指揮中心中繼;當某一時刻指揮中心退網后,此后的信息將由預警機負責中繼。
仿真過程中衛星節點的鄰居表如圖3所示,對比左右兩幅圖可以看出,當指揮中心(ID號10000)退網之后,衛星的鄰居表中便沒有指揮中心(10000)了。圖4是衛星節點前后發送的數據包內容比較,最初指定中繼優先級最高的地面指揮中心(10000)中繼,當指揮中心退網后,由于衛星的鄰居表里沒有指揮中心,于是便指定下一個中繼節點預警機(20100)中繼。仿真結果與場景設計分析的結果一致。
3 結束語
多數據鏈綜合組網應用是一個相當復雜的工程,本文提出了一種基于多IP地址分配實現各類型數據鏈協同互聯的實用方案,并利用仿真軟件設計仿真場景予以驗證,仿真結果表明,該方案具有一定的可行性和工程應用價值,可為進一步的研究工作奠定基礎。
圖3 衛星節點的鄰居表對比
圖4 衛星節點選擇中繼節點策略的變化
參考文獻
[1]孫義明,楊麗萍主編.信息化戰爭中的戰術數據鏈[M].北京郵電大學出版社,2004.
[2]周春福,黃鹍.多數據鏈綜合組網應用及其信息分發與處理[J].艦船電子工程,2010,30(7).
[3]陳水全,諶雙雙.聯合作戰數據鏈互連網重組技術[J].艦船電子工程,2011,31(7).
[4]許宏泉,王春生,張海波.海上聯合作戰數據鏈組網技術[J].艦船電子工程,2008,28(8).
[5]李富強,許銳.國外多種數據鏈綜合應用研究[J].現代電子技術,2010(16).
[6]王文博,張金文.OPNET Modeler與網絡仿真[M].北京:人民郵電出版社,2003.
[7]陳敏.OPNET網絡仿真[M].清華大學出版社,2004.endprint