殷紅花 ?!§o
(揚(yáng)州市職業(yè)大學(xué) 揚(yáng)州 225009)
?
基于DFI的HTTP流歸并方法*
殷紅花桑靜
(揚(yáng)州市職業(yè)大學(xué)揚(yáng)州225009)
摘要目前的流量分類算法只能對不同類型的HTTP流量進(jìn)行分類,無法將HTTP流量以各自所屬的網(wǎng)頁進(jìn)行聚類,因此無法滿足后向收費(fèi)等新興應(yīng)用,論文提出一種基于DFI的HTTP流歸并算法,能將一次網(wǎng)頁訪問所產(chǎn)生的所有HTTP流進(jìn)行歸并。該方法是一種基于流量行為的應(yīng)用識別技術(shù),通過分析不同HTTP流在會話連接或數(shù)據(jù)流上狀態(tài)的不同,從而對HTTP流以網(wǎng)頁為單位進(jìn)行歸并。實(shí)驗(yàn)結(jié)果表明該方法可以有效地解決大規(guī)模網(wǎng)絡(luò)流量的HTTP流歸并問題。
關(guān)鍵詞HTTP流; 歸并; DFI; 流量行為
Class NumberTP393
現(xiàn)階段絕大多數(shù)ISP還在提供流量計費(fèi)的網(wǎng)絡(luò)服務(wù),因此當(dāng)前ICP(Internet Content Provider)可以替用戶向ISP支付訪問Web服務(wù)所產(chǎn)生的流量費(fèi)用來吸引更多客戶。如阿里巴巴已經(jīng)宣布淘寶、聚劃算、支付寶等手機(jī)客戶端用戶可以申領(lǐng)每月2G定向免費(fèi)流量。本文提出的HTTP流歸并算法可以對瀏覽器訪問不同Web所產(chǎn)生的流量進(jìn)行精確分類,從而統(tǒng)計用戶訪問不同網(wǎng)頁各自所產(chǎn)生的流量。此外,ISP還可以根據(jù)不同收費(fèi),對不同的ICP提供區(qū)分服務(wù),對于支付較高費(fèi)用的ICP,ISP可以提高它的流量通過路由的優(yōu)先級,在網(wǎng)絡(luò)負(fù)載較高的情況下提高用戶訪問該網(wǎng)站的體驗(yàn)效果,從而在保留當(dāng)前用戶的基礎(chǔ)上吸引更多的潛在用戶。但是目前還沒有能對單個頁面中HTTP流量進(jìn)行有效歸并的高效算法。雖然已經(jīng)存在大量關(guān)于流量分類和識別的文獻(xiàn),尤其是基于應(yīng)用層的流量分類[1~4],還有針對Web最新技術(shù)例如Ajax的測量研究[5~6],但是它們只能對不同的網(wǎng)絡(luò)流量進(jìn)行分類。
針對不同的應(yīng)用環(huán)境,本文提出基于DFI的HTTP流歸并算法,該算法對每一個HTTP請求的頭部進(jìn)行解析,提取頭部字段GET、Referer以Host,通過將GET和Host拼接而成的URL與Referer進(jìn)行匹配從而完成流之間的歸并,再通過不同流之間時間等特征對主流與輔流進(jìn)行識別,從而完成對一次網(wǎng)頁請求所產(chǎn)生的所有流進(jìn)行歸并,適用于對精度要求較高但是流量較小的網(wǎng)絡(luò)。另外,基于DFI的HTTP流歸并算法從流量行為的角度分析主流與輔流在會話連接與數(shù)據(jù)流上狀態(tài)的細(xì)微差別,總結(jié)出規(guī)律,從而完成主流與輔流的識別與歸并,適用于大流量下對效率要求較高的網(wǎng)絡(luò)環(huán)境。
目前針對HTTP流歸并的相關(guān)研究工作較少,尤其是專門針對HTTP流歸并問題的研究。HTTP流歸并方法主要分為三大類: 1) 基于IP與Think times的HTTP流歸并算法; 2) 基于Referer與Think times的HTTP流歸并算法; 3) 主動HTTP流歸并。
2.1基于IP與Think times的HTTP流歸并算法
早期Web網(wǎng)站規(guī)模相對較小、使用靜態(tài)文檔,而且一個網(wǎng)頁中所有資源均來自同一個臺服務(wù)器,因此可以通過IP對HTTP流量進(jìn)行初步聚類。Think times是Mah[7]首次提出的概念,具體指兩條不同HTTP流之間的時間間隔。Mah認(rèn)為用戶瀏覽網(wǎng)頁并選擇點(diǎn)擊一個超鏈接的Think times與瀏覽器發(fā)送內(nèi)嵌對象的Think times會存在明顯的區(qū)別。Mah在對HTTP流進(jìn)行歸并時主要考慮IP和Think times,通過IP將路由器中抓取的所有HTTP流進(jìn)行分類,客戶機(jī)端與服務(wù)器端IP均相同的HTTP流量屬于同一個集合,之后再通過基于Think times的分類算法識別出訪問每一個網(wǎng)頁所產(chǎn)生的HTTP流量。Barford[8]與Smith[9]提出的關(guān)于Web流量歸并算法從本質(zhì)上來說也是基于Mah的模型。Choi與Limb[10]在Mah模型的基礎(chǔ)上通過對HTTP報文頭部進(jìn)行分析,利用HTTP請求所訪問資源類型協(xié)助區(qū)分主請求與訪問內(nèi)嵌對象請求。
2.2基于Referer與Think times的Web流量歸并算法
隨著HTTP協(xié)議不斷發(fā)展以及CDN等網(wǎng)絡(luò)加速技術(shù)廣泛應(yīng)用,僅通過IP與Think times已經(jīng)無法對Web服務(wù)產(chǎn)生的流量進(jìn)行有效歸并。當(dāng)前所提出的HTTP流歸并算法通過對Referer值與完整URL進(jìn)行匹配,找出每一個HTTP請求所屬源端頁面的HTTP請求,從而確定不同請求之間的歸并關(guān)系,并在這個基礎(chǔ)通過Think times識別出主流與輔流。Ihm[11]提出的StreamStructure算法通過Referer與Thinks times對HTTP流量以各自所屬的頁面進(jìn)行歸并,計算每個HTTP請求與最近出現(xiàn)的相關(guān)HTTP請求對應(yīng)的響應(yīng)報文時間間隔,Ihm認(rèn)為主請求對應(yīng)的時間間隔應(yīng)超過設(shè)定的Think times閾值,而用于訪問內(nèi)嵌對象的HTTP請求對應(yīng)的時間間隔應(yīng)小于Think times閾值。Khandelwal設(shè)計的CobWeb[12]系統(tǒng)則是通過HTTP請求頭部的Referer字段對HTTP流量以各自所屬的網(wǎng)站進(jìn)行歸并,該系統(tǒng)的主要特點(diǎn)是可以對在線流量進(jìn)行實(shí)時處理。
2.3主動HTTP流歸并
主動HTTP流歸并方法是一種基于瀏覽器的主動網(wǎng)頁歸并測量,通過瀏覽器插件精確地記錄本地所有網(wǎng)頁加載事件,再根據(jù)日志信息得出HTTP流的歸并結(jié)果。Butkiewicz[13]在對網(wǎng)頁復(fù)雜性分析的研究中提出了基于瀏覽器的測量框架,用于研究用戶使用瀏覽器上網(wǎng)的行為。采用擴(kuò)展Net:Export的Firebug和Firestarter,將渲染網(wǎng)頁時所產(chǎn)生的所有HTTP請求與響應(yīng)自動導(dǎo)出到日志中?;赗eferer與Think times的HTTP流歸并算法則通過解析HTTP請求的內(nèi)容完成對HTTP流的歸并,優(yōu)點(diǎn)是不需要像主動流量歸并那樣需要瀏覽器插件提供其它參考數(shù)據(jù),但具有需解析報文載荷與主流識別精度不高等缺點(diǎn)。主動HTTP流歸并需要瀏覽器插件的支持,具有精度高的優(yōu)點(diǎn),可以通過它對其它HTTP流歸并算法進(jìn)行評價。
3.1HTTP流量歸并樹
HTTP流歸并算法通過分析HTTP報文,還原HTTP流量的歸并關(guān)系,從而完成對HTTP流的歸并。例如訪問www.sina.com/并通過點(diǎn)擊超鏈接打開edu.sina.com.cn/與www.xdf.cn/產(chǎn)生的HTTP流量所構(gòu)建的歸并關(guān)系樹,如圖1所示。
3.2基于DFI的HTTP流歸并識別規(guī)則
基于DFI的HTTP流歸并算法從流的角度,分析主流與輔流之間的差異并提煉出規(guī)則,從而識別主流與輔流并在此基礎(chǔ)上完成輔流與主流的歸并。本文針對主流在傳輸HTTP請求時是否復(fù)用TCP連接提出兩種不同場景的識別方法。
3.2.1基于多事務(wù)場景的主流識別
當(dāng)一條HTTP流滿足基于多事務(wù)場景的主流識別規(guī)則時,便可以認(rèn)為它是主流,規(guī)則具體定義如下: 1) 主流宿IP為新IP; 2) 主流中主響應(yīng)包含的TCP報文段數(shù)應(yīng)介于4~150之間,且一條主流中至少有兩個HTTP請求; 3) 主流從收到主響應(yīng)首個TCP報文段后20ms開始,到完整響應(yīng)下載結(jié)束的950ms以內(nèi)至少有三個相關(guān)HTTP請求被加載,且這些HTTP請求對應(yīng)的宿IP是新IP或與主流具有同樣的宿IP; 4) 若一條流中第一個HTTP請求對應(yīng)的響應(yīng)只通過一個TCP報文段傳輸,而第二個HTTP請求與響應(yīng)滿足上述3個條件,也可以認(rèn)為該流是主流; 5) 若當(dāng)前主流宿IP與前一個主流宿IP前24位相同時,那么必須保證它們IP后8位也相同;6)主流中第一個HTTP請求與離它最近的十個HTTP請求平均時間間隔應(yīng)大于1s,當(dāng)前主流與上一個主流的時間間隔應(yīng)大于5s。

