任 偉
(中國電信股份有限公司廣東分公司,廣東 廣州 510081)
隨著新一輪科技革命和產業變革的深入發展,數字化和智能化轉型成為經濟發展的新動力,如何利用數字化、智能化手段,保障組織業務連續性,即全天候不間斷為用戶提供服務,以高可靠、高可用的服務能力獲取競爭優勢,成為組織當前急需解決的問題。
近些年,業內一直在研究廣域網主動監控技術,但基本都是通過整合不同的網管系統,建設綜合網管的形式來實現,隨著網絡和應用系統迅速增加,網絡監控難度越來越大[1]。加上廣域網分層分段的組網架構特點,依靠傳統方式,效率低下,網絡不可用的時間較長,難以達到對廣域網線路故障精準監控、即時處理的要求[2]。通過分析簡單網絡管理協議(Simple Network Management Protocol,SNMP)等網絡診斷技術,對廣域網主動監控技術進行了應用性研究,側重對監控系統設計和網絡連通性進行探討,并提出了相應的解決建議。對希望利用主動監控技術保障業務連續性,進而提升競爭力的組織,具有一定的參考價值和借鑒意義。
主控監控系統架構基于分層的思路,著重考慮了一個獨立于專業網管應用環境的框架,使其既滿足業務的需求又符合架構設計原則。系統采用軟總線思想,用控制和管理組件來集成并管理所有業務功能組件,用Java 消息服務(Java Message Server,JMS)總線來實現系統內的數據交互和消息通信。適配層按照接入方法的不同,用獨立的適配器來實現和被管節點之間接口的對接,具有一定的獨立性,也易于擴展。
系統從層次上分成4 部分,分別是業務展現層、應用服務層、消息分發層以及采集適配層。其中,業務展現層是應用實現的接口,包括各種人機界面對外接口;應用服務層是系統的功能業務實現層和數據處理中心,包括多個業務功能組件;消息分發層采用JMS 總線實現系統內數據交互和消息通信;采集適配層實現和被管節點(設備、網絡、系統等)之間的連接,包括數據的采集或控制數據的下傳。
主動監控系統整體上包括監控管理、告警管理、性能管理、基礎資源管理、拓撲管理、采集管理以及七層流量監控等功能模塊。其中,監控管理對專線電路、IT 基礎設備、IT 基礎應用等進行監控采集和處理管理;拓撲管理通過拓撲圖動態、實時展示客戶網絡的運行狀態;告警管理對接收到的各類告警數據進行處理、分析以及展現;性能管理對性能數據進行處理、分析以及展現;基礎資源管理包括客戶基本資料管理、客戶電路管理、監控配置管理等;七層流量監控對客戶廣域網絡提供端到端的1 ~7 層網絡及應用監測和管理業務,包括7×24 h 監控、報警、通知與處理、應用和流量統計分析、服務級別檢測服務以及IP 語音(Voice over Internet Protocol,VoIP)監測服務。
主動監控系統包括2 臺監控服務器、2 臺數據庫服務器、1 臺Web 服務器、1 臺消息服務器以及14臺采集服務器。2 臺數據庫服務器做雙機熱備運行,數據存儲磁盤陣列中,通過光纖連接到磁盤陣列。為保障數據安全,使用獨立磁盤冗余陣列(Redundant Arrays of Independent Disks,RAID)模式實現數據冗余。主動監控系統部署于運營商內網,需要與互聯網相互訪問,網絡之間通過防火墻保證安全性。
主動監控系統接入電信運營商網絡,通過專線接入客戶路由器,用于打通主動監控系統與客戶內網的通道。客戶路由器需要開放SNMP-Community 只讀權限,根據電路代號、網際互連協議(Internet Protocol,IP)地址、裝機地址等信息對線路質量實施主動監控。主動監控系統的網絡接入示意如圖1 所示。

