專利名稱:一種對(duì)報(bào)文進(jìn)行跟蹤的方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種對(duì)報(bào)文進(jìn)行跟蹤的方法及設(shè)備。
背景技術(shù):
IP (Internet Protocol,網(wǎng)際協(xié)議)技術(shù)作為實(shí)現(xiàn)計(jì)算才幾互聯(lián)網(wǎng)、傳統(tǒng)電話 網(wǎng)和有線電視網(wǎng)三網(wǎng)融合的關(guān)鍵技術(shù),是未來傳輸技術(shù)的發(fā)展趨勢(shì)。為滿足基 于IP技術(shù)的語音業(yè)務(wù)、視頻業(yè)務(wù)等實(shí)時(shí)應(yīng)用業(yè)務(wù)對(duì)IP網(wǎng)絡(luò)的時(shí)延、QoS( Quality of Service,服務(wù)質(zhì)量)等參數(shù)的較高要求,提高所述實(shí)時(shí)應(yīng)用業(yè)務(wù)的質(zhì)量, 需要對(duì)IP網(wǎng)絡(luò)進(jìn)行實(shí)時(shí)監(jiān)控,例如對(duì)報(bào)文進(jìn)行跟蹤。目前,對(duì)IP網(wǎng)絡(luò)中的報(bào)文進(jìn)行跟蹤通常采用如下實(shí)現(xiàn)方式 通過設(shè)置轉(zhuǎn)發(fā)表中的跟蹤使能屬性的狀態(tài)開啟或關(guān)閉報(bào)文跟蹤功能,在轉(zhuǎn) 發(fā)表中預(yù)設(shè)一些跟蹤條件,預(yù)設(shè)的跟蹤條件用于描述跟蹤需求。例如,需要對(duì) 報(bào)文中的五個(gè)關(guān)鍵域<源IP地址,目的IP地址,協(xié)議號(hào),源端口號(hào),目的端口 號(hào)>進(jìn)行跟蹤,則將五元組值々源IP地址,目的IP地址,協(xié)議號(hào),源端口號(hào),目 的端口號(hào)>設(shè)置為跟蹤條件,同樣也可以將四元組〈源IP地址,目的IP地址,協(xié)議號(hào),DSCP ( Differentiated Services Code Point,差異化服務(wù)編碼點(diǎn))值>, 或者三元組"原IP地址,目的IP地址,協(xié)議號(hào)>等作為跟蹤條件。在報(bào)文轉(zhuǎn)發(fā)過 程中,設(shè)置所述跟蹤使能屬性的狀態(tài)為使能,開啟報(bào)文跟蹤功能首先查找輸 入報(bào)文的轉(zhuǎn)發(fā)表項(xiàng)中預(yù)設(shè)的跟蹤條件,通過判斷跟蹤位的狀態(tài),執(zhí)行或者拒絕 執(zhí)行對(duì)所述報(bào)文進(jìn)行跟蹤操作。其具體的處理過程如圖1所示,包括如下步驟 步驟11、輸入數(shù)據(jù)報(bào)文;步驟12、查找所述數(shù)據(jù)報(bào)文的轉(zhuǎn)發(fā)表項(xiàng)中預(yù)設(shè)的跟蹤條件; 步驟13、判斷步驟12的查找結(jié)果,如果找到所述跟蹤條件,則跟蹤位使能, 執(zhí)行步驟14,如果未找到所述跟蹤條件,則跟蹤位不使能,執(zhí)行步驟15; 步驟14、基于查找到的跟蹤條件對(duì)所述報(bào)文進(jìn)行報(bào)文跟蹤處理; 步驟15、進(jìn)行后續(xù)報(bào)文轉(zhuǎn)發(fā)流程。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在以下問題 現(xiàn)有技術(shù)中對(duì)才良文進(jìn)行跟蹤的操作是報(bào)文轉(zhuǎn)發(fā)流程的一部分,所述跟蹤條 件作為報(bào)文轉(zhuǎn)發(fā)處理單元(即報(bào)文轉(zhuǎn)發(fā)程序)中的一部分代碼段出現(xiàn),如果需 要改變跟蹤條件,例如增加或刪除跟蹤條件,則需要對(duì)報(bào)文轉(zhuǎn)發(fā)程序的代碼進(jìn) 行修改,因此現(xiàn)有技術(shù)存在可擴(kuò)展性差,且無法實(shí)現(xiàn)在報(bào)文轉(zhuǎn)發(fā)過程中的任意 階段靈活跟蹤報(bào)文等問題。發(fā)明內(nèi)容本發(fā)明實(shí)施例提供了 一種對(duì)報(bào)文進(jìn)行跟蹤的方法及設(shè)備,從而實(shí)現(xiàn)了對(duì)數(shù) 據(jù)報(bào)文的靈活跟蹤。一種對(duì)報(bào)文進(jìn)行跟蹤的方法,包括 在報(bào)文轉(zhuǎn)發(fā)過程的各個(gè)階段之間設(shè)置模板插入點(diǎn);當(dāng)需要對(duì)報(bào)文進(jìn)行跟蹤時(shí),在指定的模板插入點(diǎn)調(diào)用預(yù)先配置的獨(dú)立于報(bào) 文轉(zhuǎn)發(fā)處理單元的跟蹤模板,將進(jìn)入指定的模板插入點(diǎn)的報(bào)文與所述跟蹤模板 進(jìn)行匹配,對(duì)匹配成功的報(bào)文進(jìn)行跟蹤,所述跟蹤模板用于記載跟蹤條件。一種對(duì)報(bào)文進(jìn)行跟蹤的設(shè)備,包括模板配置模塊,用于配置跟蹤模板,所述跟蹤模板獨(dú)立于報(bào)文轉(zhuǎn)發(fā)處理單 元,用于記載跟蹤條件;存儲(chǔ)模塊,用于保存模板配置模塊生成的跟蹤模板;模板調(diào)用模塊,用于在報(bào)文轉(zhuǎn)發(fā)過程中指定的模板插入點(diǎn)調(diào)用所述存儲(chǔ)模 塊中的跟蹤模板,將進(jìn)入指定的模板插入點(diǎn)的報(bào)文與所述跟蹤模板進(jìn)行匹配,并輸出匹配結(jié)果;跟蹤處理模塊,用于根據(jù)模板調(diào)用模塊的匹配結(jié)果,執(zhí)行或者拒絕執(zhí)行對(duì) 所述纟艮文進(jìn)行跟蹤的操作。由上述本發(fā)明實(shí)施例提供的技術(shù)方案可以看出,由于本發(fā)明實(shí)施例中采用 在報(bào)文轉(zhuǎn)發(fā)過程中的任意階段設(shè)置模板插入點(diǎn),并根據(jù)跟蹤需要在指定的模板 插入點(diǎn)調(diào)用跟蹤模板實(shí)現(xiàn)對(duì)報(bào)文的跟蹤,從而將報(bào)文跟蹤操作從報(bào)文轉(zhuǎn)發(fā)流程 中獨(dú)立出來,可以靈活增減或修改跟蹤條件而不影響正常的報(bào)文轉(zhuǎn)發(fā)流程,并 在報(bào)文轉(zhuǎn)發(fā)的任意階段實(shí)現(xiàn)報(bào)文跟蹤,提高了對(duì)報(bào)文跟蹤的靈活性及可擴(kuò)展 性。
圖1為現(xiàn)有技術(shù)中報(bào)文跟蹤的處理過程示意圖; 圖2為現(xiàn)有技術(shù)中IP報(bào)文頭結(jié)構(gòu)示意圖;圖3為本發(fā)明實(shí)施例在IP報(bào)文轉(zhuǎn)發(fā)過程中設(shè)置模板插入點(diǎn)的示意圖; 圖4為本發(fā)明實(shí)施例提供的跟蹤條件值和掩碼值的結(jié)構(gòu)示意圖; 圖5為本發(fā)明實(shí)施例提供的處理過程示意圖; 圖6為本發(fā)明實(shí)施例提供的設(shè)備結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例中,在報(bào)文轉(zhuǎn)發(fā)過程的各個(gè)階段之間設(shè)置模板插入點(diǎn);當(dāng)需 要對(duì)報(bào)文進(jìn)行跟蹤時(shí),在指定的模板插入點(diǎn)調(diào)用預(yù)先配置的獨(dú)立于報(bào)文轉(zhuǎn)發(fā)處 理單元的跟蹤模板,將進(jìn)入指定的模板插入點(diǎn)的報(bào)文與所述跟蹤模板進(jìn)行匹 配,對(duì)匹配成功的報(bào)文進(jìn)行跟蹤。所述跟蹤模板用于記載跟蹤條件,描述跟蹤 需求,可根據(jù)實(shí)際應(yīng)用需要靈活設(shè)置、修改。所述的跟蹤模板中包括一個(gè)或多個(gè)跟蹤條件值和與每個(gè)跟蹤條件值對(duì)應(yīng)的掩碼值,其中所述跟蹤條件值用來限定跟蹤條件,其長度與需要跟蹤的關(guān)鍵域所在報(bào)文 頭長度一致,且所述跟蹤條件值中的關(guān)鍵域條件值字段與所述報(bào)文頭中需要跟 蹤的關(guān)鍵域字段對(duì)應(yīng),其他字段包含的比特信息值全為0;所述掩碼值用來提取報(bào)文頭中需要跟蹤的關(guān)鍵域,其長度和與其對(duì)應(yīng)的跟 蹤條件值長度一致,所述掩碼值中的字段和與之對(duì)應(yīng)的跟蹤條件值中的字段對(duì) 應(yīng),掩碼值中與所述跟蹤條件中的關(guān)鍵域條件值字段對(duì)應(yīng)的字段包含的比特信 息值全為1,其他字段比特信息值全為0。以三元組跟蹤條件值為例,所述的跟蹤條件值的關(guān)鍵域條件值為要跟蹤的 源IP地址、目的IP地址和協(xié)議號(hào)的具體值。上述對(duì)報(bào)文進(jìn)行跟蹤處理的過程具體可以是將所述報(bào)文中需要跟蹤的關(guān)鍵域所在報(bào)文頭與跟蹤模板中的每個(gè)掩碼值 按位"與,,運(yùn)算的結(jié)果和掩碼值對(duì)應(yīng)的跟蹤條件值進(jìn)行比較;當(dāng)與所述跟蹤條 件值的比較結(jié)果相同時(shí),基于所述跟蹤條件值對(duì)報(bào)文進(jìn)行跟蹤,否則,繼續(xù)報(bào) 文轉(zhuǎn)發(fā)流程。為準(zhǔn)確提取上述報(bào)文中需要跟蹤的關(guān)鍵域所在數(shù)據(jù)報(bào)文頭,以便將其與掩 碼值進(jìn)行運(yùn)算,可以設(shè)置與每個(gè)跟蹤條件值和掩碼值對(duì)應(yīng)的報(bào)文頭識(shí)別位,用 于提供需要跟蹤的關(guān)鍵域所在報(bào)文頭的識(shí)別信息。所述的報(bào)文頭識(shí)別位可以是 報(bào)文頭名稱,如IP頭、TCP (Transmission Control Protocol,傳輸控制協(xié)議) 頭等,也可以是報(bào)文頭的長度,等等。為實(shí)現(xiàn)跟蹤使能/關(guān)閉的功能,實(shí)現(xiàn)對(duì)報(bào)文的動(dòng)態(tài)跟蹤功能,所述跟蹤模板 中還包括一個(gè)標(biāo)志位,該標(biāo)志位用于標(biāo)示是否需要調(diào)用所述跟蹤模板對(duì)報(bào)文進(jìn) 行跟蹤。在調(diào)用所述跟蹤模板時(shí),首先判斷所述跟蹤模板的標(biāo)志位狀態(tài)當(dāng)所述標(biāo)志位不使能,不調(diào)用所述跟蹤模板,繼續(xù)進(jìn)行報(bào)文轉(zhuǎn)發(fā)流程處理;當(dāng)所述標(biāo)志位使能,調(diào)用所述跟蹤模板,將進(jìn)入所述指定的模板插入點(diǎn)的報(bào)文與跟蹤模板進(jìn)行匹配。其中,以1位長度的標(biāo)志位為例,可以規(guī)定標(biāo)志位取值為1時(shí)代表使能狀態(tài), 也可以規(guī)定標(biāo)志位取值為O時(shí)代表使能狀態(tài)。在實(shí)際應(yīng)用過程中,如果不需要 對(duì)報(bào)文進(jìn)行跟蹤,只需將所述標(biāo)志位的狀態(tài)置為不使能狀態(tài),即可關(guān)閉所述報(bào) 文跟蹤功能,實(shí)現(xiàn)了動(dòng)態(tài)報(bào)文跟蹤。本發(fā)明實(shí)施例可通過軟件算法實(shí)現(xiàn),具體實(shí)現(xiàn)方式可以是一、 針對(duì)報(bào)文轉(zhuǎn)發(fā)流程的處理在報(bào)文轉(zhuǎn)發(fā)程序中預(yù)留子程序調(diào)用接口 ,即實(shí)現(xiàn)所述在報(bào)文轉(zhuǎn)發(fā)過程的各 個(gè)階段之間設(shè)置模板插入點(diǎn)。二、 針對(duì)跟蹤過程的處理預(yù)先設(shè)定跟蹤模板代碼段,所述跟蹤模板代碼段中可以包括跟蹤條件值、 掩碼值、標(biāo)志位、報(bào)文頭標(biāo)識(shí)位等代碼,所述跟蹤模板代碼段獨(dú)立于所述報(bào)文轉(zhuǎn)發(fā)程序,且可根據(jù)實(shí)際應(yīng)用需要進(jìn)行修改;啟動(dòng)跟蹤處理子程序,所述跟蹤處理子程序獨(dú)立于所述"f艮文轉(zhuǎn)發(fā)程序,且 所述跟蹤處理子程序可實(shí)現(xiàn)如下功能(1) 將需要跟蹤的關(guān)鍵域所在報(bào)文頭與所述跟蹤模板中的每個(gè)掩碼值按 位"與,,運(yùn)算的結(jié)果和掩碼值對(duì)應(yīng)的跟蹤條件值進(jìn)行比較;(2) 對(duì)與所述跟蹤條件值匹配的報(bào)文進(jìn)行相應(yīng)的跟蹤處理;(3) 可根據(jù)操作人員輸入的指令,接入所述報(bào)文轉(zhuǎn)發(fā)程序中指定的子程 序調(diào)用接口,并調(diào)用所述跟蹤模板以實(shí)現(xiàn)上述(1 ) 、 (2)的功能,以及標(biāo)志 位判斷、報(bào)文頭提取等等功能。由此可見,本發(fā)明實(shí)施例提供的方法可以靈活實(shí)現(xiàn)動(dòng)態(tài)報(bào)文跟蹤,而無需 更改報(bào)文轉(zhuǎn)發(fā)流程的程序代碼,不影響報(bào)文轉(zhuǎn)發(fā)流程的正常工作,且易于擴(kuò)展。下面將結(jié)合附圖. 詳細(xì)的說明。本發(fā)明實(shí)施例可以應(yīng)用在I P報(bào)文轉(zhuǎn)發(fā)的過程中對(duì)I P報(bào)文進(jìn)行動(dòng)態(tài)跟蹤。所需要參考報(bào)文的傳輸層頭,例如UDP (User Datagram Protocol,用戶數(shù)據(jù)報(bào) 協(xié)議)頭和TCP頭。其中,所述IP頭的格式如圖2所示,下面對(duì)圖2所示IP頭中 的各個(gè)字段進(jìn)行簡要說明(1) 版本,長度為4位,表示IP協(xié)議的版本號(hào),例如"4"表示IPv4, "6" 表示IPv6;(2) 首部長度,長度為4位,表示IP頭長度,因?yàn)槠淇杀硎镜淖畲髷?shù)值是 15個(gè)單位(1個(gè)單位為4字節(jié)),因此IP頭長度的最大值是60字節(jié);(3) 服務(wù)類型,長度為8位,表示通信子網(wǎng)提供的服務(wù)類型;(4) IP報(bào)文總長度,長度為16位,表示IP頭和凈荷的總長度,可表示的 最大報(bào)文長度為65535字節(jié);(5) 標(biāo)識(shí),長度為16位,表示IP報(bào)文的序號(hào);(6) 標(biāo)志,長度為3位,表示分片報(bào)文的標(biāo)志;(7) 段偏移,長度為13位,表示分片報(bào)文的凈荷在整個(gè)報(bào)文凈荷中的位 置,以8字節(jié)為1個(gè)單位;(8) 壽命,長度為8位,表示轉(zhuǎn)發(fā)的時(shí)間,每次轉(zhuǎn)發(fā)壽命減1,當(dāng)壽命減 為0時(shí)丟棄當(dāng)前才艮文;(9) 協(xié)議號(hào),長度為8位,表示此報(bào)文攜帶的傳輸層數(shù)據(jù)使用何種協(xié)議;(10) 首部校驗(yàn)和,長度為化位,表示IP頭的校驗(yàn)和;(11) 源IP地址,長度為32位,表示報(bào)文的源IP地址;(12) 目的IP地址,長度為32位,表示報(bào)文的目的IP地址; 上述IP報(bào)文轉(zhuǎn)發(fā)的基本處理過程包括如下步驟步驟1、輸入IP報(bào)文;步驟2、對(duì)所述IP報(bào)文的報(bào)文頭進(jìn)行解析;步驟3、對(duì)所述IP報(bào)文進(jìn)行流分類; 步驟4、對(duì)所述IP報(bào)文進(jìn)行網(wǎng)絡(luò)地址交換; 步驟5、對(duì)所述IP報(bào)文進(jìn)行報(bào)文調(diào)度和流量整形; 步驟6、輸出IP報(bào)文。如圖3所示,本發(fā)明實(shí)施例提供的技術(shù)方案在上述IP報(bào)文轉(zhuǎn)發(fā)過程中的每 個(gè)階段之間設(shè)置了模板插入點(diǎn),通過插入跟蹤模板并執(zhí)行相應(yīng)的跟蹤處理操作 實(shí)現(xiàn)對(duì)報(bào)文的跟蹤。所述的設(shè)置模板插入點(diǎn)的操作具體可以是在報(bào)文轉(zhuǎn)發(fā)程序中通過預(yù)留子 程序調(diào)用接口實(shí)現(xiàn)。所述跟蹤模板可以通過編寫代碼段的方式實(shí)現(xiàn),包括跟蹤條件值和與所述 跟蹤條件值對(duì)應(yīng)的掩碼值等。具體跟蹤處理過程可以是,根據(jù)需要在某個(gè)模板 插入點(diǎn)插入跟蹤模板,具體可以是通過用戶輸入的子程序調(diào)用指令在報(bào)文轉(zhuǎn)發(fā) 程序的某個(gè)子程序調(diào)用接口處調(diào)入所述跟蹤模板代碼;并通過具備跟蹤處理能 力的子程序?qū)⑿枰櫟年P(guān)鍵域所在數(shù)據(jù)報(bào)文頭和所述掩碼值按位進(jìn)行"與" 運(yùn)算;然后將所述"與"運(yùn)算的結(jié)果與所述跟蹤條件值比較,如果比較結(jié)果相 同,則基于所述跟蹤條件值對(duì)數(shù)據(jù)進(jìn)行跟蹤;否則,返回才艮文轉(zhuǎn)發(fā)流程程序, 進(jìn)行后續(xù)報(bào)文轉(zhuǎn)發(fā)流程。其中,所述通過子程序調(diào)用指令在報(bào)文轉(zhuǎn)發(fā)程序的某個(gè)子程序調(diào)用接口處 調(diào)入所述跟蹤模板代碼時(shí),具體可以包括,在所述跟蹤模板中設(shè)置一個(gè)與之對(duì) 應(yīng)的標(biāo)志位;所述跟蹤處理子程序首先判斷跟蹤模板中標(biāo)志位的使能狀態(tài),如 果所述標(biāo)志位使能,則調(diào)用所述跟蹤模板代碼段,否則,不調(diào)用所述跟蹤模板 代碼段,并返回報(bào)文轉(zhuǎn)發(fā)程序,繼續(xù)進(jìn)行后續(xù)報(bào)文轉(zhuǎn)發(fā)流程。下面將結(jié)合圖3、圖4、圖5,以在模板插入點(diǎn)O處插入跟蹤模板為例,對(duì)本 發(fā)明實(shí)施例進(jìn)4亍詳細(xì)描述。首先,預(yù)先設(shè)置一組跟蹤模板信息,所述跟蹤模板信息包括長度為1位的標(biāo)志位Enable、跟蹤條件值Value[N]和掩碼值Mask[N]。其中(1 )所述標(biāo)志位Enable用于實(shí)現(xiàn)使能/關(guān)閉跟蹤功能,當(dāng)Enable-1,則對(duì) 輸入的報(bào)文進(jìn)行跟蹤操作;當(dāng)Enable-0,則停止對(duì)輸入的數(shù)據(jù)報(bào)文進(jìn)行跟蹤操 作;(2 ) N為報(bào)文頭識(shí)別位,用于提供需要跟蹤的關(guān)鍵域所在報(bào)文頭的識(shí)別信 息,具體可以設(shè)置為需要跟蹤的關(guān)鍵域所在報(bào)文頭的總長度,由于所述IP報(bào)文 轉(zhuǎn)發(fā)過程主要依據(jù)IP報(bào)文中的IP頭對(duì)所述報(bào)文進(jìn)行轉(zhuǎn)發(fā),因此報(bào)文頭總長度N 通??梢员硎緸镮P頭長度或IP頭長度+傳輸層頭長度,例如,N-5表示需要跟蹤 的所有關(guān)鍵域在IP頭中,而IP頭長為5個(gè)長字;N-7表示需要跟蹤的關(guān)鍵域分布 在IP頭和UDP頭中,"7"為IP頭長的5個(gè)長字+UDP頭長的2個(gè)長字;N-10則 表示需要跟蹤的關(guān)鍵域分布在IP頭和TCP頭中,"10"為IP頭長的5個(gè)長字+TCP 頭長的5個(gè)長字,等等。(3 )所述跟蹤條件值Value[N]的長度與需要跟蹤的關(guān)鍵域所在數(shù)據(jù)報(bào)文頭 總長度一致,且Value[N]中的字段與所述數(shù)據(jù)跟蹤報(bào)文頭中的關(guān)鍵域——對(duì)應(yīng), 將需要跟蹤的關(guān)鍵域的條件值填入所述Value[N]中與之對(duì)應(yīng)的字段,并將 Value[Nl中的其他字段置O,以跟蹤IP頭中的<協(xié)議號(hào),源IP地址,目的IP地址〉 為例,Value[N]的具體設(shè)置方式如圖4所示,其中protl、 SIP和DIP分別為需 要跟蹤的協(xié)議號(hào)、源IP地址和目的IP地址的條件值,Value[5]中的其他字段均 置0;(4)所述掩碼值Mask[N]的長度與需要跟蹤的關(guān)鍵域所在數(shù)據(jù)報(bào)文頭長度 一致,且所述Mask[N]中的字段與所述數(shù)據(jù)報(bào)文頭中的關(guān)鍵域——對(duì)應(yīng),將 Mask[N]中與需要跟蹤的關(guān)鍵域?qū)?yīng)的字段置1,其他字段置O,以跟蹤IP頭中 的<協(xié)議號(hào),源IP地址,目的IP地址〉為例,Mask[N]的具體設(shè)置方式如圖4所示, 其中將與Value[5]中的protl、 SIP和DIP對(duì)應(yīng)的字段中的對(duì)應(yīng)位均置為1 ,其 他字段置0。然后,在模板插入點(diǎn)O處插入所述預(yù)先設(shè)定的跟蹤模板信息,根據(jù)上述插入的跟蹤模板信息對(duì)輸入的IP報(bào)文進(jìn)行跟蹤,具體可以是首先判斷Enable的狀 態(tài),在Enable-1,即標(biāo)志位已經(jīng)使能的情況下,調(diào)用所述跟蹤模板信息,將輸 入報(bào)文的IP頭IPHeader問和所述Mask[5]進(jìn)行按位"與"運(yùn)算,得到運(yùn)算結(jié)果 IPHeaderKeyValue問,所述的IPHeaderKeyValue[5]中,IPHeader[5]的協(xié)議 號(hào)、源IP地址和目的IP地址被保留,其他字段被置0;然后將所述 IPHeaderKeyValue問與Value問進(jìn)行比較,如果相同,則開始對(duì)所述報(bào)文進(jìn)行 跟蹤,否則,繼續(xù)進(jìn)行后續(xù)的報(bào)文轉(zhuǎn)發(fā)處理。上述本發(fā)明實(shí)施例的處理過程如圖5所示,具體可以包括如下步驟 步驟51、輸入IP報(bào)文,即IP報(bào)文轉(zhuǎn)發(fā)流程的第一個(gè)階段; 步驟52、判斷標(biāo)志位狀態(tài),如果Enable-1,即處于使能狀態(tài),則執(zhí)行步驟 53,否則,執(zhí)行步驟55,通過將所述標(biāo)志位置1/0,可靈活實(shí)現(xiàn)報(bào)文跟蹤功能 的開啟/關(guān)閉;步驟53、將IP頭和Mask[N]按位"與"運(yùn)算,并將運(yùn)算結(jié)果與Value[N]進(jìn) 行比較,如果比較結(jié)果相同,執(zhí)行步驟54,否則,執(zhí)行步驟55; 步驟54、對(duì)報(bào)文進(jìn)行跟蹤;步驟55、對(duì)報(bào)文頭進(jìn)行解析,即IP報(bào)文轉(zhuǎn)發(fā)流程的第二階段; 步驟56、繼續(xù)進(jìn)行后續(xù)IP報(bào)文轉(zhuǎn)發(fā)處理。如果需要在其他^t板插入點(diǎn)插入跟蹤模板信息,對(duì)才艮文進(jìn)行跟蹤處理,可 依照上述本發(fā)明實(shí)施例提供的方法進(jìn)行。根據(jù)實(shí)際應(yīng)用的需要,可以按照上述本發(fā)明實(shí)施例提供的方法,在多個(gè)模 板插入點(diǎn)插入跟蹤模板信息,以滿足多個(gè)跟蹤需求。所述的多個(gè)跟蹤需求的情 況下,各組跟蹤模板信息之間相互獨(dú)立,即增減跟蹤模板信息并不會(huì)對(duì)正常工 作的其他跟蹤模板信息造成影響,且某組或某些組跟蹤模板信息中的Enable標(biāo) 志位取值改變時(shí),也不會(huì)對(duì)其他正常工作的跟蹤模板信息造成影響。因此本發(fā)明實(shí)施例提供的技術(shù)方案增加了對(duì)報(bào)文進(jìn)行跟蹤的靈活性和可擴(kuò)展性。本發(fā)明實(shí)施例還提供一種對(duì)報(bào)文進(jìn)行跟蹤的設(shè)備,其結(jié)構(gòu)如圖6所示,具體實(shí)現(xiàn)結(jié)構(gòu)可以包括(1) 模板配置模塊,用于配置跟蹤模板,所述跟蹤模板獨(dú)立于報(bào)文轉(zhuǎn)發(fā) 處理單元,用于記載跟蹤條件,用戶可隨時(shí)修改跟蹤模板的配置。(2) 存儲(chǔ)模塊,用于保存模板配置模塊生成的跟蹤模板。其中,所述存儲(chǔ)模板中保存的所述跟蹤模板中包括一個(gè)或多個(gè)跟蹤條件值 和與所述跟蹤條件值對(duì)應(yīng)的掩碼值。如果有多個(gè)跟蹤需求,則需要在所述存儲(chǔ)模塊中保存多組跟蹤模板。所述 存儲(chǔ)模塊中存儲(chǔ)的跟蹤模板除了圖6所示的存儲(chǔ)方式以外,還可以將所述的每 個(gè)跟蹤條件值和與其對(duì)應(yīng)的掩碼值按照獨(dú)立的代碼段形式存儲(chǔ),并可同時(shí)被多 個(gè)跟蹤模板代碼段調(diào)用。例如,存儲(chǔ)模塊中保存有獨(dú)立的跟蹤條件值V1-V7, 和相應(yīng)的掩碼值M1 ~M7,并保存有跟蹤模板代碼C1和C2。當(dāng)需要在模板插入 點(diǎn)O插入一組跟蹤模板,要求所述跟蹤模板中包含跟蹤條件V1、 V2、 V5,在模 板插入點(diǎn)3插入一組跟蹤模板,要求所述跟蹤模板中包含跟蹤條件V1 、 V4、 V7, 則首先將跟蹤條件V1、 V2、 V5及相應(yīng)的M1、 M2、 M5裝入跟蹤模板代碼C1, 將跟蹤條件V1、 V4、 V7及相應(yīng)的M1、 M4、 M7裝入跟蹤模板代碼C2,然后將 所述跟蹤模板代碼C1插入模板插入點(diǎn)0,將所述跟蹤模板代碼C2插入模板插入 點(diǎn)3。(3) 模板調(diào)用模塊,用于在報(bào)文轉(zhuǎn)發(fā)過程中指定的模板插入點(diǎn)調(diào)用所述 存儲(chǔ)模塊中的跟蹤模板,將進(jìn)入指定的模板插入點(diǎn)的報(bào)文與所述跟蹤模板進(jìn)行 匹配,并輸出匹配結(jié)果。所述模板調(diào)用模塊還包括掩碼運(yùn)算模塊和跟蹤條件匹配模塊,用于實(shí)現(xiàn)所 述將進(jìn)入指定的模板插入點(diǎn)的報(bào)文與所述跟蹤模板進(jìn)行匹配,并輸出匹配結(jié)果 的功能,其中掩碼運(yùn)算模塊,用于調(diào)用所述存儲(chǔ)模塊中的掩碼值,將所述掩碼值與需要跟蹤的關(guān)鍵域所在報(bào)文頭進(jìn)行按位"與"運(yùn)算,并生成運(yùn)算結(jié)果;跟蹤條件匹配模塊,用于調(diào)用所述存儲(chǔ)模塊中的跟蹤條件值,將所述跟蹤 條件值與所述掩碼運(yùn)算模塊的運(yùn)算結(jié)果比較,并輸出比較結(jié)果。(4)跟蹤處理模塊,用于根據(jù)模板調(diào)用模塊的匹配結(jié)果(即所述模板調(diào) 用模塊中跟蹤條件匹配模塊發(fā)送的比較結(jié)果),執(zhí)行或者拒絕執(zhí)行對(duì)數(shù)據(jù)的跟 蹤處理操作。如果需要執(zhí)行跟蹤處理操作,則基于匹配的跟蹤條件值對(duì)所述報(bào) 文進(jìn)行跟蹤處理操作。為準(zhǔn)確提取需要跟蹤的關(guān)鍵域所在數(shù)據(jù)報(bào)文頭,以便將其與掩碼值進(jìn)行運(yùn) 算,所述的存儲(chǔ)模塊保存的跟蹤模板中還可以包括與每個(gè)跟蹤條件值和掩碼值 對(duì)應(yīng)的報(bào)文頭識(shí)別位,所述報(bào)文頭識(shí)別位提供需要跟蹤的關(guān)鍵域所在數(shù)據(jù)報(bào)文 頭的識(shí)別信息,所述的報(bào)文頭識(shí)別位具體可以是報(bào)文頭名稱,如IP頭、TCP頭 等,也可以是報(bào)文頭的長度,等等。相應(yīng)的,本發(fā)明實(shí)施例提供的設(shè)備還可以包括報(bào)文頭提取模塊,用于根據(jù) 存儲(chǔ)模塊中保存的跟蹤模板中的報(bào)文頭識(shí)別位提取需要跟蹤的關(guān)鍵域所在報(bào) 文頭。為控制對(duì)報(bào)文跟蹤的使能/關(guān)閉,所述存儲(chǔ)模塊保存的所述跟蹤模板還可以 包括一個(gè)標(biāo)志位,所述標(biāo)志位用于表示是否需要調(diào)用所述跟蹤模板對(duì)報(bào)文進(jìn)行 跟蹤。相應(yīng)的,本發(fā)明實(shí)施例提供的設(shè)備還可以包括標(biāo)志位判斷模塊,用于判斷 所述存儲(chǔ)模塊中保存的跟蹤模板的標(biāo)志位狀態(tài),當(dāng)所述標(biāo)志位不使能,發(fā)出退 出調(diào)用所述跟蹤模4反,繼續(xù)正常報(bào)文轉(zhuǎn)發(fā)流程的通知;當(dāng)所述標(biāo)志位使能,發(fā) 出調(diào)用所述跟蹤模板,將進(jìn)入所述指定的模板插入點(diǎn)的報(bào)文與跟蹤模板進(jìn)行匹 配的通知。本發(fā)明實(shí)施例由于將報(bào)文跟蹤操作從報(bào)文轉(zhuǎn)發(fā)流程中獨(dú)立出來,且可以靈活修改跟蹤模板的配置,因此與現(xiàn)有技術(shù)中的報(bào)文跟蹤方案相比,在開啟跟蹤 功能后,仍然可以修改跟蹤條件,或者關(guān)閉跟蹤功能,而不影響報(bào)文轉(zhuǎn)發(fā)流程。 以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局 限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易 想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù) 范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1、一種對(duì)報(bào)文進(jìn)行跟蹤的方法,其特征在于,包括在報(bào)文轉(zhuǎn)發(fā)過程的各個(gè)階段之間設(shè)置模板插入點(diǎn);當(dāng)需要對(duì)報(bào)文進(jìn)行跟蹤時(shí),在指定的模板插入點(diǎn)調(diào)用預(yù)先配置的獨(dú)立于報(bào)文轉(zhuǎn)發(fā)處理單元的跟蹤模板,將進(jìn)入指定的模板插入點(diǎn)的報(bào)文與所述跟蹤模板進(jìn)行匹配,對(duì)匹配成功的報(bào)文進(jìn)行跟蹤。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的跟蹤模板中包括一個(gè) 或多個(gè)跟蹤條件值和與每個(gè)跟蹤條件值對(duì)應(yīng)的掩碼值,其中所述跟蹤條件值的長度與需要跟蹤的關(guān)鍵域所在報(bào)文頭長度一致,所述跟 蹤條件值中的關(guān)鍵域條件值字段與報(bào)文頭中需要跟蹤的關(guān)鍵域字段對(duì)應(yīng),其他 字段包含的比特信息值全為O;所述掩碼值的長度和與其對(duì)應(yīng)的跟蹤條件值長度一致,所述掩碼值中的字 段和與之對(duì)應(yīng)的跟蹤條件值中的字段對(duì)應(yīng),掩碼值中與所述跟蹤條件值中的關(guān) 鍵域條件值字段對(duì)應(yīng)的字段包含的比特信息值全為1 ,其他字段比特信息值全 為0。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,將進(jìn)入指定的模板插入點(diǎn)的 報(bào)文與所述跟蹤模板進(jìn)行匹配,對(duì)匹配成功的報(bào)文進(jìn)行跟蹤的步驟包括將所述報(bào)文中需要跟蹤的關(guān)鍵域所在報(bào)文頭與跟蹤模板中的每個(gè)掩碼值 按位"與"運(yùn)算的結(jié)果和掩碼值對(duì)應(yīng)的跟蹤條件值進(jìn)行比較,當(dāng)與所述跟蹤條 件值的比較結(jié)果相同時(shí),基于所述跟蹤條件值對(duì)報(bào)文進(jìn)行跟蹤。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述跟蹤模板還包括與每個(gè) 跟蹤條件值和掩碼值對(duì)應(yīng)的報(bào)文頭識(shí)別位,所述報(bào)文頭識(shí)別位用于提供需要跟 蹤的關(guān)鍵域所在報(bào)文頭的識(shí)別信息。
5、 根據(jù)權(quán)利要求1-4任意一項(xiàng)所述的方法,其特征在于,所述跟蹤模板中還包括一個(gè)標(biāo)志位,該標(biāo)志位用于標(biāo)示是否需要調(diào)用所述跟蹤模板對(duì)報(bào)文進(jìn) 行跟蹤。
6、 一種對(duì)報(bào)文進(jìn)行跟蹤的設(shè)備,其特征在于,包括 模板配置模塊,用于配置跟蹤模板,所述跟蹤模板獨(dú)立于報(bào)文轉(zhuǎn)發(fā)處理單元;存儲(chǔ)模塊,用于保存所述模板配置模塊生成的跟蹤模板;模板調(diào)用模塊,用于在報(bào)文轉(zhuǎn)發(fā)過程中指定的模板插入點(diǎn)調(diào)用所述存儲(chǔ)模塊中的跟蹤模板,將進(jìn)入指定的模板插入點(diǎn)的報(bào)文與所述跟蹤模板進(jìn)行匹配,并輸出匹配結(jié)果;跟蹤處理模塊,用于根據(jù)模板調(diào)用模塊的匹配結(jié)果,執(zhí)行或者拒絕執(zhí)行對(duì) 所述報(bào)文進(jìn)行跟蹤的操作。
7、 根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于所述存儲(chǔ)模塊中保存的所述跟蹤模板中包括一個(gè)或多個(gè)跟蹤條件值和與 所述跟蹤條件值對(duì)應(yīng)的掩碼值;所述存儲(chǔ)模塊中保存的跟蹤模板還包括與每個(gè)跟蹤條件值和掩碼值對(duì)應(yīng) 的報(bào)文頭識(shí)別位,所述報(bào)文頭識(shí)別位用于提供需要跟蹤的關(guān)鍵域所在報(bào)文頭的 識(shí)別信息;所述存儲(chǔ)模塊中保存的所述跟蹤模板還包括一個(gè)標(biāo)志位,所述標(biāo)志位用于 表示是否需要調(diào)用所述跟蹤模板對(duì)報(bào)文進(jìn)行跟蹤。
8、 根據(jù)權(quán)利要求7所述的設(shè)備,其特征在于,所述模板調(diào)用模塊還包括 掩碼運(yùn)算模塊,用于將所述跟蹤模板中的每個(gè)掩碼值與需要跟蹤的關(guān)鍵域所在報(bào)文頭包含的比特信息進(jìn)行按位"與"運(yùn)算,并生成運(yùn)算結(jié)果;跟蹤條件匹配模塊,用于調(diào)用所述跟蹤條件模板中的跟蹤條件值,將所述 跟蹤條件值與所述掩碼運(yùn)算模塊的運(yùn)算結(jié)果比較,并輸出比較結(jié)果。
9、 根據(jù)權(quán)利要求7或8所述的設(shè)備,其特征在于,所述的設(shè)備還包括報(bào)文頭提取模塊,用于根據(jù)存儲(chǔ)模塊中保存的跟蹤模板中的報(bào)文頭識(shí)別位 提取需要跟蹤的關(guān)鍵域所在報(bào)文頭。
10、才艮據(jù)權(quán)利要求7或8所述的設(shè)備,其特征在于,所述的設(shè)備還包括 標(biāo)志位判斷模塊,用于判斷所述存儲(chǔ)模塊中保存的跟蹤模板的標(biāo)志位狀 態(tài),當(dāng)所述標(biāo)志位不使能,發(fā)出結(jié)束針對(duì)所述跟蹤模板進(jìn)行報(bào)文跟蹤的通知; 當(dāng)所述標(biāo)志位使能,發(fā)出調(diào)用所述跟蹤才莫板,將進(jìn)入所述指定的模板插入點(diǎn)的 報(bào)文與跟蹤模板進(jìn)行匹配的通知。
全文摘要
一種對(duì)報(bào)文進(jìn)行跟蹤的方法及設(shè)備,具體包括在報(bào)文轉(zhuǎn)發(fā)過程的各個(gè)階段之間設(shè)置模板插入點(diǎn);當(dāng)需要對(duì)報(bào)文進(jìn)行跟蹤時(shí),在指定的模板插入點(diǎn)調(diào)用預(yù)先配置的獨(dú)立于報(bào)文轉(zhuǎn)發(fā)處理單元的跟蹤模板,將進(jìn)入指定的模板插入點(diǎn)的報(bào)文與所述跟蹤模板進(jìn)行匹配,對(duì)匹配成功的報(bào)文進(jìn)行跟蹤,所述跟蹤模板用于記載跟蹤條件。本發(fā)明實(shí)施例通過在指定的模板插入點(diǎn)調(diào)用跟蹤模板實(shí)現(xiàn)報(bào)文跟蹤,并可以隨時(shí)修改所述跟蹤模板的配置,使得對(duì)報(bào)文的跟蹤操作從報(bào)文轉(zhuǎn)發(fā)過程中獨(dú)立出來,因此能夠?qū)崿F(xiàn)對(duì)報(bào)文的動(dòng)態(tài)跟蹤,提高了跟蹤的靈活性。
文檔編號(hào)H04L12/56GK101272329SQ200810057860
公開日2008年9月24日 申請(qǐng)日期2008年2月19日 優(yōu)先權(quán)日2008年2月19日
發(fā)明者軼 劉, 文 陳 申請(qǐng)人:華為技術(shù)有限公司