摘? 要: 將移動代理和人工智能技術引入網(wǎng)絡故障管理。介紹了人工智能中神經(jīng)網(wǎng)絡、貝葉斯信念網(wǎng)絡對于處理故障管理中的告警相關、故障診斷以及故障定位等所具備的優(yōu)越性,并提出了幾種設計思想。
關鍵詞: 網(wǎng)絡故障管理? 移動代理? 簡單網(wǎng)絡管理? 告警相關? 神經(jīng)網(wǎng)絡? 貝葉斯信念網(wǎng)絡
?
1?網(wǎng)絡故障管理的任務
隨著現(xiàn)代網(wǎng)絡技術和計算機技術的進步,網(wǎng)絡在規(guī)模上和復雜程度上都迅猛地發(fā)展。如何管理龐大、復雜的計算機網(wǎng)絡,使之持續(xù)、高效地運行,并滿足不同用戶的多種需求是網(wǎng)絡管理面臨的重大挑戰(zhàn)。網(wǎng)絡故障管理在網(wǎng)絡管理中起著非常重要的作用。當網(wǎng)絡出現(xiàn)故障時,網(wǎng)絡故障管理要完成以下工作。
(1)精確確定故障發(fā)生的位置。
(2)隔離故障部分,使其余的網(wǎng)絡不受干擾繼續(xù)工作。
(3)不使用故障組件、重新配置或修改網(wǎng)絡,以減少該故障對網(wǎng)絡的影響。
(4)修復或替換故障組件,使網(wǎng)絡恢復到初始狀態(tài)。
當今網(wǎng)絡系統(tǒng)龐大復雜,在網(wǎng)絡運行過程中,出現(xiàn)的問題也是多種多樣且不可預測的。網(wǎng)絡故障的發(fā)生有可能使信息傳輸擁塞,甚至導致網(wǎng)絡系統(tǒng)的崩潰。
網(wǎng)絡故障狀況可分為以下幾類:系統(tǒng)反應遲鈍、節(jié)點間連接丟失、文件系統(tǒng)不可存取、節(jié)點進程掛起和會話斷開。
循環(huán)校驗碼CRC(Cycle Redundancy Checkout)校驗錯、幀長度出錯、報文損毀或丟失等物理故障對網(wǎng)絡影響較直接,使網(wǎng)絡反應速度受到很大的影響。因為發(fā)送方將報文發(fā)出后,收到接收方發(fā)來的確認才認為通信成功。如果報文被破壞,則發(fā)送方將重發(fā)。但重發(fā)前有相當長的時延用于等待確認,而且重復發(fā)送多次仍失敗,發(fā)送方才放棄發(fā)送。因而這些物理故障造成的時延,嚴重影響網(wǎng)絡運行效率。
此外,諸如路由出錯、IP地址沖突等邏輯網(wǎng)絡故障也會使網(wǎng)絡時延陡增。網(wǎng)絡驅動適配器故障會使所有網(wǎng)絡服務遭到破壞。主機網(wǎng)絡驅動程序錯、網(wǎng)絡服務自身錯誤及計算機操作系統(tǒng)故障和操作系統(tǒng)配置錯誤都會導致網(wǎng)絡故障。
由于移動代理(Mobile Agent,MA)自身具有智能性,因此網(wǎng)絡管理移動代理(Network Management Mobile Agent,NMMA)可以檢測網(wǎng)絡故障,還可根據(jù)“經(jīng)驗”(自動更新數(shù)據(jù)庫)進行自學習,并對網(wǎng)絡故障進行判斷和處理。其中經(jīng)驗的積累和自學習的過程不可避免地用到人工智能的技術,如概率方法中的神經(jīng)網(wǎng)絡(Neural Network,NN)和貝葉斯信念網(wǎng)絡(Bayesian Belief Network,BBN)比較適用于處理相關告警,而基于案例推理(Case-Based Reasoning,CBR)和專家系統(tǒng)(Expert System,ES)的符號方法比較適用于故障定位。
2?網(wǎng)絡故障的檢測
2.1 基于SNMP的網(wǎng)絡故障檢測系統(tǒng)
簡單網(wǎng)絡管理協(xié)議(Simple Network Management Protocol,SNMP)功能模型包括網(wǎng)絡管理站(Network Management Stations)、網(wǎng)絡管理代理和網(wǎng)絡元素(Network Elements,NE)。網(wǎng)絡元素就是主機、網(wǎng)關、終端服務器等設備,SNMP是網(wǎng)絡管理站和網(wǎng)絡元素的管理代理用以通信的協(xié)議。
SNMP的體系結構如圖1所示。該體系包括SNMP管理者(SNMP Manager)和SNMP代理(SNMP Agent)。每個支持SNMP的網(wǎng)絡協(xié)議中都包含一個代理,此代理隨時記錄網(wǎng)絡設備的情況,而網(wǎng)絡設備通過SNMP通信協(xié)議查詢或修改代理所記錄的信息。
?
SNMP提供了一些通信原語,支持輪詢和文件驅動2種訪問方法,其中以輪詢?yōu)橹?。SNMP管理器定期輪詢被管設備,收集SNMP管理信息庫(MIB)參數(shù)值,監(jiān)測系統(tǒng)對網(wǎng)絡數(shù)據(jù)進行采樣、保存,以供網(wǎng)絡管理員查看和分析。
2.2 基于移動代理的網(wǎng)絡故障檢測
移動代理是一段計算機程序,可以自主地在異構網(wǎng)絡中按照一定的規(guī)程移動,尋找合適的信息資源和計算資源,并利用與這些資源同處一臺主機的優(yōu)勢,處理或使用這些資源,代表用戶完成特定的任務。當一個移動代理從某個位置遷移到另一個位置時,它的代碼和執(zhí)行狀態(tài)也相應地遷移。當它到達新的位置時,移動代理將從原來中止執(zhí)行的位置重新開始執(zhí)行。重新執(zhí)行的時間點由本代理的功能決定。一種MA應具有多種職能。例如決定如何達到目標以及下一步將要遷移到的位置。
移動代理具有封裝性、可移動性、智能性和協(xié)作性。此外還具有下列優(yōu)點。
????(1)單端的程序設計。大多數(shù)傳統(tǒng)的分布式計算模型是雙端的程序設計,用戶可以定義一個界面,設計服務器端的功能。更新和提高系統(tǒng)功能十分煩瑣,而應用移動代理,用戶只需對移動代理進行編程,極大地降低了編碼的代價。
(2)不需要一致的互聯(lián)傳輸。移動代理能用于一個簡捷的互聯(lián)傳輸中,然后可以被很快中斷。移動代理在遠端代理系統(tǒng)中執(zhí)行,完成任務后,再次使用一個簡捷的互聯(lián)傳輸發(fā)送結果信息或返回自己的發(fā)源地。
(3)網(wǎng)絡阻塞的減少。在基于傳輸?shù)目蛻?服務器實例中,例如遠程過程調用(Remote Processing Communication,RPC),即使是為完成一個簡單的傳輸,在客戶和服務器之間都需要幾個典型的流程。而在NMMA中,這些流程可以被簡化為移動代理。代理通過遷移到需要資源的位置,可以與未通過網(wǎng)絡傳輸?shù)娜魏沃薪閿?shù)據(jù)的資源進行交互操作,從而明顯減少了帶寬浪費。
移動代理為傳統(tǒng)的、固定的網(wǎng)絡管理提供了一種新的理念。移動代理程序使用Java編寫,在JVM下運行,可跨平臺、安全地執(zhí)行網(wǎng)絡管理中心派發(fā)的任務,自主地在網(wǎng)絡中各節(jié)點間遷移。由于其自身的智能性,網(wǎng)管移動代理不但可以檢測到網(wǎng)絡故障,還可根據(jù)“經(jīng)驗”處理一些故障,將結果保存,以備它回到管理工作站時將結果帶回;如果檢測到不能處理的故障,網(wǎng)管移動代理也會作記錄,并報告給管理工作站。網(wǎng)管移動代理從管理工作站派出后,可在被任命的管轄區(qū)域(如某局域網(wǎng))內(nèi)依次輪詢多個節(jié)點,當遍歷過一遍之后,再將執(zhí)行情況帶回。通常一個管理站可同時派發(fā)多個網(wǎng)管MA來管理不同的區(qū)域。這樣,網(wǎng)絡管理員可以集中精力處理網(wǎng)管移動代理處理不了的那些故障,而不必處理那些簡單、重復的故障。
為進行有效的故障處理,應為網(wǎng)管移動代理建立以下相關的數(shù)據(jù)庫:采樣系統(tǒng)、故障自學習系統(tǒng)數(shù)據(jù)庫和故障處理策略數(shù)據(jù)庫等。
用戶總是希望基于MA的網(wǎng)絡故障管理可以實現(xiàn)其完備的自主性和自學習性,實現(xiàn)其真正的智能化,即網(wǎng)絡管理平臺可以派發(fā)MA完成各種任務,如發(fā)現(xiàn)和定位故障,分析和測試故障的類型,針對故障的類型對其進行修復。對于那些曾經(jīng)成功處理過的案例將被記錄下來,在下次遇到此類故障時就可以直接從策略庫中提取出來,進行處理。可見,要實現(xiàn)智能化的網(wǎng)絡故障管理,自學習顯得非常重要。基于移動代理技術的網(wǎng)絡故障檢測系統(tǒng)模型如圖2所示。
?
告警過濾是用來把非故障性的告警濾除,而保留主要的、反映根本的原因的告警。告警過濾被分為4個過程。
(1)壓縮(Compression):將相似的多個告警事件抽象為一個告警事件。
(2)清點(Count):將許多特定的、相似的告警或告警類型用一種新的告警來替換。
(3)抑制(Suppression):在高優(yōu)先級的告警發(fā)生時,有效地抑制低優(yōu)先級的告警。
(4)總結(Generalization):把一個告警歸類于某個由域專家決定的父類。
告警關聯(lián)自身有相當?shù)哪:?即使存在大量詳細的數(shù)據(jù),告警仍然存在極大的不確定性。例如:一個遠程的、沒發(fā)生的事件可能引起一個設備等待該事件的發(fā)生,但沒有任何響應,直到超時。這可能是設備故障,或是由于擁塞而引起的響應延遲,或是本地設備的時鐘故障等。針對告警關聯(lián)過程可能出現(xiàn)的模糊性、不完整性和矛盾的數(shù)據(jù),用基于概率的人工智能的方法(如NN和BBN)處理這些問題是非常有效的。
多層前饋式(Feedforward)神經(jīng)網(wǎng)絡有很多特性可用于處理告警與相關的難題:
(1)NN能夠識別出跟先前已經(jīng)被解決的問題相似的條件(模式匹配)。
(2)給定足夠的神經(jīng)元,NN能逼近任何一個函數(shù),包括布爾函數(shù)和分類器。在為不同的告警類型訓練方面,NN具有很大的靈活性。
(3)NN能夠很好地總結和學習給定函數(shù)的近似值,而不需要深入理解知識域。這一點對ATM交換網(wǎng)等新技術領域特別重要。
(4)提供了一種快速高效的分析未來告警的方法。
(5)NN具有處理不完全的、模糊的和不完備數(shù)據(jù)的能力。
BBN是另外一種處理不確定的和表示節(jié)點間因果依賴關系的方法。該方法的一個重要優(yōu)點是,可以避免在網(wǎng)絡中形成包含所有節(jié)點排列的概率分配表,而只有節(jié)點的直接前驅節(jié)點的狀態(tài)和結果對本節(jié)點有影響。根據(jù)貝葉斯信念模型的知識表示,大量相關的和任意連接的數(shù)據(jù)可以被表示出來。大體說來,有如下幾點。
(1)BBN能表示通過元件和網(wǎng)絡行為及故障之間的因果關系而建立的傳輸網(wǎng)絡功能性模型的深層知識。
(2)BBN能提供故障診斷指導。計算同一貝葉斯信念網(wǎng)絡能確定告警的優(yōu)先級和需要進一步確認的故障區(qū)域。
(3)BBN能處理基于概率論背景的噪聲、瞬變值和模糊數(shù)據(jù)。
(4)與其他概率方法比較,BBN具有標準組件和簡潔的、易于理解的表示。
(5)由于BBN使用證據(jù)或故障組結合的解決方法,所以它能提供簡潔的,且表述完備的問題空間。
3?故障診斷及定位
當網(wǎng)管移動代理檢測節(jié)點運行情況時,若發(fā)現(xiàn)故障,則沒有必要對其定位。網(wǎng)絡中某處發(fā)生故障,告警系統(tǒng)將向其上一級管理者發(fā)出告警。在基于移動代理的網(wǎng)絡管理系統(tǒng)中,管理者就是網(wǎng)管移動代理。
由于網(wǎng)絡具有物理和邏輯上的相關性,因此單一的故障往往可能引發(fā)相關網(wǎng)元的多處告警,使故障定位變得困難。而多個故障并發(fā)告警時,情況更加復雜。網(wǎng)絡管理員或網(wǎng)管移動代理無法很快弄清故障原因,因而不能迅速解決和修復故障。目前,告警過濾(Alarm Filter)往往只簡單地將這些告警打印或存放到數(shù)據(jù)庫中,等待管理員處理。這樣使故障不能在短時間內(nèi)排除,效率很低。于是有人提出了告警關聯(lián)(Alarm Correlation)的處理方法。告警關聯(lián)處理即對告警進行合并和轉化,將多個告警合并成具有更多信息的告警,這樣可用1條告警來代替多條告警,極大地提高了處理告警的效率。目前有關告警關聯(lián)的研究有很多方法,有的方法通過簡化優(yōu)先狀態(tài)自動機來簡化告警;有的方法則使用人工智能,如基于事例的推理方法、基于規(guī)則的相關性方法、模糊邏輯、貝葉斯模型、人工神經(jīng)網(wǎng)絡和數(shù)據(jù)挖掘等。
在故障定位方面,CBR比專家系統(tǒng)更有優(yōu)越性??偟膩碚f,專家系統(tǒng)有以下缺點。
(1)不能處理新的和變化的數(shù)據(jù)。當遇到不能預見的情況(如基于變化的網(wǎng)絡拓撲告警的新的結合體)時,規(guī)則會變得非常脆弱。
(2)不能根據(jù)經(jīng)驗進行學習。
(3)不能很好地描述大量動態(tài)變化的現(xiàn)實情況。操作者若不通過深入理解規(guī)則庫的現(xiàn)狀及規(guī)則庫的運行機制,將很難添加新的規(guī)則。
(4)當域知識改變時ES需要進行大規(guī)模的維護,即添加新規(guī)則和修改舊規(guī)則。
(5)不擅長處理模糊邏輯。
(6)在分析大量不相關的、模糊的和不完備的數(shù)據(jù)時非常困難。
在故障定位方面,CBR也比ES更健壯。其優(yōu)點如下。
(1)能通過使用相似性判斷能力處理新的、可變的數(shù)據(jù)。
(2)能通過獲取新案例學到經(jīng)驗。
(3)能很好地描述可相互分解或合并的、具有知識表示能力的、大的知識域。
(4)不需要經(jīng)常、大規(guī)模地更新規(guī)則庫。
(5)從仿真方法或從案例庫中獲取的先驗事件可以被CBR作為解決方法來分析。
(6)能使用一種比專家系統(tǒng)的規(guī)則開發(fā)耗時更短的知識獲取方法。
基于規(guī)則推理的方法可以使用存放在規(guī)則庫中的先驗經(jīng)驗。因此,問題的解決過程轉變成回想舊的經(jīng)驗和解釋舊經(jīng)驗的新條件。
CBR問題的解決過程可以被描述為5個步驟:①采取緊急措施補救。②解釋和適應。③評估和修復。④實施修復策略。⑤評價和學習。基于案例推理的過程如圖3所示。首先用最好的方法匹配當前的條件和案例。因此使用合適的索引方法(如決策樹或最近匹配)非常重要。一旦某個案例被補救,它一定會被解釋然后適用。解釋的過程是被補救案例和當前案例的簡單對比。適應是很復雜的、域間依賴的過程。接下來通過與相似性解決方案或仿真方法的案例做比較對提出的解決方法進行評測,并且該解決方法可以根據(jù)實際情況進行改變。在CBR系統(tǒng)找到最好的解決方法后,該方法就可以被實施和評估。評估結果、解決步驟和問題背景被輸入到一個新的案例中,之后將被編入案例庫的索引中,以便于系統(tǒng)的學習。
?
故障診斷專家系統(tǒng)接收由故障檢測系統(tǒng)送來的故障信息,針對故障信息進行診斷、定位,然后由控制中心將推理所得的結果送往故障修復系統(tǒng),或將處理不了的故障交給移動代理帶回管理工作站。
基于SNMP的網(wǎng)絡故障管理系統(tǒng)用于故障診斷分析的數(shù)據(jù)主要來自三個方面:MIB、遠程網(wǎng)絡監(jiān)控MIB(RMON)和網(wǎng)絡監(jiān)控代理發(fā)出的Trap報文?;谝苿哟淼木W(wǎng)絡管理系統(tǒng)輪詢MIB和RMON,獲取相應的統(tǒng)計數(shù)據(jù),作出相關的處理、修復或將結果帶回等。
4?結束語
基于移動代理的網(wǎng)絡故障管理系統(tǒng)是一種新型的故障處理方法,它摒棄了傳統(tǒng)的網(wǎng)絡管理中管理站在某一位置的固定處理方式,利用移動代理的智能性、可移動性和自主性等優(yōu)點管理計算機網(wǎng)絡,極大地減輕了網(wǎng)絡管理員的工作量。而神經(jīng)網(wǎng)絡和貝葉斯信念網(wǎng)絡等人工智能技術的引入,增加了網(wǎng)絡管理系統(tǒng)的自學習性和主動性,能夠存儲過去的經(jīng)驗知識,并進行分析和總結。這二種人工智能方法的實現(xiàn),將為網(wǎng)絡故障管理開辟很大的發(fā)展空間。實現(xiàn)網(wǎng)絡管理自主與移動代理進行交互,并完成網(wǎng)絡故障管理將是下一個開發(fā)目標。
?
參考文獻
1? Stallings W.SNMP網(wǎng)絡管理.北京:中國電力出版社,2001
2? 蘇利敏.基于神經(jīng)網(wǎng)絡的告警關聯(lián).北京理工大學學報,2002;22(3)
3? 鄭慶國,呂衛(wèi)鋒.通信網(wǎng)絡中的告警相關性研究.計算機工程與應用,2002;38(2)
4 ?王汝傳,徐小龍.移動代理安全機制的研究.計算機學報,2002;25(12)
5? 王汝傳,趙新寧.基于網(wǎng)絡的移動代理系統(tǒng)安全模型研究和分析.計算機學報,2002;26(4)
6? 張云勇.移動Agent及應用.北京:清華大學出版社,2002