基于多線程掃描的網(wǎng)絡(luò)拓?fù)溥吔绫O(jiān)測(cè)系統(tǒng)設(shè)計(jì)
在掃描流程圖中的每個(gè)線程都能獨(dú)立完成各自的掃描分析任務(wù),在對(duì)每一個(gè)設(shè)備掃描完成之后,立即讀取目標(biāo)的安全設(shè)置,完成結(jié)構(gòu)邊界的確認(rèn)、檢驗(yàn)、存儲(chǔ)和展現(xiàn)工作。
對(duì)于較大規(guī)模的網(wǎng)絡(luò),在采用了設(shè)備多線程掃描的方法后,完成全網(wǎng)掃描所耗費(fèi)的時(shí)間已經(jīng)大幅減少,如表1所示,其中,①②③為掃描算法分別在3個(gè)不同的時(shí)間段內(nèi)運(yùn)行的結(jié)果。但是詳細(xì)分析后發(fā)現(xiàn),掃描線程仍然有一部分空閑時(shí)間在等待設(shè)備準(zhǔn)備數(shù)據(jù),而這部分空閑時(shí)間正是再次提高掃描速度的希望。在分析了設(shè)備的掃描過程后發(fā)現(xiàn),為了實(shí)現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)的自動(dòng)發(fā)現(xiàn)與監(jiān)測(cè),每個(gè)設(shè)備都需要掃描接口表、路由表、端口映射表、地址映射表等多張表格,雖然在掃描流程上采用了子網(wǎng)多線程掃描,但是每個(gè)掃描線程依然是按照順序?qū)@幾張表格進(jìn)行掃描的,由此得出了通過多線程方式來獲取這些表格的表格多線程掃描方法(以下簡(jiǎn)稱方法三)。
為了驗(yàn)證這3種掃描方法的性能,特意選擇長(zhǎng)安大學(xué)校園網(wǎng)絡(luò)進(jìn)行實(shí)際測(cè)試,表1是這3種掃描方法分別在3個(gè)不同的時(shí)間段內(nèi)測(cè)試運(yùn)行的結(jié)果數(shù)據(jù)。
在對(duì)掃描方法的性能進(jìn)行比較時(shí),掃描完成時(shí)間以及掃描對(duì)網(wǎng)絡(luò)帶寬的影響是兩個(gè)重點(diǎn)指標(biāo)。本來每秒鐘獲得的記錄數(shù)量也可以作為一個(gè)性能指標(biāo)來指示掃描算法的性能優(yōu)劣,但是該指標(biāo)與網(wǎng)絡(luò)流量成正比關(guān)系(記錄條數(shù)越多網(wǎng)絡(luò)流量越大),因此在比較過程中只使用了完成時(shí)間和波特率兩項(xiàng)指標(biāo),3種方法性能比較如圖3所示。從測(cè)試的結(jié)果可以看出,這3種方法在3次測(cè)試過程中性能表現(xiàn)均較為穩(wěn)定,方法一的完成時(shí)間是最長(zhǎng)的,在使用了多線程以后方法二和方法三的完成時(shí)間有了大幅的減少。同時(shí),隨著完成時(shí)間的縮減,網(wǎng)絡(luò)流量也逐步升高,由于目前主干網(wǎng)絡(luò)多是千兆的情況,因此多線程的使用對(duì)網(wǎng)絡(luò)帶寬的壓力實(shí)在小到可以忽略不計(jì)。
3.2 異常情況自動(dòng)上報(bào)
在實(shí)際應(yīng)用時(shí),單靠周期性的掃描來發(fā)現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)的異常變動(dòng)顯然不夠,應(yīng)該設(shè)計(jì)一種異常自動(dòng)上報(bào)機(jī)制,使得接入設(shè)備能夠在異常發(fā)生的第一時(shí)間將自身變動(dòng)信息自動(dòng)上報(bào)給服務(wù)器,而不是等待掃描模塊下一次周期性的輪詢,而這恰恰就是SNMP陷阱(SNMP Trap)的用武之地。
SNMP陷阱不同于SNMP的主動(dòng)采集,SNMP主動(dòng)采集是按照固定的時(shí)間間隔,由管理工作站以詢問的方式采集被管理設(shè)備的各項(xiàng)MIB信息,因此,發(fā)現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)的變化與異常的及時(shí)性取決于掃描采集的頻率。在一個(gè)較大規(guī)模的網(wǎng)絡(luò)內(nèi),輪詢過于頻繁會(huì)產(chǎn)生大量不必要的通信量,容易引起網(wǎng)絡(luò)擁塞;輪詢周期過長(zhǎng),則不能保證網(wǎng)絡(luò)故障被及時(shí)發(fā)現(xiàn),嚴(yán)重影響了系統(tǒng)的實(shí)時(shí)性[6]。而SNMP陷阱使用事件驅(qū)動(dòng)機(jī)制,在被監(jiān)控設(shè)備上設(shè)置陷阱,一旦被監(jiān)控設(shè)備出現(xiàn)異常情況,立即向管理工作站發(fā)送陷阱消息,因此能夠在最短的時(shí)間內(nèi)發(fā)現(xiàn)異常,避免由設(shè)備異常而帶來的經(jīng)濟(jì)損失。
在SNMP的管理模型中,管理代理會(huì)向管理工作站發(fā)送一些重要事件的異步通告,其中包括設(shè)備的冷啟動(dòng)、熱啟動(dòng)、接口上線和接口下線等幾種消息,而這些消息將由代理主動(dòng)通知SNMP管理器,而不是等到管理工作站為獲得這些錯(cuò)誤情況而輪詢的時(shí)候才會(huì)報(bào)告,這將有助于系統(tǒng)以最快的速度接收到來自于被管理設(shè)備的異常通知。系統(tǒng)在收到這些消息后可以通過單獨(dú)查詢這個(gè)設(shè)備或查詢其周邊的相關(guān)設(shè)備來獲得這個(gè)事件更加詳細(xì)的情況并向管理人員發(fā)送告警,以便對(duì)異常情況作出正確的判斷和處理。
當(dāng)然,使用SNMP陷阱也需要消耗一定的系統(tǒng)資源,如果該陷阱需要傳輸大量的數(shù)據(jù),則被管設(shè)備就要消耗更多的時(shí)間來處理這些數(shù)據(jù),從而降低了設(shè)備的運(yùn)行速度。此外,如果接連發(fā)生相同類型的陷阱,每次都要報(bào)告給管理站,這樣又造成了資源的浪費(fèi),可能會(huì)造成網(wǎng)絡(luò)擁堵甚至癱瘓。因此,本系統(tǒng)僅僅使用了設(shè)備啟動(dòng)、接口上線和接口下線這幾種與網(wǎng)絡(luò)結(jié)構(gòu)和邊界安全監(jiān)測(cè)關(guān)系最為密切的陷阱事件,以減輕網(wǎng)絡(luò)壓力,提高系統(tǒng)的實(shí)時(shí)性能。
網(wǎng)絡(luò)規(guī)模大、涉及范圍廣、設(shè)備種類多以及用戶數(shù)量大是目前網(wǎng)絡(luò)的基本特點(diǎn),因此網(wǎng)絡(luò)的維護(hù)管理和安全防護(hù)便成為了一個(gè)難題。本系統(tǒng)在保障網(wǎng)絡(luò)出口安全的同時(shí),重點(diǎn)加強(qiáng)了網(wǎng)絡(luò)邊界的安全監(jiān)測(cè)與防護(hù),使網(wǎng)絡(luò)管理人員能及時(shí)全面地了解實(shí)時(shí)的網(wǎng)絡(luò)結(jié)構(gòu)和邊界接入變化情況,并通過使用多線程和SNMP陷阱技術(shù)來提高網(wǎng)絡(luò)結(jié)構(gòu)掃描的效率,從而有效解決了目前網(wǎng)絡(luò)使用過程中比較常見的用戶隨意更改接入狀態(tài)和非法接入網(wǎng)絡(luò)設(shè)備的問題,避免了由此產(chǎn)生的網(wǎng)絡(luò)運(yùn)行不穩(wěn)定問題,消除了網(wǎng)絡(luò)安全監(jiān)管盲區(qū)和網(wǎng)絡(luò)安全隱患,保障了網(wǎng)絡(luò)運(yùn)行的可靠與安全。
參考文獻(xiàn)
[1] 孫延濤,吳志美,石志強(qiáng).基于地址轉(zhuǎn)發(fā)表的交換式以太網(wǎng)基于SNMP的網(wǎng)絡(luò)基于SNMP的網(wǎng)絡(luò)設(shè)計(jì),2008,29(6):1345-1347.
[5] 賀英杰,王慧強(qiáng),周仁杰.面向網(wǎng)絡(luò)態(tài)勢(shì)感知的實(shí)時(shí)網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)[J].計(jì)算機(jī)工程,2009,35(24):127-129.
[6] 蔡道家,侯秀紅,汪國(guó)安,等.基于SNMP的自陷的傳遞輪詢算法[J].計(jì)算機(jī)工程,2007,33(11):273-275.
評(píng)論