国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于OPNET的多數(shù)據(jù)鏈組網(wǎng)設(shè)計與仿真

2014-06-26 15:40操振宇
新媒體研究 2014年10期

基于OPNET的多數(shù)據(jù)鏈組網(wǎng)設(shè)計與仿真

操振宇

(中國電子科技集團第28研究所,江蘇南京 210007)

摘 要 戰(zhàn)術(shù)數(shù)據(jù)鏈是數(shù)據(jù)通信技術(shù)在軍事方面的典型應(yīng)用,而組網(wǎng)技術(shù)的研究是數(shù)據(jù)鏈系統(tǒng)工作的關(guān)鍵之一。隨著多種數(shù)據(jù)鏈的開發(fā)應(yīng)用,從而提出多數(shù)據(jù)鏈協(xié)同互聯(lián)和互操作的問題。文章針對多數(shù)據(jù)鏈組網(wǎng)提出一種設(shè)計方案,并通過OPNET網(wǎng)絡(luò)仿真軟件予以驗證,仿真結(jié)果表明該方案的有效性和可行性。

關(guān)鍵詞 戰(zhàn)術(shù)數(shù)據(jù)鏈;多鏈協(xié)同;組網(wǎng)技術(shù);OPNET

中圖分類號:TP393 文獻標識碼:A 文章編號:1671-7597(2014)10-0034-02

戰(zhàn)術(shù)數(shù)據(jù)鏈是一種按照統(tǒng)一的數(shù)據(jù)格式和通信協(xié)議以無線信道為主對信息進行實時、準確、自動、保密傳輸?shù)臄?shù)據(jù)通信系統(tǒng)。數(shù)據(jù)鏈系統(tǒng)通過一套標準的通信設(shè)備,將武器系統(tǒng)、顯示系統(tǒng)、指揮控制系統(tǒng)等鏈為一體,通過信息處理、交換、分發(fā)來完成戰(zhàn)場信息共享和控制功能,以便為指揮員迅速、正確地進行指揮決策提供及時、準確的戰(zhàn)場態(tài)勢信息和實現(xiàn)全軍的情報資源共享。

戰(zhàn)術(shù)數(shù)據(jù)鏈在現(xiàn)代戰(zhàn)爭中發(fā)揮著極其重要的作用,數(shù)據(jù)鏈的建設(shè)是信息化戰(zhàn)爭發(fā)展的重要標志之一,數(shù)據(jù)鏈的應(yīng)用水平在很大程度上決定著信息化戰(zhàn)爭的水平和能力。信息化武器的一個重要特點就是武器平臺之間實現(xiàn)橫向組網(wǎng),并融入信息網(wǎng)絡(luò)系統(tǒng),達成信息資源共享,從而最大程度提高武器平臺的效能[1]。

美軍是發(fā)展和應(yīng)用數(shù)據(jù)鏈最早的軍隊之一,早在20世紀50年代就開始研制點對點的單軍種數(shù)據(jù)鏈。時至今日,美軍戰(zhàn)術(shù)數(shù)據(jù)鏈的發(fā)展已經(jīng)達到了相當高的水平,已研制出多種戰(zhàn)術(shù)數(shù)據(jù)鏈,應(yīng)用較廣泛的主要有Link-4A/4C,Link-11/1lB、Link-16以及Link-22等多種數(shù)據(jù)鏈。為了適應(yīng)信息化戰(zhàn)爭的需要,各國軍隊的指揮體制將加速向“扁平化”、“網(wǎng)絡(luò)化”發(fā)展。在作戰(zhàn)控制方面,將充分利用信息技術(shù)優(yōu)勢,建立“無縫隙”的指揮控制系統(tǒng),真正實現(xiàn)三軍互聯(lián)、互通、互操作。如美軍正在加緊建設(shè)的“全球信息柵格(GIG)”,旨在實現(xiàn)全球范圍的信息優(yōu)勢,即在正確的時間,將正確的信息以正確的形式安全可靠地傳送給正確的接收者,同時壓制敵方謀求同樣能力的企圖。

隨著數(shù)據(jù)鏈技術(shù)的迅猛發(fā)展,多種型號的數(shù)據(jù)鏈被研制開發(fā)運用到武器作戰(zhàn)裝備,同時使用多種數(shù)據(jù)鏈,可以起到取長補短、互為備份和提高抗毀性的作用。這就使得多種數(shù)據(jù)鏈并存和綜合應(yīng)用成為一種必然,從而提出多數(shù)據(jù)鏈協(xié)同互聯(lián)和互操作的問題[2][3]。多數(shù)據(jù)鏈協(xié)同互聯(lián)的關(guān)鍵是數(shù)據(jù)轉(zhuǎn)發(fā)、自動路由以及鏈路的配置與控制等[4]。文獻[5]對多種數(shù)據(jù)鏈綜合分析了技術(shù)難度以及解決途徑。隨著“網(wǎng)絡(luò)中心戰(zhàn)”作戰(zhàn)理念的提出,各種數(shù)據(jù)鏈之間實現(xiàn)協(xié)同互聯(lián)和互操作的要求日益凸現(xiàn),本文針對多數(shù)據(jù)鏈綜合組網(wǎng)提出一種方案,并利用OPNET網(wǎng)絡(luò)仿真軟件對其進行仿真驗證,仿真結(jié)果表明該方案能較好地解決多鏈協(xié)同互聯(lián)中數(shù)據(jù)轉(zhuǎn)發(fā)、路由等問題。

