snmp

附:SNMP的技術術語

 

術語

術語描述

SNMP

Simple Network Management Protocol(簡單網絡管理協議)

是一個標準的用於管理基於IP網絡上設備的協議

MIB

Management Information Base(管理信息庫)

定義代理進程中所有可被查詢和修改的參數

SMI

Structure of Management Information(管理信息結構)

SMI定義了SNMP中使用到的ASN.1類型、語法,並定義了SNMP中使用到的類型、宏、符號等。SMI用於後續協議的描述和MIB的定義。每個版本的SNMP都可能定義自己的SMI

ASN.1

Abstract Syntax Notation One(抽象語法定義)

用於定義語法的正式語言,在SNMP中定義SNMP的協議數據單元PDU和管理對象MIB的格式。SNMP只使用了ASN.1中的一部分,而且使用ASN.1的語言特性定義了一些自定義類型和類型宏 ,這些組成了SMI

PDU

Protocol Data Unit(協議數據單元)

它是網絡中傳送的數據包。每一種SNMP操作,物理上都對應一個PDU

NMS

Network Management System網絡管理系統,又名網絡管理站,簡稱管理站

它是SNMP的總控機,提供統一的用戶界面訪問支持SNMP的設備,一般提供UI界面,並有統計、分析等功能,是網管系統的總控制檯。NMS是網絡管理操作的發起者

BER

Basic Encoding Rule,基本編碼規格

描述如何將ASN.1類型的值編碼爲字符串的方法。它是ASN.1標準的一部分。BER編碼將數據分成TLV三部分,TTag的縮寫,是類型標識;LLength的縮寫,標識類型的長度;VValue的縮寫,標識數據內容。按照TLV的順序對數據進行編碼,生成字節流。SNMP使用BERSNMP的操作請求和應答編碼後進行傳輸,並用於接收端進行解碼

Agent

SNMP的訪問代理,簡稱代理,爲設備提供SNMP能力,負責設備與NMS的通信

Proxy

代理服務器。對實現不同協議的設備進行協議轉換,使非IP協議的設備也能被管理

Trap

是由設備主動發出的報警數據,用於提示重要的狀態的改變

           

 

 

目錄

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1基礎知識

