曾傳璜,陳景忠
(江西理工大學信息工程學院,江西贛州 341000)
隨著互聯網技術突飛猛進的發展,網絡結構從傳統的非對稱C/S,B/S模式,逐漸轉向 P2P結構的應用模型,相對于傳統的C/S模式,P2P對等網絡突破了它的局限性,其充分利用了網絡中的閑置資源,分布式化地來進行任務與計算,極大提高了網絡的應用效率,同時也方便了廣大網絡用戶獲取和分享各種網絡資源。例如,以PPTV、PPStream、QQLIVE等為代表的P2P流媒體應用程序就為眾多網絡用戶帶來了豐富多彩的網絡電視體驗,提供了許多精彩的影視、直播節目,極大方便了人們的生活。然而,正是因為流媒體應用被人們廣泛使用,其在給用戶帶來速度體驗的同時,也引發了各種版權、網絡安全和帶寬消耗等問題,怎樣通過有效的技術手段,迅速、準確地識別出流媒體應用流,管理和控制各種流媒體業務流量,區分不同服務,做出相應的網絡策略調整,提供不同質量保障,滿足用戶的業務需求成為當前網絡運營商面臨的挑戰之一。本文便是針對這些問題所提出的一套基于DPI的流媒體流量監控系統。
本系統主要包含3個模塊,分別為特征庫識別模塊、策略配置模塊、業務流量控制模塊。該系統架構圖如圖1所示。

圖1 流量監控系統架構圖
從圖1系統架構圖可以看出,網絡用戶所請求的數據流需先通過預先提取的特征庫模塊進行匹配識別,以檢測特征庫內是否有與用戶請求數據特征相匹配的協議。隨后該模塊再將識別結果傳遞至策略配置模塊,然后策略配置模塊根據識別結果查詢自身策略庫是否有相應的協議策略,若存在相應的策略則將查詢結果傳遞至業務流量控制模塊,控制模塊則根據用戶控制需求下發相應的控制策略,從而達到用戶所預期的放行、限流或阻斷效果[1]。若控制模塊未下發任何策略,則數據流相當于沿著圖1虛線箭頭直接傳輸至流出口。
本模塊所需解決問題是如何準確識別出網絡中各種協議的流量,并且根據用戶進行網絡行為時所產生的網絡流量大小統計出實時占有百分比,從而實現對用戶網絡行為的監控。目前業內最為流行的流量檢測技術[2]主要有兩種:一是以DPI(Deep Packet Inspection)深度包檢測技術為代表的特征字檢測方法;另一種是以DFI(Deep Flow Inspection)深度流檢測技術為代表的基于數據流特征的檢測方法。表1為它們優缺點對比,根據本系統對于精確到具體應用的嚴格要求,通過對比可知DPI技術更加符合本系統的需求。

表1 DPI與DFI優缺點對比
2.1.1 DPI深度包檢測技術
DPI從大方向上是屬于基于報文內容的一種流量識別方法。所謂報文內容主要包含了報文長度、固定端口號、固定IP、應用層載荷數據特征,之所以稱之為“深度”是相對于傳統流量檢測技術而言。傳統流量檢測技術僅從數據網絡層和傳輸層報文頭獲得基本信息,包括源/目的IP地址、端口號、TCP/UDP連接狀態、協議號等,但隨著動態端口、HTTP隧道等偽裝技術的不斷發展,此類檢測技術已經很難適應當今網絡流量管理需求。DPI技術通過提取對等網絡數據流應用層的數據,分析其所負載的協議特征來判斷其是否屬于P2P流媒體流量,進而確定其具體屬于哪一種應用,如圖2所示。該技術需要首先收集各種應用運行時所產生的數據流量在應用層負載特征(本文利用Wireshark抓包獲取相關應用數據流量),再將這些特征按照哈希表結構組成協議特征庫,當進行報文檢測時將深度掃描數據包應用層信息,提取其協議特征并與特征庫中的特征串進行模式匹配,若匹配成功,則識別為對應的程序應用。

圖2 DPI深度檢測
2.1.2 模塊實現
當用戶網絡數據流量到達圖1所示特征庫識別模塊時,該模塊立即對數據報文進行遍歷解析報文,通過Push-Queue操作壓入數據包隊列,再通過PopQueue操作將數據包送至引擎進行識別。數據到達引擎后,首先根據一些知名服務端口初步對流量進行協議判定,并將結果記錄,在后繼引擎識別中優先對所判定協議進行匹配。若端口信息庫未匹配到相應端口,特征庫識別模塊則直接進行引擎識別[3-4]。報文在傳送至引擎識別之前,會先進行包頭解析處理,實際到達引擎的是如下所示的結構體:

特征庫識別模塊經過初步的端口識別之后,隨即進行該模塊最核心的部分:DPI識別。DPI識別中的協議特征庫是采用哈希表的結構來存儲所有協議特征,同時預設兩個接口,其中一個接口用于識別時與解析引擎進行交互匹配,另外一個接口則提供一個存儲所有應用名的全局數組給策略配置模塊使用。DPI識別流程如圖3所示。

