一種網(wǎng)絡拓撲結(jié)構(gòu)的發(fā)現(xiàn)方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種網(wǎng)絡拓撲結(jié)構(gòu)的發(fā)現(xiàn)方法及裝置。
【背景技術(shù)】
[0002]隨著計算機技術(shù)的不斷發(fā)展與進步,計算機成為人們生活和工作中必不可少的工具,通過通信線路將計算機連接起來,形成計算機網(wǎng)絡,通過計算機網(wǎng)絡可以實現(xiàn)不同計算機之間資源的共享和信息的傳遞,從而使計算機發(fā)揮更大的作用。隨著計算機數(shù)量的不斷增加,計算機網(wǎng)絡拓撲結(jié)構(gòu)也越來越復雜。計算機網(wǎng)絡拓撲結(jié)構(gòu)的設(shè)計,對整個計算機網(wǎng)絡的性能、穩(wěn)定性及通信費用都有著重大影響。
[0003]針對已經(jīng)連接完成的計算機網(wǎng)絡,通過獲取網(wǎng)絡拓撲結(jié)構(gòu),可以檢測各個計算機之間的連接是否暢通,并可以檢查各個計算機之間的連接形式是否與設(shè)計相同。
[0004]目前,針對于網(wǎng)絡拓撲結(jié)構(gòu)的發(fā)現(xiàn)方法,主要是通過基于Internet報文控制協(xié)議ICMP的Ping命令,檢測某一網(wǎng)段內(nèi)的設(shè)備是否在線。
[0005]針對現(xiàn)有技術(shù)發(fā)現(xiàn)網(wǎng)絡拓撲結(jié)構(gòu)的方法,僅能發(fā)現(xiàn)網(wǎng)段內(nèi)的設(shè)備是否在線,不能發(fā)現(xiàn)設(shè)備的類型及各個設(shè)備之間的拓撲連接關(guān)系,因而,無法獲得完整的網(wǎng)絡拓撲結(jié)構(gòu)。
【發(fā)明內(nèi)容】
[0006]本發(fā)明提供一種網(wǎng)絡拓撲結(jié)構(gòu)的發(fā)現(xiàn)方法及裝置,能夠獲得完整的網(wǎng)絡拓撲結(jié)構(gòu)。
[0007]本發(fā)明實施例提供了一種網(wǎng)絡拓撲結(jié)構(gòu)的發(fā)現(xiàn)方法,包括:
[0008]獲取與當前計算機直連的當前路由設(shè)備;
[0009]獲取與所述當前路由設(shè)備直連的第一直連設(shè)備的第一 IP地址;
[0010]根據(jù)所述第一 IP地址依次判斷各個所述第一直連設(shè)備的類型,并記錄所述第一直連設(shè)備與所述當前路由設(shè)備的連接關(guān)系;
[0011]如果所述第一直連設(shè)備為路由設(shè)備,將該路由設(shè)備作為當前路由設(shè)備,執(zhí)行所述獲取與所述當前路由設(shè)備直連的第一直連設(shè)備的第一 IP地址;
[0012]如果所述第一直連設(shè)備為交換設(shè)備,獲取與該交換設(shè)備直連的第二直連設(shè)備的第二 IP地址,將該交換設(shè)備作為所述當前路由設(shè)備,并將所述第二直連設(shè)備及第二 IP地址分別作為所述第一直連設(shè)備及第一 IP地址,執(zhí)行所述根據(jù)所述第一 IP地址依次判斷各個所述第一直連設(shè)備的類型。
[0013]優(yōu)選地,所述獲取與當前計算機直連的當前路由設(shè)備包括:
[0014]通過所述當前計算機讀取路由表,通過對所述路由表中的記錄進行逐條分析,分析出與所述當前計算機直連的路由設(shè)備及非直連的路由設(shè)備,從中選擇與當前計算機直連的路由設(shè)備作為當前路由設(shè)備。
[0015]優(yōu)選地,所述獲取與所述當前路由設(shè)備直連的第一直連設(shè)備的第一 IP地址包括:
[0016]獲取所述當前路由設(shè)備所屬路由網(wǎng)段的地址解析協(xié)議ARP表,讀取所述當前路由設(shè)備所屬路由網(wǎng)段的ARP表中的各條記錄,獲取與所述當前路由設(shè)備直連的各個所述第一直連設(shè)備的第一 IP地址。
[0017]優(yōu)選地,所述根據(jù)所述第一 IP地址依次判斷各個所述第一直連設(shè)備的類型包括:
[0018]通過簡單網(wǎng)絡管理協(xié)議SNMP獲取各個所述第一直連設(shè)備的MAC地址與設(shè)備類型的對應關(guān)系,根據(jù)所述當前路由設(shè)備所屬路由網(wǎng)段的ARP表中IP地址與MAC地址的對應關(guān)系,獲取IP地址與設(shè)備類型的對應關(guān)系,根據(jù)第一 IP地址判斷出各個所述第一直連設(shè)備的類型,其中,所述直連設(shè)備的類型包括計算機、路由設(shè)備及交換設(shè)備。
[0019]優(yōu)選地,所述獲取與該交換設(shè)備直連的第二直連設(shè)備的第二 IP地址包括:
[0020]獲取該交換設(shè)備的鏈路層發(fā)現(xiàn)協(xié)議LLDP表及該交換設(shè)備所屬路由網(wǎng)段的ARP表,通過讀取所述交換設(shè)備所屬路由網(wǎng)段的ARP表中的各條記錄,獲取與所述交換設(shè)備直連的各個計算機的第二 IP地址,對所述LLDP表中的各條記錄進行逐條分析,獲取到與所述交換設(shè)備直連的各個路由設(shè)備或交換設(shè)備的第二 IP地址。
[0021]優(yōu)選地,所述記錄所述第一直連設(shè)備與所述當前路由設(shè)備的連接關(guān)系包括:
[0022]建立拓撲數(shù)據(jù)結(jié)構(gòu)表,在所述拓撲數(shù)據(jù)結(jié)構(gòu)表中創(chuàng)建所述第一直連設(shè)備與所述當前路由設(shè)備的連接關(guān)系,并分別記錄所述第一直連設(shè)備與所述當前路由設(shè)備的設(shè)備ID、設(shè)備名稱、設(shè)備類型、IP地址及子網(wǎng)掩碼中的任意一個或多個。
[0023]本發(fā)明實施例還提供了一種網(wǎng)絡拓撲結(jié)構(gòu)的發(fā)現(xiàn)裝置,包括:第一獲取單元、第二獲取單元、轉(zhuǎn)換單元及判斷單元;
[0024]所述第一獲取單元,用于獲取與當前計算機直連的當前路由設(shè)備,并獲取與所述當前路由設(shè)備直連的第一直連設(shè)備的第一 IP地址;
[0025]所述判斷單元,用于根據(jù)所述第一獲取單元獲取的第一 IP地址依次判斷各個所述第一直連設(shè)備的類型,并記錄所述第一直連設(shè)備與所述當前路由設(shè)備的連接關(guān)系;
[0026]所述第二獲取單元,用于根據(jù)所述判斷單元的判斷結(jié)果,如果所述第一直連設(shè)備為交換設(shè)備,獲取與該交換設(shè)備直連的第二直連設(shè)備的第二 IP地址;
[0027]所述轉(zhuǎn)換單元,用于根據(jù)所述判斷單元的判斷結(jié)果,如果所述第一直連設(shè)備為路由設(shè)備,將該路由設(shè)備轉(zhuǎn)換為當前路由設(shè)備,并發(fā)送給所述第一獲取單元進行處理,如果所述第一直連設(shè)備為交換設(shè)備,將所述第二獲取單元獲取的第二直連設(shè)備及第二 IP地址分別轉(zhuǎn)換為第一直連設(shè)備及第一 IP地址,將該交換設(shè)備轉(zhuǎn)換為所述當前路由設(shè)備,并發(fā)送給所述判斷單元進行處理。
[0028]優(yōu)選地,所述第一獲取單元,用于通過所述當前計算機讀取路由表,通過對所述路由表中的記錄進行逐條分析,分析出與所述當前計算機直連的路由設(shè)備及非直連的路由設(shè)備,從中選擇與當前計算機直連的路由設(shè)備作為當前路由設(shè)備。
[0029]優(yōu)選地,所述第一獲取單元,進一步用于獲取所述當前路由設(shè)備所屬路由網(wǎng)段的地址解析協(xié)議ARP表,讀取所述當前路由設(shè)備所屬路由網(wǎng)段的ARP表中的各條記錄,獲取與所述當前路由設(shè)備直連的各個所述第一直連設(shè)備的第一 IP地址。
[0030]優(yōu)選地,所述判斷單元,用于通過簡單網(wǎng)絡管理協(xié)議SNMP獲取各個所述第一直連設(shè)備的MAC地址與設(shè)備類型的對應關(guān)系,根據(jù)所述當前路由設(shè)備所屬路由網(wǎng)段的ARP表中IP地址與MAC地址的對應關(guān)系,獲取IP地址與設(shè)備類型的對應關(guān)系,根據(jù)第一 IP地址判斷出各個所述第一直連設(shè)備的類型,其中,所述直連設(shè)備的類型包括計算機、路由設(shè)備及交換設(shè)備。
[0031]優(yōu)選地,所述第二獲取單元,用于獲取該交換設(shè)備的鏈路層發(fā)現(xiàn)協(xié)議LLDP表及該交換設(shè)備所屬路由網(wǎng)段的ARP表,通過讀取所述交換設(shè)備所屬路由網(wǎng)段的ARP表中的各條記錄,獲取與所述交換設(shè)備直連的各個計算機的第二 IP地址,對所述LLDP表中的各條記錄進行逐條分析,獲取到與所述交換設(shè)備直連的各個路由設(shè)備或交換設(shè)備的第二 IP地址。
[0032]優(yōu)選地,所述判斷單元,用于建立拓撲數(shù)據(jù)結(jié)構(gòu)表,在所述拓撲數(shù)據(jù)結(jié)構(gòu)表中創(chuàng)建所述第一直連設(shè)備與所述當前路由設(shè)備的連接關(guān)系,并分別記錄所述第一直連設(shè)備與所述當前路由設(shè)備的設(shè)備ID、設(shè)備名稱、設(shè)備類型、IP地址及子網(wǎng)掩碼中的任意一個或多個。
[0033]本發(fā)明實施例提供了一種網(wǎng)絡拓撲結(jié)構(gòu)的發(fā)現(xiàn)方法及裝置,獲取與當前計算機直連的當前路由設(shè)備,獲取與當前路由設(shè)備直連的第一直連設(shè)備的第一 IP地址,根據(jù)第一IP地址判斷各個第一直連設(shè)備的類型,并記錄各個第一直連設(shè)備與當前路由設(shè)備的連接關(guān)系,獲得以當前路由設(shè)備為交點的網(wǎng)絡拓撲結(jié)構(gòu),根據(jù)判斷的結(jié)果,如果第一直連設(shè)備為路由設(shè)備,將該路由設(shè)備作為當前路由設(shè)備,返回執(zhí)行獲取與當前路由設(shè)備直連的第一直連設(shè)備的第一 IP地址,獲取與該路由設(shè)備直連的直連設(shè)備,如果第一直連設(shè)備為交換設(shè)備,獲取與該交換設(shè)備直連的各個第二直連設(shè)備的第二 IP地址,將第二直連設(shè)備及第二 IP地址分別作為第一直連設(shè)備及第一 IP地址,返回執(zhí)行根據(jù)第一 IP地址判斷各個第一直連設(shè)備的類型,獲取與該交換設(shè)備直連的直連設(shè)備,這樣,從一個路由設(shè)備開始,獲取與其直連的各個直連設(shè)備,并判斷各個直連設(shè)備的類型,如果直連設(shè)備為路由設(shè)備或交換設(shè)備,進一步判斷與該直連設(shè)備直連的其他設(shè)備的類型,重復這樣的判斷過程,發(fā)現(xiàn)網(wǎng)段內(nèi)所有的網(wǎng)絡設(shè)備,在判斷過程中記錄各個網(wǎng)絡設(shè)備的連接關(guān)系,從而獲得完整的網(wǎng)絡拓撲結(jié)構(gòu)。
【附圖說明】
[0034]圖1是本發(fā)明一個實施例提供的一種網(wǎng)絡拓撲結(jié)構(gòu)的發(fā)現(xiàn)方法流程圖;
[0035]圖2是本發(fā)明另一個實施例提供的一種網(wǎng)絡拓撲結(jié)構(gòu)的發(fā)現(xiàn)方法流程圖;
[0036]圖3是本發(fā)明一個實施例提供的一種網(wǎng)絡拓撲結(jié)構(gòu)的發(fā)現(xiàn)裝置示意圖。
【具體實施方式】
[0037]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述。顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0038]如圖1所示,本發(fā)明一個實施例提供了一種網(wǎng)絡拓撲結(jié)構(gòu)的發(fā)現(xiàn)方法,包括:
[0039]步驟101:獲取與當前計算機直連的當前路由設(shè)備;
[0040]步驟102:獲取與所述當前路由設(shè)備直連的第一直連設(shè)備的第一 IP地址;
[0041]步驟1