第7章SNMP(1版,2版和3版)_第1頁
第7章SNMP(1版,2版和3版)_第2頁
第7章SNMP(1版,2版和3版)_第3頁
第7章SNMP(1版,2版和3版)_第4頁
第7章SNMP(1版,2版和3版)_第5頁
已閱讀5頁,還剩166頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第七章SNMP計(jì)算機(jī)網(wǎng)絡(luò)管理SNMP概述在網(wǎng)絡(luò)管理站與網(wǎng)絡(luò)管理代理之間或者網(wǎng)絡(luò)管理站與網(wǎng)絡(luò)管理站之間要交換網(wǎng)絡(luò)管理信息,這些網(wǎng)絡(luò)管理信息的表示方法、組織方式和內(nèi)容定義需要進(jìn)行標(biāo)準(zhǔn)化,這些問題屬于表示層的問題。還需要一種交互的協(xié)議來規(guī)定協(xié)議數(shù)據(jù)單元(PDU:ProtocolDataUnit)的語法和語義、交互中支持的操作以及交互中的安全問題等內(nèi)容,這些問題屬于應(yīng)用層的問題,SNMP協(xié)議就是解決這些問題的一個(gè)應(yīng)用層協(xié)議。SNMP概述SNMP是專門設(shè)計(jì)用來管理網(wǎng)絡(luò)設(shè)備(服務(wù)器、工作站、路由器、交換機(jī)、HUB等)的一種標(biāo)準(zhǔn)協(xié)議。SNMP是一種應(yīng)用層協(xié)議。SNMP使網(wǎng)絡(luò)管理員能夠管理網(wǎng)絡(luò)運(yùn)行,發(fā)現(xiàn)并解決網(wǎng)絡(luò)問題以及規(guī)劃網(wǎng)絡(luò)發(fā)展。通過SNMP接收循環(huán)消息(及事件報(bào)告)網(wǎng)絡(luò)管理系統(tǒng)獲知網(wǎng)絡(luò)出現(xiàn)問題。SNMP的發(fā)展歷程隨著TCP/IP協(xié)議廣泛應(yīng)用,網(wǎng)絡(luò)數(shù)目與網(wǎng)絡(luò)內(nèi)主機(jī)的數(shù)量不斷增多,網(wǎng)絡(luò)管理問題日益凸顯。國際標(biāo)準(zhǔn)化組織(ISO)針對(duì)其自己提出的開放系統(tǒng)互連參考模型(OSI)的七層協(xié)議框架設(shè)計(jì)了公共管理信息服務(wù)(CMIS)和公共管理信息協(xié)議(CMIP)。因特網(wǎng)工程任務(wù)組(IETF)為了管理快速增長(zhǎng)的Internet,決定修改并采用OSI的CMIP作為Internet的網(wǎng)絡(luò)管理協(xié)議,修改后的協(xié)議被稱為:建立在TCP/IP之上的公共管理信息服務(wù)與協(xié)議(CMOT)。SNMP的發(fā)展歷程CMIS/CMIP的實(shí)現(xiàn)由于復(fù)雜性和實(shí)現(xiàn)代價(jià)太高而遇到了許多困難,CMOT遲遲不能正式出臺(tái)。1990年IETF決定把在NYSERNET和SURANET上開發(fā)的簡(jiǎn)單網(wǎng)關(guān)監(jiān)控協(xié)議(SGMP)進(jìn)行修改后,作為暫時(shí)的網(wǎng)絡(luò)管理解決方案。這個(gè)臨時(shí)解決方案后來發(fā)展成為簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP)的第一個(gè)版本SNMPv1。SNMP的發(fā)展歷程為了彌補(bǔ)在安全方面的足,IETF開始進(jìn)行SNMP新版本的開發(fā)工作。1992年7月,SNMP的設(shè)計(jì)者提出了稱為SNMPsec的安全SNMP版本。SNMP的發(fā)展歷程1993年,IETF發(fā)布了SNMP的第二版SNMPv2。SNMPv2吸取了SNMPsec以及RMON在安全性能和功能上的經(jīng)驗(yàn),同時(shí)針對(duì)SNMPv1在管理大型網(wǎng)絡(luò)上的不足,對(duì)SNMP進(jìn)行了一系列的擴(kuò)充。SNMP的發(fā)展歷程經(jīng)過幾年的試用發(fā)現(xiàn)SNMPv2的安全機(jī)制存在嚴(yán)重缺陷。許多設(shè)備提供商在SNMPv2的基礎(chǔ)上加入自定義的安全特性,逐漸形成了SNMPv2u及SNMPv23兩個(gè)版本。SNMP的發(fā)展歷程為統(tǒng)一標(biāo)準(zhǔn),IETF不得不在1996年對(duì)SNMPv2進(jìn)行修訂,發(fā)布了SNMPv2c。SNMP的發(fā)展歷程1999年IETF正式發(fā)布了SNMPv3。SNMPv3是在SNMPv2基礎(chǔ)之上增加了安全和管理機(jī)制的協(xié)議,得到了設(shè)備生產(chǎn)廠商的支持。SNMP管理模型四個(gè)基本組成部分管理者管理代理管理協(xié)議管理信息庫SNMP管理模型管理組織結(jié)構(gòu):兩層組織模式SNMP管理模型管理組織結(jié)構(gòu)三層組織模式SNMP管理模型管理組織結(jié)構(gòu)代理服務(wù)器組織模式SNMP管理信息結(jié)構(gòu)(SMI)對(duì)象類型的命名每個(gè)MIB對(duì)象都使用對(duì)象標(biāo)識(shí)符來唯一標(biāo)識(shí)SNMP管理信息庫(MBI)MIB-II的組對(duì)象對(duì)象標(biāo)識(shí)符說明system.2.1.1提供設(shè)備或系統(tǒng)的信息。interfaces.2.1.2包含網(wǎng)絡(luò)接口的信息。at.2.1.3用于InternetIP地址到數(shù)據(jù)鏈路地址的地址轉(zhuǎn)換表。ip.2.1.4包含關(guān)于該設(shè)備的網(wǎng)際協(xié)議(IP)的統(tǒng)計(jì)信息。icmp.2.1.5包含Internet控制消息協(xié)議(ICMP)的統(tǒng)計(jì)信息。tcp.2.1.6包含傳輸控制協(xié)議(TCP)的統(tǒng)計(jì)信息。udp.2.1.7包含用戶數(shù)據(jù)報(bào)協(xié)議(UDP)的統(tǒng)計(jì)信息。egp.2.1.8包含外部網(wǎng)關(guān)協(xié)議(EGP)的統(tǒng)計(jì)信息。cmot.2.1.9CMOT協(xié)議的信息。transmission.2.1.10提供系統(tǒng)接口之下的特定媒體的信息。snmp.2.1.11包含簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP)的統(tǒng)計(jì)信息。SNMPv1SNMPv1概述是一種簡(jiǎn)單的請(qǐng)求/響應(yīng)協(xié)議,管理者發(fā)出一個(gè)請(qǐng)求,代理則返回一個(gè)響應(yīng)。只支持網(wǎng)絡(luò)管理站與網(wǎng)絡(luò)管理代理之間的信息交互。安全機(jī)制:基于共同體(Community)的安全機(jī)制傳輸層協(xié)議:UDP同一設(shè)備上不同的網(wǎng)絡(luò)應(yīng)用程序使用端口號(hào)進(jìn)行區(qū)分,對(duì)于四種請(qǐng)求/響應(yīng)操作,網(wǎng)絡(luò)管理代理端使用的知名端口號(hào)為161;對(duì)于Trap操作,網(wǎng)絡(luò)管理站端使用的知名端口號(hào)為162

