摘要摘要:簡單網(wǎng)絡管理協(xié)議(SNMP)是一種專門用來管理網(wǎng)絡設備的應用層標準協(xié)議,基于SNMP的網(wǎng)絡流量采集方法可獲得較豐富的網(wǎng)絡流量信息。分析基于SNMP協(xié)議的網(wǎng)絡流量數(shù)據(jù)采集方法,著重探討系統(tǒng)設計與實現(xiàn)。
關(guān)鍵詞關(guān)鍵詞:SNMP;網(wǎng)絡流量采集;系統(tǒng)設計;系統(tǒng)實現(xiàn)
DOIDOI:10.11907/rjdk.151762
中圖分類號:TP319
文獻標識碼:A文章編號文章編號:16727800(2015)011011303
基金項目基金項目:
作者簡介作者簡介:張立新(1975-),男,四川蓬溪人,烏魯木齊職業(yè)大學信息工程學院副院長、高級實驗師,研究方向為計算機網(wǎng)絡、Web技術(shù)、軟件與數(shù)據(jù)庫。
0引言
簡單網(wǎng)絡管理協(xié)議(SNMP)是一種專門用來管理網(wǎng)絡設備的應用層標準協(xié)議,包含代理者、管理站、網(wǎng)絡管理協(xié)議和管理信息庫等關(guān)鍵元素,其網(wǎng)絡管理由管理信息庫MIB、管理信息結(jié)構(gòu)SMI和SNMP協(xié)議本身3個部分組成[1]。基于SNMP的網(wǎng)絡流量采集方法可獲得較豐富的網(wǎng)絡流量信息,數(shù)據(jù)呈現(xiàn)直觀清晰,能從宏觀角度查看網(wǎng)絡的整體性能和狀況,便于從整體層面分析和解決問題。但該方法會占用網(wǎng)絡設備及帶寬資源,影響網(wǎng)絡性能,容易造成采集數(shù)據(jù)丟失,只能獲得統(tǒng)計信息,不能針對IP地址和端口等信息進一步分析[2]。
1基于SNMP協(xié)議的網(wǎng)絡流量采集方法
1.1對象訪問方法
MIB中的每個對象類型都被賦予一個惟一的對象標識符(OID),該對象標識符的值通過MIB樹按層次結(jié)構(gòu)進行組織[1]。通過SNMP獲取被管對象的信息,實際上是訪問對象OID的一個特定實例。
1.2數(shù)據(jù)采集方法
管理站基于SNMP協(xié)議從代理者中采集網(wǎng)絡流量數(shù)據(jù)有兩種方法:輪詢與陷阱。
(1)輪詢:包含代理者的網(wǎng)絡設備,除了完成自身業(yè)務功能外,其中SNMP代理進程不斷收集網(wǎng)絡的通信信息和有關(guān)網(wǎng)絡設備的統(tǒng)計數(shù)據(jù),并將其以特定形式存儲在本地MIB中。輪詢是指管理站通過SNMP協(xié)議定期主動向代理者發(fā)起流量采集請求,代理者在收到該請求后將它所維護的MIB流量數(shù)據(jù)發(fā)回給管理站,由管理站對這些信息進行處理和存儲操作,從而完成網(wǎng)絡流量采集。
(2)陷阱:指管理站監(jiān)聽陷阱端口,接收來自代理者的告警信息。在MIB中定義了許多代理者可能會出現(xiàn)的異常情況(如發(fā)生故障、鏈路故障、發(fā)生擁塞等),當代理者上的代理進程檢測到這些異常情況時,立即將這些情況報告給配置表中所列的管理進程,這種報告被稱為陷阱trap。陷阱可節(jié)省網(wǎng)絡容量和代理者的處理時間,但也會增加代理者的處理負擔,影響網(wǎng)絡管理的主要功能[4]。
總之,使用輪詢以維持對網(wǎng)絡資源的實時監(jiān)控,同時采用陷阱機制報告異常事件,使得SNMP成為一種有效的網(wǎng)絡管理協(xié)議[4]。
2基于SNMP協(xié)議的網(wǎng)絡流量采集系統(tǒng)設計
2.1功能描述
采集系統(tǒng)定期采集防火墻等支持SNMP協(xié)議的網(wǎng)絡設備,從設備相關(guān)接口的MIB庫中獲取相關(guān)數(shù)據(jù)并入庫,為后續(xù)網(wǎng)絡流量統(tǒng)計與分析模塊提供實時與歷史來源數(shù)據(jù)。系統(tǒng)功能結(jié)構(gòu)如圖1所示。
2.2采集流程
基于SNMP協(xié)議的網(wǎng)絡流量采集系統(tǒng)流程如圖2所示。
2.3采集的MIB變量
系統(tǒng)定期采集網(wǎng)絡設備的多個MIB變量(數(shù)據(jù)表也按此設計),如表1所示。
2.4采集過程中考慮的因素
為保證采集的數(shù)據(jù)全面有效,減少對網(wǎng)絡性能的影響,需考慮如下問題:
(1)采集時間間隔確定。在一個采集周期中應包括有用的采集變量。采集時間間隔必須合理設定,不能太短,否則易影響被采集設備性能和占用網(wǎng)絡帶寬;也不能太長,否則有些數(shù)據(jù)計數(shù)器可能會多次溢出造成采集數(shù)據(jù)的不準確。本系統(tǒng)采集周期定為5分鐘。
(2)采集數(shù)據(jù)的溢出處理。采集數(shù)據(jù)的溢出要根據(jù)所采集的具體數(shù)據(jù)格式來確定,如在關(guān)于性能數(shù)據(jù)的采集中,有些性能數(shù)據(jù)會逐漸增大,并在達到一個固定值之后會重新計數(shù),此時就存在數(shù)據(jù)溢出,應對相應的數(shù)據(jù)溢出進行處理。
(3)采集數(shù)據(jù)的優(yōu)化。根據(jù)管理需求和訪問對象的性質(zhì)建立數(shù)據(jù)采集對象,分為靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù)。靜態(tài)數(shù)據(jù)一經(jīng)配置基本保持不變,對靜態(tài)數(shù)據(jù)只需采集一次即可,沒必要在每次采集過程中都對它進行輪詢操作;對動態(tài)數(shù)據(jù)就要進行輪詢采集,以實時反映設備的狀態(tài)或性能信息。
3基于SNMP協(xié)議的網(wǎng)絡流量采集系統(tǒng)實現(xiàn)
系統(tǒng)使用Delphi的SNMP組件的SNMPget方法來讀取相應MIB變量值,需向該函數(shù)提供要讀取的網(wǎng)絡設備的IP地址、要采集的MIB變量的Oid值和訪問團體名稱等參數(shù)信息,最后將讀取結(jié)果返回到某一變量中。這樣,通過定期依次設置網(wǎng)絡設備要采集的各個MIB變量的Oid值,并將讀取結(jié)果保存到相應變量中,就完成了對該網(wǎng)絡設備相關(guān)所有MIB變量信息的讀取,實現(xiàn)了基于SNMP協(xié)議的數(shù)據(jù)采集,為后續(xù)網(wǎng)絡流量統(tǒng)計提供原始數(shù)據(jù)。
3.1實現(xiàn)流程
基于SNMP協(xié)議的網(wǎng)絡流量采集系統(tǒng)的詳細實現(xiàn)流程如圖3所示。
3.2關(guān)鍵代碼實現(xiàn)
以下代碼通過定時器每隔5分鐘運行一次,依次采集指定IP網(wǎng)絡設備所有要讀取的MIB變量的測量值到相應變量。
Ip:= Trim(edtIP.Text); //取得預采集網(wǎng)絡設備的IP地址
ReadComName:= 'public'; //設置網(wǎng)絡設備的訪問團體名
Oid:= '1.3.6.1.2.1.2.2.1.10.7'; //設置預采集網(wǎng)絡設備的某一MIB變量的Oid值(以“ifInOctets”變量為例)
SNMPget(Oid,ReadComName,Ip,Response); //使用Delphi的SNMP組件的SNMPget方法取得指定IP網(wǎng)絡設備的指定Oid值的測量值Response
ifInOctets0:= Response; //將取得的觀測值賦值給相應變量
//改變Oid的值,重復上述過程,依次取得網(wǎng)絡設備所有要讀取的MIB變量的測量值到相應變量,然后定期將時間戳及上述變量值保存到數(shù)據(jù)庫中,為后續(xù)網(wǎng)絡流量的統(tǒng)計分析提供數(shù)據(jù)來源。
3.3界面顯示
基于SNMP協(xié)議的網(wǎng)絡流量采集系統(tǒng)可定期采集指定IP地址、指定Oid值、支持SNMP協(xié)議的網(wǎng)絡設備的各個MIB變量的測量值,如圖4所示。
4網(wǎng)絡實驗配置環(huán)境
基于SNMP協(xié)議的網(wǎng)絡流量采集系統(tǒng)可在真實的校園網(wǎng)環(huán)境中進行,其中提供了校園網(wǎng)常見的服務:WEB、FTP、DNS、OA、教務管理、網(wǎng)上圖書、視頻點播等服務。其拓撲結(jié)構(gòu)如圖5所示。
該校園網(wǎng)具備路由和交換環(huán)境,提供兩條10M雙出口鏈路。核心交換機(3Com CB9000)連接校內(nèi)內(nèi)網(wǎng)服務器區(qū)、辦公區(qū)、住宅區(qū)和學生住宿區(qū)所有的子網(wǎng),提供主干千兆、百兆到桌面的交換能力。硬件百兆防火墻(西安交大捷普F3000)有4個100M以太網(wǎng)口,分別連接到學校內(nèi)網(wǎng)、DMZ區(qū)、教育科研網(wǎng)和聯(lián)通,提供安全訪問控制、靜態(tài)路由、策略路由和正反向NAT等功能。網(wǎng)絡流量采集工作站連接到核心交換機的鏡像口上,完成對核心交換機和防火墻的網(wǎng)絡流量采集、網(wǎng)絡流量統(tǒng)計、網(wǎng)絡流量異常檢測、報警和用戶界面顯示等工作。整個校園網(wǎng)絡約有15臺內(nèi)外網(wǎng)服務器、1 200臺各類聯(lián)網(wǎng)計算機。
5結(jié)語
基于SNMP協(xié)議的網(wǎng)絡流量采集系統(tǒng)可通過SNMP協(xié)議定期獲取指定IP設備與網(wǎng)絡流量有關(guān)的MIB數(shù)據(jù),為網(wǎng)絡流量數(shù)據(jù)的統(tǒng)計與分析提供基礎數(shù)據(jù)來源。
參考文獻參考文獻:
[1]羅軍舟,黎波濤,楊明,吳俊,黃健.TCP/IP協(xié)議及網(wǎng)絡編程技術(shù)[M].北京:清華大學出版社,2004:125139.
[2]李振國,鄭惠中.網(wǎng)絡流量采集方法研究綜述[J].吉林大學學報:信息科學版,2014,32(1):7172.
[3]張羽.網(wǎng)絡態(tài)勢感知系統(tǒng)中異常檢測技術(shù)的研究[D].哈爾濱:哈爾濱工程大學,2009:1213,17,28,3537.
[4]李增智,陳妍.計算機網(wǎng)絡原理[M].西安:西安交通大學出版社,2000:410.
[5]李艇.網(wǎng)絡管理技術(shù)與應用[M].北京:高等教育出版社,2003:2636.
責任編輯(責任編輯:陳福時)