圖1 主動監控系統的網絡接入示意
監控數據的采集是網絡監控系統能否發揮作用的基礎。通過海量數據的采集,準確梳理各類設備和指標相互之間的聯系,以設備、系統、網絡等對象作為載體,聚合各類關聯監控指標和告警,整體反映了各級監控對象的運行狀況,使得IT 運維人員可以直觀查看各級監控對象的運行情況,所見即所得,快速定位和處理故障。
SNMP 是一種基于客戶端/服務器模型的協議,處于七層協議中的應用層,以傳輸層為基礎,來實現某一特定功能[3]。SNMP 主要應用于報文傳輸,可以幫助管理員監控網絡流量的情況。管理員不僅可以使用SNMP 來獲取網絡設備的流量統計信息,判斷網絡流量是否正常,還可以使用SNMP 協議來配置網絡設備的流量控制策略,優化網絡流量的使用。
SNMP 包含管理者(Manager)、代理(Agent)以及管理信息庫(Management Information Base,MIB)3 個主要組成部分。管理者是SNMP 的客戶端,用于獲取和管理MIB 中的信息,可以是網絡管理系統(Network Management System,NMS)或其他網絡設備,如防火墻和交換機等。代理是SNMP 的服務器,負責管理網絡設備并響應管理者的請求,通常駐留網絡設備中,如路由器或交換機,并使用MIB 中的信息響應管理者的請求。MIB 是一個虛擬的數據庫,存儲了網絡設備的配置、狀態以及性能信息,SNMP 通過發送請求和接收響應來獲取與設置MIB 中的信息。
SNMP 協議使用用戶數據報協議(User Datagram Protocol,UDP)進行通信,使用端口號161 和162 傳輸請求和響應。SNMP 管理器通過發送SNMP 請求到代理,代理接收到請求后,根據請求的內容響應相應的信息。SNMP 支持多種消息類型,如Get-Request、Get-Next-Request 與Get-Response,Set-Request 修改網絡設備配置,Trap 接收網絡事件警告。
SNMP 可以幫助管理員監控網絡設備的狀態、性能和配置信息,從而實現對網絡連通性的監控。SNMP 在網絡連通性技術實現中的應用如下:一是網絡設備監控,SNMP 可以幫助管理員監控網絡設備的狀態、性能以及配置信息,管理員可以使用SNMP 來獲取網絡設備的中央處理器(Central Processing Unit,CPU)利用率、內存使用情況、端口狀態等信息,從而判斷網絡設備是否正常工作;二是網絡流量監控,SNMP 可以幫助管理員監控網絡流量的情況,管理員可以使用SNMP 來獲取網絡設備的流量統計信息,分析不同網絡應用在網絡中的活動規律,從而判斷網絡流量是否正常,還可以使用SNMP 來配置網絡設備的流量控制策略,從而優化網絡流量的使用[4];三是網絡故障排除,SNMP 可以幫助管理員快速定位網絡故障的原因,管理員可以使用SNMP 來獲取網絡設備的錯誤日志、接口狀態等信息,從而判斷網絡故障的原因,還可以使用SNMP 來配置網絡設備的故障恢復策略,從而快速恢復網絡服務。
PING 是一種因特網包探索器,用于測試網絡連接量,可以測試網絡上的主機是否可達,測量網絡延遲和丟包率等性能指標。PING 協議是通過向目標主機發送控制報文協議(Internet Control Message Protocol,ICMP)回顯請求消息,然后等待目標主機返回ICMP 回顯應答消息來測試網絡連通性。如果目標主機能夠收到并正確響應這些消息,那么就說明網絡連通正常,否則就說明網絡存在故障或者目標主機不可達,工作過程如下。
首先,發送ICMP 回顯請求消息:PING 程序向目標主機發送一個ICMP 回顯請求消息,這個消息包含一個隨機數和時間戳等信息。其次,等待ICMP 回顯應答消息:目標主機收到ICMP 回顯請求消息后,會返回一個ICMP 回顯應答消息,這個消息包含與請求消息相同的隨機數和時間戳等信息。最后,計算網絡延遲和丟包率:PING 程序通過比較發送和接收消息的時間戳來計算網絡延遲,同時還可以統計發送和接收消息的數量來計算丟包率等性能指標
在一些應用場景中,禁止使用PING 測手段,這時需要使用地址解析協議(Address Resolution Protocol,ARP)作為網絡連通性檢測手段。ARP 是一種用于解析網絡層地址和物理層地址之間映射關系的協議。在局域網中,ARP 常用于獲取目標主機的物理地址,以便進行數據包的傳輸。因此,通過監控ARP 的通信,可以實現網絡連通性的監控和診斷。
在局域網中,每個主機都有一個唯一的媒體存取控制位址(Media Access Control Address,MAC),用于標識其物理位置。而IP 地址則用于標識主機在網絡中的邏輯位置。當一個主機需要向另一個主機發送數據包時,需要知道目標主機的MAC 地址。此時,ARP 就會發揮作用。
ARP 協議是一個高效的數據鏈路層協議,其基本原理是通過廣播方式查詢目標主機的MAC 地址。因為ARP 進程必須先解析IP 地址和MAC 地址,所以當一個主機需要查詢目標主機的MAC 地址時,它會向網絡中發送一個ARP 請求包,該請求包包含了目標主機的IP 地址[5]。當其他主機收到該請求包時,會檢查其中的IP 地址是否與自己的IP 地址相同。如果相同,則會向請求主機發送一個ARP 響應包,該響應包包含了自己的MAC 地址。請求主機收到響應包后,就可以獲取目標主機的MAC 地址,從而進行數據包的傳輸。
如果發現某個主機存在網絡連通性問題,可以通過發送ARP 請求包來獲取目標主機的MAC 地址。例如,可以使用工具如arping 等來發送ARP 請求包。arping 可以通過指定目標主機的IP 地址來發送ARP請求包,并顯示目標主機的MAC 地址。如果arping無法獲取到目標主機的MAC 地址,則說明目標主機存在網絡連通性問題。
通過抓取ARP 數據包、分析數據包、發送ARP請求包等方式,可以實現對網絡連通性的監控與診斷。如果發現某個主機存在網絡連通性問題,則可以通過排查網絡配置、檢查網絡設備等方式來解決問題。總之,ARP 協議是網絡通信中不可或缺的一部分,通過對其進行監控和診斷,可以及時發現并解決網絡連通性問題,保障網絡的正常運行。
開發工作完成后,要對系統進行壓力測試,目的是提前發現并解決系統存在的性能與功能性問題。測試環境與生產環境一致,模擬每秒鐘采集1 000 條線路的監控指標,測試指標采集的穩定性。測試條件設置為每秒新增20 個監控指標,50 s 后并發數到達1 000,間隔為50 s,持續時間為2 h。

