SNMP協議

SNMP協議

簡單網絡管理協議
簡單網絡管理協議(SNMP),由一組網絡管理的标準組成,包含一個應用層協議(application layer protocol)、數據庫模型(database schema)和一組資源對象。該協議能夠支持網絡管理系統,用以監測連接到網絡上的設備是否有任何引起管理上關注的情況。該協議是互聯網工程工作小組(IETF,Internet Engineering Task Force)定義的internet協議簇的一部分。SNMP的目标是管理互聯網Internet上衆多廠家生産的軟硬件平台,因此SNMP受Internet标準網絡管理框架的影響也很大。SNMP已經出到第三個版本的協議,其功能較以前已經大大地加強和改進了。
    中文名:簡單網絡管理協議 外文名: 别名: 英文名:Simple Network Management Protocol 英文簡稱:SNMP

簡介

SNMP是專門設計用于在IP網絡管理網絡節點(服務器、工作站、路由器、交換機及HUBS等)的一種标準協議,它是一種應用層協議。SNMP使網絡管理員能夠管理網絡效能,發現并解決網絡問題以及規劃網絡增長。通過SNMP接收随機消息(及事件報告)網絡管理系統獲知網絡出現問題。

SNMP的前身是簡單網關監控協議(SGMP),用來對通信線路進行管理。随後,人們對SGMP進行了很大的修改,特别是加入了符合Internet定義的SMI和MIB,改進後的協議就是著名的SNMP。基于TCP/IP的SNMP網絡管理框架是工業上的現行标準,由3個主要部分組成,分别是管理信息結構SMI(Structure ofManagement Information)、管理信息庫MIB和管理協議SNMP。

SMI定義了SNMP框架所用信息的組織和标識,為MIB定義管理對象及使用管理對象提供模闆。

MIB定義了可以通過SNMP進行訪問的管理對象的集合。

SNMP協議是應用層協議,定義了網絡管理者如何對代理進程的MIB對象進行讀寫操作。

SNMP中的MIB是一種樹狀數據庫,MIB管理的對象,就是樹的端節點,每個節點都有唯一位置和唯一名字.IETF規定管理信息庫對象識别符(OID,Object Identifier)唯一指定,其命名規則就是父節點的名字作為子節點名字的前綴。

工作原理

在典型的SNMP用法中,有許多系統被管理,而且是有一或多個系統在管理它們。每一個被管理的系統上又運行一個叫做代理者(agent)的軟件元件,且通過SNMP對管理系統報告資訊。

基本上,SNMP代理者以變量呈現管理資料。管理系統透過GET,GETNEXT和GETBULK協定指令取回資訊,或是代理者在沒有被詢問的情況下,使用TRAP或INFORM傳送資料。管理系統也可以傳送配置更新或控制的請求,透過SET協定指令達到主動管理系統的目的。配置和控制指令隻有當網絡基本結構需要改變的時候使用,而監控指令則通常是常态性的工作。

可透過SNMP存取的變量以階層的方式結合。這些分層和其他元數據(例如變量的類型和描述)以管理信息庫(MIBs)的方式描述。

應用模型

SNMP是基于TCP/IP協議族的網絡管理标準,是一種在IP網絡中管理網絡節點(如服務器、工作站、路由器、交換機等)的标準協議。SNMP能夠使網絡管理員提高網絡管理效能,及時發現并解決網絡問題以及規劃網絡的增長。網絡管理員還可以通過SNMP接收網絡節點的通知消息以及告警事件報告等來獲知網絡出現的問題。

SNMP管理的網絡主要由三部分組成:

被管理的設備

SNMP代理

網絡管理系統(NMS)

網絡中被管理的每一個設備都存在一個管理信息庫(MIB)用于收集并儲存管理信息。通過SNMP協議,NMS能獲取這些信息。被管理設備,又稱為網絡單元或網絡節點,可以是支持SNMP協議的路由器、交換機、服務器或者主機等等。

SNMP代理是被管理設備上的一個網絡管理軟件模塊,擁有本地設備的相關管理信息,并用于将它們轉換成與SNMP兼容的格式,傳遞給NMS。

NMS運行應用程序來實現監控被管理設備的功能。另外,NMS還為網絡管理提供大量的處理程序及必須的儲存資源。

協議發展

第一版