1 多類型數(shù)據(jù)鏈協(xié)同互聯(lián)設(shè)計

本文假定的聯(lián)合作戰(zhàn)背景條件下,整個戰(zhàn)場配置了多種類型的戰(zhàn)術(shù)數(shù)據(jù)鏈;同時,支持地面指揮中心、預(yù)警機、衛(wèi)星、作戰(zhàn)飛機等多種類型的節(jié)點。每種節(jié)點針對實際需求所支持的數(shù)據(jù)鏈,配置了完備的節(jié)點模型庫,使得每種數(shù)據(jù)鏈均有至少一類節(jié)點支持;每種節(jié)點至少支持一種數(shù)據(jù)鏈。其中,中心節(jié)點(例如預(yù)警機、地面指揮中心)支持多種數(shù)據(jù)鏈,實現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā)、多鏈綜合等功能。為增強系統(tǒng)的抗毀性和可靠性,對于應(yīng)用層產(chǎn)生的不同應(yīng)用數(shù)據(jù)類型,采用多數(shù)據(jù)鏈配置的方式,提供備份配置。

由于中心節(jié)點支持多種數(shù)據(jù)鏈類型,組網(wǎng)時本文提出多數(shù)據(jù)鏈、多IP的設(shè)計方式:為了識別每一種型號的數(shù)據(jù)鏈,網(wǎng)絡(luò)層不再給每個節(jié)點分配一個IP地址,而是針對每個節(jié)點所支持的每種數(shù)據(jù)鏈各分配一個IP地址,并且節(jié)點支持的每種數(shù)據(jù)鏈各自維護一張本類型數(shù)據(jù)鏈的鄰居表,即每種數(shù)據(jù)鏈各自組成一個子網(wǎng),而中心節(jié)點則位于不同數(shù)據(jù)鏈子網(wǎng)之間的交點,如圖1所示。有了IP地址和鄰居表,單個數(shù)據(jù)鏈子網(wǎng)內(nèi)的信息傳遞即可按照普通的TCP/IP協(xié)議來完成;如果信息要在不同的數(shù)據(jù)鏈子網(wǎng)之間轉(zhuǎn)發(fā),則需要中心節(jié)點根據(jù)數(shù)據(jù)鏈的配置規(guī)則進行相應(yīng)數(shù)據(jù)鏈之間的切換。

圖1 多數(shù)據(jù)鏈互聯(lián)方案示意圖

考慮到實際的網(wǎng)絡(luò)規(guī)模不會很大,節(jié)點數(shù)約為幾十個,網(wǎng)絡(luò)層路由協(xié)議采用最短路徑路由協(xié)議,每個節(jié)點的每種數(shù)據(jù)鏈都維護各自的鄰居表,該表的結(jié)構(gòu)為:

鄰居節(jié)點ID 鄰居中繼優(yōu)先級 最近一次更新時間

為實現(xiàn)最短路徑,即總跳數(shù)最少,本文給每一類節(jié)點均設(shè)計了節(jié)點的中繼優(yōu)先級參數(shù)。該參數(shù)是指,當信息需要轉(zhuǎn)發(fā)時,選擇中繼節(jié)點的先后順序。節(jié)點的中繼優(yōu)先級越高,越優(yōu)先選擇該節(jié)點進行轉(zhuǎn)發(fā)。本文中幾種類型的節(jié)點,集成了多種鏈路的中心節(jié)點的優(yōu)先級最高,因此,大多數(shù)情況下都是由中心節(jié)點來中繼轉(zhuǎn)發(fā)消息,從而減小消息發(fā)送的總跳數(shù)。此外,鄰居表具有一定的時效性,當收到同一節(jié)點ID的路由消息時,總是更新最近一次的消息;如果超過一定時間還未收到某節(jié)點的消息,則在鄰居表中刪除該節(jié)點,表明該節(jié)點已失效或者已退網(wǎng)。

網(wǎng)絡(luò)層以下仍舊采用常見的處理方式,MAC層使用TDMA方式接入,給每個節(jié)點分配相應(yīng)的時隙,時隙分配策略采用輪詢機制,只有到本節(jié)點的時隙,才可以發(fā)送數(shù)據(jù);物理層使用無線收發(fā)機組和全向天線來收發(fā)數(shù)據(jù)。

2 OPNET仿真驗證

為驗證上述方案,本文使用OPNET網(wǎng)絡(luò)仿真軟件設(shè)計相應(yīng)的仿真場景予以驗證。OPNET是一款廣泛應(yīng)用的網(wǎng)絡(luò)建模和仿真工具,具有先進的建模機制、完備的模型庫、完善的外部接口等優(yōu)點。OPNET采用離散事件驅(qū)動仿真,提供了三層建模機制[6]:最上層為網(wǎng)絡(luò)層,反映網(wǎng)絡(luò)的拓撲結(jié)構(gòu);中間層為節(jié)點層,由相應(yīng)的功能模塊構(gòu)成,反映設(shè)備特性;最底層為進程層,用有限狀態(tài)機(FSM)來描述通信的各個狀態(tài)。OPNET還允許用戶使用有限狀態(tài)機自行開發(fā)協(xié)議,并提供了豐富的類C語言庫函數(shù)[7],可以方便地實現(xiàn)復(fù)雜的協(xié)議,是網(wǎng)絡(luò)設(shè)計中常用的仿真平臺。endprint