1.1SNMP

   SNMP是基於管理工作站/代理模式的,如下圖所示。運行網絡管理程序的計算機成爲網絡管理工作站(NMS,代理是運行在網絡設備上的進程。管理工作站通過向代理詢問獲得網絡設備的工作狀態信息,代理則負責處理和響應來自管理工作站的請求,並向管理工作站報告本地發生的重大事件。

1.2SNMP背景

SNMP的基本思想:

爲不同種類的設備、不同廠家生產的設備、不同型號的設備,定義爲一個統一的接口和協議,使得管理員可以是使用統一的外觀面對這些需要管理的網絡設備進行管理。通過網絡,管理員可以管理位於不同物理空間的設備,從而大大提高網絡管理的效率,簡化網絡管理員的工作。

1.3SNMP結構概述

1.3.1SNMP的典型應用
SNMP被設計爲工作在TCP/IP協議族上。

SNMP基於TCP/IP協議工作,對網絡中支持SNMP協議的設備進行管理。

所有支持SNMP協議的設備都提供SNMP這個統一界面,使得管理員可以使用統一的操作進行管理,而不必理會設備是什麼類型、是哪個廠家生產的。運行代理的網絡設備可以是路由器、交換機、集線器、主機、網絡打印機,甚至是一臺不間斷電源(UPS),這些設備成爲被管理設備。

1.3.2SNMP支持的網管操作
對於網絡管理,我們面對的數據是設備的配置、參數、狀態等信息,面對的操作是讀取和設置;同時,因爲網絡設備衆多,爲了能及時得到設備的重要狀態,還要求設備能主動地彙報重要狀態,這就是報警功能。

Get:讀取網絡設備的狀態信息。

Set:遠程配置設備參數。

Trap:管理站及時獲取設備的重要信息。

1.3.3SNMP的配置
下圖是使用SNMP的典型配置。整個系統必須有一個管理站(management station),它實際上是網控中心。在管理站內運行管理進程。每個被管對象中一定要有代理進程。管理進程和代理進程利用SNMP報文進行通信,而SNMP報文又使用UDP來傳送。圖中有兩個主機和一個路由器。這些協議中帶有陰影的部分是原主機和路由器所具有的,而沒有陰影的部分是爲實現網絡管理而增加的。

有時網絡管理協議無法控制某些網絡元素,例如該網絡元素使用的是另一種網絡管理協議。這時可使用委託代理(proxy agent)。委託代理能提供如協議轉換和過濾操作的彙集功能。然後委託代理來對管理對象進行管理。下圖表示委託管理的配置情況。

1.4 SNMP5種協議數據單元

SNMP規定了5種協議數據單元PDU(也就是SNMP報文),用來在管理進程和代理之間的交換。

get-request

從代理進程處提取一個或多個參數值

get-next-request

從代理進程處提取緊跟當前參數值的下一個參數值

set-request

設置代理進程的一個或多個參數值

get-response

返回的一個或多個參數值。這個操作是由代理進程發出的,它是前面三種操作的響應操作

trap

代理進程主動發出的報文,通知管理進程有某些事情發生

 

前面的3種操作是由管理進程向代理進程發出的,後面的2個操作是代理進程發給管理進程的,爲了簡化起見,前面3個操作今後叫做getget-nextset操作。下圖描述了SNMP的這5種報文操作。請注意,在代理進程端是用熟知端口161來接收getset報文,而在管理進程端是用熟知端口162來接收trap報文。

       下面根據RFC1157詳細介紹Agent接受到報文後採取的動作:

 

       首先解碼生成用內部數據結構表示的報文,解碼依據ASN.1的基本編碼規則,如果在此過程中出現錯誤導致解碼失敗則丟棄該報文,不做進一步處理。

       第二步:將報文中的版本號取出,如果與本Agent支持的SNMP版本不一致,則丟棄該報文,不做進一步處理。

       第三步:將報文中的團體名取出,此團體名由發出請求的網管站填寫。如與本設備認可的團體名不符,則丟棄該報文,不做進一步處理,同時產生一個陷阱報文。SNMPv1只提供了較弱的安全措施,在版本3中這一功能將大大加強。

       第四步:從通過驗證的ASN.1對象中提出協議數據單元PDU,如果失敗,丟棄報文,不做進一不處理。否則處理PDU,結果將產生一個報文,該報文的發送目的地址應同收到報文的源地址一致。

 

1.5幾個易混淆的概念

1.5.1SNMP現有幾個版本
SNMP共有v1v2v3這三個版本:

l  v1v2都具有基本的讀、寫MIB功能。

l  v2增加了警報、批量數據獲取、管理站和管理站通信能力。

l  v3v2的基礎上增加了USM,使用加密的數據和用戶驗證技術,提高了安全性。

l  另外,RMONSNMP的一個重要擴展,爲SNMP增加了子網流量、統計、分析能力。現有兩個版本:

    Rmon:提供了OSI七層網絡結構中網絡層和數據鏈路層監視能力。

    Rmon2:提供了OSI七層網絡結構中網絡層之上各層的監視能力。

1.5.2ASN.1BERSMIMIBPDU的關係

 

2管理信息庫MIB

 

管理信息庫MIB指明瞭網絡元素所維持的變量(即能夠被管理進程查詢和設置的信息)。MIB給出了一個網絡中所有可能的被管理對象的集合的數據結構。SNMP的管理信息庫採用和域名系統DNS相似的樹型結構,它的根在最上面,根沒有名字。下圖畫的是管理信息庫的一部分,它又稱爲對象命名(object naming tree)。

對象命名樹的頂級對象有三個,即ISOITU-T和這兩個組織的聯合體。在ISO的下面有4個結點,其中的一個(標號3)是被標識的組織。在其下面有一個美國國防部(Department of Defense)的子樹(標號是6),再下面就是Internet(標號是1)。在只討論Internet中的對象時,可只畫出Internet以下的子樹(圖中帶陰影的虛線方框),並在Internet結點旁邊標註上{1.3.6.1}即可。

Internet結點下面的第二個結點是mgmt(管理),標號是2。再下面是管理信息庫,原先的結點名是mib1991年定義了新的版本MIB-II,故結點名現改爲mib-2,其標識爲{1.3.6.1.2.1},或{Internet(1) .2.1}。這種標識爲對象標識符。

最初的結點mib將其所管理的信息分爲8個類別,見下表。現在的mib-2所包含的信息類別已超過40個。

最初的結點mib管理的信息類別

類別

標號

所包含的信息

system

(1)

主機或路由器的操作系統

interfaces

(2)

各種網絡接口及它們的測定通信量

Address translation

(3)

地址轉換(例如ARP映射)

ip

(4)

Internet軟件(IP分組統計)

icmp

(5)

ICMP軟件(已收到ICMP消息的統計)

tcp

(6)

TCP軟件(算法、參數和統計)

udp

(7)

UDP軟件(UDP通信量統計)

egp

(8)

EGP軟件(外部網關協議通信量統計)

應當指出,MIB的定義與具體的網絡管理協議無關,這對於廠商和用戶都有利。廠商可以在產品(如路由器)中包含SNMP代理軟件,並保證在定義新的MIB項目後該軟件仍遵守標準。用戶可以使用同一網絡管理客戶軟件來管理具有不同版本的MIB的多個路由器。當然,一個沒有新的MIB項目的路由器不能提供這些項目的信息。

3管理信息結構SMI

SMI定義在RFC 1155中。該規範定義了一個基本的框架,使用框架內的規範可以定義MIBSMI定義了基本的數據類型、宏結構及命令規則。SMI只用到ASN.1的很小一部分。因此,MIB只能存儲簡單的數據類型,分別是標量和標量的二維數組。SNMP只能檢索標量,包括表中的單個條目。SMI不支持負責數據結構的創建和檢索。

SMI的內容包括:

1. MIB結構定義語句

2. 單個對象定義語句(包括語法和每個對象的值)

 3. 數據編碼格式

3.1 管理信息的結構和標識

    管理對象以虛擬信息存儲方式存儲和訪問----這一結構被稱爲MIB (管理信息庫)

SMI使用BER進行編碼。

每個對象都有自己的名字、類型(Syntax)、和編碼。

l  名字:對象名字和對象標識都是唯一的,都能唯一地識別對象。對象名字更直觀,對象標識更簡潔。在PDU中需要使用對象標識,因爲它是數值型的,更容易編碼,編碼更小。

l  類型:定義對象的類型,如:IntegerOctet String類型。

l  編碼:描述如何對對象實例按對象類型進行編碼,以使數據在網絡上傳輸。

 

3.2管理對象定義語法

  SMI不定義MIB對象,但SMI規定了定義管理對象的格式。對象定義通常包括5個域:

u   OBJECT 是一個字符串名,名爲OBJECT DESCRIPTOR.他指定對象類型,這個類型和OBJECT IDENTIFIER對應。

u   SYNTAX 對象類型的抽象語法。它必須可以解析到ObjectSyntax類型的一個實例上。

u  DEFINITION 對象類型語義的文本描述。

u  ACCESS 權限,取值爲只讀、讀寫、只寫、不能訪問這4個值。

u  STATUS 狀態,取值爲強制(mandatory)、可選(optional)或過時的(obsolete)

3.2.1 對象標識
Internet標準中的MIB對象標識中不能有00是留作擴展的。每個和對象類型相對應的對象描述(Object Descriptor)應該是獨一無二的,是可記憶和打印的字符串。

udp的對象標識和對象描述可以表示爲下面的格式:

對象標識:1.3.6.1.2.1.7

對象描述:iso.org.dod.internet.mgmt.mib.udp

3.2.2 對象類型和實例
   對象類型(Object-Type)是一類可管理對象的定義,對象實例是一個對象類型的實例,而這個實例有具體的值。

3.2.3 管理對象宏
  管理對象宏定義了對象定義的格式。RFC 1155中定義了一個管理對象宏,後面的RFC 1212引入了新的格式,稱爲簡明管理對象宏

   Trap的宏定義並沒有在RFC1155中包括,在隨後的RFC中給出了Trap的定義宏。

3.3 Trap的定義

  由於SMI獨立於SNMP協議定義,並且先於協議定義,所以,當在SNMP中設計Trap時,SMI沒有相關的定義語法。

  後來,RFC-1215,給出了Trap的定義格式,該RFC是對SMI的補充。

3.3.1 規則
   1.trap-type

 標識下面定義的是一個Trap,定義是在設計的實現期使用,而不是在運行期。

   2.enterprise

 企業標識:定義在private.enterprise下。本域必須提供定義此Trap的企業標識,標識這個Trap是哪個企業定義的。根據慣例:如果企業標識值是snmpsysObjectID的值被放在Trap PDUenterprise字段內。

3.variables

  變量定義了MIB對象的有序序列,這些對象包含在每個Trap類型的實例中。每個變量按順序被放置在SNMP Trap PDU variable-bindings內。

4. description

Trap的描述。description的全部值必須包含在雙引號內。更要注意的是,如果MIB模塊其他地方沒有包含Trap的原文描述,描述域必須定義。

5.reference

 參考。用於和其他MIB模塊定義的Trapdescription進行相互參照。

6. value

 Trap的值是整數。其值爲enterprise下的唯一值。value將放在Trap PDU 的專用字段內(special-trap)內。該值用以唯一地標識一個Trap,在enterprise值相同的情況下,value用來標識具體的Trapenterprise用來標識Trap屬於哪個企業。

3.3.2 SNMP中預定義的Trap
SNMP中定義了6個基本的Trap,這6Trap可以涵蓋大部分設備的主要狀態改變,與企業自定義的Trap配合使用,就可以處理幾乎所有重要狀態改變的情況。

1. coldStart

SNMP發送實體正在重新初始化,以修正代理的配置或協議實體的實現,特別是由於崩潰或重大故障而引起的意外重啓。 

2. warmStart

       發送實體正在重新初始化,但不修改代理的配置或協議實例的實現。這就是典型的常規啓動。

3. linkDown

    表示代理的一個通信連接失敗。Variablebindings字段中的第一個元素就是響應接口的ifIndex實例的名稱和取值。

4. linkup

      表示代理的一個通信連接成功。Variablebindings字段中的第一個元素就是響應接口的ifIndex實例的名稱和取值。

5. authenticationFailure

     表示發送方的SNMP消息驗證失敗。

6. egpNeighborLoss

     表示發送協議實體的EGP鄰居已被標記爲Down,相鄰關係已經不存在。Variablebindings字段中的第一個對象就是關閉EGP實體的egpNeighAddr

3.3.3 企業專用的Trap
     SNMP定義的6Trap可以涵蓋大部分情況,但是許多的情況下設備有自己特殊的狀況,企業也希望發送或接收自己定義的Trap以得到的特殊的消息。通用Trap不能涵蓋所有的情況,使用Trap定義宏就可以定義企業自己的Trap

企業設備發送自定義的Trap時,必須同時將定義的TrapMIB一起分發出去,否則,其他管理站將不能識別自定義的Trap的格式。

4SNMPv2協議

簡單性是SNMP標準取得成功的主要原因。因爲在大型的、多廠商產品構成的複雜網絡中,管理協議的明晰是至關重要的,但同時這又是SNMP的缺陷所在——爲了使協議簡單易行,SNMP簡化了不少功能,如:

l  沒有提供成批存取機制,對大塊數據進行存取效率很低;

l  沒有提供足夠的安全機制,安全性很差;

l  只在TCP/IP協議上運行,不支持別的網絡協議;

l  沒有提供managermanager之間通信的機制,只適合集中式管理,而不利於進行分佈式管理;

l  只適於監測網絡設備,不適於監測網絡本身。

針對這些問題,對它的改進工作一直在進行。如199111,推出了RMON(Remote Netw ork Monitoring)MIB,加強SNMP對網絡本身的管理能力。它使得SNMP不僅可管理網絡設備, 還能收集局域網和互聯網上的數據流量等信息。19927,針對SNMP缺乏安全性的弱點,又公佈了S-SNMP(Secure SNMP)草案。

1993年初,又推出了SNMP Version 2SNMPv2(推出了SNMPv2以後,SNMP就被稱爲SNM Pv1)SNM-Pv2包容了以前對SNMP所做的各項改進工作,並在保持了SNMP清晰性和易於實現的特點以外,功能更強,安全性更好,具體表現爲:

l  提供了驗證機制、加密機制、時間同步機制等,安全性大大提高,

l  提供了一次取回大量數據的能力,效率大大提高;

l  增加了managemanage之間的信息交換機制,從而支持分佈式管理結構。由中間(intermediate)manager來分擔主manager的任務,增加了遠地站點的局部自主性。

l  可在多種網絡協議上運行,OSIAppletalkIPX,適用多協議網絡環境(但它的缺省網絡協議仍是UDP)

根據Carnegie-Mellin大學(SNMPv2標準的制定者之一)Steven Waldbusser測試結果 ,SNMPv2的處理能力明顯強於SNMPv1,大約是SNMPv115倍。

SNMPv2一共由12份協議文本組成(RFC1441-RFC1452),已被作爲Internet的推薦標準予 以公佈。

可看出它支持分佈式管理。一些站點可以既充當 manager又充當agent,同時扮演兩個角色。作爲agent,它們接受更高一級管理站的請求命令 ,這些請求命令中一部分與agent本地的數據有關,這時直接應答即可;另一部分則與遠地agent上的數據有關。這時agent就以manager的身份向遠地agent請求數據,再將應答傳給更高一級的管理站。在後一種情況下,它們起的是proxy(代理)的作用。

下面將SNMPv2標準加以詳細介紹,包括SNMPv2標準的中的安全機制,SNMPv2標準中的Party實體,以及如何從通信協議操作、SMIMIB三方面來看SNMPv2標準。

4.1 SNMPv2標準中的安全機制

SNMPv2SNMPv1的一個大的改進,就是增強了安全機制。對管理系統安全的威脅主要有下面幾種:

(1)信息篡改(modification)

SNMPv2標準中,允許管理站(manager)修改agent上的一些被管理對象的值。破壞者可能 會將傳輸中的報文加以改變,改成非法值,進行破壞。因此,協議應該能夠驗證收到的報文是否在傳輸過程中被修改過。

(2)冒充(masquerade)

SNMPv2標準中雖然有訪問控制能力,但這主要是從報文的發送者來判斷的。那些沒有訪問權的用戶可能會冒充別的合法用戶進行破壞活動。因此 ,協議應該能夠驗證報文發送者的真實性,判斷是否有人冒充。

(3)報文流的改變(message stream modification)

由於SNMPv2標準是基於無連接傳輸服務的,報文的延遲、重發以及報文流順序的改變都是可能發生的。某些破壞者可能會故意將報文延遲、重發,或改變報文流的順序,以達到破壞的目的。因此,協議應該能夠防止報文的傳輸時間過長,以給破壞者留下機會。

(4)報文內容的竊取(disclosure)

破壞者可能會截獲傳輸中的報文,竊取它的內容。特別在創建新的SNMPv2 Party,必須保證它的內容不被竊取,因爲以後關於這個Party的所有操作都依賴於它。因此,協議應該能夠對報文的內容進行加密,保證它不被竊聽者獲取。

針對上述安全性問題,SNMPv2中增加了驗證(Authentication)機制、加密(Privacy)機制,以及時間同步機制來保證通信的安全。

4.2 SNMPv2 Party

SNMPv2標準中增加了一種叫做Party的實體。Party是具有網絡管理功能的最小實體,它的功能是一個SNMPv2 entity(管理實體)所能完成的全部功能的一個子集。每個manager agent上都分別有多個Party,每個站點上的各個Party彼此是平等的關係,各自完成自己的功能。實際的信息交換都發生在PartyParty之間(在每個發送的報文裏,都要指定發送方和接收方的Party)。每個Party都有一個唯一的標識符(party identity)、一個驗證算法和參數以及一個加密算法和參數。Party的引入增加了系統的靈活性和安全性,可以賦予不同的人員以不同的管理權限。SNMPv2中有三種安全性機制:驗證(authentication)機制、加密(privacy)機制和訪問控制(access control)機制。這些機制都工作在Party一級,而不是 manager/agent一級。

4.3 SNMPv2協議操作

SNMPv2標準的核心就是通信協議———它是一個請求/應答式的協議。

這個協議提供了在manageragentmanagermanager之間交換管理信息的直觀、基本的方法。

每條SNMPv2的報文都由一些域構成:

如果發送方、接收方的兩個Party都採用了驗證(authentication)機制,它就包含與驗證有關的信息;否則它爲空(NULL)。驗證的過程如下:發送方和接收方的Party都分別有一個驗證用的密鑰(secret key)和一個驗證用的算法。報文發送前,發送方先將密鑰值填入圖中digest,作爲報文的前綴。然後根據驗證算法,對報文中digest域以後(包括digest) 的報文數據進行計算,計算出一個摘要值(digest),再用摘要值取代密鑰,填入報文中的digest域。接收方收到報文後,先將報文中的摘要值取出來,暫存在一個位置,然後用發送方的密鑰放入報文中的digest。將這兩個摘要值進行比較,如果一樣,就證明發送方確實是Party域中所指明的那個Party,報文是合法的;如果不一樣,接收方斷定發送方非法。驗證機制可以防止非法用戶"冒充"某個合法Party來進行破壞。

authInfo域中還包含兩個時間戳(time stamp),用於發送方與接收方之間的同步,以防止報文被截獲和重發。

SNMPv2的另一大改進是可以對通信報文進行加密,以防止監聽者竊取報文內容。除了privDst域外,報文的其餘部分可以被加密。發送方與接收方採用同樣的加密算法(DES)

通信報文可以不加任何安全保護,或只進行驗證,也可以二者都進行。

5SNMPv3的體系結構

RFC 2271定義的SNMPv3體系結構,體現了模塊化的設計思想,可以簡單地實現功能的增加和修改。其特點:

l  適應性強:適用於多種操作環境,既可以管理最簡單的網絡,實現基本的管理功能,又能夠提供強大的網絡管理功能,滿足複雜網絡的管理需求。

l  擴充性好:可以根據需要增加模塊。

l  安全性好:具有多種安全處理模塊。

SNMPv3主要有三個模塊:信息處理和控制模塊、本地處理模塊和用戶安全模塊。

1)信息處理和控制模塊

