SNMP管理框架及其在思科路由器的實(shí)現(xiàn)
SNMP管理框架及其在思科路由器的實(shí)現(xiàn)
摘要
本文描述了SNMP協(xié)議,MIB庫(kù)和它們?cè)贑isco路由器上的實(shí)現(xiàn)以及Cisco路由器對(duì)SNMPv3和SNMP over IPv6的支持狀況。
了解SNMP管理框架
SNMP(Simple Network Management Protocol,簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)是一個(gè)應(yīng)用層協(xié)議,提供了SNMP管理者和SNMP代理間報(bào)文格式的消息通信。它規(guī)定了在網(wǎng)絡(luò)環(huán)境中對(duì)設(shè)備進(jìn)行監(jiān)視和管理的標(biāo)準(zhǔn)化管理框架,通信的公共語(yǔ)言和相對(duì)應(yīng)的安全控制機(jī)制。
SNMP管理框架包含有四個(gè)組成部分:
SNMP管理者;
SNMP代理;
一個(gè)用于在SNMP實(shí)體間傳輸管理信息的管理協(xié)議;
MIB庫(kù)(Management Information Base,管理信息庫(kù))。
SNMP管理者是一個(gè)利用SNMP協(xié)議對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行控制和監(jiān)視的系統(tǒng)。其中網(wǎng)絡(luò)環(huán)境中最常見(jiàn)的SNMP管理者被稱為網(wǎng)絡(luò)管理系統(tǒng)(NMS,Network Management System)。網(wǎng)絡(luò)管理系統(tǒng)既可以指一臺(tái)專門用來(lái)進(jìn)行網(wǎng)絡(luò)管理的服務(wù)器,也可以指某個(gè)網(wǎng)絡(luò)設(shè)備中執(zhí)行管理功能的一個(gè)應(yīng)用程序。現(xiàn)在市場(chǎng)上有眾多軟硬件廠商提供有支持SNMP協(xié)議的網(wǎng)絡(luò)管理系統(tǒng),如Cisco公司的CiscoWorks系列網(wǎng)絡(luò)管理軟件產(chǎn)品。
SNMP代理是被管理設(shè)備中的一個(gè)軟件模塊,用來(lái)維護(hù)被管理設(shè)備的管理信息數(shù)據(jù)并可在需要時(shí)把管理數(shù)據(jù)匯報(bào)給一個(gè)SNMP管理系統(tǒng)。SNMP代理和相關(guān)的MIB庫(kù)存在于網(wǎng)絡(luò)設(shè)備中(如Cisco路由器,交換機(jī),接入服務(wù)器等等)。
MIB庫(kù)是一個(gè)保存網(wǎng)絡(luò)管理信息的虛擬數(shù)據(jù)存儲(chǔ)空間,由多組被管理對(duì)象組成。在設(shè)備MIB庫(kù)中有由多個(gè)MIB模塊定義的多組各自相關(guān)聯(lián)的對(duì)象。每個(gè)MIB模塊都是利用標(biāo)準(zhǔn)的SNMP MIB模塊語(yǔ)言撰寫(xiě)的,具體遵循的標(biāo)準(zhǔn)定義在IETF(Internet Engineering Task Force,一個(gè)國(guó)際標(biāo)準(zhǔn)化組織) STD58,RFC2579和RFC2580文檔中(請(qǐng)參見(jiàn)本文“MIB和RFC”一節(jié)了解STD文檔和RFC文檔的解釋)。需要注意的是,每一個(gè)單獨(dú)的MIB模塊有時(shí)也會(huì)被稱為一個(gè)MIB,如設(shè)備接口組MIB(IF-MIB)就是設(shè)備MIB庫(kù)中的一個(gè)MIB模塊。
SNMP代理中保存有MIB對(duì)象變量,變量的數(shù)值可以被SNMP管理者通過(guò)Get或Set操作進(jìn)行讀取和修改。一個(gè)SNMP管理者可以從SNMP代理中讀取一個(gè)變量的數(shù)值或把一個(gè)數(shù)值存儲(chǔ)到SNMP代理的一個(gè)變量中。SNMP代理從代表設(shè)備參數(shù)和網(wǎng)絡(luò)運(yùn)行數(shù)據(jù)的MIB庫(kù)中采集數(shù)據(jù),且可以對(duì)SNMP管理者的Get和Set操作進(jìn)行應(yīng)答。
下圖勾畫(huà)出了SNMP管理者和SNMP代理間的通信關(guān)系。一個(gè)SNMP管理者可以向SNMP代理發(fā)送請(qǐng)求,讀取(Get)或設(shè)置(Set)一個(gè)或多個(gè)MIB變量數(shù)值。SNMP代理可以應(yīng)答這些請(qǐng)求。除了這種交互式通信方式,SNMP代理還可以主動(dòng)向SNMP管理者發(fā)送通知(Trap或Inform Request)以提示管理者一個(gè)設(shè)備或網(wǎng)絡(luò)狀態(tài)。
SNMP通知
SNMP協(xié)議的一個(gè)重要特性是SNMP代理具有產(chǎn)生通知的能力。通知不需要SNMP管理者請(qǐng)求就會(huì)主動(dòng)發(fā)送,發(fā)送采用異步方式,形式可分為Trap和Inform Request(簡(jiǎn)稱Inform)兩種。Trap是發(fā)送給SNMP管理者的通知網(wǎng)絡(luò)狀況的警告消息,而Inform是需要SNMP管理者確認(rèn)接收的Trap。SNMP通知可以用于指示網(wǎng)絡(luò)中出現(xiàn)的不正確用戶授權(quán),重啟,連接關(guān)閉,設(shè)備通信中斷或其它異常事件。
與Inform相比較,Trap通知方式為不可靠傳輸,因?yàn)榻邮照咴谑盏揭粭lTrap通知后無(wú)需回復(fù)任何確認(rèn)信息,發(fā)送者無(wú)法知道Trap通知是否已經(jīng)被正確接收。與此相對(duì)應(yīng),當(dāng)SNMP管理者收到一條Inform通知后它需要向發(fā)送者回復(fù)一條確認(rèn)信息,使用的是SNMP應(yīng)答數(shù)據(jù)包(PDU)。如果SNMP管理者沒(méi)有接收到Inform通知,它將不會(huì)發(fā)送任何應(yīng)答,所以當(dāng)發(fā)送者無(wú)法接受到期望的應(yīng)答時(shí),它將再次發(fā)送一條Inform通知給SNMP管理者。這種方式保證了Inform通知方式可以較有保證地把通知發(fā)送到期望的目的地。
然而在多數(shù)情況下,Trap通知方式被較多采用,因?yàn)镮nform方式將會(huì)耗用更多的網(wǎng)絡(luò)和設(shè)備資源。與Trap通知方式不同的是,被管理設(shè)備不能在發(fā)送后立即把一條Inform通知丟棄,它需要把通知信息保存在系統(tǒng)內(nèi)存中直到收到相應(yīng)的確認(rèn)應(yīng)答或設(shè)備規(guī)定的計(jì)時(shí)器超時(shí)。由此可見(jiàn)一條Trap通知只會(huì)被發(fā)送一次,而Inform通知可能會(huì)被重復(fù)發(fā)送多次。這種重復(fù)發(fā)送將會(huì)增加網(wǎng)絡(luò)流量,造成網(wǎng)絡(luò)額外開(kāi)銷的上升。
管理員在選擇Trap或Inform通知形式時(shí)需要根據(jù)可靠性要求和系統(tǒng)資源狀況統(tǒng)籌考慮:如果SNMP管理者需要確保收到每條通知,應(yīng)該采用Inform通知方式;如果更關(guān)心減少網(wǎng)絡(luò)流量和網(wǎng)絡(luò)設(shè)備的資源消耗且并不需要每條通知都需要接收,則應(yīng)該采用Trap通知方式。
MIB和RFC
MIB模塊通常在提交給IETF的RFC(Requests for Comments,征求意見(jiàn))文檔中定義。由互聯(lián)網(wǎng)團(tuán)體中個(gè)人或組織撰寫(xiě)的RFC文檔主要目的是起草一個(gè)推薦的互聯(lián)網(wǎng)標(biāo)準(zhǔn)(Internet Standard)。在確定每個(gè)RFC文檔地位前,文檔會(huì)以互聯(lián)網(wǎng)草案(Internet Draft,I-D)形式先行發(fā)表。如果RFC文檔最終被批準(zhǔn)為推薦標(biāo)準(zhǔn),則此文檔將被標(biāo)注為標(biāo)準(zhǔn)(STD)文檔。個(gè)人可以通過(guò)訪問(wèn)IETF組織的官方網(wǎng)站http://www.ietf.org 來(lái)了解其標(biāo)準(zhǔn)制定流程和當(dāng)前的工作進(jìn)度,也可以在網(wǎng)站中查尋所有RFC文檔,I-D文檔和STD文檔的全文。
Cisco公司在其路由器SNMP協(xié)議實(shí)現(xiàn)中支持定義在STD17/RFC1213文檔中的MIB-II變量組和定義在RFC1215文檔中的SNMP Trap功能。
除了支持標(biāo)準(zhǔn)MIB模塊外,Cisco公司還在其路由器中提供了私有MIB擴(kuò)展。Cisco企業(yè)私有MIB(Enterprise MIB)模塊符合相關(guān)RFC文檔中定義的規(guī)范。用戶可以在下列網(wǎng)址中查找到所有Cisco設(shè)備支持的私有MIB模塊的定義和每種Cisco設(shè)備平臺(tái)支持的MIB清單。
http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml
SNMP版本
Cisco IOS支持SNMP協(xié)議的下列版本:
SNMPv1 ?C 簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議:一個(gè)完全的互聯(lián)網(wǎng)標(biāo)準(zhǔn),定義在STD15/RFC1157(RFC1157文檔替代了早期的RFC1098和RFC1067文檔)和STD16/RFC1155,RFC1212文檔中。安全機(jī)制采用基于團(tuán)體字符串(Community String)認(rèn)證方式。
SNMPv2c ?C 基于團(tuán)體字符串認(rèn)證管理框架的簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議版本2。SNMPv2c(c代表Community)是一個(gè)互聯(lián)網(wǎng)實(shí)驗(yàn)標(biāo)準(zhǔn),具體技術(shù)規(guī)范定義在RFC1901,RFC1905和RFC1906文檔。SNMPv2c在SNMPv2p(SNMPv2 Classic)基礎(chǔ)上定義了協(xié)議操作和數(shù)據(jù)類型的更新,安全機(jī)制延續(xù)了SNMPv1的基于團(tuán)體字符串認(rèn)證方式。
SNMPv3 ?C 簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議版本3,2002年3月被IESG(Internet Engineering Steering Group)批準(zhǔn)為完全的互聯(lián)網(wǎng)標(biāo)準(zhǔn)。SNMPv3是一個(gè)具有互操作性的標(biāo)準(zhǔn)協(xié)議,核心規(guī)范定義在STD62/RFC3411到RFC3418文檔中。SNMPv3提供了設(shè)備安全訪問(wèn)機(jī)制,是由認(rèn)證和網(wǎng)絡(luò)傳輸中數(shù)據(jù)包加密的組合方式實(shí)現(xiàn)的。
SNMPv3提供的安全特性包括:
報(bào)文完整性 確保數(shù)據(jù)包在傳輸過(guò)程中沒(méi)有被篡改。
認(rèn)證 確定報(bào)文是由正確信息源發(fā)送來(lái)的。
加密 對(duì)報(bào)文內(nèi)容進(jìn)行加密,防止其被未經(jīng)授權(quán)的讀取。
SNMPv1和SNMPv2c都利用了基于“團(tuán)體(Community)”形式的安全認(rèn)證機(jī)制。能夠訪問(wèn)SNMP代理MIB數(shù)據(jù)的管理者“團(tuán)體”通過(guò)一個(gè)IP地址訪問(wèn)控制列表和口令進(jìn)行定義。
SNMPv2c還增加了對(duì)大批量數(shù)據(jù)讀取機(jī)制的支持和向管理工作站更加詳細(xì)的錯(cuò)誤消息匯報(bào)機(jī)制。支持對(duì)大批量數(shù)據(jù)的讀取機(jī)制能夠用來(lái)對(duì)整個(gè)MIB數(shù)據(jù)表格和大量的信息進(jìn)行快速讀取,減少請(qǐng)求/應(yīng)答的往復(fù)數(shù)量。SNMPv2c增強(qiáng)的錯(cuò)誤處理機(jī)制包括擴(kuò)展的錯(cuò)誤代碼,用于區(qū)別不同的錯(cuò)誤狀況。錯(cuò)誤返回代碼現(xiàn)在將包括錯(cuò)誤類型。
SNMPv3重點(diǎn)強(qiáng)調(diào)增強(qiáng)協(xié)議的安全認(rèn)證/加密,授權(quán)/訪問(wèn)控制以及遠(yuǎn)程配置管理等功能,而在其它方面沿用了部分SNMPv2原有的技術(shù)規(guī)范。
SNMPv3提供了一個(gè)安全模型。這個(gè)安全模型中可以為用戶/用戶組定義不同的安全認(rèn)證策略;而安全級(jí)別是指SNMPv3安全模型中被允許的安全等級(jí)。安全模型和安全等級(jí)的組合將會(huì)決定在處理一個(gè)SNMP數(shù)據(jù)包時(shí)采用的安全機(jī)制。下表列出了在SNMPv3中可以定義的安全級(jí)別。
如果想了解SNMPv3的額外信息,可以參閱RFC3410文檔《Introduction and Applicability Statements for Internet Standard Management Framework》
管理員需要配置SNMP代理使用管理工作站支持的SNMP版本。一個(gè)SNMP代理可以和多個(gè)SNMP管理者同時(shí)通信;因此你可以配置Cisco IOS軟件與一個(gè)管理工作站通過(guò)SNMPv1通信,與第二個(gè)管理工作站通過(guò)SNMPv2c通信,同時(shí)與第三個(gè)管理工作站通過(guò)SNMPv3通信。
注:Cisco公司從IOS 11.2版本后已經(jīng)停止支持SNMPv2p(即SNMPv2 Classic)協(xié)議,而代之以支持采用團(tuán)體字符串認(rèn)證方式的SNMPv2c協(xié)議。
Cisco設(shè)備的SNMP配置流程
在Cisco設(shè)備中沒(méi)有單獨(dú)的命令啟動(dòng)設(shè)備的SNMP代理,管理員配置的第一條snmp-server配置命令將自動(dòng)啟動(dòng)設(shè)備中的SNMP代理。
下面列出了在Cisco設(shè)備上配置SNMP參數(shù)的任務(wù)描述,每條任務(wù)都被標(biāo)注了是必選項(xiàng)還是可選項(xiàng)。
創(chuàng)建或修改對(duì)SNMP Community的訪問(wèn)控制(必選);
創(chuàng)建或修改一個(gè)SNMP View的紀(jì)錄(可選);
指定一個(gè)SNMP-Server的引擎名稱(ID)(可選);
指定一個(gè)SNMP-Server的組名(可選);
配置SNMP-Server Host(必選);
配置SNMP-Server User (可選);
激活SNMP代理Shutdown機(jī)制(可選);
設(shè)置Contact,Location和SNMP代理的Serial Name(可選);
定義SNMP代理數(shù)據(jù)包大小的最大值(可選);
限制利用SNMP使用的TFTP服務(wù)器數(shù)量(可選);
監(jiān)視SNMP的工作狀態(tài)(可選);
禁止SNMP代理(可選);
配置SNMP通知(必選);
配置路由器為SNMP管理者(可選)。
Cisco IOS與SNMPv3
從IOS 12.0.(3)T版本起Cisco公司的路由器設(shè)備開(kāi)始全面支持完整的SNMPv3協(xié)議,現(xiàn)在所有能運(yùn)行任何基于IOS 12.0(3)T的后續(xù)IOS版本的Cisco設(shè)備也都支持SNMPv3協(xié)議。
Cisco IOS與SNMP over IPv6和IPv6 MIB
除支持利用IPv4傳輸協(xié)議進(jìn)行SNMP管理信息的傳送外,Cisco設(shè)備從12.0(27)S開(kāi)始也支持利用IPv6傳輸協(xié)議進(jìn)行SNMP管理信息的傳送,即SNMP over IPv6。主要特性包括:
支持通過(guò)IPv6協(xié)議接收和處理SNMP Get/Set請(qǐng)求以及通過(guò)IPv6協(xié)議發(fā)送應(yīng)答。
具有發(fā)送SNMP通知給IPv6主機(jī)的能力。
支持利用IPv6協(xié)議的SNMP Proxy轉(zhuǎn)發(fā)功能,以及更新相關(guān)MIB,使其支持IPv6地址。
通過(guò)對(duì)SNMP over IPv6的支持,實(shí)現(xiàn)了Cisco路由器可以在一個(gè)Native IPv6網(wǎng)絡(luò)中由管理服務(wù)器通過(guò)SNMP協(xié)議對(duì)其進(jìn)行監(jiān)視和管理。
同時(shí)為了進(jìn)一步增強(qiáng)對(duì)設(shè)備IPv6傳輸協(xié)議相關(guān)的運(yùn)行狀態(tài)進(jìn)行管理,Cisco IOS操作系統(tǒng)還分別從12.0(22)S、12.2(15)T和12.2(14)S版本開(kāi)始支持標(biāo)準(zhǔn)的IPv6 MIB,包括CISCO-IETF-IP-FORWARD-MIB和CISCO-IETF-IP-MIB。這些IPv6 MIB可以供SNMP管理服務(wù)器查詢Cisco路由器設(shè)備IPv6協(xié)議相關(guān)的管理信息。
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [電子說(shuō)] 躍昉動(dòng)態(tài)|躍昉簽署亞洲城市減碳卡澳門合作框架協(xié)議 2023-10-24
- [電子說(shuō)] 使用MVVM框架實(shí)現(xiàn)一個(gè)簡(jiǎn)單加法器 2023-10-24
- [嵌入式技術(shù)] 探討嵌入式系統(tǒng)的軟硬件框架 2023-10-24
- [電子說(shuō)] 昇騰AI框架全棧深度介紹 2023-10-22
- [電子說(shuō)] 隆基與德國(guó)重要合作伙伴PVI簽署1.5GW Hi-MO X6框架協(xié)議 2023-10-22
- [電子說(shuō)] PyCharm 2022.2支持最新 Python 3.11 和 PyScript 框架 2023-10-21
- [電子說(shuō)] 華工科技與振華重工簽署戰(zhàn)略合作框架協(xié)議 2023-10-21
- [電子說(shuō)] 嵌入式狀態(tài)機(jī)編程-QP狀態(tài)機(jī)框架基本知識(shí)介紹 2023-10-18
( 發(fā)表人:admin )