多數(shù)據(jù)鏈協(xié)同互聯(lián)設(shè)計的關(guān)鍵在于集成了多種類型數(shù)據(jù)鏈的中心節(jié)點功能的設(shè)計和實現(xiàn),而預(yù)警機節(jié)點是支持多種鏈路并且中繼優(yōu)先級較高的中心節(jié)點,因此本文以預(yù)警機節(jié)點為例,介紹數(shù)據(jù)轉(zhuǎn)發(fā)、多鏈集成與控制、路由等功能的設(shè)計與實現(xiàn)。

2.1 節(jié)點建模

預(yù)警機節(jié)點的節(jié)點模型如圖2所示。

圖2 預(yù)警機節(jié)點模型

形式上參考了網(wǎng)絡(luò)分層體系,采用層次化設(shè)計,主要分為應(yīng)用層、網(wǎng)絡(luò)層、MAC層、物理層等四層。從上到下,首先是Application Layer,該層主要用于簡單模擬應(yīng)用層的功能,產(chǎn)生網(wǎng)絡(luò)層所需要發(fā)送的包含各種應(yīng)用、優(yōu)先級的數(shù)據(jù)包,并且接收網(wǎng)絡(luò)層發(fā)送來的數(shù)據(jù)包,對統(tǒng)計量進行統(tǒng)計。Network Layer為本仿真的核心部分,完成多項重要功能。比如在組網(wǎng)階段,參與完成網(wǎng)絡(luò)的組建;在入網(wǎng)階段,實現(xiàn)新結(jié)點的入網(wǎng);在正常通信階段,完成鄰居表的更新和維護等任務(wù)。從數(shù)據(jù)流向看,該層起到承上啟下的作用,將應(yīng)用層傳來的數(shù)據(jù)增加IP頭之后交給MAC層,同時將MAC層傳來的數(shù)據(jù)包去掉IP頭之后,發(fā)送給應(yīng)用層。MAC Layer,該層主要功能在于產(chǎn)生時隙,簡單的模擬以TDMA工作方式收發(fā)數(shù)據(jù)。PHY Layer,該層模擬的是物理層的功能,包括一組無線收發(fā)機和一個全向天線,用以收發(fā)數(shù)據(jù)。

從圖2可見,預(yù)警機節(jié)點支持四種類型的數(shù)據(jù)鏈,在每種數(shù)據(jù)鏈的網(wǎng)絡(luò)層模塊(ip)的臨近,各有一個路由管理模塊(rte_mgr),該模塊實現(xiàn)了各鏈路網(wǎng)絡(luò)層鄰居表的創(chuàng)建、維護、查找、刪除等功能,當消息需要轉(zhuǎn)發(fā)時,在鄰居表中查詢中繼節(jié)點,給出下一跳節(jié)點的ID號,完成路由功能。

本節(jié)點模型突出的設(shè)計是在應(yīng)用層與網(wǎng)絡(luò)層之間增添了一個仲裁(arbitrator)模塊,該模塊實現(xiàn)了多種數(shù)據(jù)鏈的集成與管理功能:根據(jù)上層不同的應(yīng)用數(shù)據(jù)類型,予以不同的數(shù)據(jù)鏈配置;如果消息需要在不同種類的數(shù)據(jù)鏈網(wǎng)絡(luò)中轉(zhuǎn)發(fā),則根據(jù)目標節(jié)點支持的數(shù)據(jù)鏈種類,選擇相對應(yīng)的數(shù)據(jù)鏈類型發(fā)送。

2.2 進程建模

進程模型通過有限狀態(tài)機(FSM)的狀態(tài)轉(zhuǎn)移圖(STD)來支持節(jié)點各功能的實現(xiàn),用戶可根據(jù)實際需求自行編寫進程模型。下面詳細介紹上節(jié)重點分析的兩個模塊rte_mgr和arbitrator的進程模型。

rte_mgr是路由管理模塊,實現(xiàn)對鄰居表的管理和維護,上層待發(fā)送的數(shù)據(jù)包到達這個模塊,都會根據(jù)目的節(jié)點和鄰居表給出下一跳節(jié)點的ID號,對數(shù)據(jù)的走向起到引導(dǎo)作用;或者當消息需要多跳中繼轉(zhuǎn)發(fā)時,則根據(jù)鄰居表給出中繼節(jié)點的ID號。

該進程模型主要功能為,根據(jù)收到的不同數(shù)據(jù),進行相應(yīng)的處理:例如定期檢查鄰居表狀態(tài),網(wǎng)絡(luò)中的每個節(jié)點需定期發(fā)送keepalive消息以通知鄰居節(jié)點本節(jié)點的存在,用以維護相應(yīng)數(shù)據(jù)鏈的鄰居表,本節(jié)點定期(本文設(shè)為300秒,可根據(jù)需要靈活設(shè)置)檢查,如果未收到該節(jié)點的keepalive消息,則認為該節(jié)點已失效或者已退網(wǎng),在鄰居表中刪除該節(jié)點;查詢和維護鄰居表狀態(tài),如果收到的是節(jié)點的入網(wǎng)退網(wǎng)消息,則對鄰居表進行加入和刪除操作,若收到的是需要發(fā)送的消息,則查詢鄰居表,給出下一跳節(jié)點的ID號。

