當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 《物聯(lián)網(wǎng)技術(shù)》雜志
[導(dǎo)讀]摘要:網(wǎng)絡(luò)流量監(jiān)控分析是網(wǎng)絡(luò)管理與網(wǎng)絡(luò)安全的重要組成部分。文章介紹了一種基于深度報(bào)文檢測(cè)技術(shù)的網(wǎng)絡(luò)流 量實(shí)時(shí)采集分析系統(tǒng)RT-TMA,同時(shí)給出了其設(shè)計(jì)框架和關(guān)鍵技術(shù)實(shí)現(xiàn)方法。測(cè)試結(jié)果表明,該系統(tǒng)運(yùn)行穩(wěn)定、準(zhǔn)確,可以達(dá)到預(yù)期效果。

引言

隨著計(jì)算機(jī)網(wǎng)絡(luò)的快速發(fā)展和普及,各類網(wǎng)絡(luò)應(yīng)用層出不窮。當(dāng)前,計(jì)算機(jī)網(wǎng)絡(luò)的規(guī)模越來越大,業(yè)務(wù)也越來越復(fù)雜,系統(tǒng)對(duì)網(wǎng)絡(luò)的可靠性、可用性及網(wǎng)絡(luò)服務(wù)質(zhì)量的要求也越來越高。網(wǎng)絡(luò)流量監(jiān)控分析可以在很少甚至完全不影響現(xiàn)有網(wǎng)絡(luò)的情況下,對(duì)計(jì)算機(jī)網(wǎng)絡(luò)的運(yùn)行狀況進(jìn)行全面的監(jiān)控分析,是實(shí)現(xiàn)網(wǎng)絡(luò)管理和網(wǎng)絡(luò)安全防護(hù)的重要組成部分。高效合理地運(yùn)行網(wǎng)絡(luò)流量實(shí)時(shí)監(jiān)控分析系統(tǒng),可以在最短時(shí)間內(nèi)發(fā)現(xiàn)安全威脅,并在第一時(shí)間進(jìn)行分析,確定攻擊源。結(jié)合基于流量的網(wǎng)絡(luò)管理系統(tǒng)和入侵檢測(cè)系統(tǒng)等,可以及時(shí)地發(fā)出威脅預(yù)警,以便快速采取措施,及時(shí)化解網(wǎng)絡(luò)攻擊,確保網(wǎng)絡(luò)的運(yùn)行效率和安全。

網(wǎng)絡(luò)流量監(jiān)控分析的基礎(chǔ)是協(xié)議識(shí)別技術(shù),目前的主要方法有常用端口識(shí)別、深度報(bào)文檢測(cè)(DeepPacketInspection,DPI)、深度流檢測(cè)(DeepFlowInspection,DFI)以及這幾種方法的混合。常用端口識(shí)別技術(shù)是根據(jù)協(xié)議通信五元組中的端口號(hào)來識(shí)別應(yīng)用的,如常用的HTTP協(xié)議一般采用80端口,以協(xié)議所用的端口號(hào)為80來識(shí)別HTTP協(xié)議。當(dāng)前,由于采用自定義端口、隨機(jī)端口甚至加密隧道等應(yīng)用日益增多,采用常用端口識(shí)別已經(jīng)很難滿足需要。深度報(bào)文檢測(cè)是根據(jù)各類應(yīng)用的連接數(shù)、單個(gè)IP地址的連接模式、上下行流量的比例關(guān)系、數(shù)據(jù)包發(fā)生頻率等數(shù)據(jù)流的行為特征,來對(duì)流量的應(yīng)用類型進(jìn)行區(qū)分的技術(shù),可以較好地識(shí)別出應(yīng)用的類型(如是否P2P應(yīng)用等),但無法對(duì)具體的應(yīng)用進(jìn)行詳細(xì)的分析,只能實(shí)現(xiàn)應(yīng)用類型的初步歸類。DPI技術(shù)是一種基于特征字的識(shí)別技術(shù),可根據(jù)不同協(xié)議的特征(包括協(xié)議所使用的端口、協(xié)議報(bào)文負(fù)荷(payload)中的特定字符串或特定的二進(jìn)制數(shù)據(jù)等)來檢測(cè)和識(shí)別出具體的應(yīng)用協(xié)議。DPI具有檢測(cè)準(zhǔn)確率高、原理相對(duì)簡(jiǎn)單、實(shí)現(xiàn)速度快等多個(gè)優(yōu)點(diǎn),因而具有較為廣泛的應(yīng)用。本文介紹的網(wǎng)絡(luò)流量實(shí)時(shí)監(jiān)控分析系統(tǒng)(以下簡(jiǎn)稱RT-TMA,Real-TimenetworkTrafficMonitorandAnalysissystem)就是采用DPI技術(shù)來實(shí)現(xiàn)協(xié)議識(shí)別的。

