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