努爾木拉提·熱合木別爾德 王業


摘要:隨著高校校園網絡的規模和用戶的不斷擴大,網絡設備管理日趨復雜。針對該情況,該文結合學校實際情況,詳細分析網絡設備管理的需求,并基于SNMP、Java EE及MySQL等技術基礎上,設計并實現了基于SNMP的網絡設備管理平臺,旨在簡化網絡設備管理難度,提高管理效率,降低管理成本。
關鍵詞:SNMP;網絡設備管理
隨著計算機網絡的迅速發展,計算機網絡技術已漸漸滲入到我們生活的各個角落,成為繼水、電之后的生活剛需。近幾年高校的招生數量、校區建設等規模的擴展,使得學校網絡結構越來越復雜,網絡設備規模日益擴大。如何有效地對設備進行運維管理,為在校師生提供良好的服務體驗,已逐漸成為網絡服務部門急需解決的頭等大事。
1 網絡設備管理的現狀
1.1 網絡設備管理的現狀
學校最初網絡設備只有100多臺,以手動方式管理網絡設備。近幾年,學校對整個校園網進行改造,達到所有樓宇都滿配網絡設備,交換機、路由器等設備數量達500余臺,并且隨著無線網絡的建設,設備規模還將不斷擴大。
1.2 網絡設備管理存在的問題
網絡設備的種類繁多,設備管理相對復雜。當設備數量少且集中的時候,手動管理網絡設備是可行的,但到達一定規模后,管理成本直線上升。同時,網絡出現故障后,由網絡用戶報告,然后再去排查,維護效率很低且很被動,嚴重影響用戶體驗。
1.3 解決方案
校園網絡中的交換機和路由器,雖然設備廠商不同,采用的協議也不盡相同,但絕大多數的網絡設備支持SNMP協議。SNMP協議允許網絡及設備管理員收集設備相關管理信息和設備信息。通過SNMP獲得設備的物理特性、數據吞吐量、端口流量等信息,加以分析,顯示到圖形化界面。因此可以通過SNMP的網絡設備管理平臺,來幫助網絡管理員及時的發現設備問題并進行運維,提高管理效率,降低管理成本和時間成本,有效提升用戶的服務體驗。
2 SNMP協議
2.1 SNMP協議
SNMP(Simple Network Management Protocol)即簡單網絡管理協議。由于SNMP設計簡單、容易更新、擴展性高的優點,使其很快得到各網絡設備生產廠家的認同。基于SNMP協議,可以實現一個管理工作站遠程管理所有支持SNMP協議的網絡設備,包括監視網絡狀態、修改網絡設備配置、接收網絡事件警告等。
2.2 管理信息庫(MIB)
任何一個被管理的資源都表示成一個對象,稱為被管理的對象,MIB是被管理對象的集合。MIB提供數字化OID到可讀文本的映射,提供一張從某個SNMP代理中獲得的可用OID的各種值的地圖。
3 需求分析
3.1 人員管理
參與該網絡設備管理的人員主要有:系統管理員、設備管理員、維護人員、普通用戶。設備管理員可以進行設備管理操作,可以處理告警消息。維護人員可以查看、處理告警消息。普通用戶只能查看設備數據。
3.2設備管理
設備位置具有層次性,按:區域-樓宇-樓層-分組-設備的規則。需要能夠查看某一層次位置下的所有設備,并統計出總個數、正常個數、故障個數。需要能查看某一具體設備的相關信息:設備的基本信息,CPU、內存、SWAP、buffer、cached使用狀況,以及當前的設備接收、發送的字節數和數據包數目等。有時,設備位置能會有變動,如某一樓已廢棄或新建了一個宿舍,就需要對設備位置節點進行改動。因此設備管理要包含查看設備列表及詳情,增刪設備,位置節點調整。
3.3告警管理
能夠查看并處理當前未處理的告警消息,提醒管理員及時處理,同時記錄處理過程。
3.4數據分析
能夠通過獲取的設備運行情況數據,以及故障處理記錄,有效分析網絡故障分布情況、人員維護效率、人員績效考核等,從而通過數據反饋,不斷優化管理手段。
4 總體設計
4.1 設計思想
網絡設備管理平臺的總目標是開發一個基于SNMP4j的易擴充、易維護、具有良好圖形化界面的網絡設備管理系統,以幫助管理員及時了解各設備的物理特性、數據吞吐量等性能數據,和及時發現端口流量、通信能力是否已經超載,并能自動輪詢,找出有問題的設備信息報告給管理員;另外還要有權限管理功能,即為不同角色的用戶分配不同的權限。
根據平臺所要完成的任務,結合當前情況,平臺采用Browser/Server結構。Web應用可以主動輪詢訪問設備數據,保存在MySQL數據庫中便于查詢。
4.2 平臺功能設計
平臺功能結構,如圖1所示。
5詳細設計
5.1查詢當前設備組的狀態
查看某一分組下所有設備的列表,需要顯示當前設備狀態(是否連通),所以需要get該設備的一項數據(設定獲取設備的運行時間),如果能獲得,說明設備正常,否則說明該設備出了問題,連通不了。而要通過SNMP去訪問該設備,需要先從數據庫中獲取IP、Community數據,然后再get。每當SNMP獲取了設備的運行時間后,把該數據和當前時間存入數據庫。需要訪問設備狀態時,先訪問數據庫,調出數據更新時間和設備運行時間,如果設備運行時間為空或者更新時間與當前時間間隔超過了10分鐘,那就需要通過SNMP來get得到運行時間,然后主線程將該數據放入結果集,同時創建新線程,將數據和當前時間放到數據庫中。在SNMP get得不到數據時,檢查該設備的狀態位,如果是1則記錄告警消息,并修改狀態位為0,如果得到了數據,而原先設備狀態位是0,則改為1即可。獲取設備流程如圖2所示。
5.2 網絡設備管理模塊設計
1)獲取網絡設備的私有MIB信息