新聞中心

詳解SNMP協(xié)議

作者: 時(shí)間:2010-08-09 來源:網(wǎng)絡(luò) 收藏
簡單網(wǎng)絡(luò)管理:Simple Network Management Protocol)是由互聯(lián)網(wǎng)工程任務(wù)組(IETF:Internet Engineering Task Force )定義的一套網(wǎng)絡(luò)管理。該基于簡單網(wǎng)關(guān)監(jiān)視協(xié)議(SGMP:Simple Gateway Monitor Protocol)。利用,一個(gè)管理工作站可以遠(yuǎn)程管理所有支持這種協(xié)議的網(wǎng)絡(luò)設(shè)備,包括監(jiān)視網(wǎng)絡(luò)狀態(tài)、修改網(wǎng)絡(luò)設(shè)備配置、接收網(wǎng)絡(luò)事件警告等。 在IP網(wǎng)絡(luò)管理中,主要是針對網(wǎng)絡(luò)設(shè)備(路由器、交換機(jī)、防火墻)進(jìn)行性能故障監(jiān)測管理。為了了解協(xié)議,首先要了解OID和MIB的定義,這樣才能更好的理解SNMP協(xié)議。
OID  一個(gè)OID是代表一個(gè)具體含義的變量,它的格式為用.分割的數(shù)字,例如1.3.6.1.2.1.1.1就是一個(gè)OID,代表設(shè)備系統(tǒng)描述。向設(shè)備發(fā)送對1.3.6.1.2.1.1.0這個(gè)變量的SNMP請求,就可以得到這個(gè)設(shè)備的描述信息。管理信息庫MIB

  IETF規(guī)定的管理信息庫MIB中定義了可訪問的網(wǎng)絡(luò)設(shè)備及其屬性,由對象識(shí)別符(OID:Object%20Identifier)唯一指定。MIB是一個(gè)樹形結(jié)構(gòu),SNMP協(xié)議消息通過遍歷MIB樹形目錄中的節(jié)點(diǎn)來訪問網(wǎng)絡(luò)中的設(shè)備。下圖是MIB庫的一個(gè)簡單例子:

本文引用地址:http://m.butianyuan.cn/article/157250.htm



  MIB庫實(shí)際上就OID的樹形集合,定義了每個(gè)OID代表的具體含義,OID分為2種變量:簡單變量和表變量。簡單變量類似上面講過的1.3.6.1.2.1.1.1,這個(gè)變量就是個(gè)簡單變量,在具體發(fā)送SNMP請求的時(shí)候后面就補(bǔ)上一個(gè).0。
  表變量的意思是該變量會(huì)有多個(gè)實(shí)例。例如交換機(jī)接口帶寬,這個(gè)變量的OID是1.3.6.1.2.1.2.2.1.5,一個(gè)交換機(jī)通常會(huì)有多個(gè)接口,每個(gè)具體請求就會(huì)補(bǔ)上這個(gè)接口的索引,例如1.3.6.1.2.1.2.2.1.5.1代表1號(hào)接口的帶寬。下圖是一個(gè)交換機(jī)的接口列表。



  MIB分為公有MIB和私有MIB,公有MIB-2是1990年定義的,所有設(shè)備廠商都支持該MIB庫定義的OID變量,每個(gè)廠商還可以補(bǔ)充自己的MIB庫,這就是私有MIB,例如CISCO的私有MIB是1.3.6.4.1.9開始,該節(jié)點(diǎn)下的所有子變量都是CISCO自己定義的。9是CISCO申請唯一廠商編號(hào)。

