基于流量分析的加密網(wǎng)絡(luò)路徑質(zhì)量分析方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及網(wǎng)絡(luò)路徑質(zhì)量分析方法技術(shù)領(lǐng)域,更確切地說是在加密網(wǎng)絡(luò)流量情況 下基于流量分析的加密網(wǎng)絡(luò)路徑質(zhì)量分析方法。
【背景技術(shù)】
[0002] 目前,國(guó)內(nèi)的網(wǎng)絡(luò)覆蓋面不斷擴(kuò)大,同時(shí)網(wǎng)絡(luò)的平均速度也不斷地提升。對(duì)于用戶 來說,意味著網(wǎng)絡(luò)的業(yè)務(wù)質(zhì)量好。在大多數(shù)情況下,網(wǎng)絡(luò)確實(shí)變好了,但這并不等于用戶的 上網(wǎng)體驗(yàn)變佳,因?yàn)橛锌赡苡龅骄W(wǎng)絡(luò)阻塞,導(dǎo)致用戶間接性的網(wǎng)絡(luò)性能異常。要快速地檢測(cè) 出因網(wǎng)絡(luò)線路、擁塞等因素造成故障,經(jīng)過多年的研究,目前可以通過以下的測(cè)量技術(shù)來實(shí) 現(xiàn): (1)主動(dòng)測(cè)量。通過對(duì)探測(cè)數(shù)據(jù)包所受網(wǎng)絡(luò)影響而發(fā)生特性變化的分析,得到網(wǎng)絡(luò)狀態(tài) 和性能等參數(shù)。例如發(fā)送ICMP類型數(shù)據(jù)包,可以獲得網(wǎng)絡(luò)往返時(shí)延、丟包率與連通性等參 數(shù)。如果向網(wǎng)絡(luò)發(fā)送數(shù)據(jù)包并不斷提高發(fā)送速率直到網(wǎng)絡(luò)飽和,可測(cè)量網(wǎng)絡(luò)的最大負(fù)載能 力。主動(dòng)測(cè)量可以按測(cè)量者的意圖進(jìn)行,測(cè)量過程的可控性比較高,操作靈活,機(jī)動(dòng)。
[0003] (2)采用流量分析的手段,在端到端網(wǎng)絡(luò)路徑的中間節(jié)點(diǎn)采集并分析流量。例如:[0004] 然而,隨著Internet的飛速發(fā)展,互聯(lián)網(wǎng)安全問題也使許多網(wǎng)絡(luò)安全協(xié)議流行起 來,IPsec 協(xié)議京尤是其中之一。IPsec 是 IETF( Internet Engineering Task Force, Internet 工程任務(wù)組)的IPsec小組建立的一組IP安全協(xié)議集。IPsec定義了在網(wǎng)絡(luò)層使用的安全 服務(wù),其功能包括數(shù)據(jù)加密、對(duì)網(wǎng)絡(luò)單元的訪問控制、數(shù)據(jù)源地址驗(yàn)證、數(shù)據(jù)完整性檢查和 防止重放攻擊。
[0005] 上述兩種針對(duì)公眾網(wǎng)絡(luò)的網(wǎng)絡(luò)路徑質(zhì)量分析方法對(duì)于加密網(wǎng)絡(luò)而言,都不再適 用。原因如下:(1)加密網(wǎng)絡(luò)中的流量是經(jīng)過加密處理的。IPsec是工作在0SI模型的第三 層的網(wǎng)絡(luò)安全協(xié)議,按協(xié)議要求對(duì)IP數(shù)據(jù)包的負(fù)載部分或整個(gè)數(shù)據(jù)包加密。因此,無(wú)法通 過分析IP數(shù)據(jù)包中的TCP協(xié)議首部和載荷來得到網(wǎng)絡(luò)路徑質(zhì)量;(2)在加密網(wǎng)絡(luò)中,為了 提高安全性,網(wǎng)絡(luò)中的主機(jī)往往禁止各種主動(dòng)測(cè)量數(shù)據(jù)包,如ping命令產(chǎn)生的ICMP。
[0006] 因此,對(duì)加密網(wǎng)絡(luò)的端到端路徑質(zhì)量探測(cè),目前尚未有好的解決辦法。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明旨在針對(duì)上述現(xiàn)有技術(shù)所存在的缺陷和不足,提供一種基于流量分析的加 密網(wǎng)絡(luò)路徑質(zhì)量分析方法,該方法能夠通過對(duì)IPsec加密的數(shù)據(jù)包頭部的分析,實(shí)現(xiàn)對(duì)網(wǎng) 絡(luò)端到端路徑丟包率的計(jì)算,進(jìn)而得出加密網(wǎng)絡(luò)的路徑質(zhì)量。
[0008] 本發(fā)明是通過采用下述技術(shù)方案實(shí)現(xiàn)的: 一種基于流量分析的加密網(wǎng)絡(luò)路徑質(zhì)量分析方法,其特征在于步驟如下: A、 在加密網(wǎng)絡(luò)通信過程中的任意中間節(jié)點(diǎn)采集網(wǎng)絡(luò)流量; B、 以AH協(xié)議和ESP協(xié)議加密的數(shù)據(jù)包,對(duì)加密的數(shù)據(jù)包中的AH頭部和ESP頭部進(jìn)行 分析,并對(duì)會(huì)話進(jìn)行跟蹤; C、 提取AH頭部和ESP頭部中的序列號(hào),計(jì)算丟包率。
[0009] A步驟中,所述的加密網(wǎng)絡(luò)通信過程中的任意中間節(jié)點(diǎn)具體是指:加密網(wǎng)絡(luò)中的 路由器、交換機(jī)、網(wǎng)橋等設(shè)備連接鏈路中的任意位置。
[0010] 所述步驟B具體是指:針對(duì)以AH協(xié)議和ESP協(xié)議加密的數(shù)據(jù)包,插入對(duì)應(yīng)的AH協(xié) 議和ESP協(xié)議的頭部,頭部中設(shè)有SPI字段用于標(biāo)識(shí)一個(gè)端到端會(huì)話,采用源IP地址、目標(biāo) IP地址、AH頭部或ESP頭部的SPI字段三要素作為識(shí)別加密的數(shù)據(jù)包的分類依據(jù),每一類 為一個(gè)會(huì)話,用Si表不。
[0011] 所述步驟C具體是指:在以AH協(xié)議和ESP協(xié)議加密的數(shù)據(jù)包,對(duì)應(yīng)協(xié)議頭部設(shè) 有一個(gè)序列號(hào)字段用于標(biāo)識(shí)同一會(huì)話中的不同加密的數(shù)據(jù)包,并且每發(fā)送一個(gè)加密的數(shù)據(jù) 包,序列號(hào)加1 ;因此,對(duì)于一個(gè)端到端會(huì)話,只需要分析源端發(fā)送給目的端的所有加密的 數(shù)據(jù)包的序列號(hào),就可以知道哪些序列號(hào)已經(jīng)到達(dá),哪些序列號(hào)已經(jīng)丟失,已經(jīng)丟失的序列 號(hào)視為一次丟包;對(duì)于同一加密會(huì)話的每個(gè)加密的數(shù)據(jù)包,檢查數(shù)據(jù)包的AH頭部或ESP頭 部中的序列號(hào)字段,并與前一個(gè)收到的數(shù)據(jù)包的序列號(hào)相比較來判斷是否出現(xiàn)丟包。
[0012] 所述"對(duì)于同一加密會(huì)話的每個(gè)加密的數(shù)據(jù)包,檢查數(shù)據(jù)包的AH頭部或ESP頭部 中的序列號(hào)字段,并與前一個(gè)收到的數(shù)據(jù)包的序列號(hào)相比較來判斷是否出現(xiàn)丟包"的具體 步驟是: 1)對(duì)接收到的加密的數(shù)據(jù)包進(jìn)行分析,按照步驟B的方式來確定該加密的數(shù)據(jù)包的 所屬會(huì)話,并設(shè)該加密的數(shù)據(jù)包的序列號(hào)為P ;對(duì)于會(huì)話Si,設(shè)計(jì)多個(gè)計(jì)數(shù)器記錄其狀態(tài): COUNTi表示所述會(huì)話Si所收到的數(shù)據(jù)包總數(shù),MISSi表示所述會(huì)話Si的丟包數(shù),MAXi作 為所述會(huì)話Si中數(shù)據(jù)包中的最大序列號(hào),如果收到的數(shù)據(jù)包不屬于任何已存在的會(huì)話,則 C0UNTi=0,MISSi=0,MAXi=P ;否則通過分析MAXi和P來確定MISSi和COUNTi,分以下3種 情況: (A) 如果P=MAXi+l,則沒有出現(xiàn)丟包,利用數(shù)據(jù)計(jì)算公式:C0UNTi=C0UNTi+l,MAXi=P ; (B) 如果P>MAX+1,則表明出現(xiàn)了丟包或數(shù)據(jù)包失序,暫時(shí)都當(dāng)作丟包處理:計(jì)算本 次發(fā)現(xiàn)的丟包數(shù),采用如下計(jì)算公式對(duì)各個(gè)計(jì)數(shù)器進(jìn)行更新:C0UNTi=C0UNTi+P-MAXi, MISSi=MISSi+P-MAXi-l, MAXi=P ; (C) 如果P〈MAXi,則表明出現(xiàn)數(shù)據(jù)包傳輸失序,步驟(B)已經(jīng)把失序當(dāng)作了一次丟包, 則需要對(duì)(B)中的計(jì)算數(shù)據(jù)進(jìn)行調(diào)整,調(diào)整方法為MISSi=MISSi-l。
[0013] 在上述分析中,不存在P=MAXi的情況,因?yàn)镸AXi表示已收到數(shù)據(jù)包的最大序列 號(hào),發(fā)送方不可能重復(fù)發(fā)送同一個(gè)序列號(hào)的報(bào)文,所以不可能再接收到序列號(hào)為MAXi的數(shù) 據(jù)包。
[0014]2)計(jì)算某一個(gè)加密會(huì)話的丟包率公式為
計(jì)算整條加密通信鏈 路的丟包率為
[0015] 與現(xiàn)有技術(shù)相比,本發(fā)明所達(dá)到的有益效果是:在IPsec加密網(wǎng)絡(luò)環(huán)境下,采用本 方法的"A.在加密網(wǎng)絡(luò)通信過程中的任意中間節(jié)點(diǎn)采集網(wǎng)絡(luò)流量;"能夠采集到鏈路中的 上行和下行所有數(shù)據(jù)包。同時(shí),步驟A是步驟C采用數(shù)據(jù)包頭部序列號(hào)計(jì)算丟包率的基礎(chǔ)。 采用本方法的"B.對(duì)加密網(wǎng)絡(luò)中的數(shù)據(jù)包頭部進(jìn)行分析;"能夠有效地得出在IPsec加密 網(wǎng)絡(luò)中數(shù)據(jù)包使用的加密類型及安全策略索引等關(guān)鍵信息,進(jìn)而得到加密的數(shù)據(jù)包所屬的 會(huì)話。采用本方法的"C.提取數(shù)據(jù)包的序列號(hào),計(jì)算丟包率;"能夠根據(jù)加密的數(shù)據(jù)包的 序列號(hào)來分析IPsec加密網(wǎng)絡(luò)中各會(huì)話的丟包率,進(jìn)而獲取加密網(wǎng)絡(luò)環(huán)境中的路徑質(zhì)量。
【附圖說明】
[0016]下面將結(jié)合說明書附圖對(duì)本發(fā)明中所涉及的ESP和AH協(xié)議頭作進(jìn)一步的詳細(xì)說 明,其中: 圖1為在傳輸模式下使用AH協(xié)議的數(shù)據(jù)包格式示意圖; 圖2為在隧道模式下使用AH協(xié)議的數(shù)據(jù)包模式示意圖; 圖3為在傳輸模式下使用ESP協(xié)議的數(shù)據(jù)包格式示意圖; 圖4為在隧道模式下使用ESP協(xié)議的數(shù)據(jù)包模式示意圖; 圖5為代碼-1 ESP協(xié)議頭封裝結(jié)構(gòu)示意圖; 圖6為代碼-2 AH協(xié)議頭封裝結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0017]作為本發(fā)明的最佳實(shí)施方式,其內(nèi)容包括:在端到端的以IPsec加密網(wǎng)絡(luò)中, IPsec協(xié)議會(huì)使用加密算法對(duì)從上層傳來數(shù)據(jù)包進(jìn)行驗(yàn)證、加密、再封裝。因此,可以利用數(shù) 據(jù)包中的IP頭信息來分析數(shù)據(jù)包。不管是利用ESP協(xié)議還是AH協(xié)議,都會(huì)在數(shù)據(jù)包的前 面再添加一個(gè)IP頭--外部IP頭。在本發(fā)明中,通過解析測(cè)量點(diǎn)收到數(shù)據(jù)包外部IP頭的 源地址、目的地址和IPsec頭中的SPI信息來確定該數(shù)據(jù)包的所屬會(huì)話。
[0018] IPsec加密協(xié)議在對(duì)數(shù)據(jù)包進(jìn)行驗(yàn)證、加密時(shí)插入的IPs