第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ù)免費閱讀

下載本文檔

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

文檔簡介

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

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

(udpInError.0=2),(udpOutDatagrams.0=300))10052300SNMPv1SNMPv1的操作--檢索簡單對象利用GetRequest檢索代理在接收到一個Get請求后,返回一個GetResponsePDU做響應(yīng):如果代理能夠為收到的請求PDU中變量綁定列表的所有變量提供值,則GetResponsePDU為變量綁定表中的每個變量賦一個值。要么所有請求都被返回。如果其中任何一個變量的值沒能得到,則所有變量的值均不返回。要么一個也不返回。所以,對Get請求的響應(yīng)是原子性的。SNMPv1SNMPv1的操作--檢索簡單對象代理方,當(dāng)發(fā)生有一個對象的值得不到的情況時,則錯誤狀態(tài)字段可能返回下列錯誤之一:noSuchNametooBiggenErrorSNMPv1SNMPv1的操作--檢索簡單對象利用GetNextRequest檢索舉例:管理站希望從代理處提取udp組中的所有簡單對象,則發(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問題:這些變量名對應(yīng)的下一個對象實例是什么?SNMPv1SNMPv1的操作--檢索簡單對象利用GetNextRequest檢索舉例:管理站希望從代理處提取udp組中的所有簡單對象,則發(fā)出PDU:返回的結(jié)果GetNextRequest(udpInDatagrams,udpNoPorts,,udpInError,udpOutDatagrams)10052300GetResponse((udpInDatagrams.0=100),(udpNoPorts.0=5),

(udpInError.0=2),(udpOutDatagrams.0=300))SNMPv1SNMPv1的操作--檢索簡單對象利用GetNextRequest檢索舉例:代理不支持管理站對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é)點才有值*:Non-LeafObject:LeafObjectSNMPv1SNMPv1的操作--檢索未知對象如果管理站發(fā)出一個命令得到代理的響應(yīng)什么?10052300GetNextRequest(udpInDatagrams.0)GetResponse(udpNoPorts.0=5)SNMPv1SNMPv1的操作--檢索未知對象GetNext命令檢索變量名指示的下一個對象實例,但并不要求變量名是對象標(biāo)識符,或是實例標(biāo)識符例如:標(biāo)識符udpInDatagrams.2并不表示任何對象。若管理站發(fā)出一個命令GetNextRequest(udpInDatagrams.2)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SNMPv1SNMPv1的操作--陷入操作(trap)陷入是由代理向管理站發(fā)出的異步事件報告,不需要響應(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é)議的實現(xiàn)和操作這一組共有30個對象,都是對各種類型的SNMP消息的接收和發(fā)送的統(tǒng)計結(jié)果。在只支持SNMP站管理功能或只支持SNMP代理功能的實現(xiàn)中,有些對象是沒有值的。除過最后一個對象,這一組的其他對象都是只讀的計數(shù)器。

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

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

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

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

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

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

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

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

SNMPv2改進了管理信息結(jié)構(gòu)(SMI)對SNMPv1的MIB-II進行了擴充和改進引入新的數(shù)據(jù)類型提供了對表的刪除/建立操作通信協(xié)議操作增加了兩個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)過改進的管理信息結(jié)構(gòu)分成4部分:對象定義模塊定義通知定義概念表SMIv2定義了模塊標(biāo)識符宏(MODULE-IDENTITYmacro)、對象標(biāo)識符宏(OBJECT-IDENTITYmacro)、管理對象宏(OBJECT-TYPEmacro)以及通知宏(NOTIFICATION-TYPEmacro)四個宏定義,分別用來定義模塊標(biāo)識符、對象標(biāo)識符、管理對象和通知。

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對象定義

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

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")"對象定義--OBJECT-TYPE宏SNMPv2對OBJECT-TYPE宏進行了改進SNMPv2對象定義--OBJECT-TYPE宏SNMPv2對OBJECT-TYPE宏進行了改進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:對象的數(shù)據(jù)類型SNMPv2中可采用的數(shù)據(jù)類型有11種數(shù)據(jù)類型描述INTEGER(-2147483648..2147483647-231~231-1之間的整數(shù)OCTETSTRING(SIZE(0..65535))0~65535長度的8位組OBJECTIDENTIFIER對象標(biāo)識符IpAddress32位的IP地址OCTETSTRING(SIZE(4))Counter32最大值為232-1的計數(shù)器Counter64最大值為264-1的計數(shù)器Unsigned320~232-1之間的整數(shù)Gauge32最大值為232-1的標(biāo)尺TimeTicks計時器,單位1/100秒OpaqueBITS對命名比特串的列舉SNMPv2UnitsPart相對與SNMPv1是新增的子句,可選項,用于在定義測量類對象(如時間)時,通過文本描述指出所定義對象的單位。adslAtucCurrAttainableRateOBJECT-TYPESYNTAXGauge32

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

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

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

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

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

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

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

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

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

評論

0/150

提交評論