SNMPv1SNMPv1SNMPv1支持的操作GetRequest操作:從代理進(jìn)程處提取n個(gè)參數(shù)值。GetNextRequest操作:從代理進(jìn)程處提取緊跟當(dāng)前參數(shù)值的下一個(gè)參數(shù)值。SetRequest操作:設(shè)置代理進(jìn)程的一個(gè)或多個(gè)參數(shù)值。GetResponse操作:返回一個(gè)或多個(gè)參數(shù)值。這個(gè)操作是由代理進(jìn)程發(fā)出的,是前面三種操作的響應(yīng)操作。Trap操作::代理進(jìn)程主動(dòng)發(fā)出的報(bào)文,通知管理進(jìn)程有某些事情發(fā)生。SNMPv1代理進(jìn)程端UDP端口:161;管理進(jìn)程UDP端口162管理員使用get-request檢索設(shè)備信息,如系統(tǒng)名字,運(yùn)行時(shí)間等get-request和get-next-request結(jié)合使用可以獲取一個(gè)表中對(duì)象set-request可以對(duì)設(shè)備中的參數(shù)進(jìn)行遠(yuǎn)程配置,如設(shè)備名字,關(guān)掉端口。trap是snmp陷阱,代理發(fā)送給管理站的非請(qǐng)求消息。如掉電重啟。SNMPv1SNMPv1報(bào)文格式SNMP報(bào)文被封裝在用戶數(shù)據(jù)報(bào)協(xié)議(UDP)報(bào)文的數(shù)據(jù)項(xiàng)中,并通過UDP協(xié)議進(jìn)行傳輸。應(yīng)用層傳輸層網(wǎng)絡(luò)層SNMPv1SNMPv1報(bào)文格式SNMP報(bào)文由首部和協(xié)議數(shù)據(jù)單元2部分組成版本號(hào)減1SNMPv1取值為0SNMPv2取值為1SNMPv3取值為2默認(rèn)取值為0數(shù)據(jù)域,因操作類型而不同共5中:3種RequestPDU,1種ResponsePDU,1種TrapPDU根據(jù)PUD類型,填入0~4值SNMPv1SNMPv1報(bào)文格式PDUs定義SNMPv1PDU::=SEQUENCE{ request-id INTEGER, error-status INTEGER{ noError(0), tooBig(1), noSuchName(2), badValue(3), readOnly(4), genErr(5)}, error-index INTEGER, variable-bindings SEQUENCEOF{ name ObjectName, value ObjectSyntax } }GetRquest::=GetNextRequest::=GetResponse::=SetRequest::=Trap::=[0]PDU[1]PDU[2]PDU[3]PDU[4]Trap-PDUFiveSNMPPDUs:PDU:ProtocolDataUnitSNMPv1SNMPv1報(bào)文格式SNMPv1報(bào)文傳輸,經(jīng)過傳輸層、互聯(lián)層、網(wǎng)絡(luò)存取層以及物理層的網(wǎng)絡(luò)。SNMPv1SNMPv1報(bào)文格式SNMPv1報(bào)文協(xié)議數(shù)據(jù)單元分為首部和變量綁定。Get/Set類型報(bào)文與Trap類型報(bào)文的協(xié)議數(shù)據(jù)單元首部格式不同。每個(gè)PDU的唯一的標(biāo)識(shí)號(hào),用于區(qū)分重復(fù)的PDU處理請(qǐng)求時(shí)出現(xiàn)的異常狀態(tài)發(fā)生錯(cuò)誤(即差錯(cuò)狀態(tài)非零)時(shí),如果錯(cuò)誤為noSuchName、badValue或readOnly,指明為錯(cuò)誤對(duì)象在變量列表中的索引變量名和對(duì)應(yīng)值的表,說明要檢索(get)或設(shè)置(set)的所有變量及其值。在Get和GetNext操作中,發(fā)送實(shí)體將變量的值置為NULL,接收實(shí)體在返回的GetResponsePDU中設(shè)置為變量的實(shí)際值SNMPv1SNMPv1報(bào)文格式SNMPv1報(bào)文協(xié)議數(shù)據(jù)單元分為首部和變量綁定。Get/Set類型報(bào)文與Trap類型報(bào)文的協(xié)議數(shù)據(jù)單元首部格式不同。產(chǎn)生該Trap的被管設(shè)備的對(duì)象標(biāo)識(shí)符,為sysObjectID;如果是企業(yè)自定義類型的Trap,此對(duì)象標(biāo)識(shí)符在管理樹enterprise節(jié)點(diǎn)(.4.1)下的子樹上產(chǎn)生Trap的管理代理的IP地址Generic-trap,通用Trap類型,共6種當(dāng)Generic-trap為6時(shí),Specific-trap指明自定義類型的Trap事件,否則為0上次自代理進(jìn)程初始化到產(chǎn)生Trap的時(shí)間間隔,單位為10msSNMPv1Trap-PDU::=[4] IMPLICITSEQUENCE{ enterprise OBJECTIDENTIFIER, agent-addr NetworkAddress,

generic-trap INTEGER{coldStart(0),warmStart(1),linkDown(2),linkUp(3),authenticationFailure(4),egpNeighborLoss(5),enterpriseSpecific(6)}, specific-trap INTEGER, time-stamp TimeTicks, variable-bindings VarBindList}Enterprise:

產(chǎn)生該Trap的被管設(shè)備的對(duì)象標(biāo)識(shí)符,為sysObjectIDAgentAddress:產(chǎn)生Trap的管理代理GenericTrap:通用Trap類型,共6種SpecificTrap:當(dāng)Generic-trap為6時(shí),Specific-trap指明自定義類型的Trap事件,否則為0TimeStamp:上次自代理進(jìn)程初始化到產(chǎn)生Trap的時(shí)間間隔VariableBindings:SNMPv1SNMPv1報(bào)文應(yīng)答序列SNMP報(bào)文在管理者和代理之間傳送,其中報(bào)文GetRequest,GetNextRequest,SetRequest由管理者發(fā)送,代理以GetResponse響應(yīng),Trap報(bào)文由代理發(fā)送給管理者,不需要應(yīng)答。根據(jù)請(qǐng)求標(biāo)識(shí)進(jìn)行對(duì)應(yīng)的161161161162SNMPv1SNMPv1報(bào)文應(yīng)答序列說明管理站可連續(xù)發(fā)出多個(gè)請(qǐng)求報(bào)文,然后等待代理返回的應(yīng)答報(bào)文。如果在規(guī)定的時(shí)間內(nèi)收到應(yīng)答,則按照請(qǐng)求標(biāo)識(shí)進(jìn)行配對(duì),亦即應(yīng)答報(bào)文必須與請(qǐng)求報(bào)文有相同的請(qǐng)求標(biāo)識(shí)。SNMPv1是異步的請(qǐng)求/響應(yīng)協(xié)議.請(qǐng)求響應(yīng):SNMP的管理操作總是由管理進(jìn)程發(fā)出管理操作請(qǐng)求,然后由管理代理執(zhí)行請(qǐng)求并發(fā)回響應(yīng)。異步:響應(yīng)的返回順序與請(qǐng)求發(fā)送的順序并不一定要相同,甚至不要求響應(yīng)一定能夠返回。SNMPv1SNMPv1報(bào)文應(yīng)答序列當(dāng)代理接收到SNMP報(bào)文時(shí),如何確定是否處理該報(bào)文?檢查譯碼,判斷該報(bào)文是否能被分析,若不能,則丟棄查看SNMP版本號(hào)是否該代理可以識(shí)別的SNMP,若不是,則丟棄。傳遞團(tuán)體名,報(bào)文的PDU部分以及源和目的傳輸?shù)刂方o鑒別服務(wù)。若鑒別失敗,則丟棄。檢查該P(yáng)UD是否可以被分析。若不能,則丟棄。SNMPv1SNMPv1報(bào)文應(yīng)答序列響應(yīng)報(bào)文格式OxA2:首字節(jié)的值為16進(jìn)制的A2,指示該SNMP是一個(gè)GetResponse;請(qǐng)求標(biāo)識(shí)符:與源請(qǐng)求相同的值相同;差錯(cuò)狀態(tài):指示該代理是否成功處理該請(qǐng)求;差錯(cuò)索引:如果不為0,則指示第一個(gè)變量在錯(cuò)誤請(qǐng)求中的位置;變量綁定:一個(gè)變量表,每個(gè)變量包含一個(gè)對(duì)象標(biāo)識(shí)符和一個(gè)值SNMPv1代理如何處理Get和GetNext請(qǐng)求?對(duì)于Get請(qǐng)求,若一個(gè)對(duì)象在指定團(tuán)體名下不可用(對(duì)于GetNext請(qǐng)求來說,如果下一個(gè)對(duì)象不存在),則將發(fā)出一個(gè)具有noSuchName錯(cuò)誤狀態(tài)的GetResponse,且在差錯(cuò)索引字段設(shè)置該對(duì)象在變量綁定表中的位置;若生成的PDU太大,則發(fā)出一個(gè)tooBig差錯(cuò)狀態(tài)的GetResponse;若由于任何其他原因而不能獲取的一個(gè)值,則將發(fā)生一個(gè)具有g(shù)enErr差錯(cuò)狀態(tài)的GetResponse,并且在差錯(cuò)索引字段設(shè)置該對(duì)象在變量綁定表中位置SNMPv1代理如何處理Set請(qǐng)求?若一個(gè)對(duì)象在指定團(tuán)體名下不可用,則將發(fā)出一個(gè)具有noSuchName錯(cuò)誤狀態(tài)的GetResponse,且在差錯(cuò)索引字段設(shè)置該對(duì)象在變量綁定表中的位置;若生成的PDU太大,則發(fā)出一個(gè)tooBig差錯(cuò)狀態(tài)的GetResponse;若由于任何其他原因而不能獲取的一個(gè)值,則將發(fā)生一個(gè)具有g(shù)enErr差錯(cuò)狀態(tài)的GetResponse,并且在差錯(cuò)索引字段設(shè)置該對(duì)象在變量綁定表中位置SNMPv1SNMPv1報(bào)文發(fā)送SNMPv1SNMPv1報(bào)文發(fā)送過程按照ASN.1的格式構(gòu)造PDU,交給認(rèn)證進(jìn)程;將構(gòu)造的PDU,發(fā)送方的地址、端口和目的方地址、端口以及共同體名稱一起發(fā)送給認(rèn)證服務(wù),認(rèn)證服務(wù)完成相應(yīng)的加密等轉(zhuǎn)換,將結(jié)果返回;將生成的PDU以及Community和Version組裝成完整的SNMP消息報(bào)文;對(duì)SNMP消息報(bào)文進(jìn)行BER編碼,交傳輸層傳輸實(shí)體向接收方發(fā)送出去。SNMPv1報(bào)文接收(團(tuán)體名、報(bào)文的PDU部分,以及源和目的傳輸?shù)刂罚└鶕?jù)團(tuán)體名選擇SNMP訪問權(quán)限SNMPv1SNMPv1報(bào)文接收過程按照BER編碼恢復(fù)ASN.1報(bào)文;進(jìn)行消息的基本語法檢查,丟棄非法消息;檢查版本號(hào),丟棄版本號(hào)不匹配的消息;SNMP協(xié)議實(shí)體將用戶名、消息的PUD部分以及源和目的傳輸?shù)刂穫鹘o認(rèn)證服務(wù)。如果認(rèn)證失敗,認(rèn)證服務(wù)通知SNMP協(xié)議實(shí)體,由它產(chǎn)生一個(gè)Trap并丟棄這個(gè)消息;如果認(rèn)證成功,認(rèn)證服務(wù)返回SNMP格式的PDU;協(xié)議實(shí)體進(jìn)行PDU的基本句檢查,如果非法,丟棄該P(yáng)DU,否則利用團(tuán)體名選擇對(duì)應(yīng)的SNMP訪問策略,對(duì)PDU進(jìn)行相應(yīng)處理。SNMPv1SNMPv1的安全機(jī)制為保證網(wǎng)絡(luò)管理信息的安全,代理必須對(duì)多個(gè)管理站進(jìn)行本地MIB的訪問控制認(rèn)證服務(wù)訪問策略代管服務(wù)將對(duì)MIB的訪問限定在授權(quán)的管理站范圍內(nèi),基于團(tuán)體名認(rèn)證對(duì)不同的管理站給予不同的訪問權(quán)限在代管系統(tǒng)實(shí)現(xiàn)托管站的認(rèn)證服務(wù)和訪問權(quán)限SNMP用community來定義一個(gè)Agent和一組Manager間的認(rèn)證、訪問控制和代管的關(guān)系,提供初步的安全能力。SNMPv1基于共同體的安全機(jī)制SNMPv1的消息報(bào)文中有一個(gè)共同體名稱的域,共同體名稱相當(dāng)于口令的作用,SNMPv1提供基于共同體名稱的簡(jiǎn)單的安全機(jī)制。Agent定義的本地概念,代理為每組可選的認(rèn)證、訪問控制和代管特性建立一個(gè)Community,它在Agent中有唯一的名稱;因此管理站必須將Community名與Agent結(jié)合起來加以應(yīng)用。SNMPv1基于共同體的安全機(jī)制所有由Manager發(fā)向Agent的消息都包含一個(gè)Community名,這個(gè)名字發(fā)揮口令的作用。如果發(fā)送者知道這個(gè)口令,則認(rèn)為消息是可信的。如果不合法,代理產(chǎn)生一個(gè)authentication-FailureTrap并丟棄請(qǐng)求消息報(bào)文,起到了認(rèn)證的作用。Community名被用于啟動(dòng)一個(gè)認(rèn)證過程,而認(rèn)證過程可以包含加密和解密以實(shí)現(xiàn)更安全的認(rèn)證。SNMPv1基于共同體的安全機(jī)制安全機(jī)制雖然具有簡(jiǎn)單的認(rèn)證和授權(quán)的功能,但基本上不能發(fā)揮安全保障作用,存在很多問題,如:多數(shù)網(wǎng)絡(luò)設(shè)備存在缺省的共同體定義和缺省的共同體名稱,任何人都可以利用,輕松獲得網(wǎng)絡(luò)設(shè)備的訪問權(quán)限即使取消缺省的共同體名稱,采用自定義的共同體名稱,由于SNMPv1消息報(bào)文沒有任何的加密機(jī)制,以明文的方式在網(wǎng)絡(luò)上傳輸,攻擊者可以輕松獲得包含在消息報(bào)文中的共同體名稱,從而獲得網(wǎng)絡(luò)設(shè)備的訪問權(quán)限SNMPv1SNMP的訪問策略SNMPv1還提供了授權(quán)的功能。一個(gè)管理代理可能定義了不同的共同體,這些共同體可能具有不同的權(quán)利。消息報(bào)文經(jīng)過管理代理的認(rèn)證合法以后,在讀?。℅etRequest操作和GetNextRequest操作)或者設(shè)置(SetRequest操作)MIB對(duì)象值以前,還要根據(jù)共同體名稱以及MIB對(duì)象定義中的訪問權(quán)限檢查操作類型是否具有合法的權(quán)限,最后生成GetResponse消息報(bào)文。SNMPv1SNMPv1的訪問策略communityprofile+communityMIB視圖+訪問模式為每個(gè)community定義不同的MIB視圖READ-ONLY或READ-WRITESNMPv1SNMP的委托代理服務(wù)對(duì)于每個(gè)托管設(shè)備,Proxy系統(tǒng)維護(hù)一個(gè)對(duì)它的訪問策略,以此使Proxy系統(tǒng)知道哪些MIB對(duì)象可以被用于管理托管設(shè)備和能夠用何種模式對(duì)它們進(jìn)行訪問。SNMPv1SNMPv1的操作--檢索簡(jiǎn)單對(duì)象檢索簡(jiǎn)單的標(biāo)量對(duì)象值可以用Get操作,利用GetRequest和GetNextRequest(根據(jù)對(duì)象標(biāo)識(shí)樹的詞典順序,對(duì)于標(biāo)量對(duì)象,對(duì)象標(biāo)識(shí)符所指的下一實(shí)例就是該對(duì)象的值)。要一次可以檢索多個(gè)標(biāo)量對(duì)象的值,在請(qǐng)求PDU的“變量綁定表”中包含多個(gè)變量即可。SNMPv1SNMPv1的操作--檢索簡(jiǎn)單對(duì)象利用GetRequest檢索舉例:管理站希望從代理處提取udp組中的所有簡(jiǎn)單對(duì)象,則發(fā)出PDU:如果代理支持所有這些對(duì)象,則返回一個(gè)包含這4個(gè)對(duì)象值的PDU:若有一個(gè)對(duì)象不被支持,則代理將返回一個(gè)含有錯(cuò)誤代碼GetRequest(udpInDatagrams.0,udpNoPorts.0,udpInError.0,udpOutDatagrams.0)GetResponse((udpInDatagrams.0=100),(udpNoPorts.0=5),

(udpInError.0=2),(udpOutDatagrams.0=300))10052300SNMPv1SNMPv1的操作--檢索簡(jiǎn)單對(duì)象利用GetRequest檢索代理在接收到一個(gè)Get請(qǐng)求后,返回一個(gè)GetResponsePDU做響應(yīng):如果代理能夠?yàn)槭盏降恼?qǐng)求PDU中變量綁定列表的所有變量提供值,則GetResponsePDU為變量綁定表中的每個(gè)變量賦一個(gè)值。要么所有請(qǐng)求都被返回。如果其中任何一個(gè)變量的值沒能得到,則所有變量的值均不返回。要么一個(gè)也不返回。所以,對(duì)Get請(qǐng)求的響應(yīng)是原子性的。SNMPv1SNMPv1的操作--檢索簡(jiǎn)單對(duì)象代理方,當(dāng)發(fā)生有一個(gè)對(duì)象的值得不到的情況時(shí),則錯(cuò)誤狀態(tài)字段可能返回下列錯(cuò)誤之一:noSuchNametooBiggenErrorSNMPv1SNMPv1的操作--檢索簡(jiǎn)單對(duì)象利用GetNextRequest檢索舉例:管理站希望從代理處提取udp組中的所有簡(jiǎn)單對(duì)象,則發(fā)出PDU:GetNextRequest(udpInDatagrams,udpNoPorts,,udpInError,udpOutDatagrams)10052300其中: udpInDatagrams的OID為.2.1.7.1,

