摘 要:簡單網(wǎng)絡(luò)管理協(xié)議(SNMP,Simple Network Management Protocol)廣泛應(yīng)用于現(xiàn)今大規(guī)模復(fù)雜網(wǎng)絡(luò)及設(shè)備的背景下,SNMP作為internet的標準協(xié)議,為我們提供了管理網(wǎng)絡(luò)及設(shè)備的統(tǒng)一標準方法,SNMP包含一個應(yīng)用層協(xié)議(application layer protocol)、數(shù)據(jù)模型(database schema)和一數(shù)組對象。這里我們所說的SNMP指的就是管理進程與代理進程兩者的通信協(xié)議。其要求了在網(wǎng)絡(luò)環(huán)境里面針對設(shè)備開展監(jiān)管控制標準化的架構(gòu)、通信方式及公共語言等控制體系。作為網(wǎng)絡(luò)管理者借助SNMP功能能夠了解到設(shè)備相關(guān)的信息、運行狀態(tài),并及時的發(fā)現(xiàn)其中存在的運行故障,并生成報告為下一步工作的開展提供有力參考。
關(guān)鍵詞:SNMP;應(yīng)用層協(xié)議;管理進程;代理進程;管理框架
中圖分類號:TN915.05
當前在科學(xué)技術(shù)水平不斷提升的帶動下,網(wǎng)絡(luò)技術(shù)已經(jīng)得到了越來越廣泛的應(yīng)用。網(wǎng)絡(luò)每一環(huán)節(jié)的框架呈現(xiàn)于愈發(fā)復(fù)雜的發(fā)展趨勢,網(wǎng)絡(luò)設(shè)備和其連接線路數(shù)量也愈發(fā)的上升,但是從另一方面來說在網(wǎng)絡(luò)里所涉及到的設(shè)備與鏈路都是由很多廠家分別提供的。所以說通過怎么的手段去實現(xiàn)對網(wǎng)絡(luò)設(shè)備的有效管控就先得尤為關(guān)鍵。為解決能夠讓網(wǎng)絡(luò)管理員及時監(jiān)控所有網(wǎng)絡(luò)及設(shè)備的狀態(tài)、發(fā)現(xiàn)并修復(fù)故障、統(tǒng)一網(wǎng)絡(luò)管理標準,SNMP出現(xiàn)了。本文我們將針對SNMP(Simple Network Management Protocol)這一中心論題進行探究,這一技術(shù)總結(jié)來說就是用于管理網(wǎng)絡(luò)及設(shè)備的一個標準協(xié)議。
1 SNMP技術(shù)特點簡介
1.1 SNMP技術(shù)定義簡述
本文我們所探討的SNMP其定義就是:一個相對來說較為簡單的網(wǎng)絡(luò)管理協(xié)議,主要用作對于網(wǎng)絡(luò)的管理與控制。這一技術(shù)的研發(fā)主要是為了給各種類型的設(shè)備、生產(chǎn)廠商所制造的設(shè)備規(guī)劃一致的接口及協(xié)議,這樣以來作為管理員能夠通過一致的外觀去完成對這些設(shè)備資源的管理與控制。借助網(wǎng)絡(luò),網(wǎng)絡(luò)管理者能夠?qū)崿F(xiàn)對任何位置設(shè)備的掌控,這樣就實現(xiàn)了管理效率的有效提升,極大的降低了管理員的工作強度,如圖1所示。
圖1 SNMP的網(wǎng)絡(luò)管理
SNMP的工作方式可以簡要概括為:管理員需要向設(shè)備獲取數(shù)據(jù),所以SNMP提供了“讀”操作;管理員需要向設(shè)備執(zhí)行設(shè)置操作,所以SNMP提供了“寫”操作;設(shè)備需要在重要狀況改變的時候,向管理員通報事件的發(fā)生,所以SNMP提供了“Trap”操作。
1.2 SNMP技術(shù)特點分析:
(1)作用在TCP/IP互聯(lián)網(wǎng)基礎(chǔ)上的標準協(xié)議,傳輸層協(xié)議,通常情況下會選擇運用UDP;(2)智能化的網(wǎng)絡(luò)管理手段:作為網(wǎng)絡(luò)管理者能夠通過SNMP平臺實現(xiàn)對信息的搜索、整改、漏洞彌補,針對網(wǎng)絡(luò)中存在的問題進行第一時間的發(fā)現(xiàn);(3)摒棄各種網(wǎng)絡(luò)設(shè)備間存在的不同之處,完成針對各個生產(chǎn)廠家所提供設(shè)備的智能化管控。作為SNMP能夠給出的只有最根本的功能集合,讓管理工作和網(wǎng)絡(luò)設(shè)備類別彼此單獨運行,最終完成對各個廠家提供設(shè)備的有效管控;(4)簡易的請求提出—回應(yīng)作答手段與自主生成報告手段必須連接,同時包含超時與重傳體系;(5)報文類別數(shù)量不多,形式簡易,便于讀懂分析,極易達成。
2 SNMP體系框架分析
SNMP體系框架包括下面幾個環(huán)節(jié)。
2.1 NMS(網(wǎng)管平臺)
這一部分是整個網(wǎng)絡(luò)里面負責管理的,是借助SNMP協(xié)議實現(xiàn)對設(shè)備加以管控的系統(tǒng)。NMS不僅能夠使一個針對網(wǎng)絡(luò)加以管理的服務(wù)器,同時也能夠是一個設(shè)備中負責管理的程序。NMS能夠給Agent發(fā)送請求信息,從而實現(xiàn)對參數(shù)的查詢及修正。另外,NMS能夠接受到從Agent發(fā)出的Trap訊息資源,從而掌握設(shè)備的運行情況。
2.2 Agent(代理)
這是在網(wǎng)絡(luò)設(shè)備里面屬于應(yīng)用模塊的范疇,主要負責對信息的管控,同時回應(yīng)由NMS所發(fā)出的請求信息,將管理數(shù)據(jù)返送給NMS。Agent在接受了由NMS所發(fā)送的請求訊息之后,在實現(xiàn)有效的信息查詢及修正活動之后,會將所得參數(shù)回饋給NMS,實現(xiàn)整個回應(yīng)活動。另外一方面,在設(shè)備出現(xiàn)運行障礙以及別的突發(fā)事情的情況下,Agent能夠自主的將Trap信息傳遞至NMS,使其了解設(shè)備具體的運行情況。
2.3 MIB(管理信息庫)
所有被管控的信息資源都看認定為對象,我們叫做被管控的對象。MIB就是所有對象的匯總。其明確的給了所有對象概念,包括對象名字、權(quán)限以及類別等。所有的Agent都有其自身所對應(yīng)的MIB。對于MIB來說,我們也能夠?qū)⑵洚敵蒒MS與Agent兩者間的接口,借助這一接口,實現(xiàn)對被管理對象的讀/寫運作,并最終實現(xiàn)有效的管控。
3 SNMP協(xié)議解析
3.1 SNMP的5種操作:
SNMP是管理進程和代理進程之間的通信協(xié)議,關(guān)于管理進程和代理進程之間的交互信息,SNMP定義了5種操作:(1)get-request操作:NMS使用該操作從Agent獲取一個或多個參數(shù)值;(2)get-next-request操作:NMS使用該操作從Agent獲取一個或多個參數(shù)的下一個參數(shù)值;(3)set-request操作:NMS使用該操作設(shè)置Agent一個或多個參數(shù)值;(4)get-response操作:Agent返回一個或多個參數(shù)值。該操作是前面三種操作的響應(yīng);(5)trap操作:Agent主動發(fā)出的操作,通知NMS有某些事情發(fā)生。
其中(1)(2)(3)都是通過管理進程往代理進程發(fā)送的。(4)(5)則是從代理進程發(fā)送至管理進程的,詳見圖2:
圖2 SNMP定義的5種操作
這些操作中的前4種操作是簡單的請求-應(yīng)答方式(也就是管理進程發(fā)出請求,代理進程應(yīng)答響應(yīng)),在SNMP中往往使用UDP協(xié)議,所以可能發(fā)生管理進程和代理進程之間數(shù)據(jù)報丟失的情況,因此超時和重傳機制是必要的。
3.2 SNMP的報文格式
圖3 封裝成UDP數(shù)據(jù)報的5種操作的SNMP報文格式
在圖中,僅對IP和UDP的首部長度進行了標注,這是由于:SNMP報文的編碼采用了ASN.1和BER,這就使得報文的長度取決于變量的類型和值。
報文中的主要字段定義如下:(1)RequestID:請求報文的序列號;(2)MaxSize:消息發(fā)送者所能夠容納的消息最大字節(jié),同時也表明了發(fā)送者能夠接收到的最大字節(jié)數(shù);(3)Flags:消息標識位,占一個字節(jié),只有最低的三個比特位有效,比如0x0表示不認證不加密,0x1表示認證不加密,0x3表示認證加密,0x4表示發(fā)送report PDU標志等;(4)ContextEngineID:唯一識別一個SNMP實體。對于接收消息,該字段確定消息該如何處理;對于發(fā)送消息,該字段在發(fā)送一個消息請求時由應(yīng)用提供;(5)ContextName:唯一識別在相關(guān)聯(lián)的上下文引擎范圍內(nèi)部特定的上下文;(6)AuthoritativeEngineBoots:消息交換中權(quán)威SNMP的snmpEngineBoots。表示從初次配置時開始,SNMP引擎已經(jīng)初始化或重新初始化的次數(shù);(7)AuthoritativeEngineBoots:消息交換中權(quán)威SNMP的snmpEngineBoots。表示從初次配置時開始,SNMP引擎已經(jīng)初始化或重新初始化的次數(shù);(8)AuthoritativeEngineTime:消息交換中權(quán)威SNMP的snmpEngineTime,用于時間窗判斷;(9)AuthenticationParameters:認證參數(shù),認證運算時所需的密鑰。如果沒有使用認證則為空;(10)PrivacyParameters:加密參數(shù),加密運算時所用到的參數(shù),比如DES CBC算法中形成初值IV所用到的取值。如果沒有使用加密則為空。
3.3 SNMP現(xiàn)有幾個版本的區(qū)別
SNMP現(xiàn)共有v1,v2,v3這三個版本,其區(qū)別如下:(1)v1和v2都支持跟根本的讀、寫;(2)v2在v1的基礎(chǔ)上另外新增了報警、數(shù)據(jù)資源獲得、以及管理站的通信功能;(3)v3在v2的基礎(chǔ)上增加了USM,使用加密的數(shù)據(jù)和用戶驗證技術(shù),提高了安全性。SNMPv3每一操作環(huán)節(jié)的體制與v1及v2差不多都是相同的,主要不一樣的地方就是相對來說增設(shè)了認證及加密的處理環(huán)節(jié)。
不僅如此,RMON從根本上來說屬于SNMP的延伸,給SNMP擴展了子網(wǎng)流量,提升了其分析水平。當前總共存在兩個不同的版本:第一個是Rmon:供給了OSI七層網(wǎng)絡(luò)框架里網(wǎng)絡(luò)層及數(shù)據(jù)鏈路層的監(jiān)督功能。第二個是Rmon2:供給了OSI七層網(wǎng)絡(luò)框架里網(wǎng)絡(luò)層上面所有層次的監(jiān)視功能。
4 SNMP與網(wǎng)絡(luò)管理
以上簡要概述了SNMP對于網(wǎng)絡(luò)管理的優(yōu)點、SNMP的架構(gòu)原理、SNMP的操作類型、SNMP的報文實現(xiàn)以及SNMP的版本差異,可以看出:SNMP被設(shè)計為工作在TCP/IP協(xié)議族上。SNMP基于TCP/IP協(xié)議工作,對網(wǎng)絡(luò)中支撐SNMP協(xié)議運作的設(shè)備加以掌管與控制。只要是支撐SNMP協(xié)議的設(shè)備,全部都給出SNMP的一致頁面,這樣以來作為管理員在工作的過程中,就能夠選擇同一種操作手段加以管理,不用去考慮設(shè)備具體的型號及生產(chǎn)者等情況。
就網(wǎng)絡(luò)管理這一問題而言,所涉及到的數(shù)據(jù)信息都是一些設(shè)備的參數(shù)值以及運行狀態(tài)等,所進行的操作工作則是信息的獲取與設(shè)定;并且,由于網(wǎng)絡(luò)設(shè)備數(shù)量繁多,要想在第一時間了解到設(shè)備運行的情況,必須要讓設(shè)備自主的進行信息上報,即我們所說的報警。
參考文獻:
[1]陳曙,張江鑫.基于SNMP的GPON網(wǎng)管系統(tǒng)中網(wǎng)絡(luò)拓撲顯示模塊的設(shè)計[J].計算機系統(tǒng)應(yīng)用,2011(01).
[2]張彤,吳世榮.基于SNMP計算機網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)研究[J].計算機技術(shù)與發(fā)展2011(01).
作者簡介:晏國勛(1978-),男,本科,工程師,研究方向:基礎(chǔ)網(wǎng)絡(luò)建設(shè)、信息安全、虛擬化應(yīng)用、應(yīng)急通信。
作者單位:云南省公安消防總隊,昆明 650228