◆楊凱江 馬恩寧 段曉雪 陸蔚琳
網(wǎng)絡(luò)拓?fù)渲鲃?dòng)發(fā)現(xiàn)關(guān)鍵技術(shù)研究
◆楊凱江 馬恩寧 段曉雪 陸蔚琳
(云南電網(wǎng)有限責(zé)任公司大理供電局 云南 671000)
闡述網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)管理的重要性,對(duì)比幾種拓?fù)渲鲃?dòng)發(fā)現(xiàn)技術(shù)的優(yōu)缺點(diǎn),最終采用基于ICMP的拓?fù)渲鲃?dòng)發(fā)現(xiàn)技術(shù)分析網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),列舉在電網(wǎng)廠站網(wǎng)絡(luò)分析中遇到的難點(diǎn)并給出雙網(wǎng)口設(shè)備唯一識(shí)別、防火墻與隔離裝置等邊界設(shè)備識(shí)別與多區(qū)域拓?fù)浜铣傻葐栴}的解決方案,并且通過應(yīng)用測(cè)試給出了分析總結(jié)。
拓?fù)浒l(fā)現(xiàn);主動(dòng)發(fā)現(xiàn);邊界設(shè)備識(shí)別;多區(qū)域拓?fù)浜铣?/p>
在進(jìn)行網(wǎng)絡(luò)故障分析與排除時(shí),真實(shí)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)對(duì)于分析來說非常的重要,它對(duì)運(yùn)維人員的日常設(shè)備檢測(cè)起到不錯(cuò)的輔助作用。同時(shí),因運(yùn)維人員更替時(shí)常導(dǎo)致資產(chǎn)臺(tái)賬管理不清問題,主動(dòng)發(fā)現(xiàn)網(wǎng)絡(luò)拓?fù)浼夹g(shù)能夠在短時(shí)間內(nèi)使管理人員了解現(xiàn)階段網(wǎng)絡(luò)設(shè)備的情況,有助于資產(chǎn)的清點(diǎn)、設(shè)備的故障分析與排除。當(dāng)前主流的以設(shè)備為核心的拓?fù)浣Y(jié)構(gòu)有:樹型拓?fù)浣Y(jié)構(gòu)、胖樹拓?fù)浣Y(jié)構(gòu)[1]以及VL2拓?fù)浣Y(jié)構(gòu)等,而以服務(wù)器為中心的拓?fù)浣Y(jié)構(gòu)主要有:FiCoon拓?fù)浣Y(jié)構(gòu)以及DCell拓?fù)浣Y(jié)構(gòu)等。
精確全面的網(wǎng)絡(luò)拓?fù)鋵?duì)于資產(chǎn)發(fā)現(xiàn)、故障處置分析、故障定位等工作,起著非常重要的輔助作用,一直是網(wǎng)絡(luò)運(yùn)維工作中的重點(diǎn)。目前,電力監(jiān)控系統(tǒng)網(wǎng)絡(luò)特別是廠站網(wǎng)絡(luò),歷史投運(yùn)設(shè)備多且分區(qū)隔離管理,這給網(wǎng)絡(luò)拓?fù)渥詣?dòng)管理帶來難度,主要是通過人工進(jìn)行臺(tái)賬和拓?fù)渚S護(hù)。人工排查網(wǎng)絡(luò)拓?fù)鋷淼膯栴}如下:一是排查時(shí)間長(zhǎng)效率低,人員需要對(duì)照臺(tái)賬,逐一排查分析;二是排查過程判斷條件多且復(fù)雜,要求網(wǎng)絡(luò)運(yùn)維人員具有較高的專業(yè)知識(shí)與經(jīng)驗(yàn);三是排查結(jié)果不形象直觀,排查結(jié)果需要人工繪制拓?fù)?,期間的理解、記憶與繪制過程費(fèi)時(shí)費(fèi)力。
(1)基于ICMP與UDP協(xié)議的拓?fù)渲鲃?dòng)發(fā)現(xiàn)技術(shù)
ICMP協(xié)議在網(wǎng)絡(luò)中主要作用是主機(jī)探測(cè)、路由維護(hù)、路由選擇和流量控制[2],此主要網(wǎng)絡(luò)拓?fù)渲鲃?dòng)發(fā)現(xiàn)技術(shù)主要應(yīng)用ICMP協(xié)議中的主機(jī)探測(cè)功能來實(shí)現(xiàn)存活設(shè)備的檢測(cè)。
首先,指明需檢測(cè)的IP地址范圍,對(duì)檢測(cè)范圍內(nèi)所有的IP地址發(fā)送ICMP報(bào)文,根據(jù)報(bào)文的返回結(jié)果,將回顯結(jié)果中包含“TTL”關(guān)鍵詞的活躍IP地址記錄至存活I(lǐng)P隊(duì)列中。Traceroute是一種測(cè)量IP網(wǎng)絡(luò)拓?fù)涞幕痉椒╗3],Traceroute的原理是探測(cè)點(diǎn)向目標(biāo)點(diǎn)發(fā)送跳限(hop limit)逐跳增加的ICMP或UDP報(bào)文[4],由每一個(gè)經(jīng)過的路由器中返回的ICMP超時(shí)報(bào)文中的信息,獲取從探測(cè)點(diǎn)到目標(biāo)點(diǎn)經(jīng)過的所有路由器對(duì)應(yīng)接口的IP地址,并記錄在路由表中,從此路由表中提取一個(gè)IP地址,以發(fā)出命令的測(cè)試機(jī)為出發(fā)點(diǎn),通過TraceRoute操作,獲取測(cè)試機(jī)到目的IP地址之間包含的所有設(shè)備IP,并記錄到路由隊(duì)列中。重復(fù)上述步驟,直至存活I(lǐng)P隊(duì)列中的每一個(gè)IP地址都操作完畢。接下來對(duì)IP隊(duì)列中每一個(gè)IP地址發(fā)送特定的報(bào)文,從回復(fù)報(bào)文中獲取該IP地址所歸屬的網(wǎng)段。將所得結(jié)果進(jìn)行分析對(duì)照,將屬于同一路由器的不同IP地址合并,從而得到最終的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。此算法理論上來說簡(jiǎn)單易操作,適用性高,在發(fā)現(xiàn)拓?fù)浣Y(jié)構(gòu)的同時(shí),還能夠檢測(cè)存活的網(wǎng)絡(luò)設(shè)備與主機(jī)。
它的不足在于ping命令檢測(cè)的方式單一,如果兩臺(tái)設(shè)備之間能夠互相ping通,只能保證兩臺(tái)設(shè)備之間至少存在對(duì)應(yīng)的一條物理連接,而無法獲取這兩臺(tái)設(shè)備之間經(jīng)過的設(shè)備有哪些。雖然基于TraceRoute命令,能夠獲取經(jīng)過路由器接口的IP地址,但獲取的路由表不能夠直觀地表現(xiàn)出探測(cè)設(shè)備與目的設(shè)備之間的連線關(guān)系。同時(shí)由于檢測(cè)的IP地址是一個(gè)范圍,其中可能包含著大量無用的IP地址,篩選存活的IP會(huì)需要對(duì)檢測(cè)范圍內(nèi)每一個(gè)IP地址進(jìn)行ping與TraceRoute操作,時(shí)間的開銷和系統(tǒng)的開銷與選定的地址范圍成正比,因此該方法檢測(cè)所花費(fèi)的時(shí)間比較長(zhǎng)。此外如果防火墻處于開啟狀態(tài),那么防火墻會(huì)將ICMP的報(bào)文進(jìn)行攔截,這就會(huì)認(rèn)為禁ping而實(shí)際上存活的設(shè)備是死的,也就無法識(shí)別出準(zhǔn)確的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
UDP協(xié)議在通信前不需要先建立連接,它提供的是面向事務(wù)的、簡(jiǎn)單不可靠信息傳送服務(wù),具有資源消耗小,處理速度快的優(yōu)點(diǎn)[5],且UDP沒有擁塞控制機(jī)制,不管網(wǎng)絡(luò)擁塞與否,都按照源站自身的能力以不變的速率發(fā)送報(bào)文[6],適合于一次傳輸少量數(shù)據(jù),為了在給定的主機(jī)上能識(shí)別多個(gè)目的地址,同時(shí)允許多個(gè)應(yīng)用程序在同一臺(tái)主機(jī)上工作并能獨(dú)立地進(jìn)行數(shù)據(jù)包的發(fā)送和接收,雖然UDP協(xié)議數(shù)據(jù)包丟失會(huì)比較嚴(yán)重,但由于UDP不屬于連接型協(xié)議,它只能通過應(yīng)用層來實(shí)現(xiàn)并保證數(shù)據(jù)傳輸?shù)目煽啃裕蚨哂匈Y源消耗小,處理速度快的優(yōu)點(diǎn)。對(duì)于ICMP協(xié)議發(fā)現(xiàn)不了的禁PING設(shè)備,可以通過UDP通信獲取其存活狀態(tài),對(duì)于準(zhǔn)確識(shí)別網(wǎng)絡(luò)拓?fù)溆兄匾淖饔?。但是UDP報(bào)文沒有可靠性保證、順序保證和流量控制阻斷等,可靠性差。
(2)基于SNMP協(xié)議的拓?fù)渲鲃?dòng)發(fā)現(xiàn)技術(shù)
該方法是通過標(biāo)準(zhǔn)的SNMP(簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)[7]協(xié)議來實(shí)現(xiàn)的,通過讀取指定或者默認(rèn)的路由器中的路由信息。采用廣度優(yōu)先遍歷或深度優(yōu)先遍歷整個(gè)網(wǎng)絡(luò)內(nèi)的路由節(jié)點(diǎn),從網(wǎng)絡(luò)中獲取有序的線性路由節(jié)點(diǎn)。將目的IP地址與子網(wǎng)掩碼進(jìn)行邏輯與運(yùn)算,獲取目的IP地址所在的網(wǎng)段,再通過判斷路由類型,確定連接的子網(wǎng)類型,從而獲取網(wǎng)絡(luò)中各設(shè)備之間的互聯(lián)關(guān)系,繪制網(wǎng)絡(luò)拓?fù)鋱D。此算法簡(jiǎn)單易行,網(wǎng)絡(luò)設(shè)備發(fā)現(xiàn)效率高,網(wǎng)絡(luò)與系統(tǒng)開銷小,并且由于其簡(jiǎn)單易實(shí)現(xiàn)的特性,已經(jīng)在網(wǎng)絡(luò)管理領(lǐng)域成了標(biāo)準(zhǔn),現(xiàn)在主流的網(wǎng)絡(luò)設(shè)備基本上都能夠?qū)NMP協(xié)議進(jìn)行支持,因此SNMP協(xié)議在網(wǎng)絡(luò)層的拓?fù)浒l(fā)現(xiàn)中被廣泛地采用。使用SNMP的優(yōu)點(diǎn)在于設(shè)備信息能夠隨著網(wǎng)絡(luò)的改變而及時(shí)更新,這樣能及時(shí)反映網(wǎng)絡(luò)的實(shí)時(shí)狀況。其不足是:但是該方法要求被監(jiān)測(cè)的網(wǎng)絡(luò)設(shè)備必須支持SNMP協(xié)議[8]。同時(shí),考慮到網(wǎng)絡(luò)安全方面,需要密碼來訪問管理信息庫,在不知道密碼的情況下就無法獲取到網(wǎng)絡(luò)連接的信息。
在電網(wǎng)廠站中,ICMP協(xié)議對(duì)應(yīng)的設(shè)備端口通常是開放的,這對(duì)于基于ICMP協(xié)議主動(dòng)拓?fù)浒l(fā)現(xiàn)[9]技術(shù)來說非常重要,又由于檢測(cè)設(shè)備采用的是便攜式的終端設(shè)備,對(duì)檢測(cè)時(shí)間有著極高的忍耐性,此外對(duì)電網(wǎng)廠站設(shè)備的存活性掃描有助于故障設(shè)備的排查,因此采用基于ICMP協(xié)議的拓?fù)渲鲃?dòng)發(fā)現(xiàn)技術(shù)較為合適。
變電站監(jiān)控主機(jī)、總控裝置通常具有兩個(gè)以上的網(wǎng)口,其IP地址與Mac地址就不是唯一的,當(dāng)擁有雙網(wǎng)口的設(shè)備出現(xiàn)在網(wǎng)絡(luò)結(jié)構(gòu)中,那么很有可能會(huì)將它識(shí)別成兩個(gè)不同的設(shè)備,通過簡(jiǎn)單的IP識(shí)別已經(jīng)無法滿足這種識(shí)別雙網(wǎng)口設(shè)備的特殊情況,因此,如何將這種擁有兩個(gè)網(wǎng)口的設(shè)備識(shí)別成一臺(tái)設(shè)備存在著技術(shù)上的難點(diǎn)。
該網(wǎng)絡(luò)拓?fù)渥詣?dòng)發(fā)現(xiàn)的實(shí)現(xiàn)技術(shù)對(duì)設(shè)備版本信息的認(rèn)知局限在一般主機(jī)的認(rèn)知,像防火墻與隔離裝置這種特殊的設(shè)備,它們的版本信息在設(shè)備版本信息指紋庫中缺乏大量的相關(guān)信息,同時(shí)缺乏對(duì)變電站防火墻和隔離裝置的多次測(cè)試,使得根據(jù)已有的設(shè)備版本信息指紋庫很難去識(shí)別防火墻和隔離裝置設(shè)備。
一個(gè)變電站存在著多個(gè)區(qū)域,如一區(qū)、二區(qū)、三區(qū)等,每一個(gè)區(qū)域的檢測(cè)都需要更換測(cè)試機(jī)的IP地址,因此一次性生成整個(gè)變電站的拓?fù)浜茈y實(shí)現(xiàn),而單獨(dú)區(qū)域的拓?fù)鋵?duì)理解整個(gè)變電站網(wǎng)絡(luò)結(jié)構(gòu)起著障礙作用。
(1)無法將擁有雙網(wǎng)口設(shè)備識(shí)別成唯一設(shè)備的解決方案
電網(wǎng)廠站的總控裝置、后臺(tái)監(jiān)控機(jī)設(shè)備通常存在雙網(wǎng)口,盡管這些設(shè)備擁有兩個(gè)IP地址與MAC(Media Access Control)[10]地址,但是他們的設(shè)備版本信息中包含的操作系統(tǒng)類型與操作系統(tǒng)的版本號(hào)、開放端口、主機(jī)名稱、廠商的信息是一致的。首先,掃描當(dāng)前區(qū)域的所有設(shè)備信息,其中包含IP地址、操作系統(tǒng)等設(shè)備版本信息,基于開放的端口獲取操作系統(tǒng)類型與版本號(hào)、主機(jī)名稱,通過操作系統(tǒng)類型與版本號(hào)又可以獲取廠商信息,將這些設(shè)備信息進(jìn)行數(shù)據(jù)比對(duì),憑借這些設(shè)備信息一致或相似很高,判斷為一臺(tái)設(shè)備。解決方案的流程圖如圖1所示