udpNoPorts的OID為.2.1.7.2,

udpInError的OID為.2.1.7.3,

udpOutDatagrams的OID為.2.1.7.4問題:這些變量名對(duì)應(yīng)的下一個(gè)對(duì)象實(shí)例是什么?SNMPv1SNMPv1的操作--檢索簡(jiǎn)單對(duì)象利用GetNextRequest檢索舉例:管理站希望從代理處提取udp組中的所有簡(jiǎn)單對(duì)象,則發(fā)出PDU:返回的結(jié)果GetNextRequest(udpInDatagrams,udpNoPorts,,udpInError,udpOutDatagrams)10052300GetResponse((udpInDatagrams.0=100),(udpNoPorts.0=5),

(udpInError.0=2),(udpOutDatagrams.0=300))SNMPv1SNMPv1的操作--檢索簡(jiǎn)單對(duì)象利用GetNextRequest檢索舉例:代理不支持管理站對(duì)udpNoPorts的訪問:返回的結(jié)果由此看出:GetNextRequest比GetRequest更高效、更靈活。GetNextRequest(udpInDatagrams,udpNoPorts,,udpInError,udpOutDatagrams)10052300GetResponse((udpInDatagrams.0=100),(udpNoPorts.0=2),

(udpInError.0=2),(udpOutDatagrams.0=300))?SNMPv1123456MIBTree:在SNMP里,只有葉子節(jié)點(diǎn)才有值*:Non-LeafObject:LeafObjectSNMPv1SNMPv1的操作--檢索未知對(duì)象如果管理站發(fā)出一個(gè)命令得到代理的響應(yīng)什么?10052300GetNextRequest(udpInDatagrams.0)GetResponse(udpNoPorts.0=5)SNMPv1SNMPv1的操作--檢索未知對(duì)象GetNext命令檢索變量名指示的下一個(gè)對(duì)象實(shí)例,但并不要求變量名是對(duì)象標(biāo)識(shí)符,或是實(shí)例標(biāo)識(shí)符例如:標(biāo)識(shí)符udpInDatagrams.2并不表示任何對(duì)象。若管理站發(fā)出一個(gè)命令GetNextRequest(udpInDatagrams.2)

得到代理的響應(yīng)是GetResponse(udpNoPorts.0=5)說明代理沒有檢查標(biāo)識(shí)符udpInDatagrams.2的有效性,而是直接查找下一個(gè)有效的標(biāo)識(shí)符,得到udpInDatagrams.0,然后返回了udpInDatagrams.0的下一個(gè)對(duì)象實(shí)例udpNoPorts.0。SNMPv1SNMPv1的操作--檢索未知對(duì)象利用GetNext的這個(gè)特性可以發(fā)現(xiàn)MIB的結(jié)構(gòu)。例如:管理站不知道udp組有哪些變量,先試著發(fā)出命令:GetNextRequest(udp)得到代理的響GetResponse(udpInDatagrams.0=100)這樣管理站知道了udp組的第一個(gè)對(duì)象,還可以繼續(xù)照這樣找到其他管理對(duì)象。SNMPv1SNMPv1的操作--檢索表對(duì)象利用GetNext可有效地搜索表對(duì)象??紤]如圖的例子:SNMPv1SNMPv1的操作--檢索表對(duì)象如果我們發(fā)出下面的命令,檢索ifNumber的值:

GetRequest(.2.1.2.1.0)假設(shè)給的返回結(jié)果是:GetResponse(2)我們知道有兩個(gè)接口。如果我們進(jìn)一步想知道每個(gè)接口的數(shù)據(jù)速率,則可以用下面的命令檢索if表的第五個(gè)元素:GetRequest(.2.1.2.2.1.5.1)最后的1是索引項(xiàng)ifIndex的值。得到的響應(yīng)是:GetResponse(100000000)說明第一個(gè)接口的數(shù)據(jù)速率是10Mbps。

SNMPv1SNMPv1的操作--檢索表對(duì)象如果我們發(fā)出的是命令:GetNextRequest(..1.5.1)結(jié)果?則得到的是第二個(gè)接口的數(shù)據(jù)速率GetResponse(56000)等價(jià)于:GetRequest(..1.5.2)說明第二個(gè)接口的數(shù)據(jù)速率是56kbps。

SNMPv1SNMPv1的操作--檢索表對(duì)象舉例:考慮上面的表假定管理站不知道該表的行數(shù)而想檢索整個(gè)表,則可以連續(xù)使用GetNext命令:

GetNextRequest(ipRouteDest,ipRouteMetric1,ipRouteNextHop)得到響應(yīng)(第一行的值):GetResponse(ipRouteDest.=,ipRouteMetric.3=3,ipRouteNextHop.=)

SNMPv1SNMPv1的操作--檢索表對(duì)象檢索下一行GetNextRequest(ipRouteDest.,ipRouteMetric.3,ipRouteNextHop.)得到響應(yīng)(第二行的值):GetResponse(ipRouteDest.1=1,ipRouteMetric1.1=5,ipRouteNextHop.1=2)

SNMPv1SNMPv1的操作--檢索表對(duì)象繼續(xù)檢索第三行GetNextRequest(ipRouteDest.1,ipRouteMetric1.1,ipRouteNextHop.1)得到響應(yīng)(第三行的值):GetResponse(ipRouteDest.9=9,ipRouteMetric1.9=5,ipRouteNextHop.9=2)

SNMPv1SNMPv1的操作--檢索表對(duì)象表中已沒有下一行了,但管理站并不知道,所以繼續(xù)檢索第四行:GetNextRequest(ipRouteDest.9,ipRouteMetric1.9,ipRouteNextHop.9)得到響應(yīng):GetResponse(ipRouteDest.=3,ipRouteMetric.3=,ipNetToMediaIfIndex.1.3=1)返回的對(duì)象名和請(qǐng)求不一致,已經(jīng)檢出了表之外的對(duì)象。所以管理站此刻知道該表只有3行。

SNMPv1SNMPv1的操作--表的更新和刪除(Set請(qǐng)求)Set用于設(shè)置或更新變量的值。其PDU格式與Get是相同的,但在變量綁定表中必須包含要設(shè)置的變量名和變量值。Set請(qǐng)求的應(yīng)答也是GetResponse,具有原子性:如果所有的變量都可以設(shè)置,則更新所有變量的值,并在應(yīng)答的GetResponse中確認(rèn)變量的新值;如果至少有一個(gè)變量的值不能設(shè)置,則所有變量的值都保持不變,并在錯(cuò)誤狀態(tài)中指明出錯(cuò)的原因。

SNMPv1SNMPv1的操作--表的更新和刪除(Set請(qǐng)求)Set出錯(cuò)的原因與Get是類似tooBignoSuchNamegenError然而若有一個(gè)變量的名字和要設(shè)置的值在類型、長(zhǎng)度或?qū)嶋H值方面不匹配,則返回錯(cuò)誤條件badValue

SNMPv1SNMPv1的操作--表的更新和刪除(Set請(qǐng)求)舉例:再次考慮上表,想改變列對(duì)象ipRouteMetric1的第一個(gè)實(shí)例的值,則可以發(fā)出命令:

SetRequest(ipRouteMetric.3=9)得到的應(yīng)答是:

GetResponse(ipRouteMetric.3=9)其效果是該對(duì)象實(shí)例的值由3變成了9。

SNMPv1SNMPv1的操作--表的更新和刪除(Set請(qǐng)求)舉例:若想增加一行,則發(fā)出下面的命令:

SetRequest(ipRouteDest.2=2,ipRouteMetric.12=9, ipRouteNextHop.2=)這個(gè)命令的執(zhí)行結(jié)果是什么?一定成功?

SNMPv1SNMPv1的操作--表的更新和刪除(Set請(qǐng)求)對(duì)這個(gè)命令如何執(zhí)行,RFC1212有3種解釋:代理拒絕這個(gè)命令。因?yàn)閷?duì)象標(biāo)識(shí)符ipRouteDest.2不存在,所以返回錯(cuò)誤狀態(tài)noSuchName。代理接受這個(gè)命令,并企圖生成一個(gè)新的對(duì)象實(shí)例,但是發(fā)現(xiàn)被賦予的值不適當(dāng),因而返回錯(cuò)誤狀態(tài)badValue。

SNMPv1SNMPv1的操作--表的更新和刪除(Set請(qǐng)求)對(duì)這個(gè)命令如何執(zhí)行,RFC1212有3種解釋:代理接受這個(gè)命令,生成一個(gè)新的行,返回應(yīng)答:

GetResponse(ipRouteDest.2=2,ipRouteMetric.12=9,ipRouteNextHop.2=)

SNMPv1SNMPv1的操作--表的更新和刪除(Set請(qǐng)求)舉例:假定原來是3行的表,現(xiàn)在發(fā)出下面的命令:SetRequest(ipRouteDest.2=2)對(duì)于這個(gè)命令也有兩種處理方法:由于變量ipRouteDest是索引項(xiàng),所以代理可以增加一個(gè)表行,對(duì)于沒有指定值的變量賦予默認(rèn)值。代理拒絕這個(gè)操作。如果要生成新行,必須提供一行中所有變量的值。

SNMPv1SNMPv1的操作--表的更新和刪除(Set請(qǐng)求)舉例:要?jiǎng)h除表的行,可以把一個(gè)對(duì)象的值置為invalid:SetRequest(ipRouteType.=invalid)得到的響應(yīng)說明表行確已刪除:GetResponse(ipRouteType.=invalid)這種刪除是物理的,還是邏輯的,是由實(shí)現(xiàn)決定的。在MIB-2中,只有兩種表的行是可刪除的:ipRouteTable包含ipRouteType,可取值invalid;ipNetToMediaTable包含ipNetToMediaType,可取值invalid。

SNMPv1SNMPv1的操作--陷入操作(trap)陷入是由代理向管理站發(fā)出的異步事件報(bào)告,不需要響應(yīng)。SNMPv1規(guī)定了7種陷入條件(一般陷入)coldStart(0)、warmStart(1)linkDown(2)、linkUp(3)authenticationFailure(4)egpNeighborLoss(5)enterpriseSpecific(6)--設(shè)備制造商定義的陷入(特殊陷入)

SNMPv1SNMP組SNMP組包含的信息關(guān)系到SNMP協(xié)議的實(shí)現(xiàn)和操作這一組共有30個(gè)對(duì)象,都是對(duì)各種類型的SNMP消息的接收和發(fā)送的統(tǒng)計(jì)結(jié)果。在只支持SNMP站管理功能或只支持SNMP代理功能的實(shí)現(xiàn)中,有些對(duì)象是沒有值的。除過最后一個(gè)對(duì)象,這一組的其他對(duì)象都是只讀的計(jì)數(shù)器。

