廣西財經學院 郭 榮
什么是SNMP?SMNP是Simple Network Management Protocol縮寫,解釋為簡單網絡管理協議。SNMP是最早提出的網絡管理協議之一,它一推出就得到了廣泛的應用和支持,特別是很快得到了數百家廠商的支持,其中包括IBM,HP,SUN等大公司和廠商。目前SNMP已成為網絡管理領域中事實上的工業標準,并被廣泛支持和應用,大多數網絡管理系統和平臺都是基于SNMP的。
SNMP的前身是簡單網關監控協議(SGMP),用來對通信線路進行管理。隨后,人們對SGMP進行了很大的修改,特別是加入了符合Internet定義的SMI和MIB:體系結構,改進后的協議就是著名的SNMP。SNMP的目標是管理互聯網Internet上眾多廠家生產的軟硬件平臺,因此SNMP受Internet標準網絡管理框架的影響也很大。現在SNMP已經出到第三個版本的協議,其功能較以前已經大大地加強和改進了。
SNMP的體系結構是圍繞著以下四個概念和目標進行設計的:
1.保持管理代理(Agent)的軟件成本盡可能低;
2.最大限度地保持遠程管理的功能,以便充分利用Internet的網絡資源;
3.體系結構必須有擴充的余地;
4.保持SNMP的獨立性,不依賴于具體的計算機、網關和網絡傳輸協議。在最近的改進中,又加入了保證SNMP體系本身安全性的目標。
1.SNMP管理控制框架
SNMP是一個應用層協議,提供了SNMP管理者和SNMP代理間報文格式的消息通信。它規定了在網絡環境中對設備進行監視和管理的標準化管理框架,通信的公共語言和相對應的安全控制機制。
SNMP管理框架包含有四個組成部分:
①SNMP管理者
②SNMP代理
③一個用于在SNMP實體間傳輸管理信息的管理協議
④MIB庫(Management Information Base,管理信息庫)
SNMP管理者是一個利用SNMP協議對網絡節點進行控制和監視的系統。其中網絡環境中最常見的SNMP管理者被稱為網絡管理系統(NMS,Network Management System)。網絡管理系統既可以指一臺專門用來進行網絡管理的服務器,也可以指某個網絡設備中執行管理功能的一個應用程序。現在市場上有眾多軟硬件廠商提供有支持SNMP協議的網絡管理系統,如SolarWinds網絡管理軟件產品。
SNMP代理是被管理設備中的一個軟件模塊,用來維護被管理設備的管理信息數據并可在需要時把管理數據匯報給一個SNMP管理系統。SNMP代理和相關的MIB庫存在于網絡設備中(如路由器,交換機,接入服務器等等)。
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)以提示管理者一個設備或網絡狀態。

圖1 SNMP管理者與SNMP代理間的通信
2.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通知方式可以較有保證地把通知發送到期望的目的地。

圖2 一條Trap通知發送給SNMP管理者

圖3 一條Inform通知發送給SNMP管理者
然而在多數情況下,Trap通知方式被較多采用,因為Inform方式將會耗用更多的網絡和設備資源。與Trap通知方式不同的是,被管理設備不能在發送后立即把一條Inform通知丟棄,它需要把通知信息保存在系統內存中直到收到相應的確認應答或設備規定的計時器超時。由此可見一條Trap通知只會被發送一次,而Inform通知可能會被重復發送多次。這種重復發送將會增加網絡流量,造成網絡額外開銷的上升。
管理員在選擇Trap或Inform通知形式時需要根據可靠性要求和系統資源狀況統籌考慮:如果SNMP管理者需要確保收到每條通知,應該采用Inform通知方式;如果更關心減少網絡流量和網絡設備的資源消耗且并不需要每條通知都需要接收,則應該采用Trap通知方式。
SNMP分為三個版本:v1,v2,和v3.其功能是依次遞增的。
SNMPv1和SNMPv2都利用了基于“團體(Community)”形式的安全認證機制。能夠訪問SNMP代理MIB數據的管理者“團體”通過一個IP地址訪問控制列表和口令進行定義。SNMPv2c還增加了對大批量數據讀取機制的支持和向管理工作站更加詳細的錯誤消息匯報機制。支持對大批量數據的讀取機制能夠用來對整個MIB數據表格和大量的信息進行快速讀取,減少請求/應答的往復數量。
SNMPv3重點強調增強協議的安全認證/加密,授權/訪問控制以及遠程配置管理等功能,而在其它方面沿用了部分SNMPv2原有的技術規范。
以Cisco的網絡設備為例:
config terminal進入全局配置狀態
snmp-server community public ro配置本路由器的只讀字串為public
snmp-server community public rw配置本路由器的讀寫字串為public
snmp-server enable traps允許路由器將所有類型SNMP Trap發送出去
snmp-server host IP-address-server traps version 1/2C/3指定路由器SNMP Trap的接收者的IP地址,發送Trap時采用1/2C/3那個版本。
圖書館由于專業人員較少,使得網絡管理是一項重要而艱巨的工作。如何快速的發現網絡中存在的問題,準確了解問題發生的原因,及時的進行故障處理,以成為網絡維護工作質量評定的一個標準。SNMP給我們提供了一個監控與管理網絡設備的平臺,能使我們清楚知道圖書館網絡設備的運行情況,方便日常的網絡維護。
[1]段海新.校園網安全問題分析與對策[OL].中國教育網絡,2005(3).
[2]莫鴻強.淺議校園網建設中的安全管理[J].廣西民族學院學報(哲學社會科學版),2005(6):76-77,86.
[3]羅來俊.高校校園網安全隱患及應對策略[J].南昌高專學報,2006(6):110-111.
[4]唐海波.高校校園網安全分析及策略[J].電腦知識與技術,2008(15):1029-1030.