曹文斌,陳國順,牛 剛,趙 洋
(1.軍械工程學(xué)院軍械技術(shù)研究所電子室,河北石家莊050000;2.63892部隊(duì),河南洛陽471000)
目前,民網(wǎng)中關(guān)于網(wǎng)絡(luò)設(shè)備監(jiān)測技術(shù)主要有兩種:基于ICMP協(xié)議和基于SNMP協(xié)議。由于構(gòu)成指揮控制系統(tǒng)網(wǎng)絡(luò)的設(shè)備具有類型多,分布地域廣,所處的網(wǎng)絡(luò)層次跨度大,通信能力(包括數(shù)據(jù)處理的實(shí)時(shí)性、可靠性等)要求高[1,2]等特點(diǎn),不僅給系統(tǒng)維修保障工作帶來了較大的困難,而且對(duì)傳統(tǒng)的在線監(jiān)測技術(shù)提出了挑戰(zhàn)?;贗CMP[3-6]協(xié)議的監(jiān)測技術(shù)比較成熟,具有通用性強(qiáng),可靠性高,實(shí)現(xiàn)簡單等優(yōu)點(diǎn),但是該方法需要頻繁的輪詢網(wǎng)絡(luò)設(shè)備,勢必會(huì)給被監(jiān)測設(shè)備所在的網(wǎng)絡(luò)注入大量的測試流量,占用大量寶貴的網(wǎng)絡(luò)資源,容易造成網(wǎng)絡(luò)擁塞,嚴(yán)重時(shí)會(huì)造成網(wǎng)絡(luò)的癱瘓,同時(shí)該方法的實(shí)時(shí)性較差。對(duì)于指揮控制系統(tǒng)這一特定的應(yīng)用背景來說,這些缺點(diǎn)都是致命性的。基于SNMP協(xié)議的監(jiān)測方法是目前比較智能化的方法,具有較高的實(shí)時(shí)性,且不會(huì)占用過多的網(wǎng)絡(luò)資源,但是該方法要求被監(jiān)測的網(wǎng)絡(luò)設(shè)備必須支持SNMP協(xié)議,所以通用性不強(qiáng),而且當(dāng)網(wǎng)管軟件死機(jī)或通信鏈路出現(xiàn)問題時(shí),告警信息無法由被管對(duì)象發(fā)送至管理端。該方法局限于對(duì)網(wǎng)絡(luò)設(shè)備的監(jiān)測,由于故障關(guān)聯(lián)性的存在,會(huì)導(dǎo)致系統(tǒng)定位不準(zhǔn)確。
為了提高指揮控制系統(tǒng)運(yùn)行的可靠性和對(duì)指揮控制系統(tǒng)設(shè)備監(jiān)測的覆蓋范圍,屏蔽不同設(shè)備的差異性,提高故障監(jiān)測的實(shí)時(shí)性和故障定位的準(zhǔn)確率,本文在總結(jié)常用方法的基礎(chǔ)上,將傳統(tǒng)方法進(jìn)行改進(jìn),提出了一種適合指揮控制系統(tǒng)的網(wǎng)絡(luò)設(shè)備綜合監(jiān)測方法。
本文結(jié)合指揮控制系統(tǒng)設(shè)備的特點(diǎn),將兩種方法相融合,提出了一種改進(jìn)的主動(dòng)輪詢與事件觸發(fā)相結(jié)合的綜合監(jiān)測方法,提出了一種通過事件觸發(fā)系統(tǒng)掃描的故障監(jiān)測模型,實(shí)現(xiàn)不同方法之間的優(yōu)勢互補(bǔ)。
綜合監(jiān)測方法的原理是在被監(jiān)測設(shè)備上開啟并設(shè)置代理。在網(wǎng)絡(luò)管理站(NMS),運(yùn)行在線監(jiān)測進(jìn)程,一方面通過SNMP協(xié)議輪詢關(guān)鍵的網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備(NND),采集網(wǎng)絡(luò)設(shè)備性能參數(shù)包括CPU利用率和剩余內(nèi)存等,若超過閾值,則告警;另一方面時(shí)刻監(jiān)聽162號(hào)端口,接收并代理發(fā)送的告警信息。在收到告警信息后,對(duì)輪詢觸發(fā)條件進(jìn)行判斷。若滿足條件,則觸發(fā)對(duì)全系統(tǒng)基于ICMP協(xié)議的掃描,判斷NND的狀態(tài),根據(jù)每個(gè)節(jié)點(diǎn)的狀態(tài),在拓?fù)鋱D上以不同顏色區(qū)別顯示。
綜合監(jiān)測方法流程如圖1所示。首先,NMS進(jìn)行拓?fù)鋻呙?,探測網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),獲取網(wǎng)絡(luò)或中節(jié)點(diǎn)設(shè)備的數(shù)據(jù),主要包括設(shè)備類型、端口及IP地址和不同設(shè)備的連接關(guān)系等;然后,設(shè)計(jì)兩個(gè)進(jìn)程,一個(gè)用于接收SNMP Trap消息,設(shè)計(jì)有Trap接收器,處理和分析收到的Trap消息,另一個(gè)進(jìn)程用于對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行周期性的掃描,主要監(jiān)測網(wǎng)絡(luò)設(shè)備的CPU利用率和內(nèi)存使用情況,判斷監(jiān)測得到的數(shù)據(jù)結(jié)果是否超出了預(yù)先設(shè)定的閾值。若兩個(gè)進(jìn)程任何一個(gè)滿足告警條件,則進(jìn)行告警,如果連續(xù)三次獲取數(shù)據(jù)失敗,則觸發(fā)告警;其次,系統(tǒng)根據(jù)預(yù)設(shè)的輪詢觸發(fā)條件,判斷告警事件是否滿足輪詢觸發(fā)條件。若滿足,則進(jìn)行基于ICMP的全系統(tǒng)輪詢,判斷告警故障發(fā)生的位置,并在拓?fù)鋱D上以不同的顏色進(jìn)行顯示;若不滿足則存儲(chǔ)告警信息。
對(duì)網(wǎng)絡(luò)設(shè)備監(jiān)測的目的是發(fā)現(xiàn)異常狀態(tài),所以理想的輪詢算法是在超出設(shè)備參數(shù)閾值時(shí)增加輪詢頻率,提高監(jiān)測靈敏度;在未超出閾值部分減小輪詢頻率?;谠撍枷耄覀兲岢隽烁倪M(jìn)的輪詢周期調(diào)整算法。
經(jīng)過實(shí)踐觀察,網(wǎng)絡(luò)設(shè)備的工作狀態(tài)存在一定的規(guī)律性,在一段很小的時(shí)間內(nèi),其性能參數(shù)的變化可以用一線性函數(shù)進(jìn)行模擬[10,11]。所以本文提出改進(jìn)的基于OLS輪詢周期調(diào)整算法。該算法通過歷史采集數(shù)據(jù)的線性擬合,根據(jù)數(shù)據(jù)變化的趨勢和差值動(dòng)態(tài)調(diào)整下一輪詢周期值。
定義1 在t時(shí)刻,網(wǎng)絡(luò)設(shè)備性能參數(shù)的采集點(diǎn)用d(t)表示,第i個(gè)采樣值表示為d(ti),其中i=1,2,3……。
定義3 定義數(shù)據(jù)序列D={fd(ti-m),fd(ti-m+1)……fd(ti-1)},表示m個(gè)歷史數(shù)據(jù)采樣值,用于基于最小二乘的線性預(yù)測。
設(shè)估計(jì)的模型為
算法流程如圖2所示。實(shí)現(xiàn)步驟如下:
(1)設(shè)置初始值,初始輪詢周期為T,輪詢周期為t=T,最小輪詢周期為tmin,告警閾值為U,預(yù)測序列長度為m,經(jīng)過m個(gè)初始周期后,獲得數(shù)據(jù)序列D;
(2)利用最小二乘法,求得預(yù)測模型,求得下一輪詢點(diǎn)的預(yù)測值f(ti);
(4)判斷t≤tmin是否成立,若成立則令t=tmin;否則t=t;
(5)經(jīng)過t時(shí)刻后取得被監(jiān)測設(shè)備實(shí)際參數(shù)值fd(ti),判斷fd(ti)<U是否成立,若成立,則令
圖1 綜合監(jiān)測方法原理
圖2 算法流程
(7)更新數(shù)據(jù)序列D,跳至步驟2。
一方面當(dāng)有告警產(chǎn)生時(shí),網(wǎng)絡(luò)肯定出現(xiàn)問題,但產(chǎn)生多個(gè)告警不一定會(huì)有多個(gè)故障;另一方面當(dāng)存在網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)備CPU利用率過高的告警時(shí),不宜立刻觸發(fā)輪詢。基于以上考慮,本文采設(shè)置了一定的輪詢觸發(fā)條件,來屏蔽這些問題。我們?cè)谑盏礁婢⒑?,不是立刻觸發(fā)輪詢,而是等待一定的時(shí)間t,如果在t內(nèi)沒有繼續(xù)收到告警,經(jīng)過t后觸發(fā)輪詢;如果在t內(nèi)收到其他告警消息,重新開始計(jì)時(shí),直到累計(jì)無告警消息時(shí)間達(dá)到t后開始輪詢。為了防止連續(xù)告警次數(shù)過多,系統(tǒng)中設(shè)置了重新計(jì)時(shí)次數(shù)n,當(dāng)n累積達(dá)到3次后,立刻開始輪詢。在輪詢過程中屏蔽所有告警消息,輪詢結(jié)束后,重啟告警。如圖3和圖4所示。
算法調(diào)整策略如式(2)所示,當(dāng)超過閾值時(shí),1-fd(ti)>0,所以該部分調(diào)整后的輪詢周期始終是減小的。此處我們?yōu)榱思骖櫨W(wǎng)絡(luò)設(shè)備的實(shí)際處理能力,采用了負(fù)邏輯的調(diào)整方式,隨著fd(ti)由閾值逐漸靠近1(即100%)時(shí),1-fd(ti)的值逐漸減小,部分的值減小,調(diào)整后的輪詢周期值的該變量會(huì)降低,輪詢頻率的增加量會(huì)降低。同時(shí)為了防止調(diào)整后周期值太小,我們?cè)O(shè)置了最小輪詢周期tmin,確保調(diào)整后周期具有實(shí)際應(yīng)用意義
圖3 輪詢觸發(fā)流程
圖4 輪詢的觸發(fā)時(shí)間
表1 算法性能比
本文對(duì)改進(jìn)的算法進(jìn)行了仿真驗(yàn)證,仿真結(jié)果如圖5所示,圖5中曲線為一段時(shí)間內(nèi)某型設(shè)備的CPU利用率,圖5(a)為以固定周期30s的數(shù)據(jù)采集點(diǎn),圖5(b)為改進(jìn)前算法采集的數(shù)據(jù)點(diǎn)(初始周期為30s),圖5(c)為改進(jìn)后算法采集的數(shù)據(jù)點(diǎn)(閾值設(shè)置為85%)。算法性能比較如表1所示,從分析可以看出,改進(jìn)的算法以犧牲7.6%流量的代價(jià)使輪詢靈敏度提高了33.4%。從圖5中可以看出,圖5(a)中有26個(gè)數(shù)據(jù)采集點(diǎn),圖5(b)中有16個(gè)數(shù)據(jù)采集點(diǎn),其中超出閾值時(shí)采集點(diǎn)的個(gè)數(shù)為4個(gè),圖5(c)中有19個(gè)數(shù)據(jù)采集點(diǎn),超出閾值時(shí)有5個(gè)數(shù)據(jù)采集點(diǎn)。改進(jìn)后的算法能顯著降低輪詢頻率的同時(shí),在超出閾值的情況下,采集點(diǎn)的密度增加較明顯,增加了系統(tǒng)的監(jiān)測靈敏度,同時(shí)能夠?yàn)镮CMP系統(tǒng)掃描提供較為準(zhǔn)確的始發(fā)點(diǎn)。
圖5 改進(jìn)算法前后的監(jiān)測方法仿真對(duì)比
在指揮控制系統(tǒng)這一特定的應(yīng)用背景下,針對(duì)目前網(wǎng)絡(luò)設(shè)備監(jiān)測面臨的問題,我們提出了基ICMP和SNMP協(xié)議的綜合監(jiān)測方法。該方法繼承了SNMP協(xié)議智能化和ICMP協(xié)議通用性、可靠性的優(yōu)點(diǎn)。通過構(gòu)造一種事件觸發(fā)與輪詢相結(jié)合的模型,可以有效地克服傳統(tǒng)方法的缺點(diǎn),提高準(zhǔn)確度和監(jiān)測的可靠性,增加實(shí)時(shí)性并減少對(duì)系統(tǒng)資源的占用,對(duì)于指揮控制系統(tǒng)網(wǎng)絡(luò)及設(shè)備的維修保障具有重要意義。
[1]QUAN Houde,WU Guoqing,LI Zhaorui,et al.The test technologies of command and communication system[M].Shijiazhuang:Ordnance Engineering College,2009(in Chinese).[全厚德,吳國慶,李召瑞,等.指揮控制系統(tǒng)測試技術(shù)[M].石家莊:軍械工程學(xué)院,2009.]
[2]ZHANG Qunxing,BAI Daijun.The design of network devices detector of ordnance equipment[J].Journal of Sichuan Ordnance,2009,30(8):20-22(in Chinese).[張群興,柏代軍.軍械電子裝備網(wǎng)絡(luò)設(shè)備檢測儀設(shè)計(jì)[J].四川兵工學(xué)報(bào),2009,30(8):20-22.]
[3]WANG Nuan,PAN Weiwei,LI Weizhou.The fault detection of network devices based on SNMP[J].China Water Transport,2009,9(1):113-114(in Chinese).[王暖,潘偉偉,李維洲.基于SNMP的網(wǎng)絡(luò)設(shè)備故障實(shí)時(shí)檢測[J].中國水運(yùn),2009,9(1):113-114.]
[4]PANG Zhenyuan.Research and implementation of the network node status monitoring system[D].Xi'an:Changan University,
2012(in Chinese).[龐振源.網(wǎng)絡(luò)節(jié)點(diǎn)狀態(tài)監(jiān)測系統(tǒng)的研究與實(shí)現(xiàn)[D].西安:長安大學(xué),2012.]
[5]LI Yongzhong,DUAN Xu.The test and maintance of computer network[M].Xi'an:Xi'an Electronic and Science University Press,2011(in Chinese).[李永忠,段旭.計(jì)算機(jī)網(wǎng)絡(luò)測試與維護(hù)[M].西安:西安電子科技大學(xué)出版社,2011.]
[6]DU Shujie.ICMP protocol based on Ping host detection[J].Application of Computer System,2009(12):212-214(in Chinese).[杜樹杰.基于ICMP協(xié)議的Ping主機(jī)探測[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2009(12):212-214.]
[7]WU Mengjun.Proficient SNMP[M].Posts &Telecom Press,2010(in Chinese).[武孟軍.精通SNMP[M].人民郵電出版社,2010.]
[8]WU Mengjun.Development of SNMP network management software based on Visual c++[M].Beijing:Posts &Telecom Press,2009(in Chinese).[武孟軍.Visual C++開發(fā)基于SNMP的網(wǎng)絡(luò)管理軟件[M].北京:人民郵電出版社,2009.]
[9]SU Limin,YANG Yansong,CHEN Xiaodan.Design and implement of an online monitoring scheme in communication network[J].Journal of Transportation System Engineering and Information Tech-nology,2006,6(5):50-55(in Chinese).[蘇利敏,楊延嵩,陳曉丹.指揮控制系統(tǒng)通信網(wǎng)絡(luò)在線監(jiān)測方案的設(shè)計(jì)與實(shí)現(xiàn)[J].交通運(yùn)輸系統(tǒng)工程與信息,2006,6(5):50-55.]
[10]LIU Qiang,YANG Yuexiang,TANG Chuan.Network fault monitoring algorithm based on dynamic polling scheme[J].Computer Engineering and Design,2009,30(9):2164-2166(in Chinese).[劉強(qiáng),楊岳湘,唐川.基于動(dòng)態(tài)輪詢策略的網(wǎng)絡(luò)故障監(jiān)視算法[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(9):2164-2166.]
[11]YANG Zhihui,WANG Yong,SU Rui.Intelligent polling strategy for nerwork management system[J].Computer Engineering,2009,36(9):106-108(in Chinese).[楊指揮,王勇,蘇瑞.用于網(wǎng)絡(luò)管理系統(tǒng)的智能輪詢策略[J].計(jì)算機(jī)工程,2009,36(9):106-108.]