- 相關推薦
淺談網(wǎng)絡拓撲發(fā)現(xiàn)算法在網(wǎng)管中的應用
[論文關鍵詞]簡單網(wǎng)絡協(xié)議(SNMP) 網(wǎng)絡拓撲自動發(fā)現(xiàn)算法 網(wǎng)絡管理
[論文摘要]主要論述網(wǎng)管系統(tǒng)中一個重要的功能網(wǎng)絡拓撲的自動發(fā)現(xiàn)。闡述相關的理論知識,并具體討論基于SNMP和基于ICMP的拓撲發(fā)現(xiàn),最后對算法所適用范圍加以說明。雖然這種方法能夠較好的發(fā)現(xiàn)網(wǎng)絡拓撲,但是它需要占用大量的帶寬資源。
隨著網(wǎng)絡的普及,人們對計算機網(wǎng)絡的依賴性大大加強了。在現(xiàn)有的技術條件下,人們希望有一個更加穩(wěn)定可靠的網(wǎng)絡。計算機網(wǎng)絡管理系統(tǒng)就是應這樣的需求而產生的。它對網(wǎng)絡上的各種設備進行管理,通過監(jiān)視和控制這些設備。及時地向管理人員報告網(wǎng)絡狀態(tài),并且簡化網(wǎng)絡故障的處理,減少故障造成的損失,提高網(wǎng)絡的服務質量和效率。在我國,人們開始認識到網(wǎng)絡管理的重要性。
一、網(wǎng)絡管理中傳統(tǒng)的網(wǎng)絡拓撲發(fā)現(xiàn)算法
網(wǎng)絡拓撲的發(fā)現(xiàn),實際上就是根據(jù)網(wǎng)絡上節(jié)點連接情況,構造出來一個反映這種連接關系的圖。網(wǎng)絡節(jié)點可以是網(wǎng)關,也可以是子網(wǎng):網(wǎng)關節(jié)點是與子網(wǎng)和其它網(wǎng)關節(jié)點相鄰的節(jié)點;子網(wǎng)節(jié)點可被認為只與網(wǎng)關節(jié)點相鄰,至少與它的缺省網(wǎng)關相鄰。各子網(wǎng)通過各目的網(wǎng)關與其他子網(wǎng),這些子網(wǎng)可以是一個局域網(wǎng),也可以是某個局域網(wǎng)的一部分,它們都連接到網(wǎng)關的一個端口上。網(wǎng)關的端口可以連接子網(wǎng),也可以同其他路由器相連。
主拓撲指的是反映出關鍵設備包括路由器,它們的接口和子網(wǎng)的連接關系,即路由器一路由器、路由器一子網(wǎng)、接口的關系。這些信息需要對網(wǎng)絡進行搜索而獲得:一般只需要對連接設備進行遍歷就可以得到主拓撲結構。當前的網(wǎng)管軟件都是通過對網(wǎng)絡設備的MIB庫進行訪問,所以這種方法又被稱為基于SNMP的拓撲發(fā)現(xiàn)。經(jīng)過上述的遍歷過程,可以得到網(wǎng)絡拓拓撲圖的整體構成,知道了網(wǎng)絡主干通道情況。但是子網(wǎng)內部的具體設備以及連接狀態(tài)尚不可知。這就需要依靠子網(wǎng)發(fā)現(xiàn)來做進一步的工作。子網(wǎng)發(fā)現(xiàn)完成的任務是確定子網(wǎng)內各網(wǎng)絡設備的狀態(tài)、類型以及網(wǎng)絡接口。
遍歷的定義是:對于無向圖,以圖中某一點為出發(fā)點,沿著邊依次訪問圖的其余節(jié)點,如果圖是連通的,則從圖的任一點出發(fā)按一定的順序沿著某些邊可以訪問圖中的所有節(jié)點,而且每個節(jié)點僅被訪問一次,這一過程稱為圖的遍歷。在網(wǎng)絡上,一個節(jié)點可以和很多的節(jié)點連接,所以當進行網(wǎng)絡拓撲結構發(fā)現(xiàn)的時候,有可能會訪問已經(jīng)被發(fā)現(xiàn)過的節(jié)點。因此,在遍歷的時候,必須對每一個節(jié)點設置一個標志。當節(jié)點未被訪問過時,相應的標志為0,否則,就置為1。
二、改進的網(wǎng)絡拓撲算法
前面基于SNMP的拓撲算法在一定程度上是非常有效的,拓撲的速度也非?臁5嬖谝粋缺陷。那就是,在一個特定的域中,所有的子網(wǎng)的信息都依賴于設備具有SNMP的特性,如果系統(tǒng)不支持SNMP,則這種方法就無能為力了。還有對網(wǎng)絡管理的不重視,或者考慮到安全方面的原因,人們往往把網(wǎng)絡設備的SNMP功能關閉,這樣就難于取得設備的MIB值,就出現(xiàn)了拓撲的不完整性,嚴重影響了網(wǎng)絡管理系統(tǒng)的功能。針對這一的問題,下面討論本文對上述算法的改進一基于ICMP協(xié)議的拓撲發(fā)現(xiàn)。
(一)ICMP報文的格式
ICMP被認為是IP層的一個組成部分。它傳遞差錯報文以及其他需要注意的信息。網(wǎng)際協(xié)議CIP沒有出錯報告或出錯校正機制,它依靠網(wǎng)際控制報文協(xié)議(ICMP)模塊來報告數(shù)據(jù)處理過程,井提供和狀態(tài)信息。ICMP報文在傳送時被封裝在IP數(shù)據(jù)報中,使用IP協(xié)議發(fā)送,但ICEP不看作是高層協(xié)議的內容。
回應請求與應答均以IP數(shù)據(jù)報的形式在網(wǎng)間傳輸,假如成功地收到一個應答(應答中的數(shù)據(jù)拷貝與請求中的任選數(shù)據(jù)完全一致),不但說明信宿機可以到達,而且說明數(shù)據(jù)報傳輸系統(tǒng)的相應部分工作正常,至少信源機和信宿機的ICMP軟件和IP軟件工作正常,請求與應答經(jīng)過中間網(wǎng)關也在正常工作。在許多TCP/IP實現(xiàn)中,用戶命令Ping便是利用ICMP回應請求/應答報文測試信宿機的可到達性的。
(二)PING的實現(xiàn)
PING的主要操作是發(fā)送報文,并簡單地等待回答。PING之所以如此命名,是因為它是一個簡單的回顯協(xié)議,使用ICMP響應請求與響應應答報文。PING主要由系統(tǒng)程序員用于診斷和調試。一般的,PING的功能有:
LOOP BACK PING用于驗證TCP/IP軟件的操作。
PIN G地址確定能否尋址網(wǎng)絡設備。
PING遠程IP地址驗證能否尋址網(wǎng)絡。
PING遠程主機名驗證主機上某個服務器的操作。
實現(xiàn)PING的過程主要是:首先向目的機器發(fā)送一個響應請求的ICMP報文,然后等待目的機器的應答,直到超時。如收到應答報文,貝以報告目的機器運行正常,程序退出。
(三)traceroute的實現(xiàn)
在IP頭的結構中,存在一個ip_ttl域,即生存時間(time to_live,TTL)。TTL參數(shù)用于測量數(shù)據(jù)報在網(wǎng)際存在多長時間。網(wǎng)絡中的每個路由器都檢查該域,如果TTL值為0,路由器就拋棄該數(shù)據(jù)報。路由器還必須對它處理的每個數(shù)據(jù)報的該域進行減I操作。在實際執(zhí)行中,TTL域是一個反映跳段的值。所以,當數(shù)據(jù)報穿過一個IP節(jié)點(網(wǎng)關)時。TTL域中的值就減1。
traceroute的功能就是利用IP頭中的TTL域。開始時信源設置IP頭的TTL值為0,發(fā)送報文給信宿,第一個網(wǎng)關收到此報文后,發(fā)現(xiàn)TTL值為0,它丟棄此報文,并發(fā)送一個類型為超時的ICMP報文給信源。信源接收到此報文后對它進行解析,這樣就得到了路由中的第一個網(wǎng)關地址。然后信源發(fā)送TTL值為1的報文給信宿,第一個網(wǎng)關把它的TTL值減為0后轉發(fā)給第二個網(wǎng)關,第二個網(wǎng)關發(fā)現(xiàn)報文TTL值為0,丟棄此報文并向信源發(fā)送超時ICMP報文。這樣就得到了路由中和第二個網(wǎng)關地址。如此循環(huán)下去,直到報文正確到達信宿,這樣就得到了通往信宿的路由。
(四)網(wǎng)絡拓撲的發(fā)現(xiàn)算法
具體實現(xiàn)的步驟:
1、于給定的IP區(qū)間,利用PING依次檢測每個IP地址,將檢測到的IP地址記錄到IP地址表中。
2、對第一步中查到的每個IP地址進行traceroute操作,記錄到這些IP地址的路由。并把每條路由中的網(wǎng)關地址也加到IP表中。
3、對IP地址表中的每個IP地址,通過發(fā)送掩碼請求報文與接收掩碼應答報文,找到這些IP地址的子網(wǎng)掩碼。
4、根據(jù)子網(wǎng)掩碼,確定對應每個IP地址的子網(wǎng)地址,并確定各個子網(wǎng)的網(wǎng)絡類型。把查到的各個子網(wǎng)加入地址表中。
5、試圖得到與IP地址表中每個IP地址對應的域名(Domain Name)。如具有相同域名,則說明同一個網(wǎng)絡設備具有多個IP地址,即具有多個網(wǎng)絡接口。
6、根據(jù)第二步中的路由與第四步中得到的子網(wǎng),產生連接情況表。
【淺談網(wǎng)絡拓撲發(fā)現(xiàn)算法在網(wǎng)管中的應用】相關文章:
淺談現(xiàn)代教育技術在醫(yī)學教育中的應用07-24
淺談MOF材料的應用04-21
光網(wǎng)絡技術在城域傳送網(wǎng)中的應用08-08
淺談財務軟件在現(xiàn)代企業(yè)中的應用04-16
淺談解肝煎的臨床應用07-26