鄰居表的數(shù)據(jù)結(jié)構(gòu)定義為:

#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為鄰居節(jié)點的ID號,是識別節(jié)點的重要信息;relay_priority為節(jié)點的中繼優(yōu)先級,當轉(zhuǎn)發(fā)消息時,盡量發(fā)往中繼優(yōu)先級高的節(jié)點,也就是集成了多種數(shù)據(jù)鏈的中心節(jié)點;record_time記錄了當前維護進鄰居表的時間,用來表明該條路由信息的時效性。

arbitrator模塊是實現(xiàn)多種數(shù)據(jù)鏈集成與管理的核心模塊,該進程的主要功能是根據(jù)不同的上層應(yīng)用數(shù)據(jù)選擇相應(yīng)的數(shù)據(jù)鏈傳輸,完成中心節(jié)點集成管理多種數(shù)據(jù)鏈的任務(wù)。

實現(xiàn)選擇切換數(shù)據(jù)鏈功能的函數(shù)原型為:

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個函數(shù)實現(xiàn)數(shù)據(jù)鏈的首選配置以及備份配置,第4個函數(shù)則是用來判斷某個節(jié)點是否支持某種數(shù)據(jù)鏈,若源節(jié)點和目標節(jié)點均支持該種數(shù)據(jù)鏈,則用該數(shù)據(jù)鏈發(fā)送消息。

2.3 仿真場景與結(jié)果分析

仿真場景的想定為,衛(wèi)星節(jié)點欲通過A數(shù)據(jù)鏈向作戰(zhàn)飛機節(jié)點發(fā)送數(shù)據(jù),而作戰(zhàn)飛機只支持B、C兩種數(shù)據(jù)鏈,不支持A鏈,因此,需要中心節(jié)點中繼轉(zhuǎn)發(fā)并切換傳輸鏈路:衛(wèi)星先通過A鏈與中繼節(jié)點通信,然后中繼節(jié)點再根據(jù)B、C鏈的優(yōu)先級選擇一條鏈路向作戰(zhàn)飛機傳輸數(shù)據(jù)。想定中中心節(jié)點有兩種:地面指揮中心節(jié)點和預(yù)警機節(jié)點。由于地面指揮中心的中繼優(yōu)先級最高,因此,當指揮中心在網(wǎng)內(nèi)時,信息將由指揮中心中繼;當某一時刻指揮中心退網(wǎng)后,此后的信息將由預(yù)警機負責(zé)中繼。

仿真過程中衛(wèi)星節(jié)點的鄰居表如圖3所示,對比左右兩幅圖可以看出,當指揮中心(ID號10000)退網(wǎng)之后,衛(wèi)星的鄰居表中便沒有指揮中心(10000)了。圖4是衛(wèi)星節(jié)點前后發(fā)送的數(shù)據(jù)包內(nèi)容比較,最初指定中繼優(yōu)先級最高的地面指揮中心(10000)中繼,當指揮中心退網(wǎng)后,由于衛(wèi)星的鄰居表里沒有指揮中心,于是便指定下一個中繼節(jié)點預(yù)警機(20100)中繼。仿真結(jié)果與場景設(shè)計分析的結(jié)果一致。

3 結(jié)束語

多數(shù)據(jù)鏈綜合組網(wǎng)應(yīng)用是一個相當復(fù)雜的工程,本文提出了一種基于多IP地址分配實現(xiàn)各類型數(shù)據(jù)鏈協(xié)同互聯(lián)的實用方案,并利用仿真軟件設(shè)計仿真場景予以驗證,仿真結(jié)果表明,該方案具有一定的可行性和工程應(yīng)用價值,可為進一步的研究工作奠定基礎(chǔ)。

圖3 衛(wèi)星節(jié)點的鄰居表對比

圖4 衛(wèi)星節(jié)點選擇中繼節(jié)點策略的變化

參考文獻

[1]孫義明,楊麗萍主編.信息化戰(zhàn)爭中的戰(zhàn)術(shù)數(shù)據(jù)鏈[M].北京郵電大學(xué)出版社,2004.

[2]周春福,黃鹍.多數(shù)據(jù)鏈綜合組網(wǎng)應(yīng)用及其信息分發(fā)與處理[J].艦船電子工程,2010,30(7).

[3]陳水全,諶雙雙.聯(lián)合作戰(zhàn)數(shù)據(jù)鏈互連網(wǎng)重組技術(shù)[J].艦船電子工程,2011,31(7).

[4]許宏泉,王春生,張海波.海上聯(lián)合作戰(zhàn)數(shù)據(jù)鏈組網(wǎng)技術(shù)[J].艦船電子工程,2008,28(8).

[5]李富強,許銳.國外多種數(shù)據(jù)鏈綜合應(yīng)用研究[J].現(xiàn)代電子技術(shù),2010(16).

[6]王文博,張金文.OPNET Modeler與網(wǎng)絡(luò)仿真[M].北京:人民郵電出版社,2003.

[7]陳敏.OPNET網(wǎng)絡(luò)仿真[M].清華大學(xué)出版社,2004.endprint

