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