表1 主動監控系統的壓力測試結果
模擬系統正常運行狀態下高峰的監控采集測試,包括性能指標采集、告警指標采集、指標分析以及告警生成。測試結果如表1 所示。
每秒鐘1 000 個監控指標同時采集的情況下,每個監控指標采集、分析、告警的平均時間為2 s,服務器CPU 實用率為45.94%,服務器內存使用率為47.91%。根據測試結果顯示,每秒鐘可以滿足1 000個監控指標的并發采集。
根據系統的采集響應時間,可以將采集劃分為4 個級別:優秀指系統采集響應時間小于2 s;良好指系統采集響應時間為2 ~5 s;一般指系統采集響應時間為5~10 s;較差指系統采集響應時間大于10 s。經過壓力測試,每戶整體性能以及各功能模塊的采集響應時間在2 s 內,達到良好等級。
通過研究SNMP 等網絡診斷技術在廣域網中的應用,分析SNMP 等技術的工作機制,針對系統功能的實現進行了技術分析,給出了技術實現過程及方法。針對不同場景,提出了不同解決方案,并在測試環境下驗證了線路性能指標、告警指標等監控指標采集的有效性。生產環境中,運維人員可利用主動監控系統,通過可視化熱力圖發現網絡異常,查看歷史告警,輸出網絡運行分析報告,全面提升組織的網絡管理數字化水平。