圖1 雙網(wǎng)口唯一識(shí)別流程圖
(2)防火墻、隔離裝置等邊界設(shè)備不易識(shí)別及多區(qū)域拓?fù)浜铣傻慕鉀Q方案
對(duì)于電網(wǎng)廠站的隔離裝置和防火墻設(shè)備的識(shí)別,這需要根據(jù)多次現(xiàn)場(chǎng)防火墻與隔離裝置設(shè)備版本信息檢測(cè)的結(jié)果對(duì)比進(jìn)行分析,得出相似的部分,將這些檢測(cè)結(jié)果記錄至設(shè)備版本信息指紋庫中,設(shè)備版本信息的識(shí)別主要依賴于設(shè)備版本信息指紋庫,而其中指紋庫記錄對(duì)應(yīng)設(shè)備的版本信息。又由于電網(wǎng)廠站所有的防火墻和隔離裝置設(shè)備的廠家信息相對(duì)較少和固定,因此可以基于這個(gè)相似部分來識(shí)別出電網(wǎng)廠站的防火墻與隔離裝置設(shè)備。
一個(gè)變電站存在多個(gè)區(qū)域,因相鄰區(qū)域無法直接通信,且測(cè)試機(jī)在不同的區(qū)域中,需要更換IP地址、子網(wǎng)掩碼和網(wǎng)關(guān),最好的解決方式是將不同區(qū)域的拓?fù)洌x擇實(shí)現(xiàn)拓?fù)浜喜?。通過系統(tǒng)中的拓?fù)浜铣晒δ?,選中需要合成的拓?fù)鋱D,系統(tǒng)會(huì)依據(jù)選中的拓?fù)鋵?duì)應(yīng)的版本號(hào),將這些拓?fù)鋱D合并成一張完整的拓?fù)鋱D,相鄰區(qū)域之間用防火墻或隔離裝置等邊界設(shè)備來劃分不同區(qū)域,每一個(gè)邊界設(shè)備連接相鄰區(qū)域的最上層交換機(jī)或者路由器,來呈現(xiàn)出符合實(shí)際情況的拓?fù)鋱D。拓?fù)浜铣闪鞒虉D如圖2所示