基于DPI的網(wǎng)絡(luò)流量實(shí)時(shí)監(jiān)控分析系統(tǒng)在網(wǎng)絡(luò)管理與網(wǎng)絡(luò)安全防護(hù)中起著非常重要的作用,而目前的網(wǎng)絡(luò)流量實(shí)時(shí)監(jiān)控分析大都針對(duì)運(yùn)行商的核心骨干網(wǎng)絡(luò),價(jià)格昂貴。此外,作為高校使用的網(wǎng)絡(luò)流量監(jiān)控分析系統(tǒng),還需具備足夠的可擴(kuò)展接口,以便在完成網(wǎng)絡(luò)管理與安全防護(hù)的同時(shí),提供學(xué)生認(rèn)知實(shí)習(xí)、開放性實(shí)驗(yàn)以及科研支撐。為此,本文提出了一種基于DPI的網(wǎng)絡(luò)流量實(shí)時(shí)監(jiān)控分析系統(tǒng)RT-TMA。該系統(tǒng)具有高可擴(kuò)展性、實(shí)現(xiàn)簡(jiǎn)單、接口豐富等特性,可較好地滿足高等院校,特別是高校實(shí)驗(yàn)教學(xué)中心對(duì)網(wǎng)絡(luò)流量實(shí)時(shí)監(jiān)控分析系統(tǒng)的需要。

1RT-TMA的系統(tǒng)模型

RT-TMA是一種被設(shè)計(jì)用于高等院校校園網(wǎng)、實(shí)驗(yàn)室網(wǎng)絡(luò)及中小型企業(yè)的網(wǎng)絡(luò)流量實(shí)時(shí)監(jiān)控分析系統(tǒng)。與其他網(wǎng)絡(luò)流量監(jiān)控系統(tǒng)不同的是,RT-TMA還提供有豐富的二次開發(fā)接口,為網(wǎng)絡(luò)流量監(jiān)控分析相關(guān)開發(fā)人員及科研人員提供理論驗(yàn)證和算法研究的實(shí)驗(yàn)平臺(tái)。

RT-TMA由高性能報(bào)文收發(fā)引擎(PacketI/OEngine)、DPI引擎、規(guī)則庫、RT-TMA用戶界面以及可能的擴(kuò)展庫等幾個(gè)部分構(gòu)成,其體系結(jié)構(gòu)如圖1所示。

1中的高性能報(bào)文收發(fā)引擎主要完成網(wǎng)絡(luò)流量的采集以及可能的控制報(bào)文發(fā)送,可選的技術(shù)包括netmap[8]、PF_RING和零拷貝網(wǎng)卡驅(qū)動(dòng)等。通過對(duì)這些技術(shù)的具體實(shí)現(xiàn)接口進(jìn)行封裝,可使之對(duì)外提供規(guī)范的libpcap或winpcap接口,在確保對(duì)外接口函數(shù)不變的情況下,使RT-TMA可使用或測(cè)試多種不同的高性能報(bào)文收發(fā)引擎。

網(wǎng)絡(luò)流量實(shí)時(shí)監(jiān)控分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

規(guī)則庫主要包括具體協(xié)議的DPI特征字及其檢測(cè)算法的實(shí)現(xiàn),同時(shí)包括傳統(tǒng)規(guī)范網(wǎng)絡(luò)應(yīng)用的端口表,以用于配合DPI引擎完成對(duì)具體協(xié)議的識(shí)別。

DPI弓|擎是RT-TMA的核心,可在DPI規(guī)則庫、數(shù)據(jù)庫(配置信息等)、可選的擴(kuò)展庫以及用戶操作等基礎(chǔ)上,完成對(duì)網(wǎng)絡(luò)流量的協(xié)議識(shí)別、統(tǒng)計(jì)、分析等功能。

RT-TMA用戶界面作為人機(jī)交互界面,主要提供用戶操作和管理DPI引擎、顯示各類信息等。

2RT-TMA的關(guān)鍵實(shí)現(xiàn)

RT-TMA主要針對(duì)高等院校、實(shí)驗(yàn)教學(xué)中心和中小企業(yè)的網(wǎng)絡(luò)進(jìn)行流量監(jiān)控分析,此外,RT-TMA還可作為科研平臺(tái)和實(shí)驗(yàn)平臺(tái)來使用,因此,在RT-TMA的實(shí)現(xiàn)中,采用先實(shí)現(xiàn)全部功能再進(jìn)行性能優(yōu)化、先實(shí)現(xiàn)基本功能再進(jìn)行二次擴(kuò)展的思路。

