本文在全面綜述的基礎上,深入分析了人工智能技術在網絡診斷中的應用,並在此基礎上,重點研究了以路由接口為對象的BP網絡故障診斷模型。本文通過訓練6個物理故障指標和9個運行狀態指標,得到網絡接口故障的BP神經網絡診斷模型。在此基礎上,經過需求分析,根據實際應用,設計並實現了壹個智能網絡管理系統。該系統主要包括四個模塊:用戶管理、網絡監控、配置管理和故障診斷。用戶管理模塊用於記錄管理員的相關信息。配置管理模塊可以通過網頁配置網絡設備;故障診斷模塊作為本文的重點,采用BP網絡故障診斷模型實現網絡故障分析和診斷;網絡監控模塊顯示網絡設備的運行參數和狀態。
本文將BP神經網絡模型與現代網絡管理技術相結合,對此類系統的研究和設計具有壹定的參考意義和價值。
關鍵詞:BP神經網絡;網絡故障;SNMP網絡管理
1簡介
1.1研究背景和研究目的意義
中國互聯網絡信息中心(CNNIC,2018)發布了截至2018和12的第43次《中國互聯網絡發展狀況統計報告》。報告顯示,截至2018和12,我國網民規模為8.29億,且每年保持5000萬以上的增長。而且這種趨勢在未來幾年還會繼續。5G時代的到來將加速互聯網與其他行業的融合,網絡規模必然會進壹步增大。
傳統的網絡管理系統基於分布式網絡應用系統,采用軟硬件結合的方式。SNMP協議是目前網絡管理領域應用最廣泛的網絡管理協議,它統壹了各種網絡設備獲取數據的方式,幾乎所有的網絡設備廠商都支持該協議。然而,傳統的基於SNMP的網絡管理軟件大多基於C/S架構,存在擴展性和靈活性差、升級和維護困難等缺點,給網絡管理帶來了壹些不便。因此,基於三層架構的網絡管理系統已經成為壹種發展趨勢。隨著Web技術的飛速發展,壹個基於B/S(瀏覽器/服務器)架構的“Web分布式網絡管理系統”應運而生,它獨立於具體的客戶端應用,跨平臺,方便易用,支持分布式管理,可動態擴展和更新。
本文將重點研究基於BP的故障診斷模型,並實現壹個以接口故障為研究對象的智能網絡管理系統模型。基於此,可以設計並實現壹個基於web的智能網絡管理系統,不僅可以實時監控網絡數據,還可以基於BP網絡故障診斷模型對通信網絡中的接口故障進行診斷,在壹定程度上實現了網絡故障管理的自動化。該系統既能保證網絡設備提供穩定可靠的網絡服務,又能降低企業維護網絡設備的成本。
1.2國內外研究現狀
網絡設備管理是指各種網絡設備(如核心層、匯接層、接入層路由和交換設備、服務器和計算機)的各種操作和相關配置。管理服務器(Manager)用於處理網絡信息,與管理服務器合作處理和管理網絡信息的實體稱為代理。被管理對象是指用於提供或使用網絡服務的設備的所有資源信息,各種被管理對象構成壹個管理信息庫。在網絡管理的實際過程中,管理服務器與代理服務器之間、代理服務器與被管理對象之間通過標準化的網絡管理協議進行信息交換(王和2015)。
相對於國外的網絡管理系統和產品,國內相應的網絡管理系統和產品起步較晚,但隨著互聯網技術的發展,網絡管理軟件發展迅速,誕生了許多優秀的網絡管理軟件,在我國網絡管理領域得到了廣泛的應用。
1.2.1國外研究現狀
目前國外大型網絡服務提供商都有與其產品相對應的網絡管理系統。從最初的C/S架構到現在的B/S架構。著名的有:Cabletron Systems的Spectrum,Cisco的CiscoWorks,OpenView,Tivoli HP,Tivoli Systems的TH NetView。這些網管產品都是結合自己的產品,實現了網管的所有功能,但是相對專業的系統還是采用C/S架構。
NetView是網絡管理領域最流行的管理軟件。NetView可以分布式實時監控網絡運行數據,自動獲取網絡拓撲的變化,生成網絡拓撲。此外,系統具有強大的歷史數據備份功能,方便管理員管理歷史數據統計。
OpenView具有良好的兼容性。該軟件集成了各種網絡管理軟件的優點,支持更多的協議標準,具有強大的異構網絡管理能力。
CiscoWorks是思科的產品。該軟件支持遠程控制網絡設備,管理員通過遠程控制終端管理網絡設備,提供自動發現、網絡數據可視化、設備遠程配置和故障管理等功能。使用相同的產品可以提供更好的服務,所以CiscoWorks結合思科平臺的其他產品可以為思科設備提供更細致的服務。
Cabletron的頻譜是壹個靈活和可擴展的網絡管理平臺。它采用面向對象和人工智能的方法,可以管理各種對象實體。它使用歸納模型來檢查不同的網絡對象和事件,找到它們的相似之處並總結它們的本質。同時,它還支持自動設備發現,並可以以分布式方式管理網絡和設備數據。
1.2.2國內研究現狀
隨著家用計算機的快速發展,網絡設備的規模不斷擴大,拓撲結構的復雜性也在增加。為了應對這些問題,大量優秀的網絡管理軟件應運而生。比如南京聯創OSS綜合網管系統,邁普Masterplan等網管系統。華為的iManager U2000網管系統和北京何誌通信自主研發的SugarNMS開源網管平臺得到了廣泛應用。
Masterplan的主要特點是可以實現良好的網絡應用的故障診斷和性能管理,適用於網絡中服務器、網絡設備和設備上關鍵應用的監控和管理。
SugarNMS具有壹鍵自動發現、可視化拓撲管理、網絡資源管理、故障管理、日誌管理、支付交付等功能,並提供C/S和B/S兩種使用模式。
IManager U2000位於電信網絡的網元管理層和網絡管理層。它采用開放、標準、統壹的北向集成,大大縮短了OSS的集成時間,系統以業務為中心,縮短了故障處理時間,從而降低了企業故障處理的成本。
近年來,隨著人工智能技術的興起,越來越多的企業開始將人工智能技術應用於網絡管理,以取代傳統的集中式網絡管理。為了降低企業網絡維護的成本,提高網絡管理人員的工作效率,智能化、自動化的網絡管理系統成為許多學者關註的焦點。
1.3神經網絡在網絡管理中的適用性分析
網絡管理的功能是控制網絡資源,監控通信網絡的運行狀態,排除網絡故障。本質上,管理網絡資源就是管理員為了滿足業務需求,下發相關設備配置命令,改變網絡設備的狀態,從而保證業務穩定;監控網絡的運行狀態壹般是指定期或實時獲取設備的運行狀態進行可視化,方便管理員分析當前設備運行是否正常。排除網絡故障是指管理員通過分析網絡設備的運行數據,並與以往的數據進行比較或根據自己的經驗進行分析,從而確定故障來源、故障類別、原因和解決方法。故障排除是對前壹階段發現的網絡故障進行特征分析,根據診斷過程得出結果,並執行具體指令,恢復網絡設備的正常運行(洪,2016)。
神經網絡具有並行性和分布式存儲、自學習和自適應能力、非線性映射等基本特性。目前最流行的神經網絡模型是BP(Back-Propagation)神經網絡,它是根據誤差反向傳播算法訓練的多層前饋神經網絡,屬於壹種監督學習神經網絡。該模型分為輸入層、隱含層和輸出層。外部輸入樣本的刺激不斷改變連接權值,輸出誤差以某種形式通過隱層逐層反向,使網絡輸出不斷逼近期望輸出。其本質是動態調整連接權重。BP神經網絡具有突出的泛化能力,善於處理分類問題。
BP網絡是目前常用的誤差處理方法,在許多領域得到了廣泛的應用。其處理單元具有數據量大、結構簡單的特點。神經網絡以大腦的生理學研究成果為基礎,模擬大腦的某些機制,形成壹個非常復雜的非線性動態系統。在處理網絡設備運行中的數據和信號模糊的情況下,它可以自主學習並得到所需的結果。模型中的輸入輸出向量可以分類連接,以適應復雜的傳輸和存儲處理。因此,本文將在現有網絡管理技術的基礎上,結合BP神經網絡來解決網絡故障問題。
1.4本文的主要研究目標
本文的研究目的
針對傳統網絡管理存在的問題和不足,探索了基於BP神經網絡的方法,構建了基於通信網絡接口的故障診斷模型。通信網絡接口故障診斷模型能夠有效地診斷接口故障,識別故障類型。促進現有網絡管理系統更加智能化。在此基礎上,分析、設計並實現了基於三層架構的智能網絡管理系統。
1.4.2技術路線
智能網的研究首先要確定系統的發展技術路線。研究的主要過程是在查閱相關科研資料的基礎上構建實驗環境。在保證網絡正常通信的前提下,采集各個端口的流入流出流量,記錄設備的運行狀態,管理設備的入站信息。同時安排實驗環境中相應的故障,包括改變端口狀態,改變端口ip地址和子網掩碼,收集通信網絡接口故障發生時網絡拓撲中產生的異常數據。查閱BP神經網絡在故障診斷中的相關論文,基於網絡通信設備接口常見故障和相關故障文檔,構建BP神經網絡故障模型,並判斷故障模型的有效性。逐步實現系統的所有功能。最後,對系統進行測試,得出結論並應用於實踐。
1.5本文的組織結構
本文主要由六章組成,各章的主要內容如下:
第壹章是緒論。本章首先簡要介紹了當前網絡管理系統的發展和應用現狀,並進壹步分析了建立智能網絡管理系統的意義。闡述了國內外網絡管理系統的研究現狀。最後,討論了本文的目的和組織結構。
第二章相關概念和相關技術。本章詳細介紹了SNMP的相關技術,包括SNMP組織模型、SNMP管理模型、SNMP信息模型和SNMP通信模型。然後介紹了前端框架Vue和繪圖插件Echarts技術,接著介紹了常見故障分析技術、專家系統、神經網絡等。最後,簡要介紹了神經網絡的基本概念和分類。
第三章是基於BP神經網絡的故障推理模型。介紹了BP神經網絡的基本概念、網絡結構、設計步驟和訓練過程,並以界面故障為例詳細介紹了BP神經網絡故障模型的構建過程。
第四章是智能網絡管理系統的分析和系統設計。首先,進行了需求分析。其次,闡述了系統的架構設計和總體模塊結構設計。用活動圖詳細說明了系統各功能模塊的分析和設計。最後簡要說明了數據庫的設計。
第五章是智能網絡管理系統的實現。闡述了整體開發流程,描述了用戶管理模塊、配置管理模塊、設備監控模塊和故障診斷模塊的實現過程,並展示了實現結果。
第六章系統測試及結論。對系統的部分功能和性能進行了測試和分析。
第七章是總結與展望。總結本文的研究成果和存在的問題,並提出下壹步完善系統的設想和對未來的展望。
2相關概念和相關技術
2.1網絡管理概述
網絡管理就是通過適當的手段和方法,保證通信網絡能夠按照設計目標穩定高效地運行。不僅要準確定位網絡故障,還要通過分析數據提前預測故障,通過優化設置降低故障發生率。
網絡管理系統的五個基本功能是:配置管理、性能管理、故障管理、計費管理和安全管理;
1)配置管理:配置管理是最重要也是最基礎的部分。可以設置網絡通信設備的相關參數,以便管理被管理的設備,根據需求定期或實時獲取設備信息和運行狀態,查看和維護設備狀態列表,生成數據表,為管理員更改設備配置提供參考和接口。
2)性能管理:性能管理是對系統網絡的運行狀態和穩定性進行評估。其主要工作包括從被管理對象獲取與網絡性能相關的數據,對這些數據進行統計和分析,建立模型預測變化趨勢和評估故障風險,通過配置管理模塊修改網絡參數,保證網絡資源的優化利用,以保證通信網絡的平穩運行。
3)故障管理:故障管理的主要功能是及時識別網絡中的故障,找出故障原因,並對故障進行分析和處理。故障管理壹般分為四個部分:(1)故障檢測。故障源可以通過被管理設備主動向管理站發送故障信息或者管理站主動輪詢被管理設備來找到。(2)報警。管理站發現故障信息後,會通過短信、信號燈等方式提示管理員。(3)故障排除。分析故障信息,明確故障的原因和類型,並找到相應的解決方法。(4)保存歷史故障數據。對歷史故障數據進行維護和備份,可以為以後的故障提供壹定的依據,使處理網絡故障更加高效。
4)計費管理:計費管理的主要功能是為客戶提供合理的收費依據,通過統計客戶網絡資源的使用情況來對客戶進行收費,比如計算客戶消費流量的費用。
5)安全管理:目的是保證網絡的平穩安全運行,避免或抵禦外界的惡意入侵,防止重要數據的泄露,如用戶個人隱私的泄露。
根據網絡管理系統的體系結構和ISO定義的基本功能,基於Web的網絡管理系統的基本模型如圖所示。整個模型包括六個組件:Web瀏覽器、Web服務器、管理服務集、管理信息庫、網絡管理協議和被管理資源。
2.2 SNMP協議
簡單網絡管理協議(SNMP)可以用作壹個協議或壹組標準。事實上,SNMP已經成為網絡管理領域的工業標準。從提出至今,* * *有八個版本,實踐中廣泛使用的有三個版本,分別是SNMPv1、SNMPv2c和SNMPv3(唐明兵2017)。最初的SNMPv1主要是為了滿足基於TCP/IP的網絡管理的需要而設計的。然而,隨著網絡管理行業的快速發展,第壹版SNMP協議已經不適應網絡行業的發展,認證和批量數據傳輸的暴露使得SNMPv1難以支撐日益龐大的網絡設備。第二版已經演變成運行在多種網絡協議上的網絡管理協議,相比第壹版有了很大的進步。它不僅提供了更多的操作類型,支持更多的數據類型,還提供了更豐富的錯誤代碼,可以更細致的區分錯誤。此外,支持的分布式管理在壹定程度上大大減輕了服務器的壓力。但是SNMPv2c仍然是明文傳輸密鑰,安全性有待提高。直到1998,SNMPv3才正式上線。SNMPv3的進步主要體現在其安全性能上。它引進了USM和VACM技術。USM增加了用戶名和組的概念,可以設置認證和加密功能,對NMS和代理之間傳輸的消息進行加密,提高其安全性,防止竊聽。VACM決定是否允許用戶訪問MIB對象以及如何訪問。
2.2.1 SNMP管理模型和信息模型
SNMP系統由四部分組成:網絡管理系統(NMS)、代理進程代理、被管理對象管理對象和管理信息庫(MIB)。管理模型圖如下所示:
1)NMS叫網管系統。作為網絡管理過程的核心,NMS通過SNMP協議向網絡設備發送消息,代理接收NMS發送的管理消息,對設備進行統壹控制。NMS可以主動向被管理對象發送管理請求,也可以被動接受被管理對象發送的陷阱消息。
2)Agent相當於網絡管理過程中的中間件,是壹種軟件,用於處理被管設備的運行數據和響應來自NMS的請求,並將結果返回給NMS。代理收到NMS請求後,通過查詢MIB庫完成相應的操作,並將數據結果返回給NMS。Agent還可以作為網絡管理過程中的中間件,不僅可以使信息從NMS響應到特定的硬件設備,還可以通過配置Trap使被管設備在設備出現故障時主動向NMS發送事件,以便NMS及時發現故障。
3)管理對象是指被管理的對象。壹個設備可以是多個被管理對象中的壹個,設備中的某個硬件和軟硬件上配置的壹組參數都可以是被管理對象。
4)MIB是壹個概念數據庫,可以理解為Agent維護的管理對象數據庫,存儲被管理設備的相關變量信息。MIB庫定義了被管理設備的壹系列屬性:對象的名稱、對象的狀態、對象的訪問權限和對象的數據類型。通過讀取MIB變量的值,代理可以查詢被管理設備的當前運行狀態和硬件信息,從而達到監控網絡設備的目的。代理可以通過修改相應設備的MIB中的變量值和設置被管理設備的狀態參數來完成設備配置。
SNMP的管理信息庫是樹形結構,結構類型類似DNS,有根節點,沒有名字。在MIB功能中,每個設備都作為oid樹的壹個分支的末端來管理。每個oid(對象標識符)對應於OID樹中的壹個管理對象,並且是唯壹的。利用樹型結構的特點,可以高效快速地讀取存儲在MIB中的管理信息,並可以遍歷樹中的節點,讀取順序為自上而下。目前應用最廣泛的管理信息庫是MIB-ⅱ,它是在MIB-ⅰ的基礎上擴展和改進的。MIB-II結構示意圖如圖2.3所示:
(1)系統組:作為MIB中的基本組,可以用來獲取設備基本信息和設備系統信息。
(2)接口組:定義接口的信息,如接口狀態、錯誤包等,常用於故障管理和性能管理。
(3)地址轉換組:用於地址映射。
(4)ip組:包含有關ip的信息,如網絡號和ip數據包的數量。
(5)icmp組:包含與icmp協議相關的信息,如icmp報文總數、icmp錯誤報文輸入輸出數等。
(6)tcp組:tcp協議中包含的相關信息,如tcp報文數量、重傳時間、擁塞設置等。應用於網絡擁塞和流量控制。
(7)udp組:與udp協議相關,可以查到udp報文的數量,也保存了udp用戶的ip地址。
(8)egp組:包含egp協議的相關信息,如EGP協議下的鄰居表信息和自治系統數量。
(9)cmot組:為《cmot議定書》保留。
(10)傳輸組:保留用於傳輸信息。
(11)snmp組:存儲snmp操作和實現的信息,比如發送和接收SNMP消息的數據量。
2.2.2 SNMP通信模型
SNMP規定了五個基本數據單元PDU,用於管理進程和代理進程之間的交換。
(1)get-request操作:管理進程請求數據。
(2)get-next-request操作:根據當前操作的MIB變量從代理進程中讀取下壹個參數的值。
(3)設置請求操作:用於設置網絡設備。
(4)get-response操作:上述三個操作成功返回後,將數據返回給管理進程。該操作由代理進程返回給管理進程。
(5)trap操作:SNMP代理以異步方式主動向SNMP管理站發送trap包。壹般用於故障報警和特定事件。
SNMP消息包含兩部分:SNMP報頭和協議數據單元PDU。根據TCP/IP模型,SNMP是基於UDP的應用層協議,UDP是基於IP協議的。因此,SNMP報文的完整示意圖如下:
(1)版本號表示SNMP版本,其中版本字段的大小是版本號減去1,如果是SNMPv2,則顯示的字段值是1。
(2)社區名稱本質上是壹個字符串。作為明文密鑰,它用於加密管理進程和代理進程之間傳輸的消息。壹般默認設置為“public”。
(3)請求ID用於消息識別。當管理進程發送消息時,它攜帶壹個整數值,當代理進程返回消息時,它攜帶標識符。管理進程可以通過標識符識別哪個代理進程返回了數據,從而找到請求對應的消息。
(4)錯誤狀態是指當錯誤發生時,代理進程返回時填入壹定數量的錯誤狀態符號0-5,該編號對應相關錯誤信息。錯誤狀態描述符如下:
(5)錯誤索引(error index)是指當通信過程中出現上表2.2中的錯誤時,代理進程在應答請求時設置壹個整數,該整數的大小對應於變量列表中錯誤變量的偏移量大小。
(6)變量名-值對以鍵-值的形式存儲變量名和對應的值。
(7)trap報文是代理進程主動向管理進程發送的報文,不需要等待管理進程的下壹次輪詢。SNMPv2的trap消息格式比SNMPv1更接近普通SNMP響應消息,更統壹。以SNMPv2為例,trap消息的格式如下:
陷阱類型定義的具體陷阱***有7種,後者由供應商自己定制。下表顯示了陷阱類型:
2.2.3 SNMP組織模型
SNMP代理組織分為分散式和集中式兩種模式。在分散式模型中,每臺服務器對應壹個SNMP代理,可以理解為壹對壹的關系,管理站分別與每臺被管服務器上的代理進行通信。
在集中式模型中,管理服務器上只創建壹個SNMP代理。管理站只與管理服務器上的SNMP代理通信,SNMP代理接收固定區域的所有數據。如圖2.6所示:
2.3 Vue
為了實現前端和後端分開開發的理念,Vue應運而生。Vue.js作為壹個用戶界面框架,簡單易用,使得前端開發人員無需通過這個編寫復雜的DOM操作來搜索相關節點,大大提高了開發的效率。通過MVVM框架,視圖同步數據可以自動更新。在聲明了實例new Vue(data:data)之後,數據中的數據將被綁定到其對應的視圖中。壹旦數據中的數據發生變化,視圖中相應的數據也會隨之變化。Vue.js基於MVVM框架實現了視圖和數據的壹致性,分為模型、視圖模型和視圖三個部分。MVVM框架模式:
Vue.js的理念是“壹切都是組件”,可以說組件是vue.js最強大的功能,組件可以擴展HTML元素,將HTML、CSS、JavaScript封裝成可重用的代碼組件,可以應用於不同的場景,大大提高效率。與傳統的JavaScript相比,它使用虛擬DOM來呈現頁面。當數據發生變化時,將虛擬DOM結構與實際頁面結構進行比較,對差異部分進行重新渲染,進壹步提高頁面性能。
2.4電子海圖
百度開發的純JavaScript海圖庫Echarts(Enterprise Charts),可以在PC和移動設備上流暢運行。ECharts兼容當前主流瀏覽器,底層依托輕量級畫布庫ZRender。Echarts提供直觀、生動、互動和高度定制的視覺圖標。ECharts包括以下功能:
1)豐富的可視化類型:有直方圖、折線圖、餅狀圖等常規圖表,也有可用於地理數據可視化的熱圖、折線圖,還有多維數據可視化的平行坐標。
2)支持多種數據格式* * *存儲:4.0+版本內置的dataset屬性支持直接傳入二維表。
3)支持多維數據:可以傳入多維數據。
4)移動端的優化:移動端的可視化做了壹定程度的優化,可以用手指在坐標系中縮放平移。
5)動態類型切換:支持不同類型圖形之間隨意切換,可以用柱形圖或折線圖展示統壹數據,也可以從不同角度展示數據。
6)時間軸:在可視化數據的同時,可以定期或定時顯示,使用時間軸可以顯示所有的數據。