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