圖2 邊界設(shè)備及拓?fù)浜铣闪鞒虉D
根據(jù)實(shí)際廠站測(cè)試的雙網(wǎng)口設(shè)備的效果圖如圖3所示:

圖3 雙網(wǎng)口設(shè)備連線樣式
圖4為隔離裝置的設(shè)備信息:

圖4 隔離裝置的設(shè)備信息
圖5為兩個(gè)不同區(qū)域的設(shè)備的拓?fù)鋱D合并的測(cè)試效果圖。
整體上來說,網(wǎng)絡(luò)拓?fù)渲鲃?dòng)發(fā)現(xiàn)技術(shù)能夠減少人工排查所帶來大量的時(shí)間耗費(fèi),提高運(yùn)維人員的檢測(cè)效率,且此技術(shù)也能夠避免因現(xiàn)場(chǎng)實(shí)施導(dǎo)致的安全隱患問題,一個(gè)區(qū)域的網(wǎng)絡(luò)拓?fù)渖蓵r(shí)間不會(huì)超過30分鐘,相比于人工方式,所耗費(fèi)的時(shí)間和精力大大減少。此外,想要高速精確識(shí)別出具體的設(shè)備版本信息,需要大量的數(shù)據(jù)支撐,將這些數(shù)據(jù)對(duì)應(yīng)的設(shè)備版本信息記錄在設(shè)備信息指紋庫中,當(dāng)指紋庫中的數(shù)據(jù)量足夠龐大時(shí),設(shè)備的版本信息檢測(cè)的精確度會(huì)進(jìn)一步提升。