SNMP第一版和SMI規格的資料型态SNMP第一版SMI指定許多SMI規格的資料型态,它們被分為兩大類:

簡單資料型态

泛應用資料型态

SNMPv1使用基于團體名進行報文認證

第二版

SNMP第二版和管理資訊結構SNMP第二版SMI在RFC2578之中描述,它在SNMP第一版的SMI規格資料型态上進行增加和強化,例如位元串(bit strings)、網絡地址(network addresses)和計數器(counters)。

SNMP協定在OSI模型的應用層(第七層)運作,在第一版中指定五種核心PDU:

GET REQUEST

GET NEXT REQUEST

GET RESPONSE

SET REQUEST

TRAP

其他PDU在SNMP第二版加入,包含:

GETBULK REQUEST

INFORM

SNMP第二版SMI資訊模塊SNMP第二版SMI也指定了資訊模塊來詳細說明一群相關連的定義。有三種SMI資訊模塊:MIB模塊、回應狀态、能力狀态。

第三版

SNMP第三版SNMP第三版由RFC 3411-RFC 3418定義,主要增加SNMP在安全性和遠端配置方面的強化。

SNMP第三版提供重要的安全性功能:

信息完整性:保證封包在傳送中沒有被篡改。

認證:檢驗信息來自正确的來源。

封包加密:避免被未授權的來源窺探。

SNMPv3定義了基于用戶的安全模型,使用共享密鑰進行報文認證。

SNMPv3中引入了下列三個安全級别。

noAuthNoPriv:不需要認證,不提供隐私性(加密)。

authNoPriv:基于HMAC-MD5或HMAC-SHA的認證,不提供加密。

authPriv:除了認證之外,還将CBC-DES加密算法用作隐私性協議。

信息

MIB,Management Information Base:管理信息庫,由網絡管理協議訪問的管理對象數據庫,它包括SNMP可以通過網絡設備的SNMP管理代理進行設置的變量。SMI,Structure of Management Information:管理信息結構,用于定義通過網絡管理協議可訪問的對象的規則。SMI定義在MIB中使用的數據類型及網絡資源在MIB中的名稱或表示。

使用SNMP進行網絡管理需要下面幾個重要部分:管理基站,管理代理,管理信息庫和網絡管理工具。

管理基站通常是一個獨立的設備,它用作網絡管理者進行網絡管理的用戶接口。基站上必須裝備有管理軟件,管理員可以使用的用戶接口和從MIB取得信息的數據庫,同時為了進行網絡管理它應該具備将管理命令發出基站的能力。

管理代理是一種網絡設備,如主機,網橋,路由器和集線器等,這些設備都必須能夠接收管理基站發來的信息,它們的狀态也必須可以由管理基站監視。管理代理響應基站的請求進行相應的操作,也可以在沒有請求的情況下向基站發送信息。

MIB是對象的集合,它代表網絡中可以管理的資源和設備。每個對象基本上是一個數據變量,它代表被管理的對象的一方面的信息。

最後一個方面是管理協議,也就是SNMP,SNMP的基本功能是:取得,設置和接收代理發送的意外信息。取得指的是基站發送請求,代理根據這個請求回送相應的數據,設置是基站設置管理對象(也就是代理)的值,接收代理發送的意外信息是指代理可以在基站未請求的狀态下向基站報告發生的意外情況。

SNMP為應用層協議,是TCP/IP協議族的一部分。它通過用戶數據報協議(UDP)來操作。在分立的管理站中,管理者進程對位于管理站中心的MIB的訪問進行控制,并提供網絡管理員接口。管理者進程通過SNMP完成網絡管理。SNMP在UDP、IP及有關的特殊網絡協議(如,Ethernet,FDDI,X.25)之上實現。

風險

接入Internet的網絡面臨許多風險,Web服務器可能面臨攻擊,郵件服務器的安全也令人擔憂。但除此之外,網絡上可能還存在一些隐性的漏洞。大多數網絡總有一些設備運行着SNMP服務,許多時候這些SNMP服務是不必要的,但卻沒有引起網絡管理員的重視。

根據SANS協會的報告,對于接入Internet的主機,SNMP是威脅安全的十大首要因素之一;同時,SNMP還是Internet主機上最常見的服務之一。特别地,SNMP服務通常在位于網絡邊緣的設備(防火牆保護圈之外的設備)上運行,進一步加劇了SNMP帶來的風險。這一切聽起來出人意料,但其實事情不應該是這樣的。

