SNMP網(wǎng)絡(luò)管理體系結(jié)構(gòu)
- 編輯:admin -與TCP/IP結(jié)構(gòu)類(lèi)似(并并不是單指TCP和IP協(xié)議,而是指一個(gè)協(xié)議體系,其中包含了一百多個(gè)協(xié)議),SNMP也是由一系列協(xié)議和規(guī)范組成的,它們一起提供了一種從網(wǎng)絡(luò)設(shè)備中收集網(wǎng)絡(luò)管理信息的方法,仍然采用 Client/ Server模型的特殊形式:管理/代理模型,對(duì)網(wǎng)絡(luò)的管理與維護(hù)是通過(guò)管理工作站與SMMP代理間的交互工作完成的,代理負(fù)責(zé)回答管理工作站關(guān)于MIB信息的各種查詢和設(shè)置。
與TCP/IP結(jié)構(gòu)類(lèi)似(并并不是單指TCP和IP協(xié)議,而是指一個(gè)協(xié)議體系,其中包含了一百多個(gè)協(xié)議),SNMP也是由一系列協(xié)議和規(guī)范組成的,它們一起提供了一種從網(wǎng)絡(luò)設(shè)備中收集網(wǎng)絡(luò)管理信息的方法,仍然采用 Client/ Server模型的特殊形式:管理/代理模型,對(duì)網(wǎng)絡(luò)的管理與維護(hù)是通過(guò)管理工作站與SMMP代理間的交互工作完成的,代理負(fù)責(zé)回答管理工作站關(guān)于MIB信息的各種查詢和設(shè)置。
具體包括三個(gè)主要組成部分:
1)管理信息庫(kù)MIB
2)簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議SNP
3)管理信息結(jié)構(gòu)SMI(Structure of Management Information)
SNMP協(xié)議下有眾多的供應(yīng)商提供設(shè)備和服務(wù),如果沒(méi)有一種約束機(jī)制,可能各個(gè)企業(yè)定義出來(lái)的MIB都各不相同,使這樣的一些網(wǎng)絡(luò)設(shè)備在SMMP層上的協(xié)同工作上出現(xiàn)大麻煩,所以,為了可以在網(wǎng)絡(luò)環(huán)境中統(tǒng)一協(xié)調(diào)操作MIB中任意對(duì)象,需要一種機(jī)制,來(lái)限制和規(guī)范MIB的定義,很顯然SMI實(shí)現(xiàn)了這一點(diǎn)。
SM∏I確定了可以用于MIB中的數(shù)據(jù)類(lèi)型并說(shuō)明對(duì)象在MIB內(nèi)部怎樣表示和命名,它內(nèi)在的原理是在MIB內(nèi)部鼓勵(lì)簡(jiǎn)單性和可擴(kuò)展性,因此,MIB只能存儲(chǔ)簡(jiǎn)單的數(shù)據(jù)類(lèi)型:標(biāo)量和標(biāo)量的二維數(shù)組,相應(yīng)地只能檢索標(biāo)量,包括表中的單個(gè)條目,不支持復(fù)雜數(shù)據(jù)結(jié)構(gòu)的創(chuàng)建和檢索。
SMI的內(nèi)容具體包括:
提供標(biāo)準(zhǔn)化的技術(shù)來(lái)定義特定的MIB結(jié)構(gòu)
◆提候標(biāo)準(zhǔn)化的技術(shù)來(lái)定義單個(gè)對(duì)象,包括語(yǔ)法和每個(gè)對(duì)象的值
◆提供標(biāo)在化的技術(shù)來(lái)對(duì)對(duì)象數(shù)據(jù)進(jìn)行編碼
1)管理進(jìn)程,又稱(chēng)網(wǎng)絡(luò)管理站,管理者可以是工作站、PC機(jī)等它負(fù)責(zé)發(fā)出管操作的指令,并接來(lái)自代理的信息。
2)管理代理
代理則位于被管理的設(shè)各內(nèi)部,把來(lái)自管星者的命令或信息請(qǐng)求轉(zhuǎn)換為本設(shè)各特有指令,完成管理者的 同所在語(yǔ)冬的息。被管理的設(shè)各是網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn),有時(shí)被稱(chēng)為網(wǎng)網(wǎng)絡(luò)單元(Network Elements),被管理的設(shè)各可以是路由器、網(wǎng)管服務(wù)器、交換機(jī)、網(wǎng)橋、集線器等。每一個(gè)支持SNP的網(wǎng)絡(luò)設(shè)各中都運(yùn)行著一個(gè)SP代理,它負(fù)責(zé)隨時(shí)收集和存管理信息,記錄網(wǎng)絡(luò)設(shè)備的各種情況,網(wǎng)絡(luò)管理件再通過(guò)SP道信協(xié)議查詢或修改代理所記錄的信息。代理具有兩個(gè)基本功能:
◆從IB中讀取各種變量值
◆在MB中修改各種變量值
當(dāng)一個(gè)代理被安裝到一個(gè)設(shè)備上時(shí),上述的設(shè)備就被列為“被管理的”。換句話說(shuō),代理就是一個(gè)數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)中所包含的數(shù)據(jù)隨被安裝設(shè)備的不同而不同。舉例來(lái)說(shuō),在一個(gè)路由器上,代理將包含關(guān)于路由選擇表、接收和發(fā)送包的總數(shù)等信息,而對(duì)于一個(gè)網(wǎng)橋來(lái)說(shuō),數(shù)據(jù)庫(kù)可能包含關(guān)于轉(zhuǎn)發(fā)包數(shù)目和過(guò)濾表等信息。一般情況下,代理不主動(dòng)發(fā)出消息,而僅僅響應(yīng)消息。陷阱消息是唯一由代理發(fā)起的SNMP通訊,它是代理警報(bào)觸發(fā)的事件,例如系統(tǒng)重新啟動(dòng)或非法訪問(wèn),通過(guò)陷阱消息提供增強(qiáng)的安全性。
(1)單一代理模式 根據(jù)代理與被管理的實(shí)際關(guān)系,可分為如下幾種代理種類(lèi):
單一代理是指被管設(shè)備上只有一個(gè)代理進(jìn)程。代理既要與網(wǎng)絡(luò)管理站通訊,進(jìn)行SNMP協(xié)議的操作和轉(zhuǎn)換;也要對(duì)本設(shè)備進(jìn)行管理,搜集設(shè)備信息和監(jiān)控設(shè)備。這個(gè)代理進(jìn)程要實(shí)現(xiàn)本設(shè)備所需要支持的所有MIB對(duì)象。這種單一代理模式比較簡(jiǎn)單,早期的代理多數(shù)是使用這一代理模式的。其缺點(diǎn)就是MIB對(duì)象的擴(kuò)展比較困難,當(dāng)被管設(shè)備有新的MIB對(duì)象實(shí)例需要管理時(shí),代理需要重新開(kāi)發(fā)。
(2)委托代理(外部代理)模式
委托代理是一個(gè)中介,它使標(biāo)準(zhǔn)網(wǎng)絡(luò)管理系統(tǒng)能夠管理本來(lái)不能管理的網(wǎng)絡(luò)元素。用SNMP的說(shuō)法,委托代理實(shí)現(xiàn)了對(duì)不受標(biāo)準(zhǔn)SNMP代理進(jìn)程直接控制或不直接支持UDP/IP協(xié)議機(jī)的網(wǎng)絡(luò)對(duì)象的管理。委托代理是對(duì)管理能力的強(qiáng)有力擴(kuò)展。
理站發(fā)送正確的響應(yīng),同時(shí)還需要將本地協(xié)議轉(zhuǎn)換成SNMP/UDP/IP協(xié)議以便與網(wǎng)絡(luò)管理站進(jìn)行通信當(dāng)一個(gè)網(wǎng)絡(luò)資源不能與網(wǎng)絡(luò)管理進(jìn)程直接交換管理信息時(shí),就必須要用到委托代理。比如,有些只有底層協(xié)議的網(wǎng)橋和調(diào)制解調(diào)器就不支持復(fù)雜的管理協(xié)議以及TCP/IP通信,無(wú)法與管理進(jìn)程直接交換管理信息。這時(shí),管理機(jī)構(gòu)對(duì)該種設(shè)備的管理信息通信就必須經(jīng)由委托代理轉(zhuǎn)送,也就是說(shuō),外部代理相當(dāng)于一個(gè)“管理橋”邊用管理協(xié)議與管理進(jìn)程通信,另一邊則與被管理的設(shè)備通信。
這種管理的優(yōu)點(diǎn)是為管理進(jìn)程創(chuàng)造了透明的管理環(huán)境,唯一需要增加的信息是當(dāng)對(duì)網(wǎng)絡(luò)資源進(jìn)行管理時(shí)要選擇相應(yīng)的委托代理,一個(gè)委托代理能夠管理多個(gè)網(wǎng)絡(luò)設(shè)備。
(3)Master-Subagent模式
為了解決 Agent的可擴(kuò)展性,IETF早期提出了SMUX(SNMP多重協(xié)議),后來(lái)發(fā)現(xiàn)存在缺陷。在1998年IETF提出了Agentx(Agent Extensibility)協(xié)議標(biāo)準(zhǔn)。 Agentx是包含一個(gè)主代理和多個(gè)子代理進(jìn)程的一種體系結(jié)構(gòu),多個(gè)子代理進(jìn)程可以駐留在同一個(gè)設(shè)備或者相互連接的不同設(shè)備中。它們之間通過(guò)標(biāo)準(zhǔn)接口進(jìn)行通信。主代理進(jìn)程處理SNwP協(xié)議,每個(gè)子代理進(jìn)程負(fù)責(zé)一個(gè)特定的MIB視圖。當(dāng)主代理進(jìn)程在運(yùn)行并負(fù)責(zé)與網(wǎng)絡(luò)管理站通信時(shí),單一的子代理進(jìn)程API實(shí)現(xiàn)子代理進(jìn)程的動(dòng)態(tài)注冊(cè)與注銷(xiāo)??蓴U(kuò)展代理的優(yōu)點(diǎn)在于,它能夠在網(wǎng)絡(luò)設(shè)備運(yùn)行時(shí)動(dòng)態(tài)增加和MIB實(shí)例。
Agentx協(xié)議允許多個(gè)子代理來(lái)負(fù)責(zé)處理MIB信息,該過(guò)程對(duì)于SMP管理應(yīng)用程序是透明的 Agentx協(xié)議為代理的擴(kuò)展提供了一個(gè)標(biāo)準(zhǔn)的解決方法,使得各子代理將它們的職責(zé)信息通告給主代理。每個(gè)符合 Agentx的子代理運(yùn)行在各自的進(jìn)程空間里,因此比采用單個(gè)完整的SNP代理具有更好的穩(wěn)定性。另外,通過(guò) Agentx協(xié)議能夠訪問(wèn)它們的內(nèi)部狀態(tài),進(jìn)而管理站隨后也能通過(guò)SNMP訪問(wèn)到它們。隨著服務(wù)器進(jìn)程和應(yīng)用程序處理的日益復(fù)雜,最后后一點(diǎn)尤其重要。通過(guò) Agentx技術(shù),我們可以利用標(biāo)準(zhǔn)的SNMP管理工具來(lái)管理大型軟件系統(tǒng)。
管理信息庫(kù)(MIB)實(shí)際上是指在被管理設(shè)備中的數(shù)據(jù)庫(kù),一個(gè)概念上的數(shù)據(jù)庫(kù),在SMNP術(shù)語(yǔ)中它通常被稱(chēng)為管理信息庫(kù)(MIB)。MIB中信息為網(wǎng)管中被管資源,而網(wǎng)絡(luò)管理中的資源是以對(duì)象表示的,每個(gè)對(duì)象表示被管資源的某方面屬性,這些對(duì)象就形成了MIB庫(kù),它采用和域名系統(tǒng)相似的樹(shù)型結(jié)構(gòu),根在最上面,且沒(méi)有名字。每個(gè)MIB變量記錄了每個(gè)相連網(wǎng)絡(luò)的狀態(tài)、通信量統(tǒng)計(jì)數(shù)據(jù)、發(fā)生差錯(cuò)的次數(shù)以及內(nèi)部數(shù)據(jù)結(jié)構(gòu)的當(dāng)前內(nèi)容等。比如MIB-II,定義了 system(設(shè)備基本信息,如聯(lián)系人、生產(chǎn)商、地理位置等)、 interfaces(設(shè)備上的網(wǎng)絡(luò)接口)、at(地址轉(zhuǎn)換換表)、ip、1cmp、tcp、udp等幾個(gè)管理信息組,每組又有自己的管理信息與子樹(shù),實(shí)現(xiàn)具體的狀態(tài)信息管理網(wǎng)絡(luò)管理者通過(guò)對(duì)MIB庫(kù)的存取訪問(wèn),來(lái)實(shí)現(xiàn)五大管理功能。4)管理協(xié)議(SNMP)
管理者和代理之間的通信必須遵循某些規(guī)則和約定,這就是SNMP及相關(guān)協(xié)議。它定義了數(shù)據(jù)包的基本格式,是管理進(jìn)程和管理代理之
間的信息交換的基礎(chǔ),它還控制著管理代理的MIB數(shù)據(jù)對(duì)象。因此,可用于處理管理代理定義的各種任務(wù)。SNP協(xié)議之所以易于使用,這是因?yàn)樗鼘?duì)外提供了三種用于控制MIB對(duì)象的基本操作功能。它們是Set、Get和Trap:
Set:它是一個(gè)特權(quán)命令,因?yàn)榭梢酝ㄟ^(guò)它來(lái)改動(dòng)設(shè)備的配置或控制設(shè)備的運(yùn)轉(zhuǎn)狀態(tài)。
Get:它是SNMP協(xié)議中使用率最高的一個(gè)命令,因?yàn)樵撁钍菑木W(wǎng)絡(luò)設(shè)備中獲得管理信息的基本方式。
Trap:它的功能就是在網(wǎng)絡(luò)管理系統(tǒng)沒(méi)有明確要求的前提下,由管理代理通知網(wǎng)絡(luò)管理系統(tǒng)有一些特別的情況或問(wèn)題發(fā)生了。
SNMP協(xié)議也定義了執(zhí)行以上三個(gè)命令時(shí)的報(bào)文流,但它沒(méi)有定義其它的設(shè)備管理代理命令,可應(yīng)用于MIB數(shù)據(jù)對(duì)象的操作只有Set和Get命令,這兩個(gè)命令的目標(biāo)是數(shù)據(jù)對(duì)象的值。比如說(shuō),SNMP協(xié)中沒(méi)有定義 reboot(重啟)命令;然而,管理代理軟件把MIB數(shù)據(jù)對(duì)象和設(shè)備的內(nèi)部命令聯(lián)系起來(lái),這樣就可以實(shí)現(xiàn)某些特殊的命令操作。如果現(xiàn)在想要重啟某個(gè)設(shè)備,管理系統(tǒng)就把某個(gè)與重啟有關(guān)的MIB數(shù)據(jù)對(duì)象的值設(shè)為1(我們的假定)。這樣就會(huì)觸發(fā)APP開(kāi)發(fā)管理代理執(zhí)行重新啟動(dòng)設(shè)備的命令,同時(shí)還把這個(gè)MIB數(shù)據(jù)對(duì)象重新設(shè)置為原來(lái)的狀態(tài)。SNMP在具體實(shí)現(xiàn)時(shí)主要使用五種操作語(yǔ)句,以實(shí)現(xiàn)SNMP的GET、SET、TRAP三種操作功能,從而得到管理信息。