圖1 HTTP流量歸并樹示例圖
3.2.2基于單事務(wù)場景的主流識別
在實(shí)際網(wǎng)絡(luò)環(huán)境中,部分主流中只包含單個HTTP請求,且該主流宿IP所對應(yīng)的所有輔流也只包含一個HTTP請求?;趩问聞?wù)場景的主流識別規(guī)則定義如下: 1) 主流宿IP為新IP; 2) 在一定的時間區(qū)間內(nèi)(2s),一條IP相關(guān)的3個TCP連接中HTTP請求均只有1個,且該IP對應(yīng)的第一條流中響應(yīng)所包含的TCP報文段數(shù)應(yīng)介于4~150之間,主流為該IP對應(yīng)的第一條流; 3) 主流從收到主響應(yīng)首個TCP報文段后20ms開始,到完整響應(yīng)下載結(jié)束的950ms以內(nèi)至少有3個相關(guān)HTTP請求被加載,且這些HTTP請求對應(yīng)的宿IP是新IP或與主流具有同樣的宿IP; 4) 若當(dāng)前主流宿IP與前一個主流宿IP前24位相同時,那么必須保證它們IP后8位也相同; 5) 主流中第一個HTTP請求與離它最近的十個HTTP請求平均時間間隔應(yīng)大于1s,當(dāng)前主流與上一個主流的時間間隔應(yīng)大于5s。
3.3輔流歸并算法
輔流與主流歸并通過主流識別算法完成主流與輔流的識別后再通過輔流歸并算法將輔流歸并到它所屬的主流上。對于一個主流之后32s內(nèi)出現(xiàn)的每一個輔流,若滿足規(guī)則1且不滿足規(guī)則2時,則將它歸并到離它最近的主流上,否則將該輔流與離它第二近的主流相歸并,且輔流與該第二近主流時間間隔小于32s,歸并過程如圖2所示。

