互聯(lián)網(wǎng)流量流向研討

時(shí)間:2022-07-03 10:28:27

導(dǎo)語(yǔ):互聯(lián)網(wǎng)流量流向研討一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

互聯(lián)網(wǎng)流量流向研討

隨著寬帶互聯(lián)網(wǎng)應(yīng)用的普及,互聯(lián)網(wǎng)用戶數(shù)量在不斷增加,各個(gè)領(lǐng)域的應(yīng)用也在逐步深入,網(wǎng)絡(luò)規(guī)模持續(xù)擴(kuò)展,網(wǎng)絡(luò)流量高速增長(zhǎng)。尤其是P2P技術(shù)產(chǎn)生以來(lái),互聯(lián)網(wǎng)網(wǎng)絡(luò)流量激增,對(duì)網(wǎng)絡(luò)的處理能力提出了更高的要求。同時(shí),要合理、有效地疏導(dǎo)流量,必須對(duì)網(wǎng)絡(luò)流量進(jìn)行科學(xué)、細(xì)致的分析,通過(guò)流量分析可以有效地總結(jié)出網(wǎng)內(nèi)、網(wǎng)外流量比例,各區(qū)域用戶產(chǎn)生的流量大小,進(jìn)而對(duì)用戶使用習(xí)慣、各類應(yīng)用帶寬消耗情況等進(jìn)行分析,從而可以對(duì)不同區(qū)域用戶使用習(xí)慣、網(wǎng)內(nèi)資源建設(shè)方向等進(jìn)行有效的指導(dǎo)。不僅要依據(jù)數(shù)據(jù)的目的地址去疏導(dǎo)流量,還要明晰流量的來(lái)源和成分,區(qū)分流量類型,以精確地計(jì)算成本,合理分配IP地址數(shù)量和流量占用帶寬,使流量管理更加規(guī)范。Netflow技術(shù)最早由Cisco公司研發(fā),首先被用于網(wǎng)絡(luò)設(shè)備對(duì)數(shù)據(jù)交換進(jìn)行加速,并可同步實(shí)現(xiàn)對(duì)高速轉(zhuǎn)發(fā)的IP數(shù)據(jù)流進(jìn)行測(cè)量和統(tǒng)計(jì)。經(jīng)過(guò)多年的技術(shù)演進(jìn),Netflow對(duì)流經(jīng)網(wǎng)絡(luò)設(shè)備的IP數(shù)據(jù)流進(jìn)行測(cè)量和統(tǒng)計(jì)的功能更加成熟,并成為當(dāng)今互聯(lián)網(wǎng)領(lǐng)域公認(rèn)的最主要的IP/MPLS流量分析、統(tǒng)計(jì)和計(jì)費(fèi)行業(yè)標(biāo)準(zhǔn)。Netflow技術(shù)能對(duì)IP/MPLS網(wǎng)絡(luò)的通信流量進(jìn)行詳細(xì)的行為模式分析和計(jì)量,并提供網(wǎng)絡(luò)運(yùn)行的詳細(xì)統(tǒng)計(jì)數(shù)據(jù)。通過(guò)對(duì)某電信運(yùn)營(yíng)商的網(wǎng)絡(luò)進(jìn)行改造,引入互聯(lián)網(wǎng)流量分析系統(tǒng),以互聯(lián)網(wǎng)流量數(shù)據(jù)為分析對(duì)象,實(shí)現(xiàn)以下功能:(1)精確判斷流量歸屬地;(2)精確統(tǒng)計(jì)流量類型;(3)精確區(qū)分流量成分;(4)以天為單位,對(duì)某一天的流量及以天為周期單位的時(shí)間段產(chǎn)生的流量進(jìn)行查詢。

1流量分析系統(tǒng)設(shè)計(jì)