背景知識

SNMP開發于九十年代早期,其目的是簡化大型網絡中設備的管理和數據的獲取。許多與網絡有關的軟件包,如HP的Open View和Nortel Networks的Optivity Network Management System,還有Multi Router Traffic Grapher(MRTG)之類的免費軟件,都用SNMP服務來簡化網絡的管理和維護。

由于SNMP的效果實在太好了,所以網絡硬件廠商開始把SNMP加入到它們制造的每一台設備。今天,各種網絡設備上都可以看到默認啟用的SNMP服務,從交換機到路由器,從防火牆到網絡打印機,無一例外。

僅僅是分布廣泛還不足以造成威脅,問題是許多廠商安裝的SNMP都采用了默認的通信字符串(例如密碼),這些通信字符串是程序獲取設備信息和修改配置必不可少的。采用默認通信字符串的好處是網絡上的軟件可以直接訪問設備,無需經過複雜的配置。

通信字符串主要包含兩類命令:GET命令,SET命令。GET命令從設備讀取數據,這些數據通常是操作參數,例如連接狀态、接口名稱等。SET命令允許設置設備的某些參數,這類功能一般有限制,例如關閉某個網絡接口、修改路由器參數等功能。但很顯然,GET、SET命令都可能被用于拒絕服務攻擊(DoS)和惡意修改網絡參數。

最常見的默認通信字符串是public(隻讀)和private(讀/寫),除此之外還有許多廠商私有的默認通信字符串。幾乎所有運行SNMP的網絡設備上,都可以找到某種形式的默認通信字符串。

SNMP2.0和SNMP1.0的安全機制比較脆弱,通信不加密,所有通信字符串和數據都以明文形式發送。攻擊者一旦捕獲了網絡通信,就可以利用各種嗅探工具直接獲取通信字符串,即使用戶改變了通信字符串的默認值也無濟于事。

近幾年才出現的SNMP3.0解決了一部分問題。為保護通信字符串,SNMP3.0使用DES(DataEncryptionStandard)算法加密數據通信;另外,SNMP3.0還能夠用MD5和SHA(SecureHashAlgorithm)技術驗證節點的标識符,從而防止攻擊者冒充管理節點的身份操作網絡。

雖然SNMP3.0出現已經有一段時間了,但自從發布以來還沒有廣泛應用。如果設備是2012年以前的産品,很可能根本不支持SNMP3.0;甚至有些較新的設備也隻有SNMP2.0或SNMP1.0。

即使設備已經支持SNMP3.0,許多廠商使用的還是标準的通信字符串,這些字符串對黑客組織來說根本不是秘密。因此,雖然SNMP3.0比以前的版本提供了更多的安全特性,如果配置不當,其實際效果仍舊有限。

禁用SNMP

要避免SNMP服務帶來的安全風險,最徹底的辦法是禁用SNMP。如果你沒有用SNMP來管理網絡,那就沒有必要運行它;如果你不清楚是否有必要運行SNMP,很可能實際上不需要。即使你打算以後使用SNMP,隻要現在沒有用,也應該先禁用SNMP,直到确實需要使用SNMP時才啟用它。

下面列出了如何在常見的平台上禁用SNMP服務。

WindowsXP和Windows2000

在XP和Win2K中,右擊“我的電腦”,選擇“管理”。展開“服務和應用程序”、“服務”,從服務的清單中選擇SNMP服務,停止該服務。然後打開服務的“屬性”對話框,将啟動類型改為“禁用”(按照微軟的默認設置,Win2K/XP默認不安裝SNMP服務,但許多軟件會自動安裝該服務)。

WindowsNT4.0

選擇“開始”→“設置”,打開服務設置程序,在服務清單中選擇SNMP服務,停止該服務,然後将它的啟動類型改為禁用。

Windows9x

打開控制面闆的網絡設置程序,在“配置”頁中,從已安裝的組件清單中選擇“MicrosoftSNMP代理”,點擊“删除”。檢查HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunServices和HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun注冊鍵,确認不存在snmp.exe。

Cisco Systems硬件

對于Cisco的網絡硬件,執行“noSNMP-server”命令禁用SNMP服務。如果要檢查SNMP是否關閉,可執行“showSNMP”命令。這些命令隻适用于運行CiscoIOS的平台;對于非IOS的Cisco設備,請參考随機文檔。

