2021-4-10 | 互聯(lián)網(wǎng)
1概述
隨著互聯(lián)網(wǎng)的快速發(fā)展,人們不斷在互聯(lián)網(wǎng)的數(shù)據(jù)采集和分析方面進(jìn)行深入研究和系統(tǒng)開發(fā),以期能向社會(huì)提供豐富的統(tǒng)計(jì)和決策分析信息,同時(shí)提高對(duì)互聯(lián)網(wǎng)業(yè)務(wù)的控制和監(jiān)管。國(guó)內(nèi)外互聯(lián)網(wǎng)數(shù)據(jù)采集分析方法主要分為3類,即采用SNMP協(xié)議、RMON協(xié)議或NetFlow技術(shù)采集數(shù)據(jù)。但是國(guó)內(nèi)外同類產(chǎn)品在具體應(yīng)用中都有一定的局限性[1]。考慮到應(yīng)用的安全性,更希望能采用具有國(guó)內(nèi)自主知識(shí)產(chǎn)權(quán)的產(chǎn)品。
本文對(duì)數(shù)據(jù)匯聚分發(fā)和采集分析進(jìn)行了研究,開發(fā)了一套集數(shù)據(jù)匯聚、分發(fā)、采集和分析于一體的綜合系統(tǒng)。
2互聯(lián)網(wǎng)流量匯聚分發(fā)采集分析系統(tǒng)總體框架
本文系統(tǒng)主要用于提供復(fù)雜接入環(huán)境下多鏈路數(shù)據(jù)采集、互聯(lián)網(wǎng)原始數(shù)據(jù)分發(fā)、綜合數(shù)據(jù)發(fā)布、綜合流量識(shí)別與分析等服務(wù),系統(tǒng)的研制目標(biāo)包括以下4個(gè)方面:
(1)多路接入環(huán)境下多條大容量鏈路數(shù)據(jù)進(jìn)行匯聚,匯聚的接入鏈路包括光纖、電路2類,數(shù)據(jù)類型包括以太、ATM2種格式。
(2)對(duì)多條大容量鏈路數(shù)據(jù)進(jìn)行分發(fā),將多路匯聚后的數(shù)據(jù)向數(shù)據(jù)輸出端若干組端口實(shí)時(shí)并行發(fā)送。數(shù)據(jù)分發(fā)的目的包括信息安全、國(guó)家安全、公共安全等。
(3)實(shí)時(shí)采集大容量多路原始數(shù)據(jù),并生成網(wǎng)絡(luò)數(shù)據(jù)會(huì)話流。
(4)基于應(yīng)用協(xié)議進(jìn)行數(shù)據(jù)識(shí)別及實(shí)時(shí)統(tǒng)計(jì)分析,為其他應(yīng)用系統(tǒng)提供靈活的數(shù)據(jù)格式和分析結(jié)果。
3系統(tǒng)關(guān)鍵技術(shù)實(shí)現(xiàn)
本文系統(tǒng)的實(shí)現(xiàn)主要從數(shù)據(jù)匯聚分發(fā)和數(shù)據(jù)采集分析兩方面進(jìn)行關(guān)鍵技術(shù)研發(fā)。
3.1數(shù)據(jù)匯聚分發(fā)
數(shù)據(jù)匯聚分發(fā)的主要功能是在多路接入環(huán)境下將多條大容量鏈路的數(shù)據(jù)進(jìn)行匯聚和分發(fā)。各鏈路數(shù)據(jù)進(jìn)行匯聚分發(fā)時(shí),系統(tǒng)數(shù)據(jù)輸入端配置N個(gè)輸入端口,數(shù)據(jù)輸出端可以分不同組別進(jìn)行分發(fā)。按照不同需求,系統(tǒng)輸出可以分為4類:
(1)單/雙端口萬(wàn)兆輸出;(2)N個(gè)端口千兆輸出;(3)M個(gè)端口千兆輸出(M<N);(4)N個(gè)端口百兆輸出。在研發(fā)中,基于H3CS9500系列核心交換機(jī),聯(lián)合杭州華三公司進(jìn)行了二次定制開發(fā),實(shí)現(xiàn)了數(shù)據(jù)的匯聚和分發(fā)系統(tǒng),其關(guān)鍵技術(shù)包括:(1)利用虛擬管道使不同流量進(jìn)入不同復(fù)制域虛擬管道是利用標(biāo)簽而衍生出來(lái)的,指匯聚分發(fā)的報(bào)文進(jìn)入S9500后,S9500采用內(nèi)部標(biāo)簽標(biāo)識(shí),利用標(biāo)簽技術(shù)對(duì)相應(yīng)的報(bào)文增加不同的標(biāo)簽進(jìn)行標(biāo)識(shí)。對(duì)不同的輸入端報(bào)文構(gòu)建了不同的虛擬管道,不同輸入端的報(bào)文可以不考慮其帶有沖突的802.1q內(nèi)容,從而為不同客戶劃定不同的復(fù)制域,這些復(fù)制域還同時(shí)具有防802.1q沖突的能力。
這里只需設(shè)置不同客戶接入端口為虛擬管道入口,而各輸出端口為各自的虛擬管道出口。在管道中,通過(guò)硬件底層下發(fā)訪問(wèn)控制列表(AccessControlList,ACL)規(guī)則,使流量只能從管道的入口進(jìn)、管道的出口出,因此,不會(huì)出現(xiàn)環(huán)路風(fēng)暴問(wèn)題。
(2)以組播技術(shù)實(shí)現(xiàn)每個(gè)復(fù)制域內(nèi)單播報(bào)文的多份復(fù)制IP組播報(bào)文在路由器、交換機(jī)的轉(zhuǎn)發(fā)是一對(duì)多的轉(zhuǎn)發(fā),IP組播報(bào)文進(jìn)入S9500后,直接進(jìn)入硬件的組播交換引擎,查找組播硬件轉(zhuǎn)發(fā)表,確定下一跳和出接口列表,并完成報(bào)文目的和源地址內(nèi)容的修改,在組播引擎完成組播報(bào)文的多份復(fù)制后,從各個(gè)出接口送出。
3.2數(shù)據(jù)采集分析
在數(shù)據(jù)采集分析模塊開發(fā)中,聯(lián)合上海直真視通公司,實(shí)現(xiàn)該模塊的關(guān)鍵技術(shù)包括:
(1)流量捕獲
基于端口識(shí)別網(wǎng)絡(luò)流量的傳統(tǒng)方法已不適用于識(shí)別新型的、復(fù)雜互聯(lián)網(wǎng)應(yīng)用類型產(chǎn)生的流量,應(yīng)用級(jí)流量采集與分析應(yīng)采用數(shù)據(jù)包深度分析技術(shù)識(shí)別網(wǎng)絡(luò)流量。本文系統(tǒng)采用了高性能網(wǎng)卡加Libpcap軟件的方式捕獲數(shù)據(jù)包。Libpcap是Unix/Linux平臺(tái)下通用的數(shù)據(jù)包捕獲函數(shù)包。捕獲數(shù)據(jù)包時(shí),Libpcap將網(wǎng)卡設(shè)置為混雜模式,在內(nèi)核空間內(nèi)復(fù)制網(wǎng)絡(luò)驅(qū)動(dòng)程序讀取的數(shù)據(jù)包,再傳遞到用戶空間。Libpcap捕獲數(shù)據(jù)包需要二次內(nèi)存復(fù)制,限制了其捕獲性能,因此,采用了零拷貝和負(fù)荷平衡方法來(lái)改進(jìn)Libpcap[2]。
(2)網(wǎng)絡(luò)流生成
網(wǎng)絡(luò)流生成是將鏈路上獲取的原始數(shù)據(jù)包歸并為網(wǎng)絡(luò)流形式輸出。網(wǎng)絡(luò)流是對(duì)一個(gè)測(cè)量間隔內(nèi)一些具有相同屬性的數(shù)據(jù)包集合的抽象描述,可以定義為一個(gè)測(cè)量間隔內(nèi)具有相同(源IP地址,目的IP地址,源端口,目的端口,協(xié)議類型)五元組的網(wǎng)絡(luò)包集合,它是一種單向的、細(xì)粒度的流量聚合形式。
網(wǎng)絡(luò)流生成過(guò)程如下:網(wǎng)絡(luò)流生成器在內(nèi)部維持當(dāng)前活躍網(wǎng)絡(luò)流的記錄緩存結(jié)構(gòu),當(dāng)捕獲到新的原始數(shù)據(jù)包時(shí),網(wǎng)絡(luò)流生成器判斷這個(gè)數(shù)據(jù)包是否屬于當(dāng)前活躍網(wǎng)絡(luò)流,如果是,修改網(wǎng)絡(luò)流相關(guān)信息;如果不是,創(chuàng)建新的網(wǎng)絡(luò)流記錄并設(shè)置網(wǎng)絡(luò)流相關(guān)信息。
(3)網(wǎng)絡(luò)流應(yīng)用類型識(shí)別
本文系統(tǒng)的應(yīng)用級(jí)流量采集與分析方法首先在網(wǎng)絡(luò)流生成的同時(shí),融合多種流量識(shí)別算法識(shí)別網(wǎng)絡(luò)流的應(yīng)用類型。
目前互聯(lián)網(wǎng)上常見(jiàn)的協(xié)議和應(yīng)用主要包括傳統(tǒng)型(HTTP、研制了網(wǎng)絡(luò)協(xié)議分析和識(shí)別系統(tǒng)TAS,其核心為iSIE互聯(lián)網(wǎng)會(huì)話識(shí)別引擎。TAS由采集探針和協(xié)議分析引擎兩部分組成,如圖2所示。其中,采集探針負(fù)責(zé)采集寬帶流量數(shù)據(jù)并進(jìn)行預(yù)處理,將預(yù)處理結(jié)果提供給協(xié)議分析引擎;協(xié)議分析引擎能夠接收一個(gè)或者多個(gè)探針的預(yù)處理數(shù)據(jù),并對(duì)這些預(yù)處理數(shù)據(jù)進(jìn)行綜合分析,統(tǒng)計(jì)、識(shí)別協(xié)議類型,將分析結(jié)果存入數(shù)據(jù)庫(kù)。
在具體實(shí)現(xiàn)時(shí),將流量采集與分析分為多個(gè)階段來(lái)實(shí)現(xiàn),包括原始流量捕獲、會(huì)話流生成、會(huì)話流存儲(chǔ)、流量分析和信息呈現(xiàn)。其中的流量分析主要使用網(wǎng)絡(luò)流應(yīng)用類型識(shí)別和基于網(wǎng)絡(luò)流關(guān)聯(lián)識(shí)別應(yīng)用類型的方式進(jìn)行流量識(shí)別和實(shí)時(shí)統(tǒng)計(jì)。