多數(shù)據(jù)鏈協(xié)同互聯(lián)設(shè)計的關(guān)鍵在于集成了多種類型數(shù)據(jù)鏈的中心節(jié)點功能的設(shè)計和實現(xiàn),而預(yù)警機節(jié)點是支持多種鏈路并且中繼優(yōu)先級較高的中心節(jié)點,因此本文以預(yù)警機節(jié)點為例,介紹數(shù)據(jù)轉(zhuǎn)發(fā)、多鏈集成與控制、路由等功能的設(shè)計與實現(xiàn)。

2.1 節(jié)點建模

預(yù)警機節(jié)點的節(jié)點模型如圖2所示。

圖2 預(yù)警機節(jié)點模型

形式上參考了網(wǎng)絡(luò)分層體系,采用層次化設(shè)計,主要分為應(yīng)用層、網(wǎng)絡(luò)層、MAC層、物理層等四層。從上到下,首先是Application Layer,該層主要用于簡單模擬應(yīng)用層的功能,產(chǎn)生網(wǎng)絡(luò)層所需要發(fā)送的包含各種應(yīng)用、優(yōu)先級的數(shù)據(jù)包,并且接收網(wǎng)絡(luò)層發(fā)送來的數(shù)據(jù)包,對統(tǒng)計量進行統(tǒng)計。Network Layer為本仿真的核心部分,完成多項重要功能。比如在組網(wǎng)階段,參與完成網(wǎng)絡(luò)的組建;在入網(wǎng)階段,實現(xiàn)新結(jié)點的入網(wǎng);在正常通信階段,完成鄰居表的更新和維護等任務(wù)。從數(shù)據(jù)流向看,該層起到承上啟下的作用,將應(yīng)用層傳來的數(shù)據(jù)增加IP頭之后交給MAC層,同時將MAC層傳來的數(shù)據(jù)包去掉IP頭之后,發(fā)送給應(yīng)用層。MAC Layer,該層主要功能在于產(chǎn)生時隙,簡單的模擬以TDMA工作方式收發(fā)數(shù)據(jù)。PHY Layer,該層模擬的是物理層的功能,包括一組無線收發(fā)機和一個全向天線,用以收發(fā)數(shù)據(jù)。

從圖2可見,預(yù)警機節(jié)點支持四種類型的數(shù)據(jù)鏈,在每種數(shù)據(jù)鏈的網(wǎng)絡(luò)層模塊(ip)的臨近,各有一個路由管理模塊(rte_mgr),該模塊實現(xiàn)了各鏈路網(wǎng)絡(luò)層鄰居表的創(chuàng)建、維護、查找、刪除等功能,當消息需要轉(zhuǎn)發(fā)時,在鄰居表中查詢中繼節(jié)點,給出下一跳節(jié)點的ID號,完成路由功能。

本節(jié)點模型突出的設(shè)計是在應(yīng)用層與網(wǎng)絡(luò)層之間增添了一個仲裁(arbitrator)模塊,該模塊實現(xiàn)了多種數(shù)據(jù)鏈的集成與管理功能:根據(jù)上層不同的應(yīng)用數(shù)據(jù)類型,予以不同的數(shù)據(jù)鏈配置;如果消息需要在不同種類的數(shù)據(jù)鏈網(wǎng)絡(luò)中轉(zhuǎn)發(fā),則根據(jù)目標節(jié)點支持的數(shù)據(jù)鏈種類,選擇相對應(yīng)的數(shù)據(jù)鏈類型發(fā)送。

2.2 進程建模

進程模型通過有限狀態(tài)機(FSM)的狀態(tài)轉(zhuǎn)移圖(STD)來支持節(jié)點各功能的實現(xiàn),用戶可根據(jù)實際需求自行編寫進程模型。下面詳細介紹上節(jié)重點分析的兩個模塊rte_mgr和arbitrator的進程模型。

rte_mgr是路由管理模塊,實現(xiàn)對鄰居表的管理和維護,上層待發(fā)送的數(shù)據(jù)包到達這個模塊,都會根據(jù)目的節(jié)點和鄰居表給出下一跳節(jié)點的ID號,對數(shù)據(jù)的走向起到引導(dǎo)作用;或者當消息需要多跳中繼轉(zhuǎn)發(fā)時,則根據(jù)鄰居表給出中繼節(jié)點的ID號。

該進程模型主要功能為,根據(jù)收到的不同數(shù)據(jù),進行相應(yīng)的處理:例如定期檢查鄰居表狀態(tài),網(wǎng)絡(luò)中的每個節(jié)點需定期發(fā)送keepalive消息以通知鄰居節(jié)點本節(jié)點的存在,用以維護相應(yīng)數(shù)據(jù)鏈的鄰居表,本節(jié)點定期(本文設(shè)為300秒,可根據(jù)需要靈活設(shè)置)檢查,如果未收到該節(jié)點的keepalive消息,則認為該節(jié)點已失效或者已退網(wǎng),在鄰居表中刪除該節(jié)點;查詢和維護鄰居表狀態(tài),如果收到的是節(jié)點的入網(wǎng)退網(wǎng)消息,則對鄰居表進行加入和刪除操作,若收到的是需要發(fā)送的消息,則查詢鄰居表,給出下一跳節(jié)點的ID號。

鄰居表的數(shù)據(jù)結(jié)構(gòu)定義為:

#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為鄰居節(jié)點的ID號,是識別節(jié)點的重要信息;relay_priority為節(jié)點的中繼優(yōu)先級,當轉(zhuǎn)發(fā)消息時,盡量發(fā)往中繼優(yōu)先級高的節(jié)點,也就是集成了多種數(shù)據(jù)鏈的中心節(jié)點;record_time記錄了當前維護進鄰居表的時間,用來表明該條路由信息的時效性。

arbitrator模塊是實現(xiàn)多種數(shù)據(jù)鏈集成與管理的核心模塊,該進程的主要功能是根據(jù)不同的上層應(yīng)用數(shù)據(jù)選擇相應(yīng)的數(shù)據(jù)鏈傳輸,完成中心節(jié)點集成管理多種數(shù)據(jù)鏈的任務(wù)。

實現(xiàn)選擇切換數(shù)據(jù)鏈功能的函數(shù)原型為:

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個函數(shù)實現(xiàn)數(shù)據(jù)鏈的首選配置以及備份配置,第4個函數(shù)則是用來判斷某個節(jié)點是否支持某種數(shù)據(jù)鏈,若源節(jié)點和目標節(jié)點均支持該種數(shù)據(jù)鏈,則用該數(shù)據(jù)鏈發(fā)送消息。

2.3 仿真場景與結(jié)果分析

仿真場景的想定為,衛(wèi)星節(jié)點欲通過A數(shù)據(jù)鏈向作戰(zhàn)飛機節(jié)點發(fā)送數(shù)據(jù),而作戰(zhàn)飛機只支持B、C兩種數(shù)據(jù)鏈,不支持A鏈,因此,需要中心節(jié)點中繼轉(zhuǎn)發(fā)并切換傳輸鏈路:衛(wèi)星先通過A鏈與中繼節(jié)點通信,然后中繼節(jié)點再根據(jù)B、C鏈的優(yōu)先級選擇一條鏈路向作戰(zhàn)飛機傳輸數(shù)據(jù)。想定中中心節(jié)點有兩種:地面指揮中心節(jié)點和預(yù)警機節(jié)點。由于地面指揮中心的中繼優(yōu)先級最高,因此,當指揮中心在網(wǎng)內(nèi)時,信息將由指揮中心中繼;當某一時刻指揮中心退網(wǎng)后,此后的信息將由預(yù)警機負責(zé)中繼。

仿真過程中衛(wèi)星節(jié)點的鄰居表如圖3所示,對比左右兩幅圖可以看出,當指揮中心(ID號10000)退網(wǎng)之后,衛(wèi)星的鄰居表中便沒有指揮中心(10000)了。圖4是衛(wèi)星節(jié)點前后發(fā)送的數(shù)據(jù)包內(nèi)容比較,最初指定中繼優(yōu)先級最高的地面指揮中心(10000)中繼,當指揮中心退網(wǎng)后,由于衛(wèi)星的鄰居表里沒有指揮中心,于是便指定下一個中繼節(jié)點預(yù)警機(20100)中繼。仿真結(jié)果與場景設(shè)計分析的結(jié)果一致。

3 結(jié)束語

多數(shù)據(jù)鏈綜合組網(wǎng)應(yīng)用是一個相當復(fù)雜的工程,本文提出了一種基于多IP地址分配實現(xiàn)各類型數(shù)據(jù)鏈協(xié)同互聯(lián)的實用方案,并利用仿真軟件設(shè)計仿真場景予以驗證,仿真結(jié)果表明,該方案具有一定的可行性和工程應(yīng)用價值,可為進一步的研究工作奠定基礎(chǔ)。

圖3 衛(wèi)星節(jié)點的鄰居表對比

圖4 衛(wèi)星節(jié)點選擇中繼節(jié)點策略的變化

參考文獻

[1]孫義明,楊麗萍主編.信息化戰(zhàn)爭中的戰(zhàn)術(shù)數(shù)據(jù)鏈[M].北京郵電大學(xué)出版社,2004.

[2]周春福,黃鹍.多數(shù)據(jù)鏈綜合組網(wǎng)應(yīng)用及其信息分發(fā)與處理[J].艦船電子工程,2010,30(7).

[3]陳水全,諶雙雙.聯(lián)合作戰(zhàn)數(shù)據(jù)鏈互連網(wǎng)重組技術(shù)[J].艦船電子工程,2011,31(7).

[4]許宏泉,王春生,張海波.海上聯(lián)合作戰(zhàn)數(shù)據(jù)鏈組網(wǎng)技術(shù)[J].艦船電子工程,2008,28(8).

[5]李富強,許銳.國外多種數(shù)據(jù)鏈綜合應(yīng)用研究[J].現(xiàn)代電子技術(shù),2010(16).

[6]王文博,張金文.OPNET Modeler與網(wǎng)絡(luò)仿真[M].北京:人民郵電出版社,2003.

[7]陳敏.OPNET網(wǎng)絡(luò)仿真[M].清華大學(xué)出版社,2004.endprint

多數(shù)據(jù)鏈協(xié)同互聯(lián)設(shè)計的關(guān)鍵在于集成了多種類型數(shù)據(jù)鏈的中心節(jié)點功能的設(shè)計和實現(xiàn),而預(yù)警機節(jié)點是支持多種鏈路并且中繼優(yōu)先級較高的中心節(jié)點,因此本文以預(yù)警機節(jié)點為例,介紹數(shù)據(jù)轉(zhuǎn)發(fā)、多鏈集成與控制、路由等功能的設(shè)計與實現(xiàn)。

