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