由于Netflow僅能宏觀地對(duì)網(wǎng)絡(luò)流量進(jìn)行分析和監(jiān)控,無(wú)法滿足精細(xì)化管理的要求。鑒于此,需要建立網(wǎng)絡(luò)流量分析系統(tǒng)。首先在省級(jí)主干路中引入流控設(shè)備,對(duì)全省網(wǎng)絡(luò)流量進(jìn)行控制。通過(guò)建立一臺(tái)Linux服務(wù)器(CMserver),在流控設(shè)備中將流量鏡像至此服務(wù)器的數(shù)據(jù)庫(kù)中,便可采集到全網(wǎng)的流量明細(xì),進(jìn)而通過(guò)存儲(chǔ)過(guò)程將各種需要分析的數(shù)據(jù)進(jìn)行聚合成表,便可對(duì)全網(wǎng)流量進(jìn)行實(shí)時(shí)監(jiān)控分析。本系統(tǒng)包括4個(gè)功能模塊,分別是數(shù)據(jù)采集模塊、接口程序模塊、數(shù)據(jù)庫(kù)模塊、頁(yè)面呈現(xiàn)模塊。

1.1數(shù)據(jù)采集模塊

要實(shí)現(xiàn)對(duì)流量源和目的地的分析,首先要進(jìn)行流量采集并存儲(chǔ),采集的數(shù)據(jù)中要包含數(shù)據(jù)包的源地址、目的地址、數(shù)據(jù)包發(fā)送時(shí)間等信息。本系統(tǒng)采用NetflowV9版本進(jìn)行數(shù)據(jù)采集,需要對(duì)Netflow協(xié)議、待采集的路由器端口和數(shù)據(jù)采集存儲(chǔ)服務(wù)器等進(jìn)行配置。由于需要分析的路由器端口數(shù)據(jù)量很大,而且分析目的主要為各方向流量數(shù)據(jù)比例,綜合考慮數(shù)據(jù)處理量和數(shù)據(jù)準(zhǔn)確性之后,將采集周期定為5分鐘,采樣比例定為1000:1,此時(shí)每5分鐘Netflow數(shù)據(jù)流約有30萬(wàn)~40萬(wàn)條,存儲(chǔ)Netflow數(shù)據(jù)流的文件大小約20~30MB。在采集數(shù)據(jù)的端口選擇方面,既要采集所有流量數(shù)據(jù),保證數(shù)據(jù)的完整性;又要避免數(shù)據(jù)重復(fù)采集,以保證數(shù)據(jù)的準(zhǔn)確性。按照上述條件,選擇省級(jí)主干中路由器上行端口為流量采集端口,通過(guò)該端口既可以采集所有互聯(lián)網(wǎng)用戶訪問(wèn)Internet的流量數(shù)據(jù),又不會(huì)發(fā)生流量數(shù)據(jù)重復(fù)采集情況。為分析路由器端口的網(wǎng)絡(luò)流量數(shù)據(jù),必須將從路由器中送出的Netflow數(shù)據(jù)收集并存儲(chǔ),以便進(jìn)一步的處理,所以需要配置Netflow采集存儲(chǔ)服務(wù)器。具體配置為2.4GHz四核CPU、2G內(nèi)存,使用Linux系統(tǒng),并安裝CiscoNetflowCollector(NFC)采集軟件。

1.2接口程序模塊

