• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于流的校園局域網(wǎng)流量統(tǒng)計方案設(shè)計

      2013-04-25 07:28:28李隱峰
      電子科技 2013年9期
      關(guān)鍵詞:數(shù)據(jù)流局域網(wǎng)IP地址

      張 鑫,李隱峰

      (西安電子科技大學(xué) 電子工程學(xué)院,陜西 西安710071)

      隨著校園網(wǎng)的日益擴(kuò)展,其應(yīng)用形式在不斷豐富,傳統(tǒng)的流量統(tǒng)計方法已不能滿足校園網(wǎng)對高速網(wǎng)絡(luò)的實際需求。目前高校校園網(wǎng)多采用基于流的采樣技術(shù)來進(jìn)行流量統(tǒng)計與計費(fèi),官方統(tǒng)計數(shù)據(jù)更新滯后,無法實時反應(yīng)用戶的流量使用情況。本文在研究校園網(wǎng)網(wǎng)絡(luò)環(huán)境的基礎(chǔ)上,提出了基于流的校園局域網(wǎng)流量統(tǒng)計方案。該方案基于軟件實現(xiàn),開發(fā)成本低、執(zhí)行效率高,為高校實驗室局域網(wǎng)流量控制提供了可靠的數(shù)據(jù)保障。

      1 流的概念

      1.1 流的定義

      流可以被定義為一系列通過網(wǎng)絡(luò)中某一觀察點(diǎn)的具有相同屬性的數(shù)據(jù)包,這些屬性包括端點(diǎn)、方向、時間粒度、協(xié)議層次。端點(diǎn)指的是流的起點(diǎn)和終點(diǎn),方向可以是單向或雙向的,時間粒度考慮的是數(shù)據(jù)包的發(fā)送起始時間和終止時間,協(xié)議層次包括OSI模型的7層協(xié)議。最典型的用五元組(源IP、目的IP、源端口、目的端口、協(xié)議類型)來定義流[1]。

      1.2 流的開始和結(jié)束

      在對流進(jìn)行測量時,數(shù)據(jù)流的開始和結(jié)束時刻,是流量分析統(tǒng)計的關(guān)鍵指標(biāo)。

      當(dāng)一個數(shù)據(jù)包到達(dá)時,它不能劃分到某一個正在統(tǒng)計的流中,就表明一個新的流的開始。在NetFlow中,給出了流結(jié)束的定義,以下特征都可以作為流結(jié)束的標(biāo)志:(1)傳輸協(xié)議指出連接結(jié)束(TCP FIN或TCP RST)。(2)無流量超過15 s(對于UDP協(xié)議,15 s是路由器默認(rèn)的定時時間)。(3)流緩存每30 min過期以實現(xiàn)活動流的周期報告(30 min是路由器默認(rèn)的定時時間)。(4)緩存滿了,判斷緩存匯聚的結(jié)束時間有2個定時時間:主緩存定時時間和匯聚緩存定時時間。

      1.3 流的采樣方法

      流的采樣方法分為周期采樣和隨機(jī)采樣。周期采樣具有實現(xiàn)簡單、算法的系統(tǒng)開銷小等優(yōu)點(diǎn),但它無法適應(yīng)網(wǎng)絡(luò)流量監(jiān)測和管理的需求。隨機(jī)采樣是根據(jù)預(yù)先定義的隨機(jī)過程來確定采樣的起始點(diǎn)和采樣間隔,實現(xiàn)樣本選取的獨(dú)立性,保證采樣測量的無偏性。采樣有兩種情況:一種是“n out of N”型采樣,從N個數(shù)據(jù)包中隨機(jī)選取n個數(shù)據(jù)包作為樣本;另一種是概率采樣,依據(jù)預(yù)先定義的概率來判決是否提取某個數(shù)據(jù)包。

      周期采樣和隨機(jī)采樣可以是針對數(shù)據(jù)報個數(shù)的,也可以是針對時間的。對不同位置或不同用途的設(shè)備可以使用不同的采樣率,例如:可以對接近主機(jī)或最終用戶的端口進(jìn)行頻繁采樣,而對接近核心的設(shè)備和端口采樣頻率稍低。采樣雖不能保證完全準(zhǔn)確,但可以控制在一定的誤差范圍內(nèi)。設(shè)數(shù)據(jù)包總數(shù)為N,采樣所得到的樣本數(shù)據(jù)包為n,其中屬于特定類別的數(shù)據(jù)包數(shù)量為c,在所有數(shù)據(jù)包中,屬于特定類別的數(shù)據(jù)包比率為P=c/n。設(shè)所有N個數(shù)據(jù)包中屬于特定分類的數(shù)據(jù)包數(shù)量為Nc,則

      只有當(dāng)Nc的值和實際指定的包數(shù)相比,誤差在5%之內(nèi),才被接受。當(dāng)誤差在5%之內(nèi)時,Nc的置信區(qū)間為[Nc-1.96σ,Nc+1.96σ],估計誤差率百分比是

      由式(2)可以得出:采樣精度只與采樣到的特定類別的數(shù)據(jù)包數(shù)量c有關(guān),c越大,精度越高。當(dāng)c≥1 537時,誤差率可以控制在5%以內(nèi),為增加采樣數(shù),可以增加采樣周期或在系統(tǒng)可承受的情況下提高采樣速率。

      2 基于Libpcap的流量采集原理

      2.1 Libpcap介紹

      Libpcap是UNIX/Linux平臺下的網(wǎng)絡(luò)數(shù)據(jù)包捕獲的函數(shù)庫。它的實質(zhì)是一個系統(tǒng)獨(dú)立的API函數(shù)接口,用于用戶層次的數(shù)據(jù)包截獲工作。它為底層網(wǎng)絡(luò)監(jiān)控編程提供了一個易于移植的應(yīng)用框架,這些底層網(wǎng)絡(luò)應(yīng)用包括網(wǎng)絡(luò)數(shù)據(jù)收集、安全監(jiān)控和網(wǎng)絡(luò)調(diào)試等。洛倉茲伯克利國家實驗室(Lawrence Berkeley National Laboratory)編寫這些API函數(shù)庫的最初目的就是為了統(tǒng)一不同系統(tǒng)上所提供的用于數(shù)據(jù)包截獲的不同類型接口,并使得類似的高層應(yīng)用程序的編寫和移植工作變得簡單有效,不再需要對每一個應(yīng)用都使用不同的、依賴于具體系統(tǒng)的數(shù)據(jù)包截獲模塊。同時,該API函數(shù)接口在保持基本穩(wěn)定的基礎(chǔ)上,還在不斷地進(jìn)行更新和升級[2]。

      2.2 Libpcap工作原理

      網(wǎng)絡(luò)數(shù)據(jù)包捕獲技術(shù)是實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)分析的基礎(chǔ),能否快速、完整地捕獲到所需的數(shù)據(jù)包,是準(zhǔn)確分析網(wǎng)絡(luò)數(shù)據(jù)的前提條件。

      在網(wǎng)卡缺省的工作模式下,只能收到廣播的數(shù)據(jù)包和目的地址是自己的數(shù)據(jù)包。在進(jìn)行數(shù)據(jù)包捕獲時,首先要將網(wǎng)卡沒置為混雜模式,這樣就能捕獲到流經(jīng)該網(wǎng)卡的所有數(shù)據(jù)包。值得注意的是,捕獲到的僅是數(shù)據(jù)包的一份拷貝,不影響數(shù)據(jù)包的正常傳輸。正常情況下,當(dāng)網(wǎng)絡(luò)數(shù)據(jù)包到達(dá)網(wǎng)卡時,它常規(guī)的傳輸路徑是依次經(jīng)過網(wǎng)卡、設(shè)備驅(qū)動器、數(shù)據(jù)鏈路層、IP層、傳輸層、最后到達(dá)用戶層。Libpcap包捕獲機(jī)制是在數(shù)據(jù)鏈路層增加一個旁路處理,其工作流程如圖1所示。

      圖1 Libpcap工作流程圖

      當(dāng)一個數(shù)據(jù)包到達(dá)網(wǎng)絡(luò)接口時,Libpcap首先利用已經(jīng)創(chuàng)建的Socket從鏈路層驅(qū)動程序獲得該數(shù)據(jù)包的拷貝,再通過Tap函數(shù)將數(shù)據(jù)包發(fā)送給BPF過濾器。BPF過濾器收到數(shù)據(jù)包后,根據(jù)用戶已經(jīng)定義好的過濾規(guī)則對數(shù)據(jù)包進(jìn)行逐一的匹配,符合過濾規(guī)則的數(shù)據(jù)包就是被需要的,將其放入內(nèi)核緩沖器,并傳遞給用戶層緩沖器,等待應(yīng)用程序?qū)ζ溥M(jìn)行處理。不符合過濾規(guī)則的數(shù)據(jù)包就被丟棄。如果沒有設(shè)定過濾規(guī)則,所有的數(shù)據(jù)包都將被放入內(nèi)核緩沖器[3]。

      2.3 基于Libpcap流量采集程序設(shè)計

      流量采集程序?qū)α鹘?jīng)局域網(wǎng)共享網(wǎng)口的數(shù)據(jù)包進(jìn)行完全捕獲,并對捕獲的每個數(shù)據(jù)包進(jìn)行分析。分析方法可以根據(jù)實際的功能需求進(jìn)行靈活設(shè)計。例如,對指定IP段以外的數(shù)據(jù)包進(jìn)行統(tǒng)計,就需要首先分析以太網(wǎng)幀頭部。如果幀類型為IP數(shù)據(jù)報,則記錄數(shù)據(jù)包的源MAC地址、目的MAC地址。接著分析IP數(shù)據(jù)報,記錄數(shù)據(jù)包的源IP地址、目的IP地址和數(shù)據(jù)包總長度。然后對數(shù)據(jù)包的源IP地址和目的IP地址進(jìn)行判斷,過濾掉指定IP段以內(nèi)的數(shù)據(jù)包。最后掃描流記錄,判斷數(shù)據(jù)包是否屬于一個已存在的流,如果屬于,累加到用戶數(shù)據(jù)記錄當(dāng)中。如果不屬于,則創(chuàng)建屬于該用戶的數(shù)據(jù)流。流結(jié)束后把捕捉到的該指定網(wǎng)段以外的流量累加到用戶的流量記錄上[4]。具體步驟如下:(1)選擇要監(jiān)聽的接口。在Linux中,這可能是eth0,而在BSD系統(tǒng)中則可能是xl1等。也可以用一個字符串來定義這個設(shè)備,或者采用pcap提供的接口名來工作。(2)初始化pcap,獲取數(shù)據(jù)包捕獲描述字。(3)進(jìn)入主體,執(zhí)行循環(huán)。(4)捕獲數(shù)據(jù)包并對其進(jìn)行分析,過濾指定IP段以內(nèi)的數(shù)據(jù)包。(5)根據(jù)數(shù)據(jù)包的源MAC地址和目的MAC地址,判斷數(shù)據(jù)包是否屬于一個已存在的流,如果屬于,累加到用戶數(shù)據(jù)記錄當(dāng)中。如果不屬于,則創(chuàng)建屬于該用戶的數(shù)據(jù)流。(6)判斷流是否結(jié)束,結(jié)束后將流量累加到用戶流量記錄。

      3 基于流的校園局域網(wǎng)流量統(tǒng)計方案

      3.1 基于校園網(wǎng)的數(shù)據(jù)流采樣方法

      由于高校采用的流控設(shè)備和統(tǒng)計方案各不相同,到目前為止,國內(nèi)高校對上網(wǎng)流量的統(tǒng)計和計費(fèi)還沒有統(tǒng)一的標(biāo)準(zhǔn)。但各高校對流量的計費(fèi)大都遵循一個統(tǒng)一的規(guī)則:只對校園網(wǎng)以外的網(wǎng)段進(jìn)行計費(fèi),校園網(wǎng)段以內(nèi)則不進(jìn)行計費(fèi)。而判斷數(shù)據(jù)流所在網(wǎng)段的唯一依據(jù)就是數(shù)據(jù)流的源IP地址和目的IP地址。

      假設(shè)校園網(wǎng)的流量統(tǒng)計方案都將數(shù)據(jù)包的源IP和目的IP,作為數(shù)據(jù)流的主要匯聚依據(jù),那么校園網(wǎng)流量統(tǒng)計就有了統(tǒng)一的參考模型:以{源IP、目的IP}匯聚為核心的基于數(shù)據(jù)流采樣的統(tǒng)計方案。

      數(shù)據(jù)流采樣的關(guān)鍵在于對流的開始和結(jié)束的定義。NetFlow作為當(dāng)前流量分析方面的事實標(biāo)準(zhǔn),已經(jīng)集成到大多數(shù)廠商的路由器和交換機(jī)內(nèi)。同時給出了流結(jié)束的定義,本文在此基礎(chǔ)上提出了基于流的校園局域網(wǎng)流量統(tǒng)計方案。

      3.2 基于流的校園局域網(wǎng)流量統(tǒng)計方案

      方案對流的判定、流的開始和結(jié)束、流的統(tǒng)計做了如下定義:

      (1)對源IP或目的IP不在校內(nèi)網(wǎng)段,具有相同源MAC地址或目的MAC地址的數(shù)據(jù)包,定義為一個用戶流。

      (2)每當(dāng)流量采集程序捕獲到一個數(shù)據(jù)包時,都會掃描流字段,判斷數(shù)據(jù)包是否屬于一個存在的流。如果不屬于,緩存中生成一個新的流,初始化字節(jié)和包數(shù),記錄下數(shù)據(jù)包被記錄的時間,作為一個新的流的開始時間。如果屬于,則判斷新捕獲的數(shù)據(jù)包時間距對應(yīng)用戶流的開始時間是否超過了15 s,如果超過15 s,且對應(yīng)用戶流統(tǒng)計到的數(shù)據(jù)包個數(shù)<500,則視為流超時。如果在不足15 s的情況下,對應(yīng)用戶流統(tǒng)計到的數(shù)據(jù)包個數(shù)>1 500,則視為緩存已滿。如果新捕獲的數(shù)據(jù)包時間距對應(yīng)用戶流的開始時間超過了30 min,則視為流過期。

      (3)不同的采樣方法,隨著采樣數(shù)據(jù)包數(shù)量的增加,采樣精度越高。流量采集程序?qū)α鹘?jīng)局域網(wǎng)網(wǎng)關(guān)的數(shù)據(jù)包進(jìn)行了完全捕獲,當(dāng)數(shù)據(jù)流較快時,捕獲到的數(shù)據(jù)包數(shù)目很大,采樣誤差小,對用戶流采用完全統(tǒng)計;當(dāng)數(shù)據(jù)流較慢時,捕獲的數(shù)據(jù)包數(shù)目較少,采樣誤差較大,對用戶流采用估值統(tǒng)計;當(dāng)用戶數(shù)據(jù)流比較平穩(wěn)時,對用戶流采用完全統(tǒng)計。

      在校園網(wǎng)環(huán)境下,經(jīng)過不斷的測試,總結(jié)出一套算法,可以使統(tǒng)計的流量值逼近基于數(shù)據(jù)流的采樣統(tǒng)計值。具體算法參見文獻(xiàn)[5]。

      4 結(jié)束語

      目前,基于流的采樣技術(shù)都需要專用硬件來實現(xiàn)數(shù)據(jù)流的轉(zhuǎn)發(fā),消耗了大量的CPU資源和存儲資源。本文提出的校園局域網(wǎng)流量統(tǒng)計方案,通過軟件實現(xiàn)了對數(shù)據(jù)流的統(tǒng)計,降低了開發(fā)成本。通過對采樣周期以及采樣數(shù)據(jù)包數(shù)目的調(diào)整,實現(xiàn)了流量統(tǒng)計值與官方統(tǒng)計值的逼近??梢詫崟r、穩(wěn)定地反映局域網(wǎng)用戶的流量使用情況,為局域網(wǎng)流量控制管理提供了理論和數(shù)據(jù)依據(jù)。

      [1] 劉芳.網(wǎng)絡(luò)流量監(jiān)測與控制[M].北京:北京郵電大學(xué)出版社,2009.

      [2] 唐正軍,劉代志.網(wǎng)絡(luò)嗅探器Sniffer軟件源代碼淺析3:采用Libpcap庫的通用設(shè)計[J].計算機(jī)工程,2002,28(2):63-65.

      [3] 閆麗麗,涂天祿,周興濤.Libpcap數(shù)據(jù)包捕獲機(jī)制剖析與研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2006(4):38-40.

      [4] 劉瑾.校園網(wǎng)用戶上網(wǎng)行為分析系統(tǒng)的研究與實現(xiàn)[D].保定:華北電力大學(xué),2007.

      [5] 侯捷.C++標(biāo)準(zhǔn)程序庫[M].武漢:華中科技大學(xué)出版社,2002.

      猜你喜歡
      數(shù)據(jù)流局域網(wǎng)IP地址
      汽車維修數(shù)據(jù)流基礎(chǔ)(下)
      鐵路遠(yuǎn)動系統(tǒng)幾種組網(wǎng)方式IP地址的申請和設(shè)置
      基于VPN的機(jī)房局域網(wǎng)遠(yuǎn)程控制系統(tǒng)
      電子制作(2019年16期)2019-09-27 09:35:04
      一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機(jī)制
      基于802.1Q協(xié)議的虛擬局域網(wǎng)技術(shù)研究與實現(xiàn)
      電子制作(2017年17期)2017-12-18 06:40:48
      局域網(wǎng)性能的優(yōu)化
      電子制作(2017年8期)2017-06-05 09:36:15
      基于SNMP的IP地址管理系統(tǒng)開發(fā)與應(yīng)用
      黑龍江電力(2017年1期)2017-05-17 04:25:16
      基于數(shù)據(jù)流聚類的多目標(biāo)跟蹤算法
      北醫(yī)三院 數(shù)據(jù)流疏通就診量
      用統(tǒng)一身份認(rèn)證解決IP地址的盜用
      原阳县| 忻州市| 丽江市| 达拉特旗| 阜南县| 普安县| 绥滨县| 巧家县| 鄄城县| 曲沃县| 太仆寺旗| 洪泽县| 大英县| 商河县| 庆元县| 佳木斯市| 东城区| 林芝县| 大竹县| 大同市| 德安县| 罗定市| 瑞金市| 岐山县| 玛曲县| 栾川县| 东光县| 新平| 六安市| 伊川县| 南充市| 弥勒县| 磴口县| 高淳县| 云龙县| 勃利县| 海安县| 桃源县| 香格里拉县| 武夷山市| 安达市|