2.1基于winpcap的報(bào)文收發(fā)實(shí)現(xiàn)

考慮到RT-TMA對(duì)現(xiàn)有流量采集技術(shù)的兼容性,在高性能報(bào)文收發(fā)引擎的實(shí)現(xiàn)中,確保對(duì)上層提供統(tǒng)一的libpcap/winpcap接口函數(shù),底層所用技術(shù)則根據(jù)硬件平臺(tái)、網(wǎng)卡驅(qū)動(dòng)、操作系統(tǒng)等各種因素決定。考慮到Windows操作系統(tǒng)的限制,RT-TMA當(dāng)前的報(bào)文收發(fā)引擎采用了winpcap來實(shí)現(xiàn)。后續(xù)根據(jù)需要,也可改用零拷貝網(wǎng)卡驅(qū)動(dòng)或其他NDIS技術(shù)來實(shí)現(xiàn)。

winpcap是libpcap的Windows版本,具有跟libpcap一樣的接口函數(shù)。Winpcap由一個(gè)核心的包過濾驅(qū)動(dòng)程序、一個(gè)底層動(dòng)態(tài)鏈接庫packetdll和一個(gè)高層的獨(dú)立于系統(tǒng)的函數(shù)庫構(gòu)成,可提供一整套標(biāo)準(zhǔn)的報(bào)文收發(fā)接口,同時(shí)具有良好的性能。利用winpcap來實(shí)現(xiàn)流量采集的步驟及函數(shù)調(diào)用如下:

打開指定網(wǎng)卡。winpcap提供了一個(gè)pcap_open_live(constchar*device,intsnaplen,intpromisc,intto_ms,char*ebuf)函數(shù)來打開指定的網(wǎng)卡進(jìn)行監(jiān)控,其中第3個(gè)參數(shù)指定是否設(shè)置為混雜模式,第1個(gè)參數(shù)用于指定要監(jiān)控的網(wǎng)卡。在具體實(shí)現(xiàn)時(shí),程序從配置文件中讀入要監(jiān)控的網(wǎng)卡,或者直接由用戶通過RT-TMA用戶界面來指定要監(jiān)控的網(wǎng)卡。winpcap還提供了pcap_findalldevs()這個(gè)函數(shù)來獲取所有可用的網(wǎng)卡列表,用戶可通過用戶界面來選擇要監(jiān)控的列表。

設(shè)置過濾規(guī)則。根據(jù)用戶對(duì)網(wǎng)絡(luò)流量監(jiān)控分析的側(cè)重點(diǎn)不同,可以設(shè)置只采集IP報(bào)文或者全部報(bào)文。根據(jù)配置文件或用戶操作,可通過調(diào)用pcap_compile(pcap_t*p,structbpf_program*fp,char*str,intoptimize,bpf_u_int32netmask)和pcap_setfilter(pcap_t*p,structbpf_program*fp)兩個(gè)函數(shù)來實(shí)現(xiàn)。

處理采集的數(shù)據(jù)包。winpcap提供了集中處理采集到的報(bào)文的方式來適應(yīng)不同的需要,這里RT-TMA選擇了使用阻塞的多線程方式來實(shí)現(xiàn)。在正確完成第(1)步和第(2)步的工作后,可通過循環(huán)調(diào)用pcap_next_ex獲得報(bào)文,然后調(diào)用具體的數(shù)據(jù)包處理函數(shù)進(jìn)行分析處理。

2.2DPI引擎的實(shí)現(xiàn)

OpenDPI是一個(gè)源自商業(yè)PACE的DPI開源庫,支持IPv6并能識(shí)別近120種協(xié)議,還可以根據(jù)網(wǎng)絡(luò)協(xié)議對(duì)數(shù)據(jù)包進(jìn)行分類統(tǒng)計(jì),包括協(xié)議數(shù)據(jù)包的數(shù)量、大小、協(xié)議類型等信息,得到了業(yè)界廣泛的認(rèn)同。更為重要的是,OpenDPI使用LGPL開源協(xié)議,允許開發(fā)者自行修改代碼并用于商業(yè)應(yīng)用。

RT-TMA的DPI引擎采用的是在OpenDPI基礎(chǔ)上開發(fā)的xDPI引擎。相比OpenDPI,xDPI主要包括如下幾個(gè)方面的改進(jìn):一是支持的協(xié)議更加豐厚;二是支持更多的統(tǒng)計(jì)屬性;三是可提供擴(kuò)展接口,為深度流檢測(cè)及其他算法提供基礎(chǔ);四是性能得到進(jìn)一步優(yōu)化。xDPI的基本流程如下:

數(shù)據(jù)結(jié)構(gòu)初始化。完成對(duì)基本數(shù)據(jù)結(jié)構(gòu)的初始化,包括時(shí)間戳、調(diào)用信息輸出函數(shù)等。

設(shè)置要檢測(cè)的協(xié)議。設(shè)置要檢測(cè)的協(xié)議,這里指設(shè)置檢測(cè)全部支持的協(xié)議,代碼為:

//enableallprotocols

XDPI_BITMASK_SET_ALL(all);

xdpi_set_protocol_detection_bitmask2(m_xdpi_struct,&all);

設(shè)置調(diào)用協(xié)議規(guī)則庫時(shí)的初始條件和函數(shù)入口地址。

m_xdpi_struct=xdpi_init_detection_module(m_ndetection_tick_resolution,debug_printf);

if(m_xdpi_struct==NULL)

{

OutputDebugString(“ERROR:globalstructureinitializationfailed\n”);

returnFALSE;

}

將所有待分析協(xié)議分類劃分。可以先根據(jù)協(xié)議的類型(只處理IPv4報(bào)文,并且不處理碎片報(bào)文)進(jìn)行初步的劃分,將不支持的報(bào)文類型都設(shè)置成Unknown;然后按照TCP/IP分層協(xié)議的層次,依次將報(bào)文由下至上進(jìn)行處理,解析出源地址、目的地址、源端口、目的端口和報(bào)文負(fù)載等信息,并根據(jù)源地址、目的地址、源端口、目的端口的信息歸并到對(duì)應(yīng)的數(shù)據(jù)流(flow);再將TCP報(bào)文和UDP報(bào)文等分別調(diào)用對(duì)應(yīng)的處理函數(shù)進(jìn)行協(xié)議識(shí)別。

協(xié)議識(shí)別。根據(jù)協(xié)議報(bào)文的負(fù)載和端口信息進(jìn)行詳細(xì)的分析,判斷報(bào)文的具體協(xié)議。

報(bào)文統(tǒng)計(jì)。對(duì)原始報(bào)文數(shù)量、原始流量大小、IP報(bào)文數(shù)量、IP報(bào)文大小等數(shù)據(jù)進(jìn)行詳細(xì)統(tǒng)計(jì)。

3運(yùn)行測(cè)試

為了測(cè)試RT-TMA,本文選取對(duì)千兆網(wǎng)絡(luò)接入的實(shí)驗(yàn)教學(xué)示范中心的出口網(wǎng)絡(luò)進(jìn)行監(jiān)控分析。RT-TMA的網(wǎng)絡(luò)部署如圖2所示。

網(wǎng)絡(luò)流量實(shí)時(shí)監(jiān)控分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

通過對(duì)實(shí)驗(yàn)室核心交換機(jī)D-LINKDGS-1210-24進(jìn)行配置,可將上行端口的流量通過端口鏡像的方式發(fā)送到RT-TMA,再由RT-TMA進(jìn)行實(shí)驗(yàn)室網(wǎng)絡(luò)的流量實(shí)時(shí)監(jiān)控分析。

通過對(duì)實(shí)驗(yàn)室核心交換機(jī)D-LINKDGS-1210-24進(jìn)行配置,可將上行端口的流量通過端口鏡像的方式發(fā)送到RT-TMA,再由RT-TMA進(jìn)行實(shí)驗(yàn)室網(wǎng)絡(luò)的流量實(shí)時(shí)監(jiān)控分析。

4結(jié)語

本文介紹了一個(gè)名為RT-TMA的網(wǎng)絡(luò)流量實(shí)時(shí)監(jiān)控分析系統(tǒng)的設(shè)計(jì)方案和關(guān)鍵技術(shù)實(shí)現(xiàn)方法,并給出了系統(tǒng)的運(yùn)行測(cè)試結(jié)果。該方法對(duì)于網(wǎng)絡(luò)流量監(jiān)控分析系統(tǒng)的開發(fā)、DPI算法研究等,都具有較高的參考價(jià)值。本文介紹的RT-TMA目前可識(shí)別的協(xié)議還有限,DPI規(guī)則及檢測(cè)器的性能和算法還有較大的進(jìn)一步優(yōu)化空間。此外,混合DFI及其他協(xié)議識(shí)別技術(shù)來進(jìn)一步提升系統(tǒng)的協(xié)議識(shí)別準(zhǔn)確率和性能還需要進(jìn)一步的研究和測(cè)試。這些都是需要在下一步工作中進(jìn)行研究和測(cè)試的內(nèi)容。

20211018_616c5c7ab5522__網(wǎng)絡(luò)流量實(shí)時(shí)監(jiān)控分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