經(jīng)過(guò)采集,每5分鐘會(huì)輸出一個(gè)格式為XML的文件,文件數(shù)據(jù)分3部分:數(shù)據(jù)頭、模板部分、數(shù)據(jù)部分。NetflowV9的數(shù)據(jù)格式可以自定義,根據(jù)分析需要,定義數(shù)據(jù)模板主要包括我們關(guān)心的13個(gè)字段,分別為:源地址、目的地址、源端口號(hào)、目的端口號(hào)、入接口、出接口、協(xié)議、服務(wù)類型、流數(shù)量、報(bào)文數(shù)、字節(jié)數(shù)、開始時(shí)間、結(jié)束時(shí)間。每個(gè)字段使用“|”分開。選用C++程序語(yǔ)言進(jìn)行數(shù)據(jù)的分析及入庫(kù)。程序語(yǔ)言完成的主要功能為按照字段定義進(jìn)行數(shù)據(jù)分列,并按要求建立數(shù)據(jù)表,然后將分析后的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)中。原始數(shù)據(jù)每天自動(dòng)生成一個(gè)文件夾,文件夾中每5分鐘生成一個(gè)數(shù)據(jù)文件,為了達(dá)到自動(dòng)讀取數(shù)據(jù)的功能,采用“日期+時(shí)間”循環(huán)來(lái)自動(dòng)讀取數(shù)據(jù)文件。讀取數(shù)據(jù)文件對(duì)每行按照不同字段分列。由于每個(gè)數(shù)據(jù)文件的數(shù)據(jù)頭部分完全相同,而且不包含所要分析的數(shù)據(jù)信息,所以可以把數(shù)據(jù)頭部分跳過(guò),然后根據(jù)每行數(shù)據(jù)的“|”將每個(gè)字段的數(shù)據(jù)進(jìn)行分列。再根據(jù)各字段數(shù)據(jù)分析的需要,轉(zhuǎn)換成相應(yīng)的數(shù)據(jù)類型,并與數(shù)據(jù)庫(kù)連接寫入數(shù)據(jù)庫(kù)中。

1.3數(shù)據(jù)庫(kù)模塊

作為基于Netflow流量的分析系統(tǒng),數(shù)據(jù)庫(kù)成為系統(tǒng)的基礎(chǔ)及核心,一切功能模塊及數(shù)據(jù)采集均需建立在數(shù)據(jù)庫(kù)中,從性能、成本、易用性、可靠性等方面綜合考慮,選用MySQL作為本系統(tǒng)的數(shù)據(jù)庫(kù)。首先是基本表的設(shè)計(jì)。在程序操作數(shù)據(jù)表時(shí),讀寫的性能受數(shù)據(jù)表字段所占字節(jié)數(shù)的影響,數(shù)據(jù)表字段所占字節(jié)數(shù)越大,則需要更長(zhǎng)的讀寫操作時(shí)間,字段所占字節(jié)數(shù)越小,則其讀寫操作的性能將會(huì)有所提高。因此,設(shè)計(jì)數(shù)據(jù)庫(kù)字段的屬性對(duì)整個(gè)系統(tǒng)的性能至關(guān)重要。在分析程序?qū)?shù)據(jù)按照規(guī)則條件進(jìn)行匹配后,將更新數(shù)據(jù)表中IP地址等相應(yīng)的歸屬信息,但在數(shù)據(jù)的進(jìn)一步匯總中,如果匯總程序按照IP地址歸屬信息進(jìn)行數(shù)據(jù)分組匯總,則需要讀取歸屬信息的全部字節(jié)數(shù),這對(duì)于系統(tǒng)整體匯總而言,其運(yùn)行效率仍會(huì)受到影響。本著讀取最少字節(jié)數(shù)以提升系統(tǒng)工作效率的原則,需要將歸屬信息代碼化,匯總程序僅需要根據(jù)歸屬信息代碼作為分組條件即可。根據(jù)Netflow的原始數(shù)據(jù)量,如果對(duì)其進(jìn)行一一匹配對(duì)應(yīng),則無(wú)法在5分鐘內(nèi)完成相應(yīng)的數(shù)據(jù)歸屬、流量分析等操作。為了提高數(shù)據(jù)庫(kù)效率,最直接的方法就是先進(jìn)行關(guān)鍵字段的聚合,然后進(jìn)行相應(yīng)的遞歸聚合,最后將分析數(shù)據(jù)進(jìn)行匹配分析,這樣可以有效地減少原始數(shù)據(jù)的運(yùn)算量,尤其在磁盤I/O有限的條件下,性能提升更明顯。在數(shù)據(jù)遞歸聚合后,雖然數(shù)據(jù)量已經(jīng)有了極大的壓縮,但數(shù)據(jù)庫(kù)運(yùn)算仍然十分緩慢,因此在各級(jí)數(shù)據(jù)表中,對(duì)需進(jìn)行運(yùn)算的字段進(jìn)行索引配置。索引是用來(lái)快速地尋找那些具有特定值的記錄,所有MySQL索引都以B-樹的形式保存。如果沒(méi)有索引,執(zhí)行查詢時(shí)MySQL必須從第一個(gè)記錄開始掃描整個(gè)表的所有記錄,直至找到符合要求的記錄。表里面的記錄數(shù)量越多,這個(gè)操作的代價(jià)就越高。如果作為搜索條件的列上已經(jīng)創(chuàng)建了索引,MySQL無(wú)需掃描任何記錄即可迅速得到目標(biāo)記錄所在的位置。由索引帶來(lái)的效率提升則是非常明顯的,如同看書時(shí)按照目錄查詢章節(jié)一樣迅速。在本系統(tǒng)中,由于要從目的IP地址中分析出該IP的分公司歸屬,這對(duì)于運(yùn)營(yíng)商龐大的不連續(xù)的IP地址段數(shù)據(jù)表來(lái)說(shuō),其哈希運(yùn)算將會(huì)帶來(lái)極大的系統(tǒng)符合,其運(yùn)算效率也將隨著兩張數(shù)據(jù)表記錄的增長(zhǎng)而成倍的增長(zhǎng)。通過(guò)對(duì)比測(cè)試,在沒(méi)有配置索引的情況下,其數(shù)據(jù)運(yùn)算的時(shí)間大約為20分鐘,而索引可以將此工作縮短至1分半鐘左右,這恰好可以完成數(shù)據(jù)在5分鐘內(nèi)的運(yùn)算操作。

