基于SNMP的網絡拓撲自動發現算法的研究和應用_第1頁
基于SNMP的網絡拓撲自動發現算法的研究和應用_第2頁
基于SNMP的網絡拓撲自動發現算法的研究和應用_第3頁
基于SNMP的網絡拓撲自動發現算法的研究和應用_第4頁
基于SNMP的網絡拓撲自動發現算法的研究和應用_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第32卷 第11期 2010-11(下 【149】收稿日期:2010-09-23作者簡介:聶明 (1964 -,男,吉林人,副教授,博士,主要研究方向為軟件工程、數據庫技術、圖形圖像技術和職業教育。基于SNMP的網絡拓撲自動發現算法的研究和應用1The research and application of network topology automatic discoveryalgorithm based on SNMP protocol聶 明NIE Ming(南京信息職業技術學院,南京 210046摘 要:網絡拓撲結構是網絡中各個節點之間連接關系的表現,是網絡系統高效運行的基礎。本文主要

2、論述了網管系統中一個重要的功能網絡拓撲結構的自動發現和實現技術。在分析比較了幾種常用網絡拓撲結構的發現和實現方法的基礎上,提出了一種基于SNMP的網絡拓撲結構發現算法,該方法經過實際網絡管理系統的驗證,能夠高效地發現整個網絡的拓撲結構。關鍵詞:網絡;SNMP;MIB;拓撲發現0 引言隨著網絡規模的日益擴大,復雜度的不斷增加,網絡拓撲結構也隨之變得日益復雜。一個好的網絡管理系統應該反映網絡中所有設備的布局結構,方便用戶全方位地管理網絡,對網絡異常流量、設備告警、網絡攻擊現象等進行快速診斷和定位,以減少網絡異常造成的損失1。網絡拓撲的自動發現,其目的是獲得被管理網絡的拓撲結構,主要指互連設備,如路

3、由器、交換機、PC 設備等的信息以及它們之間的連接關系。網絡拓撲的自動發現是網絡管理系統的重要組成部分,是發現系統故障和監控設備性能的基礎,更是衡量一個網絡管理系統成敗的重要標準之一2。1 網絡拓撲的自動發現網絡拓撲的自動發現通過收集網絡拓撲的各種必要信息,確定網絡元素之間的互連關系,并在此基礎上構造網絡拓撲圖,為網絡管理人員提供一個直觀了解全局網絡狀態的友好界面。網絡拓撲的自動發現是對大規模網絡進行有效管理的必不可少的手段,當前常用的網絡拓撲自動發現方法主要包括基于ARP協議的拓撲發現方法、基于ICMP協議的拓撲發現方法和基于SNMP協議的拓撲發現方法等36。1基于ARP協議的拓撲發現方法。

4、每個支持地址協議的網絡設備中都維護著一張ARP表,該表記錄了該設備連接的網絡設備的IP地址和MAC 地址的對應關系。利用ARP表,可以從一臺已知路由器或交換機的ARP表發現其連接的其它網絡設備,從這些新發現設備中區分出路由器和交換機,并繼續根據這些路由器和交換機的ARP表進行設備發現,從而得到整個網絡的拓撲結構。因為ARP表中的網絡設備地址都是最近活動過的有效設備的IP地址,幾乎沒有冗余信息,所以該拓撲發現方法效率很高。但如果網絡過大,ARP表中可能無法包括網絡中實際存在的所有網絡設備,同時待發現的網絡設備需要支持ARP協議,所以該方法適合于局域網的拓撲發現。2基于ICMP協議的拓撲發現方法。

5、它通過向網絡設備發送ICMP報文,測試設備的可達性。該方法對一個網段內所有設備的網絡IP地址依次執行ping操作,根據響應就可以發現當前該網段內所有活動的網絡設備。根據給定的IP區間逐一進行ping操作,根據結果,再對上一次操作記錄的活動的IP地址逐一進行路由跟蹤,記錄下每一次路由跟蹤的操作結果,根據前面的操作結果,再分析所得到的信息,從中得到整個拓撲的連接情況。該拓撲發現方法簡單、可靠、快速,但發現具【150】 第32卷 第11期 2010-11(下有一定的盲目性,并在一定程度上加重了網絡的負荷等,此方法適用于子網內網絡設備的發現。3基于SNMP的拓撲發現方法。每個網絡設備都有路由表,路由信

6、息中包含了完整的網絡拓撲信息,包括路由目的網絡地址、目的網絡的子網掩碼、該路由的下一站IP地址、對應的端口索引和路由協議類型等。由于路由表中的下一站地址項所標識的必然是具有路由功能的網絡結點,因此從設定路由器開始,讀取路由器的路由表,可以逐漸向下發現網絡中所有基于路由功能的網絡結點。再根據路由表的本地接口的索引標識項,找到接口表中對應的接口索引,由接口表的接口類型就可以了解到所在子網的類型,從而構建出整個網絡的拓撲關系圖。這種方法的拓撲發現過程和算法簡單,目標明確,發現效率高,系統和網絡開銷小,因此得到人們的廣泛應用。但是,該方法也存在不足之處,主要表現在:(1無法發現網絡中沒有配置IP的網絡

7、設備;(2一個路由器往往配置了多個IP地址,并且基于路由表的發現方法算法是基于IP地址的,所以對于路由器多IP現象,可能導致路由器的發現與實際情況不合;(3要依次檢測各網絡設備的狀態,導致算法運行時間可能過長,同時設備的發現受網絡時延等影響,不能完全實時反映網絡狀況;(4路由表中包含了大量冗余信息;(5網絡設備必須支持SNMP協議。因此,該方法主要用于大型主干網絡的拓撲發現,主要發現網絡中的路由設備,反映網絡的整體拓撲結構狀況。可見,當前各種拓撲方法各有優缺點和局限性,在實際應用中需要根據具體的情況,有選擇或綜合地應用。本文給出了一種基于SNMP的網絡拓撲發現算法,經過實際網絡管理系統的驗證,

8、能夠有效發現整個網絡的拓撲結構。2 基于SNMP 的網絡拓撲自動發現算法2.1 算法思想在網絡中路由器之間的鏈路是由其兩端路由器的端口互聯構成的,根據TCP/IP的編址原理,鏈路兩端路由器端口的IP地址必然處于同一個子網中。因此,通過一個子網中已知的IP地址和這個IP地址的子網掩碼即可計算出該子網中所有其他的IP地址。根據以上思路,從某個節點開始,訪問其MIB庫,得到該節點所有接口的IP地址和子網掩碼,該節點稱為種子節點。通過計算得到與每一接口在同一個子網內的其他IP地址。判斷這些IP地址是否屬于路由器信息,如果是則將此路由器信息記錄到待檢測路由設備鏈表,作為下一層發現的種子節點。并同時記錄兩

9、個路由器間的鏈路信息到拓撲信息鏈表。重復以上步驟直到沒有種子節點或者達到指定的發現層數,即可完成相應的拓撲發現過程。2.2 算法描述算法可具體描述如下:1根據網絡管理系統的IP和掩碼,使用路由跟蹤的方法獲取網管終端所在的默認路由器網關地址。訪問該路由器獲取ipAdderssTable地址表信息,將其編號加入AllRouters隊列(元素包括路由器名、接口號、接口IP、接口號和接口IP等,其中接口號與接口IP的多少依據各個不同路由器而不同和AccessRouters隊列(待訪問路由器,結構跟AllRouters類似;2從AccessRoutes取出一個元素設為當前處理的路由器Rx,依次訪問Rx的

10、路由表ipRouteTable 表項,將目標子網信息編號無重復地放入子網隊列Subnets(元素包括子網號,子網地址,掩碼等;3判斷路由器與子網連接關系:依次對Rx的ipRouteTable表項檢查,如果ipRouteType 項不為4,表示相應子網與Rx直接相連,下一跳地址ipNextHopIpAddress項為空。根據Rx的ipAddressTable信息確定y端口與該子網z相連接,將連接關系組(Rx,y,Subnets無重復地放入R-links-S隊列(路由器接口與子網相連的接配對的二元組;4判斷路由器之間的連接關系:如果ipRouteType為4,下一跳ipNextHopIpAddre

11、ss地址有效,表明另一個路由器與Rx直接相連。根據ipNextHopIpAddress地址信息訪問另一個路由器的ipAddressTable,判斷AllRouters隊列中是否己經存在該路由器信息,如不存在則把該路由器編號加入隊列AllRouters和AccessRouters中。很容易確定Rx的y端口與另一個路由器Ru的v端口直接連接。因此把元素(Rx,y,Ru,v無重復地放入隊列第32卷 第11期 2010-11(下 【151】R-links-R(路由器接口與路由器接口相連的二元組中。5把隊列R-links-R進行去冗處理。因為在以上的算法實現中,有可能存相同的連接信息加入到隊列中。例如:

12、R1的2端口與R4的3端口直接相連,在算法實現過程中,可能同時在隊列中加入了(R1,2,R4,3和(R4,3,R1,2的元素組,雖然它們在形式上不一樣,但他們表示同一個連接信息。6把Rx的元素組從AccessRouters中刪除,如果AccessRouters不為空,轉到(2,如果為空,程序中止。算法運行結束以后,AllRouters包含了所有活動的路由器,子網隊列Subnets包含了所有活動的子網,隊列R-links-S和隊列R-links-R的信息表示路由器與子網、路由器與路山器之間連接關系,最終可以準確而完整地把拓撲結構繪制出來。2.3 拓撲發現中幾個問題1路由器多IP地址問題路由器的每

13、個接口對應著一個IP地址,一個接口下可以配置多個端口。根據以上拓撲發現方法,就會出現重復訪問同一路由器的現象,嚴重影響拓撲發現算法的準確性和效率。本文采取的具體解決方法是:路由器MIB庫中的ipAddrTable 表中提供了該網絡設備所有的I P 地址信息,ipAddrEntry表中的每一行是一個ipAddrEntry,而一個ipAddrEntry對應一個接口的地址信息。由于ipAddrTable中的對象都是只讀的,所以使用ipAddrTable中的一個IP地址來標識路由器,同時結合ifTable表,可以把接口和其IP地址一一對應起來。在實際應用時選擇ipAddTable中的最大的IP作為路由

14、器的標識IP地址更合理,由此就解決多IP識別問題。2控制拓撲閾值上述算法利用路由表來從內向外發現路由器,可以發現的范圍很廣,如果不加以控制,可能造成拓撲發現時間過長,達不到預期發現的效果。通過對路由器的向下發現Hop數進行控制,并設置閾值,當從某個路由器向下發現Hop數達到設定閾值,則停止繼續向下發現。這樣得到的拓撲發現結果是以種子節點為中心向外輻射的星形樹,同一層次的路由器處于同一樹干上。但有時為簡化程序復雜度,也可以利用限制拓撲發現時間的辦法來控制發現的范圍7。3 算法應用依據上述算法思想,在某公司的網絡綜合管理平臺中成功實現了網絡拓撲結構的自動發現,并驗證了算法的正確性。該平臺以開源OP

15、ENNMS 框架為基礎進行二次開發,主要功能包括拓撲圖管理、設備管理、排程管理、告警管理、報表管理和性能管理等,可以對網絡中的各類設備進行全面管理和監控,及時發現并排除設備故障。在校園網的實驗試驗環境下,主干網絡由1臺路由器和多臺三層交換機組成,交換機下掛接了若干PC服務器,用本算法對此網絡進行探測,所得到的拓撲圖如圖1所示。 圖1 網絡綜合管理平臺應用本算法繪制的拓撲圖4 結束語網絡的拓撲結構對網絡管理系統非常重要,各個軟件廠商也采用自己的實現方法開發了一些進行拓撲發現的系統。本文對SNMP網絡拓撲算法進行了深入研究,并在此基礎進行了改進,提高了算法的發現效率,增強了網絡拓撲信息顯示的直觀性

16、,為網絡管理、網絡故障定位和網絡設備管理提供了強有力的支持。該方法已成功應用于某【152】 第32卷 第11期 2010-11(下公司的網絡綜合管理平臺,取得了良好的效果。參考文獻:1 Y.Breitbart,M.Garofalakis,B.Jai,C.Martin,R.Rastogi,A.Silberschatz,"Topology Discovery in Heterogeneous IP Networks:The NetInventory System,"IEEE/ACM Transactions on Networking,vol.12,no.3,June 2004

17、,pp.401-414.Tomography Using Striped Unicast Probes,"IEEE/ACM Transactions on Networking,August 2006,vol.14,no.4, 697-710.4 孫德文,高儒振.基于SNMP網絡拓撲圖的自動構造實現J.上海交通大學學報,1997,31(8:97-101.5 楊棉.網絡自動拓撲發現算法研究D.武漢:華中師范大學,2003.6 李玉鵬,王換招,田海燕,等.基于SNMP和JAVA的網絡拓撲發現J.計算機工程與應用,2004,(5:152-154.7 李子柱,倪春勝等.網絡拓撲發現系統的設計

18、與實現J.計算機工程,2006,1(2:104-106.輸出點。輸入端均為開關量信號,輸出端均接繼電器線圈。其地址分配如表1所示。表1 起升機構地址表3.3 PLC 配置及PLC 外圍接線圖三大機構共有21個輸入點,14個輸出點,所以輸入模塊選用兩塊1746-IV16模塊;輸出模塊選用一塊1746-OW16模塊;CPU模塊選用1747-L531模塊;電源模塊選用1746-P4模塊。整個PLC外圍接線如圖2所示。3.4 起升機構梯形圖的編寫根據起升電機要實現的控制要求,編寫出對應的起升機構梯形圖。限于版面所限,此處的PLC 梯形圖略去,讀者如有需要,可來信索取。4 結論門機模擬裝置投入培訓以來,經過幾個周期的實驗實訓,結果表明,該模擬裝置控制系統較好地模擬了港口門機的吊鉤工況和港務局門機平時培訓環境,使學生不出校門就可以了解門機的結構、基本原理和工況,學到PLC梯形圖的編寫和變頻器的調試,它的應用大大提高了學生的學習興趣,使抽象的理論學習變得直觀形象,便于學生快速提高知識水平,從而為將來進港工作時快速適應工作崗位打下堅實的基礎。而我們培養的港口電氣專業畢業生到就業崗位參加培訓時果然熟練而高效,考核合格率高達100%,受到企業領導與工程技術人員的認可,充分體現了校企結合的辦學方針,達到了職業學校為企業培養人才的目的。參考文獻:1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論