HP硬件

對于所有使用Jet Direct卡(絕大部分HP網絡打印機都使用它)的HP網絡設備,用telnet連接到Jet Direct卡的IP地址,然後執行下面的命令:

SNMP-config:0

quit

這些命令将關閉設備的SNMP服務。但必須注意的是,禁用SNMP服務會影響服務的發現操作以及利用SNMP獲取設備狀态的端口監視機制。

RedHatLinux

對于RedHatLinux,可以用Linuxconf工具從自動啟動的服務清單中删除SNMP,或者直接從/etc/services文件删除啟動SNMP的行。對于其他Linux系統,操作方法應該也相似。

保障SNMP的安全

如果某些設備确實有必要運行SNMP,則必須保障這些設備的安全。首先要做的是确定哪些設備正在運行SNMP服務。除非定期對整個網絡進行端口掃描,全面掌握各台機器、設備上運行的服務,否則的話,很有可能遺漏一、二個SNMP服務。特别需要注意的是,網絡交換機、打印機之類的設備同樣也會運行SNMP服務。确定SNMP服務的運行情況後,再采取下面的措施保障服務安全。

加載SNMP服務的補丁

安裝SNMP服務的補丁,将SNMP服務升級到2.0或更高的版本。聯系設備的制造商,了解有關安全漏洞和升級補丁的情況。

保護SNMP通信字符串

一個很重要的保護措施是修改所有默認的通信字符串。根據設備文檔的說明,逐一檢查、修改各個标準的、非标準的通信字符串,不要遺漏任何一項,必要時可以聯系制造商獲取詳細的說明。

過濾SNMP

另一個可以采用的保護措施是在網絡邊界上過濾SNMP通信和請求,即在防火牆或邊界路由器上,阻塞SNMP請求使用的端口。标準的SNMP服務使用161和162端口,廠商私有的實現一般使用199、391、705和1993端口。禁用這些端口通信後,外部網絡訪問内部網絡的能力就受到了限制;另外,在内部網絡的路由器上,應該編寫一個ACL,隻允許某個特定的可信任的SNMP管理系統操作SNMP。例如,下面的ACL隻允許來自(或者走向)SNMP管理系統的SNMP通信,限制網絡上的所有其他SNMP通信:

access-list 100 permit iphost w.x.y any

access-list 100 deny udp any any eq snmp

access-list 100 deny udp any any eq snmp trap

access-list 100 permit ip any any

這個ACL的第一行定義了可信任管理系統(w.x.y)。利用下面的命令可以将上述ACL應用到所有網絡接口:

interface serial0

ip access-group 100 in

總之,SNMP的發明代表着網絡管理的一大進步,現在它仍是高效管理大型網絡的有力工具。然而,SNMP的早期版本天生缺乏安全性,即使最新的版本同樣也存在問題。就象網絡上運行的其他服務一樣,SNMP服務的安全性也是不可忽視的。不要盲目地肯定網絡上沒有運行SNMP服務,也許它就躲藏在某個設備上。那些必不可少的網絡服務已經有太多讓人擔憂的安全問題,所以最好關閉SNMP之類并非必需的服務——至少盡量設法保障其安全。

數據

簡單網絡管理協議(SNMP)是1990年之後TCP/IP網絡中應用最為廣泛的網絡管理協議。1990年5月,RFC1157定義了SNMP(simplenetworkmanagementprotocol)的第一個版本SNMPv1。RFC1157和另一個關于管理信息的文件RFC1155一起,提供了一種監控和管理計算機網絡的系統方法。因此,SNMP得到了廣泛應用,并成為網絡管理的事實上的标準。

SNMP在90年代初得到了迅猛發展,同時也暴露出了明顯的不足,如,難以實現大量的數據傳輸,缺少身份驗證(Authentication)和加密(Privacy)機制。因此,1993年發布了SNMPv2,具有以下特點:

支持分布式網絡管理

擴展了數據類型

可以實現大量數據的同時傳輸,提高了效率和性能

豐富了故障處理能力

增加了集合處理功能

加強了數據定義語言

信息庫

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

