龍清+羅煒
摘要:目前,各級檢察機關已建成完善的檢察系統專線網絡,并建立了大量多種多樣的應用系統,建立統一的網絡監(jiān)測系統顯得尤為必要。該文著重研究檢察機關網絡監(jiān)測系統的數據采集與分析,力求提供最廣泛適應的數據采集手段,大致規(guī)劃數據采集范圍,并給出數據分析的基本方法,完成監(jiān)測系統的數據采集與分析的功能設計。
關鍵詞:SNMP;SYSLOG;NAQ;UDP-jitter
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)28-0020-03
1 概述
目前,我國檢察機關已建成覆蓋從最高檢到區(qū)縣級層檢察院的專線網絡,并建立了大量應用系統,如電子郵件、內網網站、網上辦公、網上辦案等。但由于檢察院信息化平臺沒有統一的架構,各業(yè)務系統之間的連接不緊密,沒有統一的管理系統和監(jiān)測系統,檢察業(yè)務的連續(xù)性存在潛在威脅,響應速度滯后。2014年,檢察系統統一業(yè)務軟件正式運行后,大部分業(yè)務均需網上辦理,這就對網絡和整個硬件平臺的穩(wěn)定性提出了很高的要求。因此,對網絡實施不間斷的智能監(jiān)控,實時監(jiān)測網絡上各類設備的運行狀態(tài),對可能影響網絡穩(wěn)定的隱患提早發(fā)現、提早解決變得尤為重要。目前,檢察系統的信息化硬件設備不僅會有多廠家多品牌設備共存的情況,而且會擁有數量眾多的網絡設備、存儲、服務器、安全設備等,統一的網絡監(jiān)測系統在進行設計時,如何對各類設備的數據的進行采集和分析則是一大重點。
本文將分析最廣泛適應的數據采集手段,規(guī)劃數據采集范圍,并提供數據分析的基本方法,完成監(jiān)測系統的數據采集與分析的功能設計。
2 數據采集的基本方法
目前,對各類網絡設備、服務器等硬件設備的信息進行采集主要遵循了SNMP和Syslog協議。SNMP協議主要用于收集各類設備管理信息庫(MIB)中的信息,Syslog協議主要用于收集設備的運行日志信息。
2.1 SNMP協議原理
簡單網絡管理協議(SNMP)是管理進程和代理進程之間的通信協議,由一組網絡管理的標準組成,包含應用層協議、數據庫模型和資源對象。網絡管理包含兩個部分:被管網絡單元(也叫被管設備)和網絡管理站(也叫管理進程,manager)。被管設備端與網絡管理站通訊的程序被稱為代理程序(agent)或代理進程。一般來說,管理進程和代理進程之間的通信為兩種方式。一種是管理進程主動向代理進程發(fā)出請求,詢問一個具體的參數值或修改某一個具體的參數值,這種方式一般由管理方自主設定通訊的時間間隔。另一種方式是代理進程主動向管理進程報告有重要事情的發(fā)生,這種方式被稱為被動式,通訊的時間間隔不定[1]?;赟NMP協議的網絡管理模型如下:
上圖中,NMS是網絡管理站,MIB是所有代理進程包含的,且能夠被管理進程進行查詢和設置的信息的集合,其包含一套所有設備通用的結構和表示符號(SMI)。網絡管理站通過SNMP協議與設備上的代理進程通信,以完成對MIB的讀取和修改操作,從而實現對網絡設備上的監(jiān)控與管理功能。SNMP是網絡管理站與設備之間通信的載體,通過其定義的PDU(協議數據單元)來完成信息的交換。代理進程的主要工作包括與NMS通信(接受NMS的信息,報告特殊事件Trap)、監(jiān)控設備的各項參數并對設備的MIB庫進行維護。而設備的MIB庫信息類別一般由設備廠商指定。
2.2 Syslog協議原理
Syslog是一種工業(yè)標準的協議,用于記錄設備的日志,一般用在嵌入式系統中。路由器、交換機等網絡設備的系統日志一般記錄系統中任何時間發(fā)生的大小事件。管理者可以通過查看系統日志隨時掌握系統狀況,其可記錄的事件類別也必須由設備廠商預先定義好。在嵌入式系統里,可被syslog協議記錄的事件可以被記錄到不同的文件,還可以通過網絡實現機器之間的信息傳遞[2]。Syslog協議提供了一個傳遞方式,允許一個設備通過網絡把事件信息傳遞給事件信息接受者(也稱之為日志服務器)。Syslog協議的發(fā)送者和接受者之間不要求有嚴格的相互協調。目前,幾乎所有的網絡設備都可以通過syslog 協議將日志信息以發(fā)送UDP數據包的方式傳送到遠端日志服務器,遠端日志服務器通過監(jiān)聽UDP 514端口來接收日志,并且根據syslog.conf中的配置來處理本機和接收訪問系統的日志信息,通過篩選后把指定的事件寫入檔案中,供后臺數據庫管理之用。Syslog協議存在不足之處,由于syslog是以UDP方式傳送,當網絡狀態(tài)不穩(wěn)定時,某些日志消息可能會丟失。在網絡設備崩潰的情況下,難以將有用的信息發(fā)送到syslog服務器上,這對于排除故障難以起到指引作用。
由于大多數網絡設備、安全設備以及服務器均支持SNMP協議,而各類設備的MIB庫中存放的數據信息也比設備日志信息完善不少。因此,在進行檢察系統網絡監(jiān)測系統設計時,在數據采集手段方面,本文建議以SNMP為主,Syslog協議為輔的方法。
3 所需采集的數據類型
數據采集的類型與范圍直接決定了監(jiān)測系統所能發(fā)揮的功能,因此應盡可能地多采集數據,以便進行綜合全面地分析,得出最準確的結論。目前,架設在檢察專線網上的設備有網絡設備、安全設備、服務器、存儲設備、視頻設備等,設備類型多樣且品牌型號均不一致,但一般均有MIB或日志信息庫。下面,本文按設備分類,給出網絡上運行的四大類主要設備的數據采集的基本范圍。
1)網絡設備:網絡設備的信息收集是所有設備中最重要的,因為網絡的穩(wěn)定是整個監(jiān)測系統發(fā)揮作用的基石。若網絡發(fā)送中斷,則整個監(jiān)測系統面臨失效的風險。網絡設備中最重要的信息為性能狀態(tài)信息(如CPU、內存、緩存狀態(tài)信息等)、設備告警信息、路由信息、網絡拓撲信息和接口狀態(tài)信息(如接口速率、丟包率、錯誤包率、廣播包率等),考慮到網絡設備本身的硬件故障率很小,絕大部分網絡故障是由于網絡結構發(fā)生變化或因病毒等原因導致數據風暴造成數據阻塞所致,因此路由信息、網絡拓撲信息和接口狀態(tài)信息的收集尤為重要,這三類信息是判定絕大多數網絡故障所必需的。其次,設備的運行日志信息、所有者信息、配置文件信息、鏈路管理信息、IP地址等也應一并收集。
2)服務器、存儲設備:服務器和存儲設備一般用于承載應用系統,其穩(wěn)定的運行是應用系統不癱瘓的重要保障。由于這類設備的監(jiān)測目的主要是保障其穩(wěn)定運行,因此主要應收集性能狀態(tài)信息(如CPU、內存、緩存狀態(tài)信息等)、設備告警信息、IP地址、硬盤Smart信息、設備運行日志信息、設備所有者信息這幾類。
3)安全設備:安全設備監(jiān)測的主要目的是為了查找網絡安全隱患,發(fā)現潛在的漏洞和攻擊行為,因此主要應收集設備告警信息、配置文件信息、安全防護日志、IP地址這幾類。其接口狀態(tài)信息、性能狀態(tài)信息(如CPU、內存、緩存狀態(tài)信息等)、網絡拓撲信息、設備運行日志信息、設備所有者信息也可一并收集用于輔助判斷。
4)視頻設備:在檢察系統,視頻會議的保障一般都較為重要,因此也要做好視頻設備的運行監(jiān)測。其監(jiān)測的目的是為了防止設備突然崩潰導致會議中斷,所以主要應收集設備告警信息、性能狀態(tài)信息(如CPU、內存、緩存狀態(tài)信息等)、設備運行日志信息、IP地址、設備所有者信息、接口狀態(tài)信息(如接口速率、丟包率、錯誤包率、廣播包率等)這幾類。
本文認為,檢察系統的網絡監(jiān)測系統應該至少能采集到四大類設備的以上信息,才可能保證全面地獲取系統監(jiān)測和分析所需的數據。
4 數據的分析方法
監(jiān)測系統除了收集數據還必須能根據在所收集的數據對網絡及各類設備的實時性能進行仔細評估,從而預判系統存在的風險。尤其在視頻會議過程中,網絡的丟包、抖動、延時均能明顯影響到視頻會議的音視頻效果。監(jiān)測系統可通過在會議前和會議中收集網絡設備上的各項性能指標了解網絡的健康情況,對可能出現的風險進行預判。網絡監(jiān)控主要的內容為網絡可靠性、延遲、抖動和帶寬等方面。一般來說,網絡性能監(jiān)測按采集流量數據的方法可以分為主動(Active)方式和被動(Passive)方式。主動方式是指管理方主動發(fā)數據包探測網絡設備的運行情況,從反饋結果中分析網絡的現有性能來得到需要的信息。被動方式是指管理方被動地采集網絡中現有的標志性數據以分析網絡設備的運行情況。主動方式由于是管理方主動發(fā)起,因此具備實時性,而且不受管理權限、范圍的限制,但會對網絡性能造成影響。被動方式實時性差,一般需要得到被管理設備的管理權限,但一般不會對網絡性能造成影響。以下分別對這兩種方式進行簡要說明:
4.1 被動方式
這種方式下,監(jiān)測系統一般通過分析各類設備MIB II庫中的信息來了解網絡及設備的性能情況。MIB II庫中,網絡設備的管理信息庫共包括9大類信息,對網絡性能的監(jiān)控需要采集所有網絡設備MIB庫中的接口組、IP組、TCP組、UDP組的數據。并結合相關公式計算出所需要的實時和歷史數據性能指標值,比如接口速率、丟包率、錯誤率、轉發(fā)率等。如在MIB庫的接口組,監(jiān)測系統可以根據以下采集的內容對設備當前接口的狀態(tài)進行判斷:
1)ifType(OID為.1.3.6.1.2.1.2.2.1.3):用于定義接口的類型。
2)iMftu(OID為.1.3.6.1.2.1.2.2.1.4): 用于定義在該接口上可發(fā)送或接受的最大包的大小。太小的MTU值會導致網絡和設備效率低下。
3)ifSpeed(OID為.1.3.6.1.2.1.2.2.1.5): 用于定義傳輸速率,單位為位/s。
4)ifInOctets(OID為.1.3.6.1.2.1.2.2.1.10): 用于定義在接口處收到的總字節(jié)數。
5)ifIndiscards(OID為.1.3.6.1.2.1.2.2.1.13): 用于定義由于資源緊張導致丟棄包的數目。如果一個接口的包丟棄率較高,則表示該設備存在擁塞問題。
6)ifInErrors(OID為.1.3.6.1.2.1.2.2.1.14): 用于定義由于出錯而導致丟棄的接受包的數目。錯誤率較高時表示存在接收器問題或壞線路問題。
7)ifOutOctests(OID為.1.3.6.1.2.1.2.2.1.16): 用于定義從該接口上發(fā)送的字節(jié)總數。
8)ifOutDiscards(OID為.1.3.6.1.2.1.2.2.1.19): 用于定義由于資源局限而導致丟棄的發(fā)出包的總數。高丟包率表示需要為該口分配更多的緩沖區(qū)空間。
9)ifOutErrors(OID為.1.3.6.1.2.1.2.2.1.20): 用于定義由于出錯而導致丟棄的發(fā)出包的總數目。高出錯率表示存在硬件問題。
通過采集以上幾組數據,可以大致分析出以下幾類結果:
1)收集不同時間段網絡接口的ifSpeed數據可以判斷該接口連接的傳輸鏈路是否出現抖動;
2)計算ifOutDiscards除以ifOutOctests的值可得出該接口的發(fā)送數據丟包率,計算ifOutErrors除以ifOutOctests的值可得出該接口的發(fā)送數據錯誤率;
3)計算ifIndiscards除以ifInOctets的值可得出該接口的發(fā)送數據丟包率,計算ifInErrors除以ifInOctets的值可得出該接口的發(fā)送數據錯誤率;
4)通過ifSpeed、ifInOctets、ifOutOctests數據以及傳輸帶寬可以計算出當前的帶寬利用率。
4.2 主動方式
監(jiān)測系統可采取NQA測試的方式來測試網絡目前的性能狀態(tài)。網絡質量分析 (Network Quality Analyzer,NQA)是一種實時的網絡性能探測和統計技術,可以對網絡的響應時間、抖動、丟包率等信息進行統計。NQA一般通過發(fā)送測試報文來對網絡性能或服務質量進行分析,進而為用戶提供網絡性能參數,如HTTP的總時延、抖動時延、DHCP響應時延、FTP連接時延、TCP連接時延和文件傳輸速率等[3]。利用NQA的測試結果,可以及時了解網絡的性能狀況,對網絡故障進行診斷和定位,然后針對不同的情況進行相應的處理。NQA包括ICMP-echo、UDP-echo、UDP-jitter、Voice測試以及TCP測試等多種測試機制。而UDP-jitter則是探測網絡狀況,監(jiān)視實時性業(yè)務服務質量的重要手段。在UDP-jitter測試中抖動 (Jitter)和單向延遲定義如下圖所示,T1為A發(fā)送報文Packet1的發(fā)送時間,T2為報文Packet1的接收時間(這里將處理報文的時間忽略),T3為接收B所發(fā)出的響應報文的時間,T4、T5、T6的定義以此類推。
Jitter測試中,A端以固定的時間間隔向B端發(fā)送指定數量的UDP報文。每次探測發(fā)送的Jitter報文的數量和發(fā)送頻率A端都可以根據自己的需要進行設置。假設一次Jitter探測發(fā)送了10個UDP報文,可以得到的探測結果有以下幾點:
1)報文往返時延RTD(Round-Trip Delay):Packet1的往返時延RTD1 = T3 - T1;
2)報文單向時延OWD(One-Way Delay)(這種測試需要A和B之間首先進行時鐘同步):SD(源地址到目的地址)、DS(目的地址到源地址)
Packet1:SD-Delay1=T2-T1,DS-Delay1=T3-T2;
Packet2:SD-Delay2=T5-T4,DS-Delay2=T6-T5;
3)網絡抖動Jitter:
SD方向:SD Jitter1=(T5-T4)-(T2-T1);
DS方向:DS Jitter1=(T6-T5)-(T3-T2);
由此可見,如果成功收到的回應報文數為10,則計算得到的Jitter抖動數應該為9,UDP-jitter即可對這些統計值計算出抖動的最值、方差等做計算統計,從而了解到網絡狀況[4]。
不論是采取哪種方式采集數據,均應設置合理的數據采集周期以及數據分析函數,對某一時間段內的所有數據進行綜合分析來進行判斷,不可能只針對某一時刻所采集的數據進行分析。因此,數據采集周期和分析函數的確定將直接關系到數據分析的準確性和及時性。采集周期過大可能會導致無法及時地反映網絡的實時狀態(tài),采集周期過小則會增加大大網絡的負擔、浪費網絡資源。采用何種函數對所采集的數據進行分析也直接決定了監(jiān)測系統的準確性。主動方式與被動方式各有其優(yōu)缺點。主動方式和被動方式也都有其各自的用途。對于不同的參數、不同的目的,可采取不同的方式進行分析。對端到端的時延,丟包,時延變化等參數進行分析比較適合使用主動方式,而對于路徑吞吐量等流量參數分析來說被動方式則更適合。
在檢察機關網絡監(jiān)測系統中,可采取主動與被動結合的方式對網絡進行監(jiān)測,在不對網絡性能造成較大影響的情況下,力求做到監(jiān)測信息的及時、準確。
5 總結
本文概括了目前在網絡性能監(jiān)測方面的發(fā)展、技術和理論。根據檢察系統的網絡現狀,描述了網絡監(jiān)測系統在設計時可采取的數據采集手段,劃定了大致的數據采集范圍,并給出了數據分析的兩種基本方法與設計原則。在進行檢察系統網絡監(jiān)測系統設計時,本文具有現實的指導意義。
參考文獻:
[1] 陳海蓉,張玉明.SNMP協議及其應用開發(fā)[J].華北電力大學學報,2000,19(3):58-61.
[2] 王曉文. Syslog在網絡管理中的應用[J].電信快報》,2005,6(6):7-10.
[3] 黃莉莉.IP網絡質量分析測量的研究[D].天津工業(yè)大學,2008.
[4] 王維強. 基于UDP包的局域網端到端傳輸性能測試技術研究[J].Journal of Xinjiang Petroleum Institute,2003,4(4):71-74.