一、什么是SNMP
簡單網(wǎng)絡管理協(xié)議(SNMP),由一組網(wǎng)絡管理的標準組成,包含一個應用層協(xié)議(application layer protocol)、數(shù)據(jù)庫模型(database schema)和一組資源對象。該協(xié)議能夠支持網(wǎng)絡管理系統(tǒng),用以監(jiān)測連接到網(wǎng)絡上的設備是否有任何引起管理上關注的情況。
該協(xié)議是互聯(lián)網(wǎng)工程工作小組(IETF,Internet Engineering Task Force)定義的internet協(xié)議簇的一部分。SNMP的目標是管理互聯(lián)網(wǎng)Internet上眾多廠家生產(chǎn)的軟硬件平臺,因此SNMP受Internet標準網(wǎng)絡管理框架的影響也很大。SNMP已經(jīng)出到第三個版本的協(xié)議,其功能較以前已經(jīng)大大地加強和改進了。
SNMP的作用
SNMP是1990年之后最常用的網(wǎng)絡管理協(xié)議。SNMP被設計成與協(xié)議無關,所以它可以在IP,IPX,AppleTalk,OSI以及其他用到的傳輸協(xié)議上被使用。SNMP是一系列協(xié)議組和規(guī)范(見下表),它們提供了一種從網(wǎng)絡上的設備中收集網(wǎng)絡管理信息的方法。SNMP也為設備向網(wǎng)絡管理工作站報告問題和錯誤提供了一種方法。
現(xiàn)在,幾乎所有的網(wǎng)絡設備生產(chǎn)廠家都實現(xiàn)了對SNMP的支持。領導潮流的SNMP是一個從網(wǎng)絡上的設備收集管理信息的公用通信協(xié)議。設備的管理者收集這些信息并記錄在管理信息庫(MIB)中。這些信息報告設備的特性、數(shù)據(jù)吞吐量、通信超載和錯誤等。MIB有公共的格式,所以來自多個廠商的SNMP管理工具可以收集MIB信息,在管理控制臺上呈現(xiàn)給系統(tǒng)管理員。
通過將SNMP嵌入數(shù)據(jù)通信設備,如路由器、交換機或集線器中,就可以從一個中心站管理這些設備,并以圖形方式查看信息?,F(xiàn)在可獲取的很多管理應用程序通??稍诖蠖鄶?shù)當前使用的操作系統(tǒng)下運行,如Windows95、Windows98、WindowsNT和不同版本UNIX的等。
一個被管理的設備有一個管理代理,它負責向管理站請求信息和動作,代理還可以借助于陷阱為管理站主動提供信息,因此,一些關鍵的網(wǎng)絡設備(如集線器、路由器、交換機等)提供這一管理代理,又稱SNMP代理,以便通過SNMP管理站進行管理。
二、SNMP背景
SNMP的基本思想:為不同種類的設備、不同廠家生產(chǎn)的設備、不同型號的設備,定義為一個統(tǒng)一的接口和協(xié)議,使得管理員可以是使用統(tǒng)一的外觀面對這些需要管理的網(wǎng)絡設備進行管理。通過網(wǎng)絡,管理員可以管理位于不同物理空間的設備,從而大大提高網(wǎng)絡管理的效率,簡化網(wǎng)絡管理員的工作。
三、SNMP結構概述
SNMP被設計為工作在TCP/IP協(xié)議族上。SNMP基于TCP/IP協(xié)議工作,對網(wǎng)絡中支持SNMP協(xié)議的設備進行管理。所有支持SNMP協(xié)議的設備都提供SNMP這個統(tǒng)一界面,使得管理員可以使用統(tǒng)一的操作進行管理,而不必理會設備是什么類型、是哪個廠家生產(chǎn)的。如下圖,
四、SNMP支持的網(wǎng)管操作
對于網(wǎng)絡管理,我們面對的數(shù)據(jù)是設備的配置、參數(shù)、狀態(tài)等信息,面對的操作是讀取和設置;同時,因為網(wǎng)絡設備眾多,為了能及時得到設備的重要狀態(tài),還要求設備能主動地匯報重要狀態(tài),這就是報警功能。如下圖,
1)Get:讀取網(wǎng)絡設備的狀態(tài)信息。
2)Set:遠程配置設備參數(shù)。
3)Trap:管理站及時獲取設備的重要信息。
五、SNMP的實現(xiàn)結構
在具體實現(xiàn)上,SNMP為管理員提供了一個網(wǎng)管平臺(NMS),又稱為管理站,負責網(wǎng)管命令的發(fā)出、數(shù)據(jù)存儲、及數(shù)據(jù)分析。被監(jiān)管的設備上運行一個SNMP代理(Agent)),代理實現(xiàn)設備與管理站的SNMP通信。如下圖,
管理站與代理端通過MIB進行接口統(tǒng)一,MIB定義了設備中的被管理對象。管理站和代理都實現(xiàn)了相應的MIB對象,使得雙方可以識別對方的數(shù)據(jù),實現(xiàn)通信。管理站向代理申請MIB中定義的數(shù)據(jù),代理識別后,將管理設備提供的相關狀態(tài)或參數(shù)等數(shù)據(jù)轉(zhuǎn)換為MIB定義的格式,應答給管理站,完成一次管理操作。
已有的設備,只要新加一個SNMP模塊就可以實現(xiàn)網(wǎng)絡支持。舊的帶擴展槽的設備,只要插入SNMP模塊插卡即可支持網(wǎng)絡管理。網(wǎng)絡上的許多設備,路由器、交換機等,都可以通過添加一個SNMP網(wǎng)管模塊而增加網(wǎng)管功能。服務器可以通過運行一個網(wǎng)管進程實現(xiàn)。其他服務級的產(chǎn)品也可以通過網(wǎng)管模塊實現(xiàn)網(wǎng)絡管理,如Oracle、WebLogic都有SNMP進程,運行后就可以通過管理站對這些系統(tǒng)級服務進行管理。
根據(jù)管理者和被管理的設備在網(wǎng)絡管理操作中的不同職責,SNMP定義了3種角色。如下圖,
網(wǎng)絡管理系統(tǒng):又稱管理站、NMS。是系統(tǒng)的控制臺,向管理員提供界面以獲取與改變設備的配置、信息、狀態(tài)、操作等信息。管理站與Agent進行通信,執(zhí)行相應的Set和Get操作,并接收代理發(fā)過來的警報(Trap)。
代理:Agent是網(wǎng)絡管理的代理人,負責管理站和設備SNMP操作的傳遞。介于管理站和設備之間,與管理站通信并相應管理站的請求,從設備獲取相應的數(shù)據(jù),或?qū)υO備進行相應的設置,來響應管理站的請求。代理也需要具有根據(jù)設備的相應狀態(tài)使用MIB中定義的Trap向管理站發(fā)送報告的能力。
代理服務器:Proxy是一種特殊的代理,在不能直接使用SNMP協(xié)議的地方,如:異種網(wǎng)絡、不同版本的SNMP代理等情況,Proxy代替相關設備向管理站提供一種外觀,為設備代理SNMP協(xié)議的實現(xiàn)。Proxy做了異種網(wǎng)絡或不同版本代理和相應SNMP數(shù)據(jù)請求的轉(zhuǎn)換工作。如下圖,
附:管理信息庫MIB:定義了設備上可以使用的管理信息。代理和管理站使用MIB作為統(tǒng)一的數(shù)據(jù)接口通信。
六、SNMP的技術內(nèi)容
如下圖,
七、SNMP的發(fā)展歷史
1989年------ SNMPv1
1991年------ RMON(Remote Network Monitoring 遠程網(wǎng)絡監(jiān)視),它擴充了SNMP的功能,包括對LAN的管理及對依附于這些網(wǎng)絡的設備的管理。RMON 沒有修改和增加SNMPv1,只是增加了SNMP監(jiān)視子網(wǎng)的能力。
1993年------ SNMPv2(SNMPv1的升級版)
1995年------ SNMPv2正式版,其中規(guī)定了如何在基于OSI的網(wǎng)絡中使用SNMP
1995年------ RMON擴展為RMON2
1998年------ SNMPv3,一系列文檔定義了SNMP的安全性,并定義了將來改進的總體結構,SNMPv3可以和SNMPv2、SNMPv1一起使用。
八、SNMP的技術術語
SNMP:Simple Network Management Protocol(簡單網(wǎng)絡管理協(xié)議),是一個標準的用于管理基于IP網(wǎng)絡上設備的協(xié)議。
MIB:Management Information Base(管理信息庫),定義代理進程中所有可被查詢和修改的參數(shù)。
SMI:Structure of Management Information(管理信息結構),SMI定義了SNMP中使用到的ASN.1類型、語法,并定義了SNMP中使用到的類型、宏、符號等。SMI用于后續(xù)協(xié)議的描述和MIB的定義。每個版本的SNMP都可能定義自己的SMI。
ASN.1:Abstract Syntax Notation One(抽象語法定義)。用于定義語法的正式語言,在SNMP中定義SNMP的協(xié)議數(shù)據(jù)單元PDU和管理對象MIB的格式。SNMP只使用了ASN.1中的一部分,而且使用ASN.1的語言特性定義了一些自定義類型和類型宏 ,這些組成了SMI。
PDU: Protocol Data Unit(協(xié)議數(shù)據(jù)單元),它是網(wǎng)絡中傳送的數(shù)據(jù)包。每一種SNMP操作,物理上都對應一個PDU。
NMS: Network Management System,網(wǎng)絡管理系統(tǒng),又名網(wǎng)絡管理站,簡稱“管理站”。它是SNMP的總控機,提供統(tǒng)一的用戶界面訪問支持SNMP的設備,一般提供UI界面,并有統(tǒng)計、分析等功能,是網(wǎng)管系統(tǒng)的總控制臺。NMS是網(wǎng)絡管理操作的發(fā)起者。
Agent: 是SNMP的訪問代理,簡稱“代理”,為設備提供SNMP能力,負責設備與NMS的通信。
Proxy: 代理服務器,對實現(xiàn)不同協(xié)議的設備進行協(xié)議轉(zhuǎn)換,使非IP協(xié)議的設備也能被管理。
Trap: 是由設備主動發(fā)出的報警數(shù)據(jù),用于提示重要的狀態(tài)的改變。
BER: Basic Encoding Rule,基本編碼規(guī)格。描述如何將ASN.1類型的值編碼為字符串的方法。它是ASN.1標準的一部分。BER編碼將數(shù)據(jù)分成TLV三部分,T為Tag的縮寫,是類型標識;L為Length的縮寫,標識類型的長度;V為Value的縮寫,標識數(shù)據(jù)內(nèi)容。按照TLV的順序?qū)?shù)據(jù)進行編碼,生成字節(jié)流。SNMP使用BER將SNMP的操作請求和應答編碼后進行傳輸,并用于接收端進行解碼。
九、綜合上述(總結)
1、SNMP現(xiàn)有幾個版本
SNMP共有v1,v2,v3這三個版本:
v1和v2都具有基本的讀、寫MIB功能。
v2增加了警報、批量數(shù)據(jù)獲取、管理站和管理站通信能力。
v3在v2的基礎上增加了USM,使用加密的數(shù)據(jù)和用戶驗證技術,提高了安全性。
另外,RMON是SNMP的一個重要擴展,為SNMP增加了子網(wǎng)流量、統(tǒng)計、分析能力?,F(xiàn)有兩個版本: Rmon:提供了OSI七層網(wǎng)絡結構中網(wǎng)絡層和數(shù)據(jù)鏈路層監(jiān)視能力。Rmon2:提供了OSI七層網(wǎng)絡結構中網(wǎng)絡層之上各層的監(jiān)視能力。
2、ASN.1、BER、SMI、MIB、PDU的關系
ASN.1:高級的數(shù)據(jù)描述語言。描述數(shù)據(jù)的類型、結構、組織、及編碼方法。包括符號和語法兩部分。SNMP使用ASN.1描述PDU和管理學對象信息庫MIB。
BER:ASN.1的基本編碼規(guī)則。描述具體的ASN.1對象如何編碼為比特流在網(wǎng)絡上傳輸。SNMP使用BER作為編碼方案,數(shù)據(jù)首先先經(jīng)過BER編碼,再經(jīng)由傳輸層協(xié)議(一邊是UDP)發(fā)往接收方。接收方在SNMP端口上收到PDU后,經(jīng)過BER解碼后,得到具體的SNMP操作數(shù)據(jù)。
SMI:是SNMP的描述方法。規(guī)定了使用ASN.1子類型、符號。ASN.1功能強大,但SNMP只用到了其中很小一部分,對于這一部分內(nèi)容的描述,限定了范圍,即為SMI。SMI規(guī)定了使用到的ASN.1類型、宏、符號等。SMI是ASN.1的一個子集和超集。
MIB:是SNMP中使用到的管理信息庫。定義了數(shù)據(jù)格式、類型、順序、意義等,使用SMI中定義的類型和ASN.1中的基本類型對對象進行描述,是一個使用SMI描述的管理信息庫。每一類關心的事件都有一組MIB,比如網(wǎng)絡接口有一顆MIB樹,TCP有一顆MIB樹,UDP也有一顆MIB樹。
PDU:是SNMP的協(xié)議數(shù)據(jù)單元。PDU是基本的通信格式,使用ASN.1描述,使用BER編碼,通過傳輸層協(xié)議傳送。
3、比較規(guī)范的SNMP背景
SNMP作為一種過渡技術以其簡單易用的特性被廣泛使用,使用的網(wǎng)絡產(chǎn)品提供對SNMP的支持。SNMP還擴展了具有遠程管理功能的RMON,使得管理人員可以對整個子網(wǎng)進行管理,而不是對整個子網(wǎng)內(nèi)的設備進行管理。
評論
查看更多