




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第32卷 第11期 2010-11(下 【149】收稿日期:2010-09-23作者簡介:聶明 (1964 -,男,吉林人,副教授,博士,主要研究方向為軟件工程、數(shù)據(jù)庫技術、圖形圖像技術和職業(yè)教育。基于SNMP的網(wǎng)絡拓撲自動發(fā)現(xiàn)算法的研究和應用1The research and application of network topology automatic discoveryalgorithm based on SNMP protocol聶 明NIE Ming(南京信息職業(yè)技術學院,南京 210046摘 要:網(wǎng)絡拓撲結構是網(wǎng)絡中各個節(jié)點之間連接關系的表現(xiàn),是網(wǎng)絡系統(tǒng)高效運行的基礎。本文主要
2、論述了網(wǎng)管系統(tǒng)中一個重要的功能網(wǎng)絡拓撲結構的自動發(fā)現(xiàn)和實現(xiàn)技術。在分析比較了幾種常用網(wǎng)絡拓撲結構的發(fā)現(xiàn)和實現(xiàn)方法的基礎上,提出了一種基于SNMP的網(wǎng)絡拓撲結構發(fā)現(xiàn)算法,該方法經(jīng)過實際網(wǎng)絡管理系統(tǒng)的驗證,能夠高效地發(fā)現(xiàn)整個網(wǎng)絡的拓撲結構。關鍵詞:網(wǎng)絡;SNMP;MIB;拓撲發(fā)現(xiàn)0 引言隨著網(wǎng)絡規(guī)模的日益擴大,復雜度的不斷增加,網(wǎng)絡拓撲結構也隨之變得日益復雜。一個好的網(wǎng)絡管理系統(tǒng)應該反映網(wǎng)絡中所有設備的布局結構,方便用戶全方位地管理網(wǎng)絡,對網(wǎng)絡異常流量、設備告警、網(wǎng)絡攻擊現(xiàn)象等進行快速診斷和定位,以減少網(wǎng)絡異常造成的損失1。網(wǎng)絡拓撲的自動發(fā)現(xiàn),其目的是獲得被管理網(wǎng)絡的拓撲結構,主要指互連設備,如路
3、由器、交換機、PC 設備等的信息以及它們之間的連接關系。網(wǎng)絡拓撲的自動發(fā)現(xiàn)是網(wǎng)絡管理系統(tǒng)的重要組成部分,是發(fā)現(xiàn)系統(tǒng)故障和監(jiān)控設備性能的基礎,更是衡量一個網(wǎng)絡管理系統(tǒng)成敗的重要標準之一2。1 網(wǎng)絡拓撲的自動發(fā)現(xiàn)網(wǎng)絡拓撲的自動發(fā)現(xiàn)通過收集網(wǎng)絡拓撲的各種必要信息,確定網(wǎng)絡元素之間的互連關系,并在此基礎上構造網(wǎng)絡拓撲圖,為網(wǎng)絡管理人員提供一個直觀了解全局網(wǎng)絡狀態(tài)的友好界面。網(wǎng)絡拓撲的自動發(fā)現(xiàn)是對大規(guī)模網(wǎng)絡進行有效管理的必不可少的手段,當前常用的網(wǎng)絡拓撲自動發(fā)現(xiàn)方法主要包括基于ARP協(xié)議的拓撲發(fā)現(xiàn)方法、基于ICMP協(xié)議的拓撲發(fā)現(xiàn)方法和基于SNMP協(xié)議的拓撲發(fā)現(xiàn)方法等36。1基于ARP協(xié)議的拓撲發(fā)現(xiàn)方法。
4、每個支持地址協(xié)議的網(wǎng)絡設備中都維護著一張ARP表,該表記錄了該設備連接的網(wǎng)絡設備的IP地址和MAC 地址的對應關系。利用ARP表,可以從一臺已知路由器或交換機的ARP表發(fā)現(xiàn)其連接的其它網(wǎng)絡設備,從這些新發(fā)現(xiàn)設備中區(qū)分出路由器和交換機,并繼續(xù)根據(jù)這些路由器和交換機的ARP表進行設備發(fā)現(xiàn),從而得到整個網(wǎng)絡的拓撲結構。因為ARP表中的網(wǎng)絡設備地址都是最近活動過的有效設備的IP地址,幾乎沒有冗余信息,所以該拓撲發(fā)現(xiàn)方法效率很高。但如果網(wǎng)絡過大,ARP表中可能無法包括網(wǎng)絡中實際存在的所有網(wǎng)絡設備,同時待發(fā)現(xiàn)的網(wǎng)絡設備需要支持ARP協(xié)議,所以該方法適合于局域網(wǎng)的拓撲發(fā)現(xiàn)。2基于ICMP協(xié)議的拓撲發(fā)現(xiàn)方法。
5、它通過向網(wǎng)絡設備發(fā)送ICMP報文,測試設備的可達性。該方法對一個網(wǎng)段內所有設備的網(wǎng)絡IP地址依次執(zhí)行ping操作,根據(jù)響應就可以發(fā)現(xiàn)當前該網(wǎng)段內所有活動的網(wǎng)絡設備。根據(jù)給定的IP區(qū)間逐一進行ping操作,根據(jù)結果,再對上一次操作記錄的活動的IP地址逐一進行路由跟蹤,記錄下每一次路由跟蹤的操作結果,根據(jù)前面的操作結果,再分析所得到的信息,從中得到整個拓撲的連接情況。該拓撲發(fā)現(xiàn)方法簡單、可靠、快速,但發(fā)現(xiàn)具【150】 第32卷 第11期 2010-11(下有一定的盲目性,并在一定程度上加重了網(wǎng)絡的負荷等,此方法適用于子網(wǎng)內網(wǎng)絡設備的發(fā)現(xiàn)。3基于SNMP的拓撲發(fā)現(xiàn)方法。每個網(wǎng)絡設備都有路由表,路由信
6、息中包含了完整的網(wǎng)絡拓撲信息,包括路由目的網(wǎng)絡地址、目的網(wǎng)絡的子網(wǎng)掩碼、該路由的下一站IP地址、對應的端口索引和路由協(xié)議類型等。由于路由表中的下一站地址項所標識的必然是具有路由功能的網(wǎng)絡結點,因此從設定路由器開始,讀取路由器的路由表,可以逐漸向下發(fā)現(xiàn)網(wǎng)絡中所有基于路由功能的網(wǎng)絡結點。再根據(jù)路由表的本地接口的索引標識項,找到接口表中對應的接口索引,由接口表的接口類型就可以了解到所在子網(wǎng)的類型,從而構建出整個網(wǎng)絡的拓撲關系圖。這種方法的拓撲發(fā)現(xiàn)過程和算法簡單,目標明確,發(fā)現(xiàn)效率高,系統(tǒng)和網(wǎng)絡開銷小,因此得到人們的廣泛應用。但是,該方法也存在不足之處,主要表現(xiàn)在:(1無法發(fā)現(xiàn)網(wǎng)絡中沒有配置IP的網(wǎng)絡
7、設備;(2一個路由器往往配置了多個IP地址,并且基于路由表的發(fā)現(xiàn)方法算法是基于IP地址的,所以對于路由器多IP現(xiàn)象,可能導致路由器的發(fā)現(xiàn)與實際情況不合;(3要依次檢測各網(wǎng)絡設備的狀態(tài),導致算法運行時間可能過長,同時設備的發(fā)現(xiàn)受網(wǎng)絡時延等影響,不能完全實時反映網(wǎng)絡狀況;(4路由表中包含了大量冗余信息;(5網(wǎng)絡設備必須支持SNMP協(xié)議。因此,該方法主要用于大型主干網(wǎng)絡的拓撲發(fā)現(xiàn),主要發(fā)現(xiàn)網(wǎng)絡中的路由設備,反映網(wǎng)絡的整體拓撲結構狀況??梢?當前各種拓撲方法各有優(yōu)缺點和局限性,在實際應用中需要根據(jù)具體的情況,有選擇或綜合地應用。本文給出了一種基于SNMP的網(wǎng)絡拓撲發(fā)現(xiàn)算法,經(jīng)過實際網(wǎng)絡管理系統(tǒng)的驗證,
8、能夠有效發(fā)現(xiàn)整個網(wǎng)絡的拓撲結構。2 基于SNMP 的網(wǎng)絡拓撲自動發(fā)現(xiàn)算法2.1 算法思想在網(wǎng)絡中路由器之間的鏈路是由其兩端路由器的端口互聯(lián)構成的,根據(jù)TCP/IP的編址原理,鏈路兩端路由器端口的IP地址必然處于同一個子網(wǎng)中。因此,通過一個子網(wǎng)中已知的IP地址和這個IP地址的子網(wǎng)掩碼即可計算出該子網(wǎng)中所有其他的IP地址。根據(jù)以上思路,從某個節(jié)點開始,訪問其MIB庫,得到該節(jié)點所有接口的IP地址和子網(wǎng)掩碼,該節(jié)點稱為種子節(jié)點。通過計算得到與每一接口在同一個子網(wǎng)內的其他IP地址。判斷這些IP地址是否屬于路由器信息,如果是則將此路由器信息記錄到待檢測路由設備鏈表,作為下一層發(fā)現(xiàn)的種子節(jié)點。并同時記錄兩
9、個路由器間的鏈路信息到拓撲信息鏈表。重復以上步驟直到?jīng)]有種子節(jié)點或者達到指定的發(fā)現(xiàn)層數(shù),即可完成相應的拓撲發(fā)現(xiàn)過程。2.2 算法描述算法可具體描述如下:1根據(jù)網(wǎng)絡管理系統(tǒng)的IP和掩碼,使用路由跟蹤的方法獲取網(wǎng)管終端所在的默認路由器網(wǎng)關地址。訪問該路由器獲取ipAdderssTable地址表信息,將其編號加入AllRouters隊列(元素包括路由器名、接口號、接口IP、接口號和接口IP等,其中接口號與接口IP的多少依據(jù)各個不同路由器而不同和AccessRouters隊列(待訪問路由器,結構跟AllRouters類似;2從AccessRoutes取出一個元素設為當前處理的路由器Rx,依次訪問Rx的
10、路由表ipRouteTable 表項,將目標子網(wǎng)信息編號無重復地放入子網(wǎng)隊列Subnets(元素包括子網(wǎng)號,子網(wǎng)地址,掩碼等;3判斷路由器與子網(wǎng)連接關系:依次對Rx的ipRouteTable表項檢查,如果ipRouteType 項不為4,表示相應子網(wǎng)與Rx直接相連,下一跳地址ipNextHopIpAddress項為空。根據(jù)Rx的ipAddressTable信息確定y端口與該子網(wǎng)z相連接,將連接關系組(Rx,y,Subnets無重復地放入R-links-S隊列(路由器接口與子網(wǎng)相連的接配對的二元組;4判斷路由器之間的連接關系:如果ipRouteType為4,下一跳ipNextHopIpAddre
11、ss地址有效,表明另一個路由器與Rx直接相連。根據(jù)ipNextHopIpAddress地址信息訪問另一個路由器的ipAddressTable,判斷AllRouters隊列中是否己經(jīng)存在該路由器信息,如不存在則把該路由器編號加入隊列AllRouters和AccessRouters中。很容易確定Rx的y端口與另一個路由器Ru的v端口直接連接。因此把元素(Rx,y,Ru,v無重復地放入隊列第32卷 第11期 2010-11(下 【151】R-links-R(路由器接口與路由器接口相連的二元組中。5把隊列R-links-R進行去冗處理。因為在以上的算法實現(xiàn)中,有可能存相同的連接信息加入到隊列中。例如:
12、R1的2端口與R4的3端口直接相連,在算法實現(xiàn)過程中,可能同時在隊列中加入了(R1,2,R4,3和(R4,3,R1,2的元素組,雖然它們在形式上不一樣,但他們表示同一個連接信息。6把Rx的元素組從AccessRouters中刪除,如果AccessRouters不為空,轉到(2,如果為空,程序中止。算法運行結束以后,AllRouters包含了所有活動的路由器,子網(wǎng)隊列Subnets包含了所有活動的子網(wǎng),隊列R-links-S和隊列R-links-R的信息表示路由器與子網(wǎng)、路由器與路山器之間連接關系,最終可以準確而完整地把拓撲結構繪制出來。2.3 拓撲發(fā)現(xiàn)中幾個問題1路由器多IP地址問題路由器的每
13、個接口對應著一個IP地址,一個接口下可以配置多個端口。根據(jù)以上拓撲發(fā)現(xiàn)方法,就會出現(xiàn)重復訪問同一路由器的現(xiàn)象,嚴重影響拓撲發(fā)現(xiàn)算法的準確性和效率。本文采取的具體解決方法是:路由器MIB庫中的ipAddrTable 表中提供了該網(wǎng)絡設備所有的I P 地址信息,ipAddrEntry表中的每一行是一個ipAddrEntry,而一個ipAddrEntry對應一個接口的地址信息。由于ipAddrTable中的對象都是只讀的,所以使用ipAddrTable中的一個IP地址來標識路由器,同時結合ifTable表,可以把接口和其IP地址一一對應起來。在實際應用時選擇ipAddTable中的最大的IP作為路由
14、器的標識IP地址更合理,由此就解決多IP識別問題。2控制拓撲閾值上述算法利用路由表來從內向外發(fā)現(xiàn)路由器,可以發(fā)現(xiàn)的范圍很廣,如果不加以控制,可能造成拓撲發(fā)現(xiàn)時間過長,達不到預期發(fā)現(xiàn)的效果。通過對路由器的向下發(fā)現(xiàn)Hop數(shù)進行控制,并設置閾值,當從某個路由器向下發(fā)現(xiàn)Hop數(shù)達到設定閾值,則停止繼續(xù)向下發(fā)現(xiàn)。這樣得到的拓撲發(fā)現(xiàn)結果是以種子節(jié)點為中心向外輻射的星形樹,同一層次的路由器處于同一樹干上。但有時為簡化程序復雜度,也可以利用限制拓撲發(fā)現(xiàn)時間的辦法來控制發(fā)現(xiàn)的范圍7。3 算法應用依據(jù)上述算法思想,在某公司的網(wǎng)絡綜合管理平臺中成功實現(xiàn)了網(wǎng)絡拓撲結構的自動發(fā)現(xiàn),并驗證了算法的正確性。該平臺以開源OP
15、ENNMS 框架為基礎進行二次開發(fā),主要功能包括拓撲圖管理、設備管理、排程管理、告警管理、報表管理和性能管理等,可以對網(wǎng)絡中的各類設備進行全面管理和監(jiān)控,及時發(fā)現(xiàn)并排除設備故障。在校園網(wǎng)的實驗試驗環(huán)境下,主干網(wǎng)絡由1臺路由器和多臺三層交換機組成,交換機下掛接了若干PC服務器,用本算法對此網(wǎng)絡進行探測,所得到的拓撲圖如圖1所示。 圖1 網(wǎng)絡綜合管理平臺應用本算法繪制的拓撲圖4 結束語網(wǎng)絡的拓撲結構對網(wǎng)絡管理系統(tǒng)非常重要,各個軟件廠商也采用自己的實現(xiàn)方法開發(fā)了一些進行拓撲發(fā)現(xiàn)的系統(tǒng)。本文對SNMP網(wǎng)絡拓撲算法進行了深入研究,并在此基礎進行了改進,提高了算法的發(fā)現(xiàn)效率,增強了網(wǎng)絡拓撲信息顯示的直觀性
16、,為網(wǎng)絡管理、網(wǎng)絡故障定位和網(wǎng)絡設備管理提供了強有力的支持。該方法已成功應用于某【152】 第32卷 第11期 2010-11(下公司的網(wǎng)絡綜合管理平臺,取得了良好的效果。參考文獻: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網(wǎng)絡拓撲圖的自動構造實現(xiàn)J.上海交通大學學報,1997,31(8:97-101.5 楊棉.網(wǎng)絡自動拓撲發(fā)現(xiàn)算法研究D.武漢:華中師范大學,2003.6 李玉鵬,王換招,田海燕,等.基于SNMP和JAVA的網(wǎng)絡拓撲發(fā)現(xiàn)J.計算機工程與應用,2004,(5:152-154.7 李子柱,倪春勝等.網(wǎng)絡拓撲發(fā)現(xiàn)系統(tǒng)的設計
18、與實現(xiàn)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 起升機構梯形圖的編寫根據(jù)起升電機要實現(xiàn)的控制要求,編寫出對應的起升機構梯形圖。限于版面所限,此處的PLC 梯形圖略去,讀者如有需要,可來信索取。4 結論門機模擬裝置投入培訓以來,經(jīng)過幾個周期的實驗實訓,結果表明,該模擬裝置控制系統(tǒng)較好地模擬了港口門機的吊鉤工況和港務局門機平時培訓環(huán)境,使學生不出校門就可以了解門機的結構、基本原理和工況,學到PLC梯形圖的編寫和變頻器的調試,它的應用大大提高了學生的學習興趣,使抽象的理論學習變得直觀形象,便于學生快速提高知識水平,從而為將來進港工作時快速適應工作崗位打下堅實的基礎。而我們培養(yǎng)的港口電氣專業(yè)畢業(yè)生到就業(yè)崗位參加培訓時果然熟練而高效,考核合格率高達100%,受到企業(yè)領導與工程技術人員的認可,充分體現(xiàn)了校企結合的辦學方針,達到了職業(yè)學校為企業(yè)培養(yǎng)人才的目的。參考文獻:1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋整修合同協(xié)議書范本
- 工傷解除勞動合同協(xié)議書
- 運輸車輛維修合同協(xié)議書
- 發(fā)廊員工合同協(xié)議書
- 砌體合同協(xié)議書
- 雇傭工合同協(xié)議書
- 紡織品樣品制作流程詳解試題及答案
- 貼瓷磚安全合同協(xié)議書
- 飛鳥學堂測試題及答案
- 崗位合同協(xié)議書
- 2025年河南鄭州航空港科創(chuàng)投資集團有限公司招聘筆試參考題庫含答案解析
- 人教版小學二年級上冊數(shù)學 期中測試卷
- 北京市一零一中學2024-2025學年高三適應性調研考試語文試題含解析
- 鈑金生產(chǎn)車間安全培訓
- (二模)湛江市2025年普通高考測試(二)政治試卷(含答案)
- 模具維護保養(yǎng)培訓
- 2025年中考語文??甲魑难侯}《10個主題+15篇范文》
- 維護國家文化安全
- 橋梁水下結構內部缺陷超聲波檢測基于技術
- 兒童流行性感冒疫苗預防和抗病毒藥物應用的實踐指南(2024版)解讀課件
- 高效時間管理培訓的技巧
評論
0/150
提交評論