本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)流識(shí)別方法及出口設(shè)備。
背景技術(shù):
隨著網(wǎng)絡(luò)的發(fā)展,大部分公司或者網(wǎng)絡(luò)應(yīng)用場(chǎng)所很少采用單線路作為出口了。多線路的話意味了線路間就存在質(zhì)量問(wèn)題,例如光纖線路就比ADSL線路質(zhì)量好。可能出現(xiàn)如下幾種場(chǎng)景:
某個(gè)公司有兩條線路,主光纖和ADSL線路。希望視頻會(huì)議、公司OA、網(wǎng)頁(yè)訪問(wèn)等走主光纖、其他的業(yè)務(wù)走ADSL;
某個(gè)網(wǎng)吧,主光纖較小(原因是價(jià)格貴),另外有多條ADSL(價(jià)格便宜)。希望只有游戲走主光纖,其他都走ADSL;
某網(wǎng)絡(luò)應(yīng)用服務(wù)提供商的服務(wù)器,包含多個(gè)運(yùn)營(yíng)商線路,由于運(yùn)營(yíng)商A價(jià)格較貴,運(yùn)營(yíng)商B價(jià)格較便宜。該服務(wù)提供商希望時(shí)延敏感的應(yīng)用不要跨運(yùn)營(yíng)商,但是其他流量都要走運(yùn)營(yíng)商B,從而降低運(yùn)營(yíng)成本;
應(yīng)用分流是用戶配置策略,將指定應(yīng)用的流量分流到合適的出口鏈路上。如網(wǎng)吧場(chǎng)景下,出口一般有一條光纖鏈路和多條普通的撥號(hào)線路;應(yīng)用分流將網(wǎng)吧的關(guān)鍵應(yīng)用,如網(wǎng)絡(luò)游戲,分流到光纖線路上;將需要占用較大帶寬的應(yīng)用,如視頻,分流到撥號(hào)線路上。通過(guò)應(yīng)用分流,針對(duì)不同應(yīng)用,配置不同的分流策略,可以有效利用網(wǎng)絡(luò)資源,提高網(wǎng)絡(luò)體驗(yàn)。
根據(jù)TCP/IP協(xié)議,TCP鏈接需要先進(jìn)行三次握手。握手過(guò)程無(wú)應(yīng)用層數(shù)據(jù),基于報(bào)文內(nèi)容的深度識(shí)別技術(shù)(即DPI)無(wú)法識(shí)別出具體的應(yīng)用類型,至少需要到第四個(gè)報(bào)文才能識(shí)別具體應(yīng)用。對(duì)于UDP鏈接,則要求DPI在第一個(gè)報(bào)文就識(shí)別出具體應(yīng)用。
但是,現(xiàn)有技術(shù)中也存在如下的問(wèn)題:
1)對(duì)于應(yīng)用分流的場(chǎng)景,若首報(bào)文識(shí)別的流量太低,則應(yīng)用分流的流量較低,無(wú)法滿足按需分流的場(chǎng)景需求。該場(chǎng)景對(duì)傳統(tǒng)DPI提出了一個(gè)很大的挑戰(zhàn)。對(duì)于UDP流來(lái)說(shuō),要求在首報(bào)文就識(shí)別出具體應(yīng)用類型;對(duì)于TCP流來(lái)說(shuō),當(dāng)前很多實(shí)現(xiàn)是通過(guò)代理等方式實(shí)現(xiàn)分流,但是代理性能不容樂(lè)觀,且要求在第四個(gè)報(bào)文識(shí)別出具體應(yīng)用。總的來(lái)說(shuō),應(yīng)用分流的場(chǎng)景,對(duì)應(yīng)用識(shí)別的識(shí)別速度提出了更高的要求。
2)隨著網(wǎng)絡(luò)發(fā)展和網(wǎng)絡(luò)應(yīng)用的不斷豐富,出口流量越來(lái)越大?;趫?bào)文內(nèi)容的深度識(shí)別技術(shù),識(shí)別計(jì)算量大,需要消耗較多的CPU資源,對(duì)于流量較大的環(huán)境或者配置較低的設(shè)備,DPI容易成為性能瓶頸?,F(xiàn)有的方案一般都是一個(gè)場(chǎng)景中,單設(shè)備實(shí)現(xiàn)應(yīng)用識(shí)別。對(duì)于上述問(wèn)題目前單設(shè)備的應(yīng)用一般基于如下方法實(shí)現(xiàn):
1.基于深度包檢測(cè)DPI(Deep Packet Inspection)來(lái)實(shí)現(xiàn)。通過(guò)分析載荷報(bào)文中的指紋特征,判別報(bào)文的應(yīng)用類別。2.基于深度流檢測(cè)DFI(Deep Flow Inspection)來(lái)實(shí)現(xiàn)。通過(guò)分析流量的行為特征,判斷流的應(yīng)用類別。但是這兩種方法的通常識(shí)別效率較低,首包識(shí)別率低,并且需要消耗大量的CPU來(lái)處理,性能容易成為瓶頸。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的實(shí)施例提供了一種數(shù)據(jù)流識(shí)別方法及出口設(shè)備,本發(fā)明提供如下一種數(shù)據(jù)流識(shí)別方法和出口設(shè)備:
從服務(wù)器獲取最新的服務(wù)應(yīng)用庫(kù)至本地作為本地的服務(wù)應(yīng)用庫(kù);其中所述最新的服務(wù)應(yīng)用庫(kù)是由網(wǎng)絡(luò)中所有出口設(shè)備上傳的各自本地更新的服務(wù)應(yīng)用庫(kù)形成的;
接收新建流的首報(bào)文,當(dāng)所述首報(bào)文在所述本地的服務(wù)應(yīng)用庫(kù)中不存在有效記錄,則對(duì)所述新建流的后續(xù)報(bào)文進(jìn)行應(yīng)用識(shí)別,其中,所述有效記錄為在所述本地服務(wù)應(yīng)用庫(kù)記錄中存在與所述首報(bào)文對(duì)應(yīng)的應(yīng)用類型的映射關(guān)系記錄;
當(dāng)所述新建流的后續(xù)報(bào)文中任一報(bào)文通過(guò)所述應(yīng)用識(shí)別與特征規(guī)則庫(kù)記錄中任一規(guī)則匹配,則向所述本地服務(wù)應(yīng)用庫(kù)記錄中建立待新建記錄以更新本地的服務(wù)應(yīng)用庫(kù);其中,所述待新建記錄為與所述任一報(bào)文對(duì)應(yīng)的任一規(guī)則所指向的應(yīng)用類型的映射關(guān)系記錄。
根據(jù)本發(fā)明的上述方法,所述從服務(wù)器下載最新的服務(wù)應(yīng)用庫(kù)至本地作為本地的服務(wù)應(yīng)用庫(kù),包括:
根據(jù)本地應(yīng)用場(chǎng)景從服務(wù)器下載對(duì)應(yīng)應(yīng)用場(chǎng)景的最新的服務(wù)應(yīng)用庫(kù)至本地作為本地的服務(wù)應(yīng)用庫(kù)。
根據(jù)本發(fā)明的上述方法,還包括:
當(dāng)所述本地服務(wù)應(yīng)用庫(kù)記錄中建立了待新建記錄以更新本地的服務(wù)應(yīng)用庫(kù),則將本地更新的服務(wù)應(yīng)用庫(kù)上傳至服務(wù)器以更新服務(wù)器上的服務(wù)應(yīng)用庫(kù)。
根據(jù)本發(fā)明的上述方法,所述向所述本地服務(wù)應(yīng)用庫(kù)記錄中建立待新建記錄,包括:
根據(jù)所述任一報(bào)文獲取待新建記錄的用戶IP地址以及服務(wù)端口號(hào),以用戶IP地址以及服務(wù)端口號(hào)作為所述待新建記錄的索引,若本地的服務(wù)應(yīng)用庫(kù)記錄不存在所述用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄,則直接在本地的服務(wù)應(yīng)用庫(kù)記錄新建所述待新建記錄,且該條新建記錄默認(rèn)為有效記錄;或,
根據(jù)所述任一報(bào)文獲取待新建記錄的用戶IP地址以及服務(wù)端口號(hào),以用戶IP地址以及服務(wù)端口號(hào)作為所述待新建記錄的索引,若本地的服務(wù)應(yīng)用庫(kù)記錄存在所述用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄,且本地的服務(wù)應(yīng)用庫(kù)記錄中與所述用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄無(wú)效,則在本地的服務(wù)應(yīng)用庫(kù)新建所述待新建記錄,且該條新建記錄默認(rèn)為有效記錄;或,
根據(jù)所述任一報(bào)文獲取待新建記錄的用戶IP地址以及服務(wù)端口號(hào),以用戶IP地址以及服務(wù)端口號(hào)作為所述待新建記錄的索引,若本地的服務(wù)應(yīng)用庫(kù)記錄存在所述用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄,且本地的服務(wù)應(yīng)用庫(kù)記錄中與所述用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄有效,則判斷本地的服務(wù)應(yīng)用庫(kù)記錄中與所述用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄中記錄的應(yīng)用類型與待新建記錄的應(yīng)用類型是否相同,若相同,將選擇服務(wù)應(yīng)用庫(kù)中對(duì)應(yīng)的記錄和待新建的記錄中記錄的有效時(shí)間中較大的值作為本條新建記錄的有效時(shí)間,且該條新建記錄默認(rèn)為有效記錄;若不相同,則將服務(wù)應(yīng)用庫(kù)對(duì)應(yīng)的記錄修改為無(wú)效記錄,同時(shí)將選擇服務(wù)應(yīng)用庫(kù)中對(duì)應(yīng)的記錄和待新建的記錄中記錄的有效時(shí)間中較小的值作為本條新建記錄的有效時(shí)間。
根據(jù)本發(fā)明的上述方法,所述方法還包括:當(dāng)新建流的首報(bào)文在本地的服務(wù)應(yīng)用庫(kù)記錄中存在有效記錄,則對(duì)所述新建流的后續(xù)報(bào)文不再進(jìn)行應(yīng)用識(shí)別。
根據(jù)本發(fā)明的另一方面,還提供一種出口設(shè)備,包括:
獲取模塊,其用于從服務(wù)器獲取最新的服務(wù)應(yīng)用庫(kù)至本地作為本地的服務(wù)應(yīng)用庫(kù);其中所述最新的服務(wù)應(yīng)用庫(kù)是由網(wǎng)絡(luò)中所有出口設(shè)備上傳的各自本地更新的服務(wù)應(yīng)用庫(kù)形成的;
應(yīng)用識(shí)別應(yīng)用識(shí)別模塊,接收新建流的首報(bào)文,當(dāng)所述首報(bào)文在所述本地的服務(wù)應(yīng)用庫(kù)中不存在有效記錄,則對(duì)所述新建流的后續(xù)報(bào)文進(jìn)行應(yīng)用識(shí)別,其中,所述有效記錄為在所述本地服務(wù)應(yīng)用庫(kù)記錄中存在與所述首報(bào)文對(duì)應(yīng)的應(yīng)用類型的映射關(guān)系記錄;
新建模塊,當(dāng)所述新建流的后續(xù)報(bào)文中任一報(bào)文通過(guò)所述應(yīng)用識(shí)別與特征規(guī)則庫(kù)記錄中任一規(guī)則匹配,則向所述本地服務(wù)應(yīng)用庫(kù)記錄中建立待新建記錄以更新本地的服務(wù)應(yīng)用庫(kù);其中,所述待新建記錄為與所述任一報(bào)文對(duì)應(yīng)的任一規(guī)則所指向的應(yīng)用類型的映射關(guān)系記錄。
根據(jù)本發(fā)明的另一方面,所述獲取模塊具體用于:
根據(jù)本地應(yīng)用場(chǎng)景從服務(wù)器下載對(duì)應(yīng)應(yīng)用場(chǎng)景的最新的服務(wù)應(yīng)用庫(kù)至本地作為本地的服務(wù)應(yīng)用庫(kù)。
根據(jù)本發(fā)明的另一方面,還包括更新模塊,其用于:
當(dāng)所述本地服務(wù)應(yīng)用庫(kù)記錄中建立了待新建記錄以更新本地的服務(wù)應(yīng)用庫(kù),則將本地更新的服務(wù)應(yīng)用庫(kù)上傳至服務(wù)器以更新服務(wù)器上的服務(wù)應(yīng)用庫(kù)。
根據(jù)本發(fā)明的另一方面,所述新建模塊具體用于:
根據(jù)所述任一報(bào)文獲取待新建記錄的用戶IP地址以及服務(wù)端口號(hào),以用戶IP地址以及服務(wù)端口號(hào)作為所述待新建記錄的索引,若本地的服務(wù)應(yīng)用庫(kù)記錄不存在所述用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄,則直接在本地的服務(wù)應(yīng)用庫(kù)記錄新建所述待新建記錄,且該條新建記錄默認(rèn)為有效記錄;或,
根據(jù)所述任一報(bào)文獲取待新建記錄的用戶IP地址以及服務(wù)端口號(hào),以用戶IP地址以及服務(wù)端口號(hào)作為所述待新建記錄的索引,若本地的服務(wù)應(yīng)用庫(kù)記錄存在所述用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄,且本地的服務(wù)應(yīng)用庫(kù)記錄中與所述用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄無(wú)效,則在本地的服務(wù)應(yīng)用庫(kù)記錄新建所述待新建記錄,且該條新建記錄默認(rèn)為有效記錄;或,
根據(jù)所述任一報(bào)文獲取待新建記錄的用戶IP地址以及服務(wù)端口號(hào),以用戶IP地址以及服務(wù)端口號(hào)作為所述待新建記錄的索引,若本地的服務(wù)應(yīng)用庫(kù)記錄存在所述用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄,且本地的服務(wù)應(yīng)用庫(kù)記錄中與所述用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄有效,則判斷本地的服務(wù)應(yīng)用庫(kù)記錄中與所述用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄中記錄的應(yīng)用類型與待新建記錄的應(yīng)用類型是否相同,若相同,將選擇服務(wù)應(yīng)用庫(kù)中對(duì)應(yīng)的記錄和待新建的記錄中記錄的有效時(shí)間中較大的值作為本條新建記錄的有效時(shí)間,且該條新建記錄默認(rèn)為有效記錄;若不相同,則將服務(wù)應(yīng)用庫(kù)對(duì)應(yīng)的記錄修改為無(wú)效記錄,同時(shí)將選擇服務(wù)應(yīng)用庫(kù)中對(duì)應(yīng)的記錄和待新建的記錄中記錄的有效時(shí)間中較小的值作為本條新建記錄的有效時(shí)間。
根據(jù)本發(fā)明的另一方面,所述應(yīng)用識(shí)別應(yīng)用識(shí)別模塊具體用于:
當(dāng)新建流的首報(bào)文在本地的服務(wù)應(yīng)用庫(kù)記錄中存在有效記錄,則對(duì)所述新建流的后續(xù)報(bào)文不再進(jìn)行應(yīng)用識(shí)別。
由上述本發(fā)明的實(shí)施例提供的技術(shù)方案可以看出,本發(fā)明實(shí)施例通過(guò)從服務(wù)器獲取最新的服務(wù)應(yīng)用庫(kù)至本地作為本地的服務(wù)應(yīng)用庫(kù);其中所述最新的服務(wù)應(yīng)用庫(kù)是由網(wǎng)絡(luò)中所有出口設(shè)備上傳的各自本地更新的服務(wù)應(yīng)用庫(kù)形成的;接收新建流的首報(bào)文,當(dāng)所述首報(bào)文在所述本地的服務(wù)應(yīng)用庫(kù)中不存在有效記錄,則對(duì)所述新建流的后續(xù)報(bào)文進(jìn)行應(yīng)用識(shí)別,其中,所述有效記錄為在所述本地服務(wù)應(yīng)用庫(kù)記錄中存在與所述首報(bào)文對(duì)應(yīng)的應(yīng)用類型的映射關(guān)系記錄;當(dāng)所述新建流的后續(xù)報(bào)文中任一報(bào)文通過(guò)所述應(yīng)用識(shí)別與特征規(guī)則庫(kù)記錄中任一規(guī)則匹配,則向所述本地服務(wù)應(yīng)用庫(kù)記錄中建立待新建記錄以更新本地的服務(wù)應(yīng)用庫(kù);其中,所述待新建記錄為與所述任一報(bào)文對(duì)應(yīng)的任一規(guī)則所指向的應(yīng)用類型的映射關(guān)系記錄。本方案從應(yīng)用服務(wù)提供端的角度出發(fā),依靠網(wǎng)絡(luò)中服務(wù)器和出口設(shè)備的配合,通過(guò)在服務(wù)器上整合多設(shè)備之間的識(shí)別信息,動(dòng)態(tài)構(gòu)建網(wǎng)絡(luò)中服務(wù)端口與應(yīng)用類型之間的對(duì)應(yīng)關(guān)系,提高了應(yīng)用識(shí)別的首包識(shí)別率,提高識(shí)別速度,整體上降低了應(yīng)用識(shí)別性能消耗。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)中應(yīng)用場(chǎng)景圖;
圖2為本發(fā)明實(shí)施例一提供的一種數(shù)據(jù)流識(shí)別方法的處理流程圖;
圖3為本發(fā)明實(shí)施例二提供的一種出口設(shè)備的模塊圖。
具體實(shí)施方式
為便于對(duì)本發(fā)明實(shí)施例的理解,下面將結(jié)合附圖以幾個(gè)具體實(shí)施例為例做進(jìn)一步的解釋說(shuō)明,且各個(gè)實(shí)施例并不構(gòu)成對(duì)本發(fā)明實(shí)施例的限定。
實(shí)施例一
本實(shí)施例的方法應(yīng)用于一種出口設(shè)備,其在某一場(chǎng)景下的應(yīng)用如附圖1所示;其中,當(dāng)各出口設(shè)備的本地服務(wù)應(yīng)用庫(kù)記錄中建立了待新建記錄更新本地的服務(wù)應(yīng)用庫(kù),則將本地更新的服務(wù)應(yīng)用庫(kù)上傳至服務(wù)器以更新服務(wù)器上的服務(wù)應(yīng)用庫(kù),服務(wù)器用于存儲(chǔ)各個(gè)網(wǎng)絡(luò)中出口設(shè)備上傳的各自本地更新的服務(wù)應(yīng)用庫(kù);
其中,服務(wù)應(yīng)用庫(kù)用于記錄用戶報(bào)文對(duì)應(yīng)的應(yīng)用類型的映射關(guān)系。本實(shí)施例給出一種服務(wù)應(yīng)用庫(kù)的實(shí)現(xiàn)方式,如下表所示:其中,記錄用戶報(bào)文對(duì)應(yīng)的用戶IP地址,服務(wù)端口號(hào),以及對(duì)應(yīng)的應(yīng)用類型的標(biāo)識(shí),有效時(shí)間,以及表示是否為有效記錄的標(biāo)識(shí);
每一行為一條記錄,其中以IP地址和服務(wù)端口號(hào)(IP,Port)作為表索引。其中,應(yīng)用類型標(biāo)識(shí)表示應(yīng)用類型;每一條記錄表示了網(wǎng)絡(luò)中一個(gè)服務(wù)端口的應(yīng)用類型映射關(guān)系。
其中,有效時(shí)間是記錄該條記錄的有效時(shí)間,定期刷新服務(wù)應(yīng)用庫(kù),每次刷新,所有記錄的有效時(shí)間減1,直至0為止,當(dāng)有效時(shí)間為0時(shí),則刪除該記錄。服務(wù)器上服務(wù)應(yīng)用庫(kù)中的記錄來(lái)源于各個(gè)出口設(shè)備上傳;出口設(shè)備上的服務(wù)應(yīng)用庫(kù)中記錄來(lái)源于服務(wù)器上同步的其它出口設(shè)備的服務(wù)應(yīng)用庫(kù)記錄以及本地產(chǎn)生的記錄。出口設(shè)備下載服務(wù)器上最新的服務(wù)應(yīng)用庫(kù)記錄至本地作為本地的服務(wù)應(yīng)用庫(kù)記錄。
該實(shí)施例提供了一種數(shù)據(jù)流識(shí)別方法的處理流程如圖2所示,
步驟11、從服務(wù)器獲取最新的服務(wù)應(yīng)用庫(kù)至本地作為本地的服務(wù)應(yīng)用庫(kù);其中所述最新的服務(wù)應(yīng)用庫(kù)是由網(wǎng)絡(luò)中所有出口設(shè)備上傳的各自本地更新的服務(wù)應(yīng)用庫(kù)形成的;
對(duì)于每一條新建流,在確定新建流的首報(bào)文在本地的服務(wù)應(yīng)用庫(kù)記錄中是否存在有效記錄之前,下載服務(wù)器上最新的服務(wù)應(yīng)用庫(kù)記錄至本地作為本地的服務(wù)應(yīng)用庫(kù)記錄;具體地,從服務(wù)器下載最新的服務(wù)應(yīng)用庫(kù)至本地作為本地的服務(wù)應(yīng)用庫(kù),優(yōu)選地,根據(jù)本地應(yīng)用場(chǎng)景從服務(wù)器下載對(duì)應(yīng)應(yīng)用場(chǎng)景的最新的服務(wù)應(yīng)用庫(kù)至本地作為本地的服務(wù)應(yīng)用庫(kù)。
具體地,出口設(shè)備上電初始配置時(shí),設(shè)定該出口設(shè)備的本地應(yīng)用場(chǎng)景,例如:高校、企業(yè)、網(wǎng)吧、社區(qū)等,出口設(shè)備根據(jù)本地應(yīng)用場(chǎng)景從服務(wù)器下載對(duì)應(yīng)應(yīng)用場(chǎng)景的最新的服務(wù)應(yīng)用庫(kù)至本地作為本地的服務(wù)應(yīng)用庫(kù);例如:當(dāng)本地應(yīng)用場(chǎng)景為網(wǎng)吧場(chǎng)景下,可以同步游戲和視頻這兩個(gè)大類的服務(wù)應(yīng)用庫(kù);當(dāng)本地應(yīng)用場(chǎng)景為高校應(yīng)用場(chǎng)景下,可以同步聊天工具、游戲、視頻等的服務(wù)應(yīng)用庫(kù);當(dāng)本地應(yīng)用場(chǎng)景為企業(yè)場(chǎng)景下,可以同步OA辦公聊天工具等應(yīng)用服務(wù)庫(kù);對(duì)于各個(gè)場(chǎng)景下所同步的服務(wù)應(yīng)用庫(kù),可以是根據(jù)本場(chǎng)景下的需要同步部分應(yīng)用服務(wù)庫(kù),也可以同步服務(wù)器上全部的應(yīng)用服務(wù)庫(kù)。
同時(shí)還可以在本地出口設(shè)備上設(shè)置是否共享本出口設(shè)備的服務(wù)應(yīng)用庫(kù),并設(shè)置賬號(hào)密碼;還可以設(shè)置本出口設(shè)備要從哪些出口設(shè)備上同步服務(wù)應(yīng)用庫(kù)。
當(dāng)新建流的首報(bào)文在本地的服務(wù)應(yīng)用庫(kù)記錄中存在有效記錄,則對(duì)所述新建流的后續(xù)報(bào)文不再進(jìn)行應(yīng)用識(shí)別;其中,所述有效記錄為在所述本地服務(wù)應(yīng)用庫(kù)記錄中存在與所述首報(bào)文對(duì)應(yīng)的應(yīng)用類型的映射關(guān)系記錄;更具體地指在服務(wù)應(yīng)用庫(kù)中存在一條記錄標(biāo)識(shí)的用戶IP地址,服務(wù)端口號(hào)與首報(bào)文對(duì)應(yīng),該條記錄有對(duì)應(yīng)的應(yīng)用類型標(biāo)識(shí)以及對(duì)應(yīng)的有效時(shí)間且該條記錄標(biāo)識(shí)為有效;
具體地,流的首報(bào)文會(huì)進(jìn)入本地的服務(wù)應(yīng)用庫(kù)進(jìn)行匹配;匹配之前,從報(bào)文的IP頭中提取首報(bào)文中的目的IP;從首報(bào)文的TCP頭或者UDP頭中提取目的端口號(hào)PORT;以首報(bào)文的目的IP以及目的端口號(hào)PORT作為索引在服務(wù)應(yīng)用庫(kù)中查找是否存在對(duì)應(yīng)首報(bào)文(目的IP,目的Port)的有效記錄;
若找到有效記錄,則匹配成功,應(yīng)用類型為首報(bào)文對(duì)應(yīng)的應(yīng)用類型,應(yīng)用識(shí)別階段結(jié)束。否則進(jìn)入如下步驟12的應(yīng)用識(shí)別。
步驟12、接收新建流的首報(bào)文,當(dāng)所述首報(bào)文在所述本地的服務(wù)應(yīng)用庫(kù)中不存在有效記錄,則對(duì)所述新建流的后續(xù)報(bào)文進(jìn)行應(yīng)用識(shí)別,其中,所述有效記錄為在所述本地服務(wù)應(yīng)用庫(kù)記錄中存在與所述首報(bào)文對(duì)應(yīng)的應(yīng)用類型的映射關(guān)系記錄;
步驟13、當(dāng)所述新建流的后續(xù)報(bào)文中任一報(bào)文通過(guò)所述應(yīng)用識(shí)別與特征規(guī)則庫(kù)記錄中任一規(guī)則匹配,則向所述本地服務(wù)應(yīng)用庫(kù)記錄中建立待新建記錄以更新本地的服務(wù)應(yīng)用庫(kù);其中,所述待新建記錄為與所述任一報(bào)文對(duì)應(yīng)的任一規(guī)則所指向的應(yīng)用類型的映射關(guān)系記錄。
優(yōu)選地,當(dāng)所述本地服務(wù)應(yīng)用庫(kù)記錄中建立了待新建記錄更新了本地的服務(wù)應(yīng)用庫(kù),則將本地更新的服務(wù)應(yīng)用庫(kù)上傳至服務(wù)器以更新服務(wù)器上的服務(wù)應(yīng)用庫(kù)。
本實(shí)施例中所述的應(yīng)用識(shí)別的方法主要基于DPI識(shí)別,但不限于此,具體地DPI識(shí)別的過(guò)程是指依據(jù)應(yīng)用產(chǎn)生的報(bào)文本身的特征,將承載在報(bào)文上的不同應(yīng)用區(qū)分出來(lái)。特征規(guī)則庫(kù)中包含了一系列的特征規(guī)則,每條規(guī)則定義了某個(gè)應(yīng)用的一個(gè)載荷特征,每條規(guī)則指向一個(gè)應(yīng)用類型。例如下述3條規(guī)則:
1:載荷偏移10個(gè)字節(jié)的地方出現(xiàn)“QQ.com”則識(shí)別應(yīng)用類型為QQ
2:載荷偏移20個(gè)字節(jié)的地方出現(xiàn)“Qzone”則識(shí)別應(yīng)用類型為QQ
3:載荷偏移20個(gè)字節(jié)的地方出現(xiàn)“Xunlei”則識(shí)別應(yīng)用類型為迅雷
以所述任一報(bào)文對(duì)應(yīng)的任一規(guī)則所指向的應(yīng)用類型的映射關(guān)系記錄作為待新建記錄,當(dāng)需要建立待新建記錄時(shí),待新建記錄中需要新建的內(nèi)容包括用戶IP地址,服務(wù)端口號(hào),以及對(duì)應(yīng)的應(yīng)用類型的標(biāo)識(shí),有效時(shí)間,是否有效記錄;
其中,
根據(jù)所述任一報(bào)文獲取待新建記錄的用戶IP地址以及服務(wù)端口號(hào),以用戶IP地址以及服務(wù)端口號(hào)作為所述待新建記錄的索引,判斷本地的服務(wù)應(yīng)用庫(kù)記錄是否存在用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄,若不存在,則直接在本地的服務(wù)應(yīng)用庫(kù)記錄新建所述待新建記錄,且該條新建記錄默認(rèn)為有效記錄;若存在,則判斷本地的服務(wù)應(yīng)用庫(kù)記錄中與用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄是否有效,若無(wú)效,則在本地的服務(wù)應(yīng)用庫(kù)記錄新建所述待新建記錄,且該條新建記錄默認(rèn)為有效記錄;若有效,則判斷本地的服務(wù)應(yīng)用庫(kù)記錄中與用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄中記錄的應(yīng)用類型與待新建記錄的應(yīng)用類型是否相同,若相同,將選擇服務(wù)應(yīng)用庫(kù)中對(duì)應(yīng)的記錄和待新建的記錄中記錄的有效時(shí)間中較大的值作為本條新建記錄的有效時(shí)間,且該條新建記錄默認(rèn)為有效記錄;若不相同,則將服務(wù)應(yīng)用庫(kù)對(duì)應(yīng)的記錄修改為無(wú)效記錄,同時(shí)將選擇服務(wù)應(yīng)用庫(kù)中對(duì)應(yīng)的記錄和待新建的記錄中記錄的有效時(shí)間中較小的值作為本條新建記錄的有效時(shí)間。
具體地,假設(shè)待新建的記錄為:(IP1,Port1,ID1,T1),插入操作的流程為:
判斷本地的服務(wù)應(yīng)用庫(kù)記錄是否存在(IP1,Port1)的對(duì)應(yīng)的記錄,若不存在,則直接新建(IP1,Port1,ID1,T1);
若存在(IP1,Port1)對(duì)應(yīng)的記錄(IP1,Port1,ID,T),則判斷該項(xiàng)記錄是否有效;若該項(xiàng)記錄無(wú)效,則直接新建(IP1,Port1,ID1,T1);
若該項(xiàng)記錄有效,則判斷(IP1,Port1)在服務(wù)應(yīng)用庫(kù)對(duì)應(yīng)的記錄(IP1,Port1,ID,T)記錄的應(yīng)用類型的ID與待新建的記錄(IP1,Port1,ID1,T1)記錄的應(yīng)用類型的ID1是否相同,若相同,則將選擇服務(wù)應(yīng)用庫(kù)對(duì)應(yīng)的記錄(IP1,Port1,ID,T)和待新建的記錄(IP1,Port1,ID1,T1)中記錄的有效時(shí)間T和T1中較大的值作為本條新建記錄的有效時(shí)間;
當(dāng)判斷(IP1,Port1)在服務(wù)應(yīng)用庫(kù)對(duì)應(yīng)的記錄(IP1,Port1,ID,T)記錄的應(yīng)用類型的ID與待新建的記錄(IP1,Port1,ID1,T1)記錄的應(yīng)用類型的ID1不相同,則將(IP1,Port1)在服務(wù)應(yīng)用庫(kù)對(duì)應(yīng)的記錄(IP1,Port1,ID,T)的是否有效記錄修改為無(wú)效,同時(shí)將將選擇服務(wù)應(yīng)用庫(kù)對(duì)應(yīng)的記錄(IP1,Port1,ID,T)和待新建的記錄(IP1,Port1,ID1,T1)中記錄的有效時(shí)間T和T1中較小的值作為本條新建記錄的有效時(shí)間;
在所述對(duì)所述新建流的后續(xù)報(bào)文進(jìn)行應(yīng)用識(shí)別之前,從服務(wù)器獲取最新的特征規(guī)則庫(kù)并將所述最新的特征規(guī)則庫(kù)加載到DPI引擎中。
實(shí)施例二
該實(shí)施例提供了一種出口設(shè)備,其具體實(shí)現(xiàn)結(jié)構(gòu)如圖3所示,具體可以包括如下的模塊:
獲取模塊21,其用于從服務(wù)器獲取最新的服務(wù)應(yīng)用庫(kù)至本地作為本地的服務(wù)應(yīng)用庫(kù);其中所述最新的服務(wù)應(yīng)用庫(kù)是由網(wǎng)絡(luò)中所有出口設(shè)備上傳的各自本地更新的服務(wù)應(yīng)用庫(kù)形成的;
應(yīng)用識(shí)別應(yīng)用識(shí)別模塊22,接收新建流的首報(bào)文,當(dāng)所述首報(bào)文在所述本地的服務(wù)應(yīng)用庫(kù)中不存在有效記錄,則對(duì)所述新建流的后續(xù)報(bào)文進(jìn)行應(yīng)用識(shí)別,其中,所述有效記錄為在所述本地服務(wù)應(yīng)用庫(kù)記錄中存在與所述首報(bào)文對(duì)應(yīng)的應(yīng)用類型的映射關(guān)系記錄;
新建模塊23,當(dāng)所述新建流的后續(xù)報(bào)文中任一報(bào)文通過(guò)所述應(yīng)用識(shí)別與特征規(guī)則庫(kù)記錄中任一規(guī)則匹配,則向所述本地服務(wù)應(yīng)用庫(kù)記錄中建立待新建記錄以更新本地的服務(wù)應(yīng)用庫(kù);其中,所述待新建記錄為與所述任一報(bào)文對(duì)應(yīng)的任一規(guī)則所指向的應(yīng)用類型的映射關(guān)系記錄。
所述獲取模塊21具體用于:
根據(jù)本地應(yīng)用場(chǎng)景從服務(wù)器下載對(duì)應(yīng)應(yīng)用場(chǎng)景的最新的服務(wù)應(yīng)用庫(kù)至本地作為本地的服務(wù)應(yīng)用庫(kù)。
本實(shí)施例的一種出口設(shè)備,還包括更新模塊24具體用于:
當(dāng)所述本地服務(wù)應(yīng)用庫(kù)記錄中建立了待新建記錄更新了本地的服務(wù)應(yīng)用庫(kù),則將本地更新的服務(wù)應(yīng)用庫(kù)上傳至服務(wù)器以更新服務(wù)器上的服務(wù)應(yīng)用庫(kù)。
所述新建模塊23具體用于:
根據(jù)所述任一報(bào)文獲取待新建記錄的用戶IP地址以及服務(wù)端口號(hào),以用戶IP地址以及服務(wù)端口號(hào)作為所述待新建記錄的索引,若本地的服務(wù)應(yīng)用庫(kù)記錄不存在所述用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄,則直接在本地的服務(wù)應(yīng)用庫(kù)記錄新建所述待新建記錄,且該條新建記錄默認(rèn)為有效記錄;或,
根據(jù)所述任一報(bào)文獲取待新建記錄的用戶IP地址以及服務(wù)端口號(hào),以用戶IP地址以及服務(wù)端口號(hào)作為所述待新建記錄的索引,若本地的服務(wù)應(yīng)用庫(kù)記錄存在所述用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄,且本地的服務(wù)應(yīng)用庫(kù)記錄中與用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄無(wú)效,則在本地的服務(wù)應(yīng)用庫(kù)記錄新建所述待新建記錄,且該條新建記錄默認(rèn)為有效記錄;或,
根據(jù)所述任一報(bào)文獲取待新建記錄的用戶IP地址以及服務(wù)端口號(hào),以用戶IP地址以及服務(wù)端口號(hào)作為所述待新建記錄的索引,若本地的服務(wù)應(yīng)用庫(kù)記錄存在所述用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄,且本地的服務(wù)應(yīng)用庫(kù)記錄中與用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄有效,則判斷本地的服務(wù)應(yīng)用庫(kù)記錄中與用戶IP地址以及服務(wù)端口號(hào)對(duì)應(yīng)的記錄中記錄的應(yīng)用類型與待新建記錄的應(yīng)用類型是否相同,若相同,將選擇服務(wù)應(yīng)用庫(kù)中對(duì)應(yīng)的記錄和待新建的記錄中記錄的有效時(shí)間中較大的值作為本條新建記錄的有效時(shí)間,且該條新建記錄默認(rèn)為有效記錄;若不相同,則將服務(wù)應(yīng)用庫(kù)對(duì)應(yīng)的記錄修改為無(wú)效記錄,同時(shí)將選擇服務(wù)應(yīng)用庫(kù)中對(duì)應(yīng)的記錄和待新建的記錄中記錄的有效時(shí)間中較小的值作為本條新建記錄的有效時(shí)間。
所述應(yīng)用識(shí)別應(yīng)用識(shí)別模塊22具體用于:
當(dāng)新建流的首報(bào)文在本地的服務(wù)應(yīng)用庫(kù)記錄中存在有效記錄,則對(duì)所述新建流的后續(xù)報(bào)文不再進(jìn)行應(yīng)用識(shí)別;其中,所述有效記錄為在所述本地服務(wù)應(yīng)用庫(kù)記錄中存在與所述首報(bào)文對(duì)應(yīng)的應(yīng)用類型的映射關(guān)系記錄。
用本發(fā)明實(shí)施例的出口設(shè)備進(jìn)行數(shù)據(jù)流識(shí)別的具體過(guò)程與前述方法實(shí)施例類似,此處不再贅述。
綜上所述,本發(fā)明實(shí)施例通過(guò)從服務(wù)器獲取最新的服務(wù)應(yīng)用庫(kù)至本地作為本地的服務(wù)應(yīng)用庫(kù);其中所述最新的服務(wù)應(yīng)用庫(kù)是由網(wǎng)絡(luò)中所有出口設(shè)備上傳的各自本地更新的服務(wù)應(yīng)用庫(kù)形成的;接收新建流的首報(bào)文,當(dāng)所述首報(bào)文在所述本地的服務(wù)應(yīng)用庫(kù)中不存在有效記錄,則對(duì)所述新建流的后續(xù)報(bào)文進(jìn)行應(yīng)用識(shí)別,其中,所述有效記錄為在所述本地服務(wù)應(yīng)用庫(kù)記錄中存在與所述首報(bào)文對(duì)應(yīng)的應(yīng)用類型的映射關(guān)系記錄;當(dāng)所述新建流的后續(xù)報(bào)文中任一報(bào)文通過(guò)所述應(yīng)用識(shí)別與特征規(guī)則庫(kù)記錄中任一規(guī)則匹配,則向所述本地服務(wù)應(yīng)用庫(kù)記錄中建立待新建記錄以更新本地的服務(wù)應(yīng)用庫(kù);其中,所述待新建記錄為與所述任一報(bào)文對(duì)應(yīng)的任一規(guī)則所指向的應(yīng)用類型的映射關(guān)系記錄。本方案從應(yīng)用服務(wù)提供端的角度出發(fā),依靠網(wǎng)絡(luò)中服務(wù)器和出口設(shè)備的配合,通過(guò)在服務(wù)器上整合多設(shè)備之間的識(shí)別信息,動(dòng)態(tài)構(gòu)建網(wǎng)絡(luò)中服務(wù)端口與應(yīng)用類型之間的對(duì)應(yīng)關(guān)系,提高了應(yīng)用識(shí)別的首包識(shí)別率,提高識(shí)別速度,整體上降低了應(yīng)用識(shí)別性能消耗。
本領(lǐng)域普通技術(shù)人員可以理解:附圖只是一個(gè)實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。
通過(guò)以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
本說(shuō)明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于裝置或系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置及系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
以上所述,僅為本發(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)。