對象命名樹的頂級對象有三個,即ISO、ITU-T和這兩個組織的聯合體。在ISO的下面有4個結點,其中的一個(标号3)是被标識的組織。在其下面有一個dod的子樹(标号是6),再下面就是Internet(标号是1)。在隻讨論Internet中的對象時,可隻畫出Internet以下的子樹(圖中帶陰影的虛線方框),并在Internet結點旁邊标注上{1.3.6.1}即可。

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

最初的結點mib将其所管理的信息分為8個類别,見圖2。現在demib-2所包含的信息類别已超過40個。

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

這裡要提一下MIB中的對象{1.3.6.1.4.1},即enterprises(企業),其所屬結點數已超過3000。例如IBM為{1.3.6.1.4.1.2},Cisco為{1.3.6.1.4.1.9},Novell為{1.3.6.1.4.1.23}等。

查詢

作用簡述

SNMP是"SimpleNetworkManagementProtocol"的縮寫,中文含義是"簡單網絡管理協議",這個協議的作用和詳細情況,各位可以參考有關資料.這裡隻介紹針對這個協議進行狀态查詢的工具軟件Snmputilg.exe.也是支持工具目錄中所提供的.至于用途,不外乎是給系統管理員提供關于SNMP方面的信息,便于在排除故障的時候當做參考.打開工具顯示界面之後,你就可以用來執行諸如GET,GET-NEXT等等操作或進行有關的設置.另外,這個工具也能将數據保存到剪貼闆,或将數據保存為以逗号為結束符号的文本文件.在使用中應當注意:即使多數對象的都使用了默認的ID标識(數值),你也要謹慎地使用SNMPSET命令,因為不正确地使用這個命令之後,可能導緻網絡名稱資源方面的問題或是在引起連通方面的問題。

使用方法

1.啟動程序:在windows2000的環境中,點擊"開始->運行",在編輯框中鍵入snmputilg然後回車或點擊"确定"。

2.和以前遇到的不同,Snmputilg.exe是一個圖形界面的工具,盡管執行程序的時候可以使用命令行控制窗口打開它,但實際啟動成功之後出現的界面仍然是圖形的

3.工具啟動後,Node編輯框中顯示的是默認的回送地址,地址值是127.0.0.1;CurrentOID指的是"當前對象标識符",标識是windows系統中用來代表一個對象的數字,每個标識都是整個系統中唯一的,也就是說,标識不會、也不允許重複.圖中顯示的值是.1.3.6.1.2.1.public是community一項的默認選擇.上面所介紹的這些項目也可選定别的值。

4.如果選擇了别的系統的IP地址,則必須運行SNMP服務,而目标系統必須配置好網絡訪問的地址,所謂配置,包括地址設置和權限打開.同時,所需要的輔助工具也應當具備或運行.缺省情況下,windows2000對所有另外系統的IP地址都是允許訪問的。

5.另一個問題是community,當選定community的值時,一要注意它所代表的對象必須存在,二要注意其"可讀"屬性隻有獲準許可之後才能進行讀操作.三要注意這個項目在windows系列的不同版本中,對訪問地址的限制可能不一樣。

6.凡是SNMP可以執行的功能(SNMPFunctiontoExecute),在圖中下拉組合框中都已經列出,可供選擇.選擇好之後,請鼠标點擊ExecuteCommand按鈕來執行對應的操作。

以下是這些操作的功能簡介:

GETthevalueofthecurrentobjectidentifier:得到當前對象的ID标識數值

GETtheNEXTvalueafterthecurrentobjectidentifier(thisisthedefault):得到緊接當前對象之後的下一個對象的ID标識數值(這是默認的)

GETtheNEXT20valuesafterthecurrentobjectidentifier:得到當前對象之後的20個對象的ID标識數值

GETallvaluesfromobjectidentifierdown(WALKthetree):得到從當前對象往下的所有對象的ID标識數值

WALKthetreefromWINSvaluesdown:從WINS值往下漫遊目錄

WALKthetreefromDHCPvaluesdown:從DHCP值往下漫遊目錄

WALKthetreefromLANMANvaluesdown:從LANMAN值往下漫遊目錄

WALKthetreefromMIB-IIdown(InternetMIB):從MIB-II往下漫遊目錄

7.顯示結果含義解釋:

這些結果可以清除,也可以保存或更新,要實現上述功能,可以使用菜單中對應的操作,具體地說,這些操作包括:

将一個或多個結果拷貝入剪貼闆.