SNMPv1SNMP組SNMP組包含的信息關(guān)系到SNMP協(xié)議的實(shí)現(xiàn)和操作組中唯一有讀寫特性的對(duì)象:snmpEnableAuthenTrap取值為enabled(1)或disabled(2),分別代表“認(rèn)證失效陷入”工作”或“認(rèn)證失效陷入”不工作。即可由管理站指示是否允許代理產(chǎn)生“認(rèn)證失效”陷入,它這種設(shè)置優(yōu)先于代理自己的配置。這樣就提供了一種可以排除所有認(rèn)證失效陷入的手段。

SNMPv1SNMP實(shí)現(xiàn)存在的問題人們通常希望購買的網(wǎng)絡(luò)管理產(chǎn)品能夠準(zhǔn)確地統(tǒng)計(jì)和報(bào)告通過設(shè)備的各種數(shù)據(jù)包,也希望來自不同廠商的管理站產(chǎn)品和代理產(chǎn)品能夠很好地配合。但是目前市場(chǎng)上的SNMP產(chǎn)品實(shí)現(xiàn)的MIB-2數(shù)據(jù)庫和SNMP協(xié)議與標(biāo)準(zhǔn)不是完全一致的。客觀上的原因是SNMP強(qiáng)調(diào)簡(jiǎn)單性,而忽視了功能性。尤其是SNMP的一致性標(biāo)準(zhǔn)還不成熟,因而不同的商家對(duì)標(biāo)準(zhǔn)的理解和認(rèn)同的基礎(chǔ)不一樣。

SNMPv1SNMPv1的局限性基本的SNMPv1標(biāo)準(zhǔn)只提供簡(jiǎn)單的團(tuán)體名認(rèn)證機(jī)制。因此大多數(shù)廠商僅僅提供有限的或者索性不支持Set操作。基本的SNMPv1更適合于對(duì)網(wǎng)絡(luò)進(jìn)行監(jiān)視而不是控制。

SNMPv1的Trap報(bào)文是沒有應(yīng)答的,管理站是否收到陷入報(bào)文,代理不得而知。這樣可能丟掉重要的管理信息。

SNMP不適合檢索大量數(shù)據(jù),例如檢索整個(gè)表中的數(shù)據(jù)。

SNMPv1SNMPv1的局限性SNMP的管理信息庫MIB-2支持的管理對(duì)象是很有限的,不足以完成復(fù)雜的管理功能。SNMP不支持管理站之間的通信,例如:一個(gè)管理系統(tǒng)是無法了解另一個(gè)管理系統(tǒng)所管理的網(wǎng)絡(luò)和設(shè)備的。而這一點(diǎn)在分布式網(wǎng)絡(luò)管理中是很需要的。對(duì)于大型網(wǎng)絡(luò)管理,SNMPv1的查詢機(jī)制可能導(dǎo)致大量的管理信息,占用過多的網(wǎng)絡(luò)資源。

SNMPv2SNMPv2的改進(jìn)之處:增加了Manager和Manager之間的信息交換機(jī)制,支持分布式管理結(jié)構(gòu);改進(jìn)了管理信息結(jié)構(gòu)(SMI);增強(qiáng)了管理信息通信協(xié)議的能力。

SNMPv2支持分布式管理SNMPv1采用的是集中式網(wǎng)絡(luò)管理模式管理站的負(fù)擔(dān)太重各個(gè)代理的報(bào)告在網(wǎng)上產(chǎn)生大量的流量SNMPv2可以采用分布式的管理模式管理服務(wù)器中間管理者代理

SNMPv2改進(jìn)了管理信息結(jié)構(gòu)(SMI)對(duì)SNMPv1的MIB-II進(jìn)行了擴(kuò)充和改進(jìn)引入新的數(shù)據(jù)類型提供了對(duì)表的刪除/建立操作通信協(xié)議操作增加了兩個(gè)PDU:GetBulkRequest、InformRequest。GetBulkRequest:能夠有效地檢索大塊的數(shù)據(jù),特別適合在表中檢索多行數(shù)據(jù)。InformRequest:該操作支持管理站向其它的管理站發(fā)送Trap,該類型的Trap需要響應(yīng)消息。

SNMPv2網(wǎng)絡(luò)管理框架SNMPv2支持兩種管理模式:集中式和分布式SNMPv2Manager管理應(yīng)用InternetSNMPv2AgentMIBSNMPv2Manager/Agent管理服務(wù)器中間管理者代理SNMPv2Manager/AgentSNMPv2AgentMIBSNMPv2AgentMIBMIBMIBMIBSNMPv2SNMPV2管理信息結(jié)構(gòu)—SMIv2經(jīng)過改進(jìn)的管理信息結(jié)構(gòu)分成4部分:對(duì)象定義模塊定義通知定義概念表SMIv2定義了模塊標(biāo)識(shí)符宏(MODULE-IDENTITYmacro)、對(duì)象標(biāo)識(shí)符宏(OBJECT-IDENTITYmacro)、管理對(duì)象宏(OBJECT-TYPEmacro)以及通知宏(NOTIFICATION-TYPEmacro)四個(gè)宏定義,分別用來定義模塊標(biāo)識(shí)符、對(duì)象標(biāo)識(shí)符、管理對(duì)象和通知。

SNMPv2SNMPv2-SMIDEFINITIONS::=BEGIN--thepathtotherootorgOBJECTIDENTIFIER::={iso3}--"iso"=1dodOBJECTIDENTIFIER::={org6}internetOBJECTIDENTIFIER::={dod1}directoryOBJECTIDENTIFIER::={internet1}mgmtOBJECTIDENTIFIER::={internet2}mib-2OBJECTIDENTIFIER::={mgmt1}transmissionOBJECTIDENTIFIER::={mib-210}experimentalOBJECTIDENTIFIER::={internet3}privateOBJECTIDENTIFIER::={internet4}enterprisesOBJECTIDENTIFIER::={private1}securityOBJECTIDENTIFIER::={internet5}snmpV2OBJECTIDENTIFIER::={internet6}--transportdomainssnmpDomainsOBJECTIDENTIFIER::={snmpV21}--transportproxiessnmpProxysOBJECTIDENTIFIER::={snmpV22}--moduleidentitiessnmpModulesOBJECTIDENTIFIER::={snmpV23}--ExtendedUTCTime,toallowdateswithfour-digityears--(NotethatthisdefinitionofExtUTCTimeisnottobeIMPORTed--byMIBmodules.)ExtUTCTime::=OCTETSTRING(SIZE(11|13))

--formatisYYMMDDHHMMZorYYYYMMDDHHMMZ--where:YY-lasttwodigitsofyear(onlyyears--between1900-1999)--YYYY-lastfourdigitsoftheyear(anyyear)--MM-month(01through12)--DD-dayofmonth(01through31)--HH-hours(00through23)--MM-minutes(00through59)--Z-denotesGMT(theASCIIcharacterZ)----Forexample,"9502192015Z"and"199502192015Z"represent--8:15pmGMTon19February1995.Yearsafter1999mustuse--thefourdigityearformat.Years1900-1999mayusethe--twoorfourdigitformat.--definitionsforinformationmodulesMODULE-IDENTITYMACRO::=BEGIN