圖2 歸并算法流程圖
規(guī)則1:輔流宿IP為新IP或與主流具有相同IP,且輔流中首個HTTP請求時戳大于主流中第一個響應(yīng)的開始時戳加上瀏覽器處理時間(20ms);
規(guī)則2:輔流宿IP對應(yīng)的DNS查詢報文時戳介于前一個主流主響應(yīng)開始時戳加上瀏覽器處理時間(20ms)與當(dāng)前主流主響應(yīng)開始時戳加上20ms之間,且該宿IP對應(yīng)的其它輔流未在當(dāng)前主流與前一個主流之間出現(xiàn)。
4.1實(shí)驗(yàn)數(shù)據(jù)與評價指標(biāo)
實(shí)驗(yàn)數(shù)據(jù)通過基于Selenium自動化框架的數(shù)據(jù)采集系統(tǒng)在本地計算機(jī)上所采集來自訪問40個在alex排名較高的網(wǎng)站產(chǎn)生的流量,數(shù)據(jù)大小約為21G,包含40個數(shù)據(jù)子集,每個數(shù)據(jù)子集為訪問同一域名網(wǎng)頁所產(chǎn)生的流量,同時記錄所訪問頁面的URL,對主流進(jìn)行手動標(biāo)記。
4.2分類性能
為了評價基于DFI的HTTP流歸并算法的性能,選用四種評價指標(biāo),包括查準(zhǔn)率和查全率,歸并字節(jié)比率和加載時間比率。歸并字節(jié)比率定義為算法歸并結(jié)果中每個網(wǎng)頁的總字節(jié)數(shù)與對應(yīng)網(wǎng)頁實(shí)際字節(jié)數(shù)的比值。加載時間比率定義為歸并結(jié)果中每個網(wǎng)頁的加載時間與對應(yīng)網(wǎng)頁實(shí)際加載時間的比值。查準(zhǔn)率和查全率體現(xiàn)算法針對主流識別的效果,歸并字節(jié)比率與加載時間比率則體現(xiàn)輔流與主流歸并上的準(zhǔn)確率。圖3和圖4分別給出了基于HTTP請求方法與基于DFI方法的查全率和查準(zhǔn)率。

