專利名稱:一種基于snmp網(wǎng)絡管理的模擬器的制作方法
技術領域:
本發(fā)明涉及仿真工具,具體說是一種基于SNMP網(wǎng)絡管理的模擬器。尤指基于SNMP 網(wǎng)絡管理的Agent (管理代理)模擬器。
背景技術:
當前網(wǎng)絡管理已經成為保證網(wǎng)絡正常運行的重要應用。但是在網(wǎng)絡管理的運維、 測試、實驗中,一般通過搭建網(wǎng)絡來提供實驗環(huán)境,但是這樣的實驗環(huán)境不僅成本高而且難
于管理。簡單網(wǎng)絡管理協(xié)議(SimpleNetwork Management Protocol, SNMP)已成為網(wǎng)絡管理領域中事實上的工業(yè)標準,并被廣泛支持和應用,大多數(shù)網(wǎng)絡管理系統(tǒng)和平臺都是基于SNMP的。簡單網(wǎng)絡管理協(xié)議(SNMP)是一種基于TCP/IP的網(wǎng)絡管理協(xié)議,它使用UDP作為傳輸層協(xié)議,能管理支持代理進程的網(wǎng)絡設備。SNMP主要包括SMI (管理信息結構)、MIB (管理信息庫)和SNMP協(xié)議幾部分。圖1說明SNMP體系結構模型。SMI給出了管理對象定義的一般框架。MIB是設備所維護的全部被管理對象的結構集合。SNMP協(xié)議包括SNMP操作、SNMP信息的格式、SNMP對象標識符(OID)以及如何在應用程序和設備間交換消息。SNMP對象標識符(OID)是定義在特定MIB模式中的值,來定義一個特定的在MIB數(shù)據(jù)庫中SNMP目標。SNMP采用代理/管理站模型進行網(wǎng)絡管理,圖1示出了 SNMP的四個關鍵元素管理工作站(匪S,在后簡稱管理站)、管理代理(Agent)、管理信息庫(MIB)和SNMP協(xié)議。管理代理(Agent)對來自管理站(匪S)的信息查詢和動作執(zhí)行請求做出響應,同時還可以異步地向管理站(匪S)發(fā)送重要的意外事件。網(wǎng)絡管理站(匪S)與網(wǎng)絡管理代理(Agent)之間是通過SNMP網(wǎng)絡管理協(xié)議連接實現(xiàn)通信的,其包括以下幾個主要操作(消息報文)分別為 Get—Request、Get—Response、Get-Next-RequestΛ Set-Request 禾口 Trap。管理代理禾口管理站之間通過這幾種消息報文進行相互通信,以獲取網(wǎng)絡設備的各種信息,從而控制網(wǎng)絡設備的正常運行。
發(fā)明內容
針對現(xiàn)有技術中存在的缺陷,本發(fā)明的目的在于提供一種基于SNMP網(wǎng)絡管理的模擬器,以便網(wǎng)管軟件能夠更好地進行網(wǎng)絡管理系統(tǒng)的聯(lián)調和測試。為達到以上目的,本發(fā)明采取的技術方案是
一種基于SNMP網(wǎng)絡管理的模擬器,其特征在于,所述模擬器為Agent模擬器,包括 MIB腳本一個XML文件,用于存放MIB數(shù)據(jù),由用戶自定義生成; 腳本解析模塊把MIB腳本對應的XML文件解析為MIB數(shù)據(jù); MIB數(shù)據(jù)庫存放腳本解析模塊解析后的MIB數(shù)據(jù);
SNMP報文處理模塊根據(jù)收到的SNMP報文,在MIB數(shù)據(jù)庫中查詢對應的響應數(shù)據(jù),然后根據(jù)查詢結果將MIB數(shù)據(jù)組織成相應的SNMP響應報文,并將SNMP響應報文發(fā)送給SNMP 協(xié)議通信模塊;
SNMP報文處理模塊還將需要處理的SNMP請求數(shù)據(jù)解析后放入到本地MIB數(shù)據(jù)庫; TRAP報文組織模塊按照一定格式將MIB數(shù)據(jù)組織成SNMP的TRAP報文,并將TRAP報文發(fā)送給SNMP協(xié)議通信模塊;
SNMP協(xié)議通信模塊基于SNMP協(xié)議,負責與外部對象進行通信;所述外部對象為管理站NMS,SNMP協(xié)議通信模塊和管理站NMS之間通過Get-Request、Get-Response、 Get-Next-Request、Get-Next-Response> Set-Request、Set-Response 禾口 Trap 消息報文進行通信。在上述技術方案的基礎上,Agent模擬器處理SNMP操作請求包括以下步驟 al.接收SNMP請求在某個端口 SNMP協(xié)議通信模塊接收SNMP請求數(shù)據(jù)包;
bl. 解析SNMP請求數(shù)據(jù)SNMP報文處理模塊解析SNMP請求數(shù)據(jù)包,得到相應的MIB 請求數(shù)據(jù);
cl. 腳本解析模塊讀入MIB腳本文件,從該文件中解析出一個個MIB數(shù)據(jù),并把解析出來的MIB數(shù)據(jù)存放到MIB數(shù)據(jù)庫中;
dl. SNMP報文處理模塊把解析出來的MIB請求數(shù)據(jù)與本地MIB數(shù)據(jù)庫中的MIB數(shù)據(jù)進行映射,并根據(jù)映射結果從本地MIB數(shù)據(jù)庫讀取相應的數(shù)據(jù),或者把數(shù)據(jù)賦值到本地MIB 數(shù)據(jù)庫;
從本地MIB數(shù)據(jù)庫讀取相應的數(shù)據(jù)的過程如下
當A[I] = j時,其中j是某個SNMP請求中的配置數(shù)據(jù),A是設置的MIB數(shù)據(jù)庫結果集, I是結果集的下標,則稱為在A結果集中,I號OID對應的SNMP請求結果為j ;
這樣當Agent模擬器收到MIB數(shù)據(jù)庫中的SNMP請求時,首先解析該SNMP請求的0ID, 然后根據(jù)OID找到對應MIB數(shù)據(jù)庫中那個條目,最后取得該條目對應的數(shù)據(jù)值;
el. SNMP報文處理模塊把步驟dl的執(zhí)行結果組織為SNMP數(shù)據(jù)包并形成SNMP響應報
文;
Π. SNMP協(xié)議通信模塊發(fā)送SNMP響應報文給管理站NMS。在上述技術方案的基礎上,Agent模擬器處理TRAP發(fā)送包括以下步驟 a2. TRAP報文組織模塊設置TRAP的接收地址;
b2. TRAP報文組織模塊設置要發(fā)送的TRAP數(shù)據(jù); c2. TRAP報文組織模塊設置發(fā)送頻率;
d2. TRAP報文組織模塊從本地MIB數(shù)據(jù)庫讀取相應的數(shù)據(jù),并形成TRAP報文; e2. TRAP報文組織模塊通過SNMP協(xié)議通信模塊向TRAP的接收地址即目的地址發(fā)送 TRAP報文。本發(fā)明所述的基于SNMP網(wǎng)絡管理的模擬器,支持并發(fā)模擬大量設備,可以手工的設置SNMP的響應包數(shù)據(jù),為網(wǎng)管軟件的調試,以及大容量測試提供幫助。本發(fā)明所述的基于SNMP網(wǎng)絡管理的模擬器,使用一個仿真程序模擬一個或多個支持SNMP管理設備,支持SNMP協(xié)議,實現(xiàn)的是網(wǎng)絡設備中Agent的功能。能夠響應管理站的 Get-Request、Get-Next_Request Jet-Request 等請求,能夠生成、發(fā)送自陷 CTrap)報文及模擬網(wǎng)絡設備的管理行為。
本發(fā)明有如下附圖
圖1是SNMP體系結構模型; 圖2是Agent模擬器的系統(tǒng)結構; 圖3是Agent模擬器處理SNMP操作請求的流程圖; 圖4是Agent模擬器處理TRAP發(fā)送的流程圖。
具體實施例方式以下結合附圖對本發(fā)明作進一步詳細說明。本發(fā)明通過構造一個模擬的網(wǎng)絡設備(模擬器)并將其用于網(wǎng)絡管理的研究和測試,通過對該模擬器設定不同的網(wǎng)絡狀態(tài),可以模擬不同的網(wǎng)絡事件,以便于進行網(wǎng)絡管理系統(tǒng)的研究。更進一步說,本發(fā)明的目的在于模擬網(wǎng)絡管理系統(tǒng)中基于簡單網(wǎng)絡管理協(xié)議 SNMP的網(wǎng)絡設備代理與網(wǎng)絡管理系統(tǒng)間的網(wǎng)絡通信。如圖2所示,本發(fā)明所述的基于SNMP網(wǎng)絡管理的模擬器,所述模擬器為Agent模擬器,包括
MIB腳本一個XML文件,用于存放MIB數(shù)據(jù),由用戶自定義生成; 腳本解析模塊把MIB腳本對應的XML文件解析為MIB數(shù)據(jù); MIB數(shù)據(jù)庫存放腳本解析模塊解析后的MIB數(shù)據(jù);
SNMP報文處理模塊根據(jù)收到的SNMP報文,在MIB數(shù)據(jù)庫中查詢對應的響應數(shù)據(jù),然后根據(jù)查詢結果將MIB數(shù)據(jù)組織成相應的SNMP響應報文,并將SNMP響應報文發(fā)送給SNMP 協(xié)議通信模塊;
SNMP報文處理模塊還將需要處理的SNMP請求數(shù)據(jù)解析后放入到本地MIB數(shù)據(jù)庫; TRAP報文組織模塊按照一定格式將MIB數(shù)據(jù)組織成SNMP的TRAP報文,并將TRAP報文發(fā)送給SNMP協(xié)議通信模塊;
SNMP協(xié)議通信模塊基于SNMP協(xié)議,負責與外部對象進行通信;所述外部對象為管理站NMS,SNMP協(xié)議通信模塊和管理站NMS之間通過Get-Request、Get-Response、 Get-Next-Request、Get-Next-Response> Set-Request、Set-Response 禾口 Trap 消息報文進行通信。在上述技術方案的基礎上,圖3示出了 Agent模擬器處理SNMP操作請求的流程圖,包括以下步驟
al.接收SNMP請求在某個端口 SNMP協(xié)議通信模塊接收SNMP請求數(shù)據(jù)包; bl. 解析SNMP請求數(shù)據(jù)SNMP報文處理模塊解析SNMP請求數(shù)據(jù)包,得到相應的MIB 請求數(shù)據(jù);
cl. 腳本解析模塊讀入MIB腳本文件,從該文件中解析出一個個MIB數(shù)據(jù),并把解析出來的MIB數(shù)據(jù)存放到MIB數(shù)據(jù)庫中;
dl. SNMP報文處理模塊把解析出來的MIB請求數(shù)據(jù)與本地MIB數(shù)據(jù)庫中的MIB數(shù)據(jù)進行映射,并根據(jù)映射結果從本地MIB數(shù)據(jù)庫讀取相應的數(shù)據(jù),或者把數(shù)據(jù)賦值到本地MIB 數(shù)據(jù)庫;從本地MIB數(shù)據(jù)庫讀取相應的數(shù)據(jù)的過程如下
當A[I] = j時,其中j是某個SNMP請求中的配置數(shù)據(jù),A是設置的MIB數(shù)據(jù)庫結果集, I是結果集的下標,則稱為在A結果集中,I號OID對應的SNMP請求結果為j ;
這樣當Agent模擬器收到MIB數(shù)據(jù)庫中的SNMP請求時,首先解析該SNMP請求的0ID, 然后根據(jù)OID找到對應MIB數(shù)據(jù)庫中那個條目,最后取得該條目對應的數(shù)據(jù)值;
el. SNMP報文處理模塊把步驟dl的執(zhí)行結果組織為SNMP數(shù)據(jù)庫并形成SNMP響應報
文;
Π. SNMP協(xié)議通信模塊發(fā)送SNMP響應報文給管理站NMS。
在上述技術方案的基礎上,圖4示出了 Agent模擬器處理TRAP發(fā)送的流程圖,包括以下步驟
a2. TRAP報文組織模塊設置TRAP的接收地址; b2. TRAP報文組織模塊設置要發(fā)送的TRAP數(shù)據(jù); c2. TRAP報文組織模塊設置發(fā)送頻率;
d2. TRAP報文組織模塊從本地MIB數(shù)據(jù)庫讀取相應的數(shù)據(jù),并形成TRAP報文; e2. TRAP報文組織模塊通過SNMP協(xié)議通信模塊向TRAP的接收地址(目的地址)發(fā)送 TRAP報文。以上所述僅為本發(fā)明的較佳實施例,并不用于限制本發(fā)明,凡在本發(fā)明精神和原則之內所做的任何修改、等同替換和改進等,均含于本發(fā)明的保護范圍之內。本說明書中未作詳細描述的內容屬于本領域專業(yè)技術人員公知的現(xiàn)有技術。
權利要求
1.一種基于SNMP網(wǎng)絡管理的模擬器,其特征在于,所述模擬器為Agent模擬器,包括 MIB腳本一個XML文件,用于存放MIB數(shù)據(jù),由用戶自定義生成;腳本解析模塊把MIB腳本對應的XML文件解析為MIB數(shù)據(jù); MIB數(shù)據(jù)庫存放腳本解析模塊解析后的MIB數(shù)據(jù);SNMP報文處理模塊根據(jù)收到的SNMP報文,在MIB數(shù)據(jù)庫中查詢對應的響應數(shù)據(jù),然后根據(jù)查詢結果將MIB數(shù)據(jù)組織成相應的SNMP響應報文,并將SNMP響應報文發(fā)送給SNMP 協(xié)議通信模塊;SNMP報文處理模塊還將需要處理的SNMP請求數(shù)據(jù)解析后放入到本地MIB數(shù)據(jù)庫; TRAP報文組織模塊按照一定格式將MIB數(shù)據(jù)組織成SNMP的TRAP報文,并將TRAP報文發(fā)送給SNMP協(xié)議通信模塊;SNMP協(xié)議通信模塊基于SNMP協(xié)議,負責與外部對象進行通信;所述外部對象為管理站NMS,SNMP協(xié)議通信模塊和管理站NMS之間通過Get-Request、Get-Response、 Get-Next-Request、Get-Next-Response> Set-Request、Set-Response 禾口 Trap 消息報文進行通信。
2.如權利要求1所述的基于SNMP網(wǎng)絡管理的模擬器,其特征在于=Agent模擬器處理 SNMP操作請求包括以下步驟al.接收SNMP請求在某個端口 SNMP協(xié)議通信模塊接收SNMP請求數(shù)據(jù)包; bl.解析SNMP請求數(shù)據(jù)SNMP報文處理模塊解析SNMP請求數(shù)據(jù)包,得到相應的MIB請求數(shù)據(jù);cl.腳本解析模塊讀入MIB腳本文件,從該文件中解析出一個個MIB數(shù)據(jù),并把解析出來的MIB數(shù)據(jù)存放到MIB數(shù)據(jù)庫中;dl. SNMP報文處理模塊把解析出來的MIB請求數(shù)據(jù)與本地MIB數(shù)據(jù)庫中的MIB數(shù)據(jù)進行映射,并根據(jù)映射結果從本地MIB數(shù)據(jù)庫讀取相應的數(shù)據(jù),或者把數(shù)據(jù)賦值到本地MIB 數(shù)據(jù)庫;從本地MIB數(shù)據(jù)庫讀取相應的數(shù)據(jù)的過程如下當A[I] = j時,其中j是某個SNMP請求中的配置數(shù)據(jù),A是設置的MIB數(shù)據(jù)庫結果集, I是結果集的下標,則稱為在A結果集中,I號OID對應的SNMP請求結果為j ;這樣當Agent模擬器收到MIB數(shù)據(jù)庫中的SNMP請求時,首先解析該SNMP請求的0ID, 然后根據(jù)OID找到對應MIB數(shù)據(jù)庫中那個條目,最后取得該條目對應的數(shù)據(jù)值;el. SNMP報文處理模塊把步驟dl的執(zhí)行結果組織為SNMP數(shù)據(jù)包并形成SNMP響應報文;Π. SNMP協(xié)議通信模塊發(fā)送SNMP響應報文給管理站NMS。
3.如權利要求1所述的基于SNMP網(wǎng)絡管理的模擬器,其特征在于=Agent模擬器處理 TRAP發(fā)送包括以下步驟a2. TRAP報文組織模塊設置TRAP的接收地址; b2. TRAP報文組織模塊設置要發(fā)送的TRAP數(shù)據(jù); c2. TRAP報文組織模塊設置發(fā)送頻率;d2. TRAP報文組織模塊從本地MIB數(shù)據(jù)庫讀取相應的數(shù)據(jù),并形成TRAP報文; e2. TRAP報文組織模塊通過SNMP協(xié)議通信模塊向TRAP的接收地址即目的地址發(fā)送TRAP報文。
全文摘要
本發(fā)明涉及一種基于SNMP網(wǎng)絡管理的模擬器,腳本解析模塊把MIB腳本文件解析為MIB數(shù)據(jù)并存放到MIB數(shù)據(jù)庫;SNMP報文處理模塊根據(jù)收到的SNMP報文,在MIB數(shù)據(jù)庫中查詢對應的響應數(shù)據(jù),然后根據(jù)查詢結果將MIB數(shù)據(jù)組織成SNMP響應報文,并將SNMP響應報文發(fā)送給SNMP協(xié)議通信模塊;SNMP報文處理模塊還將需要處理的SNMP請求數(shù)據(jù)解析后放入到本地MIB數(shù)據(jù)庫;TRAP報文組織模塊按照一定格式將MIB數(shù)據(jù)組織成SNMP的TRAP報文,并將TRAP報文發(fā)送給SNMP協(xié)議通信模塊;SNMP協(xié)議通信模塊負責與外部對象進行通信。本發(fā)明所述的模擬器,支持并發(fā)模擬大量設備,可以手工的設置SNMP的響應包數(shù)據(jù),為網(wǎng)管軟件的調試,以及大容量測試提供幫助。
文檔編號H04L12/24GK102546260SQ20121002553
公開日2012年7月4日 申請日期2012年2月6日 優(yōu)先權日2012年2月6日
發(fā)明者周俊杰, 季小庭, 李峰, 陳彤 申請人:烽火通信科技股份有限公司