MODULE-IDENTITYDefinitions...ENDOBJECT-IDENTITYMACRO::=BEGIN

OBJECT-IDENTIFYDefinitions...END--namesofobjectsObjectName::=OBJECTIDENTIFIERNotificationName::=OBJECTIDENTIFIER--syntaxofobjects

ObjectSyntaxDefinitions…OBJECT-TYPEMACRO::=BEGIN

OBJECT-TYPEDefinitions...END--definitionsfornotificationsNOTIFICATION-TYPEMACRO::=BEGIN

NOTIFICATION-TYPEDefinitions...END--definitionsofadministrativeidentifierszeroDotZeroOBJECT-IDENTITYSTATUScurrentDESCRIPTION"Avalueusedfornullidentifiers."::={00}ENDSNMPv2對(duì)象定義

SNMPV2管理信息結(jié)構(gòu)仍沿用了SNMPV1的SMIV1中OBIECT-TYPE定義被管里的對(duì)象,給出了被管對(duì)象的語法和語義。二者均采用簡(jiǎn)單型或應(yīng)用型;并且簡(jiǎn)單類型非常相似,不同的是整型數(shù)被規(guī)定32位;另一不同是SNMPV2允許枚舉型位串值,這些不同在定義掩碼和標(biāo)志位時(shí)有用。

SNMPv2OBJECT-TYPEMACRO::=BEGINTYPENOTATION::="SYNTAX"SyntaxUnitsPart

"MAX-ACCESS"Access"STATUS"Status"DESCRIPTION"TextReferPartIndexPartDefValPartVALUENOTATION::=value(VALUEObjectName)Syntax::=type(ObjectSyntax)|"BITS""{"Kibbles"}“Kibbles::=Kibble|Kibbles","KibbleKibble::=identifier"("nonNegativeNumber")"對(duì)象定義--OBJECT-TYPE宏SNMPv2對(duì)OBJECT-TYPE宏進(jìn)行了改進(jìn)SNMPv2對(duì)象定義--OBJECT-TYPE宏SNMPv2對(duì)OBJECT-TYPE宏進(jìn)行了改進(jìn)UnitsPart::="UNITS"Text|emptyAccess::="not-accessible“|"accessible-for-notify"|"read-only“|"read-write“|"read-create"Status::="current“|"deprecated“|"obsolete“ReferPart::="REFERENCE"Text|emptyIndexPart::="INDEX""{"IndexTypes"}"|"AUGMENTS""{"Entry"}“|emptyIndexTypes::=IndexType|IndexTypes","IndexTypeIndexType::="IMPLIED"Index|IndexIndex::=value(IndexobjectObjectName)Entry::=value(EntryobjectObjectName)DefValPart::="DEFVAL""{"value(DefvalSyntax)"}“|emptyText::=""""string""""ENDSNMPv2SYNTAX:對(duì)象的數(shù)據(jù)類型SNMPv2中可采用的數(shù)據(jù)類型有11種數(shù)據(jù)類型描述INTEGER(-2147483648..2147483647-231~231-1之間的整數(shù)OCTETSTRING(SIZE(0..65535))0~65535長(zhǎng)度的8位組OBJECTIDENTIFIER對(duì)象標(biāo)識(shí)符IpAddress32位的IP地址OCTETSTRING(SIZE(4))Counter32最大值為232-1的計(jì)數(shù)器Counter64最大值為264-1的計(jì)數(shù)器Unsigned320~232-1之間的整數(shù)Gauge32最大值為232-1的標(biāo)尺TimeTicks計(jì)時(shí)器,單位1/100秒OpaqueBITS對(duì)命名比特串的列舉SNMPv2UnitsPart相對(duì)與SNMPv1是新增的子句,可選項(xiàng),用于在定義測(cè)量類對(duì)象(如時(shí)間)時(shí),通過文本描述指出所定義對(duì)象的單位。adslAtucCurrAttainableRateOBJECT-TYPESYNTAXGauge32

UNITS"bps"MAX-ACCESSread-onlySTATUScurrentDESCRIPTION"IndicatesthemaximumcurrentlyattainabledataratebytheATU.Thisvaluewillbeequalorgreaterthanthecurrentlinerate."::={adslAtucPhysEntry8}SNMPv2MAX-ACCESS和SNMPv1的ACCESS子句類似,前綴MAX強(qiáng)調(diào)這是訪問的最高級(jí)別,獨(dú)立于任何管理授權(quán)策略;not-accessible:Manager無權(quán)進(jìn)行任何操作accessible-for-notify:只能通過通報(bào)(notification)訪問的對(duì)象read-only:只讀read-write:讀寫read-create:Manager可讀、可改、可建立,用于SNMPv2中的概念行操作SNMPv2STATUS3個(gè)值:current:當(dāng)前正在使obsolete:被廢棄,不應(yīng)實(shí)現(xiàn)deprecated:已經(jīng)被廢棄,但是出于兼容性的考慮,仍然有一些設(shè)備在支持SMIv1中的mangatory在SMIv2中替換成在current,optional在SMIv2中不再使用。新值deprecate用來定義當(dāng)前版本要實(shí)現(xiàn)的對(duì)象,但是它可能在將來的SNMP板本中不再存在。SNMPv2RefPart描述參考引用adslAturInvVendorIDOBJECT-TYPESYNTAXSnmpAdminString(SIZE(0..16))MAX-ACCESSread-onlySTATUScurrentDESCRIPTION“......”REFERENCE"ANSIT1.413"::={adslAturPhysEntry2}IndexPart對(duì)表對(duì)象的索引進(jìn)行描述。因?yàn)镾NMPv2支持對(duì)現(xiàn)有表的擴(kuò)充(ARGUMENT)定義,因此這個(gè)子句有兩個(gè)選擇定義基本表時(shí):選擇關(guān)鍵詞INDEX,后面是索引對(duì)象列表擴(kuò)充表時(shí),選擇關(guān)鍵詞ARGUMENT,后面是原有表的Entry名,將新定義的列對(duì)象附加在原有表的Entry之后,索引對(duì)象仍然使用原有表的定義SNMPv2DefValPartadslAtucInitFailureTrapEnableOBJECT-TYPESYNTAXINTEGER{enable(1),disable(2)}MAX-ACCESSread-createSTATUScurrentDESCRIPTION"EnablesanddisablestheInitFailureTrap.Thisobjectisdefaulteddisable(2)."DEFVAL{disable}::={adslLineAlarmConfProfileEntry11}SNMPv2模塊定義SNMPv2(RFC1092)定義了信息管理模塊。所謂模塊就是具有相互關(guān)系的一組任務(wù)。SMIv2包含3種信息模塊:MIB模塊、MIB模塊的一致性說明和代理實(shí)現(xiàn)的能力聲明。(1)MIB模塊:包含互相關(guān)聯(lián)的被管對(duì)象的定義。規(guī)定了定義新模塊的規(guī)則,用到了MODULE-IDENTITY宏、OBJECT-IDENTITY宏定義。

SNMPv2模塊定義(OBJECT-IDENTITY宏)OBJECT-IDENTITY宏更多的是用來代替MIB文件中輔助節(jié)點(diǎn)的定義,類型以及值符號(hào)定義意義直觀。

