SNMP框架及其在Cisco路由器上的實現
本文主要給大家詳細的介紹了對于CISOC路由器如何進行SNMP框架的配置,相信看過此文對于SNMP管理框架和SNMP通知有所了解。
了解SNMP管理框架
SNMP (Simple Network Management Protocol,簡單網絡管理協議)是一個應用層協議,提供了SNMP管理者和SNMP代理間報文格式的消息通信。它規定了在網絡環境中對設備進行監視和管理的標準化管理框架,通信的公共語言和相對應的安全控制機制。
SNMP管理框架包含有四個組成部分:
* SNMP管理者
* SNMP代理
* 一個用于在SNMP實體間傳輸管理信息的管理協議
* MIB庫(Management Information Base,管理信息庫)
SNMP 管理者是一個利用SNMP協議對網絡節點進行控制和監視的系統。其中網絡環境中最常見的SNMP管理者被稱為網絡管理系統(NMS,Network Management System)。網絡管理系統既可以指一臺專門用來進行網絡管理的服務器,也可以指某個網絡設備中執行管理功能的一個應用程序。現在市場上有眾多軟硬件廠商提供有支持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代理發送請求,讀取(Get)或設置(Set)一個或多個 MIB變量數值。SNMP代理可以應答這些請求。除了這種交互式通信方式,SNMP代理還可以主動向SNMP管理者發送通知(Trap或Inform Request)以提示管理者一個設備或網絡狀態。
圖一:SNMP管理者與SNMP代理間的通信
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通知方式。