信息處理和控制模塊(Message Processing And Control Model)在RFC 2272中定義,它負責信息的產生和分析,並判斷信息在傳輸過程中是否要經過代理服務器等。在信息產生過程中,該模塊接收來自調度器(Dispatcher)的PDU,然後由用戶安全模塊在信息頭中加入安全參數。在分析接收的信息時,先由用戶安全模塊處理信息頭中的安全參數,然後將解包後的PDU送給調度器處理。

2)本地處理模塊

本地處理模塊(Local Processing Model)的功能主要是進行訪問控制,處理打包的數據和中斷。訪問控制是指通過設置代理的有關信息使不同的管理站的管理進程在訪問代理時具有不同的權限,它在PDU這一級完成。常用的控制策略有兩種:限定管理站可以向代理髮出的命令或確定管理站可以訪問代理的MIB的具體部分。訪問控制的策略必須預先設定。

3)用戶安全模塊

SNMPv1SNMPv2相比,SNMPv3增加了三個新的安全機制:身份驗證,加密和訪問控制。其中,本地處理模塊完成訪問控制功能,而用戶安全模塊(User Security Model)則提供身份驗證和數據保密服務。身份驗證是指代理(管理站)接到信息時首先必須確認信息是否來自有權的管理站(代理)並且信息在傳輸過程中未被改變的過程。實現這個功能要求管理站和代理必須共享同一密鑰。管理站使用密鑰計算驗證碼(它是信息的函數),然後將其加入信息中,而代理則使用同一密鑰從接收的信息中提取出驗證碼,從而得到信息。加密的過程與身份驗證類似,也需要管理站和代理共享同一密鑰來實現信息的加密和解密。

