SNMP協(xié)議概述
SNMP 是專門設(shè)計(jì)用于在 IP 網(wǎng)絡(luò)管理網(wǎng)絡(luò)節(jié)點(diǎn)(服務(wù)器、工作站、路由器、交換機(jī)及HUBS等)的一種標(biāo)準(zhǔn)協(xié)議,它是一種應(yīng)用層協(xié)議。 SNMP 使網(wǎng)絡(luò)管理員能夠管理網(wǎng)絡(luò)效能,發(fā)現(xiàn)并解決網(wǎng)絡(luò)問題以及規(guī)劃網(wǎng)絡(luò)增長。通過 SNMP 接收隨機(jī)消息(及事件報(bào)告)網(wǎng)絡(luò)管理系統(tǒng)獲知網(wǎng)絡(luò)出現(xiàn)問題。SNMP的前身是簡單網(wǎng)關(guān)監(jiān)控協(xié)議(SGMP),用來對(duì)通信線路進(jìn)行管理。隨后,人們對(duì)SGMP進(jìn)行了很大的修改,特別是加入了符合Internet定義的SMI和MIB,改進(jìn)后的協(xié)議就是著名的SNMP。基于TCP/IP的SNMP網(wǎng)絡(luò)管理框架是工業(yè)上的現(xiàn)行標(biāo)準(zhǔn),由3個(gè)主要部分組成,分別是管理信息結(jié)構(gòu)SMI(Structure ofManagement Information)、管理信息庫MIB和管理協(xié)議SNMP。
SMI定義了SNMP框架所用信息的組織和標(biāo)識(shí),為MIB定義管理對(duì)象及使用管理對(duì)象提供模板。
MIB定義了可以通過SNMP進(jìn)行訪問的管理對(duì)象的集合。
SNMP協(xié)議是應(yīng)用層協(xié)議,定義了網(wǎng)絡(luò)管理者如何對(duì)代理進(jìn)程的MIB對(duì)象進(jìn)行讀寫操作。
SNMP中的MIB是一種樹狀數(shù)據(jù)庫,MIB管理的對(duì)象,就是樹的端節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都有唯一位置和唯一名字.IETF規(guī)定管理信息庫對(duì)象識(shí)別符(OID,Object Identifier)唯一指定,其命名規(guī)則就是父節(jié)點(diǎn)的名字作為子節(jié)點(diǎn)名字的前綴。
一個(gè)SNMP管理的網(wǎng)絡(luò)由下列三個(gè)關(guān)鍵組件組成:
網(wǎng)絡(luò)管理系統(tǒng)(NMS,Network-management systems)
被管理的設(shè)備(managed device)
代理者(agent)
網(wǎng)絡(luò)管理系統(tǒng)運(yùn)行應(yīng)用程序,以該應(yīng)用程序監(jiān)視并控制被管理的設(shè)備。也稱為管理實(shí)體(managingentity),網(wǎng)絡(luò)管理員在這兒與網(wǎng)絡(luò)設(shè)備進(jìn)行交互。網(wǎng)絡(luò)管理系統(tǒng)提供網(wǎng)絡(luò)管理需要的大量運(yùn)算和記憶資源。一個(gè)被管理的網(wǎng)絡(luò)可能存在一個(gè)以上的網(wǎng)絡(luò)管理系統(tǒng)。被管理的設(shè)備是一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),它包含一個(gè)存在于被管理的網(wǎng)絡(luò)中的SNMP代理者。被管理的設(shè)備通過管理信息庫(MIB)收集并存儲(chǔ)管理信息,并且讓網(wǎng)絡(luò)管理系統(tǒng)能夠通過SNMP代理者取得這項(xiàng)信息。代理者是一種存在于被管理的設(shè)備中的網(wǎng)絡(luò)管理軟件模塊。代理者控制本地機(jī)器的管理信息,以和SNMP兼容的格式傳送這項(xiàng)信息。
主代理是一個(gè)在可運(yùn)行SNMP的網(wǎng)絡(luò)組件上運(yùn)作的軟件,可回應(yīng)從管理站發(fā)出的SNMP要求。它的角色類似客戶端/服務(wù)器結(jié)構(gòu)(Client/Server)術(shù)語中的服務(wù)器。主代理依賴子代理提供有關(guān)特定功能的管理信息。如果系統(tǒng)當(dāng)前擁有多個(gè)可管理的子系統(tǒng),主代理就會(huì)傳遞它從一個(gè)或多個(gè)子代理處收到的請(qǐng)求。這些子代理在一個(gè)子系統(tǒng)以及對(duì)那個(gè)子系統(tǒng)進(jìn)行監(jiān)測(cè)和管理操作的接口內(nèi)為關(guān)心的對(duì)象建模。主代理和子代理的角色可以合并,在這種情況下我們可以簡單的稱之為代理(agent)。
子代理是一個(gè)在可運(yùn)行SNMP的網(wǎng)絡(luò)組件上運(yùn)作的軟件,運(yùn)行在特定子系統(tǒng)的特定管理信息庫(MIB,Management Information Base)中定義的信息和管理功能。子代理的一些能力有:搜集主代理的信息配置主代理的參數(shù)回應(yīng)管理者的要求產(chǎn)生警告或陷阱對(duì)協(xié)議和管理信息結(jié)構(gòu)的良好分離使得使用SNMP來監(jiān)測(cè)和管理同一網(wǎng)絡(luò)內(nèi)上百的不同子系統(tǒng)非常簡單。MIB模型運(yùn)行管理OSI參考模型的所有層,并可以擴(kuò)展至諸如數(shù)據(jù)庫,電子郵件以及J2EE參考模型之類的應(yīng)用。
管理者或者管理站提供第三個(gè)組件。它和一個(gè)客戶端/服務(wù)器結(jié)構(gòu)下的客戶端一樣工作。它根據(jù)一個(gè)管理員或應(yīng)用程序的行為發(fā)出管理操作的請(qǐng)求,也接收從代理處獲得的TRAP。
SNMP是管理進(jìn)程(NMS)和代理進(jìn)程(Agent)之間的通信協(xié)議。它規(guī)定了在網(wǎng)絡(luò)環(huán)境中對(duì)設(shè)備進(jìn)行監(jiān)視和管理的標(biāo)準(zhǔn)化管理框架、通信的公共語言、相應(yīng)的安全和訪問控制機(jī)制。網(wǎng)絡(luò)管理員使用SNMP功能可以查詢?cè)O(shè)備信息、修改設(shè)備的參數(shù)值、監(jiān)控設(shè)備狀態(tài)、自動(dòng)發(fā)現(xiàn)網(wǎng)絡(luò)故障、生成報(bào)告等。SNMP具有以下技術(shù)優(yōu)點(diǎn):
基于TCP/IP互聯(lián)網(wǎng)的標(biāo)準(zhǔn)協(xié)議,傳輸層協(xié)議一般采用UDP。
自動(dòng)化網(wǎng)絡(luò)管理。網(wǎng)絡(luò)管理員可以利用SNMP平臺(tái)在網(wǎng)絡(luò)上的節(jié)點(diǎn)檢索信息、修改信息、發(fā)現(xiàn)故障、完成故障診斷、進(jìn)行容量規(guī)劃和生成報(bào)告。
屏蔽不同設(shè)備的物理差異,實(shí)現(xiàn)對(duì)不同廠商產(chǎn)品的自動(dòng)化管理。SNMP只提供最基本的功能集,使得管理任務(wù)與被管設(shè)備的物理特性和實(shí)際網(wǎng)絡(luò)類型相對(duì)獨(dú)立,從而實(shí)現(xiàn)對(duì)不同廠商設(shè)備的管理。
簡單的請(qǐng)求—應(yīng)答方式和主動(dòng)通告方式相結(jié)合,并有超時(shí)和重傳機(jī)制。
報(bào)文種類少,報(bào)文格式簡單,方便解析,易于實(shí)現(xiàn)。
SNMPv3版本提供了認(rèn)證和加密安全機(jī)制,以及基于用戶和視圖的訪問控制功能,增強(qiáng)了安全性。
目前, SNMP 有 3 種: SNMPV1 、 SNMPV2 、 SNMPV3。第 1 版和第 2 版沒有太大差距,但 SNMPV2 是增強(qiáng)版本,包含了其它協(xié)議操作。與前兩種相比, SNMPV3 則包含更多安全和遠(yuǎn)程配置。為了解決不同 SNMP 版本間的不兼容問題, RFC3584 中定義了三者共存策略。SNMP 還包括一組由RMON、RMON2、MTB、MTB2、OCDS及OCDS定義的擴(kuò)展協(xié)議。
在大型網(wǎng)絡(luò)管理中,網(wǎng)絡(luò)管理員比較頭痛的問題就是如何實(shí)時(shí)了解不在身邊的網(wǎng)絡(luò)設(shè)備的運(yùn)行狀況。若要一臺(tái)一臺(tái)的去查看網(wǎng)絡(luò)設(shè)備的運(yùn)行現(xiàn)狀,那明顯不是很現(xiàn)實(shí)。實(shí)際網(wǎng)絡(luò)中,利用SNMP協(xié)議自動(dòng)幫助管理員收集網(wǎng)絡(luò)運(yùn)行狀況的方法應(yīng)用最為廣泛。通過這種方法,網(wǎng)絡(luò)管理員只需要坐在自己的位置上,就可以了解全公司的網(wǎng)絡(luò)設(shè)備的運(yùn)行情況。有了這個(gè)簡單網(wǎng)絡(luò)管理協(xié)議(SNMP),網(wǎng)絡(luò)管理員可以很方便的在SNMP Agent和NMS之間交換管理信息。SNMP的主要作用就是幫助企業(yè)網(wǎng)絡(luò)管理人員更方便的了解網(wǎng)絡(luò)性能、發(fā)現(xiàn)并解決網(wǎng)絡(luò)問題、規(guī)劃網(wǎng)絡(luò)的未來發(fā)展。