新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > 詳解SNMP協(xié)議

詳解SNMP協(xié)議

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

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

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



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



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

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


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

評論


相關推薦

技術專區(qū)

關閉