下面簡要介紹身份驗證和加密的數學工具。SNMPv3使用私鑰(privKey)和驗證密鑰(authKey)來實現這兩種功能。

身份驗證:RFC2104中定義了HMAC,這是一種使用安全哈希函數和密鑰來產生信息驗證碼的有效工具,在互聯網中得到了廣泛的應用。SNMP使用的HMAC可以分爲兩種:HMAC-MD5-96HMAC-SHA-96。前者的哈希函數是MD5,使用128authKey作爲輸入。後者的哈希函數是SHA-1,使用160authKey作爲輸入。

加密:採用數據加密標準(DES)的密碼組鏈接(CBC)碼,使用128位的privKey 作爲輸入。

6公共管理信息CMIP

CMIP協議是在OSI制訂的網絡管理框架中提出的網絡管理協議。與其說它是一個網絡管理協議,不如說它是一個網絡管理體系。這個體系包含以下組成部分:一套用於描述協議的模型,一組用於描述被管對象的註冊、標識和定義的管理信息結構,被管對象的詳細說明以及用於遠程管理的原語和服務。CMIPSNMP一樣,也是由被管代理和管理者、管理協議與管理信息庫組成。在CMIP,被管代理和管理者沒有明確的指定,任何一個網絡設備既可以是被管代理,也可以是管理者。

