專利名稱:基于用戶終端ip的第三代移動通信核心網(wǎng)數(shù)據(jù)分流方法
技術(shù)領(lǐng)域:
本發(fā)明涉及第三代移動互聯(lián)核心網(wǎng)(也稱3G核心網(wǎng))鏈路下的高速網(wǎng)絡(luò)流量監(jiān)控領(lǐng)域,特別是涉及一種根據(jù)用戶終端網(wǎng)絡(luò)互聯(lián)協(xié)議IP (Internet Protocol)地址進(jìn)行核心網(wǎng)數(shù)據(jù)分流的方法。
背景技術(shù):
在中國,移動互聯(lián)網(wǎng)通信經(jīng)歷了兩代的發(fā)展之后,第三代移動通信3G (3rdGeneration)已經(jīng)成熟并開始商用,3G的目標(biāo)是為用戶提供質(zhì)量更佳的移動語音、寬帶移動數(shù)據(jù)和移動多媒體服務(wù),提供更大的系統(tǒng)容量和更高的頻譜利用率,滿足人們對通信個性 化的需求。目前 3G 的主流技術(shù)標(biāo)準(zhǔn)包括 CDMA2000 (Code Division Multiple Access2000,石馬分多址 2000),WCDMA (Wideband Code Division Multiple Access,寬帶碼分多址)和TD-SCDMA (Time Division-Synchronous Code Division Multiple Access,時分同步碼分多址),可以說三種技術(shù)標(biāo)準(zhǔn)在實際應(yīng)用中各有所長。但不管是哪種技術(shù)標(biāo)準(zhǔn),最終的應(yīng)用目的都是讓移動終端與Internet相連。隨著3G移動互聯(lián)網(wǎng)的不斷普及,以往許多只在固網(wǎng)互聯(lián)網(wǎng)絡(luò)中發(fā)生的安全事件正不斷地向移動互聯(lián)網(wǎng)絡(luò)中蔓延,針對移動互聯(lián)網(wǎng)用戶的攻擊手段正呈現(xiàn)出層出不窮的趨勢。因此對3G核心網(wǎng)中的流量進(jìn)行采集并分析,以對攻擊行為進(jìn)行監(jiān)測和追蹤變得十分有意義。CDMA2000核心網(wǎng)絡(luò)主要由PCF (Packet ControlFunction,分組控制功能)節(jié)點和F1DSN (Packet Data Serving Node,分組數(shù)據(jù)服務(wù)節(jié)點)組成。兩者之間的接口稱為AlO和All接口 ;鏈接PCF和I3DSN的邏輯鏈路分為上行鏈路和下行鏈路,上行鏈路為PCF端往I3DSN端通信的鏈路,下行鏈路為I3DSN端往PCF端通信的鏈路。所有經(jīng)過AlO接口的數(shù)據(jù)報文都會被加上GRE(Generic Routing Encapsulation,通用路由封裝協(xié)議)隧道封裝,以進(jìn)行隧道傳輸。同時根據(jù)PCF端和roSN端協(xié)商的結(jié)果,數(shù)據(jù)報文會存在VJ (Van Jacobson,壓縮TCP協(xié)議)數(shù)據(jù)報文,MPPC (MicrosoftPoint-To-Point Compression,微軟點對點壓縮)數(shù)據(jù)報文,以及不可避免的分片報文,因此在分流前必須對其進(jìn)行解封裝、解壓縮以及分片重組的處理,以還原最初的用戶數(shù)據(jù)報文。WCDMA和TD-SCDMA在核心網(wǎng)域采用了相同的構(gòu)建方式,兩者核心網(wǎng)絡(luò)結(jié)構(gòu)相同。WCDMA和TD-SCDMA核心網(wǎng)絡(luò)主要由GPRS服務(wù)支持節(jié)點(SGSN)和網(wǎng)關(guān)GPRS支持節(jié)點(GGSN)組成,這里的GPRS指General Packet Radio Service,即通用分組無線服務(wù)技術(shù)。兩者之間的接口稱為Gn接口 ;鏈接SGSN和GGSN的邏輯鏈路也分為上行鏈路和下行鏈路,上行鏈路為SGSN端往GGSN端通信的鏈路,下行鏈路為GGSN端往SGSN端通信的鏈路。所有經(jīng)過Gn接口的數(shù)據(jù)報文都會被加上GTP (GPRS Tunnel Protocol,GPRS隧道協(xié)議)隧道封裝,以進(jìn)行隧道傳輸。與CDMA2000協(xié)議不同的是,在WCDMA或TD-SCDMA協(xié)議中傳輸?shù)臄?shù)據(jù)報文,只需要對其進(jìn)行解封裝和分片重組的處理,不需要解壓縮,以還原最初的用戶數(shù)據(jù)報文。高速流量監(jiān)控設(shè)備均放置在三大主流技術(shù)標(biāo)準(zhǔn)核心網(wǎng)域接口處。高速流量監(jiān)控設(shè)備一般由前端數(shù)據(jù)處理分流設(shè)備和多個后端分析系統(tǒng)組成。前端數(shù)據(jù)處理分流設(shè)備與3G核心網(wǎng)和多個后端分析系統(tǒng)通過光纖相連,對從3G核心網(wǎng)鏈路進(jìn)入的報文進(jìn)行預(yù)處理并對報文分流。前端數(shù)據(jù)處理分流設(shè)備由解封裝模塊和分流模塊組成。解封裝模塊與3G核心網(wǎng)鏈路以及分流模塊相連,對鏈路上所有的數(shù)據(jù)報文進(jìn)行解封裝、解壓縮以及分片重組的處理,然后將處理完成的報文發(fā)送給分流模塊。分流模塊與解封裝模塊以及后端分析系統(tǒng)相連,對經(jīng)過解封裝模塊處理的報文按需求進(jìn)行分流,最后將分流完成的報文發(fā)送給后端分析系統(tǒng)。后端分析系統(tǒng)對前端數(shù)據(jù)處理分流設(shè)備輸出的報文進(jìn)一步分析,實現(xiàn)網(wǎng)絡(luò)行為審計、網(wǎng)絡(luò)內(nèi)容審計和入侵檢測。然而隨著核心網(wǎng)鏈路速度的不斷提升,這種高速流量監(jiān)控系統(tǒng)往往需要較多的后端分析系統(tǒng)來完成對龐大用戶數(shù)據(jù)量的并行分析監(jiān)測,同時為了不丟失任何的有用信息,還需要保證用戶數(shù)據(jù)流具有“流完整性”,即將屬于同一用戶的所有數(shù)據(jù)流都分發(fā)到同一臺后端分析系統(tǒng)上。因此,這就需要一種新的分流方式將從前端數(shù) 據(jù)處理分流設(shè)備捕獲的用戶數(shù)據(jù)報文準(zhǔn)確地按用戶均勻地分流到每一臺后端分析系統(tǒng)中,以實現(xiàn)監(jiān)測還原的效率最大化。目前3G核心網(wǎng)用戶數(shù)據(jù)分流方法主要是根據(jù)五元組規(guī)則進(jìn)行分流,即根據(jù)報文的源IP地址、目的IP地址、源端口、目的端口和協(xié)議號進(jìn)行用戶數(shù)據(jù)報文的分流,使用的算法主要為散列算法。所謂散列算法,又稱為哈希算法,是一種基本的數(shù)據(jù)索引方法,也是當(dāng)前設(shè)備在處理3G核心網(wǎng)數(shù)據(jù)報文后將其分流到后端分析設(shè)備的一種主要分流算法。它建立一個從報文的關(guān)鍵字集合到散列表地址集合的映射,即在散列表地址和報文的關(guān)鍵字之間建立一個確定的對應(yīng)關(guān)系f,使每個關(guān)鍵字和一個唯一的存儲位置(即散列表地址)相對應(yīng)。在查找時,首先根據(jù)這個對應(yīng)關(guān)系f查找給定關(guān)鍵字K的映射f (K),若散列表中存在和f (K)相等的記錄,則關(guān)鍵字K必定在f (K)的存儲位置上。由此,不需要進(jìn)行比較便可直接取得所查記錄,映射f (K)就是哈希函數(shù)。根據(jù)f (K)即可由關(guān)鍵字K確定f (K)在散列表中的唯一存放地址。因為一段明文在經(jīng)過哈希映射后將產(chǎn)生唯一的值,在計算上不存在哈希為同一值的不同輸入,所以在網(wǎng)絡(luò)分流設(shè)備中,這個關(guān)鍵字K通常被設(shè)置為報文的源IP地址、目的IP地址、端口號等數(shù)據(jù)報文的重要信息,產(chǎn)生一個較小的二進(jìn)制值后再與后端分析設(shè)
備的MAC (Medium/Media Access Control,介質(zhì)訪問控制)地址進(jìn)行--對應(yīng),達(dá)成分流效
果。圖2為基于散列算法的數(shù)據(jù)報文五元組分流方法,步驟如下第一步,高速流量監(jiān)控設(shè)備初始化,分流模塊建立表項為M項的哈希表,M是設(shè)備管理員根據(jù)后端分析系統(tǒng)的數(shù)量。哈希表的每個表項包括索引值、MAC地址值兩個域,索引值域表明MAC地址在表中的位置,MAC地址值用來存放設(shè)備管理員輸入的目的MAC地址,每個目的MAC地址對應(yīng)一臺后端分析系統(tǒng)。同時,分流模塊建立表項為L項的五元組地址表,L由設(shè)備管理員根據(jù)存儲空間的大小決定。五元組地址表的每個表項包括ID號、源IP地址域、目的IP地址域、源端口域、目的端口域和協(xié)議域五個域,ID號表明存放的五元組信息在五元組地址表中的位置,其余五個域用來存放從數(shù)據(jù)報文中提取出的五元組信息。第二步,解封裝模塊接收來自3G核心網(wǎng)鏈路的原始數(shù)據(jù)報文,對原始數(shù)據(jù)報文進(jìn)行解封裝、解壓縮及分片重組,還原其封裝內(nèi)的用戶數(shù)據(jù)報文,將還原后的用戶數(shù)據(jù)報文發(fā)送給分流模塊。第三步,分流模塊中的分流軟件從還原后的用戶數(shù)據(jù)報文中提取出五元組信息即源IP地址、目的IP地址、源端口號、目端口號以及協(xié)議號,將五元組信息寫入五元組地址表中。第四步,分流軟件根據(jù)分流需求(分流需求通過指令下達(dá)給分流軟件,如要求按源IP地址進(jìn)行分流),從五元組地址表中提取出與分流要求對應(yīng)的源IP地址。第五步,分流軟件對源IP地址進(jìn)行哈希運(yùn)算得到哈希值,將此哈希值與哈希表項數(shù)N的二進(jìn)制數(shù)進(jìn)行與運(yùn)算,得到針對此源IP的索引值,然后將此索引值與哈希表中的每一個索引值域進(jìn)行比較,得到此索引值域所對應(yīng)的MAC地址。第六步,分流軟件根據(jù)第五步對應(yīng)的MAC地址值給數(shù)據(jù)報文填上目的MAC地址,將 報文發(fā)送到目的MAC地址所對應(yīng)的的后端分析設(shè)備,返回第三步繼續(xù)接收下一個報文。根據(jù)上文所述,3G核心網(wǎng)的邏輯鏈路分為上行鏈路和下行鏈路,上行鏈路報文為PCF端發(fā)往roSN端的報文(或SGSN端往GGSN端的報文),即用戶終端發(fā)往Internet網(wǎng)絡(luò)的報文;下行鏈路為I3DSN端發(fā)往PCF端的報文(或GGSN端往SGSN端的報文),即Internet網(wǎng)絡(luò)回復(fù)給用戶終端的報文。由此可知上行鏈路報文的源IP地址和下行鏈路報文的目的IP地址都為用戶終端IP。如果采用五元組的分流方式,只能保證所有相同五元組內(nèi)容的報文進(jìn)入同一臺后端分析系統(tǒng),而無法區(qū)別用戶。即假設(shè)有一條用戶數(shù)據(jù)流在用戶終端IP地址A和Internet地址B之間進(jìn)行通信,因為鏈路分為上行鏈路和下行鏈路,在上行鏈路中用戶終端IP地址A出現(xiàn)在源IP地址域,而在下行鏈路中用戶終端IP地址A則出現(xiàn)在了目的IP地址域,同理Internet地址B也是這樣。采用五元組的分流方法時,因為A和B的值不可能相等,得到的哈希值也肯定不一樣,因此分流時通過哈希值經(jīng)過與運(yùn)算獲取的索引值很可能不一樣,那么得到的MAC地址就會不同,從而使兩個方向的報文被分流到不同的后端分析設(shè)備中,若是A請求向B發(fā)送報文,若B收到報文,則B會向A發(fā)送響應(yīng)報文,這種情況下A到B和B到A這兩個通行方向的報文都應(yīng)該屬于用戶終端IP地址A。因此使用五元組的分流方法將無法保證將屬于同一用戶的數(shù)據(jù)報文都分流到同一臺后端分析設(shè)備中,這將導(dǎo)致每臺分析設(shè)備在還原用戶數(shù)據(jù)內(nèi)容時因只獲取了部分用戶數(shù)據(jù)而失去用戶數(shù)據(jù)報文之間的關(guān)聯(lián)性,從而無法完整還原用戶信息。因此,如何使得屬于同一用戶的所有數(shù)據(jù)準(zhǔn)確完整地分流到同一臺后端分析設(shè)備是3G核心網(wǎng)數(shù)據(jù)處理分流領(lǐng)域急于解決的技術(shù)問題。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種高速、可靠的數(shù)據(jù)分流方法,能夠?qū)⑺袛?shù)據(jù)報文按用戶IP地址均勻分流到與該用戶IP地址對應(yīng)的后端分析設(shè)備中,使得后端分析設(shè)備能夠獲取每一條完整的用戶數(shù)據(jù)流,從而保證用戶數(shù)據(jù)還原的準(zhǔn)確性。為實現(xiàn)上述分流的目的,本發(fā)明的技術(shù)方案是第一步,改進(jìn)高速流量監(jiān)控設(shè)備中的前端數(shù)據(jù)處理分流設(shè)備,前端數(shù)據(jù)處理分流設(shè)備與3G核心網(wǎng)和多個后端分析系統(tǒng)通過光纖相連。前端數(shù)據(jù)處理分流設(shè)備的改進(jìn)方法是1.1在前端數(shù)據(jù)處理分流設(shè)備增加學(xué)習(xí)模塊和上下行判定模塊1.1.1學(xué)習(xí)模塊與3G核心網(wǎng)鏈路和上下行判定模塊相連,從3G核心網(wǎng)鏈路獲取用戶數(shù)據(jù)報文和各類控制報文,對All接口控制報文和Gn接口控制報文中攜帶的I3DSN或GGSN地址進(jìn)行提取并存儲,并將所有報文發(fā)送給上下行判定模塊。當(dāng)3G核心網(wǎng)是CDMA2000核心網(wǎng)鏈路時,學(xué)習(xí)模塊初始化時構(gòu)建一張表項為N的I3DSN地址表,然后獲取CDMA2000核心網(wǎng)鏈路中控制報文攜帶的I3DSN地址,并將其儲存到I3DSN地址表中;當(dāng)3G核心網(wǎng)是WCDMA或TD-SCDMA核心網(wǎng)鏈路時,學(xué)習(xí)模塊初始化時構(gòu)建一張表項為N的GGSN地址表,然后獲取WCDMA或TD-SCDMA核心網(wǎng)鏈路中控制報文攜帶的GGSN地址,并將其存儲到GGSN地址表中。PDSN或GGSN地址表的項數(shù)N根據(jù)實際鏈路情況決定,N為正整數(shù)且128彡N彡32。PDSN或GGSN地址表的每個表項由ID號和地址值兩個域組成,ID號表明每個I3DSN或GGSN地址在表中的位置,地址值用來存放學(xué)習(xí)到的控制報文中攜帶的I3DSN或GGSN地址。1.1. 2上下行判定模塊與學(xué)習(xí)模塊和解封裝模塊相連,上下行判定模塊從學(xué)習(xí)模塊獲得報文后,對所有報文進(jìn)行鏈路上下行狀態(tài)的判定,并將經(jīng)過判定的數(shù)據(jù)報文發(fā)送給解封裝模塊。1. 2改進(jìn)分流模塊去掉五元組地址表,分流模塊由哈希表和分流軟件組成。在分 流軟件中增加對所有報文用戶終端IP的判定功能,并在哈希運(yùn)算時采用用戶終端IP作為關(guān)鍵字進(jìn)行查表,不再使用五元組規(guī)則。分流模塊在初始化時在存儲空間內(nèi)建立表項為M項的哈希表用于存儲目的MAC地址,M等于后端分析設(shè)備的數(shù)目。哈希表與背景技術(shù)基于散列算法的數(shù)據(jù)報文五元組分流方法中的相同。第二步,前端數(shù)據(jù)處理分流設(shè)備初始化2.1初始化學(xué)習(xí)模塊構(gòu)建表項為N項的I3DSN或GGSN地址表。2. 2初始化分流模塊初始化哈希表,將每臺后端分析設(shè)備的MAC地址寫入哈希表的MAC地址值域。第三步,學(xué)習(xí)模塊接收來自3G核心網(wǎng)鏈路的用戶數(shù)據(jù)報文和各類控制報文,若3G核心網(wǎng)鏈路是CDMA2000核心網(wǎng)鏈路,對All接口控制報文中的I3DSN地址進(jìn)行提取并存儲,若3G核心網(wǎng)鏈路是WCDMA或TD-SCMDA核心網(wǎng)鏈路,則對Gn接口控制報文中攜帶的GGSN地址進(jìn)行提取并存儲,并將所有報文發(fā)送給上下行判定模塊,流程如下3.1從3G核心網(wǎng)接收報文并判定報文類型。如果是數(shù)據(jù)報文或其它控制報文(指All接口控制報文和Gn接口控制報文以外的控制報文),轉(zhuǎn)3. 5 ;如果是All接口控制報文或Gn接口控制報文,轉(zhuǎn)3. 2。3. 2如果與學(xué)習(xí)模塊相連的是CDMA2000核心網(wǎng)鏈路,學(xué)習(xí)模塊提取下一個到達(dá)的All接口控制報文中攜帶的roSN地址,如果與學(xué)習(xí)模塊相連的是WCDMA或TD-SCDMA核心網(wǎng)鏈路,學(xué)習(xí)模塊則提取下一個到達(dá)的Gn接口控制報文中攜帶的GGSN地址。3. 3如果與學(xué)習(xí)模塊相連的是CDMA2000核心網(wǎng)鏈路,學(xué)習(xí)模塊將提取到的I3DSN地址與rosN地址表中的每一個表項進(jìn)行比對,如果有任何一個表項跟提取到的rosN地址相同,則返回步驟3.1;如果跟所有表項都不匹配,則將此rosN地址寫入rosN地址表中尚空缺的表項中,轉(zhuǎn)3. 5。3. 4如果與學(xué)習(xí)模塊相連的是WCDMA或TD-SCDMA核心網(wǎng)鏈路,學(xué)習(xí)模塊將提取到的GGSN地址與GGSN地址表中的每一個表項進(jìn)行比對,如果有任何一個表項跟提取到的GGSN地址相同,則返回步驟3.1 ;如果跟所有表項都不匹配,則將此GGSN地址寫入GGSN地址表中尚空缺的表項中,執(zhí)行3. 5。
3. 5將報文發(fā)送給上下行判定模塊,轉(zhuǎn)第四步。第四步,上下行判定模塊收到來自學(xué)習(xí)模塊的報文后,判定報文是上行鏈路報文還是下行鏈路報文,并將判定結(jié)果寫入該報文源MAC地址的特定位中,流程如下4.1接收報文,提取報文中的源IP地址和目的IP地址。4. 2如果與學(xué)習(xí)模塊相連的是CDMA2000核心網(wǎng)鏈路,將報文的源IP地址和目的IP地址與學(xué)習(xí)模塊中rosN地址表中的每一個表項的地址值域進(jìn)行逐項比對。4. 3如果發(fā)現(xiàn)報文的源IP地址與I3DSN地址表中的I3DSN地址匹配,說明此報文為下行鏈路報文,將此報文的源MAC地址中的任意兩個比特位寫為下行特定值,可為0x01,轉(zhuǎn)步驟4. 8。·4. 4如果發(fā)現(xiàn)報文的目的IP地址與表中的I3DSN地址匹配,說明此報文為上行鏈路報文,將此報文的源MAC地址中的任意兩個比特位寫為上行特定值,上行特定值可為0x10,轉(zhuǎn)步驟4. 8。4. 5如果與學(xué)習(xí)模塊相連的是WCDMA或TD-SCDMA核心網(wǎng)鏈路,將報文的源IP地址和目的IP地址與學(xué)習(xí)模塊中GGSN地址表中的每一個表項的地址值域進(jìn)行逐項比對。4. 6如果發(fā)現(xiàn)報文的源IP地址與GGSN地址表中的GGSN地址匹配,說明此報文為下行鏈路報文,將此報文的源MAC地址中的兩個比特位寫為下行特定值,可為0x01,轉(zhuǎn)步驟4. 8。4. 7如果發(fā)現(xiàn)報文的目的IP地址與表中的GGSN地址匹配,說明此報文為上行鏈路報文,將此報文的源MAC地址中的兩個比特位寫為上行特定值,上行特定值可為0x10,轉(zhuǎn)步驟 4. 8。 4. 8將報文發(fā)往解封裝模塊。第五步,由于3G核心網(wǎng)鏈路上的報文除All接口控制報文和Gn接口控制報文外都被加上了一層特定的隧道封裝(這種報文稱為封裝報文),為了完整還原用戶本身的數(shù)據(jù)內(nèi)容,解封裝模塊接收來自上下行判定模塊的所有報文,對封裝報文進(jìn)行解封裝、解壓縮及分片重組,還原其封裝內(nèi)的報文,將還原后的報文送給分流模塊。對于All接口控制報文和Gn接口控制報文,因其沒有隧道封裝,將不作任何處理直接發(fā)送至分流模塊。解封裝模塊的結(jié)構(gòu)與工作流程與背景技術(shù)基于散列算法的數(shù)據(jù)報文五元組分流方法中的一樣。第六步,分流模塊收到從經(jīng)過解封裝處理的報文后,先進(jìn)行報文中用戶終端IP的判定,再按照用戶終端IP對所有報文進(jìn)行分流,流程如下6.1收到來自解封裝模塊的報文后,分流軟件首先根據(jù)被上下行判定模塊寫為特定值的比特位來判斷報文的源IP地址和目的IP地址哪個是用戶終端IP地址,方法如下6.1.1如果特定值的比特位中寫入的是上行特定值,可知此報文為用戶終端發(fā)往Internet網(wǎng)絡(luò)的報文,判定此報文的源IP地址即為用戶終端IP地址,轉(zhuǎn)6. 2。6.1.1如果特定值的比特位中寫入的是下行特定值,可知此報文為Internet網(wǎng)絡(luò)回復(fù)給用戶終端的報文,判定此報文的目的IP地址即為用戶終端IP地址,轉(zhuǎn)6. 2。6. 2分流軟件對得到的用戶終端IP地址進(jìn)行哈希運(yùn)算得到哈希值,將此哈希值與哈希表項數(shù)N的二進(jìn)制數(shù)進(jìn)行與運(yùn)算,得到針對此源IP的索引值,然后將此索引值與哈希表中的每一個索引值域進(jìn)行比較,得到此索引值域所對應(yīng)的MAC地址值域中的MAC地址值。6. 3分流軟件根據(jù)6. 2得到的MAC地址值給報文的目的MAC地址域填上目的MAC地址,然后將報文發(fā)送到目的MAC地址所對應(yīng)的后端分析設(shè)備,轉(zhuǎn)第三步,繼續(xù)接收下一個報文。整個處理流程根據(jù)報文持續(xù)到達(dá)而循環(huán)運(yùn)行,以達(dá)到處理每個3G核心網(wǎng)鏈路報文的目的,直到強(qiáng)制結(jié)束程序或者斷電為止。采用本發(fā)明可以達(dá)到以下技術(shù)效果本發(fā)明提供了在CDMA2000、WCDMA和TD-SCDMA三大主流標(biāo)準(zhǔn)核心網(wǎng)鏈路中基于用戶終端IP的用戶數(shù)據(jù)報文分流方法。采用本分流方法,可以保證同一用戶產(chǎn)生的所有數(shù)據(jù)都能在同一臺后端設(shè)備中進(jìn)行分析還原,確保后端設(shè)備中用戶數(shù)據(jù)的完整性以及還原的準(zhǔn)確性。
圖1是背景技術(shù)公布的高速網(wǎng)絡(luò)內(nèi)容監(jiān)控系統(tǒng)的總體結(jié)構(gòu)圖。
圖2為背景技術(shù)中根據(jù)五元組規(guī)則進(jìn)行分流的數(shù)據(jù)分流流程圖。圖3是本發(fā)明改進(jìn)后的前端數(shù)據(jù)處理分流設(shè)備結(jié)構(gòu)圖。圖4為本發(fā)明總體流程圖。
具體實施例方式圖1是背景技術(shù)公布的高速網(wǎng)絡(luò)內(nèi)容監(jiān)控系統(tǒng)的總體結(jié)構(gòu)圖。高速流量監(jiān)控設(shè)備均放置在三大主流技術(shù)標(biāo)準(zhǔn)核心網(wǎng)域接口處。高速流量監(jiān)控設(shè)備一般由前端數(shù)據(jù)處理分流設(shè)備和多個后端分析系統(tǒng)組成。前端數(shù)據(jù)處理分流設(shè)備與3G核心網(wǎng)和多個后端分析系統(tǒng)通過光纖相連,對從3G核心網(wǎng)鏈路進(jìn)入的報文進(jìn)行預(yù)處理并對報文分流。前端數(shù)據(jù)處理分流設(shè)備由解封裝模塊和分流模塊組成。解封裝模塊與3G核心網(wǎng)鏈路以及分流模塊相連,對鏈路上所有的數(shù)據(jù)報文進(jìn)行解封裝、解壓縮以及分片重組的處理,然后將處理完成的報文發(fā)送給分流模塊。分流模塊與解封裝模塊以及后端分析系統(tǒng)相連,分流模塊由哈希表、五元組地址表、分流軟件組成,由分流軟件對經(jīng)過解封裝模塊處理的報文按需求進(jìn)行分流,并將分流完成的報文發(fā)送給后端分析系統(tǒng)。后端分析系統(tǒng)對前端數(shù)據(jù)處理分流設(shè)備輸出的報文進(jìn)一步分析,實現(xiàn)網(wǎng)絡(luò)行為審計、網(wǎng)絡(luò)內(nèi)容審計和入侵檢測。圖2是背景技術(shù)所述基于散列算法的數(shù)據(jù)報文五元組分流方法的流程圖。第一步,高速流量監(jiān)控設(shè)備初始化,分流模塊建立表項為M項的哈希表,M為后端分析系統(tǒng)的數(shù)量。哈希表的每個表項包括索引值、MAC地址值兩個域,索引值域表明MAC地址在表中的位置,MAC地址值用來存放設(shè)備管理員輸入的目的MAC地址,每個MAC地址對應(yīng)一臺后端分析系統(tǒng)。同時,分流模塊建立表項為L項的五元組地址表,L由設(shè)備管理員根據(jù)存儲空間的大小決定。五元組地址表的每個表項包括ID號、源IP地址域、目的IP地址域、源端口域、目的端口域和協(xié)議域五個域,ID號表明存放的五元組信息在五元組地址表中的位置,其余五個域用來存放從數(shù)據(jù)報文中提取出的五元組信息。第二步,解封裝模塊接收來自3G核心網(wǎng)鏈路的原始數(shù)據(jù)報文,對原始數(shù)據(jù)報文進(jìn)行解封裝、解壓縮及分片重組,還原其封裝內(nèi)的用戶數(shù)據(jù)報文,將還原后的用戶數(shù)據(jù)報文發(fā)送給分流模塊。第三步,分流模塊中的分流軟件從還原后的用戶數(shù)據(jù)報文中提取出五元組信息即源IP地址、目的IP地址、源端口號、目端口號以及協(xié)議號,將五元組信息寫入五元組地址表中。第四步,分流軟件根據(jù)分流需求(分流需求通過指令下達(dá)給分流軟件,如要求按源IP地址進(jìn)行分流),從五元組地址表中提取出與分流要求對應(yīng)的源IP地址。第五步,分流軟件對源IP地址進(jìn)行哈希運(yùn)算得到哈希值,將此哈希值與哈希表項數(shù)N的二進(jìn)制數(shù)進(jìn)行與運(yùn)算,得到針對此源IP的索引值,然后將此索引值與哈希表中的每一個索引值域進(jìn)行比較,得到此索引值域所對應(yīng)的MAC地址。第六步,分流軟件根據(jù)第五步對應(yīng)的MAC地址值給數(shù)據(jù)報文填上目的MAC地址,將報文發(fā)送到目的MAC地址所對應(yīng)的的后端分析設(shè)備,返回第三步繼續(xù)接收下一個報文。圖3是本發(fā)明改進(jìn)后的前端數(shù)據(jù)處理分流設(shè)備結(jié)構(gòu)圖。
高速流量監(jiān)控設(shè)備還是由前端數(shù)據(jù)處理分流設(shè)備和后端分析系統(tǒng)組成,后端分析系統(tǒng)不變,前端數(shù)據(jù)處理分流設(shè)備與3G核心網(wǎng)和多個后端分析系統(tǒng)通過光纖相連。前端數(shù)據(jù)處理分流設(shè)備的改進(jìn)方法是1.1在前端數(shù)據(jù)處理分流設(shè)備增加學(xué)習(xí)模塊和上下行判定模塊1.1.1學(xué)習(xí)模塊與3G核心網(wǎng)鏈路和上下行判定模塊相連,從3G核心網(wǎng)鏈路獲取用戶數(shù)據(jù)報文和各類控制報文,對All接口控制報文和Gn接口控制報文中攜帶的I3DSN或GGSN地址進(jìn)行提取并存儲,并將所有報文發(fā)送給上下行判定模塊。當(dāng)3G核心網(wǎng)是CDMA2000核心網(wǎng)鏈路時,學(xué)習(xí)模塊初始化時構(gòu)建一張表項為N的I3DSN地址表,然后獲取CDMA2000核心網(wǎng)鏈路中控制報文攜帶的I3DSN地址,并將其儲存到I3DSN地址表中;當(dāng)3G核心網(wǎng)是WCDMA或TD-SCDMA核心網(wǎng)鏈路時,學(xué)習(xí)模塊初始化時構(gòu)建一張表項為N的GGSN地址表,然后獲取WCDMA或TD-SCDMA核心網(wǎng)鏈路中控制報文攜帶的GGSN地址,并將其存儲到GGSN地址表中。PDSN或GGSN地址表的項數(shù)N根據(jù)實際鏈路情況決定,N為正整數(shù)且128彡N彡32。PDSN或GGSN地址表的每個表項由ID號和地址值兩個域組成,ID號表明每個I3DSN或GGSN地址在表中的位置,地址值用來存放學(xué)習(xí)到的控制報文中攜帶的I3DSN或GGSN地址。1.1. 2上下行判定模塊與學(xué)習(xí)模塊和解封裝模塊相連,上下行判定模塊從學(xué)習(xí)模塊獲得報文后,對所有報文進(jìn)行鏈路上下行狀態(tài)的判定,并將經(jīng)過判定的數(shù)據(jù)報文發(fā)送給解封裝模塊。1. 2改進(jìn)分流模塊去掉五元組地址表,分流模塊由哈希表和分流軟件組成。在分流軟件中增加對所有報文用戶終端IP的判定功能,并在哈希運(yùn)算時采用用戶終端IP作為關(guān)鍵字進(jìn)行查表,不再使用五元組規(guī)則。分流模塊在初始化時在存儲空間內(nèi)建立表項為M項的哈希表用于存儲目的MAC地址,M等于后端分析設(shè)備的數(shù)目。哈希表與背景技術(shù)基于散列算法的數(shù)據(jù)報文五元組分流方法中的相同。圖4是本發(fā)明總體流程圖。第一步,改進(jìn)高速流量監(jiān)控設(shè)備中的前端數(shù)據(jù)處理分流設(shè)備,前端數(shù)據(jù)處理分流設(shè)備與3G核心網(wǎng)和多個后端分析系統(tǒng)通過光纖相連。第二步,前端數(shù)據(jù)處理分流設(shè)備初始化。第三步,學(xué)習(xí)模塊接收來自3G核心網(wǎng)鏈路的用戶數(shù)據(jù)報文和各類控制報文,若3G核心網(wǎng)鏈路是CDMA2000核心網(wǎng)鏈路,對All接口控制報文中的I3DSN地址進(jìn)行提取并存儲,若3G核心網(wǎng)鏈路是WCDMA或TD-SCMDA核心網(wǎng)鏈路,則對Gn接口控制報文中攜帶的GGSN地址進(jìn)行提取并存儲,并將所有報文發(fā)送給上下行判定模塊,
第四步,上下行判定模塊收到來自學(xué)習(xí)模塊的報文后,判定報文是上行鏈路報文還是下行鏈路報文,并將判定結(jié)果寫入該報文源MAC地址的特定位中,將報文發(fā)往解封裝模塊。第五步,解封裝模塊接收來自上下行判定模塊的報文,對封裝報文進(jìn)行解封裝、解壓縮及分片重組,還原其封裝內(nèi)的報文,將還原后的報文送給分流模塊。對于All接口控制·報文和Gn接口控制報文,因其沒有隧道封裝,將不作任何處理直接發(fā)送至分流模塊。第六步,分流模塊收到從經(jīng)過解封裝處理的報文后,先進(jìn)行報文中用戶終端IP的判定,再按照用戶終端IP對所有報文進(jìn)行分流,分流完畢轉(zhuǎn)第三步,繼續(xù)接收下一個報文。
權(quán)利要求
1. 一種基于用戶終端IP的第三代移動通信核心網(wǎng)數(shù)據(jù)分流方法,其特征在于包括以下步驟第一步,改進(jìn)高速流量監(jiān)控設(shè)備中的前端數(shù)據(jù)處理分流設(shè)備,前端數(shù)據(jù)處理分流設(shè)備與3G核心網(wǎng)即第三代移動通信核心網(wǎng)和多個后端分析系統(tǒng)通過光纖相連,前端數(shù)據(jù)處理分流設(shè)備的改進(jìn)方法是1.1在前端數(shù)據(jù)處理分流設(shè)備增加學(xué)習(xí)模塊和上下行判定模塊1.1.1學(xué)習(xí)模塊與3G核心網(wǎng)鏈路和上下行判定模塊相連,從3G核心網(wǎng)鏈路獲取用戶數(shù)據(jù)報文和各類控制報文,對Al I接口控制報文和Gn接口控制報文中攜帶的I3DSN或GGSN 地址進(jìn)行提取并存儲,并將所有報文發(fā)送給上下行判定模塊;當(dāng)3G核心網(wǎng)是CDMA2000核心網(wǎng)鏈路時,學(xué)習(xí)模塊初始化時構(gòu)建一張表項為N的I3DSN地址表,然后獲取CDMA2000核心網(wǎng)鏈路中控制報文攜帶的I3DSN地址,并將其儲存到I3DSN地址表中;當(dāng)3G核心網(wǎng)是WCDMA 或TD-SCDMA核心網(wǎng)鏈路時,學(xué)習(xí)模塊初始化時構(gòu)建一張表項為N的GGSN地址表,然后獲取 WCDMA或TD-SCDMA核心網(wǎng)鏈路中控制報文攜帶的GGSN地址,并將其存儲到GGSN地址表中; PDSN或GGSN地址表的項數(shù)N為正整數(shù);H)SN或GGSN地址表的每個表項由ID號和地址值兩個域組成,ID號表明每個I3DSN或GGSN地址在表中的位置,地址值用來存放學(xué)習(xí)到的控制報文中攜帶的I3DSN或GGSN地址;所述PDSN是指CDMA2000核心網(wǎng)絡(luò)中的分組數(shù)據(jù)服務(wù)節(jié)點,GGSN是指WCDMA和TD-SCDMA核心網(wǎng)絡(luò)中的網(wǎng)關(guān)GPRS支持節(jié)點,GPRS指通用分組無線服務(wù)技術(shù);1.1. 2上下行判定模塊與學(xué)習(xí)模塊和解封裝模塊相連,上下行判定模塊從學(xué)習(xí)模塊獲得報文后,對所有報文進(jìn)行鏈路上下行狀態(tài)的判定,并將經(jīng)過判定的數(shù)據(jù)報文發(fā)送給解封裝模塊;.1.2改進(jìn)分流模塊分流模塊由哈希表和分流軟件組成;在分流軟件中增加對所有報文用戶終端IP的判定功能,并在哈希運(yùn)算時采用用戶終端IP作為關(guān)鍵字進(jìn)行查表,分流模塊在初始化時在存儲空間內(nèi)建立表項為M項的哈希表用于存儲目的MAC地址,M等于后端分析設(shè)備的數(shù)目;哈希表的每個表項包括索引值、MAC地址值兩個域,索引值域表明MAC地址在表中的位置,MAC地址值用來存放目的MAC地址,每個目的MAC地址對應(yīng)一臺后端分析系統(tǒng);第二步,前端數(shù)據(jù)處理分流設(shè)備初始化.2.1初始化學(xué)習(xí)模塊構(gòu)建表項為N項的roSN或GGSN地址表;.2.2初始化分流模塊初始化哈希表,將每臺后端分析設(shè)備的MAC地址寫入哈希表的 MAC地址值域;第三步,學(xué)習(xí)模塊接收來自3G核心網(wǎng)鏈路的用戶數(shù)據(jù)報文和各類控制報文,若3G核心網(wǎng)鏈路是CDMA2000核心網(wǎng)鏈路,對All接口控制報文中的I3DSN地址進(jìn)行提取并存儲,若3G 核心網(wǎng)鏈路是WCDMA或TD-SCMDA核心網(wǎng)鏈路,則對Gn接口控制報文中攜帶的GGSN地址進(jìn)行提取并存儲,并將所有報文發(fā)送給上下行判定模塊,流程如下.3.1從3G核心網(wǎng)接收報文并判定報文類型,如果是數(shù)據(jù)報文或其它控制報文即All接口控制報文和Gn接口控制報文以外的控制報文,轉(zhuǎn)3. 5 ;如果是Al I接口控制報文或Gn接口控制報文,轉(zhuǎn)3.2 ;.3.2如果與學(xué)習(xí)模塊相連的是CDMA2000核心網(wǎng)鏈路,學(xué)習(xí)模塊提取下一個到達(dá)的All接口控制報文中攜帶的I3DSN地址,如果與學(xué)習(xí)模塊相連的是WCDMA或TD-SCDMA核心網(wǎng)鏈路,學(xué)習(xí)模塊則提取下一個到達(dá)的Gn接口控制報文中攜帶的GGSN地址;.3. 3如果與學(xué)習(xí)模塊相連的是CDMA2000核心網(wǎng)鏈路,學(xué)習(xí)模塊將提取到的I3DSN地址與 PDSN地址表中的每一個表項進(jìn)行比對,如果有任何一個表項跟提取到的I3DSN地址相同,則返回步驟3.1;如果跟所有表項都不匹配,則將此rosN地址寫入rosN地址表中尚空缺的表項中,轉(zhuǎn)3.5 ;.3.4如果與學(xué)習(xí)模塊相連的是WCDMA或TD-SCDMA核心網(wǎng)鏈路,學(xué)習(xí)模塊將提取到的 GGSN地址與GGSN地址表中的每一個表項進(jìn)行比對,如果有任何一個表項跟提取到的GGSN 地址相同,則返回步驟3.1 ;如果跟所有表項都不匹配,則將此GGSN地址寫入GGSN地址表中尚空缺的表項中,執(zhí)行3. 5 ;.3.5將報文發(fā)送給上下行判定模塊,轉(zhuǎn)第四步;第四步,上下行判定模塊收到來自學(xué)習(xí)模塊的報文后,判定報文是上行鏈路報文還是下行鏈路報文,并將判定結(jié)果寫入該報文源MAC地址的特定位中,流程如下.4.1接收報文,提取報文中的源IP地址和目的IP地址;.4.2如果與學(xué)習(xí)模塊相連的是CDMA2000核心網(wǎng)鏈路,將報文的源IP地址和目的IP地址與學(xué)習(xí)模塊中I3DSN地址表中的每一個表項的地址值域進(jìn)行逐項比對;.4.3如果發(fā)現(xiàn)報文的源IP地址與I3DSN地址表中的I3DSN地址匹配,說明此報文為下行鏈路報文,將此報文的源MAC地址中的任意兩個比特位寫 為下行特定值,轉(zhuǎn)步驟4. 8 ;.4.4如果發(fā)現(xiàn)報文的目的IP地址與表中的H)SN地址匹配,說明此報文為上行鏈路報文,將此報文的源MAC地址中的任意兩個比特位寫為上行特定值,轉(zhuǎn)步驟4. 8 ;.4.5如果與學(xué)習(xí)模塊相連的是WCDMA或TD-SCDMA核心網(wǎng)鏈路,將報文的源IP地址和目的IP地址與學(xué)習(xí)模塊中GGSN地址表中的每一個表項的地址值域進(jìn)行逐項比對;.4.6如果發(fā)現(xiàn)報文的源IP地址與GGSN地址表中的GGSN地址匹配,說明此報文為下行鏈路報文,將此報文的源MAC地址中的兩個比特位寫為下行特定值,轉(zhuǎn)步驟4. 8 ;.4.7如果發(fā)現(xiàn)報文的目的IP地址與表中的GGSN地址匹配,說明此報文為上行鏈路報文,將此報文的源MAC地址中的兩個比特位寫為上行特定值,轉(zhuǎn)步驟4. 8 ;.4.8將報文發(fā)往解封裝模塊;第五步,解封裝模塊接收來自上下行判定模塊的所有報文,對于All接口控制報文和 Gn接口控制報文,直接發(fā)送至分流模塊;對Al I接口控制報文和Gn接口控制報文以外的所有報文進(jìn)行解封裝、解壓縮及分片重組,還原其封裝內(nèi)的報文,將還原后的報文送給分流模塊;第六步,分流模塊收到從解封裝模塊送來的報文后,先進(jìn)行報文中用戶終端IP的判定,再按照用戶終端IP對所有報文進(jìn)行分流,流程如下.6.1收到來自解封裝模塊的報文后,分流軟件首先根據(jù)被上下行判定模塊寫為特定值的比特位來判斷報文的源IP地址和目的IP地址哪個是用戶終端IP地址,方法如下.6.1.1如果特定值的比特位中寫入的是上行特定值,可知此報文為用戶終端發(fā)往 Internet網(wǎng)絡(luò)的報文,判定此報文的源IP地址即為用戶終端IP地址,轉(zhuǎn)6. 2 ;.6.1.1如果特定值的比特位中寫入的是下行特定值,可知此報文為Internet網(wǎng)絡(luò)回復(fù)給用戶終端的報文,判定此報文的目的IP地址即為用戶終端IP地址,轉(zhuǎn)6. 2 ;.6.2分流軟件對得到的用戶終端IP地址進(jìn)行哈希運(yùn)算得到哈希值,將此哈希值與哈希表項數(shù)N的二進(jìn)制數(shù)進(jìn)行與運(yùn)算,得到針對此源IP的索引值,然后將此索引值與哈希表中的每一個索引值域進(jìn)行比較,得到此索引值域所對應(yīng)的MAC地址值域中的MAC地址值;.6.3分流軟件根據(jù)MAC地址值給報文的目的MAC地址域填上目的MAC地址,然后將報文發(fā)送到目的MAC地址所對應(yīng)的后端分析設(shè)備,轉(zhuǎn)第三步,繼續(xù)接收下一個報文。
2.如權(quán)利要求1所述的基于用戶終端IP的第三代移動通信核心網(wǎng)數(shù)據(jù)分流方法,其特征在于所述PDSN或GGSN地址表的項數(shù)N滿足128彡N彡32。
3.如權(quán)利要求1所述的基于用戶終端IP的第三代移動通信核心網(wǎng)數(shù)據(jù)分流方法,其特征在于所述下行特定值為0x01,上行特定值為0x10。
全文摘要
本發(fā)明公開了一種基于用戶終端IP的第三代移動通信核心網(wǎng)數(shù)據(jù)分流方法,目的是提供一種能夠?qū)⑺袛?shù)據(jù)報文按用戶IP地址均勻分流到與該IP地址對應(yīng)的后端分析設(shè)備的方法。技術(shù)方案是在前端數(shù)據(jù)處理分流設(shè)備中增加學(xué)習(xí)模塊和上下行判定模塊,改進(jìn)分流模塊;學(xué)習(xí)模塊對信令報文中攜帶的PDSN或GGSN地址進(jìn)行提取并存儲,并將報文發(fā)送給上下行判定模塊;上下行判定模塊判定報文是上行鏈路報文還是下行鏈路報文,將報文發(fā)往解封裝模塊;解封裝模塊還原被封裝了的報文,將報文送給分流模塊;分流模塊按照用戶終端IP對所有報文進(jìn)行分流。采用本發(fā)明可以使后端分析設(shè)備獲取每一條完整的用戶數(shù)據(jù)流,保證用戶數(shù)據(jù)還原的準(zhǔn)確性。
文檔編號H04W28/10GK103024819SQ20121019890
公開日2013年4月3日 申請日期2012年6月15日 優(yōu)先權(quán)日2012年6月15日
發(fā)明者唐勇, 陳曙暉, 趙國鴻, 程冕, 蘇金樹, 盧澤新 申請人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)