圖3 主流識別查全率

圖4 主流識別查準(zhǔn)率
從圖3可以看出基于HTTP請求方法的平均查全率為86.5%,而基于DFI方法的平均查全率為72.6%。由于基于HTTP請求方法通過解析報文應(yīng)用層內(nèi)容比DFI方法獲得更多相關(guān)信息,因此在查全率上前者要高于后者。圖4可以看出基于HTTP請求方法的平均查準(zhǔn)率為88.6%,而基于DFI的HTTP方法的平均查準(zhǔn)率為79.63%。由于前者解析應(yīng)用層內(nèi)容,查準(zhǔn)率高于后者。部分域名下基于HTTP請求方法的查準(zhǔn)率不如基于DFI的方法,因?yàn)榍罢邔⒉糠址菑V告內(nèi)嵌對象也識別成主流,導(dǎo)致查準(zhǔn)率降低,而這些內(nèi)嵌對象卻不滿足DFI方法對主流的定義,因而不會被錯誤地識別為主流。圖5給出了基于DFI方法與基于HTTP請求方法對網(wǎng)頁歸并字節(jié)數(shù)統(tǒng)計結(jié)果的比值。縱坐標(biāo)表示同一個數(shù)據(jù)子集中不同頁面歸并字節(jié)比率均值。
圖5可以看出40個數(shù)據(jù)子集的歸并字節(jié)比率均值為95.2%,而且每個子集的歸并字節(jié)比率也均接近1,說明算法在輔流與主流的歸并上能獲得較好的性能。圖6給出的是基于DFI方法與基于HTTP請求方法對頁面加載時間統(tǒng)計結(jié)果的比值??v坐標(biāo)代表同一個數(shù)據(jù)子集中不同頁面加載時間比率均值。
圖6中40個數(shù)據(jù)子集的加載時間比率均值為102.4%。部分?jǐn)?shù)據(jù)子集的加載時間比率要遠(yuǎn)高于1,導(dǎo)致這種情況是因?yàn)榧虞d時間是由主流以及被歸并輔流的最晚結(jié)束時間所決定,錯誤歸并一條輔流對某個頁面統(tǒng)計加載時間所產(chǎn)生的影響要遠(yuǎn)超過對該頁面字節(jié)數(shù)統(tǒng)計。與基于HTTP請求方法相比,基于DFI方法只需要TCP層以下的信息而不必解析報文應(yīng)用層載荷,流歸并效率高,同時可以用于HTTPS等加密流量。

圖5 頁面歸并字節(jié)比率