CMIP管理模型可以用三種模型進行描述:組織模型用於描述管理任務如何分配;功能模型描述了各種網絡管理功能和它們之間的關係;信息模型提供了描述被管對象和相關管理信息的準則。從組織模型來說,所有CMIP的管理者和被管代理者存在於一個或多個域中,域是網絡管理的基本單元。從功能模型來說,CMIP主要實現失效管理、配置管理、性能管理、記帳管理和安全性管理。每種管理均由一個特殊管理功能領域(SMFA,Special Management F unctional Area)負責完成。從信息模型來說,CMIPMIB庫是面向對象的數據存儲結構,每一個功能領域以對象爲MIB庫的存儲單元。

CMIP是一個完全獨立於下層平臺的應用層協議,它的五個特殊管理功能領域由多個系統 管理功能(SMF)加以支持。相對來說,CMIP是一個相當複雜和詳細的網絡管理協議。它的設計宗旨與SNMP相同,但用於監視網絡的協議數據報文要相對多一些。CMIP共定義了11PDU 。在CMIP,變量以非常複雜和高級的對象形式出現,每一個變量包含變量屬性、變量行爲和通知。CMIP中的變量體現了CMIP MIB庫的特徵,並且這種特徵表現了CMIP的管理思想,即基於事件而不是基於輪詢。每個代理獨立完成一定的管理工作。

