亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        主被動(dòng)結(jié)合的網(wǎng)絡(luò)測量技術(shù)研究

        2020-11-10 07:10:26王阿領(lǐng)王曉鋒
        關(guān)鍵詞:包率被動(dòng)數(shù)據(jù)包

        王阿領(lǐng),劉 淵,王曉鋒

        1.江南大學(xué) 數(shù)字媒體學(xué)院,江蘇 無錫 214122

        2.江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫 214122

        1 引言

        隨著互聯(lián)網(wǎng)的快速發(fā)展和網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,網(wǎng)絡(luò)的異構(gòu)性變得越來越復(fù)雜,人們對網(wǎng)絡(luò)行為的特征、網(wǎng)絡(luò)結(jié)構(gòu),以及網(wǎng)絡(luò)模型的理解會(huì)變得更加困難。因此在遇到網(wǎng)絡(luò)漏洞和網(wǎng)絡(luò)安全問題[1]的時(shí)候,很難及時(shí)地得到一個(gè)合理的解決方案,從而導(dǎo)致網(wǎng)絡(luò)的服務(wù)質(zhì)量(Quality of Service)與用戶的實(shí)際需求產(chǎn)生較大的差距。在不完全了解目標(biāo)網(wǎng)絡(luò)的協(xié)議、配置以及拓?fù)涞那闆r下,通過網(wǎng)絡(luò)測量技術(shù)[2]能夠獲取當(dāng)前的網(wǎng)絡(luò)性能測量信息。這些信息能幫助網(wǎng)絡(luò)研究者分析網(wǎng)絡(luò)行為、查看網(wǎng)絡(luò)潛在的網(wǎng)絡(luò)安全以及發(fā)現(xiàn)異常和定位異常,這對網(wǎng)絡(luò)運(yùn)維有著非常重要的意義。如文獻(xiàn)[3]在N-Nakagami信道下,通過建立移動(dòng)通信網(wǎng)絡(luò)模型,針對平均安全容量和安全中斷概率使用Monte-Carlo技術(shù)進(jìn)行仿真驗(yàn)證獲取相應(yīng)的網(wǎng)絡(luò)性能測量信息,從而達(dá)到量化分析系統(tǒng)安全性能的目的。

        網(wǎng)絡(luò)測量是指按照一定的方法和技術(shù),利用軟件和硬件工具來測量網(wǎng)絡(luò)性能、檢測網(wǎng)絡(luò)質(zhì)量和理解網(wǎng)絡(luò)行為的一系列活動(dòng)的總和。一般常用的網(wǎng)絡(luò)性能測量方法主要包括主動(dòng)測量[4-9]和被動(dòng)測量[4-9]:

        (1)主動(dòng)測量就是按照較小的時(shí)間間隔向待測網(wǎng)絡(luò)中發(fā)送探測數(shù)據(jù)包,通過對主機(jī)的反饋信息做出判斷,從而得到網(wǎng)絡(luò)端到端的行為信息。一般情況下,對網(wǎng)絡(luò)端到端的延遲、丟包率、路由以及網(wǎng)絡(luò)拓?fù)涞臏y量都是采用主動(dòng)測量方式。如Ping[5]可以獲得網(wǎng)絡(luò)的連通狀況,從而得到往返延遲、丟包率等性能參數(shù)。如Traceroute[10]主要是用來獲得網(wǎng)絡(luò)端到端路由信息。Pathload[5]通過UDP協(xié)議發(fā)送探測數(shù)據(jù)包隊(duì)列獲得可用帶寬的性能參數(shù)。

        (2)被動(dòng)測量不需要向網(wǎng)絡(luò)中發(fā)送探測數(shù)據(jù)包,而是通過兩點(diǎn)監(jiān)控或者單點(diǎn)監(jiān)測的方式,在相應(yīng)的網(wǎng)絡(luò)節(jié)點(diǎn)上部署網(wǎng)絡(luò)探針作為被動(dòng)監(jiān)測設(shè)備,監(jiān)聽和捕獲經(jīng)過測量設(shè)備的網(wǎng)絡(luò)信息數(shù)據(jù)流,并采集真實(shí)的數(shù)據(jù)鏈路信息。如網(wǎng)絡(luò)帶寬、路徑吞吐量[5]等參數(shù)使用的是被動(dòng)測量方式。被動(dòng)測量工具和技術(shù)主要有Sniffer(嗅探器)、Wireshark、WinCap、Network General、SNOR[4]等。被動(dòng)測量不需要向網(wǎng)絡(luò)發(fā)送探測數(shù)據(jù)包,所以一般不會(huì)對網(wǎng)絡(luò)本身的運(yùn)行產(chǎn)生影響。

        主動(dòng)測量和被動(dòng)測量都有各自的優(yōu)勢。主動(dòng)測量會(huì)向網(wǎng)絡(luò)中注入探測流量包,導(dǎo)致測量有偏差;而被動(dòng)測量方式可擴(kuò)展性不強(qiáng),難以對端到端網(wǎng)絡(luò)行為進(jìn)行整體地理解和分析。由于網(wǎng)絡(luò)丟包率和路由信息能夠比較直觀地反映網(wǎng)絡(luò)性能和網(wǎng)絡(luò)結(jié)構(gòu),因此采用主動(dòng)和被動(dòng)相結(jié)合的測量方式可以更準(zhǔn)確地獲得網(wǎng)絡(luò)丟包率和路由信息測量結(jié)果。該方式不僅保持了主動(dòng)測量和被動(dòng)測量各自的優(yōu)點(diǎn),更使得測量結(jié)果能更好地反映網(wǎng)絡(luò)的真實(shí)情況,對理解網(wǎng)絡(luò)性能和網(wǎng)絡(luò)結(jié)構(gòu)具有非常重要的意義。同時(shí),也能夠能達(dá)到簡化網(wǎng)絡(luò)運(yùn)維、增強(qiáng)網(wǎng)絡(luò)魯棒性[11]的目的。

        2 主要工作

        目前針對網(wǎng)絡(luò)丟包率和路由信息測量的研究成果有很多。文獻(xiàn)[7]提出一種基于自適應(yīng)采樣的丟包率測量方法,利用時(shí)延和丟包率之間的相關(guān)特性調(diào)整主動(dòng)發(fā)包測量周期。探測周期的調(diào)整采用減半和倍增的方式,并設(shè)置最大探測周期為5 s,最小探測周期為0.05 s。此方式在測量精度和測量時(shí)間開銷上都較好的折中,能有效地降低發(fā)包探測量以及丟包率測量誤差。文獻(xiàn)[12]提出一種貪婪啟發(fā)式擁塞鏈路丟包率范圍推斷算法,借助多時(shí)隙路徑探測,避開單時(shí)隙對時(shí)鐘同步的強(qiáng)依賴。代替?zhèn)鹘y(tǒng)以瓶頸鏈路作為擁塞鏈路定位的方法,通過聚類方式循環(huán)推斷擁塞鏈路丟包率的范圍。相對于通過網(wǎng)絡(luò)吞吐量和時(shí)延信息推測鏈路情況,此方式魯棒性較強(qiáng)。但是算法的時(shí)間復(fù)雜度較高,比較適合規(guī)模較小的鏈路。文獻(xiàn)[10,13]提出一種基于軟件定義網(wǎng)絡(luò)的主動(dòng)測量的方式。在控制器與交換機(jī)之間采用OpenFlow進(jìn)行通信,讓源交換機(jī)發(fā)出特定的測量報(bào)文序列,通過SDN 網(wǎng)絡(luò)逐級跳轉(zhuǎn)至目的交換機(jī)。目的交換機(jī)在收到探測報(bào)文后返還給源交換機(jī)之后,利用控制器周期輪詢交換機(jī)上的數(shù)據(jù)流并統(tǒng)計(jì)測量數(shù)據(jù),獲得時(shí)延抖動(dòng)、丟包率等重要網(wǎng)絡(luò)性能參數(shù)。此方式雖然測量的丟包率結(jié)果比接收端測量得到的背景流量丟包率較低,但是此方式采集粒度較大,沒有考慮往返網(wǎng)絡(luò)測量數(shù)據(jù)包的匹配與處理。

        文獻(xiàn)[14]提出基于接觸圖的預(yù)計(jì)算路由策略和動(dòng)態(tài)路由響應(yīng)機(jī)制,利用主動(dòng)發(fā)包的方式,對測量的數(shù)據(jù)流進(jìn)行粒度匹配。此方式需要預(yù)先建立一個(gè)鄰接網(wǎng)絡(luò)節(jié)點(diǎn)結(jié)構(gòu)圖,并對網(wǎng)絡(luò)節(jié)點(diǎn)的權(quán)值進(jìn)行標(biāo)記。但是這種方法時(shí)間復(fù)雜度較高,比較適合規(guī)模較小的網(wǎng)絡(luò)。文獻(xiàn)[15-16]提出基于流粒度生成的接觸圖路由算法,通過捕獲探測數(shù)據(jù)包對數(shù)據(jù)流進(jìn)行逐跳跟蹤,并輸出完整的路由跟蹤路徑。但是這種方式同樣需要提前構(gòu)建好網(wǎng)絡(luò)拓?fù)涔?jié)點(diǎn)數(shù)據(jù)庫,并且每次遍歷節(jié)點(diǎn)都要重新啟動(dòng)路由,測量周期較長,時(shí)間復(fù)雜度也比較高。文獻(xiàn)[17]提出一種基于背景流量感知的主被動(dòng)結(jié)合的Traceroute測量算法,當(dāng)網(wǎng)絡(luò)中沒有流量時(shí),采用主動(dòng)測量的方式周期性地向目標(biāo)網(wǎng)絡(luò)發(fā)送探測數(shù)據(jù)包;當(dāng)網(wǎng)絡(luò)中有流量時(shí),采用被動(dòng)測量方式監(jiān)聽目標(biāo)網(wǎng)絡(luò)。此方法雖然一定程度上降低了因背景流量帶來的測量誤差,但沒有具體說明主動(dòng)測量和被動(dòng)測量之間的觸發(fā)和調(diào)度機(jī)制。文獻(xiàn)[18]采用主動(dòng)測量的方式,預(yù)先建立一個(gè)鄰接網(wǎng)絡(luò)節(jié)點(diǎn)結(jié)構(gòu)圖,對網(wǎng)絡(luò)節(jié)點(diǎn)的權(quán)值進(jìn)行標(biāo)記,并以Dijkstra算法為基礎(chǔ)增廣每個(gè)信宿節(jié)點(diǎn)的路由集。在路由尋路探測過程中設(shè)置一個(gè)組播延遲上界,利用延遲ts作為路徑長度的度量,將延遲過大的路由舍棄。但是理論上延遲上界往往使網(wǎng)絡(luò)達(dá)不到最大的組播容量,所以每次尋路都需要分離經(jīng)過相同的信宿節(jié)點(diǎn)。

        本文在分析目前現(xiàn)有的針對網(wǎng)絡(luò)丟包率和路由信息測量技術(shù)的基礎(chǔ)上,提出了一種主被動(dòng)結(jié)合的網(wǎng)絡(luò)測量技術(shù)。在網(wǎng)絡(luò)鏈路中合理地設(shè)置被動(dòng)監(jiān)測設(shè)備和軟件,實(shí)時(shí)監(jiān)聽捕獲的網(wǎng)絡(luò)數(shù)據(jù)報(bào)文信息。被動(dòng)測量將捕獲采集到的數(shù)據(jù)信息經(jīng)控制器進(jìn)行哈希過濾、分類和統(tǒng)計(jì)計(jì)數(shù),最終進(jìn)行匹配和篩選。當(dāng)匹配到有效的數(shù)據(jù)信息時(shí),則會(huì)觸發(fā)引導(dǎo)丟包率和路由信息測量任務(wù)的執(zhí)行。與傳統(tǒng)的網(wǎng)絡(luò)測量技術(shù)相比,主被動(dòng)結(jié)合的網(wǎng)絡(luò)測量技術(shù)能夠在壓縮測量規(guī)模的同時(shí)還保持了測量精度的穩(wěn)定。對于規(guī)模較大或較小的網(wǎng)絡(luò)都適用。在測量網(wǎng)絡(luò)丟包率時(shí),本文提出了一種周期動(dòng)態(tài)調(diào)整的主動(dòng)發(fā)包方式,以降低網(wǎng)絡(luò)突發(fā)情況下持續(xù)丟包對測量結(jié)果產(chǎn)生的影響。文獻(xiàn)[7]采用的是減半或者倍增的發(fā)包調(diào)整策略,但是這種調(diào)整幅度是幾何量級的,相比較一些需要快速測量丟包率的網(wǎng)絡(luò)應(yīng)用,此方式調(diào)整周期的相對誤差率超過20%。本文采用的是一種周期動(dòng)態(tài)調(diào)整的發(fā)包策略,利用時(shí)延和丟包率之間的相關(guān)特性判定網(wǎng)絡(luò)是否處于突發(fā)時(shí)段,并據(jù)此設(shè)置兩個(gè)動(dòng)態(tài)調(diào)整參量和調(diào)整區(qū)間,動(dòng)態(tài)調(diào)整參量取調(diào)整區(qū)間內(nèi)的隨機(jī)值。相較于幾何形式的發(fā)包調(diào)整策略,動(dòng)態(tài)參量隨機(jī)值的調(diào)整策略誤差抖動(dòng)較小,穩(wěn)定性和準(zhǔn)確性都較高。由于高速網(wǎng)絡(luò)吞吐量較高,突發(fā)丟包并不頻繁。因此,本文研究并采用基于泊松分布的丟包率采樣方式,相比較一般的周期采樣方式,采樣樣本的準(zhǔn)確率較高。

        在測量網(wǎng)絡(luò)路由路徑信息時(shí),本文提出一種多路徑動(dòng)態(tài)路由測量算法,目的是減少路由尋路探測跟蹤時(shí)間,提升單位時(shí)間內(nèi)的路由探測效率。針對已經(jīng)探測過的目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)不再重復(fù)地發(fā)送探測數(shù)據(jù)包,以降低主動(dòng)發(fā)送探測包的時(shí)間開銷。與文獻(xiàn)[14]、文獻(xiàn)[15]和文獻(xiàn)[18]相比,本文最大的優(yōu)勢在于不需要預(yù)先建立一個(gè)鄰接網(wǎng)絡(luò)節(jié)點(diǎn)結(jié)構(gòu)圖,在主動(dòng)測量任務(wù)執(zhí)行之前就已經(jīng)將無關(guān)測量的數(shù)據(jù)過濾掉,提煉并壓縮了測量的有效數(shù)據(jù)量。并且算法在執(zhí)行過程中匹配的相關(guān)指標(biāo)參量較少,減少了路由尋路執(zhí)行過程中的算法迭代次數(shù),因而算法的時(shí)間復(fù)雜度相對較低。文獻(xiàn)[18]以Dijkstra 算法為基礎(chǔ)增廣每個(gè)信宿節(jié)點(diǎn)的路由集,將延遲較大的節(jié)點(diǎn)舍棄。而本文則利用棧的方式記錄探測尋路路由信息,根據(jù)設(shè)置的時(shí)延閾值將匹配遍歷的節(jié)點(diǎn)進(jìn)行入棧和出棧操作,其算法的平均時(shí)間復(fù)雜度為O(knlgmn)。此方式在尋路探測過程中不會(huì)額外增加路由負(fù)載。

        3 主被動(dòng)結(jié)合的網(wǎng)絡(luò)測量關(guān)鍵技術(shù)實(shí)現(xiàn)

        針對本文中具體的研究內(nèi)容,搭建了一個(gè)基于主被動(dòng)結(jié)合的網(wǎng)絡(luò)測量實(shí)驗(yàn)測試環(huán)境,并部署相應(yīng)的硬件和軟件設(shè)備。測量的網(wǎng)絡(luò)數(shù)據(jù)均來自于真實(shí)的校園網(wǎng)絡(luò)。相應(yīng)的硬件和軟件設(shè)備主要包括服務(wù)器、Open-Flow 交換機(jī)、控制器、被動(dòng)監(jiān)測設(shè)備Netflow、兩臺(tái)可供實(shí)驗(yàn)操作的控制平臺(tái)以及監(jiān)測軟件Wireshark和網(wǎng)絡(luò)仿真器NS3(Network Simulator version 3)等。

        3.1 主被動(dòng)結(jié)合的網(wǎng)絡(luò)測量技術(shù)描述

        本文提出一種主被動(dòng)結(jié)合的網(wǎng)絡(luò)測量技術(shù),其主要思路是:通過被動(dòng)測量的結(jié)果觸發(fā)引導(dǎo)主動(dòng)測量任務(wù)的執(zhí)行,得到目標(biāo)網(wǎng)絡(luò)丟包率和路由信息。主被動(dòng)結(jié)合的網(wǎng)絡(luò)測量技術(shù)體系架構(gòu)主要分為三個(gè)模塊:目標(biāo)網(wǎng)絡(luò)、數(shù)據(jù)轉(zhuǎn)發(fā)和被動(dòng)監(jiān)測以及控制中心。目標(biāo)網(wǎng)絡(luò)來源于真實(shí)的校園網(wǎng)網(wǎng)絡(luò)。數(shù)據(jù)轉(zhuǎn)發(fā)和被動(dòng)監(jiān)測控制的主要功能就是控制被動(dòng)監(jiān)測數(shù)據(jù)的轉(zhuǎn)發(fā)以及主動(dòng)探測數(shù)據(jù)包的傳送??刂浦行闹饕〝?shù)據(jù)采集模塊、數(shù)據(jù)存儲(chǔ)和管理模塊、數(shù)據(jù)匹配和篩選模塊、丟包和路由測量模塊。連接目標(biāo)網(wǎng)絡(luò)和控制中心的依次是OpenFlow交換機(jī)、網(wǎng)絡(luò)控制器以及被動(dòng)監(jiān)測設(shè)備NetFlow?;趫D1的主被動(dòng)結(jié)合的網(wǎng)絡(luò)測量技術(shù)體系架構(gòu),其測量過程描述如下:

        (1)目標(biāo)網(wǎng)絡(luò)通過實(shí)體交換機(jī)和路由器接入本地服務(wù)器。通過使用OpenFlow測量控制協(xié)議[10,19-20],實(shí)現(xiàn)控制器與其相連的OpenFlow交換機(jī)之間能進(jìn)行數(shù)據(jù)流的轉(zhuǎn)發(fā)。即當(dāng)源交換機(jī)收到目的主機(jī)發(fā)送的協(xié)議報(bào)文之后,根據(jù)數(shù)據(jù)流表對數(shù)據(jù)包進(jìn)行識(shí)別,并由Netflow被動(dòng)檢測設(shè)備和TCPDUMP進(jìn)行捕獲。OpenFlow交換機(jī)依據(jù)內(nèi)部的多級流表(flow table)和組表(group table)對被動(dòng)采集的數(shù)據(jù)報(bào)文進(jìn)行分類,經(jīng)控制器傳送給數(shù)據(jù)采集模塊。數(shù)據(jù)報(bào)文信息在數(shù)據(jù)采集模塊中進(jìn)行簡單的預(yù)處理。

        (2)為了保證在高速鏈路中能及時(shí)地捕獲到探測數(shù)據(jù)包,報(bào)文的獲取、打時(shí)間戳、基于流的壓縮和轉(zhuǎn)發(fā)等過程均采用線程技術(shù)[21]來實(shí)現(xiàn)。捕獲的數(shù)據(jù)報(bào)文信息在數(shù)據(jù)采集模塊中通過簡單的預(yù)處理操作將包中的協(xié)議字段、標(biāo)識(shí)位、源和目的IP地址字段、端口等讀取出來并進(jìn)行分類。分類的數(shù)據(jù)報(bào)文信息會(huì)生成實(shí)時(shí)更新的本地聚合日志,并存儲(chǔ)在數(shù)據(jù)存儲(chǔ)和管理模塊中的本地MySQL數(shù)據(jù)庫中。本地聚合日志可供控制中心的Kali Linux控制平臺(tái)實(shí)時(shí)查看和調(diào)用。

        圖1 主被動(dòng)結(jié)合的網(wǎng)絡(luò)測量技術(shù)體系架構(gòu)

        (3)待監(jiān)測任務(wù)結(jié)束后,更新的本地聚合日志依據(jù)匹配和篩選機(jī)制在數(shù)據(jù)匹配和篩選模塊中依次進(jìn)行匹配和篩選,匹配和篩選機(jī)制基于正則表達(dá)式、散列匹配技術(shù)、以及可擴(kuò)展的統(tǒng)計(jì)函數(shù),篩選、過濾掉冗余和無效的數(shù)據(jù)信息,提取并保留實(shí)際有效的目標(biāo)網(wǎng)絡(luò)信息。最終匹配生成的數(shù)據(jù)信息將觸發(fā)引導(dǎo)丟包率和路由測量任務(wù)的執(zhí)行。

        (4)在丟包和路由測量模塊中,控制平臺(tái)會(huì)根據(jù)構(gòu)造不同類型的測量數(shù)據(jù)包分別對目標(biāo)網(wǎng)絡(luò)的丟包率和路由信息進(jìn)行測量。主動(dòng)探測數(shù)據(jù)包類型的構(gòu)造依據(jù)事先被動(dòng)監(jiān)測統(tǒng)計(jì)分類的數(shù)據(jù)流信息。在對目標(biāo)網(wǎng)絡(luò)進(jìn)行丟包率測量時(shí),采用周期動(dòng)態(tài)調(diào)整的主動(dòng)發(fā)包方式,目的是降低因網(wǎng)絡(luò)突發(fā)而導(dǎo)致的持續(xù)丟包事件。最終根據(jù)測量的丟包率數(shù)據(jù)分析當(dāng)前網(wǎng)絡(luò)性能;在對目標(biāo)網(wǎng)絡(luò)進(jìn)行路由路徑跳數(shù)跟蹤測量時(shí),事先要在NS3網(wǎng)絡(luò)仿真軟件上進(jìn)行仿真測試,測試其鏈路是否可通。隨后測量真實(shí)目標(biāo)網(wǎng)絡(luò)的路由路徑信息,并統(tǒng)計(jì)測量結(jié)果。每次測量的路由路徑跳數(shù)信息會(huì)實(shí)時(shí)傳送至控制平臺(tái)。

        3.2 基于正則表達(dá)式的數(shù)據(jù)信息處理

        傳統(tǒng)的網(wǎng)絡(luò)測量技術(shù)研究主要是基于抽樣技術(shù)和數(shù)據(jù)流技術(shù)[13],通過犧牲測量精度來壓縮采樣測量數(shù)據(jù)的規(guī)模,可拓展性不強(qiáng),在實(shí)際應(yīng)用中受到很大程度的制約。而本文采用的是一種主被動(dòng)結(jié)合的網(wǎng)絡(luò)測量技術(shù),采用基于正則表達(dá)式的過濾和篩選機(jī)制從被動(dòng)采集的海量測量數(shù)據(jù)中過濾掉冗余和無效的數(shù)據(jù)報(bào)文信息,保留實(shí)際有效的測量信息。此方式不僅壓縮了采樣測量的數(shù)據(jù)規(guī)模,同時(shí)保持了測量精度的穩(wěn)定。被動(dòng)捕獲的一些冗余和無效的數(shù)據(jù)報(bào)文信息直接被內(nèi)核丟棄掉,而有效的數(shù)據(jù)報(bào)文信息則需要經(jīng)過控制中心的數(shù)據(jù)采集平臺(tái)進(jìn)行哈希過濾、分類與計(jì)數(shù)處理生成本地聚合日志。由于被動(dòng)測量的數(shù)據(jù)包粒度很細(xì),則測量記錄產(chǎn)生的數(shù)據(jù)量比較龐大,所以要從本地聚合日志中匹配和篩選出有效的測量數(shù)據(jù),則必須要調(diào)用事先編寫的基于正則表達(dá)式的匹配和篩選算法,實(shí)現(xiàn)對本地聚合日志的數(shù)據(jù)處理和分析的能力。開發(fā)語言使用的是Python,采用CentOS 7操作系統(tǒng)自帶的編譯器對算法進(jìn)行編譯和執(zhí)行。

        探測數(shù)據(jù)信息匹配的目的一方面是為了對本地聚合日志做進(jìn)一步過濾和篩選,保留所需要的真正有效的探測數(shù)據(jù)包。同時(shí),對被動(dòng)測量觸發(fā)引導(dǎo)主動(dòng)測量任務(wù)的執(zhí)行起到了輔助作用,為下一步主動(dòng)測量獲取網(wǎng)絡(luò)丟包率和路由信息做準(zhǔn)備。與傳統(tǒng)的數(shù)據(jù)信息挖掘方式相比,基于正則表達(dá)式的數(shù)據(jù)信息匹配和篩選機(jī)制實(shí)現(xiàn)方式相對方便,一方面不需要額外的硬件支持,另一方面算法在匹配和篩選時(shí)循環(huán)迭代比較的次數(shù)相對較少,降低了其執(zhí)行過程中的時(shí)間復(fù)雜度。

        數(shù)據(jù)信息的匹配和篩選策略:建立一個(gè)實(shí)時(shí)更新的動(dòng)態(tài)采集數(shù)據(jù)存儲(chǔ)數(shù)據(jù)庫和一個(gè)動(dòng)態(tài)調(diào)用的匹配規(guī)則庫,針對聚合日志中的每條數(shù)據(jù)都進(jìn)行細(xì)粒度的匹配、篩選、過濾和分類。探測數(shù)據(jù)的匹配和篩選算法遵循正則表達(dá)式,匹配的內(nèi)容主要包括本地IP地址、目標(biāo)IP地址、端口以及數(shù)據(jù)包類型等信息。數(shù)據(jù)的篩選基于哈希函數(shù)并依據(jù)篩選條件對特定的數(shù)據(jù)流信息按照指定的字段依次過濾,篩選掉與測量無關(guān)的冗余數(shù)據(jù),以達(dá)到降低數(shù)據(jù)耦合度的目的。圖2 描述的是數(shù)據(jù)信息的匹配和篩選過程。

        算法1 描述了測量的數(shù)據(jù)信息匹配和篩選的具體算法。對已經(jīng)過濾掉的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和分類,將源端和目的端信息在總控中心映射為端信息EPI(End Point Information),即IP 信息、端口信息等。并用組表(group table)的形式存儲(chǔ)數(shù)據(jù),目的是方便引導(dǎo)主動(dòng)測量任務(wù)的執(zhí)行。

        算法1數(shù)據(jù)信息匹配和篩選算法

        1.Receive_Match(){

        圖2 數(shù)據(jù)信息的匹配和篩選過程

        2.whilepacketsis inLocate_log

        3.do setmatch_process()

        4.Target.addr()

        5.Target.ports()

        6.Target.type()

        7.whileTarget.addris not in Match andportnot inrange

        8.do setfilter_algorithm()

        9.ifTarget_add.freq>1

        10.SkipnextTarget.addr

        11.else

        12.do setClassify_process()

        13.Target.type=TRUE

        14.end if

        15.end while

        16.resetreceive packets

        17.end while

        18.}

        當(dāng)數(shù)據(jù)匹配和篩選過濾結(jié)束后,通過主動(dòng)發(fā)送探測數(shù)據(jù)包的方式測量目標(biāo)網(wǎng)絡(luò)的丟包率和路由信息。針對已經(jīng)探測過的目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)不再重復(fù)地發(fā)送探測數(shù)據(jù)包,以降低主動(dòng)發(fā)包對測量結(jié)果的影響。根據(jù)本地聚合日志中不同類型的數(shù)據(jù)信息構(gòu)造不同類型的探測數(shù)據(jù)包,如TCP類型、UDP類型、ICMP類型等。

        3.3 基于周期動(dòng)態(tài)調(diào)整的丟包率測量

        丟包率是指在某段時(shí)間內(nèi)由源主機(jī)向目的主機(jī)發(fā)送的數(shù)據(jù)包中丟失的數(shù)據(jù)包占傳輸總數(shù)據(jù)包的比率,鏈路丟包率能及時(shí)反映網(wǎng)絡(luò)傳輸性能以及由網(wǎng)絡(luò)突發(fā)[22]導(dǎo)致的網(wǎng)絡(luò)擁塞[23]等問題。假設(shè)從源端發(fā)送的數(shù)據(jù)包個(gè)數(shù)為Packets_start,達(dá)到目的端的數(shù)據(jù)包個(gè)數(shù)為Packets_end,則數(shù)據(jù)包在單條鏈路上的丟包率為:

        丟包率的測量方法主要是主動(dòng)測量和被動(dòng)測量,但是被動(dòng)測量無法取得端到端的路徑信息,所以一般鏈路丟包率大多采用主動(dòng)測量的方式。主動(dòng)測量丟包率的基本過程是在指定時(shí)間內(nèi),周期性地由源端向目的端持續(xù)發(fā)送探測數(shù)據(jù)包,若某個(gè)探測包在規(guī)定的時(shí)間閾值內(nèi)沒有收到響應(yīng)數(shù)據(jù)包,則記為一次丟包事件。如Ping、BADABING[8]、Iperf均采用此方式。丟包率的測量需要線程監(jiān)聽目標(biāo)流的首尾交換機(jī),根據(jù)兩個(gè)交換機(jī)節(jié)點(diǎn)的抽樣結(jié)果進(jìn)行估算和后繼測量。每一次測量任務(wù)結(jié)束,任務(wù)線程都會(huì)記錄相應(yīng)的測量結(jié)果,以便回溯到上層調(diào)用和查看。

        3.3.1 網(wǎng)絡(luò)突發(fā)判定及發(fā)包周期調(diào)整

        在IP網(wǎng)絡(luò)中,由于網(wǎng)絡(luò)流量的波動(dòng)具有不規(guī)則的特性,所以丟包事件一般是由網(wǎng)絡(luò)流量的突發(fā)和急劇波動(dòng)造成的。網(wǎng)絡(luò)流量的突發(fā)和急劇波動(dòng)往往會(huì)導(dǎo)致網(wǎng)絡(luò)在短時(shí)間內(nèi)出現(xiàn)擁塞,增加網(wǎng)絡(luò)鏈路的往返時(shí)延,從而導(dǎo)致探測數(shù)據(jù)包的丟失。由于網(wǎng)絡(luò)流量具有隨機(jī)突發(fā)性,因此丟包也具有隨機(jī)突發(fā)的特性。在使用主動(dòng)測量方式測量鏈路丟包率時(shí),若測量周期過大,則丟包率的測量結(jié)果不準(zhǔn)確;若測量周期過小,則會(huì)影響網(wǎng)絡(luò)端到端的測量負(fù)載,導(dǎo)致測量結(jié)果出現(xiàn)偏差。所以要準(zhǔn)確地測量鏈路丟包率,就需要一種周期動(dòng)態(tài)調(diào)整的發(fā)包策略。本文在研究過程中采用周期動(dòng)態(tài)調(diào)整的主動(dòng)發(fā)包測量方式,根據(jù)網(wǎng)絡(luò)是否處于突發(fā)時(shí)段來適度調(diào)整主動(dòng)發(fā)包的測量周期。

        假設(shè)丟包測試實(shí)驗(yàn)共執(zhí)行了N次測量任務(wù),則探測時(shí)延結(jié)果序列為:{T1,T2,…,TN}。其中di表示每次主動(dòng)發(fā)包后探測得到的平均時(shí)延。如果發(fā)送第i次探測包產(chǎn)生丟包,則設(shè)置Ti的值為0,否則Ti的值不變。只判斷Ti的值是無法判斷當(dāng)前測量階段是否屬于丟包突發(fā)時(shí)段,此時(shí)根據(jù)排隊(duì)時(shí)延定義一個(gè)丟包突發(fā)指標(biāo)PT,如公式(2)所示:

        其中,Tmin是第i次測量得到的往返時(shí)延的最小值,Tpre表示所探測到的前一個(gè)丟包事件中時(shí)延的平均值。公式(2)中的指標(biāo)函數(shù)可視為判斷當(dāng)前時(shí)延信息是否發(fā)生丟包突發(fā)時(shí)段。當(dāng)Ti的值為0時(shí),表示當(dāng)前探測已經(jīng)產(chǎn)生時(shí)延,將PT的值置為1;當(dāng)Ti的值為不等于0 且PT的值小于1 時(shí),則表明第i次發(fā)包探測所產(chǎn)生的平均時(shí)延小于前一個(gè)丟包事件的最小排隊(duì)時(shí)延,此時(shí)鏈路上的丟包事件屬于突發(fā);若Ti的值為不等于0且PT的值大于1 時(shí),則表明第i次發(fā)包探測所產(chǎn)生的平均時(shí)延大于前一個(gè)丟包事件的最小排隊(duì)時(shí)延,即連續(xù)發(fā)生丟包事件,則會(huì)增加下次發(fā)包丟包的概率。所以需要增加下次發(fā)包的探測周期,減小因網(wǎng)絡(luò)突發(fā)導(dǎo)致的測量誤差,使后續(xù)發(fā)包測量任務(wù)趨于穩(wěn)定。

        假設(shè)當(dāng)前測量時(shí)間周期為ΔTi,引入兩個(gè)周期動(dòng)態(tài)調(diào)整參量β1、β2,其中β1∈(0,1)、β2∈(1,2)。β1是0到1 之間的隨機(jī)數(shù),而β2是1 到2 之間的隨機(jī)數(shù)。若當(dāng)前測量產(chǎn)生連續(xù)丟包事件時(shí),則將下一個(gè)測量周期調(diào)整為ΔTi+1=ΔTi×β2;若測量趨于平穩(wěn)時(shí),則將下一個(gè)測量周期調(diào)整為ΔTi+1=ΔTi×β1,以提高測量精度。據(jù)此可定義每次測量周期最大時(shí)延閾值特征函數(shù)為式(3)所示:

        其中,ΔTi表示當(dāng)前發(fā)包測量周期,λ表示前i次測量周期的均值。φ(t)為規(guī)定的第i+1 次發(fā)包測量時(shí)最大約束時(shí)延閾值。

        3.3.2 基于泊松分布的周期采樣方式

        依據(jù)以上網(wǎng)絡(luò)突發(fā)引起的鏈路丟包情況,對發(fā)包周期做了動(dòng)態(tài)調(diào)整,主動(dòng)發(fā)包測量會(huì)在短時(shí)間內(nèi)向目標(biāo)網(wǎng)絡(luò)發(fā)送大量的探測數(shù)據(jù)包,能夠在網(wǎng)絡(luò)突發(fā)時(shí)段采集到真實(shí)的丟包數(shù)據(jù)。一般高速網(wǎng)絡(luò)吞吐量較高,突發(fā)丟包并不頻繁。因此,本文研究并采用基于泊松分布的丟包采樣方式,采集實(shí)際測量的鏈路丟包率。當(dāng)出現(xiàn)往返時(shí)延較大且連續(xù)丟包事件時(shí),則減小采樣間隔,使采集的丟包率數(shù)據(jù)更為準(zhǔn)確;當(dāng)時(shí)延較為平緩時(shí),則增大采樣間隔,使其丟包率的測量保持較小的網(wǎng)絡(luò)負(fù)載。

        泊松分布的采樣間隔特征函數(shù)如公式(4)所示:

        P表示采樣的樣本間隔,λ表示前i次測量周期的均值。由于泊松采樣具有漸進(jìn)性的特點(diǎn),在平均采樣頻率不高時(shí)可以降低因網(wǎng)絡(luò)波動(dòng)帶來的測量誤差,并提高丟包測量的準(zhǔn)確性。

        3.4 多路徑動(dòng)態(tài)路由測量描述

        3.4.1 路由路徑跳數(shù)測量策略

        路由測量在網(wǎng)絡(luò)性能測量中占據(jù)著非常重要的一部分,對研究鏈路吞吐量、改善網(wǎng)絡(luò)負(fù)載均衡、理解網(wǎng)絡(luò)結(jié)構(gòu)以及網(wǎng)絡(luò)行為等方面都具有非常重要的意義。選擇合適的端到端路由測量方式可以有效地提高路由探測的效率,減少因網(wǎng)絡(luò)負(fù)載帶來的影響。網(wǎng)絡(luò)路由測量一般采用的是以Traceroute[17]為主的主動(dòng)測量方式。利用TTL記錄終端節(jié)點(diǎn)的值與起始節(jié)點(diǎn)值之間的差值確定單條鏈路的路徑跳數(shù)。一般一次目標(biāo)網(wǎng)絡(luò)路由跟蹤的路徑跳數(shù)不超過30跳。文獻(xiàn)[15-16]提出基于流粒度生成的接觸圖路由算法,通過捕獲探測數(shù)據(jù)包對數(shù)據(jù)流進(jìn)行逐跳跟蹤,并輸出完整的路由跟蹤路徑。但是這種方式需要提前構(gòu)建好網(wǎng)絡(luò)拓?fù)涔?jié)點(diǎn)數(shù)據(jù)庫,每次遍歷節(jié)點(diǎn)都要重新啟動(dòng)路由,測量周期較長,時(shí)間復(fù)雜度也比較高。因此,此方法比較適合規(guī)模較小的網(wǎng)絡(luò)。

        文獻(xiàn)[18]提出一種Dijkstra廣度優(yōu)先搜索遍歷算法,實(shí)現(xiàn)從源端到目標(biāo)網(wǎng)絡(luò)的路由測量。但是需要預(yù)先建立一個(gè)鄰接網(wǎng)絡(luò)節(jié)點(diǎn)結(jié)構(gòu)圖,并對網(wǎng)絡(luò)節(jié)點(diǎn)的權(quán)值進(jìn)行標(biāo)記,從技術(shù)上來講工程量太大。一般復(fù)雜的高速網(wǎng)絡(luò)大都是基于網(wǎng)狀網(wǎng)絡(luò)結(jié)構(gòu),如圖3所示。若要對目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行理由跟蹤,則必須要考慮到鏈路的空間復(fù)雜度。據(jù)此,本文提出一種多路徑動(dòng)態(tài)路由測量算法,探測目標(biāo)網(wǎng)絡(luò)路由路徑跳數(shù)信息,采用此方式的目的是為了簡化路由探測規(guī)模、減少路由尋路探測跟蹤時(shí)間。

        圖3 典型的網(wǎng)狀網(wǎng)絡(luò)結(jié)構(gòu)

        3.4.2 多路徑動(dòng)態(tài)路由測量

        在大規(guī)模的網(wǎng)狀結(jié)構(gòu)網(wǎng)絡(luò)中,一般測量一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)經(jīng)過單條路徑時(shí)的收斂時(shí)間在2~10 s 內(nèi)。此時(shí)可定義單條路徑最大傳輸時(shí)間閾值為End_Time。如公式(5)所示:

        其中Max_TranTime是指所有目標(biāo)節(jié)點(diǎn)的最大傳輸時(shí)間;Packet_TranSize是指單次路由測量發(fā)送的數(shù)據(jù)包的大小;Max_Bandwidth是指當(dāng)前網(wǎng)絡(luò)傳輸?shù)淖畲髱?,主要與目標(biāo)網(wǎng)絡(luò)的鏈路吞吐量有關(guān);Packet_Distance是指源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)之間的通信距離;Packet_TranSpeed是指數(shù)據(jù)包的發(fā)送速度,也與鏈路帶寬和吞吐量有關(guān)。由于每條鏈路的傳輸距離都不相同,設(shè)置單條路徑最大傳輸時(shí)間閾值的目的是保證每條探測路徑都有足夠的探測時(shí)間。

        依據(jù)多路徑動(dòng)態(tài)路由路徑測量策略,將目標(biāo)網(wǎng)絡(luò)測量的節(jié)點(diǎn)通過算法和數(shù)據(jù)存儲(chǔ)的方式加以實(shí)驗(yàn)驗(yàn)證。算法中所涉及到的數(shù)據(jù)變量如表1所示。

        表1 算法中使用的相關(guān)變量

        多路徑動(dòng)態(tài)路由測量算法結(jié)合了Nmap SYN 主動(dòng)發(fā)送探測包的方式,通過p0f 日志捕獲的方式跟蹤其路由路徑跳數(shù)。圖4 描述了利用多路徑動(dòng)態(tài)路由測量方式探測尋路的執(zhí)行過程。每次發(fā)包前均需按照不同協(xié)議的數(shù)據(jù)類型構(gòu)造不同類型的探測數(shù)據(jù)包。探測數(shù)據(jù)包的預(yù)設(shè)信息主要包括源節(jié)點(diǎn)、目標(biāo)節(jié)點(diǎn)、測量協(xié)議、端口等信息。在對數(shù)據(jù)包中的目標(biāo)節(jié)點(diǎn)與探測節(jié)點(diǎn)進(jìn)行匹配時(shí),需要將節(jié)點(diǎn)的信息進(jìn)行入棧操作。每一條探測路徑在探測時(shí)均需要打印遍歷節(jié)點(diǎn),并記錄單條路徑的路徑跳數(shù)。若單條路徑的路徑條數(shù)沒有超過預(yù)設(shè)值且請求超時(shí),則路徑跳數(shù)TTL的值減1進(jìn)入下一路徑,對于已探測的節(jié)點(diǎn)不再重復(fù)發(fā)送探測包,并重復(fù)以上整個(gè)過程。直到發(fā)送的數(shù)據(jù)包中的探測節(jié)點(diǎn)與目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)匹配成功時(shí),則表示路由探測跟蹤成功,輸出其路徑跳數(shù)。同時(shí)將TTL的值重新置為0,開始測量下一個(gè)目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)。如果在規(guī)定時(shí)間閾值內(nèi)或者超過最大路徑跳數(shù),則表示探測失敗,開始測量下一個(gè)目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)。重復(fù)以上整個(gè)過程,直至所有的目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)路由跟蹤測量任務(wù)結(jié)束。

        探測路徑的選擇是隨機(jī)的,在數(shù)據(jù)鏈路探測過程中事先不考慮鄰近節(jié)點(diǎn),只考慮路徑是否可達(dá)。若探測到目的節(jié)點(diǎn),則執(zhí)行進(jìn)入下一個(gè)目標(biāo)節(jié)點(diǎn)的路徑探測任務(wù);否則,路徑節(jié)點(diǎn)退棧,進(jìn)入鄰近節(jié)點(diǎn)路徑,重復(fù)以上操作直至成功匹配目標(biāo)節(jié)點(diǎn)。多路徑動(dòng)態(tài)路由測量算法如算法2所示。

        圖4 多路徑動(dòng)態(tài)路由探測尋路過程

        算法2多路徑動(dòng)態(tài)路由測量算法

        輸入:Src_Nodes,Des_Nodes,Path_List,Stack_Nodes。

        輸出:Stack_Nodes,TTL。

        1.whileSrc_addrinSrc_NodesandDes_addrinDes_Nodes

        2.StoreCurrent_time,Each_Hop

        3.AddDes_addrinPath_List

        4.AddDes_addrinStack_Nodes

        5.TTL←TTL+1

        6.whileCurrent_timein beforeEnd_Time

        7.UpdateCurrent_time

        8.CalculateCurrent_time,TTL

        9.whileDes_addris not inPath_List

        10.ifCurrent_timeis beforeEnd_Time

        11.ifTTLis beforeEach_Hop

        12.print→Stack_Nodes

        13.whileCurrent_Timeis afterEnd_Time||TTLis afterMax_Hop

        14.wai(tDeadLine)

        15.Send_an_ICMP_Reques(ttimeout)

        16.RemoveDes_addrfromStack_Nodes

        17.TTL←TTL-1

        18.ifPath_ListandStack_Nodesis not empty

        19.UpdatePath_List,Stack_Nodes,TTL

        20.CalculateCurrent_time,timeout.Number,TTL

        21.iftimeout.Numberis afterFinal.Number||TTLis afterMax_Hop

        22.Send_an_ICMP_Reques(tTracking failure)

        23.else

        24.print→Stack_Nodes&&TTL

        25.End while

        26.ResetCurrent_time,Each_Hop,TTL

        文獻(xiàn)[17]一般情況下其路由尋路探測的平均時(shí)間復(fù)雜度為O(kn2),而文獻(xiàn)[18]以Dijkstra 算法為基礎(chǔ)的路由增廣路經(jīng)集探測方式其平均時(shí)間復(fù)雜度為O(khs(E+nlgn))。而本文提出的多路徑動(dòng)態(tài)路由測量算法平均時(shí)間復(fù)雜度為O(knlgmn)。由于多路徑動(dòng)態(tài)路由測量算法在執(zhí)行過程中需要匹配的相關(guān)指標(biāo)參量較少,所以此方式可以有效地減少路由尋路執(zhí)行過程中的算法迭代次數(shù),因而算法的時(shí)間復(fù)雜度相對較低。路由探測過程中其算法的時(shí)間復(fù)雜度受到循環(huán)次數(shù)k和探測的數(shù)據(jù)量n以及匹配比較次數(shù)m等綜合因素的影響。

        4 實(shí)驗(yàn)結(jié)果與數(shù)據(jù)分析

        4.1 實(shí)驗(yàn)設(shè)計(jì)與環(huán)境搭建

        為了驗(yàn)證通過引導(dǎo)被動(dòng)測量結(jié)果引導(dǎo)主動(dòng)測量的技術(shù)可行性和實(shí)驗(yàn)數(shù)據(jù)的有效性,本文搭建了一個(gè)主被動(dòng)結(jié)合的網(wǎng)絡(luò)測量實(shí)驗(yàn)環(huán)境。包括兩臺(tái)Dell Power-Edge R730 2U 機(jī)架式服務(wù)器,兩臺(tái) Intel?Xeon?CPU E5-2620 v3 處理器,內(nèi)存 16 GB。一臺(tái) OpenFlow 交換機(jī),其中控制機(jī)通過帶內(nèi)方式與OpenFlow 交換機(jī)相連。一臺(tái)操作系統(tǒng)為Centos 7的終端,用來采集和存儲(chǔ)網(wǎng)絡(luò)數(shù)據(jù)流??刂破脚_(tái)采用的是基于Debian 的Kali Linux 操作系統(tǒng)。軟件工具包括Visual C++ 6.0、Wireshark、NS3 網(wǎng)絡(luò)仿真器以及網(wǎng)絡(luò)抓包工具TCPDUMP等。通過被動(dòng)測量的結(jié)果觸發(fā)引導(dǎo)主動(dòng)測量任務(wù)的執(zhí)行,即對網(wǎng)絡(luò)丟包率以及路由信息進(jìn)行測量。實(shí)驗(yàn)事先需要在NS3網(wǎng)絡(luò)仿真器中進(jìn)行仿真測試,測試目標(biāo)網(wǎng)絡(luò)鏈路是否連通,隨后在真實(shí)測試環(huán)境下對目標(biāo)網(wǎng)絡(luò)進(jìn)行丟包率和路由信息測量。

        4.2 數(shù)據(jù)信息匹配和篩選機(jī)制實(shí)驗(yàn)驗(yàn)證

        本次測試實(shí)驗(yàn)所采集的網(wǎng)絡(luò)數(shù)據(jù)集均來自混雜模式下的本地校園網(wǎng)網(wǎng)絡(luò)。采集的海量數(shù)據(jù)通過OpenFlow交換機(jī)轉(zhuǎn)發(fā),處理器處理,經(jīng)被動(dòng)檢測設(shè)備檢測以及內(nèi)核處理。目的是清洗過濾出冗余的測量數(shù)據(jù),匹配篩選出真實(shí)有效的測量數(shù)據(jù)。本次測量時(shí)間共持續(xù)了20天,采集源端和目標(biāo)網(wǎng)絡(luò)往返數(shù)據(jù)報(bào)文信息,以方便查看其往返數(shù)據(jù)包收發(fā)情況。測量數(shù)據(jù)結(jié)果如圖5所示。

        圖5 往返數(shù)據(jù)包的收發(fā)測量結(jié)果

        通過圖5 可知大部分收發(fā)的無效和冗余的數(shù)據(jù)包是被過濾器和系統(tǒng)內(nèi)核丟棄,而匹配和篩選過的有效的數(shù)據(jù)包占比低于30%,說明本文提出的基于正則表達(dá)式的匹配和篩選算法效率較高,能夠?qū)⒔^大多數(shù)無效或冗余數(shù)據(jù)包過濾掉。隨著測量時(shí)間的增加,在第11天前后過濾和被動(dòng)捕獲的數(shù)據(jù)包數(shù)量均達(dá)到最大值,說明這段時(shí)間網(wǎng)絡(luò)收發(fā)的數(shù)據(jù)包的數(shù)量持續(xù)增加,網(wǎng)絡(luò)流量屬于突發(fā)時(shí)段,在這段時(shí)間最容易產(chǎn)生丟包。但在隨后一段時(shí)間內(nèi)數(shù)據(jù)包的收發(fā)又趨于穩(wěn)定狀態(tài)。數(shù)據(jù)匹配和篩選的主要目的是為了去除冗余數(shù)據(jù),而保留真實(shí)有效的測量數(shù)據(jù)。為后續(xù)目標(biāo)網(wǎng)絡(luò)丟包率和路由信息的測量做準(zhǔn)備。

        4.3 丟包率測量實(shí)驗(yàn)驗(yàn)證

        在對鏈路丟包率進(jìn)行測量時(shí),本文采用周期動(dòng)態(tài)調(diào)整的主動(dòng)發(fā)包方式與文獻(xiàn)[8]提到的Ping 和基于BADABING 測量結(jié)果做對比,分析周期動(dòng)態(tài)調(diào)整的丟包率測量方式的有效性和優(yōu)勢。實(shí)驗(yàn)將被動(dòng)采集匹配和篩選過濾的125個(gè)目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行丟包率測量,發(fā)包時(shí)間周期采用周期動(dòng)態(tài)調(diào)整的主動(dòng)發(fā)包方式。而Ping和BADABING 則使用減半或倍增的周期發(fā)包方式,分別向目標(biāo)網(wǎng)絡(luò)發(fā)送125個(gè)探測數(shù)據(jù)包,測量其鏈路丟包率。將測量得到的丟包率數(shù)據(jù)采用泊松分布樣本的采樣間隔獲取其丟包率數(shù)據(jù)。采樣得到的丟包率數(shù)據(jù)如圖6所示。

        圖6 丟包率測量結(jié)果

        圖6數(shù)據(jù)顯示周期動(dòng)態(tài)調(diào)整的主動(dòng)發(fā)包方式與Ping和BADABING測量方式所測得的丟包率對比結(jié)果。從圖6 整體可知,隨著探測數(shù)據(jù)包數(shù)量的增加,三種丟包率測量方式單位時(shí)間內(nèi)丟包率也都出現(xiàn)峰值,說明探測數(shù)據(jù)包的短時(shí)擁塞對丟包率會(huì)產(chǎn)生一定的影響。測量初期丟包率均處于較低水平,而隨著探測數(shù)據(jù)包數(shù)量的增加,三種發(fā)包測量方式所測量得到的丟包率均呈現(xiàn)不規(guī)則的波動(dòng),說明網(wǎng)絡(luò)波動(dòng)也會(huì)對鏈路丟包率產(chǎn)生影響。

        待發(fā)包周期調(diào)整之后,丟包率也會(huì)隨之降低。據(jù)圖6可知,利用周期動(dòng)態(tài)調(diào)整的主動(dòng)發(fā)包方式在測量鏈路丟包率時(shí),整體上所測得的丟包率的值均低于Ping 和BADABING 測量方式。通過數(shù)據(jù)統(tǒng)計(jì)計(jì)算,可知周期動(dòng)態(tài)調(diào)整的主動(dòng)發(fā)包方式與Ping和BADABING利用減半或倍增的周期發(fā)包方式相比,可以將鏈路丟包率降低60%以上;說明周期動(dòng)態(tài)調(diào)整的發(fā)包測量方式能夠有效地調(diào)整主動(dòng)測量的發(fā)包周期,降低探測鏈路的丟包率。更直觀地說明了動(dòng)態(tài)參量隨機(jī)值的調(diào)整策略誤差抖動(dòng)較小,比減半或者倍增的幾何發(fā)包周期調(diào)整策略更加穩(wěn)定,降低鏈路丟包率的效果更明顯。同時(shí)也證明了泊松分布的采樣方式能夠比較準(zhǔn)確地采集到真實(shí)測量的丟包率數(shù)據(jù)。真正實(shí)現(xiàn)了在壓縮采樣規(guī)模的同時(shí)保持了測量精度的穩(wěn)定。

        4.4 多路徑動(dòng)態(tài)路由測量實(shí)驗(yàn)驗(yàn)證

        本文在匹配篩選的所有目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)中隨機(jī)選取100 個(gè)進(jìn)行路由跟蹤探測實(shí)驗(yàn),并按照文獻(xiàn)[20]提出的Traceroute測量方法和文獻(xiàn)[18]提出的Dijkstra路由測量方法以及本文提出的多路徑動(dòng)態(tài)路由測量方法的測量結(jié)果進(jìn)行對比分析。三種測量方法均規(guī)定單次路由探測最大路徑跳數(shù)均不超過30。并分別對三種測量方法所得到的路由測量結(jié)果進(jìn)行分類統(tǒng)計(jì),統(tǒng)計(jì)每次測試的路徑跳數(shù)以及總的測量時(shí)間開銷。測量結(jié)束后對所探測的目標(biāo)節(jié)點(diǎn)路由信息進(jìn)行分類統(tǒng)計(jì)和編號(hào)。

        據(jù)圖7可知,三種路由測量方法最終成功跟蹤70個(gè)目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)。在測量同一目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)時(shí),三種測量方法獲得的路徑跳數(shù)值相差很小??梢宰C明多路徑動(dòng)態(tài)路由測量方法在測量目標(biāo)節(jié)點(diǎn)路由路徑時(shí)其準(zhǔn)確度較高,且路由尋路探測可行性較強(qiáng)。

        圖7 路由路徑跳數(shù)測量結(jié)果

        表2反映的是利用三種測量方式測量目標(biāo)節(jié)點(diǎn)時(shí),跟蹤成功的路徑跳數(shù)平均值、路由探測總的時(shí)間開銷和跟蹤成功的平均時(shí)間開銷之間的數(shù)據(jù)對比結(jié)果。從表2統(tǒng)計(jì)數(shù)據(jù)可知,多路徑動(dòng)態(tài)路由測量方法與Dijkstra 和Traceroute測量方法跟蹤成功的路徑跳數(shù)的平均值分別為:15、16和18??梢钥闯龆嗦窂絼?dòng)態(tài)路由測量方法比Dijkstra 和Traceroute 測量方法測量的路由路徑跳數(shù)的平均值都要少,說明多路徑動(dòng)態(tài)路由測量方法在探測路由路徑時(shí),能在一定程度上降低探測路徑的復(fù)雜度。由于多路徑動(dòng)態(tài)路由測量方法算法開銷較小,故在探測時(shí)會(huì)以最短路徑作為路由跟蹤成功的探測路徑。三種測量方法路由探測總的時(shí)間開銷分別為:1 962 s、1 682 s、1 887 s,跟蹤成功的平均探測時(shí)間分別為:5.69 s、7.32 s、5.16 s??梢钥闯龆嗦窂絼?dòng)態(tài)路由測量方法與Dijkstra和Traceroute 測量方法相比,雖然路由探測總得時(shí)間開銷相差不大,但是多路徑動(dòng)態(tài)路由測量方法比Dijkstra和Traceroute測量方法跟蹤成功的平均路由探測時(shí)間都要低。多路徑動(dòng)態(tài)路由測量方法與Dijkstra測量方法相比,探測成功的平均路由跟蹤時(shí)間降低了大約10%;與Traceroute 測量方法相比,探測成功的平均路由跟蹤時(shí)間降低了大約42%。據(jù)此次路由測試實(shí)驗(yàn)數(shù)據(jù)結(jié)果可知,多路徑動(dòng)態(tài)路由測量方法可以有效地降低路由探測過程中的復(fù)雜度,減少探測過程中的平均路由跟蹤時(shí)間。

        表2 路由跟蹤測量結(jié)果

        5 結(jié)束語

        本文通過搭建一個(gè)主被動(dòng)結(jié)合的網(wǎng)絡(luò)測量技術(shù)測試環(huán)境,并利用被動(dòng)測量的數(shù)據(jù)結(jié)果觸發(fā)引導(dǎo)主動(dòng)測量任務(wù)的執(zhí)行。相比較與傳統(tǒng)的網(wǎng)絡(luò)測量技術(shù),主被動(dòng)結(jié)合的網(wǎng)絡(luò)測量技術(shù)能夠?qū)崿F(xiàn)在壓縮測量規(guī)模的同時(shí),還能保持測量精度的穩(wěn)定。對于規(guī)模較大或較小的網(wǎng)絡(luò)都適用。此方式不僅保持了主動(dòng)測量和被動(dòng)測量的優(yōu)點(diǎn),使得測量結(jié)果能更好地反映網(wǎng)絡(luò)的真實(shí)情況,對理解網(wǎng)絡(luò)性能和網(wǎng)絡(luò)行為具有非常重要的意義。在對被動(dòng)測量生成的本地聚合日志數(shù)據(jù)進(jìn)行處理時(shí),本文提出一種基于正則表達(dá)式的數(shù)據(jù)匹配和篩選算法,將采集到的無效和冗余的數(shù)據(jù)信息篩選過濾掉,保留有效的測量數(shù)據(jù)信息。與傳統(tǒng)的數(shù)據(jù)信息挖掘方式相比,實(shí)現(xiàn)方式相對方便,一方面不需要額外的硬件支持,另一方面算法在匹配和篩選時(shí)迭代比較的次數(shù)相對較少,降低了其執(zhí)行過程中的時(shí)間復(fù)雜度。在對目標(biāo)網(wǎng)絡(luò)進(jìn)行丟包率測量時(shí),本文研究并提出一種周期動(dòng)態(tài)調(diào)整的主動(dòng)發(fā)包方式測量鏈路丟包率,根據(jù)網(wǎng)絡(luò)是否發(fā)生突發(fā)來適當(dāng)調(diào)整探測包的發(fā)包時(shí)間周期。相較于減半或者倍增的幾何形式的發(fā)包調(diào)整策略,動(dòng)態(tài)參量隨機(jī)值的調(diào)整策略測量誤差抖動(dòng)較小,相對來說比較穩(wěn)定。隨后對測量的丟包率數(shù)據(jù)采用泊松分布的采樣方式進(jìn)行采樣,獲取采樣樣本周期內(nèi)的真實(shí)丟包率測量數(shù)據(jù),降低因網(wǎng)絡(luò)突發(fā)導(dǎo)致的測量誤差。相比較一般的周期采樣方式,采樣樣本的準(zhǔn)確率較高。在對目的網(wǎng)絡(luò)進(jìn)行路由跟蹤測量時(shí),本文研究并提出一種多路徑動(dòng)態(tài)路由測量方法。與Dijkstra和Traceroute測量方法相比,多路徑動(dòng)態(tài)路由測量方法測量得到的路由路徑跳數(shù)的平均值較小,且跟蹤成功的平均路由探測時(shí)間較少。由于算法在執(zhí)行過程中匹配的相關(guān)指標(biāo)參量較少,減少了路由尋路執(zhí)行過程中迭代次數(shù),因而算法的時(shí)間復(fù)雜度相對較低,故屬于一種輕型易用的路由信息測量方法。如何在減少路由跟蹤時(shí)間的同時(shí),又能提高總體目標(biāo)節(jié)點(diǎn)路由跟蹤的成功率,則是下一步工作要重點(diǎn)研究的內(nèi)容。

        猜你喜歡
        包率被動(dòng)數(shù)據(jù)包
        支持向量機(jī)的船舶網(wǎng)絡(luò)丟包率預(yù)測數(shù)學(xué)模型
        一種基于噴泉碼的異構(gòu)網(wǎng)絡(luò)發(fā)包算法*
        新聞?wù)Z篇中被動(dòng)化的認(rèn)知話語分析
        主動(dòng)句都能轉(zhuǎn)換成被動(dòng)句嗎
        第五課 拒絕被動(dòng)
        趣味(語文)(2019年5期)2019-09-02 01:52:44
        SmartSniff
        一種新的VANET網(wǎng)絡(luò)鏈路丟包率估計(jì)算法
        TCN 協(xié)議分析裝置丟包率研究
        基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
        視覺注意的數(shù)據(jù)包優(yōu)先級排序策略研究
        视频女同久久久一区二区| 麻豆五月婷婷| 激情综合网缴情五月天| 丰满巨臀人妻中文字幕| 亚洲性色av一区二区三区| 男同gay毛片免费可播放| 中文亚洲爆乳av无码专区| 精品国产车一区二区三区| 久久精品国产亚洲av超清| 天码人妻一区二区三区| 日本丰满妇人成熟免费中文字幕| 亚洲男女视频一区二区| 人妻久久久一区二区三区蜜臀| 久久www免费人成人片| 囯产精品无码一区二区三区| 中文字幕久久国产精品| 无遮挡1000部拍拍拍免费| 日本护士吞精囗交gif| 亚洲国产一区二区三区在线视频| 不卡av一区二区在线| 四虎影视久久久免费观看 | 97人妻熟女成人免费视频| 无码av专区丝袜专区| 色综合悠悠88久久久亚洲| 亚洲精品无码久久久久av老牛| 久久国产精品二区99| 精品国产麻豆一区二区三区| 一区二区三区美女免费视频| 亚洲国产精品日韩av专区| 日韩精品一区二区三区毛片| 自拍视频在线观看国产| 久久精品亚洲一区二区三区浴池| 正在播放国产多p交换视频| 日韩十八禁在线观看视频| 80s国产成年女人毛片| 少妇饥渴xxhd麻豆xxhd骆驼| 久久无码高潮喷水抽搐| 亚洲婷婷久悠悠色悠在线播放| 人人妻人人澡人人爽欧美精品| 国产主播在线 | 中文| 女人天堂国产精品资源麻豆|