專利名稱:一種基于對等網絡的協(xié)議識別與控制系統(tǒng)的實現(xiàn)方法
技術領域:
本發(fā)明是一種針對對等網絡服務的協(xié)議識別與控制系統(tǒng),主要用來解決對等網絡的協(xié)議識別與控制問題,屬于對等網絡領域。
背景技術:
近幾年來Peer-to-Peer應用發(fā)展迅速并以迅雷不及掩耳之勢占領了多個應用領域以BitTorrent、Napster, eMule為代表的文件共享應用憑其自由、平等、開放的資源共享方式和高速的用戶下載體驗迅速成為主流的下載工具,以Skype、ICQ、MSN為代表的語音通信軟件憑借其流暢清晰的通話質量、低廉的通話費用使得網絡電話迅速普及,對電信業(yè)務構成巨大的沖擊,以PPlive、QQ直播、PPstream為代表的流媒體應用軟件憑借其清晰流暢的播放體驗、豐富多彩的節(jié)目內容使得網絡電視擺脫了帶寬瓶頸,從而成為視頻、電視節(jié)目、電影等多媒體資源新的發(fā)布平臺。伴隨著P2P應用的迅猛發(fā)展,其所帶來的負面影響也變得不容忽視。病毒、木馬借著P2P文件共享平臺從而能以更快的速度擴散,造成了更大的破壞;色情、暴力等不健康內容不受限制地分發(fā)共享;盜版音樂、影視作品輕松逃避法律制約;網絡帶寬被大量P2P數(shù)據吞噬,非P2P用戶的網絡體驗嚴重下降,企業(yè)關鍵應用得不到帶寬保證;傳統(tǒng)互聯(lián)網非對稱流量模型被打破,以此理論為基礎的包月收費方式不再合理, 使互聯(lián)網服務提供商的利益受到威脅。P2P應用,特別是文件共享、流媒體應用,不僅存在諸多此類問題,同時使用動態(tài)選取端口、偽裝其它流量、加密數(shù)據、匿名通信等策略逃避常規(guī)流量檢測機制,使得這些問題更加難以控制。據相關統(tǒng)計,迄今為止,P2P已經占據了互聯(lián)網70%以上的流量。研究P2P流量的識別與控制也就成為目前一個比較熱門的課題,而近幾年所現(xiàn)有 P2P流量識別和控制的算法、機制、解決方案都還存在種種缺陷現(xiàn)有的P2P流量識別常常需要提前預知P2P協(xié)議的具體信息,然而目前的P2P網絡新協(xié)議層出不窮,經常變化傳輸層端口進行通信,甚至于通過應用層加密來躲避檢測;現(xiàn)有的P2P流量控制也比較滯后性,并且人為因素比較多,不能做到更智能更準確合理的分配網絡帶寬,因此尚有較大的改進空間。從經濟效益上來說,協(xié)議識別與控制研究的成果將有著廣闊的市場前景。特別是在當前P2P應用日益廣泛,發(fā)展日新月異的時候,在享用P2P提供的各種內容共享服務的同時,P2P應用也給人們帶來許多的負面的問題,本文的研究成果將為節(jié)省網絡資源,提高帶寬利用率,保證網絡的動態(tài)平衡,使網絡有效地運轉提供有力的保障。從社會效益上來說, 協(xié)議識別與控制是當前P2P應用領域中亟待解決的熱點問題,本文研究的協(xié)議識別與控制方法試圖在這一問題的解決方面取得一定的突破。協(xié)議識別與控制研究可以促進目前的 P2P網絡向有序的方向發(fā)展,對于網絡管理者尤其是運營商來說,可以協(xié)調網絡資源的合理使用,并確保用戶享用穩(wěn)定、有QoS保障的P2P服務。因此將本文的研究成果轉化成產品將具有廣闊市場前景。同時本文的研究工作有利于控制P2P流量對網絡帶寬的過度搶占,也有助于維護互聯(lián)網的健康環(huán)境和營造一個和諧的網絡社會。
發(fā)明內容
技術問題本發(fā)明的目的是提供一種基于對等網絡的協(xié)議識別與控制系統(tǒng)的實現(xiàn)方法,對對等網絡的協(xié)議進行識別與控制。本發(fā)明相比以往的方案,該方案具有新穎性、靈活性、易擴展性和易操作性,具有很好的市場前景。技術方案本發(fā)明是集中的、可管的、可控的。該軟件的主要功能是識別和控制 P2P流量,其中內核模塊實現(xiàn)的識別系統(tǒng)和PTCM機制是核心部分。使用正則表達式匹配的方法識別未加密流量,不能識別的流量采用機器學習算法做分類,同時將匹配的P2P流量進行哈希標識,這樣就達到了 DPI和TLI兩種方式相結合的目的,然后將分類過的流量送入 PTCM機制進行智能控制策略的生成,最后通過消息機制將控制策略發(fā)給網橋系統(tǒng),網橋系統(tǒng)根據控制策略控制自帶的TC。協(xié)議分析邏輯功能主要由以下幾個部分組成非加密報文識別模塊、加密報文識別模塊、PTCM機制模塊和報文控制功能的邏輯模塊。該協(xié)議分析系統(tǒng)實現(xiàn)方法包括的步驟為步驟1).進行需求分析,對協(xié)議識別與控制系統(tǒng)需要完成的功能進行分析,并生成需求分析文檔;步驟2).按照步驟1的分析文檔設計模塊,對各模塊的功能進行詳細分析,生成各個模塊之間的邏輯關系和功能說明文檔;步驟3).按照步驟2的文檔,設計與實現(xiàn)協(xié)議識別與控制系統(tǒng)的非加密報文識別模塊和加密報文識別模塊,在協(xié)議分析系統(tǒng)中識別效率,影響著整個系統(tǒng)的工作效率,報文識別模塊根據報文長度以及固定位特征字來協(xié)議識別對等網絡中一些非加密的網絡報文;步驟4).按照步驟2的文檔,設計與實現(xiàn)協(xié)議識別與控制系統(tǒng)將識別后的非加密報文以及加密報文進行哈希,打上標簽后,傳送給PTCM機制模塊;步驟5).按照步驟2的文檔,設計與實現(xiàn)協(xié)議識別與控制系統(tǒng)的PTCM機制功能, 該模塊根據識別的P2P流量進行預測,然后生成智能的流量控制策略。步驟6).按照步驟2的文檔,設計與實現(xiàn)協(xié)議分析系統(tǒng)的報文控制功能,該模塊實現(xiàn)將非加密和加密報文識別模塊與PTCM機制生成的控制策略通過消息機制發(fā)往報文控制系統(tǒng),從而報文控制系統(tǒng)根據接受到的控制策略合理分配網絡帶寬。有益效果本發(fā)明提取一個針對對等網絡協(xié)議報文的識別與控制系統(tǒng)的實現(xiàn)方法,相比以往的方法有一些顯著的優(yōu)點識別效率高本發(fā)明在網絡層進行報文識別,縮短報文識別路徑,同時本發(fā)明只識別上行流量,對下行流量不進行處理,減輕CPU的處理壓力,提高報文的識別效率。同時對加密報文和非加密報文進行分開處理,使得報文的識別準確率達到100%,不會出現(xiàn)漏判、 誤判等情況,而傳統(tǒng)的在路由器上進行識別的方式一般僅能達到90% 95%的識別命中率。模塊化設計整個協(xié)議識別與控制系統(tǒng)的按照功能模塊進行劃分,非加密報文識別功能采用深層掃描DPI技術,根據報文的特征字來協(xié)議識別相關報文。加密報文識別功能采用機器學習分類算法進行分類識別。PTCM機制則是機器學習中的時間序列算法對P2P流量進行預測,從而生成智能的流量控制策略。報文控制功能根據流量控制策略,對網絡帶寬進行合理分配。良好的系統(tǒng)擴展性由于系統(tǒng)模塊之間采用的是獨立模塊化,功能并行層次化設計,系統(tǒng)模塊之間的通信機制完全采用層次化的結構,因此可以方便地添加新的功能,也可以很容易地升級現(xiàn)有的功能,所以該系統(tǒng)擁有良好的可擴展性。高度的可靠性和穩(wěn)定性通過對協(xié)議識別與控制系統(tǒng)的單元測試表明該協(xié)議分析系統(tǒng)運行狀況良好,占用系統(tǒng)資源少,擁有良好的容錯機制以及災難恢復能力。
圖1是協(xié)議識別與控制系統(tǒng)的物理組網圖,圖2是非加密報文識別模塊的流程圖,圖3是加密報文識別模塊的原理圖,圖4是PTCM機制模塊的原理圖,
具體實施例方式體系結構非加密報文識別功能基于應用層數(shù)據檢測的P2P流量識別技術是通過協(xié)議分析與還原技術,提取P2P應用層數(shù)據(即P2P載荷),通過分析P2P載荷所包含的協(xié)議特征值, 來判斷是否屬于P2P應用。因此,這類方法也叫做深層數(shù)據包檢測技術(DPI)。在深層數(shù)據包檢測技術中,通過對具體的P2P協(xié)議及其對應的P2P系統(tǒng)的載荷進行特征提取,建立特征庫。對于流經的實時網絡流,采用模式匹配算法,判斷其中是否包含特征庫中的特征串。如果特征匹配成功,該網絡流就是P2P數(shù)據。本發(fā)明的報文識別部分即采用DPI掃描技術,根據固定位特征字來協(xié)議識別阿瑞斯特定網絡服務中的哈希搜索報文以及一些相關交互報文。加密報文識別功能由于加密報文的復雜性,采用基于應用層數(shù)據檢測的P2P流量識別技術已經不再有效,所以要采用機器學習中的分類算法進行報文識別,本模塊首先采集數(shù)據,得到訓練樣本,再通過流量屬性選擇算法以及機器學習算法建立模型,然后導出模型,然后再通過導出模型實時地對數(shù)據報文進行識別分類,分類成功的P2P流量進行哈希標識,然后將其傳送給PTCM模塊;識別出的非P2P流量將丟掉不做任何處理。PTCM機制功能PTCM機制主要實現(xiàn)P2P流量控制策略的生成,該機制通過對識別后的P2P流量進行合理的預測,再進行流量上下門限值的計數(shù),智能的調整最大和最小帶寬,并最終將生成的智能控制策略通過消息機制發(fā)送給網橋系統(tǒng),網橋系統(tǒng)根據控制策略智能的分配網絡帶寬。方法流程該部分詳細說明發(fā)明內容各個部分的設計與實現(xiàn)非加密報文識別功能實現(xiàn)利用Linux netfilter里的TCP/IP協(xié)議棧的關鍵數(shù)據結構Socket Buffer (sk_buff),來操作流經的數(shù)據。如果是報文分片的,或是無連接數(shù),則返回無操作。當一個報文流經第一個鉤子函數(shù)NF_IP_PRE_ROUTING,會被送到內存的控制結構sk_buff中暫時存儲。在這個控制結構里,有個指向網絡報文的指針(如slib->nh),首先識別報文是否為TCP報文,再根據sk_bufT結構提供的網絡層和傳輸層頭部的大小,slA- > nh加上之前兩者的頭部長度,指針就指向了應用層數(shù)據的頭部(如Appdata指針)。sk_ buff里還提供數(shù)據包的總長度,通過減去網絡層和傳輸層頭部的大小,就能得到應用層數(shù)據的長度。上述準備工作完成后,就可以通過Appdata指針來比對需要識別的ares報文, 也就是通過對報文長度和固定位進行匹配來確定。sk_buff里存儲的是網絡字節(jié)序,所以比對時需要用到_(30仙{3壯_社0118()或_(30仙{3壯_社0111 ()來統(tǒng)一網絡字節(jié)序和主機字節(jié)序。本發(fā)明需要識別對等網絡中的協(xié)議報文,判斷是否為P2P報文,不是則不作處理。加密報文識別功能實現(xiàn)本發(fā)明針對加密的P2P報文,本模塊首先通過采集機采集數(shù)據,得到訓練樣本,再通過流量屬性選擇算法以及機器學習算法建立模型,然后導出模型,然后再對實時的數(shù)據進行識別分類。在網絡應用中,一個流通常被定義為是用一個特定的協(xié)議即TCP,UDP, ICMP中的一個,有時還有一對特定的端口在兩個計算機IP地址之間進行傳送一個或多個IP數(shù)據包。 這個五元組信息(源IP地址,目的IP地址,源端口,目的端口,協(xié)議類型)構成了區(qū)分一個流的標志。這些信息存在于每一個IP數(shù)據包中。流量的特征通常被認為是識別和區(qū)分未來的未知網絡流量的,特征通常是通過計算大量的數(shù)據包而得到的流量的屬性。比如像在一個方向上的最大或最小的包長度、流的持續(xù)時間、中間包的到達時間等一系列值。最原始的流在流量識別中是不可用的,可用的是描述流的一系列屬性。這些屬性包括流的源端和目標端的端口號和流量的行為特征等,這些屬性可用于將不同的流量分類,但是使用全部的屬性進行學習分類是非常不可取的,而是需要從眾多的屬性中挑選出有益于流量準確分類的屬性,去除不相關的和冗余的屬性,這個過程就稱為屬性選擇。而屬性選擇算法可以用來選擇有利于流量準確分類的屬性。本文發(fā)明設計的流量屬性特征計算系統(tǒng)Fullstats是建立在Linux環(huán)境下的。該系統(tǒng)通過命令行格式,可以很方便地實現(xiàn)從原始網絡數(shù)據包到屬性特征值文件的轉換過程。流量屬性特征的計算過程可以分為以下四步(1)用網絡嗅探器抓取網絡數(shù)據包;(2)將抓取的數(shù)據包按流(五元組信息相同的屬同一個流)分類,每個流包含若干數(shù)據包;(3)統(tǒng)計每個流的屬性特征,并計算出248個屬性特征值;(4)將得到的屬性特征值做一些格式轉化,變成需要的文件格式。按照上述4個步驟,利用Linux環(huán)境下的四個軟件完成了計算系統(tǒng)Fullstats。這四個軟件分別為Tcpdemux 流的多路分離器,用于將由嗅探器抓到的數(shù)據分流,它將為每個流產生一個新文件。Tcptrace 該軟件能分析被捕獲流的特征,并產生豐富的統(tǒng)計值,即特征值。Tcpdump =Linux下優(yōu)秀的嗅探器,即網絡抓包工具,過濾功能也很強大。
Tcpslice 提取部分"Tcpdump文件,或粘合這些文件。前文中的步驟1由Tcpdump完成,步驟2由Tcpdemux完成,Tcpdump,Tcptrace, Tcpslice共同完成步驟3。PTCM機制功能本發(fā)明設計生成智能控制策略,建立的P2P流量控制算法主要包括時間序列模型預測、預測流量比對和根據計數(shù)器調整控制策略。1)用C編程將時間序列預測模型進行程序實現(xiàn);2)設定用戶的最大寬帶值BS、突發(fā)流量的上限最大值uBS、下限最小值dMS、穿越上下門限值計數(shù)器uCount和dCount,其中dMS < uBS < BS ;3)根據FARIMA模型預測出P2P流量下一個Δ t時間內的流量值Q,t ;4)當?shù)谝粋€Δ t時刻的P2P流量的預測值產生時,計時器則開始計時;5)如果Q, t大于uBS,計數(shù)值uCount增加一;如果Q,t小于dMS,計數(shù)值dCount減 6)當在 m 個 At 時間段內,如果 uCount > dCount 時,則 uBS 提高(uCount-dCount) 個等級dn,而dMS降低(uCount-dCount)個等級dn,且滿足dMS < uBS < BS ;如果uCount < dCount 時,則 uBS 下降(dCount-uCount)個等級 dn,而 dMS 上升(dCount-uCount)個等
,BS-dMS
級dn,且滿足dMS < uBS < BS。其中等級< =-
η
權利要求
1. 一種基于對等網絡的協(xié)議識別與控制系統(tǒng)的實現(xiàn)方法,其特征在于該方法包括的步驟為步驟1).進行需求分析,對協(xié)議識別與控制系統(tǒng)需要完成的功能進行分析,并生成需求分析文檔;步驟2).按照步驟1)的分析文檔設計模塊,對各模塊的功能進行詳細分析,生成各個模塊之間的邏輯關系和功能說明文檔;步驟3).按照步驟2)的文檔,設計與實現(xiàn)協(xié)議識別與控制系統(tǒng)的非加密報文識別模塊和加密報文識別模塊,在協(xié)議分析系統(tǒng)中識別效率,影響著整個系統(tǒng)的工作效率,報文識別模塊根據報文長度以及固定位特征字來協(xié)議識別對等網絡中一些非加密的網絡報文;步驟4).按照步驟2)的文檔,設計與實現(xiàn)協(xié)議識別與控制系統(tǒng)將識別后的非加密報文以及加密報文進行哈希,打上標簽后,傳送給生成智能控制策略的對等網絡流量控制模塊 PTCM ;步驟5).按照步驟2)的文檔,設計與實現(xiàn)協(xié)議識別與控制系統(tǒng)的PTCM機制功能,該模塊根據識別的對等網絡流量進行預測,再進行流量上下門限值的計數(shù),智能的調整最大和最小帶寬,然后生成智能的流量控制策略;步驟6).按照步驟2)的文檔,設計與實現(xiàn)協(xié)議分析系統(tǒng)的報文控制功能,該模塊實現(xiàn)將非加密和加密報文識別模塊與PTCM機制生成的控制策略通過消息機制發(fā)往報文控制系統(tǒng),從而報文控制系統(tǒng)根據接受到的控制策略合理分配網絡帶寬。
全文摘要
本發(fā)明的目的是提供一種基于機器學習的P2P流量識別與控制系統(tǒng)及其實現(xiàn)方法。目前P2P流量成為網絡負擔的問題,可以通過對P2P流量的識別進而有效地控制,可以大大降低P2P流量帶來的資源帶寬壓力。該軟件的主要功能是檢測和控制P2P流量,其中內核模塊實現(xiàn)的檢測系統(tǒng)和PTCM機制是核心部分。使用正則表達式匹配的方法識別未加密流量,不能識別的流量采用集成學習算法做分類,同時將匹配的P2P流量進行哈希標識,這樣就達到了DPI和TLI兩種方式相結合的目的,然后將分類過的流量送入PTCM機制進行智能控制策略的生成,最后通過消息隊列控制LINUX系統(tǒng)里自帶的TC功能模塊。
文檔編號H04L29/08GK102571946SQ20111044936
公開日2012年7月11日 申請日期2011年12月28日 優(yōu)先權日2011年12月28日
發(fā)明者孫力娟, 李致遠, 林巧民, 王汝傳, 肖甫, 趙丹, 邵星, 韓志杰, 顧翔, 黃海平 申請人:南京郵電大學