CMIP的優點在於:

l  它的每個變量不僅傳遞信息,而且還完成一定的網絡管理任務。這是CMIP協議的最大特點,SNMP中是不可能的。這樣可減少管理者的負擔並減少網絡負載。

l  完全安全性。它擁有驗證、訪問控制和安全日誌等一整套安全管理方法。

但是,CMIP的缺點也同樣明顯:

l  它是一個大而全的協議,所以使用時,其資源佔用量是SNMP的數十倍。它對硬件設備的要求比人們所能提供的要高得多。

l  由於它在網絡代理上要運行相當數量的進程,所以大大增加了網絡代理的負擔。

l  它的MIB庫過分複雜,難於實現。迄今爲止,還沒有任何一個符合CMIP的網絡管理系統。

7SNMPCMIP的比較

SNMPCMIP是網絡界最主要的兩種網絡管理協議。在未來的網絡管理中,究竟哪一種將佔據優勢,一直是業界爭論的話題。

總的來說,SNMPCMIP兩種協議是同大於異。兩者的管理目標、基本組成部分都基本相同。在MIB庫的結構方面,很多廠商將SNMPMIB擴展成與CMIPMIB結構相類似,而且兩種協議的定義都採用相同的抽象語法符號(ASN.1)

不同之處,首先,SNMP面向單項信息檢索,CMIP則面向組合項信息檢索。其次,在信息獲得方面,SNMP主要基於輪詢方式,CMIP主要採用報告方式。再次,在傳送層支持方面,SNMP基於無連接的UDP,CMIP傾向於有連接的數據傳送。此外,兩者在功能、協議規模、性能 、標準化、產品化方面還有相當多的不同點。