1.4頁(yè)面呈現(xiàn)模塊

在對(duì)數(shù)據(jù)進(jìn)行分析處理后,利用Eclipse+JSP+Tomcat平臺(tái),將結(jié)果以網(wǎng)頁(yè)形式展現(xiàn)出來(lái),并實(shí)現(xiàn)多種查詢功能(如圖1所示)。

2結(jié)束語(yǔ)

在研究互聯(lián)網(wǎng)技術(shù)和相關(guān)協(xié)議的基礎(chǔ)上,通過(guò)對(duì)互聯(lián)網(wǎng)流量數(shù)據(jù)的分析處理,運(yùn)用C++,MySQL,Eclipse,JSP和Tomcat+Java等工具,實(shí)現(xiàn)了互聯(lián)網(wǎng)流量分析系統(tǒng)的設(shè)計(jì),解決了互聯(lián)網(wǎng)流量分析管理過(guò)于宏觀的問(wèn)題。在互聯(lián)網(wǎng)規(guī)模不斷擴(kuò)展和應(yīng)用領(lǐng)域不斷增加的趨勢(shì)下,互聯(lián)網(wǎng)流量的迅猛增長(zhǎng),使得流量成分越來(lái)越復(fù)雜,而過(guò)于宏觀的流量分析技術(shù)已經(jīng)不能滿足電信運(yùn)營(yíng)上的管理要求,只有通過(guò)可靠、有效的網(wǎng)絡(luò)業(yè)務(wù)流量監(jiān)測(cè),并對(duì)互聯(lián)網(wǎng)絡(luò)以及網(wǎng)絡(luò)所承載的流量進(jìn)行細(xì)致的統(tǒng)計(jì),準(zhǔn)確及時(shí)的流量流向分析,才能挖掘出網(wǎng)絡(luò)資源潛力,以達(dá)到控制網(wǎng)絡(luò)互聯(lián)成本,為企業(yè)的網(wǎng)絡(luò)規(guī)劃、優(yōu)化調(diào)整和業(yè)務(wù)發(fā)展提供有力的依據(jù)。