圖5 不同區(qū)域拓?fù)浜铣?/p>
[1]陳忠平,趙海娣.InfiniBand網(wǎng)絡(luò)胖樹路由算法分析[J].計(jì)算機(jī)工程與科學(xué),2009,31(S1):50-51+72.
[2]杜樹杰.基于ICMP協(xié)議的Ping主機(jī)探測(cè)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2009,18(12):212-214.
[3]朱正一,陳鳴,王占豐.6Topo:一種測(cè)量IPv6網(wǎng)絡(luò)拓?fù)涞男路椒╗J].小型微型計(jì)算機(jī)系統(tǒng),2020,41(06):1209-1215.
[4]馬東雯,劉述,高強(qiáng).基于Traceroute路徑的IPv6過渡元素識(shí)別策略[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,34(12):4120-4125.
[5]劉閱軍,閔新力,等.基于UDP協(xié)議的心電圖波形傳輸研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2016,33(01):65-67.
[6]袁凱,李俊娥,等.一種基于UDP的電力廣域保護(hù)系統(tǒng)可靠通信方法[J].自動(dòng)化學(xué)報(bào):1-13[2020-11-01].
[7]楊芳南,劉春.基于SNMP的應(yīng)用進(jìn)程監(jiān)控系統(tǒng)研究與實(shí)現(xiàn)[J].北京交通大學(xué)學(xué)報(bào),2016,40(05):35-39.
[8]曹文斌,陳國(guó)順,等.基于ICMP和SNMP的網(wǎng)絡(luò)設(shè)備監(jiān)測(cè)技術(shù)[J].計(jì)算機(jī)工程與設(shè)計(jì),2014,35(04):1152- 1155+1160.
[9]宋宇波,樊明,等.一種基于拓?fù)浞治龅木W(wǎng)絡(luò)攻擊流量分流和阻斷方法[J].信息網(wǎng)絡(luò)安全,2020,20(03):9-17.
[10]張良,郝凱鋒.基于RSSI變化序列的MAC地址與目標(biāo)匹配方法[J].系統(tǒng)仿真學(xué)報(bào),2020,32(01):113-121.
網(wǎng)絡(luò)安全技術(shù)與應(yīng)用2021年2期