8網絡管理協議的前景

在網絡界,SNMPSNMP v2CMIP以外,現在正興起一些新的網絡管理協議和環境。其中,以分佈式計算環境(DME,Distributed Management Environment)最爲著名。DME是由OSF(開放軟件基金會)提出的。OSF是一個非盈利的研究和開發組織,其目標是提供一個軟件解決方案,使來自不同廠家的計算機可以協同工作於一個真正的開放系統計算環境下。其文檔以RFT(Request for Technology)的形式提供。

DME代表了一種結構。在此結構下,管理系統和網絡可以很好地結合。它可以構成分佈式系統管理的基礎,並保持與現有網絡管理方案的結合。它獨立於操作系統,並支持事實上的和正式的網絡與系統管理標準。DME的結構有許多新穎之處。以前,無論是網絡管理還是系統管理,管理員通過修改與一個資源或服務相關的數據、通過對一些服務和數據進行操作來進行管理。而在DME環境下,信息和操作都被劃分爲對象。DME以對象爲單位對系統進行管理。所有DME管理操作有一個一致的界面和風格:通過與對象通信。這種設計的很大好處是模塊性很強,完全是一種面向對象的管理方式,系統易於管理和開發。ISV們可以建立自己的某些特定管理功能的對象庫或被管對象庫,然後將其加入到已有的管理應用程序中。這一切由於DME面向對象的管理方式而變得簡單。