删除現在列出的所有内容.

清除已經執行過的所有的命令.

請求記錄當前已經選定的項目.

産生一個文本文件,用該文件保存所有的記錄的映像

編輯或設置某個對象的标識.在使用這個操作時要謹慎,因為一旦進行了不正确地設置,将可能導緻網絡名稱資源方面的問題或是在引起連通方面的問題.

協議操作

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

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

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

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

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

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

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

OSI

在CLTS上的映射

在CLTS[7,8]上的SNMP映射是直通方式的。步驟原理和UDP采用的相同。注意CLTS和服務都是通過包含了全部地址信息的UDP信息傳輸包來提供的。因此,[1]中的“傳輸地址”,映射在CLTS上的SNMP僅僅是一個傳輸選項和網絡地址。

應該注意到,正如[1,5]中描述的那樣,映射在面向非連接的傳輸服務上的SNMP和SNMP的結構原理是完全一緻的。然而,CLTS本身既可以采用一個面向無連接方式,又可以采用面向連接的網絡服務方式實現。在這種映射中描述的映射支持任意實現方式。(當提供所有網絡服務時,應該以CLNS為實現基礎。)

周知地址

不象Internet協議組,OSI沒有使用周知口。當然,多路分解技術基于“選擇器”發生,“選擇器”是具有局部重要意義的不透明八位字串。為了照顧基于CLTS的可互操作的SNMP實現,定義四個選擇器是必要的。當CLTS采用無連接模式的網絡服務來提供反向SNMP傳輸時,應該采用由6個ASCII字符組成的“snmp-l”傳輸選擇器;按照約定,會發送一個SNMP中斷給一個正在監聽由7個ASCII字符組成的“snmp-l”傳輸選擇器的SNMP管理器。當CLTS采用面向連接的網絡服務來提供反向SNMP傳輸時,應該采用由6個ASCII字符組成“snmp-o”傳輸選擇器;按照約定,會發送一個SNMP中斷給一個正在監聽由7個ASCII字符組成的“snmp-o”傳輸選擇器的SNMP管理器。

中斷

當SNMP中斷在CLTS上發送時,Trap-PDU中的代理地址字段包含了IP地址“0.0.0.0”。SNMP管理器可以基于由傳輸服務提供的信息(也就是源自T-UNIT-DATA.INDICATION基本數據單元的)探知陷阱的來源。

最大消息尺寸

一個在OSI上運行SNMP的實體應該準備好接收大小至少484個字節的消息。鼓勵應用随時可能發生的更大的數值。

作用

SNMP是1990年之後最常用的網絡管理協議。SNMP被設計成與協議無關,所以它可以在IP,IPX,AppleTalk,OSI以及其他用到的傳輸協議上被使用。SNMP是一系列協議組和規範(見下表),它們提供了一種從網絡上的設備中收集網絡管理信息的方法。SNMP也為設備向網絡管理工作站報告問題和錯誤提供了一種方法。

現在,幾乎所有的網絡設備生産廠家都實現了對SNMP的支持。領導潮流的SNMP是一個從網絡上的設備收集管理信息的公用通信協議。設備的管理者收集這些信息并記錄在管理信息庫(MIB)中。這些信息報告設備的特性、數據吞吐量、通信超載和錯誤等。MIB有公共的格式,所以來自多個廠商的SNMP管理工具可以收集MIB信息,在管理控制台上呈現給系統管理員。

通過将SNMP嵌入數據通信設備,如路由器、交換機或集線器中,就可以從一個中心站管理這些設備,并以圖形方式查看信息。現在可獲取的很多管理應用程序通常可在大多數當前使用的操作系統下運行,如Windows95、Windows98、WindowsNT和不同版本UNIX的等。

一個被管理的設備有一個管理代理,它負責向管理站請求信息和動作,代理還可以借助于陷阱為管理站主動提供信息,因此,一些關鍵的網絡設備(如集線器、路由器、交換機等)提供這一管理代理,又稱SNMP代理,以便通過SNMP管理站進行管理。

協議棧

網絡設備agent常用庫:net-snmp——C語言編寫;snmp++——C、C++編寫

網管管理端snmp manager常用庫:ObjectSNMP——Java編寫,所有平台;WinSNMP——WFC庫,Windows平台

相關詞條

相關搜索

其它詞條