辛 靜, 徐家品
(四川大學 電子信息學院,四川 成都 610064)
NGN是基于IP的多業(yè)務網絡,P2P業(yè)務[1-2]、流媒體等新業(yè)務的大量出現對下一代網絡的流量模型和應用模式產生了很大的沖擊[3]。在傳統(tǒng)網絡逐步向多業(yè)務網絡演進的過程中,監(jiān)管者、運營商以及最終用戶都對網絡的可管可控能力提出了差異化的要求,業(yè)務識別與控制技術營運而生。作為當前國內外研究的一項熱點,業(yè)務識別與控制技術得到了廣泛的關注、取得了迅猛的發(fā)展,并且在網絡的各個層面產生了許多相對獨立的用戶控制、網絡控制、業(yè)務控制技術[4]。
基于網絡的業(yè)務識別技術并不是簡單地只對數據鏈路層和網絡層進行區(qū)分,而是以網絡業(yè)務流為對象,將眾多復雜的網絡流按照應用層業(yè)務進行識別與分類,供后續(xù)的QoS進行處理。
目前業(yè)務流識別技術的一大限制是:識別能力范圍只局限在單一設備上,所有要被識別的業(yè)務關鍵報文必須經過此設備,一旦報文沒有經過或者丟失,則會造成識別不出或者誤識別該業(yè)務流。所以未來的業(yè)務識別技術應該是基于網絡形式、動態(tài)的識別,而不依賴于某一設備,不依賴于時間,也不依賴于具體的網絡范圍。
現在了解TCP/IP體系結構的基礎上,提出了一種基于IP網絡的網絡化業(yè)務流識別系統(tǒng)模型,并進行了詳細設計。
現提出的業(yè)務流識別系統(tǒng)模型如圖1所示。為了節(jié)約成本,將業(yè)務識別節(jié)點分布于網絡的邊緣,在網絡的邊緣節(jié)點上實現基于網絡化的業(yè)務識別系統(tǒng)。每個識別節(jié)點具有高效的業(yè)務流識別能力,能夠獨立地識別經過該節(jié)點的報文,識別率接近 100%。同時,如果要被識別的業(yè)務關鍵報文沒有經過該識別節(jié)點或者丟失,那么該識別節(jié)點會向整個業(yè)務識別網絡廣播,請求其他識別節(jié)點協(xié)助識別。這樣,該系統(tǒng)就實現了動態(tài)的識別,進一步提高了識別率。
圖1 基于邊緣節(jié)點的網絡化業(yè)務識別系統(tǒng)
要實現圖1所示的系統(tǒng)需要重點考慮三個方面的要求。①每個識別節(jié)點上應該具有基于模型化的識別方法;②每個識別節(jié)點可以將該節(jié)點的識別信息實時發(fā)送到整個網絡識別系統(tǒng),同時不能使報文流量過大而造成網絡擁塞;③各個識別節(jié)點間區(qū)分出識別信息的冗余度,快速高效地組合成該節(jié)點所需要的業(yè)務信息。
對于第一個要求,目前在業(yè)務流識別這一領域,主要有深度報文檢測(DPI)和深度流行為檢測(DFI)兩大技術,同時也有一些業(yè)務流識別通用模型被提出并加以實現。在此基礎上,設計出適合于圖1所示的識別節(jié)點的模型化的識別方法。
對于第二個要求,識別節(jié)點之間信息的交互。主要設計思路是:如果某一識別節(jié)點上產生了無法識別的報文,則該識別節(jié)點會馬上將該報文的相關信息向其他識別節(jié)點進行廣播,請求其它識別節(jié)點協(xié)助識別該報文。其它識別節(jié)點在接收到請求后會查詢是否有與該報文相關的信息,若有,則會響應該節(jié)點,向該節(jié)點發(fā)送相關報文。
對于最后一個要求,對識別信息的處理。該系統(tǒng)主要是將不能識別出的報文和接收到的從其它節(jié)點發(fā)送來的相關報文依據特征信息進行重組。然后再次進行識別。
識別節(jié)點組成如圖 2所示。識別處理模塊是整個識別節(jié)點的核心,用來進行業(yè)務識別、區(qū)分識別信息冗余度、組合該節(jié)點所需業(yè)務信息等;通信模塊用來發(fā)送請求、響應請求,發(fā)送該節(jié)點產生的識別信息,接收其他節(jié)點發(fā)送過來的識別信息,發(fā)送相關報文,接收相關報文。
圖2 識別節(jié)點的結構
業(yè)務識別通過對業(yè)務流量從數據鏈路層到應用層的報文深度檢查分析,依據協(xié)議類型、端口號、特征字符串和流量行為特征等參數,獲取業(yè)務類型、業(yè)務狀態(tài)、業(yè)務內容和用戶行為等信息,并進行分類統(tǒng)計和存儲。業(yè)務識別是一個相對復雜的過程,需要多個功能模塊的協(xié)同工作,工作過程如圖3所示,簡要描述如下。
圖3 業(yè)務流識別器
業(yè)務識別模塊采用多通道識別處理,通過對流二元素(第一個元素:源端IP地址及端口號;第二個元素:目的端IP地址及端口號)的Hash算法,將網絡流量均勻的分配到多個處理通道中。多處理通道并行執(zhí)行網絡流量的深度報文檢查,獲取網絡流量的特征信息,并與業(yè)務識別特征庫中的特征進行比對。將匹配結果送往業(yè)務識別模塊,并標識特定網絡流量。如果存在多個匹配結果,選取優(yōu)先級較高的匹配結果進行標識。特定網絡流量一經識別確定,該網絡流量的后續(xù)連接將不再進行深度的報文檢查,直接將其網絡層和傳輸層信息與已知識別結果進行比對,提高執(zhí)行效率。業(yè)務識別模塊將網絡流量的業(yè)務識別結果存儲到識別結果存儲模塊中,為網絡流量的統(tǒng)計分析提供依據。統(tǒng)計分析模塊從識別結果存儲模塊中讀取相關信息,并以曲線、餅圖、柱狀圖或者文本的方式將識別結果信息顯示,或以文件的形式輸出[5]。
圖3所示的業(yè)務流識別器中,還擁有一個比較核心的模塊——二次識別模塊,該模塊提供二次識別機制。如果某一條業(yè)務流流經某業(yè)務識別模塊后,被標記為“不能識別”,那么還有進行第二次識別的機會。一條被標記為“不能識別”的業(yè)務流,不會被馬上送入結果存儲模塊中,而會被送入二次識別模塊中。二次識別模塊將該業(yè)務流的識別信息進行廣播發(fā)送,請求系統(tǒng)的其他識別節(jié)點協(xié)助進行識別。其他識別節(jié)點在接收到該識別節(jié)點發(fā)送來的請求后,查詢各自的業(yè)務識別結果,如果發(fā)現相關的業(yè)務流,那么就響應該節(jié)點。該節(jié)點在接收到響應后,準備就緒。其他識別節(jié)點在接收到就緒信號后將相關報文發(fā)送給該節(jié)點。該節(jié)點接收完所有相關報文以后,二次識別模塊對原來的業(yè)務流和接收到的相關報文進行重組,重組后的業(yè)務報文被再次送入到業(yè)務識別模塊進行業(yè)務識別。這樣所有識別節(jié)點相互合作,完成業(yè)務的識別,確保最大限度地識別出業(yè)務流。
網絡化業(yè)務流識別系統(tǒng)在路由器上進行了實驗,系統(tǒng)測試拓撲如圖4所示。PC0、PC1和PC2分別位于不同的局域網內,通過路由器相連。業(yè)務識別系統(tǒng)由路由器 0、路由器1和路由器2組成,業(yè)務識別節(jié)點分布于各個路由器之上。
圖4 系統(tǒng)測試示意圖
PC0、PC1和PC2上采用ethereal軟件抓包工具獲取真實流量數據,與網絡化業(yè)務流識別系統(tǒng)所識別出的報文統(tǒng)計數據進行比較。測試的協(xié)議類型包括 HTTP、FTP、RTP、BT,均使用任意端口號。以PC0和路由器0為例,識別結果統(tǒng)計數據如表1所示。
表1 基于IP網絡的網絡化業(yè)務流識別系統(tǒng)模型的測試結果
從實驗結果可以看出:業(yè)務識別率達到了99%以上;識別業(yè)務特征的關鍵報文越少、控制交互過程越簡潔,則識別率越接近 100%,符合網絡中業(yè)務流的真實情況。充分說明網絡化業(yè)務識別系統(tǒng)是正確的、完全可行的。
通過對現有業(yè)務識別技術的研究,在了解TCP/IP體系結構的基礎上,提出了一種基于IP網絡的網絡化業(yè)務流識別系統(tǒng)模型,并詳細給出了其設計方案。論文的主要工作及創(chuàng)新點是:提出了網絡化的業(yè)務識別系統(tǒng)模型,提出了第二次識別的思想,由多個業(yè)務識別節(jié)點相互合作,共同完成業(yè)務的識別,提高識別能力,實時性較好;給出了識別節(jié)點上的模型化識別方法,降低了系統(tǒng)復雜度,提高了識別效率。
基于網絡化的業(yè)務識別系統(tǒng)還有以下兩點需要進一步研究。一是業(yè)務識別方面,基于模型化的識別技術還有待深入研究,以實現對業(yè)務的更精確識別;二是系統(tǒng)應用方面,這種網絡化業(yè)務流識別系統(tǒng)模型還需要與現有 IP網絡設備逐步融合,考慮網絡形式以確定識別節(jié)點的分布等。
[1] 王蕊.張順頤.基于P2P的Skype與常規(guī)業(yè)務的流量分析和識別[J].通信技術,2007,40(05):42-45.
[2] 方鋮.Iur接口實現中的業(yè)務類型識別技術[J].通信技術,2008,41(04):162-164.
[3] 劉偉彥,鄒雪蘭,錢琦.下一代網絡中業(yè)務感知模型研究[J].中國新通信,2009(02):21-26.
[4] 馬科,田輝,石友康.業(yè)務識別與控制技術及其測試評估[J].現代電信科技,2008(10):22-29.
[5] 李洋.網絡流量盡在掌握[N].計算機世界,2009-01-19(028).