版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、畢業(yè)設(shè)計(jì)畢業(yè)設(shè)計(jì)( (論文論文) ) 題 目 基于 SNMP 的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)現(xiàn) 學(xué)院名稱 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 指導(dǎo)教師 職 稱 班 級(jí) 學(xué) 號(hào) 學(xué)生姓名 年 月 日 目目 錄錄 摘摘 要要.iiiiii AbstractAbstract.iviv 第一章第一章 緒緒 論論.1 1 1.1 課題背景及意義 .1 1.2 本文的研究目標(biāo)及文章組織 .2 1.2.1 研究目標(biāo).2 1.2.2 文章組織.3 第二章第二章 網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)概述網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)概述.4 4 2.1 網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)概述.4 2.1.1 網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)概念 .4 2.1.2 網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)對(duì)象 .4 2.1.3 網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)前的準(zhǔn)備工
2、作 .4 2.1.4 常用的網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)技術(shù) .5 2.2 SNMP 協(xié)議介紹.8 2.2.1 SNMP 的發(fā)展 .8 2.2.2 SNMP 的協(xié)議層次 .9 2.2.3 SNMP 管理模型 .9 2.2.4 SNMP 協(xié)議報(bào)文和通信原語 .11 2.2.5 使用 SNMP 協(xié)議時(shí)所涉及的內(nèi)容.13 第三章第三章 網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)算法的研究網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)算法的研究.1818 3.1 基本算法 .18 3.2 基于 ARP 和 SNMP 的拓?fù)浒l(fā)現(xiàn)算法 .19 3.3 使用 DNS 區(qū)域傳輸和廣播 Ping 的拓?fù)浒l(fā)現(xiàn)算法 .19 3.4 使用 DNS 區(qū)域傳輸和 Traceroute 的拓?fù)浒l(fā)現(xiàn)算法
3、 .20 3.5 使用 Traceroute 進(jìn)行探測(cè)的拓?fù)浒l(fā)現(xiàn)算法 .22 3.6 基于 OSPF 和 SNMP 的拓?fù)浒l(fā)現(xiàn)算法 .24 3.7 骨干網(wǎng)拓?fù)浒l(fā)現(xiàn)算法 .25 第四章第四章 基于基于 SNMPSNMP 的網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)算法的實(shí)現(xiàn)的網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)算法的實(shí)現(xiàn).2727 4.1 算法的原理.27 4.2 算法描述 .31 4.2.1 算法中用到的 MIB 組.31 4.2.2 網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)的流程.33 4.2.3 網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)算法的實(shí)現(xiàn).35 第五章第五章 基于基于 JavaJava 技術(shù)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)生成技術(shù)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)生成.3838 5.1 基于 Web 和 Java 可視化的研究
4、 .38 5.1.1 層次型的可視化結(jié)構(gòu).39 5.1.2 Java Applet 在系統(tǒng)中的應(yīng)用 .39 5.2 數(shù)據(jù)庫的設(shè)計(jì) .40 5.3 拓?fù)浣Y(jié)構(gòu)可視化的實(shí)現(xiàn) .43 5.3.1 Java Applet 的實(shí)現(xiàn) .43 5.3.2 可視化模塊的實(shí)現(xiàn).44 5.3.3 對(duì)數(shù)據(jù)庫的訪問.47 5.3.4 結(jié)果展示.48 第六章第六章 總結(jié)與展望總結(jié)與展望.5050 6.1 總結(jié) .50 6.2 展望 .50 參考文獻(xiàn)參考文獻(xiàn).5151 致致 謝謝.5353 基于基于 SNMPSNMP 的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)生成的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)生成 劉 祺 南華大學(xué)計(jì)算機(jī)學(xué)院 2004 級(jí) 3 班 摘摘要要:隨著計(jì)算
5、機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展和 INTERNET 在全世界范圍內(nèi)的普及, 計(jì)算機(jī)網(wǎng)絡(luò)的規(guī)模變得日益龐大,網(wǎng)絡(luò)結(jié)構(gòu)也十分復(fù)雜,這使得人們對(duì)網(wǎng)絡(luò)管 理的需求越來越迫切。網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)技術(shù)是網(wǎng)絡(luò)管理中的一項(xiàng)基本功能。正確 的網(wǎng)絡(luò)拓?fù)湫畔⒑椭庇^的網(wǎng)絡(luò)拓?fù)鋱D能夠直接有效地為網(wǎng)絡(luò)管理人員提供整體 性的網(wǎng)絡(luò)結(jié)構(gòu)和狀態(tài)。如何快速、準(zhǔn)確地獲取網(wǎng)絡(luò)拓?fù)湫畔⑹钱?dāng)今各網(wǎng)絡(luò)機(jī)構(gòu) 共同關(guān)注的問題。本文就是研究網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)技術(shù)和構(gòu)造網(wǎng)絡(luò)拓?fù)鋱D的技術(shù)。 本文首先闡述網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)的相關(guān)概念和原理,介紹了常用的可被用來進(jìn) 行網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)的技術(shù),并從負(fù)載、速度、準(zhǔn)確性和使用范圍等幾個(gè)方面對(duì)各 種技術(shù)進(jìn)行了分析和比較,得出以基于 SNMP 協(xié)議的
6、網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)技術(shù)速度最 快,使用范圍也最廣泛。利用 SNMP 協(xié)議分析 MIB 庫中的路由表、接口表等 有關(guān)變量,從而得到網(wǎng)絡(luò)拓?fù)鋱D的有關(guān)信息。最后,以 JAVA 為工具.構(gòu)造網(wǎng)絡(luò)拓 撲圖。 關(guān)鍵詞:關(guān)鍵詞:SNMP;MIB;Java;網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn);網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)算法 AbstractAbstract: : With the development of the technology of computer networks and the worldwide popularity of internet,the scale of computer networks is getting bul
7、ky and the structure of network is becoming more complex. Therefore clients demand of Network Management becomes more urgent. Topology discovery is a kind of important function of the network management. Correct topology information can provide the whole network structure and states to network admin
8、istrator directly and effectively. It is a common issue for those net work institutes to discover and obtain network topology information quickly and accurately. The purpose of this thesis is to study the technique of topology discovery, then improve on the question of algorithms and implement an ac
9、curate and effective topology information discovery module. This paper introduces the related knowledge, concept and commonly-used technology about network topology discovery and makes an analysis and synthetic comparison among them from the subject of load, speed, accuracy and applied scope, the al
10、gorithm of network topology discovery based on SNMP is the most fast and widely applied. The method uses some M IB variables such as ipRouting table and interface table to analyze the network topology. At last, using java as tool construct network topology map. KeyKey WordsWords:SNMP; MIB; Java; Net
11、work Topology Discovery; Algorithm of Topology Discovery 第一章第一章 緒緒 論論 1.11.1 課題背景及意義課題背景及意義 隨著計(jì)算機(jī)及通訊技術(shù)的飛速發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)已經(jīng)滲透到社會(huì)經(jīng)濟(jì)生活 的各個(gè)方面,對(duì)社會(huì)進(jìn)步與經(jīng)濟(jì)發(fā)展起著越來越重要的作用,也使人們的工作 甚至生活方式發(fā)生了巨大的變革。網(wǎng)絡(luò)規(guī)模的激增,網(wǎng)絡(luò)復(fù)雜性和異構(gòu)性的焦 點(diǎn)化,使得網(wǎng)絡(luò)管理問題上升到了網(wǎng)絡(luò)建設(shè)的戰(zhàn)略性位置。網(wǎng)絡(luò)管理,就是監(jiān) 視、組織和控制網(wǎng)絡(luò)通信服務(wù)和信息處理所必需的各種活動(dòng)的總稱,確保網(wǎng)絡(luò) 長(zhǎng)時(shí)間、正常的運(yùn)行,并當(dāng)其出現(xiàn)故障的時(shí)候盡快的發(fā)現(xiàn)、修復(fù)故障,使其最
12、大限度的發(fā)揮其應(yīng)有的效益1。 在當(dāng)今的信息化社會(huì)里,計(jì)算機(jī)網(wǎng)絡(luò)的穩(wěn)定和可靠運(yùn)行可以說己經(jīng)成為我 們生活的一個(gè)基本保障。一個(gè)完善的網(wǎng)絡(luò)管理系統(tǒng)是計(jì)算機(jī)網(wǎng)絡(luò)能夠可靠和穩(wěn) 定運(yùn)行的保證,也是進(jìn)行網(wǎng)絡(luò)性能分析、網(wǎng)絡(luò)配置和安全管理等的依據(jù)。 網(wǎng)絡(luò)故障是影響網(wǎng)絡(luò)性能的重要因素,網(wǎng)管軟件應(yīng)能對(duì)發(fā)生問題的網(wǎng)絡(luò)進(jìn) 行故障檢測(cè)、定位和診斷分析,然后向系統(tǒng)網(wǎng)絡(luò)管理員提交網(wǎng)絡(luò)故障分析報(bào)告, 以便解決問題,提高網(wǎng)絡(luò)可用性及服務(wù)質(zhì)量。早期的網(wǎng)管系統(tǒng)大多采用命令行 方式,這嚴(yán)重影響網(wǎng)管軟件的可操作性,而現(xiàn)代網(wǎng)管軟件通常都采用圖形用戶 界面進(jìn)行操作。網(wǎng)絡(luò)拓?fù)涞淖詣?dòng)發(fā)現(xiàn)是實(shí)現(xiàn)網(wǎng)絡(luò)拓?fù)鋱D形顯示的技術(shù)關(guān)鍵,而 路徑搜索是故障定位的
13、重要內(nèi)容。 所謂拓?fù)浒l(fā)現(xiàn)(Topology Discovery)是指發(fā)現(xiàn)網(wǎng)絡(luò)元素并確定網(wǎng)絡(luò)元素之 間的互連關(guān)系,包括互連設(shè)備(如路由器、網(wǎng)橋、交換機(jī)等)、主機(jī)和子網(wǎng)。拓 撲發(fā)現(xiàn)作為配置管理和失效管理中的一項(xiàng)重要功能,是網(wǎng)絡(luò)管理的一個(gè)重要組 成部分。拓?fù)浒l(fā)現(xiàn)同時(shí)也是衡量一個(gè)商業(yè)網(wǎng)絡(luò)管理系統(tǒng)成敗的重要尺度,在整 個(gè)網(wǎng)絡(luò)管理系統(tǒng)的開發(fā)中占有相當(dāng)重要的地位。本論文的重點(diǎn)之一就是研究適 合于中小型網(wǎng)絡(luò)(如:校園網(wǎng))的拓?fù)渥詣?dòng)發(fā)現(xiàn)算法。 網(wǎng)絡(luò)拓?fù)鋱D(Network Topology Map)是拓?fù)浣Y(jié)構(gòu)的可視化表現(xiàn)形式,拓?fù)?發(fā)現(xiàn)生成的網(wǎng)絡(luò)拓?fù)鋱D可以幫助網(wǎng)絡(luò)管理員掌握網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),迅速定位失效 地點(diǎn),確定失
14、效影響的范圍,還可以成為拾取網(wǎng)絡(luò)元素并調(diào)用其它管理功能模 塊的共同出發(fā)點(diǎn)。隨著 WWW 的出現(xiàn),基于 Web 技術(shù)的網(wǎng)絡(luò)管理成為網(wǎng)絡(luò)管理的 一種新的趨勢(shì),它使網(wǎng)絡(luò)管理不再需要地理位置、具體平臺(tái)和專業(yè)技能等要求, 從而給網(wǎng)絡(luò)管理帶來許多方便。 目前,在網(wǎng)絡(luò)管理標(biāo)準(zhǔn)中,主要有兩大網(wǎng)絡(luò)管理體系:ISO 的 CMIS/CMIP(公共管理信息服務(wù)及協(xié)議)和 IETF 的 SNMP(簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議),它 們從不同的技術(shù)觀點(diǎn)來看待網(wǎng)絡(luò)管理問題。其中 CMIP 龐大、復(fù)雜,是一個(gè)大而 全的協(xié)議,難以理解、不易實(shí)現(xiàn),且使用時(shí) CMIP 的資源占用量是 SNMP 的數(shù)十 倍,所以并沒有得到工業(yè)界的廣泛支持l;而
15、 IETF 的 SNMP 設(shè)計(jì)簡(jiǎn)單、易于實(shí) 現(xiàn),所以一經(jīng)提出就得到了工業(yè)界的廣泛響應(yīng),許多公司相繼推出了基于 SNMP 協(xié)議標(biāo)準(zhǔn)的網(wǎng)絡(luò)管理系統(tǒng)和產(chǎn)品,如 SUN 公司的 SunNetManager,HP 的 OpenView,IBM 的 NetView/6000 等等。本文所研究實(shí)現(xiàn)的網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)算法也 是建立在 SNMP 協(xié)議基礎(chǔ)上的。 1.21.2 本文的研究目標(biāo)及文章組織本文的研究目標(biāo)及文章組織 .1 研究目標(biāo)研究目標(biāo) 上面一節(jié)中已經(jīng)說到在網(wǎng)絡(luò)管理軟件中,構(gòu)造網(wǎng)絡(luò)拓?fù)涫且粋€(gè)重要功能,能 否提供一個(gè)直觀、全面的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)是網(wǎng)絡(luò)管理的關(guān)鍵,在網(wǎng)絡(luò)拓?fù)涞臉?gòu)成過 程中,會(huì)涉及這
16、樣幾個(gè)問題: (1) 在實(shí)際網(wǎng)絡(luò)系統(tǒng)中會(huì)涉及到不同的設(shè)備平臺(tái), 彼此之間有不同的信息表示格式,如何通過一個(gè)較為通用的接口獲取設(shè)備的拓?fù)?信息; (2)需要哪些信息能夠反映設(shè)備的連接狀態(tài); (3) 如何對(duì)獲取到的拓?fù)湫?息進(jìn)行進(jìn)一步的處理,以直觀的形式展現(xiàn)給用戶。 在目前網(wǎng)絡(luò)運(yùn)行中, SNMP (簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議) 得到了極為廣泛的應(yīng)用,主 要的設(shè)備都能夠支持該協(xié)議,同時(shí)該協(xié)議提供了極為豐富的 MIB (管理信息庫) 變量供網(wǎng)絡(luò)管理使用。因此 SNMP 成為獲取網(wǎng)絡(luò)信息的重要方式。 圖 1.1 設(shè)計(jì)框架 如圖 1.1 所示,本文的研究目標(biāo)是開發(fā)一個(gè)通過基于 SNMP 協(xié)議的網(wǎng)絡(luò)拓?fù)?發(fā)現(xiàn)算法來獲
17、取路由信息,對(duì)采集后信息進(jìn)行分析后,利用 java 技術(shù)在 web 的 環(huán)境中進(jìn)行網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)(網(wǎng)絡(luò)拓?fù)鋱D)生成的系統(tǒng)。 .2 文章組織文章組織 本文首先在第二章中對(duì)網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)的一些常用技術(shù)進(jìn)行了簡(jiǎn)介,并著重 介紹了 SNMP 協(xié)議的相關(guān)內(nèi)容,第三章研究了基于不同協(xié)議的網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)算法, 第四章中介紹本系統(tǒng)的拓?fù)浒l(fā)現(xiàn)算法和實(shí)現(xiàn)技術(shù),第 5 章介紹了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu) 生成的實(shí)現(xiàn)。 第二章第二章 網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)概述網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)概述 確定個(gè)規(guī)模較大且經(jīng)常變化的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)是很困難的,但準(zhǔn)確的拓?fù)湫?息在網(wǎng)絡(luò)管理方面起著很重要的作用,通過網(wǎng)絡(luò)拓?fù)湫畔⑽覀兛梢耘袛喈?dāng)前設(shè) 備的配置是否合理,同
18、時(shí)它也為網(wǎng)絡(luò)故障的排除提供了重要的依據(jù)。 2.12.1 網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)概述網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)概述 .1 網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)概念網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)概念 網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)就是探測(cè)網(wǎng)絡(luò)拓?fù)錂C(jī)構(gòu)信息,形象地描述網(wǎng)絡(luò)設(shè)備間的互連 關(guān)系。網(wǎng)絡(luò)拓?fù)淇杀硎緸橐粡垷o向圖 G=(N,E),其中 N 是節(jié)點(diǎn)集,表示網(wǎng)絡(luò)中 的互連設(shè)備,有時(shí)候也可能是由這些設(shè)備組成的子網(wǎng)甚至是一個(gè)自治系統(tǒng) (Autonomous System);E 是邊集,表示這些設(shè)備或者網(wǎng)絡(luò)之間的連接關(guān)系7。 .2 網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)對(duì)象網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)對(duì)象 拓?fù)浒l(fā)現(xiàn)的對(duì)象分為兩種,一種是設(shè)備的發(fā)現(xiàn),包括:子網(wǎng)、路由器、交換 機(jī)、主機(jī)、接口等,甚至網(wǎng)
19、絡(luò)本身也是發(fā)現(xiàn)對(duì)象;另一種是發(fā)現(xiàn)網(wǎng)絡(luò)元素之間的 物理布局與互連關(guān)系,其中包括路由器和路由器的連接、路由器和子網(wǎng)的連接、 路由器和交換機(jī)的連接等。設(shè)備本身的互連關(guān)系構(gòu)成了拓?fù)浒l(fā)現(xiàn)的所有內(nèi)容。 .3 網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)前的準(zhǔn)備工作網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)前的準(zhǔn)備工作 網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)需要明確的問題有幾個(gè)方面: 第一,需要確定拓?fù)浒l(fā)現(xiàn)要針對(duì)網(wǎng)絡(luò)層次的哪一層。只有明確了網(wǎng)絡(luò)的層 次,才能明確到底什么樣的信息需要采集,才能使算法有較好的適應(yīng)性。 第二,確定采用的是被動(dòng)監(jiān)測(cè)技術(shù)還是主動(dòng)監(jiān)測(cè)技術(shù)來采集網(wǎng)絡(luò)拓?fù)湫畔ⅰ?被動(dòng)監(jiān)測(cè)技術(shù)即在所有觀測(cè)的網(wǎng)絡(luò)中都加入一個(gè)探測(cè)器,其優(yōu)點(diǎn)是僅向網(wǎng)絡(luò)管 理主機(jī)遞交各個(gè)網(wǎng)絡(luò)的拓?fù)湫畔?/p>
20、,無額外流量,負(fù)擔(dān)小,但花費(fèi)時(shí)間長(zhǎng)。對(duì)大 型網(wǎng)絡(luò)來說,將探測(cè)器安裝到所涉及的各個(gè)網(wǎng)絡(luò)中并不實(shí)際。主動(dòng)監(jiān)測(cè)技術(shù)即 網(wǎng)絡(luò)管理主機(jī)向所有管理網(wǎng)絡(luò)發(fā)探測(cè)包,采集返回信息,優(yōu)點(diǎn)是速度快,缺點(diǎn) 是產(chǎn)生流量大,對(duì)低速網(wǎng)絡(luò)不太合適。 第三,確定用何種方式收集信息。對(duì)于收集信息的方式,一種是采用網(wǎng)絡(luò) 管理信息協(xié)議來收集網(wǎng)絡(luò)的信息,另一種是采用一種通用的協(xié)議來實(shí)現(xiàn)對(duì)于網(wǎng) 絡(luò)信息進(jìn)行采集,利用 ICMP、DNS 等協(xié)議向網(wǎng)絡(luò)上的設(shè)備發(fā)送消息包/接收消息 包來獲取網(wǎng)絡(luò)拓?fù)湫畔ⅲ⑶以趯?duì)已有信息進(jìn)行分析以及處理的基礎(chǔ)上進(jìn)一步 獲取更多的信息,從而可以收集到整個(gè)網(wǎng)絡(luò)的拓?fù)湫畔ⅰ?.4 常用的網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)技
21、術(shù)常用的網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)技術(shù) 1)Ping Ping 是用于 IP 網(wǎng)絡(luò)的最早的工具之一,用它來檢查一個(gè)節(jié)點(diǎn)是否啟動(dòng)并 運(yùn)行以及測(cè)量它的往返時(shí)間,通常關(guān)聯(lián)到源主機(jī)和目的主機(jī)3。這意味著我們 能夠使它來發(fā)現(xiàn)忽略下層網(wǎng)絡(luò)的信息,在某些情況下這是理想的結(jié)果。例如當(dāng) 我們想要測(cè)量在幾對(duì)節(jié)點(diǎn)之間通信的性能而不關(guān)心網(wǎng)絡(luò)的其他部分時(shí)。Ping 工 具主要用于檢測(cè)目的主機(jī)是否在網(wǎng)絡(luò)中存活,Ping 一個(gè)存活的主機(jī)回應(yīng)的時(shí)間 一般為微妙級(jí)或毫秒級(jí),對(duì)一個(gè)關(guān)機(jī)的主機(jī)或不存在的主機(jī),回應(yīng)時(shí)間為 205,這樣就影響了 ping 的效率。 另一個(gè)使用 ping 的途徑是定向的廣播 ping。這意味著所發(fā)送的目的地址 為一個(gè)
22、子網(wǎng)的廣播地址,這個(gè)子網(wǎng)的所有節(jié)點(diǎn)必須對(duì)這個(gè)廣播 ping 進(jìn)行相應(yīng)。 這樣有助于快速發(fā)現(xiàn)子網(wǎng)內(nèi)所有的主機(jī)(通過保存對(duì) Ping 做出回應(yīng)的所有節(jié)點(diǎn) 的 IP 地址)。但當(dāng)前的網(wǎng)絡(luò)中我們不能使用 Ping 的廣播特性,因?yàn)檫@個(gè)特性是 網(wǎng)絡(luò)的一個(gè)安全漏洞,它可能被拒絕服務(wù)攻擊所利用。 2)Traceroute 由 Van Jacobson 編寫的 TraceRoute 程序是一個(gè)能更深入探索 TCP/IP 協(xié)議 的方便可用的工具。盡管不能保證從源端發(fā)往目的端的兩份連續(xù)的 IP 數(shù)據(jù)報(bào)具 有相同的路由,但是大多數(shù)情況下是這樣的。TraceRoute 程序可以讓我們看到 IP 數(shù)據(jù)報(bào)從一臺(tái)主機(jī)到另一
23、臺(tái)主機(jī)所經(jīng)過的路由。TraceRoute 程序還可以讓我 們使用 IP 源路由選項(xiàng)。 TraceRoute 程序使用 ICMP 報(bào)文和 IP 首部中的 ITL 字段(生存周期)。其原 理如下:開始時(shí),源主機(jī)將 IP 報(bào)文的 TTL 值設(shè)置為 1,發(fā)送至目的主機(jī),第一 個(gè)路由器收到此報(bào)文后,將 TTL 值減 1,丟棄此報(bào)文,并發(fā)送一個(gè)超時(shí)的 ICMP 報(bào)文給源主機(jī),信源接收到此報(bào)文后,解析出第一個(gè)路由器的地址。然后,源 主機(jī)將 TTL 為 2 的報(bào)文發(fā)送給目的主機(jī),第一個(gè)路由器把它的 TTL 值減 1 后轉(zhuǎn) 發(fā)給第二個(gè)路由器,第二個(gè)路由器收到后再減 1,報(bào)文 TTL 值變?yōu)?0,該路由器 丟棄此
24、報(bào)文,并發(fā)送一個(gè)類型為超時(shí)的 ICMP 報(bào)文給源主機(jī)。這樣就得到了第二 個(gè)路由器的地址。如此循環(huán)下去,直至報(bào)文正確到達(dá),源主機(jī)得到了通往目的 主機(jī)的路由。通過 Traceroute 還能得到從源主機(jī)到這條路徑上任何一個(gè)節(jié)點(diǎn)的 往返延時(shí)。Traccroute 和 Ping 都有當(dāng)目的節(jié)點(diǎn)不存在時(shí)時(shí)間延遲較大的缺點(diǎn)。 并且當(dāng)路徑上的路由器對(duì)源節(jié)點(diǎn)發(fā)送的包不相應(yīng)時(shí),traceroute 可能產(chǎn)生錯(cuò)誤 的結(jié)果。 3)SNMP 隨著 Internet 的迅速發(fā)展,作為 Internet 標(biāo)準(zhǔn)的 TCP/IP 協(xié)議也在發(fā)展。 TCP/IP 技術(shù)是連接異構(gòu)網(wǎng)絡(luò)的有效工具,目前己經(jīng)成為事實(shí)上的標(biāo)準(zhǔn),這樣基 于
25、 TCP/IP 的 SNMP 由于易于實(shí)現(xiàn),也成了網(wǎng)絡(luò)管理事實(shí)上的標(biāo)準(zhǔn)。每個(gè)設(shè)備的 MIB 中存儲(chǔ)了設(shè)備所運(yùn)行的進(jìn)程、表現(xiàn)方式和可以讀取的一切信息。利用 SNMP 協(xié)議,可以獲得所需的設(shè)備信息,根據(jù)這些信息來構(gòu)造網(wǎng)絡(luò)拓?fù)潢P(guān)系。筆者將 在后面對(duì)該協(xié)議進(jìn)行詳細(xì)的介紹。 4)DNS 一個(gè)域的域名服務(wù)器(DNS)維持該域內(nèi)的每個(gè)名字到其 IP 地址的綁定。大 多數(shù)域名服務(wù)器通過“區(qū)域傳輸”命令返回該域內(nèi)名字的列表。由此理論上 DNS 的域轉(zhuǎn)換可以發(fā)現(xiàn)域內(nèi)的所有主機(jī)和服務(wù)器。這種技術(shù)快速、準(zhǔn)確、開銷 小。但是發(fā)現(xiàn)不準(zhǔn)確,因?yàn)橛?DHCP 獲取 IP 地址的主機(jī)并沒有 DNS 服務(wù),而且, 有的網(wǎng)絡(luò)因?yàn)榘?/p>
26、全原因關(guān)閉了 DNS 域轉(zhuǎn)換服務(wù)1。 5)ARP 地址解析協(xié)議(ARP)在 IP 地址和物理地址之間做映射。ARP 協(xié)議是一個(gè)基 礎(chǔ)協(xié)議,它的運(yùn)行對(duì)于應(yīng)用程序或系統(tǒng)管理員來說一般是透明的9。有以下優(yōu) 點(diǎn):第,ARP 是動(dòng)態(tài)的。之所以稱為動(dòng)態(tài)的是因?yàn)檫@個(gè)過程是自動(dòng)完成的,一般 應(yīng)用程序用戶或系統(tǒng)管理員不必關(guān)心。第二,ARP 是一個(gè)標(biāo)準(zhǔn)并且對(duì)每個(gè)支持 TCP/IP 的設(shè)備都可用,與鏈路協(xié)議無關(guān)。第三,ARP 可用于 IP 子網(wǎng),提供在一 個(gè)路由 Intemet 中設(shè)備間通信非常簡(jiǎn)單的方法。 6)其它技術(shù) 路由信息協(xié)議(RIP) RIP 協(xié)議是一種距離向量路由協(xié)議,它要求路由器每個(gè)節(jié)點(diǎn)存放到各個(gè)目
27、標(biāo)節(jié)點(diǎn)的距離。距離指到達(dá)目標(biāo)節(jié)點(diǎn)所經(jīng)過的跳數(shù)。RIP 要求所有或部分路由 器侮隔 30 秒向相鄰路由器發(fā)送自己完整的路由表,同時(shí)接收其他相鄰路由器發(fā) 送來的路由表項(xiàng)更新報(bào)文,將其距離值與其本身的路由表進(jìn)行比較更新。每個(gè) 路由表項(xiàng)設(shè)定相應(yīng)的定時(shí)器,若在六個(gè)路由器廣播周期內(nèi)沒有收到該路由表項(xiàng) 的更新報(bào)文,則認(rèn)為該路由表項(xiàng)失敗,并在 240 秒后將其從路由表中刪除。 利用 RIP 協(xié)議,可以從路由器設(shè)備中提取通過該設(shè)備的所有 IP 地址或 IP 子網(wǎng)的路由信息表,構(gòu)造出拓?fù)湫畔⑦B接表,但 RIP 沒有子網(wǎng)地址的概念,沒 有端口級(jí)的拓?fù)溥B接信息3。并且要求所有的路由器支持 RIP 協(xié)議。 開放最短路徑
28、優(yōu)先(OSPF)協(xié)議 OSPF 是除 RIP 外的另一個(gè)內(nèi)部網(wǎng)關(guān)協(xié)議,運(yùn)行在一個(gè)自治系統(tǒng)中,與采用 距離向量的 RIP 協(xié)議不同的是,OSPF 是一個(gè)鏈路狀態(tài)協(xié)議。距離向量的意思是 RIP 發(fā)送的報(bào)文包含一個(gè)距離向量(跳數(shù))。每個(gè)路由器根據(jù)它所接收到鄰站的 這些距離向量來更新自己的路由表。在一個(gè)鏈路狀態(tài)協(xié)議中,路由器并不與其 臨站交換距離信息。它采用的是每個(gè)路由器主動(dòng)地測(cè)試與其鄰站相連鏈路的狀 態(tài),將這些信息發(fā)送給它的其他鄰站,而鄰站將這些信息在自治系統(tǒng)中傳播出 去,每個(gè)路由器接收這些鏈路狀態(tài)信息,并建立起完整的路由表6。 通過訪問自治系統(tǒng)每個(gè)區(qū)域中某個(gè)路由器相關(guān)的 OSPF 路由表信息,可以
29、構(gòu) 造整個(gè)自治系統(tǒng)的網(wǎng)絡(luò)拓?fù)鋱D。 對(duì)以上網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)的各種技術(shù)的分析比較如下表 2.1,從這張表中可以 看出,網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)的各種技術(shù)各有利弊。 表 2.1 各種拓?fù)浒l(fā)現(xiàn)技術(shù)的比較 PingTracerouteSNMPDNSARPOSRF RIP 適用性 所有網(wǎng)絡(luò) 域 所有網(wǎng)絡(luò)域 多數(shù)網(wǎng)絡(luò) 域 少數(shù)網(wǎng)絡(luò) 域 所有網(wǎng)絡(luò) 域 少數(shù)網(wǎng)絡(luò) 域 網(wǎng)絡(luò)負(fù) 載 低高低低低低 速度慢慢快快快快 準(zhǔn)確性較準(zhǔn)確較準(zhǔn)確較準(zhǔn)確較準(zhǔn)確較準(zhǔn)確準(zhǔn)確 2.22.2 SNMPSNMP 協(xié)議介紹協(xié)議介紹 由于本論文是基于 SNMP 協(xié)議下的,所以筆者在這里著重的介紹一下 SNMP。 SNMP(簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)是目前最流行的一個(gè)網(wǎng)
30、絡(luò)管理協(xié)議。作為應(yīng)用層 上的協(xié)議,它主要通過一組 Internet 協(xié)議及其所依附的資源提供網(wǎng)絡(luò)管理服務(wù)。 利用 SNMP 管理工作站可以遠(yuǎn)程管理所有支持這種 SNMP 的網(wǎng)絡(luò)設(shè)備,包括監(jiān)視 網(wǎng)絡(luò)狀態(tài)、修改網(wǎng)絡(luò)設(shè)備配置、接收網(wǎng)絡(luò)事件警告等。 .1 SNMPSNMP 的發(fā)展的發(fā)展 SNMP 在 1989 年作為基于 TCP/IP 互聯(lián)網(wǎng)的一個(gè)標(biāo)準(zhǔn)而被廣為接收和采用。 1991 年發(fā)布了 SNMp 的一個(gè)補(bǔ)充 RMON(Remote Network Monitoring:遠(yuǎn)程網(wǎng)絡(luò)監(jiān) 控)。RMON 擴(kuò)充了 SNMP 的功能,包括對(duì) LAN 的管理以及對(duì)依附于這些網(wǎng)絡(luò)的設(shè) 備的管理。
31、1993 年,SNMP 的改進(jìn)版 SNMPv2 開始發(fā)布,自此,原來的 SNMP 便被 稱為 SNMPvl。最初的 SNMPv2 最大的特色是增加了安全特性,因此被稱為安全 版的 SNMPvl。但不幸的是,經(jīng)過兒年試用,SNMPv2 并沒有得到廠商和用戶的積 極響應(yīng),并且也發(fā)現(xiàn)自身還存在一些嚴(yán)重缺陷,因此,在 1996 年正式發(fā)布的 SNMPv2 中,安全特性被刪除了。這樣,SNMPv2 對(duì) SNMPvl 的改進(jìn)程度便受到了 很大的削弱。總的來講,SNMPv2 對(duì) SNMPvl 的改進(jìn)主要包括以下三個(gè)方面:支持 分布式管理、改進(jìn)的管理信息結(jié)構(gòu)(SMI)和增強(qiáng)了管理信息通信協(xié)議的能力。最 后,在
32、 1998 年發(fā)布了 SNMPv3,它定義了 SNMP 的安全性以及將來改進(jìn)的總體結(jié) 構(gòu),在 SNMPv3 介紹文檔中對(duì) SNMPv3 的表述為:SNMPv3 等于 SNMPv2 加上安全和 管理。SNMPv3 預(yù)定于 SNMPv2 一起使用,但也可以和 SNMPv1 一起使用1。 .2 SNMPSNMP 的協(xié)議層次的協(xié)議層次 簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP)是一個(gè)應(yīng)用層的協(xié)議,它用于實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)備之間 管理信息的交換。使用 SNMP 來訪問網(wǎng)絡(luò)設(shè)備的 MIB 數(shù)據(jù)庫,網(wǎng)絡(luò)管理員可以迅 速發(fā)現(xiàn)影響網(wǎng)絡(luò)性能的問題并解決問題1。 SNMP 工作于 UDP 協(xié)議之上,因此使用它在主機(jī)間通訊
33、時(shí)無需先建立連接。 這種方法降低了系統(tǒng)開銷,但對(duì)報(bào)文到達(dá)的正確性不做保證。 SNMP 將管理問題分為兩個(gè)部分,并為每個(gè)部分定義了標(biāo)準(zhǔn)。第一部分是有 關(guān)信息通信規(guī)則的,協(xié)議定義了管理機(jī)上的客戶軟件如何與代理通信,同時(shí)定 義了管理機(jī)與代理交換消息的格式和含義以及名字與地址的形式。第二部分有 關(guān)被管理的數(shù)據(jù),協(xié)議定義網(wǎng)絡(luò)設(shè)備必須保存的數(shù)據(jù)項(xiàng)和每個(gè)數(shù)據(jù)項(xiàng)的名字以 及用于表示名字的語法。 .3 SNMPSNMP 管理模型管理模型 SNMP 的網(wǎng)絡(luò)管理模型如圖 2.1 所示,包括四個(gè)關(guān)鍵元素1: 圖 2.1 SNMP 管理模型 l)管理工作站:一般是一個(gè)單機(jī)設(shè)備或者是一個(gè)共享網(wǎng)絡(luò)中的一員。
34、無論是 哪種情況,管理站都是管理者作為網(wǎng)絡(luò)管理員與網(wǎng)絡(luò)管理系統(tǒng)的接口。 2)管理代理:當(dāng)前主流路由器、交換機(jī)等設(shè)備現(xiàn)在都支持 SNMP 操作,即對(duì) 來自管理站的 SNMP 信息查詢和請(qǐng)求做出響應(yīng),同時(shí)還可能異步的通過 Trap 操 作主動(dòng)向管理站提供一些重要的非請(qǐng)求信息。 3)管理信息庫:描述了所有可以由 SNMP 管理的信息的集合,其中每個(gè)信息 元素都稱為一個(gè)對(duì)象。任何支持 SNMP 協(xié)議的代理都應(yīng)該能夠?qū)?MIB 中定義的對(duì) 象的信息的查詢做出響應(yīng),任何使用 SNMP 協(xié)議的網(wǎng)絡(luò)管理站也都應(yīng)該知道它能 夠從代理那里得到的信息都在 MIB 定義的范圍內(nèi)。 4)網(wǎng)絡(luò)管理協(xié)議:管理站和代理之間是
35、通過 SNMP 網(wǎng)絡(luò)管理協(xié)議連接的, SNMP 協(xié)議是一個(gè)應(yīng)用層協(xié)議,使用網(wǎng)絡(luò)層提供的 UDP 傳輸服務(wù)來傳遞消息、 , 標(biāo)準(zhǔn)的代理監(jiān)聽端口為 161。當(dāng)一個(gè)網(wǎng)管應(yīng)用要求得到代理端的信息的時(shí)候, 它就向 SNMP 核心進(jìn)程提出這個(gè)請(qǐng)求,核心進(jìn)程從本地的 MIB 中得到所需的對(duì)象 的信息,然后構(gòu)造 SNMP 請(qǐng)求報(bào)文,最后將此報(bào)文使用 UDP 協(xié)議發(fā)送到代理進(jìn)程 的 161 端口上。代理進(jìn)程在收到這個(gè)請(qǐng)求后,訪問其本地的 MIB 庫以取出管理 站所需信息,然后構(gòu)造 SNMP 響應(yīng)報(bào)文,最后使用 UDP 協(xié)議將此報(bào)文發(fā)送給管理 站。管理站的 SNMP 核心進(jìn)程再將得到的信息傳遞給管理站上的網(wǎng)管應(yīng)用
36、就完成 了一次信息交換。 .4 SNMPSNMP 協(xié)議報(bào)文和通信原語協(xié)議報(bào)文和通信原語 1)SNMP 協(xié)議報(bào)文 (l)SNMP 協(xié)議的報(bào)文格式如下1: 圖 2.2 SNMP 報(bào)文格式 (2)一個(gè) SNMP 實(shí)體傳遞一個(gè)報(bào)文給另一個(gè) SNMP 實(shí)體的過程: 首先,利用上面的格式,構(gòu)造一個(gè) PDU。 其次,連同源地址、目的地址和共同體名,將該 PDU 傳給認(rèn)證服務(wù),由認(rèn) 證服務(wù)進(jìn)行必要的數(shù)據(jù)轉(zhuǎn)換,然后返回結(jié)果。 再次,協(xié)議實(shí)體構(gòu)造一個(gè) SNMP 報(bào)文,包括一個(gè)版本號(hào)、共同體名和由認(rèn)證 服務(wù)返回的結(jié)果。 最后,用基本編碼規(guī)則,為報(bào)文進(jìn)行編碼,并將編碼結(jié)構(gòu)傳給傳輸服務(wù)。 (3)一個(gè) S
37、NMP 實(shí)體在接收 SNMP 報(bào)文時(shí)的過程: 首先,對(duì)報(bào)文進(jìn)行基本語法檢查,如果解析錯(cuò)誤,就拋棄該報(bào)文。 其次,驗(yàn)證 SNMP 版本號(hào),如果不匹配,就拋棄報(bào)文。 最后,協(xié)議實(shí)體將用戶名字、源地址、目的地址和報(bào)文中的 PDU 部分傳給 認(rèn)證服務(wù):如果失敗,認(rèn)證服務(wù)給 SNMP 協(xié)議實(shí)體發(fā)信號(hào),指示它產(chǎn)生一個(gè) SNMP Trap 報(bào)文以及拋棄該報(bào)文。 2)變量綁定 當(dāng)管理站想要得到一個(gè)特定代理的特定 MIB 組中的所有標(biāo)量對(duì)象信息時(shí), 它 可以發(fā)送一個(gè)請(qǐng)求所有標(biāo)量的報(bào)文,并且得到一個(gè)包含所有值的響應(yīng)。這 樣可以減輕網(wǎng)絡(luò)管理的通信負(fù)擔(dān)。為了實(shí)現(xiàn)上述的對(duì)象交換,所有的 SNMPPDU 都包括一個(gè)變量綁
38、定的域。這個(gè)域由一系列對(duì)象實(shí)例標(biāo)識(shí)符和這些對(duì)象實(shí)例的 值組成。 3)通信原語 SNMP 定義了 5 種通信原語實(shí)現(xiàn)管理進(jìn)程和代理進(jìn)程之間的交互信息,它們 分別是1:(l)Get-request 原語:get- request PDU 由網(wǎng)絡(luò)管理站的 SNMP 實(shí)體 發(fā)出。它包括的域山前血的報(bào)文格式中給出。PDU 類型說明這是 get-request PDU。Request-id 是發(fā)送實(shí)體為每個(gè)請(qǐng)求分配一個(gè)編號(hào),用以標(biāo)識(shí)同一代理的 多個(gè)未完成的請(qǐng)求,variable-binding 是經(jīng)過 2)操作的被請(qǐng)求的對(duì)象實(shí)例列表。 管理代理的 SNMP 實(shí)體在接收一個(gè) Get-request PDU
39、后,通過返回一個(gè) get- response PUD 作為響應(yīng)。如果代理的 SNMP 實(shí)體能夠?yàn)槭盏降?PDU 中變量綁定 列表的所有變量提供值,則 get-response PDU 為變量綁定域中每個(gè)變量賦一個(gè) 值。如果其中任何一個(gè)變量的不能得到,則所有變量的值均不返回。 (2)Get-next-request 原語:與 get-request 操作有相同的數(shù)據(jù)格式和相同 的數(shù)據(jù)交換模式。它們的操作都是原子同步方式,即要么所有的請(qǐng)求值都被返 回,要么一個(gè)也不返回。不同之處是:get-request PDU 的變量綁定列表中的每 個(gè)變量指的是將要被返回的對(duì)象實(shí)例,而對(duì)于 get-next-re
40、quest PDU,每個(gè)變 量將要返回的是按字典排序的下一個(gè)對(duì)象實(shí)例的值。Get-next-request PDU 的 工作模式使得管理站可以動(dòng)態(tài)發(fā)現(xiàn)一個(gè) MIB 視圖的結(jié)構(gòu),同時(shí)也為檢索一個(gè)未 知的表提供了有效的方法。這時(shí),代理返回的是列表中每個(gè)對(duì)象標(biāo)識(shí)的按字典 排序的下一個(gè)對(duì)象實(shí)例的值。 (3)Set-request 原語:由管理進(jìn)程發(fā)出,請(qǐng)求設(shè)置進(jìn)程中一個(gè)或多個(gè)變量 的值。 (4)Get-response 原語:由代理進(jìn)程發(fā)出的,向管理進(jìn)程返回的一個(gè)或多個(gè) 變量的值,它是 set-request 操作的相應(yīng)。 (5)Trap 原語:代理進(jìn)程主動(dòng)發(fā)出的報(bào)文,通知管理進(jìn)程有某事發(fā)生。 2.2
41、.52.2.5 使用使用 SNMPSNMP 協(xié)議時(shí)所涉及的內(nèi)容協(xié)議時(shí)所涉及的內(nèi)容 管理信息庫管理信息庫 MIBMIB 管理信息庫 MIB(Management Information Base)是網(wǎng)絡(luò)管理系統(tǒng)中所有被 管理元素信息的數(shù)據(jù)庫23。數(shù)據(jù)庫中的元素是網(wǎng)管中的被管資源,且被管資 源以對(duì)象來表示,每個(gè)對(duì)象表示被管資源某一方面的屬性。通過對(duì)這些對(duì)象的 存取訪問,就可以得到網(wǎng)絡(luò)設(shè)備的所有靜態(tài)或動(dòng)態(tài)內(nèi)容,涵蓋網(wǎng)絡(luò)性能、配置、 路由和故障等各個(gè)方面。每個(gè)對(duì)象又包含若干信息變量,每個(gè)信息變量包含如 下信息:變量名、變量的數(shù)據(jù)類型、變量的讀寫屬性、變量的值。 l)MIB
42、l)MIB 的數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu) MIB 是一個(gè)樹形結(jié)構(gòu)的數(shù)據(jù)庫,樹中的每個(gè)節(jié)點(diǎn)都是一個(gè)對(duì)象,MIB 就是由 一系列的對(duì)象組成,如下圖所示: system(1) Interface(2) at(3) ip(4) icmp(5) tcp(6) udp(7) egp(8) org(3) Ccitt(0)ISO-joint-Ccitt(2) Intemet(l) Diretory(1) dod(6) Mgmt(2)Private(4) Enterprises(1) Experimental(3) MIB- ..1 Root ISO(1) 圖 2.3 MIB
43、 的樹型結(jié)構(gòu) ROOT 為 MIB 樹的根節(jié)點(diǎn),它有三個(gè)子樹: ISO(1):由 ISO 管理。 CCITT(0):由 CCITT 管理。 ISO-joint-CCITT(2):由 150 和 CCITT 共同管理。 在 ISO(l)節(jié)點(diǎn)下由一些其它的子樹,其中 0rg(3)是 ISO 為其他組織定義的 子樹。在 org(3)子樹下,一個(gè)值得引起注意的特殊節(jié)點(diǎn)是 dod(6),該節(jié)點(diǎn)被分 配給了美國(guó)國(guó)防部使用。dod(6)節(jié)點(diǎn)下的一個(gè)子樹 internet(l)分配給 Internet 體系結(jié)構(gòu)委員會(huì)來管理。 在 internet(1)節(jié)點(diǎn)下包括了四棵子樹: (l)directory(1)子樹
44、 該子樹保留給 051 目錄服務(wù),以備將來使用。 (2)mgmt(2)子樹 該子樹用于那些在 IAB( Internet 體系結(jié)構(gòu)委員會(huì))所批準(zhǔn)認(rèn)可的管理信息 庫的定義,目前有兩個(gè)版本:MIB-I 和 MIB-。由于在任何配置中都只能有一個(gè) MIB 存在,因此兩個(gè)版本的 MIB 提供相同的對(duì)象標(biāo)識(shí)符?,F(xiàn)在使用的大多是 MIB-。 Mgmt(2)子樹的 MIB(2)子樹下定義了目前使用最廣泛的各種對(duì)象,一般稱 它們“組” 。在它下面定義的組分別為: System 組:提供被管理設(shè)備的總體信息。 Interfaces 組:提供網(wǎng)絡(luò)實(shí)體的物理層接口的信息,包括配置信息 和每個(gè)接口上發(fā)生的事件的統(tǒng)計(jì)信
45、息。 IP 組:提供了一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)中有關(guān) IP 實(shí)現(xiàn)和操作的信息。在網(wǎng)絡(luò)管 理系統(tǒng)中使用非常廣泛。 At 組:設(shè)備的地址轉(zhuǎn)換信息,在 MIB-下,該組內(nèi)容在 IP 組中。 ICMP 組:包括了有關(guān) ICMP 的實(shí)現(xiàn)和操作的信息。保存了對(duì)各種類型 的 ICMP 信息的接受和發(fā)送的統(tǒng)計(jì)結(jié)果。 TCP 組:主要用于對(duì)流量控制、丟失重傳和網(wǎng)絡(luò)擁擠等問題的解決。 UDP 組:提供有關(guān) UDP 發(fā)送和接收的數(shù)據(jù)包信息。 EGP 組:由有關(guān)實(shí)體的 EGP 信息和一個(gè)記錄每個(gè) EGP 鄰居信息的表組 成。 SNMP 組:包括有關(guān) SNMP 實(shí)現(xiàn)和操作的信息。 (3)experimental(3)子樹 該子樹下
46、包含了在 Internet 試驗(yàn)中使用的對(duì)象。 (4)private(4)子樹 該子樹用來指定用戶擴(kuò)展定義的對(duì)象。網(wǎng)絡(luò)管理系統(tǒng)訪問最多的部分是該 子樹下的 enterprises(l)節(jié)點(diǎn)。該節(jié)點(diǎn)下的每個(gè)子樹分配給一個(gè)企業(yè),而企業(yè) 必須先向認(rèn) B 登記注冊(cè)它們自己的廠商代碼,然后就可以在該代碼下創(chuàng)建它們 自己的對(duì)象。 2)從代理獲得 MIB 變量的實(shí)現(xiàn) 為了對(duì) MIB 對(duì)象有更深的了解,這里對(duì) MIB 變量獲取的過程進(jìn)行簡(jiǎn)單介紹。 代理作為服務(wù)器方,后臺(tái)運(yùn)行著一個(gè)等待進(jìn)程,這個(gè)進(jìn)程不斷等待來自網(wǎng) 絡(luò)管理者的服務(wù)請(qǐng)求,當(dāng)收到來自代理的請(qǐng)求時(shí),經(jīng)過語法分析、消息認(rèn)證等 過程后,從自己的 MIB 庫
47、中得到管理者所請(qǐng)求的 MIB 變量的值,最后取出相應(yīng) 的應(yīng)答。從代理獲取 MIB 變量要經(jīng)過如下幾步: (l)建立管理者和代理之間的連接 首先,作為客戶方的管理者要主動(dòng)和服務(wù)方的網(wǎng)絡(luò)代理建立通信機(jī)制,因 為 SNMP 是基于無連接的用戶數(shù)據(jù)報(bào)協(xié)議(UDP),所以這里使用無連接的數(shù)據(jù)報(bào) 層。首先構(gòu)造 Socket,然后使用 bind 系統(tǒng)調(diào)用進(jìn)行地址綁定是用來給已建立 的 socket 分配任一地址和端口號(hào)。把 internet 地址設(shè)為 INADDR-ANY,系統(tǒng)將 會(huì)在可選擇的本機(jī)地址中選擇一個(gè)可用的地址進(jìn)行綁定。綁定后,就可以利用 此套接口進(jìn)行通信了。 (2)構(gòu)造協(xié)議數(shù)據(jù)單元(PDU) S
48、NMP 消息是通過 SNMPPDU 來傳送的,所以在發(fā)送 SNMP 消息之前必須構(gòu)造 協(xié)議數(shù)據(jù)單元(PDU)。根據(jù)用戶的輸入信息,構(gòu)造一個(gè) PDU 數(shù)據(jù)結(jié)構(gòu),構(gòu)造一個(gè) 可以用來傳送信息的 PDU,將所請(qǐng)求的對(duì)象放入變量綁定列表,并將變量綁定 加入到 PDU 中。 (3)協(xié)議數(shù)據(jù)單元構(gòu)造好后,發(fā)送請(qǐng)求。Send to 系統(tǒng)調(diào)用將獲取目的地址 并發(fā)送報(bào)文。 (4)接受代理的響應(yīng)。 (5)讀取數(shù)據(jù)。 SNMPSNMP APIAPI 基于 SNMP 的網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)的基礎(chǔ)就是利用 SNMP 協(xié)議向網(wǎng)絡(luò)設(shè)備發(fā)送 SNMP get 請(qǐng)求,因此實(shí)現(xiàn) SNMP 協(xié)議就成為整個(gè)系統(tǒng)實(shí)
49、現(xiàn)的關(guān)鍵一步。我們可以利用 許多公司提供的 SNMP 的開發(fā)工具包 (SNMP API)來開發(fā)網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)的相應(yīng)程)子。 目前比較流行的 SNMP 的開發(fā)工具包就是 CMU 大學(xué)的 UCD-Snmp18,Hp 公 司的 Snmp+19,Advent 公司的 Jsnmp20和 Microsoft 公司的 winSNMP,它 們各有優(yōu)缺點(diǎn)。這里筆者就不一一介紹了。 第三章第三章 網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)算法的研究網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)算法的研究 這里筆者將討論和分析幾種主要拓?fù)浒l(fā)現(xiàn)的算法,它們將上一章中介紹的 幾種網(wǎng)絡(luò)拓?fù)浠炯夹g(shù)組合在了一起。筆者覺得通過對(duì)這些算法的介紹,能夠 擴(kuò)充讀者的思路,以便比較各個(gè)網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)
50、的算法的優(yōu)缺點(diǎn)。 3.13.1 基本算法基本算法 本論文討論的拓?fù)浒l(fā)現(xiàn)算法是在下述算法的基礎(chǔ)上擴(kuò)展完成的,該算法的 描述如下: 1、確定一個(gè) IP 地址的“臨時(shí)”集合,這些 IP 地址對(duì)應(yīng)著存在或不存在的 主機(jī)和路由器。 2、對(duì)集合里的每一個(gè)元素,作如下處理: a、驗(yàn)證這個(gè) IP 地址是否可達(dá); b、如果可達(dá),將此地址不重復(fù)的加入到“永久”集合中; c、一用這個(gè)地址產(chǎn)生更多的 IP 地址,并把這些新產(chǎn)生的地址加入到臨時(shí) 集合中。 對(duì)基本算法的一些說明: 1、算法中存在兩個(gè)集合,分別為臨時(shí)集合和永久集合。臨時(shí)集合中存放著 等待被訪問的 IP 地址,這些地址也許并不存在。永久集合中存放著實(shí)際存在并
51、 可達(dá)的 IP 地址。在下面具體算法的初始狀態(tài)下,臨時(shí)集合被設(shè)置成不同的初始 值(詳見具體算法),而永久集合通常為空集。 2、拓?fù)浒l(fā)現(xiàn)算法的一個(gè)重要思想是通過某個(gè)己知的 IP 地址來獲取更多的 IP 地址,以此不斷的擴(kuò)大拓?fù)浒l(fā)現(xiàn)的地址范圍。在具體的各種算法中,利用臨 時(shí)集合中的某個(gè)可達(dá)地址產(chǎn)生更多 IP 地址的方法各不相同,下面兒個(gè)小節(jié)將詳 細(xì)介紹這些方法,這里只是做一個(gè)籠統(tǒng)的概括。 3、當(dāng)算法完成以后,拓?fù)浒l(fā)現(xiàn)的結(jié)果由路由器連接關(guān)系、路由器和子網(wǎng)連 接關(guān)系、子網(wǎng)、主機(jī)四個(gè)隊(duì)列表示出來。隊(duì)列中的每一項(xiàng)都含有一些附加的信 息,如:主機(jī)名稱、路由器的接口、數(shù)量和類型等等。這些信息被存儲(chǔ)在文件或 數(shù)
52、據(jù)庫中。接下來將討論在這個(gè)算法基礎(chǔ)上產(chǎn)生的一系列具體算法。 3.23.2 基于基于 ARPARP 和和 SNMPSNMP 的拓?fù)浒l(fā)現(xiàn)算法的拓?fù)浒l(fā)現(xiàn)算法 這是一個(gè)最簡(jiǎn)單的算法,它假設(shè)域中所有主機(jī)都運(yùn)行 SNMP。這種算法首先 獲得起始主機(jī)的缺省路由器,然后通過發(fā)出 SNMP 請(qǐng)求報(bào)文來訪問該路由器的路 由表和 ARP(地址解析協(xié)議)表,分別得到與之相鄰的路由器和主機(jī),接著算法 循環(huán)遍歷所有的路由器和主機(jī)直到遇到一個(gè)指定域之外的主機(jī)為止9。具體算 法描述如下: 1、初始化臨時(shí)集合和永久集合,臨時(shí)集合=起始路由器,永久集合為空 集; 2、對(duì)臨時(shí)集合里的每一個(gè)路由器,作如下處理: a、ping 該路由
53、器; b、如果路由器處于活動(dòng)狀態(tài),將它加入到永久集合中; c、用 SNMP 方法獲取路由器的 ARP 地址表,并把地址表中的主機(jī)加入土機(jī) 隊(duì)列: d、將主機(jī)列表加入到永久集合中; e、用 SNMP 方法獲取路由器的路由表,并把路由表中的路由器加入路由器 隊(duì)列; f、將路由器列表加入到永久集合中; g、將路由器列表加入到臨時(shí)集合中。 這種算法的優(yōu)點(diǎn)是它的速度非常快,其缺點(diǎn)是它無法檢測(cè)到?jīng)]有運(yùn)行 SNMP 的主機(jī)或路由器,因此它能發(fā)現(xiàn)到的主機(jī)和路由器數(shù)目與實(shí)際情況可能相差較 大。根據(jù)4的測(cè)試,在 域中,這種算法只能發(fā)現(xiàn) 10%的路由器和 92%的主機(jī)。 3.33.3 使用使用
54、 DNSDNS 區(qū)域傳輸和廣播區(qū)域傳輸和廣播 PingPing 的拓?fù)浒l(fā)現(xiàn)算法的拓?fù)浒l(fā)現(xiàn)算法 這種算法假定域能夠執(zhí)行 DNS 區(qū)域傳輸和廣播 Ping。它首先通過發(fā)送 DNS 區(qū)域傳輸報(bào)文得到域中所有主機(jī)和路由器的列表,然后使用 Ping 來確定這些主 機(jī)是否可達(dá),并通過子網(wǎng)猜測(cè)算法來確定每個(gè)子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí),最后為了得到 在 DNS 區(qū)域傳輸中沒有發(fā)現(xiàn)的節(jié)點(diǎn),算法直接向通過上一步所發(fā)現(xiàn)的子網(wǎng)發(fā)送 廣播 Ping,并將發(fā)回響應(yīng)的節(jié)點(diǎn)添加入主機(jī)列表4。具體算法描述如下: 1、初始化臨時(shí)集合和永久集合,臨時(shí)集合=通過 DNS 傳輸,報(bào)文得的域主 機(jī)和路由器,永久集合為空集; 2、臨時(shí)集合里的每一個(gè)節(jié)
55、點(diǎn),作如下處理: a、ping 該節(jié)點(diǎn); b、如果節(jié)點(diǎn)活著,將它加入到永久集合中,否則讀取下一個(gè)節(jié)點(diǎn); c、通過子網(wǎng)猜測(cè)算法來確定該節(jié)點(diǎn)所在子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí); d、將子網(wǎng)加入到永久集合中; e、如果該子網(wǎng)沒有訪問過,在它內(nèi)部發(fā)送廣播 Ping 報(bào)文; f、對(duì)做出回應(yīng)的主機(jī)作如下處理: 將該主機(jī)加入子網(wǎng)隊(duì)列中; 將該主機(jī)加 入臨時(shí)集合 這種算法的基礎(chǔ)是子網(wǎng)猜測(cè)。子網(wǎng)猜測(cè)的目的是確定某一個(gè) IP 地址所在子 網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí),也就是子網(wǎng)掩碼。本節(jié)所描述的算法中運(yùn)用的子網(wǎng)猜測(cè)使用了 廣播 Ping 這個(gè)工具。該算法的思想是:首先將某一 IP 地址對(duì)應(yīng)得子網(wǎng)掩碼長(zhǎng)度 設(shè)置為最大值 31:然后根據(jù)這個(gè) IP
56、地址和假設(shè)的子網(wǎng)掩碼構(gòu)造0和255 的定向廣播地址,并發(fā)送 Ping 報(bào)文;如果有兩個(gè)以上的的主機(jī)對(duì) Ping 做出了回 應(yīng),那么說明前面設(shè)置的子網(wǎng)掩碼是正確的,否則,將子網(wǎng)掩碼的長(zhǎng)度減 1, 繼續(xù)重復(fù)上面的步驟,直到找到匹配的掩碼為止。該子網(wǎng)猜測(cè)算法可以用于支 持廣播 Ping 的域,它比較精確,但速度慢,并對(duì)每一個(gè) IP 地址都需要很大的 開銷。 因此使用 DNS 區(qū)域傳輸和廣播 Ping 的拓?fù)浒l(fā)現(xiàn)算法無論從速度還是完整性 方面都有著較大的欠缺,首先因?yàn)樗褂昧藦V播 Ping 進(jìn)行網(wǎng)絡(luò)發(fā)現(xiàn),所以它的 速度相當(dāng)慢; 其次,由于安全性等原因,在許多網(wǎng)絡(luò)中是禁止使用 DNS 區(qū)域傳 輸和廣播
57、Ping 的,在這種情況下將不能得到網(wǎng)絡(luò)的完整拓?fù)?。 3.43.4 使用使用 DNSDNS 區(qū)域傳輸和區(qū)域傳輸和 TracerouteTraceroute 的拓?fù)浒l(fā)現(xiàn)算法的拓?fù)浒l(fā)現(xiàn)算法 這種算法同樣假定域能夠執(zhí)行 DNS 區(qū)域傳輸。它首先通過發(fā)送 DNS 區(qū)域傳 輸請(qǐng)求報(bào)文得到域中所有主機(jī)和路由器的列表,然后使用 Ping 確定每一個(gè)主機(jī) 是否可達(dá),接著在探測(cè)點(diǎn)和正在測(cè)試的節(jié)點(diǎn)之間發(fā)送 Traceroute 報(bào)文,以得到 路徑中的所有路由器信息。通過這種方式我們可以找出距離我們主機(jī)最近的路 由器,這樣我們就可以歸類出所有具有相同缺省路由器的主機(jī)的 IP 地址,并且 據(jù)此猜測(cè)出子網(wǎng)地址7。 本
58、節(jié)所運(yùn)用的子網(wǎng)猜測(cè)方法是在對(duì)一組已知的 IP 地址進(jìn)行“與”和“或” 位運(yùn)算,從而對(duì)這組 IP 地址所在的子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí)進(jìn)行猜測(cè)。假設(shè)三個(gè)主機(jī), IP 地址分別是 Al、A2 和 A3,它們都與某一個(gè)路由器的同一個(gè)接口直接相連, 該接口的 IP 地址是 A。要找到主機(jī)所在的子網(wǎng)以及相應(yīng)的子網(wǎng)掩碼,基本的思 想是首先將 AI、A2、A3 和 A 按位相與,根據(jù)同一子網(wǎng)內(nèi)的 IP 地址具有相同的 網(wǎng)絡(luò)前綴這個(gè)原則,可以大致得到這四個(gè) IP 地址所處子網(wǎng)的網(wǎng)絡(luò)標(biāo)識(shí)。然后再 將它們按位進(jìn)行或操作,或操作得出的結(jié)果表示子網(wǎng)地址空間至少應(yīng)該覆蓋幾 位(結(jié)果是“1”的位)。將“與”和“或”運(yùn)算的結(jié)果結(jié)合起來
59、,可以作出更精 確的判斷。當(dāng)然,四個(gè) IP 地址不一定能完全的判斷出網(wǎng)絡(luò)地址和子網(wǎng)掩碼,但 有一點(diǎn)是肯定的,知道越多數(shù)量的與路有器同一接口直接相連的主機(jī) IP 地址, 網(wǎng)絡(luò)地址和子網(wǎng)掩碼的猜測(cè)就越精確。為實(shí)現(xiàn)以上算法,需要定義兩個(gè) hash 表 cumulativeAnds和 cumulativeOrs,其中一個(gè)保存路由器各接口 IP 地址 和它的所有主機(jī) IP 地址進(jìn)行“與”運(yùn)算的結(jié)果,另一個(gè)則保存它們進(jìn)行“或” 操作的結(jié)果。當(dāng)然,在進(jìn)行子網(wǎng)猜測(cè)之前首先要確定主機(jī)與路由器哪個(gè)接口直 接相連4。 具體的拓?fù)浒l(fā)現(xiàn)算法如下: 1、初始化臨時(shí)集合和永久集合,臨時(shí)集合=通過 DNS 傳輸,報(bào)文得的域主
60、 機(jī)和路由器,永久集合為空集; 2、初始化 cumulativeAnds和 cumulativeOrs為空; 3、對(duì)臨時(shí)集合里每一個(gè)節(jié)點(diǎn),作如下處理: a、ping 該節(jié)點(diǎn); b、如果節(jié)點(diǎn)活著,將它加入到永久集合中,否則讀取下一個(gè)節(jié)點(diǎn); c、Traceroute 該節(jié)點(diǎn); d、從 Traceroute 結(jié)果中獲得該節(jié)點(diǎn)直接相連的路由器(Traceroute 的最 后一跳路由器就是與該節(jié)點(diǎn)直接相連的路由器) ; e、用 DNS lookup 查找;找到此路路由器的所有 IP 地址; f、將此路由器的每一個(gè) IP 地址與本節(jié)點(diǎn)的 IP 地址進(jìn)行位運(yùn)算,得到與本 節(jié)點(diǎn)直接連接的接口 IP 地址: g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度國(guó)際文化交流項(xiàng)目志愿者聘用合同
- 2025版民宿民宿餐飲服務(wù)合同示范4篇
- 2025年度房地產(chǎn)公司股權(quán)轉(zhuǎn)讓與市場(chǎng)推廣合同
- 2025年度個(gè)人車位租賃服務(wù)合同范本2篇
- 2025年度沐足行業(yè)員工勞動(dòng)合同模板(含保密協(xié)議)4篇
- 林綿綿《韓娛離婚協(xié)議》2025年度網(wǎng)絡(luò)劇改編權(quán)轉(zhuǎn)讓合同8篇
- 二零二五年度個(gè)人現(xiàn)金借款合同標(biāo)準(zhǔn)版2篇
- 二零二五年度農(nóng)產(chǎn)品品牌授權(quán)使用合同8篇
- 二零二五年度農(nóng)家樂鄉(xiāng)村旅游扶貧項(xiàng)目合作合同4篇
- 二零二五年度文化旅游產(chǎn)業(yè)投資借款合同大全4篇
- 2022年中國(guó)電信維護(hù)崗位認(rèn)證動(dòng)力專業(yè)考試題庫大全-上(單選、多選題)
- 紀(jì)委辦案安全培訓(xùn)課件
- 超市連鎖行業(yè)招商策劃
- 醫(yī)藥高等數(shù)學(xué)智慧樹知到課后章節(jié)答案2023年下浙江中醫(yī)藥大學(xué)
- 城市道路智慧路燈項(xiàng)目 投標(biāo)方案(技術(shù)標(biāo))
- 初中英語-Unit2 My dream job(writing)教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 【公司利潤(rùn)質(zhì)量研究國(guó)內(nèi)外文獻(xiàn)綜述3400字】
- 工行全國(guó)地區(qū)碼
- 新疆2022年中考物理試卷及答案
- 地暖工程監(jiān)理實(shí)施細(xì)則
- 頂部板式吊耳計(jì)算HGT-20574-2018
評(píng)論
0/150
提交評(píng)論