圖3 DPI識別流程圖
本節主要闡述策略配置模塊的實現過程。本模塊較為簡單,主要包含特征庫識別模塊所提供的存儲應用名全局數組以及策略信息庫。其中全局數組為用戶提供了查詢應用名的友好界面,策略信息庫則根據用戶查詢結果提供相應的一個或多個配置策略,用戶根據需求選擇下發相應策略。同時,下發策略信息將傳遞至流量控制模塊,使得控制模塊發出相應的干擾控制報文。
所謂流量控制[5],顧名思義,是一種對特定網絡流量進行速率限制或完全阻斷的技術,控制的前提是先完成對具體協議應用的識別,其精確度也取決于識別的精確度,可知本模塊高度依賴于前面的特征庫識別模塊。本文系統選用旁路干擾流量控制來作為本模塊實現的核心技術。
2.3.1 旁路干擾流量控制
旁路干擾流量控制主要利用數據包偽裝技術將偽裝的干擾數據包發送至正在通信的TCP,UDP連接中,降低通信的數據傳輸速率或直接阻斷通信連接從而達到控制流量的目的。根據P2P數據傳輸所采取的方式,旁路干擾流量控制分為以下幾種方法:
1)TCP降速:通過偽造并發送特殊sequence報文來減小TCP的滑動窗口值。
2)TCP阻斷:通過偽造并發送TCP RST報文來阻斷TCP連接。
3)UDP降速:通過偽造并發送P2P應用層特殊控制命令方式來降低UDP連接傳輸速率
4)UDP阻斷:通過偽造并發送P2P應用層特殊控制命令方式來阻斷UDP連接。
其工作方式如圖4所示。

圖4 旁路干擾流量控制工作方式
2.3.2 模塊實現
由于本系統采用的是旁路干擾流量控制方式,故控制模塊主要功能是根據用戶下發策略產生相應的控制報文,從而達到實現對用戶網絡流量的控制[6]。該模塊主要包含3部分:
1)策略接收器部分,用于接收策略配置模塊所傳遞的策略信息,并發出執行命令至后兩部分;
2)報文緩存器部分,用于緩存發送控制報文所需要的報文內容,從而為后一部分提供支持;
3)控制報文發送器部分,用于根據策略接收器所接收策略發送控制報文,同時向網絡推送相關信息。
業務流量控制模塊的流程如圖5所示。

圖5 業務流量控制流程圖
為實現本系統功能并驗證其性能,實驗環境中配備了24口華為交換機1臺,搭載Linux系統并導入系統各模塊(特征庫識別、流量控制等模塊)服務器1臺,PC客戶端主機若干臺,本系統的測試拓撲圖如圖6所示。
如圖6所示,串聯好各設備之后先在Switch交換機上配置一個10網段的Vlan、PC客戶端、Linux服務器都連接在此Vlan中,同時將PC客戶端的IP分別配置為10.4.0.X,網關配置為Linux服務器的網關:10.4.0.81,使得PC客戶端訪問網絡時流量必須通過Linux服務器。

圖6 本系統的測試拓撲圖
3.2.1 流媒體流量識別準確度分析
本系統主要功能是為實現對流媒體流量的監控,其識別準確率分為識別率和誤報率,根據需求本系統識別率越高系統性能越強,且不允許存在誤報率。為驗證本系統識別準確度,分別測試幾種常用流媒體客戶端或視頻網站,其識別結果如表2所示。從表中可以看出,這些常用流媒體客戶端或網站識別率均在90%以上,且無誤報,可知系統識別性能能達到用戶需求。

表2 流媒體應用識別結果
3.2.2 流媒體流量控制效果分析
為驗證本系統的控制效果,以PPStream客戶端為例,驗證其控制性能。由表2可知PPStream客戶端流量識別為PPStream協議,因此,為達到對其限流或阻斷效果,測試時應下發PPStream策略。本系統驗證阻斷效果時采用了下發PPStream策略,如圖7所示。

圖7 策略配置圖(截圖)
下發策略客戶端阻斷效果如圖8所示。可知下行速度已降至0,點播視頻無法繼續緩沖播放。
綜上可知,本系統對于流媒體應用的識別與控制均能達到較好的效果,完全能滿足用戶的需求。

圖8 阻斷效果圖(截圖)
本文提出了一種基于DPI的流媒體流量監控系統。該系統結合DPI應用背景,主要利用Wireshark截取PPTV、PPStream、QQLIVE等流媒體應用實時在線時的數據報文,通過對數據流的分析,提取相關應用的協議特征,整合成特征庫導入識別引擎,從而有效地實現了對于流媒體應用的識別控制。目前,該系統已成熟運用在市場上,充分體現了其應用領域的廣泛性。
:
[1]米淑云.IP網絡流量監控系統的設計與實現[D].北京:北京郵電大學,2009.
[2]魯剛,張宏莉,葉麟.P2P流量識別[J].軟件學報,2011,22(6):1281-1298.
[3]王衛東.基于DFI和DPI技術的異常流量監控[J].網絡安全技術與應用,2009(1):4-11.
[4]SEN S,WANG J.Analyzing peer-to-peer traffic across large net-works[J].IEEE/ACM Trans.Networks,2004,12(2):219-232.
[5]任豐原,林闖,劉衛東.IP網絡中的擁塞控制[J].計算機學報,2003(9):1024-1034.
[6]THOMAS K,ANDRE B,MICHALIS F,et al.Transport layer identification of P2P traffic[C]//Proc.2004 ACM SIGCOMM Internet Measurement Conference.[S.l.]:ACM Press,2004:121-134.