·3·6·1·2·1·2)
[0030] Interfaces組中用的的主要對(duì)象是ifDescr。
[0031]
[0032] ip組(節(jié)點(diǎn) 0ID為1.3.6.1.2.1.4)
[0033] ip組中用到的主要對(duì)象是ipAdEntAddr以及ipAdEntNe tMask。
[0036] 使用sysName對(duì)象可以用于標(biāo)識(shí)節(jié)點(diǎn)路由器名稱(chēng),ifDescr對(duì)象用于標(biāo)識(shí)節(jié)點(diǎn)路由 器某一特定接口類(lèi)型,即接口對(duì)應(yīng)鏈路的鏈路類(lèi)型,ipAdEntAddr對(duì)象可以標(biāo)識(shí)節(jié)點(diǎn)路由器 某一特定端口綁定的IP地址,ipAdEntNe tMask對(duì)象則是該IP地址對(duì)應(yīng)的子網(wǎng)掩碼。圖2、圖3 和圖4分別是從MIB庫(kù)中采集到的SNMP信息示例;其中圖2為采集到的SNMP協(xié)議中sysName字 段信息;圖3為采集到的S Ν Μ P協(xié)議中i f D e s c r字段信息;圖4為采集到的S Ν Μ P協(xié)議中 ipAdEntAddr 和 ipAdEntNetMask 字段信息。
[0037] 前述的信息提取為,從MySQL數(shù)據(jù)庫(kù)中提取同一時(shí)間段的sysName、ifDescr、 ipAdEntAddr和ipAdEntNetMask信息,然后將信息按節(jié)點(diǎn)名稱(chēng)、序號(hào)、接口類(lèi)型、設(shè)備端口 IP 地址和子網(wǎng)掩碼的順序存儲(chǔ)到內(nèi)存中;所述的序號(hào)為同一節(jié)點(diǎn)的所有設(shè)備端口 IP地址的序 號(hào)。
[0038] 前述的信息過(guò)濾為,首先將接口類(lèi)型為¥1&]1、1^〇(^&3〇1^和11111:;[1;[111^的信息過(guò)濾 掉,以避免因?yàn)榫W(wǎng)絡(luò)中存在的虛擬子網(wǎng)、回環(huán)地址及端口復(fù)用對(duì)構(gòu)建拓?fù)洚a(chǎn)生干擾,其次根 據(jù)設(shè)備端口 IP地址以及子網(wǎng)掩碼進(jìn)行"邏輯與"運(yùn)算得出每個(gè)設(shè)備端口 IP地址所在的網(wǎng)絡(luò) 號(hào),根據(jù)網(wǎng)絡(luò)號(hào),在所有設(shè)備端口 IP地址中尋找位屬于同一網(wǎng)絡(luò)號(hào)中的設(shè)備端口 IP地址,將 重復(fù)為不同端口設(shè)置的相同設(shè)備端口 IP地址、設(shè)置后但未進(jìn)行連接的設(shè)備端口 IP地址(即 該設(shè)備端口 IP地址所屬網(wǎng)絡(luò)號(hào)中僅有該IP地址)進(jìn)行過(guò)濾,過(guò)濾后將屬于同一網(wǎng)絡(luò)號(hào)的設(shè) 備端口 IP地址保留,之后將保留的設(shè)備端口 IP地址生成拓?fù)錁?gòu)建文檔;圖5拓?fù)錁?gòu)建文檔示 例。
[0039]前述的拓?fù)錁?gòu)建為,根據(jù)拓?fù)錁?gòu)建文檔獲取網(wǎng)絡(luò)節(jié)點(diǎn)的端口 IP對(duì),再根據(jù)端口所 屬的路由器確認(rèn)各網(wǎng)絡(luò)節(jié)點(diǎn)間的端口 IP對(duì)的數(shù)量(每個(gè)端口 IP對(duì)代表一條鏈路),通過(guò)網(wǎng)絡(luò) 節(jié)點(diǎn)和端口 IP對(duì)的數(shù)量(鏈路條數(shù))構(gòu)建一個(gè)ηΧη的鄰接矩陣,η為網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量,鄰接矩陣 的元素為端口 IP對(duì)的數(shù)量。以三個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)即1?〇此61'18、1?〇此61:1'19和1?〇1^6143構(gòu)建的局部 拓?fù)錇槔?如圖6所示),其中Router 18的設(shè)備端口 IP地址為:
[0045] 可以通過(guò)設(shè)備端口 IP地址和子網(wǎng)掩碼進(jìn)行"邏輯與"運(yùn)算,得到接口所在網(wǎng)絡(luò)號(hào), 比較各接口網(wǎng)絡(luò)號(hào),可以發(fā)現(xiàn)R〇uterl8與Routerl9有4對(duì)端口 IP對(duì)(即4條鏈路),分別是: (10.41.100.1,10.41.100.2),(10.41.100.5,10.41.100.6),(10.41.100.9, 10.41.100.10),(10.41.100.13,10.41.100.14)。1?〇1^6143與1?〇1^6119之間也有4對(duì)端口1? 對(duì),分別是(10.41 · 100 · 45,10 · 41 · 100.46),( 10 · 41 · 100.49,10 · 41 · 100 · 50), (10.41.100.53,10.41.100.54),(10.41.100.57,10.41.100.58)〇
[0046] 通過(guò)上述的端口 IP對(duì),可以得到以下鄰接矩陣:
[0048] 建立鄰接矩陣后,進(jìn)行拓?fù)洳季?。?gòu)建時(shí),采用力導(dǎo)引算法進(jìn)行拓?fù)洳季?。所述?力導(dǎo)引算法是通過(guò)對(duì)初始隨機(jī)分布的網(wǎng)絡(luò)節(jié)點(diǎn)計(jì)算其引力和斥力,所有節(jié)點(diǎn)都存在著斥 力,但相連的節(jié)點(diǎn)存在引力,通過(guò)力的驅(qū)動(dòng)使節(jié)點(diǎn)逐步移動(dòng),最終使得節(jié)點(diǎn)之間達(dá)到力的平 衡。算法偽代碼如下:
[0049]
[0051]其中V表示圖的網(wǎng)絡(luò)節(jié)點(diǎn)數(shù),E表示圖的邊數(shù)。該算法的空間復(fù)雜度為0(V),計(jì)算每 個(gè)節(jié)點(diǎn)的排斥力需要的時(shí)間復(fù)雜度為〇(V2),計(jì)算每對(duì)節(jié)點(diǎn)間的吸引力需要的時(shí)間復(fù)雜度 為0(E),移動(dòng)節(jié)點(diǎn)需要的時(shí)間復(fù)雜度為0(V)。綜上所述,該算法的空間復(fù)雜度為0(V),時(shí)間 復(fù)雜度為〇(V 2)+0(E)。通過(guò)力導(dǎo)引布局算法,使得布局中節(jié)點(diǎn)的分散相對(duì)均勻,節(jié)點(diǎn)間交叉 的連線(xiàn)較少,得到較好的拓?fù)洳季郑尸F(xiàn)給使用者一個(gè)直觀合理的拓?fù)浞植肌?br>【主權(quán)項(xiàng)】
1. 一種基于S匪P協(xié)議的網(wǎng)絡(luò)拓?fù)錁?gòu)建方法,其特征在于,該構(gòu)建方法包括拓?fù)湫畔⒉?集、信息提取、信息過(guò)濾和拓?fù)錁?gòu)建。2. 根據(jù)權(quán)利要求1所述的基于SNMP協(xié)議的網(wǎng)絡(luò)拓?fù)錁?gòu)建方法,其特征在于:所述的拓?fù)?信息采集為,采用多線(xiàn)程模式同時(shí)采集待構(gòu)建拓?fù)渚W(wǎng)絡(luò)中路由器SNMP協(xié)議的MIB庫(kù)中實(shí)時(shí) 存儲(chǔ)的S匪P信息,S匪P信息包括設(shè)備端口IP地址信息、端口信息和系統(tǒng)信息,將采集到的 SNMP信息存入MySQL數(shù)據(jù)庫(kù)中。3. 根據(jù)權(quán)利要求2所述的基于SNMP協(xié)議的網(wǎng)絡(luò)拓?fù)錁?gòu)建方法,其特征在于:所述的多線(xiàn) 程模式為,采集SNMP信息時(shí)為每個(gè)路由器的拓?fù)湫畔⒉杉^(guò)程單獨(dú)創(chuàng)建一個(gè)線(xiàn)程,各個(gè)線(xiàn) 程獨(dú)立使用net-snmp軟件提供的SNMP數(shù)據(jù)請(qǐng)求命令。4. 根據(jù)權(quán)利要求3所述的基于SNMP協(xié)議的網(wǎng)絡(luò)拓?fù)錁?gòu)建方法,其特征在于:所述的SNMP 協(xié)議的MIB庫(kù)中的被管理對(duì)象分組包括system組、interfaces組和ip組;所述的system組包 括sysName字段;所述的interfaces組包括ifDescr字段;所述的ip組包括ipAdEntAddr和 ipAdEntNetMask字段。5. 根據(jù)權(quán)利要求4所述的基于SNMP協(xié)議的網(wǎng)絡(luò)拓?fù)錁?gòu)建方法,其特征在于,所述的信息 提取為,從MySQL數(shù)據(jù)庫(kù)中提取最近同一時(shí)間段的sysName、ifDescr、ipAdEntAddr和 ipAdEntNetMask信息,然后將信息按節(jié)點(diǎn)名稱(chēng)、序號(hào)、端口類(lèi)型、設(shè)備端口IP地址和子網(wǎng)掩 碼的順序存儲(chǔ)到內(nèi)存中;所述的序號(hào)為同一節(jié)點(diǎn)的所有設(shè)備端口IP地址的序號(hào)。6. 根據(jù)權(quán)利要求5所述的基于SNMP協(xié)議的網(wǎng)絡(luò)拓?fù)錁?gòu)建方法,其特征在于:所述的信息 過(guò)濾為,首先將接口類(lèi)型為Vlan、Loopback和Multilink的信息過(guò)濾掉,其次根據(jù)設(shè)備端口 IP地址以及子網(wǎng)掩碼進(jìn)行"邏輯與"運(yùn)算得出每個(gè)設(shè)備端口IP地址所在的網(wǎng)絡(luò)號(hào),根據(jù)網(wǎng)絡(luò) 號(hào),在所有設(shè)備端口IP地址中尋找屬于同一網(wǎng)絡(luò)號(hào)中的設(shè)備端口IP地址,將重復(fù)為不同端 口設(shè)置的相同設(shè)備端口IP地址、設(shè)置后但未進(jìn)行連接的設(shè)備端口IP地址進(jìn)行過(guò)濾,過(guò)濾后 將屬于同一網(wǎng)絡(luò)號(hào)的設(shè)備端口IP地址保留,之后將保留的設(shè)備端口IP地址生成拓?fù)錁?gòu)建文 檔。7. 根據(jù)權(quán)利要求6所述的基于SNMP協(xié)議的網(wǎng)絡(luò)拓?fù)錁?gòu)建方法,其特征在于:所述的拓?fù)?構(gòu)建為,根據(jù)拓?fù)錁?gòu)建文檔獲取網(wǎng)絡(luò)節(jié)點(diǎn)的端口IP對(duì),再根據(jù)端口所屬的路由器確認(rèn)各網(wǎng) 絡(luò)節(jié)點(diǎn)間的端口IP對(duì)的數(shù)量,通過(guò)網(wǎng)絡(luò)節(jié)點(diǎn)和端口IP對(duì)的數(shù)量構(gòu)建一個(gè)ηXη的鄰接矩陣,η 為網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量,鄰接矩陣的元素為端口IP對(duì)的數(shù)量,之后根據(jù)鄰接矩陣采用力導(dǎo)引布局 算法進(jìn)行拓?fù)洳季帧?br>【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種基于SNMP協(xié)議的網(wǎng)絡(luò)拓?fù)錁?gòu)建方法。該構(gòu)建方法包括拓?fù)湫畔⒉杉⑿畔⑻崛?、信息過(guò)濾和拓?fù)錁?gòu)建。本發(fā)明具有,構(gòu)建效率高、網(wǎng)絡(luò)負(fù)載低和拓?fù)洳季趾侠淼奶攸c(diǎn)。
【IPC分類(lèi)】H04L12/24
【公開(kāi)號(hào)】CN105450453
【申請(qǐng)?zhí)枴緾N201510880806
【發(fā)明人】楊耀, 劉旭航, 申洲, 李由, 熊鋮, 陳利民, 陸飆, 任陽(yáng)陽(yáng), 張菡, 劉毅, 王瑋, 撒興杰, 鄭元偉, 李伯森, 黎皓, 張祥忠, 劉曉波, 于富財(cái)
【申請(qǐng)人】貴州電網(wǎng)公司信息通信分公司, 電子科技大學(xué)
【公開(kāi)日】2016年3月30日
【申請(qǐng)日】2015年12月3日