圖6 頁面加載時間比率
針對網(wǎng)絡(luò)后向收費(fèi)以及路由加速應(yīng)用,本文提出基于DFI的HTTP流歸并算法。基于DPI的HTTP流歸并算法通過解析HTTP請求的內(nèi)容對一次網(wǎng)頁請求產(chǎn)生的所有流量進(jìn)行歸并,無法用于加密流量,而基于DFI的HTTP流歸并算法不需要解析數(shù)據(jù)包,通過總結(jié)不同HTTP流在會話連接或數(shù)據(jù)流上狀態(tài)的規(guī)律,對HTTP流進(jìn)行歸并。實(shí)驗(yàn)結(jié)果表明基于DFI的流歸并方法可以有效地解決大規(guī)模網(wǎng)絡(luò)流量的HTTP流歸并問題。下一步工作將優(yōu)化歸并策略進(jìn)一步提高基于DFI算法歸并精度。
參 考 文 獻(xiàn)
[1] Karagiannis T, Papagiannaki K, Faloutsos M. BLINC: multilevel traffic classification in the dark[C]//ACM SIGCOMM Computer Communication Review. ACM,2005,35(4):229-240.
[2] Ma J, Levchenko K, Kreibich C, et al. Unexpected means of protocol inference[C]//Proceedings of the 6th ACM SIGCOMM conference on Internet measurement. ACM,2006:313-326.
[3] Roughan M, Sen S, Spatscheck O, et al. Class-of-service mapping for QoS: a statistical signature-based approach to IP traffic classification[C]//Proceedings of the 4th ACM SIGCOMM conference on Internet measurement. ACM,2004:135-148.
[4] Butkiewicz M, Madhyastha H V, Sekar V. Understanding website complexity: measurements, metrics, and implications[C]//Proceedings of the 2011 ACM SIGCOMM conference on Internet measurement conference. ACM,2011:313-328.
[5] Kiciman E, Livshits B. AjaxScope: a platform for remotely monitoring the client-side behavior of Web 2.0 applications[C]//ACM SIGOPS Operating Systems Review. ACM,2007,41(6):17-30.
[6] Schneider F, Agarwal S, Alpcan T, et al. The new web: Characterizing ajax traffic[M]//Passive and Active Network Measurement. Springer Berlin Heidelberg,2008:31-40.
[7] Mah B A. An empirical model of HTTP network traffic[C]//INFOCOM’97. Sixteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Driving the Information Revolution., Proceedings IEEE. IEEE,1997,2:592-600.
[8] Barford P, Crovella M. Generating representative web workloads for network and server performance evaluation[C]//ACM SIGMETRICS Performance Evaluation Review. ACM,1998,26(1):151-160.
[9] Smith F D, Campos F H, Jeffay K, et al. What TCP/IP protocol headers can tell us about the web[C]//ACM SIGMETRICS Performance Evaluation Review. ACM,2001,29(1):245-256.
[10] Choi H K, Limb J O. A behavioral model of web traffic[C]//Network Protocols, 1999. (ICNP’99) Proceedings. Seventh International Conference on. IEEE,1999:327-334.
[11] Ihm S, Pai V S. Towards understanding modern web traffic[C]//Proceedings of the 2011 ACM SIGCOMM conference on Internet measurement conference. ACM,2011:295-312.
[12] Khandelwal H, Hao F, Mukherjee S, et al. CobWeb: In-network cobbling of web traffic[C]//IFIP Networking Conference, 2013. IEEE,2013:1-9.
[13] Butkiewicz M, Madhyastha H V, Sekar V. Understanding website complexity: measurements, metrics, and implications[C]//Proceedings of the 2011 ACM SIGCOMM conference on Internet measurement conference. ACM,2011:313-328.
收稿日期:2015年10月5日,修回日期:2015年11月27日
基金項(xiàng)目:江蘇省現(xiàn)代教育技術(shù)研究重點(diǎn)課題:基于用戶滿意度的高職院校網(wǎng)絡(luò)建設(shè)研究(編號:2015-R-44970)資助。
作者簡介:殷紅花,女,碩士,講師,研究方向:計算機(jī)網(wǎng)絡(luò)。桑靜,女,碩士,副教授,研究方向:計算機(jī)網(wǎng)絡(luò)。
中圖分類號TP393
DOI:10.3969/j.issn.1672-9722.2016.04.031
HTTP Flow Cobbling Method Based on DFI
YIN HonghuaSANG Jing
(Yangzhou Polytechnic College, Yangzhou225009)
AbstractCurrently, the flow classification algorithm can only classify HTTP traffic with different application types, therefore it is unable to meet the emerging services such as reverse billing. A HTTP flow cobbling is proposed based on DFI, which can cobble all HTTP traffic generated by web service. This method is based on the application of the flow behavior recognition technology, by analyzing the difference of HTTP streaming in different sessions or different states, thus HTTP stream can be merged by web page as a unit. Experimental results show that the proposed method can solve the problem of HTTP flow cobbling in large scale traffic effectively.
Key WordsHTTP flow, cobbling, DFI, traffic behavior