2.1 節(jié)點建模

預(yù)警機節(jié)點的節(jié)點模型如圖2所示。

圖2 預(yù)警機節(jié)點模型

形式上參考了網(wǎng)絡(luò)分層體系,采用層次化設(shè)計,主要分為應(yīng)用層、網(wǎng)絡(luò)層、MAC層、物理層等四層。從上到下,首先是Application Layer,該層主要用于簡單模擬應(yīng)用層的功能,產(chǎn)生網(wǎng)絡(luò)層所需要發(fā)送的包含各種應(yīng)用、優(yōu)先級的數(shù)據(jù)包,并且接收網(wǎng)絡(luò)層發(fā)送來的數(shù)據(jù)包,對統(tǒng)計量進行統(tǒng)計。Network Layer為本仿真的核心部分,完成多項重要功能。比如在組網(wǎng)階段,參與完成網(wǎng)絡(luò)的組建;在入網(wǎng)階段,實現(xiàn)新結(jié)點的入網(wǎng);在正常通信階段,完成鄰居表的更新和維護等任務(wù)。從數(shù)據(jù)流向看,該層起到承上啟下的作用,將應(yīng)用層傳來的數(shù)據(jù)增加IP頭之后交給MAC層,同時將MAC層傳來的數(shù)據(jù)包去掉IP頭之后,發(fā)送給應(yīng)用層。MAC Layer,該層主要功能在于產(chǎn)生時隙,簡單的模擬以TDMA工作方式收發(fā)數(shù)據(jù)。PHY Layer,該層模擬的是物理層的功能,包括一組無線收發(fā)機和一個全向天線,用以收發(fā)數(shù)據(jù)。

從圖2可見,預(yù)警機節(jié)點支持四種類型的數(shù)據(jù)鏈,在每種數(shù)據(jù)鏈的網(wǎng)絡(luò)層模塊(ip)的臨近,各有一個路由管理模塊(rte_mgr),該模塊實現(xiàn)了各鏈路網(wǎng)絡(luò)層鄰居表的創(chuàng)建、維護、查找、刪除等功能,當消息需要轉(zhuǎn)發(fā)時,在鄰居表中查詢中繼節(jié)點,給出下一跳節(jié)點的ID號,完成路由功能。

本節(jié)點模型突出的設(shè)計是在應(yīng)用層與網(wǎng)絡(luò)層之間增添了一個仲裁(arbitrator)模塊,該模塊實現(xiàn)了多種數(shù)據(jù)鏈的集成與管理功能:根據(jù)上層不同的應(yīng)用數(shù)據(jù)類型,予以不同的數(shù)據(jù)鏈配置;如果消息需要在不同種類的數(shù)據(jù)鏈網(wǎng)絡(luò)中轉(zhuǎn)發(fā),則根據(jù)目標節(jié)點支持的數(shù)據(jù)鏈種類,選擇相對應(yīng)的數(shù)據(jù)鏈類型發(fā)送。

2.2 進程建模

進程模型通過有限狀態(tài)機(FSM)的狀態(tài)轉(zhuǎn)移圖(STD)來支持節(jié)點各功能的實現(xiàn),用戶可根據(jù)實際需求自行編寫進程模型。下面詳細介紹上節(jié)重點分析的兩個模塊rte_mgr和arbitrator的進程模型。

rte_mgr是路由管理模塊,實現(xiàn)對鄰居表的管理和維護,上層待發(fā)送的數(shù)據(jù)包到達這個模塊,都會根據(jù)目的節(jié)點和鄰居表給出下一跳節(jié)點的ID號,對數(shù)據(jù)的走向起到引導(dǎo)作用;或者當消息需要多跳中繼轉(zhuǎn)發(fā)時,則根據(jù)鄰居表給出中繼節(jié)點的ID號。

該進程模型主要功能為,根據(jù)收到的不同數(shù)據(jù),進行相應(yīng)的處理:例如定期檢查鄰居表狀態(tài),網(wǎng)絡(luò)中的每個節(jié)點需定期發(fā)送keepalive消息以通知鄰居節(jié)點本節(jié)點的存在,用以維護相應(yīng)數(shù)據(jù)鏈的鄰居表,本節(jié)點定期(本文設(shè)為300秒,可根據(jù)需要靈活設(shè)置)檢查,如果未收到該節(jié)點的keepalive消息,則認為該節(jié)點已失效或者已退網(wǎng),在鄰居表中刪除該節(jié)點;查詢和維護鄰居表狀態(tài),如果收到的是節(jié)點的入網(wǎng)退網(wǎng)消息,則對鄰居表進行加入和刪除操作,若收到的是需要發(fā)送的消息,則查詢鄰居表,給出下一跳節(jié)點的ID號。

鄰居表的數(shù)據(jù)結(jié)構(gòu)定義為:

#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為鄰居節(jié)點的ID號,是識別節(jié)點的重要信息;relay_priority為節(jié)點的中繼優(yōu)先級,當轉(zhuǎn)發(fā)消息時,盡量發(fā)往中繼優(yōu)先級高的節(jié)點,也就是集成了多種數(shù)據(jù)鏈的中心節(jié)點;record_time記錄了當前維護進鄰居表的時間,用來表明該條路由信息的時效性。