DME有兩個關鍵概念:應用程序服務和框架(Framework)。應用程序服務提供一些最重要的系統管理功能,而框架則提供開發系統管理應用程序所用的構造模塊(building block)。這種設計提供了與現有解決方案的一致性,並可在多廠商分佈式網絡環境中進行互操作。DME應用程序服務包括軟件管理(Software Management)、許可權管理(License Management )、打印服務(Printing Services)和事件管理(Event Management)。它們以一組模塊和API的形式提供,有一個一致的用戶界面。DME還提供機制,使開發商可以很容易地加入新的服務。DME框架由一組功能全面的構造模塊組成,使新網管應用程序的開發變得簡單。這些組成是:

l  管理請求代理(MRBManagement Request Brokers) MRBDME框架的核心組成。在 DME下,所有對象的請求都被MRB接收。MRB負責找到這個對象在網絡中的位置,然後轉發請求。MRB支持現有的網絡管理協議SNMPCMIP,用它們收集網絡中的設備信息。MRB還支持基於RPC(Remote Procedure Call)的管理協議。

l  對象服務器對象服務器用來管理和維護網絡中的對象。DME提供兩種類型的對象服務器,一個用於短期任務(如更換口令等),另一個用於長期任務(如監視一個網絡)

l  事件管理服務當網絡中出現問題或發生變化時,需要通知管理應用程序。DME的事件管理服務提供了轉發、登錄和過濾這類通知的功能,可以對過濾器進行編程來分析一個事件通告的屬性,並將此事件與某個特定的動作聯繫起來。另外,爲了使此服務易於使用,DME還提供了用於定義事件的高級模板語言。

l  數據管理服務DME提供了一個管理數據庫,用來存放網絡被管對象的有關數據信息。此管理數據庫存放在磁盤上。

目前,DME的主要問題是缺乏支持,尚未得到進一步的實踐檢驗。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章