OBJECT-IDENTITYMACRO::=BEGINTYPENOTATION::= “STATUS"Status“DESCRIPTION"TextReferPartVALUENOTATION::=value(VALUEOBJECTIDENTIFIER)Status::=“current"|“deprecated"|“obsolete"ReferPart::=“REFERENCE"Text|emptyText::=value(IA5string)ENDSNMPv2模塊定義(MODULE-IDENTITY宏)定義模塊的信息:更新日期、版本、聯(lián)系人SNMPv2規(guī)定每個(gè)信息模塊必須使用MODULE-IDENTITY宏保存更新信息

MODULE-IDENTITYMACRO::=BEGINTYPENOTATION::=“LAST-UPDATED"value(UpdateUTCTime)“ORGANIZATION"Text“CONTACT-INFO"TextRevisionPartVALUENOTATION::=value(VALUEOBJECTIDENTIFIER)RevisionPart::=Revisions|emptyRevisions::=Revision|RevisionsRevisionRevision::=“REVISION”value(UTCTime)“DESCRIPTION”TextText::=value(IA5string)ENDSNMPv2ipv6TcpMIBMODULE-IDENTITYLAST-UPDATED"9801290000Z"ORGANIZATION"IETFIPv6MIBWorkingGroup"CONTACT-INFO"MikeDanielePostal:CompaqComputerCorporation110SpitbrookRdNashua,NH03062.USPhone:+16038841423Email:daniele@"DESCRIPTION"TheMIBmoduleforentitiesimplementingTCPoverIPv6."

--RevisionhistoryREVISION"9801290000Z"DESCRIPTION"InitialVersion"::={experimental86}SNMPv2模塊定義(2)MIB模塊的一致性說明:RFC1904定義了SNMPv2關(guān)于實(shí)現(xiàn)網(wǎng)絡(luò)管理標(biāo)準(zhǔn)的一致性說明。一致性信息包含了相容性和代理能力。解釋了對(duì)于服從SNMP管理的網(wǎng)絡(luò)部件制造商需要遵循什么。當(dāng)一個(gè)產(chǎn)品的實(shí)現(xiàn)符合最小特征集合的時(shí)候,可以認(rèn)為它遵循一個(gè)特殊的標(biāo)準(zhǔn)。由ASN.1宏MODUE—COMPLIANCE定義,它詳細(xì)說明了應(yīng)該實(shí)現(xiàn)的MIB模塊或者模塊子集。在代理中實(shí)現(xiàn)的MIB模塊通過另一個(gè)宏AGENT—CAPABILITES說明。為了便于定義模塊服從和代理能力(AgentCapabilities),對(duì)象和陷阱已經(jīng)結(jié)合成組,成為MIB模塊的子集。對(duì)象組由ASN.1宏OBJECT—GROUP定義,陷阱組由NOTIFICATIONN—GROUP定義。

SNMPv2模塊定義SNMPv2宏的從句中,對(duì)一個(gè)信息模塊的引用并不是采用SMIv1的“描述符”來實(shí)現(xiàn)的。在SNMPv2中,需要通過指定它的模塊名來實(shí)現(xiàn)引用,在實(shí)現(xiàn)過程中編譯,這正是SNMPv2的一處重要改進(jìn)。

SNMPv2模塊定義(3)代理實(shí)現(xiàn)的能力聲明:描述了實(shí)現(xiàn)SNMP兼容所必須的組,代理能力聲明是由制造商在代理中實(shí)現(xiàn)的部分。SNMPv2所指定的組有SnmpGroup、SnmpSetGroup、systemGroup和SnmpBasicNotifl-cationsGroup。因此,如果一個(gè)網(wǎng)絡(luò)部件制造商宣稱他的管理代理服從SNMPv2協(xié)議,這些組就應(yīng)該全部實(shí)現(xiàn)。

SNMPv2通知定義SMIv1的Trap在SMIv2中已經(jīng)被NOTEICATION—TYPE重新構(gòu)造,使得它和PDU一致。當(dāng)代理系統(tǒng)發(fā)生某種意外的時(shí)候,主動(dòng)向管理站發(fā)出通知(notification)。

NOTIFICATION-TYPEMACRO::=BEGINTYPENOTATION::=ObjectsPart"STATUS"Status"DESCRIPTION"TextReferPartVALUENOTATION::=value(VALUENotificationName)ObjectsPart::="OBJECTS""{"Objects"}“|emptyObjects::=Object|Objects","ObjectObject::=value(ObjectName)Status::="current"|"deprecated"|"obsolete"ReferPart::="REFERENCE"Text|emptyText::=value(IA5string)ENDSNMPv2通知定義定義實(shí)例

coldStartNOTIFICATION-TYPESTATUScurrentDESCRIPTION"AcoldStarttrapsignifiesthattheSNMPentity,supportinganotificationoriginatorapplication,isreinitializingitselfandthatitsconfigurationmayhavebeenaltered."::={snmpTraps1}linkUpNOTIFICATION-TYPEOBJECTS{ifIndex,ifAdminStatus,ifOperStatus}STATUScurrentDESCRIPTION“AlinkuptrapsignifiesthattheSNMPv2entity,actinginanagentrole,hasdetectedthattheifOperStatusobjectforoneofitscommunicationlinkshastransitionedoutofthedownstate.”::={snmpTraps4}SNMPv2概念表與SMI中的概念表的定義相同,概念表和概念表中的概念行分別采用了SEQUENCEOF和SEQUENCE結(jié)構(gòu)化類型來定義SMIv2對(duì)SMI概念表的擴(kuò)展主要體現(xiàn)在允許動(dòng)態(tài)創(chuàng)建或者刪除概念表中的概念行。SMIv2可以定義兩種類型的概念表:管理站禁止創(chuàng)建和刪除概念行的概念表:完全由代理來控制,表中任何對(duì)象所允許的最高訪問權(quán)限為read-write管理站允許創(chuàng)建和刪除概念行的概念表:可以由管理站創(chuàng)建、刪除概念行或者改變概念行的狀態(tài),該類概念表需要有狀態(tài)列(RowStatus)

SNMPv2概念表在SNMPv2表的定義中必須含有INDEX或AUGMENTS子句,但只能有一個(gè)。INDEX子句定義了一個(gè)基本概念行,而INDEX子句中的索引對(duì)象確定了一個(gè)概念行實(shí)例AUGMENTS子句的作用是表示概念行的擴(kuò)展。在擴(kuò)展表中,AUGMENTS子句中的變量叫做基本概念行,包含AUGMENTS子句的對(duì)象叫做擴(kuò)展概念行??偨Y(jié)一句話,相對(duì)SNMPv1,SNMPv2增強(qiáng)了表功能:對(duì)現(xiàn)有表的擴(kuò)充定義“行”建立與刪除操作

SNMPv2studentTableOBJECT-TYPESYNTAXSEQUENCEOFStudentEntryMAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION“StudentTable”::={A}studentEntryOBJECT-TYPESYNTAXStudentEntryMAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION“entryobject”INDEX{studyNo}::={studentTable1}StudentEntry::=SEQUENCE{studyNoINTEGER,nameOCTETSTRING,birthdayOCTETSTRING}studyNoOBJECT-TYPESYNTAXINTEGER,MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION“studyNo.”::={studentEntry1}舉例:studentTable表SNMPv2舉例:studentTable表nameOBJECT-TYPESYNTAXOCTETSTRINGMAX-ACCESSread-onlySTATUScurrent::={studentEntry2}birth

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論