arbitrator模塊是實現(xiàn)多種數(shù)據(jù)鏈集成與管理的核心模塊,該進程的主要功能是根據(jù)不同的上層應(yīng)用數(shù)據(jù)選擇相應(yīng)的數(shù)據(jù)鏈傳輸,完成中心節(jié)點集成管理多種數(shù)據(jù)鏈的任務(wù)。

實現(xiàn)選擇切換數(shù)據(jù)鏈功能的函數(shù)原型為:

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個函數(shù)實現(xiàn)數(shù)據(jù)鏈的首選配置以及備份配置,第4個函數(shù)則是用來判斷某個節(jié)點是否支持某種數(shù)據(jù)鏈,若源節(jié)點和目標節(jié)點均支持該種數(shù)據(jù)鏈,則用該數(shù)據(jù)鏈發(fā)送消息。

2.3 仿真場景與結(jié)果分析

仿真場景的想定為,衛(wèi)星節(jié)點欲通過A數(shù)據(jù)鏈向作戰(zhàn)飛機節(jié)點發(fā)送數(shù)據(jù),而作戰(zhàn)飛機只支持B、C兩種數(shù)據(jù)鏈,不支持A鏈,因此,需要中心節(jié)點中繼轉(zhuǎn)發(fā)并切換傳輸鏈路:衛(wèi)星先通過A鏈與中繼節(jié)點通信,然后中繼節(jié)點再根據(jù)B、C鏈的優(yōu)先級選擇一條鏈路向作戰(zhàn)飛機傳輸數(shù)據(jù)。想定中中心節(jié)點有兩種:地面指揮中心節(jié)點和預(yù)警機節(jié)點。由于地面指揮中心的中繼優(yōu)先級最高,因此,當指揮中心在網(wǎng)內(nèi)時,信息將由指揮中心中繼;當某一時刻指揮中心退網(wǎng)后,此后的信息將由預(yù)警機負責(zé)中繼。

仿真過程中衛(wèi)星節(jié)點的鄰居表如圖3所示,對比左右兩幅圖可以看出,當指揮中心(ID號10000)退網(wǎng)之后,衛(wèi)星的鄰居表中便沒有指揮中心(10000)了。圖4是衛(wèi)星節(jié)點前后發(fā)送的數(shù)據(jù)包內(nèi)容比較,最初指定中繼優(yōu)先級最高的地面指揮中心(10000)中繼,當指揮中心退網(wǎng)后,由于衛(wèi)星的鄰居表里沒有指揮中心,于是便指定下一個中繼節(jié)點預(yù)警機(20100)中繼。仿真結(jié)果與場景設(shè)計分析的結(jié)果一致。

3 結(jié)束語

多數(shù)據(jù)鏈綜合組網(wǎng)應(yīng)用是一個相當復(fù)雜的工程,本文提出了一種基于多IP地址分配實現(xiàn)各類型數(shù)據(jù)鏈協(xié)同互聯(lián)的實用方案,并利用仿真軟件設(shè)計仿真場景予以驗證,仿真結(jié)果表明,該方案具有一定的可行性和工程應(yīng)用價值,可為進一步的研究工作奠定基礎(chǔ)。

圖3 衛(wèi)星節(jié)點的鄰居表對比

圖4 衛(wèi)星節(jié)點選擇中繼節(jié)點策略的變化

參考文獻

[1]孫義明,楊麗萍主編.信息化戰(zhàn)爭中的戰(zhàn)術(shù)數(shù)據(jù)鏈[M].北京郵電大學(xué)出版社,2004.

[2]周春福,黃鹍.多數(shù)據(jù)鏈綜合組網(wǎng)應(yīng)用及其信息分發(fā)與處理[J].艦船電子工程,2010,30(7).

[3]陳水全,諶雙雙.聯(lián)合作戰(zhàn)數(shù)據(jù)鏈互連網(wǎng)重組技術(shù)[J].艦船電子工程,2011,31(7).

[4]許宏泉,王春生,張海波.海上聯(lián)合作戰(zhàn)數(shù)據(jù)鏈組網(wǎng)技術(shù)[J].艦船電子工程,2008,28(8).

[5]李富強,許銳.國外多種數(shù)據(jù)鏈綜合應(yīng)用研究[J].現(xiàn)代電子技術(shù),2010(16).

[6]王文博,張金文.OPNET Modeler與網(wǎng)絡(luò)仿真[M].北京:人民郵電出版社,2003.

[7]陳敏.OPNET網(wǎng)絡(luò)仿真[M].清華大學(xué)出版社,2004.endprint

前郭尔| 天等县| 霍州市| 乌审旗| 积石山| 信宜市| 香港| 紫阳县| 凯里市| 安阳县| 台北市| 柳林县| 天长市| 南岸区| 海林市| 大悟县| 广汉市| 灵丘县| 张北县| 霍城县| 吉木萨尔县| 神池县| 商都县| 杂多县| 西吉县| 射洪县| 临沂市| 大埔区| 阳新县| 西乌珠穆沁旗| 朝阳县| 大理市| 桦甸市| 富蕴县| 樟树市| 重庆市| 安达市| 饶平县| 赫章县| 临夏市| 特克斯县|