前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇snmp協議范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
1.1snmp網絡體系的基本結構
在互聯網工程設計的過程中,簡單的網絡管理協議是通過簡單化的網管監控經過長時間的發展及演變所得到的,其中主要包括了網絡管理的工作站、網絡、網絡管理信息庫的組成形式,而這些平臺的組成部分具有較為密切的聯系,每一部分都是不可缺少的。對于網絡管理工作站的工作形式而言,可以分為工作管理的工作程序、數據庫以及監控網絡的接口等部分組成,管理站起著十分重要的作用,可以快速地分析基本數據,及時準確地發現工作過程中存在的故障,從而可以將基本的數據形式轉換成有效的實際數據的應用[2]。與此同時,通過SNMP協議管理平臺的建立,在工作的過程中,管理站會進行一系列的信息管理及信息的請求,而網絡者則在發出請求的同時,及時作出相關的問答,其中主要的執行者是主機、網橋以及路由器等,并且可以通過計算機技術生成準確的錯誤信息的統計報告。網絡管理的基本職能主要是實現對網絡實體信息的有效性抽取形成MIB數據,在整個網絡管理的過程中占有十分重要的作用,在實際的信息查詢過程中,管理站會及時完成后期的技術處理,從而在根本意義上實現監督管理的最終目的。
1.2SNMP的組成元素及其安全性
對于SNMP的信息技術處理形式而言,主要有管理信息的結構、管理信息庫以及SNMP協議組成了SNMP,其中的管理信息庫是網絡管理系統中較為基礎的組成部分,不同的管理對象都代表著一種信息資源處于被管理的狀態,若將所用的信息形式組合起來就會形成整理之后的管理庫,與此同時,如果SNMP智能管理MIB中的相關對象,會使網絡設備的管理缺失一定的信息資源。因此,在整個技術形式的應用過程中,應該通過網絡化技術形式的應用,逐漸優化基本的技術管理形式,從而為整個網絡化設備中信息的管理提供充分的保證。在SNMP協議信息平臺的建立過程中,存在著一定的安全患,所以,在網管監測平臺的推廣及使用的過程中,就存在著一定的阻礙性。在信息管理的過程中存在著安全漏洞以及內部信息不穩定的形式,在實際信息管理的過程中,由于基本的協議內容較為復雜,網絡存在,則會出現非法請求的情況,所以,會出現信息破譯的危險,因此,在現階段技術形式的應用過程中,應該及時注意到這些問題,從而為整個SNMP技術形式的應用提供充分的保證。
2SNMP協議的網絡管理平臺的研究
2.1網絡管理體系的基本框架
對于網絡管理軟件的體現結構而言,可以簡單地分為四個組成部分,首先,是被管網絡的設備形式,主要由一些被管理網元組成,包括具有網絡通信能力的路由器、核心交換機等,以及不具有網絡通信能力的設備如調諧設備、天線設備等;其次,是數據的采集層,其中數據的采集形式主要覆蓋了所有的被管理設備,在完成數據采集工作之后,再通過信息傳輸系統將信息傳送到后臺的數據庫,第三,是系統工程層,系統工程層的工作形式主要是負責處理網絡管理中的故障信息,一般情況下,主要包括故障的檢測以及提供故障維修的基本數據等技術形式,主要的技術處理方式是通過網絡管理平臺功能結合用戶設定的閥值按照平臺配置的算法來完成的。最后是客戶端,即用戶端,是網管系統與用戶的接口,在使用的過程中可以為用戶提供一種可視化的服務界面,從而在根本意義上方便了用戶對系統信息的管理及維護[5]。
2.2網絡拓撲搜索、子網搜索的技術形式
在整個網絡技術應用的過程中,對于網絡拓撲搜索算法的設計而言,其基本的工作原理是參考基本的模型進行數據處理,這種技術應用中最重要的組成部分是節點以及路由器,其具體的算法主要是:在系統運行的過程中,應該先定義基本節點,然后再通過路由表展開信息搜索[3]。這種搜索形式主要是將數據結構與網關節點的數據相結合,從而優化信息的處理。子網的搜索主要是在全網拓撲搜索結束之后進行,將基本的結構充分的展現出來。而且,對于子網搜索而言,還可以進一步地確定子網網絡接口的基本類型,也可以具體的描述網絡設備的具體類型。
2.3確定路由器的主要方法
對于路由器而言,同一個路由器對應多個IP地址,所以,要想在SNMP技術形式的應用過程中,準確地查詢某個路由器的同網絡路由器,是一項十分困難的事情,而且,對于路由器而言,其網絡的關聯性也是相對較強的。因此,在判斷多個IP地址是否屬于同一臺設備的過程中,主要是參考sysObjectID的基本參數值,如果IP地址與sysObjectID具有同樣的參數值,也就是說明,多個IP地址屬于同一臺路由器。但是,在整個技術形式的應用過程中,如果單單考慮到sysObjectID的參數,是具有一定的局限性的,這主要是由于sysOb-jectID的相關參數是可以改變的,所以,在IP地址調查的過程中就存在著一定的限制性因素。因此,在整個技術應用的過程中,就逐漸形成了ipAddrTable的參數形式,這種參數形式的出現,彌補了sysObjectID參數值不穩定的現象,所以,為整個信息的收集形式提供了充分的保證[4]。
3結束語
關鍵詞:snmp網絡協議;流量監控;系統
基于snmp網絡協議的網絡流量監控系統是將各網絡設備各端口的上下行流量匯總到一個數據庫中,通過web方式展現給用戶的系統。整個系統主要包括網絡邏輯拓撲生成模塊、網絡設備鏈路流量監控模塊、圖形展現模塊、短信告警模塊組成。首先,通過網絡邏輯拓撲生成模塊將現有網絡設備的網絡鏈接數據添加到設備數據表中,生成網絡設備的邏輯拓撲,然后,網絡設備鏈路流量監控模塊通過設備DB判別網絡設備的類型,如果是網絡設備通過SNMP協議采集網絡設備的各端口流量;如果是服務器網絡設備通過SNMP協議采集服務器的硬盤容量、內存使用量、運行軟件名稱等數據,將采集的數據些入到采集數據表中。如果沒有采集到網絡設備和服務器的數據,將設備名稱寫入到ERR表(錯誤表)中,短信告警模塊每間隔10分鐘掃描一次ERR表,有故障網絡設備就告警。最后,當有用戶請求查看網絡設備各端口狀態時,圖形展現模塊從采集數據表中查詢到相應網絡設備的原始數據,通過邏輯算法將原始數據計算成真實的端口流量數據,再通過調用圖形展現程序生成圖形,將結果輸出到用戶WEB頁面上。(圖1)
圖1
具體實施方式:
第一步:安裝win2003系統。
第二步:安裝IIS組建,搭建win系統的php頁面環境,安裝MS sql2000數據庫。
第三步:開啟本端服務器的161,160端口(關閉防火墻,默認開啟),啟用各被監控網絡設備的SNMP協議,并將各網絡設備的讀寫字符串匯總并記錄。
第四步:使用一種web語言編寫完成自己的網絡邏輯拓撲生成模塊和圖形展現模塊。
第五步:使用php編寫數據采集模塊和告警模塊。
網絡拓撲模塊編程的難點是需要寫一個迭代函數,這樣在出現樹形網絡拓撲的時候才能使整個程序簡單并且高效。圖形的展現模塊是整個系統的難點,如何將整個原始數據圖形展現到web頁面上不僅要考驗自己對網絡數據bit和字節的換算能力,還要考驗自己如何將處理后的數據圖形化到自己的頁面上,圖形化的頁面上的方式很多:flash方式、插件、web自帶圖形功能。任何一種圖形化的展現都是非常困難的。然后就是數據采集過程模塊,如何在一分鐘內將多個設備的多個端口的數據寫入到自己的數據庫中依然是個難題,當然你可以通過多線程完成這樣的任務,數據采集到后你會發現你的數據庫膨脹的相當快速,大數據量快速查詢又成為一個頭痛的問題。解決了上面的幾個主要問題后,短信的告警問題才真的成為了可能。
圖形展現模塊的設計:(圖2,圖3)
出/入流量:當選擇出流量時,頁面中展現的是本網絡設備各個端口的出流量。當選擇入流量時,頁面中展現的是本網絡設備各個端口的入流量。(出入是相對本網絡設備而言,流出本網絡設備的量為出,流入本設備的量為入)。
開始端口、結束端口:本網絡設備的第一個端口,包括本網絡設備中的邏輯端口(如:在高級路由器中的邏輯vlan3、vlan4等)。也可顯示本網絡設備的邏輯端口流量。
采集頻率:這個是抽取(查詢)了存儲在數據表中本網絡設備在不同時間段(5分鐘、10分鐘、15分鐘、30分鐘、1小時、2小時)各端口流量頻率,相當于對數據表中數據的采樣數據。
最大帶寬:顯示了本網絡設備各個端口中實際最大帶寬(4/3)的黃金分割帶寬,目的是為了不讓實際最大帶寬顯示出來后頂在了設備流量圖最頂端,影響展現效果。最大帶寬可以手動輸入,當輸入的數值小于本網絡設備各個端口中實際最大帶寬時,自動修改為最大帶寬;當輸入的數值大于本網絡設備各端口中實際最大帶寬時,按照輸入數值從新展現設備流量圖。
查詢天數:查詢天數默認是可以查詢1-365天以內的所有數據,但是根據服務器的性能,顯示大數據量時數據可能會溢出。建議數據在30天以內。
網絡設備流量圖:端口流量的折線圖,一次用戶請求,只能展現網絡設備各端口的上行流量或下行流量。
各端口名稱:從網絡設備上的采集到的端口名稱。
短信告警模塊的設計:
使用php語言編寫實現,根據網絡設備鏈路流量監控模塊的處理機制,將沒有回應的網絡設備的名稱和時間寫入到ERR表(錯誤表)中,php編寫的輪詢程序每10分鐘查詢一次當前10分鐘內超過錯誤閥值的網絡設備,如果不為空就向短信告警裝置發送告警信息。
本文首先介紹了SNMP網管技術的概況,提出了SNMP網管系統在時統中的技術方案以及關鍵技術難點與解決途徑,最后描述了該網管系統的組網方案。
【關鍵詞】SNMP 網絡管理
1 引言
時間同步系統在計算機系統中將具有越來越重要的地位。而老式的時統系統因數量多、站點分布廣泛、操作復雜無法對其進行統一管理。時統系統采用網管技術,使時統系統有了突破性的進展。網管工具所提供的解決方案把過去人工、繁雜的網絡管理工作變成自動化,有利于加快故障檢修時間和解決問題。對突發事件的處理變得容易、簡單。當故障發生時,快速定位故障,從而大大提高網管人員對突發事件的應急能力。這一技術的成功應用提高了整個時統系統的可靠性。
2 SNMP協議概述
SNMP(Simple Network Management Protocol)即簡單網絡管理協議,它為網絡管理系統提供了底層網絡管理的框架。SNMP是當今最流行的網絡管理協議,是一種基于Client /Server結構的網絡管理協議。SNMP被設計成與傳輸協議無關的規范,它可以在IP、IPX、AppleTalk以及其他的傳輸協議上使用,SNMP使用嵌入到網絡設備中的軟件收集網絡通信信息和有關網絡設備的運行數據,不斷的收集統計數據,網管系統通過向系統發送SNMP查詢消息可以得到這些數據。
3 SNMP網管系統采用的技術方案
SNMP網管子系統的接口及管理協議符合簡單網絡管理協議-SNMP。SNMP用五種基本操作完成了對復雜網絡的管理,因此稱為簡單網絡管理協議,同時因為它的簡單易實現從而迅速流行起來,并成為事實上的標準。該協議主要功能就是從設備上遠程收集管理數據和遠程配置設備,國內外主要的網絡設備均支持基于SNMP協議的調度和管理。
SNMP由三個基本元素構成:SNMP協議操作、SNMP管理信息結構、SNMP管理信息庫。其管理框架如圖1所示。
網管將一組管理命令封裝成SNMP協議包并通過UDP傳輸協議發往被管設備,駐留在被管設備上的SNMP進程(AGENT)收到請求解包后通過管理信息庫(MIB)將管理命令發給相應的業務處理進程,業務處理進程處理完該命令后將響應回送SNMP進程,最后進程將響應封裝為SNMP協議包再回送給網管。
4 關鍵技術難點與解決途徑
4.1 全網調度中的數據收集機制
在時統分系統SNMP網管子系統的運行過程中,SNMP收集數據一般采用兩種方式,即輪詢(polling-only)方式和中斷(interrupt-based)方式。
中央網管NMS系統定時向各個站點Agent發送輪詢消息,得到從各個Agent返回的運行信息的信息收集方式就是輪詢方式。輪詢處理方式在SNMP管理協議中對應了RESPONSE消息。輪詢方式對于調度控制系統NMS而言,總是讓信息調度處理處于完全受控狀態,各個Agent是被動的向NMS提供數據,所以整個系統穩定性能好。但是如果網絡系統只采用這種方式,那么這種調度方法必然降低系統的響應速度,特別是錯誤的實時性。解決的方式是在全網調度機制中不只是僅僅采用輪詢方式,而是輔之以中斷處理方式,中斷處理方式在SNMP管理協議中對應了TRAP消息,采用中斷的方式,當有異常事件發生時,時統設備盡可能快的通過嵌入式微控制器的中斷模式將異常事件通知駐留于時統設備的Agent系統,該Agent系統立即向中央網管NMS系統發送TRAP消息,以及時將異常事件通知中央網管系統。
所以我們的技術解決方案是輪詢方式和中斷方式的結合,這種以輪詢為基礎調度,以中斷提高響應速度的網絡調度方式是SNMP解決管理信息引起的網絡信息流量的理想方式。
4.2 全網網管信息在各個節點的獲取
全網各個節點的Agent獨立工作,與本節點的時統設備交換數據,通過SNMP方式,各個節點的Agent向中央網管NMS上報運行狀態數據,一般NMS駐留在一臺網管服務器上,運行于特定地點的中央控制室。在本系統運行過程中,還可以將NMS系統下載安裝到移動設備上(如筆記本等移動計算設備),然后可以在整個網絡上任意尋找一個節點,只要該節點對于各個節點是IP可到達的,就可以在該節點掛接NMS系統,完成全網管理。
4.3 Agent與時統系統交換數據的可靠性
各個節點配屬的工控機與時統設備通過RS232標準進行數據交互,該通信協議為專用通信協議,主要用于傳輸時統設備的運行數據和配置數據,該數據必須保證其可靠性。為此,除了采用經過實踐證明的可靠的硬件設計以外,我們還特別設計了專門的通訊規程以保證數據傳輸的正確性。
通訊幀為不定長幀,幀傳輸的通用格式為“幀頭+命令字+命令內容+效驗+幀尾”,加入轉義效驗和合適的控制機制以后,這種通訊幀可以傳遞任意的可見字符、控制字符,同時通過嚴格的效驗碼對幀的正確性進行判斷,效驗碼的選擇根據傳輸線路的條件可以選擇簡單累加和效驗方式或者CRC效驗方式,依據效驗的結果判斷幀的有效性,從而進行有效數據的取舍,此CRC效驗算法是國際流行的WinZip壓縮效驗算法,該算法業以成為事實上的效驗標準算法。
4.4 Agent與NMS交換數據的可靠性
Agent與NMS之間的數據傳輸用UDP方式實現,傳輸的質量由UDP/IP協議保證,這種機制是SNMP方式的標準實現方式。
5 組網方案
如圖2所示,在系統組網方案中,凡是站點之間的鏈接均為TCP/IP方式,站點之間的網管信息流遵循SNMP網管協議;各個站點與時統系統之間的鏈接均為RS232方式,站點與時統系統之間的網管信息流遵循專用通信協議。
中央網管上還駐留了一個針對全網各個設備的運行狀態的Agent系統,該系統主要用于向更高一級網絡管理機構提供私有MIB管理信息庫和對應的管理信息,由于SNMP是世界范圍內標準的網絡管理協議,任何一級上級網管機構得到該私有MIB都可以構造出本系統的全網管理模型,所以,時統分系統SNMP網管子系統可以被任何授權的上級網管管理,實現管理系統的無縫融合。
6 結束語
SNMP網管系統完成了整個時統系統的集中監視,方便了整個系統的維護,推進了時統系統更可靠的使用。同時,利用網管系統進行監控,實現了實時控制、及時的消除隱患、消除了人工操作的不確定因素,對系統正常運轉具有明確的指導作用。
參考文獻
[1]Davin J,McCloghie K. Administrative Model for Version 2 of the Simple Network Management Protocol(SNMPv2)[S].RFC 1445,1993.
[2]McCloghie K,Rose M. Management Information Base Network Management of TCP/IP Based Internets:MIBⅡ[S].RFC 1213,1991.
[3]Brue Lowekamp,David R O'Hallaron,Thomas R Gross. Topology Discovery for Large Ethernet Networks[J].Computer Communication Review (ACM SIGCOMM),2001,(04):237-248.
[4]肖剛,易雅新,肖俊,盧寧.基于SNMP、WBEM和WSDM的系統管理技術比較[A].中國通信學會通信軟件技術委員會2009年學術會議論文集,2009.
[5]李瑞霞,肖萍萍.簡單網絡管理協議綜述[A].2009通信理論與技術新發展――第十四屆全國青年通信學術會議論文集,2009.
[6]韓正清,趙洪利.網絡管理協議SNMPv1和SNMPv2的分析[J].裝備指揮技術學院學報,1998.
[7]蘭建明,陳行益.構建基于SNMP的智能網網管系統[A].第六屆全國計算機應用聯合學術會議論文集,2002.
[8]李明江.SNMP簡單網絡管理協議[M].電子工業出版社,2007.
基于SNMP網管系統是由管理平臺與兩部分組成,組成結構如圖1所示。管理平臺中,前臺界面負責提供圖形用戶接口,幫助用戶順利進行網絡管理操作。需要Windows中的圖形用戶界面輔助完成此項技術,界面菜單進行設計環節時,其管理功能需要合理分類。后臺負責及時控制程序,使得通信協議、數據口接口、管理功能進程等都得到其有效控制。管理功能進程主要職責是收集與處理數據。主控進程的主要工作職責是:負責進程調度、處理來自的各種異常事件報告、動作守護進程要對已發出的SNMP請求進行管理。網絡協議由IP、UDP、SNMP組成,系統通信的通道除了它們,還由通信模板組成。應用進程的運行過程是:在嵌入式實時多任務操作系統VRTX之上,采用主進程啟動多個線程同時運行的方法,體現網管功能的多樣化。
2SDH網絡管理系統的實現
2.1通信模塊組成結構與實現過程
網絡接口與路由協議是通信模塊的主要組成部分。通信模塊功能包含:網元與其它網元通過DCC通道通信、網元通過本地串口與網絡平臺通信、告警監視單元通信、網元通過串口與告警監視單元通信。實現此模板需要對系統通信控制模塊采取初始化配置;以太網、多通道串口等驅動器,完成IP協議棧的掛接;路由協議與協議棧的銜接工作完成,用SNMP的方式呈現路由信息,方便查詢。路由協議是通信模板的組成部分之一,其用途很大。一般路由協議都是通過廣播機制先顯示出來,需要不斷發現或者更新路由,共享路由表信息。它保障了網絡平臺通道,在網關網元和途徑網元路由的幫助下,使得目標網元的網管操作順利實現。
2.2SNMP協議流程與轉移
SNMP的進程有一個過程,一般是先在完成初始化配置數據,然后了解接口參數,觀察管理信息庫變量,完成這些系統的初始化工作之后,程序會自動進入一個循環過程中[2]。在某端口,等待接收數據,接收的SNMP報文,系統會進行檢查并作出分析報告,根據報文命令執行任務,調用其它系統操作,使得例程順利完成,最后獲得SNMP報文,將報文以UDP的形式封裝好,最終通過SNMP端口發送出去。把SNMP協議代碼轉移到硬件平臺中去,將代號MPC860的處理器與VRTX實行嵌入式系統操作,SNMP的職責是嵌入。具體操作時必須做好以下工作:熟知管理內容,將MIB變量定義清楚;翻譯工作由MIB完成,自動生成本地數據結構與程序結構,幫助系統調用及編程;在MIB編譯器中,直接輸出程序文件,文件會與UDP等協議銜接,只需要將相應參數稍加修改,SNMP協議層到UDP協議層的膠聯工作即可完成;完成MIB變量操作,支持例程代碼編寫;將進程進行測試。
2.3操作支持例程的實現步驟
對象一般是操作請求、存在性檢查、操作類型檢查、執行操作一整套操作步驟。整個過程的目的只有一個,準確判定請求對象是否在進程的MIB中,判定完畢之后,進一步驗證對象訪問方式,再根據對象所在位置,在規定范圍內設置對象值。操作支持例程與應用進程的接口類型有三種:一種是函數,其作用是支持例程調用應用進程,利用這樣的函數需要在配置管理需要較高時效性的時候;一種接口用于支持例程和應用進程兩者處于相對獨立狀態時的情況,兩者之間對時效性要求不高,主要作用是網絡進行初始化配置及性能管理;最后一種是利用進程調用支持例程的函數,需要告警方面的管理時,才會采用此種方式。
2.4應用進程實現步驟
SDH網管系統實現的核心取決于應用進程,主要靠其實現SDH所需的網管功能。主要程序運作過程具體表現在以下幾個方面:開機初始化配置過程為:系統會自動讀取設備清單,單元格需要根據設備具體情況進行配置,同時,整個過程還要將其缺省值初始化MIB以及相關數據結構進行參照[3,4]。性能管理的過程為:進行定期數據刷新時,一般都會利用參數收集模塊,然后再從單元盤中收集性能參數,完成收集工作之后,就可直接在NIB中記錄下來。保護切換與恢復的過程為:理解APS協議的基礎之上,編應與之相關的代碼。告警管理的過程為:利用應用層直接響應單元盤的中斷要求,將其中的告警信息讀出,利用支持例程的函數,把告警信息傳達給網管。
3結束語
關鍵字:網絡管理;簡單網絡管理協議; MIB
中圖分類號:TP393 文獻標識碼:A DOI:10.3969/j.issn.1003-6970.2013.08.024
本文著錄格式:[1]高凱,趙登攀.一種基于SNMP的網絡信息查詢軟件的開發與設計[J].軟件,2013,34(8): 75-77
0引 言
目前的網絡管理標準主要有兩大體系:OSI的CMIS( Common Management Information Service,公共管理信息庫)/CMIP( Common Management Information Protocol,公共管理信息協議)和IETF的SNMP( Simple Network Management Protocol,簡單網絡管理協議)。SNMP的產生是由于人們想把它作為TCP/ IP網絡管理的臨時解決辦法,待OSI框架廣泛應用以后就用OSI的CMIP代替它。但是,由于CMIP實現復雜、結構龐大,占用資源多,目前還沒有開發出實際可用的產品。SNMP卻由于易于實現和廣泛的TCP/ IP應用基礎而獲得廠商的支持。而目,由于SNMPv2和 SNMPv3的相繼出現,改善了SNMP中的安全問題,使SNMP得到快速的發展。
1 SNMP的體系結構
簡單網絡管理協議(SNMP)在體系結構分為被管理的設備(Managed Device)、SNMP管理器(SNMP Manager)和SNMP(SNMP Agent)三個部分。被管理的設備是網絡中的一個節點,有時被稱為網絡單元(Network Elements),被治理的設備可以是路由器、網管服務器、交換機、網橋、集線器等。每一個支持SNMP的網絡設備中都運行著一個SNMP,它負責隨時收集和存儲治理信息,記錄網絡設備的各種情況,網絡管理軟件再通過SNMP通信協議查詢或修改所記錄的信息。
2系統的詳細設計與實現
2.1系統主要功能模塊的設計
基于SNMP協議的網絡信息查詢系統的主要功能是查詢網絡信息,該系統只有一個主要模塊—信息查詢模塊。查詢網絡信息需要訪問系統的API接口與網絡設備中的MIB建立連接,首先應該開啟SNMP服務器,然后添加欲訪問主機的IP地址。在WinSNMP API接口中,管理站NMS與的通信協議都被封裝在一些函數之中,實現網絡拓撲自動發現的算法主要是利用深度優先算法探測目標網絡,逐一查詢每個網絡設備的MIB表,發現活動的網絡設備并繪制整個網絡系統的拓撲圖。
2.2信息查詢系統界面設計
信息查詢模塊界面是基于VC++6.0平臺上設計的,該編程軟件有畫圖功能,所以可以利用該項功能依照該系統的所要完成的模塊設計主界面。它的界面應該包含應查詢信息的類型、地址及顯示查詢結果的文本圖。具體界面設計如下圖1所示。
2.3信息查詢的實現
為了獲得每個網絡設備真實的存活狀況連接關系,真實地重構網絡連接與分布,我們將每個目的網絡中網絡設備MIB中的system、interface和iptable組字段信息結合起來獲知網絡設備連接信息。
算法中,使用圖的鄰接表來存儲網絡設備的連接信息,將目的網絡的網關存入頭節點數組中,每個頭節點以網關接口為索引將與網關連接的相關設備信息存入鏈接表中。頭節點中包括網關類型、接口數量、每個接口的網絡地址和運行狀態。鏈接表每個節點中存入與網關直接連接設備類型、接口和另一個網絡設備指針等信息。繪制網絡拓撲圖時采用深度算法遍歷網絡連接鄰接圖,從目標網絡的網關開始,搜索所有與網關直接連接的網絡設備并將信息存入連接表中,對于與網關間接連接的目標網絡,我們根據設定的深度,有選擇地將其子網網關插入頭接點中。例如向網關agent發送TVL編碼數據結構請求獲取IpRoutertable的iproutenexthop字段及接收信息的算法如下所示。
LPTSTR m_strOid[10],smiLPVALUE
m_smivalue[10]
PSnmp.Send(getwayip,1.3.6.1.2.1.4.21.1)
pSnmp.Receive(m_strOid,m_smivalue)
for(int i=1;i
{
switch(m_value[i]->syntax)
getValue(m_strOid ,m_smivalue)}
pSnmp.Send(getwayip,m_strOid)}
為實現SNMP的管理功能,需要要判斷所需要管理請求類型。
2.3.1 建立連接
為了實現能夠訪問MIB信息庫中的數據,我們首先應該與MIB庫建立連接。這中間包括應該開啟SNMP服務器、添加OID等來完成建立數據庫過程。為了更形象的表示建立連接的過程,我們用下圖2表示該建立過程。
2.3.2信息查詢
(1)首先使用函數SnmpMgrOpen()打開與遠程的會話。
SnmpMgrOpen( _in_opt LPSTR lpAgentAddress, _in_opt LPSTR lpAgentCommunity, INT nTimeOut, INT nRetries );
此函數的四個參數,分別是遠程的IP地址、遠程的共同體名稱、超時時間和重試次數。
(2)會話連接成功后,接下來就是向遠程發送請求信息,發送請求信息的函數原型如下。
SnmpMgrRequest(LPSNMP_MGR_SESSION session,BYTE requestType, RFC1157VarBindList *variableBindings, AsnInteger *errorStatus, AsnInteger *errorIndex );
函數中第一個參數就是連接會話的返回值,第二個參數為請求類型,第三個參數為變量綁定的列表,第四和第五個參數分別為錯誤的狀態信息及錯誤索引。
3 結束語
本文考察了網絡管理領域的現狀并結合具體的需求,設計出一個網絡信息查詢系統。該系統采用VC++技術開發,基于SNMP協議訪問網絡設備中MIB庫的信息, 可以是網絡管理員在日常工作方便的實時掌控網絡的性能狀態。
參考文獻
[1] 余小高.用WinSNMP API實現網絡管理站編程技術的研究.計算機應用與軟件.2007.
[2] 李國新.基于SNMP協議的網絡管理的研究與實現技術.電腦與信息技術.2007.
[3] 李雄偉等.基于SNMP網絡管理系統的研究與開發.網絡安全技術與應用.2007.6.