SNMP原理  SNMP采用了Client/Server模型的特殊形式:代理/管理站模型。對網(wǎng)絡(luò)的管理與維護(hù)是通過管理工作站與SNMP代理間的交互工作完成的。每個(gè)SNMP從代理負(fù)責(zé)回答SNMP管理工作站(主代理)關(guān)于MIB定義信息的各種查詢。SNMP發(fā)送的請求是UDP請求,UDP請求是無連接、輕量級(jí)、非安全的請求,所以一般會(huì)重試3次保證代理端收到。SNMP 消息類型  Get%20這是一個(gè)請求消息。SNMP%20管理系統(tǒng)使用%20Get%20消息在%20SNMP%20代理上請求有關(guān)%20MIB%20條目的信息。  Getnext請求消息的一個(gè)類型,可用于瀏覽代理對象的整個(gè)MIB樹。  Getbulk%20請求的一個(gè)類型,它指定代理在消息大小限制的范圍內(nèi)盡可能多地傳輸數(shù)據(jù)。  Set%20它用于將更新的%20MIB%20值發(fā)送和分配到代理。  Notify%20(或%20Trap)這是一個(gè)未經(jīng)請求的消息,當(dāng)代理檢測到在受管理主機(jī)本地出現(xiàn)特定的事件類型時(shí),代理將向%20SNMP%20管理系統(tǒng)發(fā)送此消息。  SNMP%20事件(或陷阱)是在未經(jīng)請求的情況下發(fā)送到篩選事件的管理站的,因此,會(huì)影響網(wǎng)絡(luò)流量。SNMP版本   目前SNMP經(jīng)過10幾年的發(fā)展,已經(jīng)有三個(gè)版本,V1、V2、V3。三個(gè)版本的區(qū)別主要在安全機(jī)制上。  1.SNMPv1的安全機(jī)制  SNMPv1僅僅提供了有限的安全性,即團(tuán)體的概念。  團(tuán)體是一個(gè)在代理上定義的局部概念。一個(gè)代理可以定義若干個(gè)團(tuán)體,每個(gè)團(tuán)體使用唯一的團(tuán)體名。而每個(gè)SNMP團(tuán)體是一個(gè)在SNMP代理和多個(gè)SNMP管理者之間定義的認(rèn)證、訪問控制和轉(zhuǎn)換代理的關(guān)系。%20  在每條SNMPv1信息中都包括community字段,在該域中填入團(tuán)體名,團(tuán)體名起密碼的作用。%20SNMPv1假設(shè),如果發(fā)送者知道這個(gè)密碼,就認(rèn)為該信息通過了認(rèn)證,是可靠的。%20  一條已通過認(rèn)證的信息對MIB有何訪問權(quán)限主要通過訪問控制來實(shí)現(xiàn)。代理為每一個(gè)團(tuán)體定義了一個(gè)SNMPv1團(tuán)體框架文件,該框架文件包括兩部分:  ?MIB視域:%20MIB的一個(gè)對象子集,每個(gè)團(tuán)體可以定義不同的MIB視域,一個(gè)視域中的對象集不必屬于MIB的單個(gè)子樹;%20  ?SNMP訪問模式:集合(只讀、讀寫)的一個(gè)元素,每個(gè)團(tuán)體只定義一個(gè)訪問模式。%20  SNMP團(tuán)體和SNMP團(tuán)體框架文件的結(jié)合就成為SNMPv1%20訪問策略。一個(gè)通過了認(rèn)證的信息必然指定了一個(gè)團(tuán)體,那么它就有自己相應(yīng)的團(tuán)體框架文件,且只能對該框架文件中MIB視域的指定對象進(jìn)行規(guī)定的操作(只讀或讀寫)。  2.%20SNMPv2的安全機(jī)制  SNMPv2具有支持分布式網(wǎng)絡(luò)管理,擴(kuò)展數(shù)據(jù)類型,可以實(shí)現(xiàn)大量數(shù)據(jù)的同時(shí)傳輸,豐富故障處理能力,增加集合處理功能,加強(qiáng)數(shù)據(jù)定義語言等特點(diǎn)。  此外,%20SNMPv2還引入了上下文(context)的概念。上下文是一個(gè)可被SNMPv2實(shí)體訪問的被管理對象資源的集合,分為本地上下文和遠(yuǎn)程上下文:本地上下文被標(biāo)識(shí)為一個(gè)MIB視域,遠(yuǎn)程上下文被標(biāo)識(shí)為一個(gè)轉(zhuǎn)換代理關(guān)系。%20  使用了上下文的訪問控制策略由以下4個(gè)元素組成:%20  ?目標(biāo):SNMP參加者,它按主體方的請求執(zhí)行管理操作;%20  ?主體:SNMP參加者,它請求目標(biāo)方執(zhí)行管理操作;%20  ?資源:管理操作在其上執(zhí)行的管理信息,它可表示為一個(gè)本地MIB視域或一個(gè)代理關(guān)系,這一項(xiàng)被稱為一個(gè)上下文;  ?權(quán)限:對于一個(gè)特定的上下文可允許的操作,這些操作用可允許的協(xié)議數(shù)據(jù)單元定義,由目標(biāo)代表主體執(zhí)行。%20  但是,SNMPv2并沒有完全實(shí)現(xiàn)預(yù)期的目標(biāo),尤其是安全性能沒有得到提高,如:身份驗(yàn)證(如用戶初始接入時(shí)的身份驗(yàn)證、信息完整性的分析、重復(fù)操作的預(yù)防)、加密、授權(quán)和訪問控制、適當(dāng)?shù)倪h(yuǎn)程安全配置和管理能力等都沒有實(shí)現(xiàn)。1996年發(fā)布的SNMPv2c是%20SNMPv2的修改版本,雖然功能增強(qiáng)了,但是安全性能仍沒有得到改善,而是繼續(xù)使用SNMPv1的基于明文密鑰的身份驗(yàn)證方式。  3.SNMPv3的安全機(jī)制  IETF%20SNMPv3工作組于1998年1月提出了互聯(lián)網(wǎng)建議RFC%202271~2275,正式形成SNMPv3。這一系列文件定義了包含SNMPv1,SNMPv2所有功能在內(nèi)的體系框架及包含驗(yàn)證服務(wù)和加密服務(wù)在內(nèi)的全新的安全機(jī)制,同時(shí)還規(guī)定了一套專門的網(wǎng)絡(luò)安全和訪問控制規(guī)則??梢哉f,SNMPv3是在SNMPv2基礎(chǔ)之上增加了安全和管理機(jī)制。RFC%202271定義的SNMPv3體系結(jié)構(gòu)體現(xiàn)了模塊化的設(shè)計(jì)思想,可以簡單地實(shí)現(xiàn)功能的增加和修改。其特點(diǎn)主要有:%20  ?適應(yīng)性強(qiáng):適用于多種操作環(huán)境,既可以管理最簡單的網(wǎng)絡(luò),實(shí)現(xiàn)基本的管理功能,又能夠提供強(qiáng)大的網(wǎng)絡(luò)管理功能,滿足復(fù)雜網(wǎng)絡(luò)的管理需求;  ?擴(kuò)充性好:可以根據(jù)需要增加模塊;  ?安全性好:具有多種安全處理模塊。%20  SNMPv3主要有3個(gè)模塊:信息處理和控制模塊、本地處理模塊和用戶安全模塊。  1 信息處理和控制模塊  信息處理和控制模塊在RFC%202272中定義,負(fù)責(zé)信息的產(chǎn)生和分析,并判斷信息在傳輸過程中是否要經(jīng)過代理服務(wù)器等。  2 本地處理模塊%20  本地處理模塊的主要功能是進(jìn)行訪問控制,處理打包的數(shù)據(jù)和中斷。訪問控制是指通過設(shè)置代理的有關(guān)信息使不同管理站的管理進(jìn)程在訪問代理時(shí)具有不同的權(quán)限,在協(xié)議數(shù)據(jù)單元一級(jí)完成。常用的控制策略有兩種:限定管理站可以向代理發(fā)出的命令或確定管理站可以訪問代理MIB的具體部分。訪問控制的策略必須預(yù)先設(shè)定。SNMPv3通過使用帶有不同參數(shù)的原語來靈活確定訪問控制方式。%20  3 用戶安全模塊%20  與SNMPv1和SNMPv2相比,SNMPv3增加了3個(gè)新的安全機(jī)制:身份驗(yàn)證,加密和訪問控制。其中,訪問控制功能由本地處理模塊完成,而身份驗(yàn)證和數(shù)據(jù)保密服務(wù)則由用戶安全模塊提供。身份驗(yàn)證是指代理(管理站)接到信息時(shí)必須首先確認(rèn)信息是否來自授權(quán)的管理站(代理),以及信息在傳輸過程中是否改變。這個(gè)功能的實(shí)現(xiàn)要求管理站和代理必須共享同一密鑰。管理站使用密鑰計(jì)算驗(yàn)證碼(它是信息的函數(shù)),然后將其加入信息中,而代理則使用同一密鑰從接收的信息中提取出驗(yàn)證碼,從而得到信息。加密的過程與身份驗(yàn)證類似,也需要管理站和代理共享同一密鑰來實(shí)現(xiàn)信息的加密和解密。%20  SNMPv3使用私鑰(private%20key)和驗(yàn)證密鑰(authentication%20key)來實(shí)現(xiàn)身份驗(yàn)證和加密功能。如下圖:


關(guān)鍵詞: 協(xié)議 SNMP 詳解

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