亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

深度報文檢測結(jié)果擴散方法及裝置的制作方法

文檔序號:7869288閱讀:239來源:國知局
專利名稱:深度報文檢測結(jié)果擴散方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種深度報文檢測結(jié)果擴散方法及裝置。
背景技術(shù)
深度報文檢測(英文全稱為Deep Packet Inspection,簡稱為DPI)技術(shù)能夠識別出IP網(wǎng)絡(luò)流的具體7層協(xié)議、應(yīng)用等,例如可以識別出當(dāng)前網(wǎng)絡(luò)流為edonkey (電驢),且屬于P2P類的應(yīng)用。DPI主要用于加強現(xiàn)有網(wǎng)絡(luò)流量的精細化運營,運營商可以基于相關(guān)數(shù)據(jù)做協(xié)議軟件使用情況分析、流量優(yōu)化、安全管理、內(nèi)容計費等業(yè)務(wù),為達到這一目的,運營商會在網(wǎng)絡(luò)上各網(wǎng)元部署DPI功能,形成識別功能網(wǎng)元,而識別功能網(wǎng)元的DPI功能主要包括協(xié)議應(yīng)用識別能力,報文解析能力。
現(xiàn)有技術(shù)中,在網(wǎng)絡(luò)中的每一個做DPI業(yè)務(wù)的網(wǎng)元均部署有識別功能模塊。IP網(wǎng)絡(luò)流中的數(shù)據(jù)報文需要在網(wǎng)絡(luò)中的每個網(wǎng)元完成識別,然后網(wǎng)元在本機內(nèi)部返回識別結(jié)果并基于識別結(jié)果進行后續(xù)相關(guān)業(yè)務(wù)處理,這就導(dǎo)致整體網(wǎng)絡(luò)執(zhí)行DPI業(yè)務(wù)的時延較大。發(fā)明內(nèi)容
本發(fā)明實施例所要解決的技術(shù)問題在于,提供一種深度報文檢測結(jié)果擴散方法及裝置,以降低整體網(wǎng)絡(luò)中執(zhí)行DPI業(yè)務(wù)的時延。
為了解決上述技術(shù)問題,第一方面,本發(fā)明實施例提供了一種深度報文檢測(DPI) 識別結(jié)果擴散方法,包括
識別功能網(wǎng)元接收網(wǎng)絡(luò)流中的數(shù)據(jù)報文;
對所述數(shù)據(jù)報文進行DPI識別,如果成功識別所述數(shù)據(jù)報文,則將識別得到的第一識別結(jié)果保存至所述識別功能網(wǎng)元的本地流表,并將所述第一識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段;如果無法識別所述數(shù)據(jù)報文,則將第二識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段,所述第二識別結(jié)果為所述識別功能網(wǎng)元創(chuàng)建所述本地流表時的識別結(jié)果初始值;
向第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果或所述第二識別結(jié)果的所述數(shù)據(jù)報文。
在第一方面的第一種可能的實現(xiàn)方式中,所述數(shù)據(jù)報文為IPv4報文或IPv6報文; 當(dāng)所述數(shù)據(jù)報文為IPv4報文時,所述將所述第一識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段,包括將所述第一識別結(jié)果插入所述數(shù)據(jù)報文頭部的選項字段;當(dāng)所述數(shù)據(jù)報文為 IPv6報文時,所述將所述第一識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段,包括將所述第一識別結(jié)果插入所述數(shù)據(jù)報文的擴展頭部字段。
結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述數(shù)據(jù)報文的頭部擴展字段還包含第一識別狀態(tài)碼,用于向所述第一下游設(shè)備指示所述數(shù)據(jù)報文是否攜帶有所述第一識別結(jié)果或第二識別結(jié)果。
結(jié)合第一方 面或第一方面的第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,當(dāng)所述數(shù)據(jù)報文是所述網(wǎng)絡(luò)流中第一個進入所述識別功能網(wǎng)元進行識別的數(shù)據(jù)包時, 則在將所述第二識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段之后,所述方法還包括
在所述數(shù)據(jù)報文的頭部擴展字段插入識別首包標(biāo)記,以使所述第一下游設(shè)備在接收到攜帶有首包標(biāo)記的所述數(shù)據(jù)報文后,向所述識別功能網(wǎng)元發(fā)送攜帶有所述第一識別結(jié)果的響應(yīng)報文;所述響應(yīng)報文還包含有服務(wù)器或用戶設(shè)備在接收到所述數(shù)據(jù)報文后生成響應(yīng)消息;所述首包標(biāo)記用于標(biāo)識所述網(wǎng)絡(luò)流中第一個進入所述識別功能網(wǎng)元進行識別的數(shù)據(jù)包。
接收并解析所述響應(yīng)報文,得到所述第一識別結(jié)果,并將所述第一識別結(jié)果保存至所述本地流表;
將所述響應(yīng)報文攜帶的所述第一識別結(jié)果刪除后向第二下游設(shè)備發(fā)送。
結(jié)合所述第一方面,或所述第一方面的第一、二或第三種可能的實現(xiàn)方式,還提供了所述第一方面的第四種可能的實現(xiàn)方式所述本地流表中設(shè)置有第一反向識別結(jié)果攜帶標(biāo)記,用于指示是否在接收到的響應(yīng)報文的頭部擴展字段插入所述第一識別結(jié)果;所述第一反向識別結(jié)果攜帶標(biāo)記在所述識別功能網(wǎng)元成功識別所述數(shù)據(jù)報文時置為真;
在向所述第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的數(shù)據(jù)報文之后,所述方法還包括
接收所述服務(wù)器或用戶設(shè)備在接收到所述數(shù)據(jù)報文之后發(fā)出的響應(yīng)報文;所述響應(yīng)報文由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述識別功能網(wǎng)元;
判斷所述第一反向識別結(jié)果攜帶標(biāo)記是否為真,如果是,則將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段,并將所述第一反向識別結(jié)果 攜帶標(biāo)記置為假,然后向第二下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的響應(yīng)報文。
結(jié)合所述第一方面,或所述第一方面的第一、二或第三種可能的實現(xiàn)方式,還提供了所述第一方面的第五種可能的實現(xiàn)方式
所述本地流表中設(shè)置有第二反向識別結(jié)果攜帶標(biāo)記,用于指示所述識別功能網(wǎng)元是否在接收到所述數(shù)據(jù)報文之后接收的下一個數(shù)據(jù)報文的頭部擴展字段插入所述第一識別結(jié)果,所述下一個數(shù)據(jù)報文屬于所述網(wǎng)絡(luò)流;
在向所述第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的數(shù)據(jù)報文后,所述方法還包括
接收響應(yīng)報文,所述響應(yīng)報文由所述第一下游設(shè)備發(fā)送至所述識別功能網(wǎng)元,所述響應(yīng)報文攜帶有響應(yīng)消息并且所述響應(yīng)報文的頭部擴展字段攜帶有識別結(jié)果請求信息, 所述響應(yīng)消息由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成,所述識別結(jié)果請求信息用于向所述識別功能網(wǎng)元請求所述第一識別結(jié)果;
解析所述響應(yīng)報文,將所述第二反向識別結(jié)果攜帶標(biāo)記置為真,將所述響應(yīng)報文攜帶的所述識別結(jié)果請求信息刪除后向第二下游設(shè)備發(fā)送,其中,所述響應(yīng)報文的頭部擴展字段還包含第三識別狀態(tài)碼,用于向所述識別功能網(wǎng)元指示所述響應(yīng)報文攜帶有所述識別結(jié)果請求信息;
接收所述網(wǎng)絡(luò)流中的下一個數(shù)據(jù)報文,判斷所述第二反向識別結(jié)果攜帶標(biāo)記是否為真,如果是,則將所述第二反向識別結(jié)果攜帶標(biāo)記置為假,并將所述第一識別結(jié)果插入所述下一個數(shù)據(jù)報文的頭部擴展字段,然后將所述下一個數(shù)據(jù)報文發(fā)送至所述第一下游設(shè)備。
結(jié)合所述第一方面,或所述第一方面的第一、二或第三種可能的實現(xiàn)方式,還提供了所述第一方面的第六種可能的實現(xiàn)方式
如果無法識別所述數(shù)據(jù)報文,則在向所述第一下游設(shè)備發(fā)送攜帶有所述第二識別結(jié)果的數(shù)據(jù)報文之后,所述方法還包括
接收響應(yīng)報文,所述響應(yīng)報文由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成, 并由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述識別功能網(wǎng)元;對所述響應(yīng)報文進行識別,得到所述第一識別結(jié)果,將所述第一識別結(jié)果保存至所述本地流表,并將所述第一識別結(jié)果插入所述識別功能網(wǎng)元接收的下一個數(shù)據(jù)報文的頭部擴展字段,所述下一個數(shù)據(jù)報文屬于所述網(wǎng)絡(luò)流。
第二方面,提供一種識別功能網(wǎng)元,包括
第一接收單元,用于接收網(wǎng)絡(luò)流中的數(shù)據(jù)報文;
第一識別單元,用于對所述數(shù)據(jù)報文進行深度報文檢測(DPI)識別;
第一處理單元,用于在所述第一識別單元成功識別所述數(shù)據(jù)報文時,將識別得到的第一識別結(jié)果保存至所述識別功能網(wǎng)元的本地流表,并將所述第一識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段;在所述第一識別單元無法識別所述數(shù)據(jù)報文時,將第二識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段,所述第二識別結(jié)果為所述識別功能網(wǎng)元創(chuàng)建所述本地流表時的識別結(jié)果初始值;
第一發(fā)送單元,用于向第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果或所述第二識別結(jié)果的所述數(shù)據(jù)報文。
在第二方面的第一種可能的實現(xiàn)方式中,所述第一處理單元還用于在所述數(shù)據(jù)報文的頭部擴展字段插入第一識別狀態(tài)碼,用于向所述第一下游設(shè)備指示所述數(shù)據(jù)報文攜帶有所述第一識別結(jié)果或第二識別結(jié)果。
結(jié)合第二方面,或第二方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,如果所述數(shù)據(jù)報文是所述識別功能網(wǎng)元接收到的所述網(wǎng)絡(luò)流中的第一個數(shù)據(jù)包,則所述第一處理單元還用于,在將所述第二識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段之后, 在所述數(shù)據(jù)報文的頭部擴展字段插入識別首包標(biāo)記,以使所述第一下游設(shè)備在接收到攜帶有首包標(biāo)記的所述數(shù)據(jù)報文后,向所述識別功能網(wǎng)元發(fā)送攜帶有所述第一識別結(jié)果的響應(yīng)報文;所述響應(yīng)報文還包含有服務(wù)器或用戶設(shè)備在接收到所述數(shù)據(jù)報文后生成響應(yīng)消息; 所述首包標(biāo)記用于標(biāo)識所述網(wǎng)絡(luò)流中第一個進入所述識別功能網(wǎng)元進行識別的數(shù)據(jù)包。
結(jié)合第一方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述網(wǎng)元還包括
第二接收單元,用于在所述第一發(fā)送單元向所述第一下游設(shè)備發(fā)送攜帶有所述第二識別結(jié)果和識別首包標(biāo)記的數(shù)據(jù)報文之后,接收響應(yīng)報文,所述響應(yīng)報文攜帶有響應(yīng)消息并且所述響應(yīng)報文的頭部擴展字段攜帶有所述第一識別結(jié)果,所述響應(yīng)消息由服務(wù)器或用戶設(shè)備在接收到所述數(shù)據(jù)報文后生成;
第二處理單 元,用于解析所述響應(yīng)報文以將所述第一識別結(jié)果保存至所述本地流表,然后將所述響應(yīng)報文攜帶的所述第一識別結(jié)果刪除;
第二發(fā)送單元,用于向第二下游設(shè)備發(fā)送所述第二處理單元處理后的響應(yīng)報文。
結(jié)合第二方面,或第二方面的第一種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述網(wǎng)元還包括
第一配置單元,用于在所述本地流表中配置第一反向識別結(jié)果攜帶標(biāo)記,并在所述第一識別單元成功識別所述數(shù)據(jù)報文時,將所述第一反向識別結(jié)果攜帶標(biāo)記置為真;所述第一反向識別結(jié)果攜帶標(biāo)記用于指示是否在接收到的響應(yīng)報文的頭部擴展字段插入所述第一識別結(jié)果,其中,所述響應(yīng)報文由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成,并由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述識別功能網(wǎng)元;
第三接收單元,用于在所述第一發(fā)送單元向所述第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的數(shù)據(jù)報文后,接收所述響應(yīng)報文;
第三處理單元,用于在所述第三接收單元接收到所述響應(yīng)報文時,判斷所述第一反向識別結(jié)果攜帶標(biāo)記是否為真,如果是,則將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段,并將所述第一反向識別結(jié)果攜帶標(biāo)記置為假;
第三發(fā)送單元,用于向所述第二下游設(shè)備發(fā)送插入所述第一識別結(jié)果后的所述響應(yīng)報文。
結(jié)合第二方面,或第二方面的第一種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述網(wǎng)元還包括
第二配置單元,用于在所述本地流表中配置第二反向識別結(jié)果攜帶標(biāo)記,并在第四接收單元接收到響應(yīng)報文時,將所述第二反向識別結(jié)果攜帶標(biāo)記置為真;所述第二反向識別結(jié)果攜帶標(biāo)記用于指示是否在所述識別功能網(wǎng)元接收的下一個數(shù)據(jù)報文的頭部擴展字段插入所述第一識別結(jié)果;
第四接收單元,用于在所述第一發(fā)送單元向所述第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的數(shù)據(jù)報文后,接收響應(yīng)報文,所述響應(yīng)報文由所述第一下游設(shè)備發(fā)送至所述識別功能網(wǎng)元,所述響應(yīng)報文攜帶有響應(yīng)消息并且所述響應(yīng)報文的頭部擴展字段攜帶有識別結(jié)果請求信息,所述響應(yīng)消息由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文或所述網(wǎng)絡(luò)流的其他數(shù)據(jù)報文后生成,所述識別結(jié)果請求信息用于向所述識別功能網(wǎng)元請求所述第一識別結(jié)果;
第四處理單元,用于將所述響應(yīng)報文攜帶的所述識別結(jié)果請求信息刪除;
第四發(fā)送單元,用于向第二下游設(shè)備發(fā)送刪除識別結(jié)果請求信息后的所述響應(yīng)報文;
第五接收單元,用于接收下一個數(shù)據(jù)報文;所述下一個數(shù)據(jù)報文是所述識別功能網(wǎng)元在接收到所述數(shù)據(jù)報文之后,接收到的下一個數(shù)據(jù)報文,且所述下一個數(shù)據(jù)報文屬于所述網(wǎng)絡(luò)流;
第五處理單元,用于判斷所述第二反向識別結(jié)果攜帶標(biāo)記是否為真,如果是則將所述第一識別結(jié)果插入所述下一個數(shù)據(jù)報文的頭部擴展字段;
第五發(fā)送單元,用于將攜帶有所述第一識別結(jié)果的所述下一個數(shù)據(jù)報文發(fā)送至所述第一下游設(shè)備。
結(jié)合第二方面,或第二方面的第一種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述網(wǎng)元還包括
第六接收單元,用 于在所述第一發(fā)送單元向所述第一下游設(shè)備發(fā)送攜帶有所述第二識別結(jié)果的數(shù)據(jù)報文后,接收響應(yīng)報文,所述響應(yīng)報文由服務(wù)器或用戶設(shè)備在接收所述 數(shù)據(jù)報文后生成,并由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述識別功能網(wǎng)元;第二識別單元,用于對所述響應(yīng)報文進行識別;第六處理單元,用于在所述第二識別單元成功識別所述響應(yīng)報文后獲取第一識別 結(jié)果,將所述第一識別結(jié)果保存至所述本地流表,并將所述第一識別結(jié)果插入所述識別功 能網(wǎng)元接收的下一個數(shù)據(jù)報文的頭部擴展字段,所述下一個數(shù)據(jù)報文屬于所述網(wǎng)絡(luò)流。實施本發(fā)明實施例,具有如下有益效果1)識別功能網(wǎng)元對接收到的報文進行業(yè)務(wù)識別并將識別結(jié)果插入報文的頭部擴 展字段進行發(fā)送,從而使其他網(wǎng)元無需進行報文識別即可獲取識別結(jié)果,降低了整體網(wǎng)絡(luò) 進行DPI的時延;2)由于僅識別功能網(wǎng)元對報文進行識別,識別數(shù)據(jù)庫的更新只涉及識別功能網(wǎng) 元,降低了維護成本;3)當(dāng)識別功能網(wǎng)元或擴散網(wǎng)元的本地流表保存的第一識別結(jié)果消失(例如,網(wǎng)元 重啟或故障造成原來保存的所述第一識別結(jié)果消失)時,可以在報文中插入相應(yīng)信息以向 相應(yīng)網(wǎng)元請求第一識別結(jié)果,無需再次進行識別,避免了再次進行識別可能出現(xiàn)的無法完 成識別的現(xiàn)象。


為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可 以根據(jù)這些附圖獲得其他的附圖。圖1是根據(jù)本發(fā)明一種實施例的深度報文檢測結(jié)果擴散方法的流程示意圖;圖2是根據(jù)本發(fā)明一種實施例的深度報文檢測結(jié)果擴散方法的流程示意圖;圖3是根據(jù)本發(fā)明一種實施例的深度報文檢測結(jié)果擴散方法的流程示意圖;圖4是根據(jù)本發(fā)明一種實施例的深度報文檢測結(jié)果擴散方法的流程示意圖;圖5是根據(jù)本發(fā)明一種實施例的深度報文檢測結(jié)果擴散方法的流程示意圖;圖6是根據(jù)本發(fā)明一種實施例的深度報文檢測結(jié)果擴散方法的流程示意圖;圖7是根據(jù)本發(fā)明一種實施例的深度報文檢測結(jié)果擴散方法的流程示意圖;圖8A是根據(jù)本發(fā)明一種實施例的IPv4報文頭部的選項字段的格式示意圖;圖8B是根據(jù)本發(fā)明一種實施例的IPv6報文頭部的擴展報頭字段的格式示意圖;圖9A是根據(jù)本發(fā)明一種實施例的識別功能網(wǎng)元的結(jié)構(gòu)示意圖;圖9B是根據(jù)本發(fā)明一種實施例的識別功能網(wǎng)元的結(jié)構(gòu)示意圖;圖9C是根據(jù)本發(fā)明一種實施例的識別功能網(wǎng)元的結(jié)構(gòu)示意圖;圖10是根據(jù)本發(fā)明一種實施例的識別功能網(wǎng)元的結(jié)構(gòu)示意圖;圖11是根據(jù)本發(fā)明一種實施例的識別功能網(wǎng)元的結(jié)構(gòu)示意圖;圖12是根據(jù)本發(fā)明一種實施例的識別功能網(wǎng)元的結(jié)構(gòu)示意圖;圖13A是根據(jù)本發(fā)明一種實施例的擴散網(wǎng)元結(jié)構(gòu)示意圖;圖13B是根據(jù)本發(fā)明一種實施例的擴散網(wǎng)元的第一處理單元的結(jié)構(gòu)示意圖14是根據(jù)本發(fā)明一種實施例的擴散網(wǎng)元及其第一處理單元的結(jié)構(gòu)示意圖;圖15是圖13B所示實施例中的第一處理單元的另一種結(jié)構(gòu)示意圖;圖16是根據(jù)本發(fā)明一種實施例的擴散網(wǎng)元的結(jié)構(gòu)示意圖;圖17是根據(jù)本發(fā)明一種實施例的擴散網(wǎng)元的結(jié)構(gòu)示意圖;圖18是根據(jù)本發(fā)明一種實施例的識別功能網(wǎng)元的結(jié)構(gòu)示意圖;圖19是根據(jù)本發(fā)明一種實施例的擴散網(wǎng)元的結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。圖1是根據(jù)本發(fā)明一種實施例的深度報文檢測結(jié)果擴散方法的流程示意圖,參照 圖1,該方法包括100 :識別功能網(wǎng)元接收網(wǎng)絡(luò)流中的數(shù)據(jù)報文。102 :對所述數(shù)據(jù)報文進行識別,如果成功識別所述數(shù)據(jù)報文,則將識別得到的第 一識別結(jié)果保存至所述識別功能網(wǎng)元的本地流表,并將所述第一識別結(jié)果插入所述數(shù)據(jù)報 文的頭部擴展字段;如果無法識別所述數(shù)據(jù)報文,則將第二識別結(jié)果插入所述數(shù)據(jù)報文的 頭部擴展字段,所述第二識別結(jié)果為所述識別功能網(wǎng)元創(chuàng)建所述本地流表時的識別結(jié)果初 始值。104:向第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果或第二識別結(jié)果的數(shù)據(jù)報文??蛇x的,在本實施例的一種實現(xiàn)方式中,所述的網(wǎng)絡(luò)流具體可以為IP網(wǎng)絡(luò)流,所 述數(shù)據(jù)報文包括IPv4報文或IPv6報文。當(dāng)所述數(shù)據(jù)報文為IPv4報文時,所述頭部擴展 字段為所述IPv4報文頭部的選項字段,當(dāng)所述數(shù)據(jù)報文為IPv6報文時,所述頭部擴展字段 為所述IPv6報文頭部的擴展報頭字段??蛇x的,在本實施例的一種實現(xiàn)方式中,所述數(shù)據(jù)報文的頭部擴展字段還包含第 一識別狀態(tài)碼,用于向所述第一下游設(shè)備指示所述數(shù)據(jù)報文攜帶有所述第一識別結(jié)果或第 二識別結(jié)果。其中,在102中,每一次將識別結(jié)果信息插入所述數(shù)據(jù)報文的頭部擴展字段后,調(diào) 整IP報文頭長度、IP報文長度以及校驗和(下文簡稱為“做適應(yīng)性調(diào)整”)。本實施例僅由識別功能網(wǎng)元對數(shù)據(jù)報文進行識別,并將識別結(jié)果信息插入數(shù)據(jù)報 文的頭部擴展字段以進行轉(zhuǎn)發(fā),無需在網(wǎng)絡(luò)中的所有網(wǎng)元均進行業(yè)務(wù)識別,降低了整體網(wǎng) 絡(luò)中DPI業(yè)務(wù)導(dǎo)致的時延。此外,由于僅需要識別功能網(wǎng)元對報文進行識別,識別數(shù)據(jù)庫的 更新只涉及識別功能網(wǎng)元,降低了維護成本??蛇x的,在本實施例的一種實現(xiàn)方式中,如果所述數(shù)據(jù)報文是所述IP網(wǎng)絡(luò)流中第 一個進入所述識別功能網(wǎng)元進行識別的數(shù)據(jù)包,則在成功識別或無法識別所述數(shù)據(jù)報文 時,還在所述數(shù)據(jù)報文的頭部擴展字段插入識別首包標(biāo)記,用于標(biāo)識所述IP網(wǎng)絡(luò)流中第一 個進入所述識別功能網(wǎng)元進行識別的數(shù)據(jù)包。示例性的,如下情況的數(shù)據(jù)報文可以插入所 述識別首包標(biāo)記識別功能網(wǎng)元第一次接收到的屬于所述IP網(wǎng)絡(luò)流的數(shù)據(jù)報文;或,識別功能網(wǎng)元由于重啟或故障導(dǎo)致本地流表不再保存有對所述IP網(wǎng)絡(luò)流的第一識別結(jié)果,之后首次接收到的屬于所述IP網(wǎng)絡(luò)流的數(shù)據(jù)報文。
進一步可選的,包含所述第二識別結(jié)果和識別首包標(biāo)記的數(shù)據(jù)報文可以用于向擴散網(wǎng)元(所述擴散網(wǎng)元可以是所述第一下游設(shè)備,也可以是所述第一下游設(shè)備的下游設(shè)備) 請求所述第一識別結(jié)果。例如,在擴散網(wǎng)元的本地流表中保存有所述第一識別結(jié)果的情況下,如果所述識別功能網(wǎng)元無法識別所述數(shù)據(jù)報文,則在向所述第一下游設(shè)備發(fā)送攜帶有所述第二識別結(jié)果和識別首包標(biāo)記的數(shù)據(jù)報文之后,所述方法還包括以下步驟
a:接收響應(yīng)報文,所述響應(yīng)報文由所述第一下游設(shè)備發(fā)送至所述識別功能網(wǎng)元, 所述響應(yīng)報文攜帶有響應(yīng)消息并且所述響應(yīng)報文的頭部擴展字段攜帶有所述第一識別結(jié)果,所述響應(yīng)消息由服務(wù)器或用戶設(shè)備在接收到所述數(shù)據(jù)報文后生成,所述響應(yīng)報文用于將所述第一識別結(jié)果通知所述識別功能網(wǎng)元山解析所述響應(yīng)報文以將所述第一識別結(jié)果保存至所述本地流表;c:將所述響應(yīng)報文攜帶的所述第一識別結(jié)果刪除后向第二下游設(shè)備發(fā)送。其中,可選的,所述響應(yīng)報文的頭部擴展字段中還包含第二識別狀態(tài)碼,用于向所述識別功能網(wǎng)元指示所述響應(yīng)報文攜帶有所述第一識別結(jié)果。
在本實現(xiàn)方式中,如果所述識別功能網(wǎng)元由于重啟或故障導(dǎo)致其原本保存的第一識別結(jié)果消失,可以不對接收到的所述數(shù)據(jù)報文進行識別(或者,可以在無法識別所述數(shù)據(jù)報文的情況下),而從保存有所述第一識別結(jié)果的擴散網(wǎng)元獲取所述第一識別結(jié)果,保證了所述識別功能網(wǎng)元能夠獲取所述第一識別結(jié)果。
可選的,在本實施例的一種實現(xiàn)方式中,所述本地流表中設(shè)置有第一反向識別結(jié)果攜帶標(biāo)記,用于指示所述識別功能網(wǎng)元是否在之后接收到的響應(yīng)報文的頭部擴展字段插入所述第一識別結(jié)果,所述響應(yīng)報文由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成,并由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述識別功能網(wǎng)元,所述第一反向識別結(jié)果攜帶標(biāo)記在所述識別功能網(wǎng)元成功識別所述數(shù)據(jù)報文時置為真;在向所述第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的數(shù)據(jù)報文之后,所述方法還包括以下步驟
a:接收所述響應(yīng)報文;b:判斷所述第一反向識別結(jié)果攜帶標(biāo)記是否為真,如果是,則將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段,將所述第一反向識別結(jié)果攜帶標(biāo)記置為假,然后向第二下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的響應(yīng)報文。其中,可選的,在將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段時,還將第四識別狀態(tài)碼插入所述響應(yīng)報文的頭部擴展字段,用于向所述第二下游設(shè)備指示所述響應(yīng)報文攜帶所述第一識別結(jié)果。
可選的,在本實施例的一種實現(xiàn)方式中,所述本地流表中設(shè)置有第二反向識別結(jié)果攜帶標(biāo)記,用于指示所述識別功能網(wǎng)元是否在接收到所述數(shù)據(jù)報文之后接收的下一個數(shù)據(jù)報文的頭部擴展字段插入所述第一識別結(jié)果,所述下一個數(shù)據(jù)報文屬于所述IP網(wǎng)絡(luò)流; 在向所述第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的數(shù)據(jù)報文后,所述方法還包括以下步驟
a:接收響應(yīng)報文,所述響應(yīng)報文由所述第一下游設(shè)備發(fā)送至所述識別功能網(wǎng)元, 所述響應(yīng)報文攜帶有響應(yīng)消息并且所述響應(yīng)報文的頭部擴展字段攜帶有識別 結(jié)果請求信息,所述響應(yīng)消息由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文或所述IP網(wǎng)絡(luò)流的后續(xù)數(shù)據(jù)報文后生成,所述識別結(jié)果請求信息用于向所述識別功能網(wǎng)元請求所述第一識別結(jié)果;b:解析所述響應(yīng)報文,發(fā)現(xiàn)所述響應(yīng)報文的頭部擴展字段攜帶有所述識別結(jié)果請求信息,則將所述第二反向識別結(jié)果攜帶標(biāo)記置為真,將所述響應(yīng)報文攜帶的所述識別結(jié)果請求信息刪除后向第二下游設(shè)備發(fā)送,其中,所述響應(yīng)報文的頭部擴展字段還包含第三識別狀態(tài)碼, 用于向所述識別功能網(wǎng)元指示所述響應(yīng)報文攜帶有所述識別結(jié)果請求信息;c:接收所述網(wǎng)絡(luò)流中的下一個數(shù)據(jù)報文,判斷所述第二反向識別結(jié)果攜帶標(biāo)記是否為真,如果是,則將所述第二反向識別結(jié)果攜帶標(biāo)記置為假,將所述第一識別結(jié)果插入所述下一個數(shù)據(jù)報文的頭部擴展字段,然后在根據(jù)業(yè)務(wù)配置確定無需丟棄攜帶有所述第一識別結(jié)果的所述下一個數(shù)據(jù)報文時,將其發(fā)送至所述第一下游設(shè)備。
可選的,在本實施例的一種實現(xiàn)方式中,如果無法識別所述數(shù)據(jù)報文,則在向所述第一下游設(shè)備發(fā)送攜帶有所述第二識別結(jié)果的數(shù)據(jù)報文之后,所述方法還包括以下步驟
a:接收響應(yīng)報文,所述響應(yīng)報文由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成,并由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述識別功能網(wǎng)元山對所述響應(yīng)報文進行識別;c:如果成功識別所述響應(yīng)報文從而獲取所述第一識別結(jié)果,則將所述第一識別結(jié)果保存至所述本地流表,并將所述第一識別結(jié)果插入所述識別功能網(wǎng)元接收的下一個數(shù)據(jù)報文的頭部擴展字段,所述下一個數(shù)據(jù)報文屬于所述IP網(wǎng)絡(luò)流;d:如果無法識別所述響應(yīng)報文,則對所述下一個數(shù)據(jù)報文進行識別。
進一步可選的,所述識別功能網(wǎng)元的本地流表中設(shè)置有第三反向識別結(jié)果攜帶標(biāo)記,用于所述識別功能網(wǎng)元根據(jù)所述第三反向識別結(jié)果確定是否在所述下一個數(shù)據(jù)報文的頭部擴展字段插入所述第一識別結(jié)果。此時,本實現(xiàn)方式中的步驟c可以通過以下方式實現(xiàn)
當(dāng)所述識別功能網(wǎng)元成功識別所述響應(yīng)報文時,將所述第三反向識別結(jié)果攜帶標(biāo)記置為真;向第二下游設(shè)備轉(zhuǎn)發(fā)所述響應(yīng)報文,或者將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段,然后再向所述第二下游設(shè)備發(fā)送;接收所述下一個數(shù)據(jù)報文,判斷所述第三反向識別結(jié)果攜帶標(biāo)記是否為真,如果是,則將所述第一識別結(jié)果插入所述下一個數(shù)據(jù)報文的頭部擴展字段,將所述第三反向識別結(jié)果攜帶標(biāo)記置為假,并在根據(jù)業(yè)務(wù)配置確定無需丟棄攜帶有所述第一識別結(jié)果的所述下一個數(shù)據(jù)報文時,將其發(fā)送至所述第一下游設(shè)備。其中,可選的,在將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段時,還將第四識別狀態(tài)碼插入所述響應(yīng)報文的頭部擴展字段,用于向所述第二下游設(shè)備指示所述響應(yīng)報文攜帶所述第一識別結(jié)果。
對于本實施例中上述各種實現(xiàn)方式中的第一、第二、第三和第四識別狀態(tài)碼,示例性的,請參照圖7A和圖7B中的說明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,所述第一、第四識別狀態(tài)碼可以是同一個識別狀態(tài)碼在不同場景中的應(yīng)用。此外,本領(lǐng)域技術(shù)人員也應(yīng)當(dāng)理解,在上述各個實施例中提及的第一、第二和第三反向識別結(jié)果標(biāo)記可以是同一個標(biāo)記在不同場景中的應(yīng)用。
圖2是根據(jù)本發(fā)明一種實施例的深度報文檢測結(jié)果擴散方法的流程示意圖,參照圖2,該方法包括
200 :擴散網(wǎng)元接收網(wǎng)絡(luò)流中的數(shù)據(jù)報文。
202:解析所述 數(shù)據(jù)報文的頭部擴展字段以確定所述數(shù)據(jù)報文的頭部擴展字段攜帶的插入信息。
204 :根據(jù)所述插入信息進行所述擴散網(wǎng)元的本地流表管理。
206 :當(dāng)根據(jù)業(yè)務(wù)配置確定無需丟棄所述數(shù)據(jù)報文時,進行報文轉(zhuǎn)發(fā)處理,包括 向第一下游設(shè)備發(fā)送所述數(shù)據(jù)報文以便所述第一下游設(shè)備根據(jù)所述插入信息進行流表管理,或?qū)⑺鰯?shù)據(jù)報文攜帶的所述插入信息刪除后向所述第一下游設(shè)備發(fā)送。
可選的,所述數(shù)據(jù)報文包括IPv4報文或IPv6報文。當(dāng)所述數(shù)據(jù)報文為IPv4報文時,所述頭部擴展字段為所述IPv4報文頭部的選項字段,當(dāng)所述數(shù)據(jù)報文為IPv6報文時, 所述頭部擴展字段為所述IPv6報文頭部的擴展報頭字段。
本實施例中,擴散網(wǎng)元僅需要解析識別功能網(wǎng)元發(fā)送的數(shù)據(jù)報文的頭部擴展字段以獲取識別結(jié)果信息和執(zhí)行報文轉(zhuǎn)發(fā)處理,無需對數(shù)據(jù)報文進行識別,降低了整體網(wǎng)絡(luò)中 DPI業(yè)務(wù)導(dǎo)致的時延。
可選的,在本實施例的一種實現(xiàn)方式中,204包括以下幾種情況
1:如果所述插入信息包含第一識別結(jié)果,或,包含所述第一識別結(jié)果和第一識別狀態(tài)碼,則將所述第一識別結(jié)果保存至所述本地流表。
2:如果所述插入信息包含第二識別結(jié)果,或,包含所述第二識別結(jié)果和第一識別狀態(tài)碼,則創(chuàng)建或刷新所述本地流表而不保存所述第二識別結(jié)果(即不將所述插入信息攜帶的第二識別結(jié)果保存至所述本地流表,并且該操作并不對所述擴散網(wǎng)元創(chuàng)建所述本地流表產(chǎn)生影響)。
3:如果所述插入信息包含識別結(jié)果請求信息,或,包含所述識別結(jié)果請求信息和第三識別狀態(tài)碼,則創(chuàng)建或刷新所述本地流表。
其中所述第一識別 結(jié)果是所述數(shù)據(jù)報文成功完成深度報文檢測識別時的識別結(jié)果,所述第二識別結(jié)果是所述擴散網(wǎng)元創(chuàng)建所述本地流表時的識別結(jié)果初始值,所述第一識別狀態(tài)碼用于向所述擴散網(wǎng)元指示所述數(shù)據(jù)報文攜帶所述第一識別結(jié)果或第二識別結(jié)果,所述第三識別狀態(tài)碼用于向第二下游設(shè)備指示所述數(shù)據(jù)報文攜帶所述識別結(jié)果請求信息,所述識別結(jié)果請求信息用于向所述第二下游設(shè)備請求所述第一識別結(jié)果??蛇x的,所述第二下游設(shè)備是識別功能網(wǎng)元。
進一步可選的,當(dāng)所述插入信息包含所述第一識別結(jié)果或第二識別結(jié)果時,所述插入信息還包含識別首包標(biāo)記,用于標(biāo)識所述IP網(wǎng)絡(luò)流中第一個進行深度報文檢測識別的數(shù)據(jù)報文。
可選的,在本實施例的一種實現(xiàn)方式中,所述本地流表中設(shè)置有第四反向識別結(jié)果攜帶標(biāo)記,用于所述擴散網(wǎng)元根據(jù)所述第四反向識別結(jié)果攜帶標(biāo)記確定是否將所述第一識別結(jié)果通知所述第二下游設(shè)備。
當(dāng)所述插入信息包含所述識別首包標(biāo)記和第二識別結(jié)果時,204還可以包括以下步驟確定所述本地流表是否保存有所述第一識別結(jié)果,如果是,則將所述第四反向識別結(jié)果攜帶標(biāo)記置為真。在206之后,所述方法還可以包括以下步驟
a:所述識別擴散網(wǎng)元接收響應(yīng)報文,所述響應(yīng)報文由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成,并由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述擴散網(wǎng)元山判斷所述第四反向識別結(jié)果攜帶標(biāo)記是否為真,如果是則將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段,將所述第四反向識別結(jié)果攜帶標(biāo)記置為假向所述第二下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的響應(yīng)報文,以將所述第一識別結(jié)果通知所述第二下游設(shè)備。
進一步可選的,在本實現(xiàn)方式的步驟b中,當(dāng)所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段時,還將第二識別狀態(tài)碼插入所述響應(yīng)報文的頭部擴展字段,以向所述第二下游設(shè)備指示所述響應(yīng)報文攜帶有所述第一識別結(jié)果。
在本實現(xiàn)方式中,擴散網(wǎng)元可以在接收攜帶有所述第二識別結(jié)果和識別首包標(biāo)記的數(shù)據(jù)報文后,在本地流表保存有所述第一識別結(jié)果的情況下,將所述第一識別結(jié)果通知所述第二下游設(shè)備(例如識別功能網(wǎng)元),避免出現(xiàn)所述第二下游設(shè)備由于無法識別后續(xù)的數(shù)據(jù)報文而無法獲取所述第一識別結(jié)果的問題??蛇x的,在本實施例的一種實現(xiàn)方式中, 所述本地流表中設(shè)置有識別結(jié)果等待報文計數(shù),用于計算所述擴散網(wǎng)元在獲取所述第一識別結(jié)果之前所接收到的數(shù)據(jù)報文的數(shù)目。204還可以包括以下步驟在所述本地流表未保存有所述第一識別結(jié)果的情況下,如果所述插入信息不包含所述第一識別結(jié)果,或者所述插入信息包含所述第一識別結(jié)果但卻未將所述第一識別結(jié)果保存至所述本地流表,則判斷所述識別結(jié)果等待報文計數(shù)是否超過預(yù)設(shè)閾值,如果是,則向所述第二下游設(shè)備請求所述第一識別結(jié)果。
進一步可選的,可以通過以下方式向所述第二下游設(shè)備請求所述第一識別結(jié)果
在所述本地流表中設(shè)置第五反向識別結(jié)果攜帶標(biāo)記,用于所述擴散網(wǎng)元根據(jù)所述第五反向識別結(jié)果攜帶標(biāo)記確定是否向所述第二下游設(shè)備請求所述第一識別結(jié)果。在204 中,如果判斷所述識別結(jié)果等待報文計數(shù)超過預(yù)設(shè)閾值,則將所述第五反向識別結(jié)果攜帶標(biāo)記置為真。然后,在206后,所述方法還包括以下步驟
a:接收響應(yīng)報文,所述響應(yīng)報文由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成,并由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述擴散網(wǎng)元山判斷所述第五反向識別結(jié)果攜帶標(biāo)記為真,則將所述識別結(jié)果請求信息插入所述響應(yīng)報文的頭部擴展字段,將所述第五反向識別結(jié)果攜帶標(biāo)記置為假,將所述識別結(jié)果等待報文計數(shù)清零;c:向所述第二下游設(shè)備發(fā)送攜帶有所述識別結(jié)果請求信息的響應(yīng)報文,以向所述第二下游設(shè)備請求所述第一識別結(jié)果,以便所述第二下游設(shè)備在接收到攜帶有所述識別結(jié)果請求信息的響應(yīng)報文后,在接收到屬于所述IP網(wǎng)絡(luò)流的下一個數(shù)據(jù)報文時,在所述下一個數(shù)據(jù)報文的頭部擴展字段插入所述第一識別結(jié)果然后再發(fā)送至所述擴散網(wǎng)元;d:接收所述下一個數(shù)據(jù)報文并進行解析, 將所述第一識別結(jié)果保存至所述本地流表從而獲取所述第一識別結(jié)果。
在本實現(xiàn)方式中,如果擴散網(wǎng)元在預(yù)設(shè)閾值范圍內(nèi)沒有獲取所述第一識別結(jié)果 (即沒有將所述第一識別結(jié)果保存至本地流表),則會主動發(fā)起識別結(jié)果請求,以向所述第二下游設(shè)備(例如識別功能網(wǎng)元)請求所述第一識別結(jié)果。避免了所述擴散網(wǎng)元由于故障、 配置等原因而無法獲取所述第一識別結(jié)果的問題。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,上述第四、第五反向識別結(jié)果攜帶標(biāo)記可以是同一個標(biāo)記在不同場景中的應(yīng)用。
圖3是根據(jù)本發(fā)明一種實施例的深度報文檢測結(jié)果擴散方法的流程示意圖,參照圖3,所述方法包括
300:擴散網(wǎng)元接收響應(yīng)報文,所述響應(yīng)報文由第一下游設(shè)備發(fā)送至所述擴散網(wǎng)元,所述響應(yīng)報文攜帶有響應(yīng)信息并且所述響應(yīng)報文的頭部擴展字段攜帶有插入信息,所述響應(yīng)信息由服務(wù)器或用戶設(shè)備在接收IP網(wǎng)絡(luò)流中的數(shù)據(jù)報文后生成。
302:解析所述響應(yīng)報 文的頭部擴展字段以確定所述響應(yīng)報文的頭部擴展字段攜帶的所述插入信息。
304 :根據(jù)所述插入信息進行所述擴散網(wǎng)元的本地流表管理。
306 :進行報文轉(zhuǎn)發(fā)處理,包括向第二下游設(shè)備發(fā)送所述響應(yīng)報文以便所述第二下游設(shè)備根據(jù)所述插入信息進行流表管理,或?qū)⑺鲰憫?yīng)報文攜帶的所述插入信息刪除后向所述第二下游設(shè)備發(fā)送。
可選的,在本實施例的一種實現(xiàn)方式中,304包括如果所述插入信息包含所述第一識別結(jié)果和第四識別狀態(tài)碼,則將所述第一識別結(jié)果保存至所述本地流表中,所述第一識別結(jié)果是所述IP網(wǎng)絡(luò)流成功完成深度報文檢測識別時的識別結(jié)果,所述第四識別狀態(tài)碼用于向所述擴散網(wǎng)元指示所述響應(yīng)報文攜帶有所述第一識別結(jié)果。
在本實現(xiàn)方式中,擴散網(wǎng)元能夠通過解析所述響應(yīng)報文的頭部擴展字段從而獲取所述第一識別結(jié)果。可選的,在本實施例的一種實現(xiàn)方式中,如果所述插入信息包含識別結(jié)果請求信息,或包含所述識別結(jié)果請求信息和第三識別狀態(tài)碼,則刷新所述本地流表后向所述第二下游設(shè)備轉(zhuǎn)發(fā)所述響應(yīng)報文;如果所述插入信息包含所述第一識別結(jié)果和第二識別狀態(tài)碼,則刷新所述本地流表而不保存所述第一識別結(jié)果,然后向所述第二下游設(shè)備轉(zhuǎn)發(fā)所述響應(yīng)報文。
下面以IPv4數(shù)據(jù)報文為例,示例性地對本發(fā)明實施例進行描述。
圖4是根據(jù)本發(fā)明一種實施例的深度報文檢測結(jié)果擴散方法的流程示意圖,參照圖4,該方法包括
步驟1:用戶發(fā)起業(yè)務(wù)訪問,如HTTP業(yè)務(wù)訪問。
步驟2:識別功能網(wǎng)元I完成對數(shù)據(jù)報文的識別,將獲取的第一識別結(jié)果保存至本地流表并將第一識別結(jié)果插入數(shù)據(jù)報文的IP選項字段后做適應(yīng)性調(diào)整??蛇x的,如果所述數(shù)據(jù)報文是其所屬IP網(wǎng)絡(luò)流中第一個進入識別功能網(wǎng)元I進行識別的數(shù)據(jù)包,還可以將識別首包標(biāo)記隨第一識別結(jié)果插入IP選項字段。可選的,再將第一識別結(jié)果插入數(shù)據(jù)報文的 IP選項字段時,還可以插入第一識別狀態(tài)碼,用于向下游網(wǎng)元指示該數(shù)據(jù)報文攜帶第一識別結(jié)果。
步驟3:識別功能網(wǎng)元I發(fā)送攜帶有第一識別結(jié)果的數(shù)據(jù)報文至擴散網(wǎng)元2(識別功能網(wǎng)元1,以及擴散網(wǎng)元2至擴散網(wǎng)元N中的任一網(wǎng)元發(fā)送數(shù)據(jù)報文的前提都是業(yè)務(wù)配置未導(dǎo)致數(shù)據(jù)報文被丟棄。例如,如果一個網(wǎng)元的業(yè)務(wù)配置為阻斷或限流從而導(dǎo)致數(shù)據(jù)報文被丟棄,則該網(wǎng)元不轉(zhuǎn)發(fā)當(dāng)前數(shù)據(jù)報文,當(dāng)前流程結(jié)束。該前提在本發(fā)明的其他實施例中同樣適用,為了更清楚的描述本發(fā)明各個實施例,下文均默認(rèn)為業(yè)務(wù)配置未導(dǎo)致數(shù)據(jù)報文丟棄)。
步驟4:擴散網(wǎng)元2進行報文轉(zhuǎn)發(fā)處理。具體的,網(wǎng)元2解析數(shù)據(jù)報文的IP選項字段,將第一識別結(jié)果保存至本地流表從而獲取第一識別結(jié)果,然后執(zhí)行步驟5 。
步驟5 :擴散網(wǎng)元2將攜帶第一識別結(jié)果的數(shù)據(jù)報文向下游設(shè)備發(fā)送。
圖3中僅圖示了擴散網(wǎng)元2和擴散網(wǎng)元N,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解在網(wǎng)元2和網(wǎng)元N之間還可以有任意數(shù)目的擴散網(wǎng)元,這些網(wǎng)元所執(zhí)行的操作可以與網(wǎng)元2執(zhí)行的操作相同,此處不贅述。在網(wǎng)元N之后還可以有任意數(shù)目普通網(wǎng)元,所述普通網(wǎng)元無需對數(shù)據(jù)報文進行識別,也無需獲取和擴散第一識別結(jié)果。
步驟6 :擴散網(wǎng)元N進行報文轉(zhuǎn)發(fā)處理。具體的,將數(shù)據(jù)報文的IP選項字段中的插入信息刪除并做適應(yīng)性調(diào)整,然后執(zhí)行步驟7。
可選的,在本實施例的一種實現(xiàn)方式中,網(wǎng)元N可以保留數(shù)據(jù)報文攜帶的插入信息,以為用戶提供業(yè)務(wù)識別服務(wù)。
步驟7:發(fā)送數(shù)據(jù)報文。
在本發(fā)明的一種實施例中,如果識別功能網(wǎng)元無法識別當(dāng)前數(shù)據(jù)報文,則可以繼續(xù)對后續(xù)的數(shù)據(jù)報文進行識別。在識別功能網(wǎng)元完成對數(shù)據(jù)報文的識別的情況下,對于該數(shù)據(jù)報文所屬IP網(wǎng)絡(luò)流的后續(xù)數(shù)據(jù)報文無須進行識別,可直接應(yīng)用本地流表中保存的第一識別結(jié)果進行業(yè)務(wù)處理。
當(dāng)然,識別功能網(wǎng)元可以部署在網(wǎng)絡(luò)中的任意位置,并且識別功能網(wǎng)元也可能無法在一次識別中就獲取第一識別結(jié)果,例如,參照圖5,圖5是根據(jù)本發(fā)明一種實施例的深度報文檢測結(jié)果擴散方法的流程示意圖,該方法包括
步驟1:用戶發(fā)起業(yè)務(wù)訪問。
步驟2 :擴散網(wǎng)元I接收到數(shù)據(jù)報文,進行報文轉(zhuǎn)發(fā)處理。具體的,創(chuàng)建或刷新流表(例如,刷新網(wǎng)絡(luò)流的訪問時間等信息),然后將數(shù)據(jù)報文發(fā)送至識別功能網(wǎng)元2。
步驟3 :識別功能網(wǎng)元2對接收到的數(shù)據(jù)報文進行識別,無法識別,將第二識別結(jié)果和識別首包標(biāo)記插入數(shù)據(jù)報文的IP選項字段并做適應(yīng)性調(diào)整。然后,將經(jīng)過上述處理后數(shù)據(jù)報文發(fā)送至擴散網(wǎng)元3??蛇x的,當(dāng)將第二識別結(jié)果和識別首包標(biāo)記插入數(shù)據(jù)報文的 IP選項字段時,還可以插入第一識別狀態(tài)碼,用于向下游網(wǎng)元指示數(shù)據(jù)報文攜帶有第二識別結(jié)果。
步驟4 :擴散網(wǎng)元3進行報文轉(zhuǎn)發(fā)處理。具體的,網(wǎng)元3解析數(shù)據(jù)報文的IP選項字段,發(fā)現(xiàn)只有識別首包標(biāo)記且識別結(jié)果為初始值(即第二識別結(jié)果),則刷新或創(chuàng)建流表而不保存識別結(jié)果,然后轉(zhuǎn)發(fā)數(shù)據(jù)報文至下游網(wǎng)元。
圖5中僅圖示了擴散網(wǎng)元1、擴散網(wǎng)元3和擴散網(wǎng)元N,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解, 在網(wǎng)元I和網(wǎng)元2之間,以及在網(wǎng)元3和網(wǎng)元N之間還可以有任意數(shù)目的擴散網(wǎng)元。在網(wǎng)元3和網(wǎng)元N之間的網(wǎng)元在上行方向和下行方向?qū)笪乃鶊?zhí)行的操作可以與網(wǎng)元3執(zhí)行的操作相同,此處不贅述。
步驟5 :擴散網(wǎng)元N進行報文轉(zhuǎn)發(fā)處理。具體的,解析數(shù)據(jù)報文的IP選項字段,發(fā)現(xiàn)只有識別首包標(biāo)記,識別結(jié)果為初始默認(rèn)值,則創(chuàng)建或刷新流表而不保存識別結(jié)果。將數(shù)據(jù)報文的IP選項字段中的插入信息刪除并做適應(yīng)性調(diào)整,然后將數(shù)據(jù)報文發(fā)送至對端用戶或服務(wù)器。
步驟6 :擴散網(wǎng)元N接收到對端用戶或服務(wù)器發(fā)送的響應(yīng)報文,進行報文轉(zhuǎn)發(fā)處理。具體的,解析該響應(yīng)報文的IP選項字段發(fā)現(xiàn)不含有插入信息,則只刷新流表,并轉(zhuǎn)發(fā)響應(yīng)報文至擴散網(wǎng)元3。
步驟7:請參照步驟6。
步驟8 :識別功能 網(wǎng)元2對響應(yīng)報文進行識別并且成功識別從而獲取第一識別結(jié)果,進行報文處理和流表管理。具體的,將第一識別結(jié)果保存至本地流表,并將本地流表中預(yù)定義的反向識別結(jié)果攜帶標(biāo)記(此處的反向識別結(jié)果攜帶標(biāo)記可以是上行識別結(jié)果攜帶標(biāo)記)置為真,將第一識別結(jié)果插入響應(yīng)報文的IP選項字段并做適應(yīng)性調(diào)整,然后向下游發(fā)送響應(yīng)報文??蛇x的,在將第一識別結(jié)果插入響應(yīng)報文的IP選項字段時,還可以插入第四識別狀態(tài)碼,用于向下游的擴散網(wǎng)元指示響應(yīng)報文攜帶有第一識別結(jié)果。
步驟9 :擴散網(wǎng)元I接收到攜帶第一識別結(jié)果的響應(yīng)報文,進行報文轉(zhuǎn)發(fā)處理。具體的,解析數(shù)據(jù)報文的IP選項字段,發(fā)現(xiàn)其攜帶有第一識別結(jié)果,則將第一識別結(jié)果保存至本地流表。然后,可選的,網(wǎng)元I直接轉(zhuǎn)發(fā)響應(yīng)報文至用戶設(shè)備;或者,網(wǎng)元I將響應(yīng)報文中的插入信息刪除并做適應(yīng)性調(diào)整后發(fā)送至用戶設(shè)備。
步驟10 :擴散網(wǎng)元I接收到同一 IP網(wǎng)絡(luò)流的后續(xù)業(yè)務(wù)報文,進行報文轉(zhuǎn)發(fā)處理。 具體的,判斷本地流表保存有對當(dāng)前數(shù)據(jù)報文所屬IP網(wǎng)絡(luò)流的第一識別結(jié)果,則刷新流表,根據(jù)第一識別結(jié)果進行業(yè)務(wù)處理以及發(fā)送數(shù)據(jù)報文。
步驟11 :識別功能網(wǎng)元2接收到數(shù)據(jù)報文,不進行識別,進行報文處理和流表管理。具體的,判斷所述反向識別結(jié)果攜帶標(biāo)記為真,則將第一識別結(jié)果插入數(shù)據(jù)報文的IP 選項字段并做適應(yīng)性調(diào)整,將所述反向識別結(jié)果攜帶標(biāo)記置為假,然后發(fā)送經(jīng)過上述處理的數(shù)據(jù)報文。可選的,在將第一識別結(jié)果插入數(shù)據(jù)報文的IP選項字段時,還可以插入第一識別狀態(tài)碼。
之后,網(wǎng)元3和網(wǎng)元N所執(zhí)行的操作請參照圖3所示實施例中的網(wǎng)元2和網(wǎng)元N 執(zhí)行的操作,此處不贅述。
本實施例通過在本地流表預(yù)定義反向識別攜帶標(biāo)記,以便在成功識別響應(yīng)報文后,將第一識別結(jié)果插入之后接收到的下一個數(shù)據(jù)報文的IP選項字段,實現(xiàn)了第一識別結(jié)果的快速擴散。
在本發(fā)明的另一種實施例中,參照圖5,假設(shè)網(wǎng)絡(luò)中沒有擴散網(wǎng)元1,識別功能網(wǎng)元2直接面向用戶。在這種情況下,在步驟8中,識別功能網(wǎng)元2進行報文處理和流表管理包括將獲取的第一識別結(jié)果保存至本地流表,將本地流表中預(yù)定義的反向識別結(jié)果攜帶標(biāo)記置為真,然后可選的,網(wǎng)元2轉(zhuǎn)發(fā)響應(yīng)報文,或者,網(wǎng)元2將第一識別結(jié)果插入響應(yīng)報文的IP選項字段并做適應(yīng)性調(diào)整后發(fā)送響應(yīng)報文給用戶設(shè)備。其他網(wǎng)元所執(zhí)行的操作保持不變。
在本發(fā)明的再一種實施例中,參照圖5,如果在步驟8中,識別功能網(wǎng)元2無法識別響應(yīng)報文,則識別功能網(wǎng)元2在步驟11中,對接收到的數(shù)據(jù)報文進行識別。
圖6是根據(jù)本發(fā)明一種實施例的深度報文檢測結(jié)果擴散方法的流程示意圖,參照圖6,該方法包括
600 :識別功能網(wǎng)元接收到IP網(wǎng)絡(luò)流中的數(shù)據(jù)報文并進行識別,如果無法識別則執(zhí)行601及其后續(xù)步驟,否則執(zhí)行606及其后續(xù)步驟。
601 :識別功能網(wǎng)元進行報文轉(zhuǎn)發(fā)處理。具體的,將第二識別結(jié)果插入數(shù)據(jù)報文的 IP選項字段并做適應(yīng)性調(diào)整,然后進行后續(xù)業(yè)務(wù)處理(包括阻斷、限流、計費等業(yè)務(wù),本發(fā)明對此不做限制)。其中,如果識別功能網(wǎng)元接收到數(shù)據(jù)報文屬于以下情況,則數(shù)據(jù)報文的IP 選項字段還插入有識別首包標(biāo)記(該標(biāo)記用于標(biāo)識接收到的數(shù)據(jù)報文所屬IP網(wǎng)絡(luò)流中第一個進入識別功能網(wǎng)元進行識別的數(shù)據(jù)包)1、識別功能網(wǎng)元第一次接收到屬于所述IP網(wǎng)絡(luò)流的數(shù)據(jù)報文;2、識別功能網(wǎng)元由于重啟或故障導(dǎo)致本地流表不再保存有對所述 IP網(wǎng)絡(luò)流的第一識別結(jié)果,之后首次接收到屬于所述IP網(wǎng)絡(luò)流的數(shù)據(jù)報文。
602 :識別功能網(wǎng)元下游的各擴散網(wǎng)元接收到數(shù)據(jù)報文,進行報文解析。如果解析結(jié)果不滿足第一條件,則執(zhí)行603 ;如果解析結(jié)果滿足第一條件卻不滿足第二條件,則執(zhí)行604 ;如果解析結(jié)果同時滿足第一條件和第二條件,則執(zhí)行605。
其中,第一條件為解析數(shù)據(jù)報文的IP選項字段,確定其包含第二識別結(jié)果和識別首包標(biāo)記。第二條件為當(dāng)前進行數(shù)據(jù)報文解析的擴散網(wǎng)元的本地流表中保存有第一識別結(jié)果。
603 :不滿足第一條件的擴散網(wǎng)元進行報文轉(zhuǎn)發(fā)處理。
例如,各下游網(wǎng)元中的當(dāng)前擴散網(wǎng)元接收到數(shù)據(jù)報文,該數(shù)據(jù)報文僅包含第二識別結(jié)果,則刷新或創(chuàng)建流表,然后向下游網(wǎng)元轉(zhuǎn)發(fā)該數(shù)據(jù)報文,或者將該數(shù)據(jù)報文中的插入信息刪除后向下游網(wǎng)元發(fā)送;再例如,各下游網(wǎng)元中的當(dāng)前擴散網(wǎng)元接收到數(shù)據(jù)報文,該數(shù)據(jù)報文不包含插入信息,則向下游轉(zhuǎn)發(fā)該數(shù)據(jù)報文。
其中,如果當(dāng)前擴散網(wǎng)元是面向用戶/服務(wù)器的網(wǎng)元,之后的后續(xù)處理步驟可以參照圖5所示實施例,由識別功能網(wǎng)元對響應(yīng)報文進行識別。如果完成對響應(yīng)報文的識別則執(zhí)行圖5所示實施例的相應(yīng)步驟;如果未完成對響應(yīng)報文的識別,則繼續(xù)對后續(xù)接收的數(shù)據(jù)報文進行識別,依此類推。
604 :滿足第一條件而不滿足第二條件的擴散網(wǎng)元進行報文轉(zhuǎn)發(fā)處理。例如,下游的當(dāng)前擴散網(wǎng)元接收到數(shù)據(jù)報文,該數(shù)據(jù)報文僅包含第二識別結(jié)果和識別首包標(biāo)記,如果當(dāng)前擴散網(wǎng)元沒有本地流表(例如當(dāng)前網(wǎng)元重啟導(dǎo)致其本地流表消失),則創(chuàng)建流表,然后轉(zhuǎn)發(fā)數(shù)據(jù)報文,或者將數(shù)據(jù)報文中的插入信息刪除后發(fā)送;如果當(dāng)前網(wǎng)元的本地流表中未保存第一識別結(jié)果,則進行流表刷新(例如,刷新當(dāng)前IP網(wǎng)絡(luò)流的訪問時間)后轉(zhuǎn)發(fā)數(shù)據(jù)報文,或者將數(shù)據(jù)報文中的插入信息刪除后發(fā)送。
其中,如果當(dāng)前擴散網(wǎng)元是面向服務(wù)器/用戶的網(wǎng)元,之后的處理步驟與上述603 的后續(xù)處理步驟相同,此處不再贅述。
605 :滿足第一條件和第二條件的下游網(wǎng)元進行報文轉(zhuǎn)發(fā)處理。在這種情況下,當(dāng)前擴散網(wǎng)元將數(shù)據(jù)報文中的插入信息認(rèn)為是識別功能網(wǎng)元向其請求第一識別結(jié)果。所以, 當(dāng)前擴散網(wǎng)元將數(shù)據(jù)報文的IP選項字段中的插入信息刪除并做適應(yīng)性調(diào)整后向下游網(wǎng)元發(fā)送處理后的數(shù)據(jù)報文(或者,轉(zhuǎn)發(fā)攜帶有插入信息的數(shù)據(jù)報文),并將第一識別結(jié)果插入之后接收到的響應(yīng)報文的IP選項字段??蛇x的,在將第一識別結(jié)果插入之后接收到的響應(yīng)報文的IP選項字段時,還可以插入第二識別狀態(tài)碼,用于向識別功能網(wǎng)元指示該響應(yīng)報文攜帶有第一識別結(jié)果。具體的,可以通過以下步驟實現(xiàn)
在當(dāng)前擴散網(wǎng)元的本地流表中設(shè)置有反向識別結(jié)果攜帶標(biāo)記(此處的反向識別結(jié)果攜帶標(biāo)記可以是下行識別結(jié)果攜帶標(biāo)記);當(dāng)前擴散網(wǎng)元確定接收到的數(shù)據(jù)報文攜帶有第二識別結(jié)果和識別首包標(biāo)記,并且本地流表保存有第一識別結(jié)果,則將反向識別結(jié)果攜帶標(biāo)記置為真,刪除數(shù)據(jù)報文的IP選項字段中的插入信息并做適應(yīng)性調(diào)整后進行報文發(fā)送;之后,接收到響應(yīng)報文時,判斷反向識別結(jié)果攜帶標(biāo)記是否為為真 ,如果是,則將所述第一識別結(jié)果(或第一識別結(jié)果和第二識別狀態(tài)碼)插入該響應(yīng)報文的IP選項字段并做適應(yīng)性調(diào)整,將所述反向識別結(jié)果攜帶標(biāo)記置為假,然后發(fā)送上述處理后的響應(yīng)報文;識別功能網(wǎng)元接收到上述響應(yīng)報文(響應(yīng)報文可能經(jīng)由其他擴散網(wǎng)元轉(zhuǎn)發(fā)。當(dāng)其他擴散網(wǎng)元接收到響應(yīng)報文時,解析發(fā)現(xiàn)其攜帶第一識別結(jié)果和第二識別狀態(tài)碼,則不對響應(yīng)報文進行處理, 直接向下游轉(zhuǎn)發(fā)),解析該響應(yīng)報文的IP選項字段獲取第一識別結(jié)果,將第一識別結(jié)果保存至本地流表,刪除該響應(yīng)報文中的插入信息并做適應(yīng)性調(diào)整后發(fā)送。
顯然,602、603、604和605可以是一個循環(huán)執(zhí)行過程,直至識別功能網(wǎng)元下游的所有擴散單元均根據(jù)其滿足的條件執(zhí)行完相應(yīng)的操作后結(jié)束。
606 :識別功能網(wǎng)元進行報文處理和流表管理。
可選的,對于606及其后續(xù)步驟的描述請參照圖4所示實施例中的相應(yīng)描述。
可選的,606及其后續(xù)步驟包括以下內(nèi)容
a:識別功能網(wǎng)元的本地流表中預(yù)定義有反向識別結(jié)果攜帶標(biāo)記(此處的反向識別結(jié)果攜帶標(biāo)記可以是下行識別結(jié)果攜帶標(biāo)記),當(dāng)成功識別數(shù)據(jù)報文時,將獲取的第一識別結(jié)果保存至本地流表,將第一識別結(jié)果插入數(shù)據(jù)報文的IP選項字段并做適應(yīng)性調(diào)整,將所述反向識別結(jié)果攜帶標(biāo)記置為真,然后發(fā)送上述處理后的數(shù)據(jù)報文。
b:各下游網(wǎng)元接收到數(shù)據(jù)報文,進行報文轉(zhuǎn)發(fā)處理。例如,請參照圖4所示實施例中的步驟3至步驟7。
c下行方向上,識別功能網(wǎng)元上游各擴散網(wǎng)元接收響應(yīng)報文,轉(zhuǎn)發(fā)至識別功能網(wǎng)元。例如,請參照圖4所示實施例中的步驟6至步驟7。
d識別功能網(wǎng)元接收到響應(yīng)報文,判斷所述反向識別結(jié)果攜帶標(biāo)記為真,則將第一識別結(jié)果插入響應(yīng)報文的IP選項字段并做適應(yīng)性調(diào)整,將所述反向識別結(jié)果攜帶標(biāo)記置為假,然后發(fā)送響應(yīng)報文。
本實施例可以實現(xiàn)
在各個網(wǎng)元已經(jīng)獲取第一識別結(jié)果的情況下,如果識別功能網(wǎng)元故障或重啟(或者,識別功能網(wǎng)元及其下游任一網(wǎng)元故障或重啟),當(dāng)識別功能網(wǎng)元接收到上行方向的數(shù)據(jù)流時,可以通過向其下游的擴散網(wǎng)元請求第一識別結(jié)果從而獲取第一識別結(jié)果。如果識別功能網(wǎng)元故障或重啟,之后接收到下行方向的數(shù)據(jù)流,此時網(wǎng)絡(luò)中的各個網(wǎng)元可以在下行方向上只轉(zhuǎn)發(fā)報文和刷新流表,然后由識別功能網(wǎng)元對接下來的上行數(shù)據(jù)報文進行相應(yīng)處理(例如插入識別首包標(biāo)記和第二識別結(jié)果)。而在現(xiàn)有技術(shù)中,當(dāng)部署識別功能的網(wǎng)元重啟時,對于已經(jīng)完成部分?jǐn)?shù)據(jù)交互的IP網(wǎng)絡(luò)流,由于識別模塊可能無法獲取到對應(yīng)的特征,可能出現(xiàn)無法完成識別的情況。
本發(fā)明還提供了一種故障網(wǎng)元獲取第一識別結(jié)果的方法。參照圖7,圖7是根據(jù)本發(fā)明一種實施例的深度報文檢測結(jié)果擴散方法的流程示意圖,該方法包括
本實施例的背景為識別功能網(wǎng)元I已經(jīng)完成了對數(shù)據(jù)報文的識別,其他各網(wǎng)元均保存有第一識別結(jié)果。在發(fā)送上行中間數(shù)據(jù)流的過程中,擴散網(wǎng)元2已經(jīng)接收到超過預(yù)設(shè)閾值的數(shù)據(jù)報文,但仍未獲取第一識別結(jié)果(例如擴散網(wǎng)元2發(fā)生故障導(dǎo)致這種情況發(fā)生)。
步驟1:用戶發(fā)送中間數(shù)據(jù)至識別功能網(wǎng)元I。
步驟2 :識別功能網(wǎng)元I接收到數(shù)據(jù)報文,由于之前已經(jīng)獲取了該數(shù)據(jù)報文所屬IP 網(wǎng)絡(luò)流的第一識別結(jié)果,所以刷新流表和進行相應(yīng)業(yè)務(wù)處理,然后轉(zhuǎn)發(fā)數(shù)據(jù)報文。
步驟3至步驟 8 :擴散網(wǎng)元2發(fā)送包含識別結(jié)果請求信息的報文以便向識別功能網(wǎng)元I請求第一識別結(jié)果,具體的
步驟3 :擴散網(wǎng)元2收到數(shù)據(jù)報文后,判斷識別結(jié)果等待報文計數(shù)超過預(yù)設(shè)閾值 (即網(wǎng)元2已經(jīng)接收到超過預(yù)設(shè)閾值的數(shù)據(jù)報文,但仍未獲取第一識別結(jié)果),將本地流表中預(yù)定義的反向識別結(jié)果攜帶標(biāo)記(此處的反向識別結(jié)果攜帶標(biāo)記可以是下行識別結(jié)果攜帶標(biāo)記)置為真,將識別結(jié)果請求信息(該識別結(jié)果請求信息可以包含本地流表中的識別結(jié)果)插入數(shù)據(jù)報文的IP選項字段并做適應(yīng)性調(diào)整,然后發(fā)送數(shù)據(jù)報文。可選的,在將識別結(jié)果請求信息插入數(shù)據(jù)報文的IP選項字段時,還可以插入第三識別狀態(tài)碼,用于向識別功能網(wǎng)元指示該數(shù)據(jù)報文攜帶識別結(jié)果請求信息,從而向識別功能網(wǎng)元請求第一識別結(jié)果。
在本實施例的一種實現(xiàn)方式中,在擴散網(wǎng)元的本地流表中未保存所述第一識別結(jié)果的情況下,擴散網(wǎng)元每次接收到數(shù)據(jù)報文,都解析其擴展字段,如果該數(shù)據(jù)報文未攜帶第一識別結(jié)果,或者該數(shù)據(jù)報文攜帶有第一識別結(jié)果而擴散網(wǎng)元卻未能將第一識別結(jié)果保存至本地流表,則將本地流表中的識別結(jié)果等待報文計數(shù)加一個單位值;如果數(shù)據(jù)報文的頭部擴展字段攜帶第一識別結(jié)果,且擴散網(wǎng)元卻將第一識別結(jié)果保存至本地流表,則將識別結(jié)果等待報文計數(shù)清零。
步驟4 :擴散網(wǎng)元3接收到數(shù)據(jù)報文進行報文轉(zhuǎn)發(fā)處理。具體的,解析數(shù)據(jù)報文的 IP選項字段,確定其攜帶的是識別結(jié)果請求信息則不進行報文處理,只刷新流表和進行業(yè)務(wù)處理。然后向下游轉(zhuǎn)發(fā)數(shù)據(jù)報文。
步驟5 :擴散網(wǎng)元N接收到數(shù)據(jù)報文進行報文轉(zhuǎn)發(fā)處理。具體的,確定該數(shù)據(jù)報文攜帶的是識別結(jié)果請求信息,只刷新流表和進行業(yè)務(wù)處理,將數(shù)據(jù)報文中的識別結(jié)果請求信息刪除并做適應(yīng)性調(diào)整。然后發(fā)送數(shù)據(jù)報文。
步驟6 :擴散網(wǎng)元N接收到響應(yīng)報文,刷新流表并進行相關(guān)業(yè)務(wù)處理。然后轉(zhuǎn)發(fā)響應(yīng)報文。
步驟7:請參照步驟6。
步驟8 :網(wǎng)元2接收到響應(yīng)報文,判斷識別結(jié)果等待報文計數(shù)超過閾值,且所述反向識別結(jié)果標(biāo)記為真,將識別結(jié)果請求信息插入響應(yīng)報文的IP選項字段并進行適應(yīng)性調(diào)整(所述識別結(jié)果請求信息可以包括本地流表中的識別結(jié)果),同時將所述反向識別結(jié)果攜帶標(biāo)記置為假,將識別結(jié)果等待報文計數(shù)清零,然后發(fā)送響應(yīng)報文。可選的,在將識別結(jié)果請求信息插入響應(yīng)報文的IP選項字段時, 還可以插入第三識別狀態(tài)碼,用于向識別功能網(wǎng)元指示該響應(yīng)報文攜帶識別結(jié)果請求信息,從而向識別功能網(wǎng)元請求第一識別結(jié)果。
步驟9至步驟10 :識別功能網(wǎng)元將攜帶識別結(jié)果請求信息的響應(yīng)報文中的插入信息刪除后向下游發(fā)送,并將第一識別結(jié)果插入接收到的下一個數(shù)據(jù)報文的IP選項字段后轉(zhuǎn)發(fā)。具體的
步驟9 :識別功能網(wǎng)元I接收到響應(yīng)報文進行報文轉(zhuǎn)發(fā)處理。具體的,解析該響應(yīng)報文的IP選項字段,判斷包含擴散網(wǎng)元發(fā)送的識別結(jié)果請求信息,則將本地流表中預(yù)定義的反向識別結(jié)果攜帶標(biāo)記(此處的反向識別結(jié)果攜帶標(biāo)記可以是上行識別結(jié)果攜帶標(biāo)記) 置為真,將響應(yīng)報文中的插入信息刪除并做適應(yīng)性調(diào)整,刷新流表和進行相關(guān)業(yè)務(wù)處理,然后發(fā)送響應(yīng)報文。
步驟10 :識別功能網(wǎng)元I接收到數(shù)據(jù)報文進行報文轉(zhuǎn)發(fā)處理。具體的,判斷所述反向識別結(jié)果攜帶標(biāo)記為真,則將第一識別結(jié)果插入數(shù)據(jù)報文的IP選項字段并做適應(yīng)性調(diào)整。將所述反向識別結(jié)果攜帶標(biāo)記置為假,刷新流表和進行相關(guān)業(yè)務(wù)處理,然后發(fā)送數(shù)據(jù)報文。
步驟11 :擴散網(wǎng)元2接收到數(shù)據(jù)報文進行報文轉(zhuǎn)發(fā)處理。具體的,解析數(shù)據(jù)報文的IP選項字段,將第一識別結(jié)果保存至本地流表。刷新流表和進行相關(guān)業(yè)務(wù)處理,然后發(fā)送數(shù)據(jù)報文。
步驟12和步驟13 :請參照步驟11。但是在步驟13中,擴散網(wǎng)元N可以將數(shù)據(jù)報文中的插入信息刪除并做適應(yīng)性調(diào)整,然后再發(fā)送至服務(wù)器/用戶。
在本發(fā)明的一種實施例中,如果擴散網(wǎng)元在轉(zhuǎn)發(fā)上行數(shù)據(jù)的過程中故障,且該故障網(wǎng)元是上行方向上所述識別功能網(wǎng)元的上游網(wǎng)元,則該故障網(wǎng)元可以將識別結(jié)果請求信息插入上行方向的數(shù)據(jù)報文中,以便識別功能網(wǎng)元根據(jù)預(yù)定義的反向識別結(jié)果攜帶標(biāo)記和本地流表中保存的第一識別結(jié)果執(zhí)行相應(yīng)操作。
在本發(fā)明的另一種實施例中,如果發(fā)生故障的擴散網(wǎng)元在轉(zhuǎn)發(fā)下行數(shù)據(jù)的過程中故障,且該故障網(wǎng)元是下行方向上所述識別功能網(wǎng)元的上游網(wǎng)元,則該故障網(wǎng)元可以將識別結(jié)果請求信息插入下行方向的響應(yīng)報文中,以便識別功能網(wǎng)元根據(jù)預(yù)定義的反向識別結(jié)果攜帶標(biāo)記和本地流表中保存的第一識別結(jié)果執(zhí)行相應(yīng)操作。
需要說明的是,本發(fā)明各實施例提供的反向識別結(jié)果攜帶標(biāo)記的默認(rèn)值為假,對報文轉(zhuǎn)發(fā)無影響??蛇x的,反向識別結(jié)果攜帶標(biāo)記可以是本地流表中定義的一個標(biāo)記,當(dāng)配置為真時,用于表示當(dāng)前方向的反方向報文需要攜帶相應(yīng)的插入信息。
圖8A是根據(jù)本發(fā)明一種實施例的IPv4報文頭部的選項字段的格式示意圖;圖8B 是本發(fā)明一種實施例的IPv6報文頭部的擴展報頭字段的格式示意圖。
參照圖8A,IPv4頭部·通過選項(OPTION)字段提供IP頭部的擴展信息攜帶能力, 每一跳都需要處理OPTION。本實施例中的OPTION字段定義有如下內(nèi)容
Option type定義為00011110。高位起第一位表示是否將該option復(fù)制進所有 IP分片,設(shè)置為O代表不復(fù)制,只需第一片攜帶識別信息。第二、三兩位取00代表該option 屬于控制類消息。后五位11110為option number (選項號),IP協(xié)議棧通過該字段來確定 option類型,11110作為之前的保留option number,在本技術(shù)方案中可用作標(biāo)識該option 為識別結(jié)果攜帶信息。如果一個報文的option number字段為11110,則由需要獲取識別結(jié)果的網(wǎng)元,例如識別功能網(wǎng)元或擴散網(wǎng)元解析該報文的Option字段,其他不支持該option 的設(shè)備可以忽略后繼續(xù)轉(zhuǎn)發(fā)該報文。
Option長度內(nèi)容為整個option的長度。
識別狀態(tài)碼為4位,高位起第一位為識別首包標(biāo)記,置I時標(biāo)識當(dāng)前IP網(wǎng)絡(luò)流中第一個進行識別的數(shù)據(jù)包,用于非識別功能網(wǎng)元判斷識別功能網(wǎng)元是否需要從其他網(wǎng)元獲取識別結(jié)果。對于高位起的后3位,000可作為第一識別狀態(tài)碼或第四識別狀態(tài)碼,用于識別功能網(wǎng)元向擴散網(wǎng)元擴散第一識別結(jié)果和/或第二識別結(jié)果;001可作為第三識別狀態(tài)碼,標(biāo)識識別結(jié)果請求信息,用于擴散網(wǎng)元向識別功能網(wǎng)元請求第一識別結(jié)果;010可作為第二識別狀態(tài)碼,用于標(biāo)識該option為對識別功能網(wǎng)元請求第一識別結(jié)果的響應(yīng);其他保&3 甶O
識別結(jié)果包含識別出來的協(xié)議、應(yīng)用、終端類型等信息,其長度與識別功能返回的識別結(jié)果結(jié)構(gòu)有關(guān),可以支持多識別結(jié)果攜帶。
擴展信息字段,可以標(biāo)識當(dāng)前IP網(wǎng)絡(luò)流的策略信息,如丟棄或限流等。
其中,Option type、識別狀態(tài)碼和識別結(jié)果的定義使得識別功能網(wǎng)元和擴散網(wǎng)元可以根據(jù)不同的插入信息進行相應(yīng)處理。
參照圖SB,IPv6報文頭部通過擴展報頭字段提供IP頭部的擴展信息攜帶能力,本實施例的擴展字段插入IPv6的擴展報頭字段,采用Hop-by-Hop Options (逐跳選項)擴展頭來實現(xiàn),協(xié)議規(guī)定Hop-by-Hop Options必須在每個網(wǎng)元都需要處理,對于該擴展報頭字段定義如下
Next Header(8bits)頭部記錄了下一個擴展頭的信息。
Hdrextlen (8bits)記錄了 Hop-by-Hop Options 頭部的長度。
Option type定義為00011110,高位起前兩位00表示如果網(wǎng)元無法識別該option 則跳過繼續(xù)處理下一個option ;第三位設(shè)置為O表示在轉(zhuǎn)發(fā)過程中不修改該option的內(nèi)容;后五位11110為option number, IP協(xié)議棧通過該字段來確定option類型,11110作為之前的保留option number,在本技術(shù)方案中被用作標(biāo)識該option為識別結(jié)果攜帶信息。 如果一個報文的option number字段為11110的,則由需要獲取識別結(jié)果的設(shè)備,例如識別功能網(wǎng)元或擴散網(wǎng)元解析該報文的Option字段,其他設(shè)備可以忽略后繼續(xù)轉(zhuǎn)發(fā)該報文。
對于Option長度、識別狀態(tài)碼、識別結(jié)果和擴展信息字段的描述請參照圖7A中的描述,此處不再贅述。其中,Option type、識別狀態(tài)碼和識別結(jié)果的定義使得識別功能網(wǎng)元和擴散網(wǎng)元可以根據(jù)不同的插入信息進行相應(yīng)處理。
在本發(fā)明提供的各種方法實施例中,如上文所述,對于攜帶插入信息的報文,有的識別功能網(wǎng)元或擴散網(wǎng)元可以選擇將其從報文中刪除后發(fā)送,或者將其保留在報文中發(fā)送。這種選擇性可以通過定義網(wǎng)元屬性實現(xiàn),這種定義同樣適用于本發(fā)明提供的裝置實施例。例如,可以將識別功能網(wǎng)元或擴散網(wǎng)元定義為上行邊緣節(jié)點、下行邊緣節(jié)點、上行終結(jié)節(jié)點或下行終結(jié)節(jié)點來確定識別結(jié)果擴散的范圍。其中
上行邊緣節(jié)點禁止上行報文攜帶本方案中的插入信息,接收到該類型的報文后直接丟棄,并在超過一定閾值后采取保護措施以防止攻擊。但是會向上下行發(fā)送攜帶有插入信息的報文。
下行邊緣節(jié)點禁止下行報文攜帶本方案中的插入信息,接收到該類型的報文后直接丟棄,并在超過一定閾值后采取保護措施以防止攻擊,但是會向上下行發(fā)送攜帶有插入信息的報文。
上行終結(jié)節(jié)點禁止下行報文攜帶本方案中的插入信息,接收到該類型的報文后直接丟棄,并在超過一定閾值后采取保護措施以防止攻擊。如果來自上行方向的報文的頭部擴展字段攜帶有本方案中的插入信息,刪除插入信息后轉(zhuǎn)發(fā)(例如,剝離攜帶本方案中的插入信息的報文的頭部擴展字段后轉(zhuǎn)發(fā))。并禁止上行方向識別結(jié)果攜帶標(biāo)記位置為真。
下行終結(jié)節(jié)點禁止上行報文攜帶本方案中的插入信息,接收到該類型的報文后直接丟棄,并在超過一定閾值后采取保護措施以防止攻擊。如果來自下行方向的報文的頭部擴展字段攜帶有本方案中的插入信息,刪除插入信息后轉(zhuǎn)發(fā)。并禁止下行方向識別結(jié)果攜帶標(biāo)記位置為真。
例如,在圖3中,可以將識別功能網(wǎng)元I定義為下行邊緣節(jié)點,將擴散網(wǎng)元N定義為上行邊緣節(jié)點以便網(wǎng)元N將攜帶第一識別結(jié)果的數(shù)據(jù)報文發(fā)送至對端用戶設(shè)備,而介于網(wǎng)元I與網(wǎng)元N之間的節(jié)點可以對接收到的攜帶本發(fā)明提供的插入信息的報文進行解析和轉(zhuǎn)發(fā)等操作。在圖4中,可以將網(wǎng)元I定義為下行終結(jié)節(jié)點,將網(wǎng)元N定義為上行終結(jié)節(jié)點。
再例如,在一條網(wǎng) 絡(luò)流所流經(jīng)的所有網(wǎng)元中,如果選取其中的一段路徑執(zhí)行DPI 業(yè)務(wù),此時,可以根據(jù)需要定義該路徑的起點網(wǎng)元和終點網(wǎng)元的網(wǎng)元屬性。
圖9A是根據(jù)本發(fā)明一種實施例的識別功能網(wǎng)元結(jié)構(gòu)示意圖,參照圖9A,該識別功能網(wǎng)元90包括
第一接收單元91,用于接收網(wǎng)絡(luò)流中的數(shù)據(jù)報文;
第一識別單元92,用于對所述數(shù)據(jù)報文進行深度報文檢測(DPI)識別;
第一處理單元93,用于在所述第一識別單元成功識別所述數(shù)據(jù)報文時,將識別得到的第一識別結(jié)果保存至所述識別功能網(wǎng)元的本地流表,并將所述第一識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段;在所述第一識別單元無法識別所述數(shù)據(jù)報文時,將第二識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段,所述第二識別結(jié)果為所述識別功能網(wǎng)元創(chuàng)建所述本地流表時的識別結(jié)果初始值;
第一發(fā)送單元94,用于向第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果或第二識別結(jié)果的數(shù)據(jù)報文。
可選的,所述第一處理單元93還用于在所述數(shù)據(jù)報文的頭部擴展字段插入第一識別狀態(tài)碼,用于向所述第一下游設(shè)備指示所述數(shù)據(jù)報文攜帶有所述第一識別結(jié)果或第二識別結(jié)果。
可選的,所述網(wǎng)絡(luò)流具體可以為IP網(wǎng)絡(luò)流,如果所述數(shù)據(jù)報文是所述IP網(wǎng)絡(luò)流中第一個進入所述第一識別單元進行識別的數(shù)據(jù)包,則所述第一處理單元93還用于在所述數(shù)據(jù)報文的頭部擴展字段插入識別首包標(biāo)記,用于標(biāo)識所述IP網(wǎng)絡(luò)流中第一個進入所述識別功能網(wǎng)元進行識別的數(shù)據(jù)包。
本實施例提供的識別功能網(wǎng)元90通過在數(shù)據(jù)報文的頭部擴展字段插入識別結(jié)果信息,以向其他網(wǎng)元設(shè)備發(fā)送識別結(jié)果信息,能夠降低整體網(wǎng)絡(luò)進行DPI業(yè)務(wù)的時延。
在圖9A所示實施例的一種實現(xiàn)方式中,參照圖9B,識別功能網(wǎng)元90’還可以包括
第六接收單元95,用于在所述第一發(fā)送單元94向所述第一下游設(shè)備發(fā)送攜帶有所述第二識別結(jié)果的數(shù)據(jù)報文后,接收響應(yīng)報文,所述響應(yīng)報文由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成,并由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述識別功能網(wǎng)元90’ ;
第二識別單元96,用于對所述響應(yīng)報文進行識別;
第六處理單元97,用于在所述第二識別單元96成功識別所述響應(yīng)報文從而獲取第一識別結(jié)果時,將所述第一識別結(jié)果保存至所述本地流表,并將所述第一識別結(jié)果插入所述識別功能網(wǎng)元90’接收的下一個數(shù)據(jù)報文的頭部擴展字段,所述下一個數(shù)據(jù)報文屬于所述IP網(wǎng)絡(luò)流。
本實現(xiàn)方式可以在第一識別單元92未完成識別的情況下,對相應(yīng)的響應(yīng)報文進行識別,并通過報文的頭部擴展字段實現(xiàn)識別結(jié)果的擴散。
其中,參照圖9C,所述第六處理單元97可以包括
第一配置子單元971,用于在所述識別功能網(wǎng)元90’的本地流表中配置第三反向識別結(jié)果攜帶標(biāo)記,以便所述識別功能網(wǎng)元90’根據(jù)所述第三反向識別結(jié)果確定 是否在所述下一個數(shù)據(jù)報文的頭部擴展字段插入所述第一識別結(jié)果,以及用于在所述第二識別單元 96成功識別所述響應(yīng)報文時,將所述第三反向識別結(jié)果攜帶標(biāo)記置為真;
第二配置子單元972,用于在下述第七接收單元接收到所述下一個數(shù)據(jù)報文時,確定所述第三反向識別結(jié)果攜帶標(biāo)置為真,則將所述第一識別結(jié)果插入所述下一個數(shù)據(jù)報文的頭部擴展字段,將所述第三反向識別結(jié)果攜帶標(biāo)記置為假,然后調(diào)用下述第七發(fā)送單元。
所述識別功能網(wǎng)元90’還包括
第六發(fā)送單元,用于在所述第一配置子模塊971完成配置后,向第二下游設(shè)備轉(zhuǎn)發(fā)所述響應(yīng)報文,或者,將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段,然后再向所述第二下游設(shè)備發(fā)送;
第七接收單元,用于接收所述下一個數(shù)據(jù)報文;
第七發(fā)送單元,用于根據(jù)業(yè)務(wù)配置確定無需丟棄攜帶有所述第一識別結(jié)果的所述下一個數(shù)據(jù)報文,則將其發(fā)送至所述第一下游設(shè)備。
當(dāng)然,所述第七接收單元和第七發(fā)送單元的功能也可以分別通過第一接收單元91 和第一發(fā)送單元94實現(xiàn)。
識別功能網(wǎng)元90’能夠在無法識別當(dāng)前數(shù)據(jù)報文的情況下,對之后接收的響應(yīng)報文進行識別,并將成功識別得到的第一識別結(jié)果通過報文的頭部擴展字段向其他設(shè)備擴散。降低了整體網(wǎng)絡(luò)中進行DPI業(yè)務(wù)導(dǎo)致的時延。
圖10是根據(jù)本發(fā)明一種實施例的識別功能網(wǎng)元結(jié)構(gòu)示意圖,參照圖10,識別功能網(wǎng)元100可以包括
第一接收單元91,第一識別單元92,第一處理單元93,第一發(fā)送單元94,以及
第二接收單元101,用于在所述第一發(fā)送單元94向所述第一下游設(shè)備發(fā)送攜帶有所述第二識別結(jié)果和識別首包標(biāo)記的數(shù)據(jù)報文之后,接收響應(yīng)報文,所述響應(yīng)報文由所述第一下游設(shè)備發(fā)送至所述識別功能網(wǎng)元100,所述響應(yīng)報文攜帶有響應(yīng)消息并且所述響應(yīng)報文的頭部擴展字段攜帶有所述第一識別結(jié)果,所述響應(yīng)消息由服務(wù)器或用戶設(shè)備在接收到所述數(shù)據(jù)報文后生成,所述響應(yīng)報文用于將所述第一識別結(jié)果通知所述識別功能網(wǎng)元。 可選的,所述響應(yīng)報文的頭部擴展字段還攜帶有第二識別狀態(tài)碼,用于向識別功能網(wǎng)元100 指示所述響應(yīng)報文攜帶有所述第一識別結(jié)果。
第二處理單元102,用于解析所述響應(yīng)報文以將所述第一識別結(jié)果保存至所述本地流表,然后將所述響應(yīng)報文攜帶的所述第一識別結(jié)果刪除。
第二發(fā)送單元103,用于向第二下游設(shè)備發(fā)送所述第二處理單元處理后的響應(yīng)報文。
其中,第一接收單元91接收到的數(shù)據(jù)報文為所述IP網(wǎng)絡(luò)流中第一個進行識別的報文;第一識別單元92未完成對所述數(shù)據(jù)報文的識別;第一處理單元93將第二識別結(jié)果和識別首包標(biāo)記插入所述數(shù)據(jù)報文的頭部擴展字段。
在其他設(shè)備中的至少一個保存有第一識別結(jié)果的情況下,如果識別功能網(wǎng)元100 出現(xiàn)故障或重啟導(dǎo)致本地流表中的第一識別結(jié)果消失,網(wǎng)元100可以將識別首包標(biāo)記和第二識別結(jié)果插入接收到的數(shù)據(jù)報文(屬于所述IP網(wǎng)絡(luò)流)的頭部擴展字段,以向保存第一識別結(jié)果的設(shè)備請求第一識別結(jié)果,而無需再次對報文進行識別,避免了對于完成部分?jǐn)?shù)據(jù)間交互的IP網(wǎng)絡(luò)流,可能無法完成識別的問題。
圖11是根據(jù)本發(fā)明一種實施例的識別功能網(wǎng)元結(jié)構(gòu)示意圖,參照圖11,識別功能網(wǎng)元110可以包括
第一接收單元91,第一識別單元92,第一處理單元93,第一發(fā)送單元94,以及
第一配置單元 111,用于在所述本地流表中配置第一反向識別結(jié)果攜帶標(biāo)記,并在所述第一識別單元成功識別所述數(shù)據(jù)報文時,將所述第一反向識別結(jié)果攜帶標(biāo)記置為真; 在下述第三處理單元113完成報文處理時,將所述第一反向識別結(jié)果攜帶標(biāo)記置為假;所述第一反向識別結(jié)果攜帶標(biāo)記用于指示是否在接收到的響應(yīng)報文的頭部擴展字段插入所述第一識別結(jié)果,其中,所述響應(yīng)報文由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成,并由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述識別功能網(wǎng)元;
第三接收單元112,用于在所述第一發(fā)送單元94向所述第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的數(shù)據(jù)報文后,接收所述響應(yīng)報文;
第三處理單元113,用于在所述第三接收單元112接收到所述響應(yīng)報文時,判斷所述第一反向識別結(jié)果攜帶標(biāo)記是否為真,如果是,則將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段,或?qū)⑺龅谝蛔R別結(jié)果和第四識別狀態(tài)碼插入所述響應(yīng)報文的頭部擴展字段,所述第四識別狀態(tài)碼用于向第二下游設(shè)備指示所述響應(yīng)報文攜帶所述第一識別結(jié)果;
第三發(fā)送單元114,用于向所述第二下游設(shè)備發(fā)送由所述第三處理單元113處理后的響應(yīng)報文。
其中,第一識別單元92完成了對所述數(shù)據(jù)報文的識別。
圖12是根據(jù)本發(fā)明一種實施例的識別功能網(wǎng)元結(jié)構(gòu)示意圖,參照圖11,識別功能網(wǎng)元120可以包括
第一接收單元91,第一識別單元92,第一處理單元93,第一發(fā)送單元94,以及
第二配置單元121,用于在所述本地流表中配置第二反向識別結(jié)果攜帶標(biāo)記,并在第四接收單元接收到響應(yīng)報文時,將所述第二反向識別結(jié)果攜帶標(biāo)記置為真;所述第二反向識別結(jié)果攜帶標(biāo)記用于指示所述識別功能網(wǎng)元120是否在所述識別功能網(wǎng)元接收的下一個數(shù)據(jù)報文的頭部擴展字段插入所述第一識別結(jié)果;以及,用于在下述第四接收單元 122接收到響應(yīng)報文時,將所述第二反向識別結(jié)果攜帶標(biāo)記置為真,在下述第五處理單元 126完成對所述下一個數(shù)據(jù)報文的處理時,將所述第二反向識別結(jié)果攜帶標(biāo)記置為假,所述下一個數(shù)據(jù)報文是所述識別功能網(wǎng)元在接收到所述數(shù)據(jù)報文之后,接收到的下一個數(shù)據(jù)報文,且所述下一個數(shù)據(jù)報文屬于所述網(wǎng)絡(luò)流;
第四接收單元122,用于在所述第一發(fā)送單元94向所述第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的數(shù)據(jù)報文后,接收所述響應(yīng)報文,所述響應(yīng)報文由所述第一下游設(shè)備發(fā)送至所述識別功能網(wǎng)元120,所述響應(yīng)報文攜帶有響應(yīng)消息并且所述響應(yīng)報文的頭部擴展字段攜帶有識別結(jié)果請求信息,所述響應(yīng)消息由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文或所述IP網(wǎng)絡(luò)流的后續(xù)數(shù)據(jù)報文后生成,所述識別結(jié)果請求信息用于向所述識別功能網(wǎng)元120請求所述第一識別結(jié)果;
第四處理單元123,用于將所述響應(yīng)報文攜帶的所述識別結(jié)果請求信息刪除;
第四發(fā)送單元124,用于 向第二下游設(shè)備發(fā)送所述第四處理單元123處理后的響應(yīng)報文;
第五接收單元125,用于接收所述下一個數(shù)據(jù)報文;所述下一個數(shù)據(jù)報文是所述識別功能網(wǎng)元在接收到所述數(shù)據(jù)報文之后,接收到的下一個數(shù)據(jù)報文,且所述下一個數(shù)據(jù)報文屬于所述網(wǎng)絡(luò)流;
第五處理單元126,用于判斷所述第二反向識別結(jié)果攜帶標(biāo)記是否為真,如果是,則將所述第一識別結(jié)果插入所述下一個數(shù)據(jù)報文的頭部擴展字段;
第五發(fā)送單元127,用于當(dāng)根據(jù)業(yè)務(wù)配置確定無需丟棄攜帶有所述第一識別結(jié)果的所述下一個數(shù)據(jù)報文時,將其發(fā)送至所述第一下游設(shè)備。
當(dāng)然,所述第五接收單元125和第五發(fā)送單元127的功能也可以分別通過第一接收單元91和第一發(fā)送單元94實現(xiàn)。
圖13A是根據(jù)本發(fā)明一種實施例的擴散網(wǎng)元結(jié)構(gòu)示意圖,參照圖13A,擴散網(wǎng)元 130包括
第一接收單元131,用于接收IP網(wǎng)絡(luò)流中的數(shù)據(jù)報文;
第一解析單元132,用于解析所述數(shù)據(jù)報文的頭部擴展字段以確定所述數(shù)據(jù)報文的頭部擴展字段攜帶的插入信息;
第一處理單元133,用于根據(jù)所述插入信息進行所述擴散網(wǎng)元130的本地流表管理;
第一發(fā)送單元134,用于根據(jù)業(yè)務(wù)配置確定無需丟棄所述數(shù)據(jù)報文,則進行報文轉(zhuǎn)發(fā)處理,包括向第一下游設(shè)備發(fā)送所述數(shù)據(jù)報文以便所述第一下游設(shè)備根據(jù)所述插入信息進行流表管理,或?qū)⑺鰯?shù)據(jù)報文攜帶的所述插入信息刪除后向所述第一下游設(shè)備發(fā)送。
本領(lǐng)域技術(shù)人員應(yīng)該理解,如果業(yè)務(wù)配置為阻斷或限流等導(dǎo)致所述數(shù)據(jù)報文被丟棄,則無法進行報文轉(zhuǎn)發(fā)處理。
本實施例所提供的擴散網(wǎng)元130能夠?qū)?shù)據(jù)報文的頭部擴展字段進行解析,進而根據(jù)插入信息進行相應(yīng)的處理,以獲取或擴散識別結(jié)果信息。
在本實施例的一種實現(xiàn)方式中,參照圖13B,
第一處理單元133包括第一處理子單元1331,和/或第二處理子單元1332,和/ 或第三處理子單元1333。
第一處理子單元1331,用于在所述插入信息包含第一識別結(jié)果,或,包含所述第一識別結(jié)果和第一識別狀態(tài)碼時,將所述第一識別結(jié)果保存至所述本地流表。
第二處理子單元1332,用于在所述插入信息包含第二識別結(jié)果,或,包含所述第二識別結(jié)果和第一識別狀態(tài)碼時,創(chuàng)建或刷新所述本地流表而不保存所述第二識別結(jié)果。
第三處理子單元1333,用于在所述插入信息包含識別結(jié)果請求信息,或,包含所述識別結(jié)果請求信息和第三識別狀態(tài)碼時,創(chuàng)建或刷新所述本地流表。
其中所述第一識別結(jié)果是所述數(shù)據(jù)報文成功完成深度報文檢測識別時的識別結(jié)果,所述第二識別結(jié)果是所述擴散網(wǎng)元130創(chuàng)建所述本地流表時的識別結(jié)果初始值,所述第一識別狀態(tài)碼用于向所述擴散網(wǎng)元130指示所述數(shù)據(jù)報文攜帶所述第一識別結(jié)果或第二識別結(jié)果,所述第三識別狀態(tài)碼用于向第二下游設(shè)備指示所述數(shù)據(jù)報文攜帶所述識別結(jié)果請求信息,所述識別結(jié)果請求信息用于向所述第二下游設(shè)備請求所述第一識別結(jié)果。
進一步可選的,當(dāng)所述插入信息包含所述第一識別結(jié)果或第二識別結(jié)果時,所述插入信息還包含識別首包標(biāo)記,用于標(biāo)識所述IP網(wǎng)絡(luò)流 中第一個進行深度報文檢測識別的數(shù)據(jù)報文。
本實施例提供的擴散網(wǎng)元130無需對數(shù)據(jù)報文進行識別,只需要解析數(shù)據(jù)報文的頭部擴展字段,從而根據(jù)數(shù)據(jù)報文攜帶的插入信息進行識別結(jié)果的獲取或擴散,降低了現(xiàn)有網(wǎng)絡(luò)進行DPI業(yè)務(wù)的時延,降低了維護成本。
至少一個識別功能網(wǎng)元90 (或識別功能網(wǎng)元90’ )和至少一個擴散網(wǎng)元130可以構(gòu)成一個識別結(jié)果擴散系統(tǒng),用于執(zhí)行DPI業(yè)務(wù)。在該系統(tǒng)中,只由識別功能網(wǎng)元90進行報文識別,并利用報文的頭部擴展字段向擴散網(wǎng)元130進行識別結(jié)果的擴散,降低了現(xiàn)有網(wǎng)絡(luò)進行DPI業(yè)務(wù)的時延,降低了維護成本。
圖14是根據(jù)本發(fā)明一種實施例的擴散網(wǎng)元的結(jié)構(gòu)示意圖,參照圖14,擴散網(wǎng)元 140包括第一接收單元131,第一解析單元132,第一處理單元133,第一發(fā)送單元134,以及第二接收單元141、第二處理單元142和第二發(fā)送單元143。其中,
所述第一處理單元133還包括第一配置子單元1334,用于在所述本地流表中配置第四反向識別結(jié)果攜帶標(biāo)記,以便所述擴散網(wǎng)元140根據(jù)所述第四反向識別結(jié)果攜帶標(biāo)記確定是否將所述第一識別結(jié)果通知所述第二下游設(shè)備;以及,用于在所述插入信息包含所述第二識別結(jié)果和識別首包標(biāo)記,并且所述本地流表中保存有所述第一識別結(jié)果時,將所述第四反向識別結(jié)果攜帶標(biāo)記置為真,在下述第二處理單元142完成報文處理后,將所述第四反向識別結(jié)果攜帶標(biāo)記置為假。
第二接收單元141,用于在所述第一發(fā)送單元134進行報文轉(zhuǎn)發(fā)處理后,接收響應(yīng)報文,所述響應(yīng)報文由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成,并由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述擴散網(wǎng)元130。
第二處理單元142,用于判斷所述第四反向識別結(jié)果攜帶標(biāo)記為真,則將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段。
可選的,所述第二處理單元142還用于在將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段時,將第二識別狀態(tài)碼插入所述響應(yīng)報文的頭部擴展字段,以向所述第二下游設(shè)備指示所述響應(yīng)報文攜帶有所述第一識別結(jié)果。
第二發(fā)送單元143,用于向所述第二下游設(shè)備發(fā)送所述第二處理單元142處理后的響應(yīng)報文,以將所述第一識別結(jié)果通知所述第二下游設(shè)備。
本實施例所提供的擴散網(wǎng)元140能夠在識別功能網(wǎng)元重啟或故障的情況下,將第一識別結(jié)果通知識別功能網(wǎng)元,避免了識別功能網(wǎng)元無法識別后續(xù)數(shù)據(jù)報文導(dǎo)致無法獲取第一識別結(jié)果的問題。
圖15是圖13B所示實施例中的第一處理單元的一種結(jié)構(gòu)示意圖,參照圖15,第一處理單元150包括
第一處理子單元1331、第二處理子單元1332、第三處理子單元1333、計數(shù)子單元 1501和判斷子單元1502,其中,
計數(shù)子單元1501,用于計算識別結(jié)果等待報文計數(shù),所述識別結(jié)果等待報文計數(shù)表示所述擴散網(wǎng)元130在獲取所述第一識別結(jié)果之前所接收到的數(shù)據(jù)報文的數(shù)目;
判斷子單元1502,用于在所述本地流表未保存有所述第一識別結(jié)果的情況下,如果所述插入信息不包含所述第一識別結(jié)果,或所述插入信息包含所 述第一識別結(jié)果但卻未將所述第一識別結(jié)果保存至所述本地流表,則判斷所述識別結(jié)果等待報文計數(shù)是否超過預(yù)設(shè)閾值,如果是,則觸發(fā)所述擴散網(wǎng)元130向所述第二下游設(shè)備請求所述第一識別結(jié)果。
可選的,參照圖16,圖16是根據(jù)本發(fā)明一種實施例的擴散網(wǎng)元的結(jié)構(gòu)示意圖,參照圖16,擴散網(wǎng)元160包括第一接收單元131、第一解析單元132、第一處理單元151和第一發(fā)送單元134,以及第三接收單元161、第三處理單元162、第三發(fā)送單元163和第四接收單元164,其中,
第一處理單元151除了包括第一處理單元150的各個部分外,還包括第二配置子單元,用于在所述本地流表中配置第五反向識別結(jié)果攜帶標(biāo)記,以便所述擴散網(wǎng)元160根據(jù)所述第五反向識別結(jié)果攜帶標(biāo)記確定是否向所述第二下游設(shè)備請求所述第一識別結(jié)果; 以及,用于在所述識別結(jié)果等待報文計數(shù)超過預(yù)設(shè)閾值時將所述第五反向識別結(jié)果攜帶標(biāo)記置為真,在下述第三處理單元162完成報文處理后,將所述第五反向識別結(jié)果攜帶標(biāo)記置為假,將所述識別結(jié)果等待報文計數(shù)清零。
第三接收單元161,用于在所述第一發(fā)送單元134進行報文轉(zhuǎn)發(fā)處理后,接收響應(yīng)報文,所述響應(yīng)報文由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成,并由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述擴散網(wǎng)元160 ;
第三處理單元162,用于判斷所述第五反向識別結(jié)果攜帶標(biāo)記為真,則將識別結(jié)果請求信息插入所述響應(yīng)報文的頭部擴展字段;
第三發(fā)送單元163,用于向所述第二下游設(shè)備發(fā)送所述第三處理單元162處理后的響應(yīng)報文,以向所述第二下游設(shè)備請求所述第一識別結(jié)果,以便所述第二下游設(shè)備在接收到攜帶有所述識別結(jié)果請求信息的響應(yīng)報文后,在接收到屬于所述IP網(wǎng)絡(luò)流的下一個數(shù)據(jù)報文時,在所述下一個數(shù)據(jù)報文的頭部擴展字段插入所述第一識別結(jié)果然后再發(fā)送至所述擴散網(wǎng)元160 ;
第四接收單元164,用于接收所述下一個數(shù)據(jù)報文并進行解析,將所述第一識別結(jié)果保存至所述本地流表,從而獲取所述第一識別結(jié)果。
本實施例提供的擴散網(wǎng)元160在接收到預(yù)定次數(shù)的數(shù)據(jù)報文時,如果仍未獲取第一識別結(jié)果,可以自動向識別功能網(wǎng)元請求所述第一識別結(jié)果,能夠避免擴散網(wǎng)元160由于故障或重啟等導(dǎo)致丟失所述第一識別結(jié)果。
圖17是根據(jù)本發(fā)明一種實施例的擴散網(wǎng)元的結(jié)構(gòu)示意圖,參照圖17,擴散網(wǎng)元 170包括
接收單元171,用于接收響應(yīng)報文,所述響應(yīng)報文由第一下游設(shè)備發(fā)送至所述擴散網(wǎng)元170,所述響應(yīng)報文攜帶有響應(yīng)信息并且所述響應(yīng)報文的頭部擴展字段攜帶有插入信息,所述響應(yīng)信息由服務(wù)器或用戶設(shè)備在接收IP網(wǎng)絡(luò)流中的數(shù)據(jù)報文后生成;
解析單元172,用于解析所述響應(yīng)報文的頭部擴展字段以確定所述響應(yīng)報文的頭部擴展字段攜帶的所述插入信息;
處理單元173,用于根據(jù)所述插入信息進行所述擴散網(wǎng)元170的本地流表管理;
發(fā)送單元174,用于向第二下游設(shè)備發(fā)送所述響應(yīng)報文以便所述第二下游設(shè)備根據(jù)所述插入信息進行流表管理,或?qū)⑺鲰憫?yīng)報文攜帶的所述插入信息刪除后向所述第二下游設(shè)備發(fā)送。
可選的,在本實施例的一種實現(xiàn)方式中,所述處理單元173包括處理子單元,用于在所述插入信息包含所述第一識別結(jié)果和第四識別狀態(tài)碼時,將所述第一識別結(jié)果保存至所述本地流表中,所述第一識別結(jié)果是所述IP網(wǎng)絡(luò)流成功完成深度報文檢測識別時的識別結(jié)果,所述第四識別狀態(tài)碼用于向所述擴散網(wǎng)元170指示所述響應(yīng)報文攜帶有所述第一識別結(jié)果。
本實施例提供的擴散網(wǎng)元170能夠?qū)邮盏捻憫?yīng)報文進行解析,并將響應(yīng)報文的頭部擴展字段攜帶的第一識別結(jié)果保存至本地流表從而獲取第一識別結(jié)果。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,擴散網(wǎng)元170也可以具有圖13至圖16所示擴散網(wǎng)元的結(jié)構(gòu)和功能,本發(fā)明對此不進行詳述。
圖18是根據(jù)本發(fā)明一種實施例的識別功能網(wǎng)元的結(jié)構(gòu)示意圖,參照圖18,識別功能網(wǎng)元180包括接收機181、發(fā)射機182和存儲器183,以及與接收機181、發(fā)射機182和存儲器183分別連接的處理器184。其中,
存儲器183存儲有各種數(shù)據(jù)、程序與應(yīng)用,以由處理器184調(diào)用從而實現(xiàn)以下功
處理器184通過接收機181接收IP網(wǎng)絡(luò)流中的數(shù)據(jù)報文;
對所述數(shù)據(jù)報文進行識別,如果成功識別所述數(shù)據(jù)報文,則將識別得到的第一識別結(jié)果保存至所述識別功能網(wǎng)元的本地流表,并將所述第一識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段;如果無法識別所述數(shù)據(jù)報文,則將第二識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段,所述第二識別結(jié)果為所述識別功能網(wǎng)元180創(chuàng)建所述本地流表時的識別結(jié)果初始值;
當(dāng)根據(jù)業(yè)務(wù)配置確定無需丟棄所述數(shù)據(jù)報文時,通過所述發(fā)射機182向第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果或第二識別結(jié)果的數(shù)據(jù)報文。
可選的,存儲器183存儲有所述識別功能網(wǎng)元180的本地流表。
可選的,所述數(shù)據(jù)報文包括IPv4報文或IPv6報文;當(dāng)所述數(shù)據(jù)報文為IPv4報文時,所述頭部擴展字段為所述IPv4報文頭部的選項字段,當(dāng)所述數(shù)據(jù)報文為IPv6報文時, 所述頭部擴展字段為所述IPv6報文頭部的擴展報頭字段。
可選的,所述數(shù)據(jù)報文的頭部擴展字段還包含第一識別狀態(tài)碼,用于向所述第一下游設(shè)備指示所述數(shù)據(jù)報文攜帶有所述第一識別結(jié)果或第二識別結(jié)果。
可選的,如果所述數(shù)據(jù)報文是所述IP網(wǎng)絡(luò)流中第一個進入所述識別功能網(wǎng)元進行識別的數(shù)據(jù)包,則在成功識別或無法識別所述數(shù)據(jù)報文時,在所述數(shù)據(jù)報文的頭部擴展字段插入識別首包標(biāo)記,用于標(biāo)識所述IP網(wǎng)絡(luò)流中第一個進入所述識別功能網(wǎng)元進行識別的數(shù)據(jù)包。
進一步可選的,在通過發(fā)射機182向所述第一下游設(shè)備發(fā)送攜帶有所述第二識別結(jié)果和識別首包標(biāo)記的數(shù)據(jù)報文之后,在本實施例的一種實現(xiàn)方式中,處理器184還用于
通過接收機181接收響應(yīng)報文,所述響應(yīng)報文由所述第一下游設(shè)備發(fā)送至所述識別功能網(wǎng)元,所述響應(yīng)報文攜帶有響應(yīng)消息并且所述響應(yīng)報文的頭部擴展字段攜帶有所述第一識別結(jié)果,所述響應(yīng)消息由服務(wù)器或用戶設(shè)備在接收到所述數(shù)據(jù)報文后生成,所述響應(yīng)報文用于將所述第一識別結(jié)果通知所述識別功能網(wǎng)元;
解析所述響應(yīng)報文以將所 述第一識別結(jié)果保存至所述本地流表;
將所述響應(yīng)報文攜帶的所述第一識別結(jié)果刪除后向第二下游設(shè)備發(fā)送。
其中,可選的,所述響應(yīng)報文的頭部擴展字段中還包含第二識別狀態(tài)碼,用于向所述識別功能網(wǎng)元180指示所述響應(yīng)報文攜帶有所述第一識別結(jié)果。
可選的,在本實施例的一種實現(xiàn)方式中,所述識別功能網(wǎng)元180的本地流表中設(shè)置有第一反向識別結(jié)果攜帶標(biāo)記,用于所述識別功能網(wǎng)元180根據(jù)所述第一反向識別結(jié)果攜帶標(biāo)記確定是否在之后接收到的響應(yīng)報文的頭部擴展字段插入所述第一識別結(jié)果,所述響應(yīng)報文由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成,并由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述識別功能網(wǎng)元180,所述第一反向識別結(jié)果攜帶標(biāo)記在所述識別功能網(wǎng)元180成功識別所述數(shù)據(jù)報文時置為真;
在通過發(fā)射機182向所述第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的數(shù)據(jù)報文之后,處理器184還用于
通過接收機181接收所述響應(yīng)報文;
判斷所述第一反向識別結(jié)果攜帶標(biāo)記為真,則將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段,將所述第一反向識別結(jié)果攜帶標(biāo)記置為假,然后通過發(fā)射機182向第二下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的響應(yīng)報文??蛇x的,在將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段時,還將第四識別狀態(tài)碼插入所述響應(yīng)報文的頭部擴展字段,用于向所述第二下游設(shè)備指示所述響應(yīng)報文攜帶所述第一識別結(jié)果。
可選的,在本實施例的一種實現(xiàn)方式中,所述識別功能網(wǎng)元180的本地流表中設(shè)置有第二反向識別結(jié)果攜帶標(biāo)記,用于所述識別功能網(wǎng)元180根據(jù)所述第二反向識別結(jié)果攜帶標(biāo)記確定是否在之后接收的下一個數(shù)據(jù)報文的頭部擴展字段插入所述第一識別結(jié)果, 所述下一個數(shù)據(jù)報文屬于所述IP網(wǎng)絡(luò)流;
在通過發(fā)射機182向所述第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的數(shù)據(jù)報文后,所述處理器184還用于
通過接收機181接收響應(yīng)報文,所述響應(yīng)報文由所述第一下游設(shè)備發(fā)送至所述識別功能網(wǎng)元,所述響應(yīng)報文攜帶有響應(yīng)消息并且所述響應(yīng)報文的頭部擴展字段攜帶有識別結(jié)果請求信息,所述響應(yīng)消息由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文或所述IP網(wǎng)絡(luò)流的后續(xù)數(shù)據(jù)報文后生成,所述識別結(jié)果請求信息用于向所述識別功能網(wǎng)元180請求所述第一識別結(jié)果;
解析所述響應(yīng)報文,發(fā)現(xiàn)所述響應(yīng)報文的頭部擴展字段攜帶有所述識別結(jié)果請求信息,則將所述第二反向識別結(jié)果攜帶標(biāo)記置為真,將所述響應(yīng)報文攜帶的所述識別結(jié)果請求信息刪除后,通過發(fā)射機182向第二下游設(shè)備發(fā)送,其中,所述響應(yīng)報文的頭部擴展字段還包含第三識別狀態(tài)碼,用于向所述識別功能網(wǎng)元180指示所述響應(yīng)報文攜帶有所述識別結(jié)果請求信息;
通過接收機181接收到所述下一個數(shù)據(jù)報文,判斷所述第二反向識別結(jié)果攜帶標(biāo)記為真,則將所述第二反向識別結(jié)果攜帶標(biāo)記置為假,將所述第一識別結(jié)果插入所述下一個數(shù)據(jù)報文的頭部擴展字段,然后在根據(jù)業(yè)務(wù)配置確定無需丟棄攜帶有所述第一識別結(jié)果的所述下一個數(shù)據(jù)報文時,將其通過發(fā)射機182發(fā)送至所述第一下游設(shè)備。
可選的,在本實施例的一種實現(xiàn)方式中,在處理器184無法識別所述數(shù)據(jù)報文的情況下,在通過發(fā)射機182向所述第一下游設(shè)備發(fā)送攜帶有所述第二識別結(jié)果的數(shù)據(jù)報文之后,所述處理器184還用于
通過接收機181接收到響應(yīng)報文,所述響應(yīng)報文由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成,并由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述識別功能網(wǎng)元180 ;
對所述響應(yīng)報文 進行識別,如果成功識別所述響應(yīng)報文從而獲取所述第一識別結(jié)果,則將所述第一識別結(jié)果保存至所述本地流表,并將所述第一識別結(jié)果插入所述識別功能網(wǎng)元接收的下一個數(shù)據(jù)報文的頭部擴展字段,所述下一個數(shù)據(jù)報文屬于所述IP網(wǎng)絡(luò)流;
如果無法識別所述響應(yīng)報文,則對所述下一個數(shù)據(jù)報文進行識別。
進一步可選的,所述識別功能網(wǎng)元180的本地流表中設(shè)置有第三反向識別結(jié)果攜帶標(biāo)記,用于所述識別功能網(wǎng)元180根據(jù)所述第三反向識別結(jié)果確定是否在所述下一個數(shù)據(jù)報文的頭部擴展字段插入所述第一識別結(jié)果;處理器184通過以下方式將所述第一識別結(jié)果插入所述識別功能網(wǎng)元接收的下一個數(shù)據(jù)報文的頭部擴展字段
當(dāng)所述處理器184成功識別所述響應(yīng)報文時,將所述第三反向識別結(jié)果攜帶標(biāo)記置為真;
通過發(fā)射機182向第二下游設(shè)備轉(zhuǎn)發(fā)所述響應(yīng)報文,或者將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段,然后再通過發(fā)射機182向所述第二下游設(shè)備發(fā)送??蛇x的,在將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段時,還將第四識別狀態(tài)碼插入所述響應(yīng)報文的頭部擴展字段,用于向所述第二下游設(shè)備指示所述響應(yīng)報文攜帶所述第一識別結(jié)果;
通過接收機181接收所述下一個數(shù)據(jù)報文,判斷所述第三反向識別結(jié)果攜帶標(biāo)記為真,則將所述第一識別結(jié)果插入所述下一個數(shù)據(jù)報文的頭部擴展字段,將所述第三反向識別結(jié)果攜帶標(biāo)記置為假,并在根據(jù)業(yè)務(wù)配置確定無需丟棄攜帶有所述第一識別結(jié)果的所述下一個數(shù)據(jù)報文時,通過發(fā)射機182將其發(fā)送至所述第一下游設(shè)備。
圖19是根據(jù)本發(fā)明一種實施例的識別功能網(wǎng)元的結(jié)構(gòu)示意圖,參照圖19,識別功能網(wǎng)元190包括接收機191、發(fā)射機192和存儲器193,以及與接收機191、發(fā)射機192和存儲器193分別連接的處理器194。其中,
存儲器193存儲有各種數(shù)據(jù)、程序與應(yīng)用,以由處理器194調(diào)用從而實現(xiàn)以下功
處理器194通過接收機191接收IP網(wǎng)絡(luò)流中的數(shù)據(jù)報文;
解析所述數(shù)據(jù)報文的頭部擴展字段以確定所述數(shù)據(jù)報文的頭部擴展字段攜帶的插入信息;
根據(jù)所述插入信息進行報文轉(zhuǎn)發(fā)處理;
當(dāng)根據(jù)業(yè)務(wù)配置確定無需丟棄所述數(shù)據(jù)報文時,進行報文轉(zhuǎn)發(fā)處理,包括通過發(fā)射機192向第一下游設(shè)備發(fā)送所述數(shù)據(jù)報文以便所述第一下游設(shè)備根據(jù)所述插入信息進行流表管理,或?qū)⑺鰯?shù)據(jù)報文攜帶的所述插入信息刪除后,通過發(fā)射機192向所述第一下游設(shè)備發(fā)送未攜帶所述插入信息的數(shù)據(jù)報文。
可選的,所述存儲器193存儲所述擴散網(wǎng)元190的本地流表。
可選的,所述數(shù)據(jù)報文包括IPv4報文或IPv6報文;當(dāng)所述數(shù)據(jù)報文為IPv4報文時,所述頭部擴展字段為所述IPv4報文頭部的選項字段,當(dāng)所述數(shù)據(jù)報文為IPv6報文時, 所述頭部擴展字段為所述IPv6報文頭部的擴展報頭字段。
可選的,處理器194根據(jù)所述插入信息進行所述擴散網(wǎng)元的本地流表管理包括
如果所述插入信息包含第一識別結(jié)果,或,包含所述第一識別結(jié)果和第一識別狀態(tài)碼,則將所述第一識別結(jié)果保存至所述本地流表;
如果所述插入 信息包含第二識別結(jié)果,或,包含所述第二識別結(jié)果和第一識別狀態(tài)碼,則創(chuàng)建或刷新所述本地流表而不保存所述第二識別結(jié)果;
如果所述插入信息包含識別結(jié)果請求信息,或,包含所述識別結(jié)果請求信息和第三識別狀態(tài)碼,則創(chuàng)建或刷新所述本地流表;
其中,所述第一識別結(jié)果是所述數(shù)據(jù)報文成功完成深度報文檢測識別時的識別結(jié)果,所述第二識別結(jié)果是所述擴散網(wǎng)元190創(chuàng)建所述本地流表時的識別結(jié)果初始值,所述第一識別狀態(tài)碼用于向所述擴散網(wǎng)元190指示所述數(shù)據(jù)報文攜帶所述第一識別結(jié)果或第二識別結(jié)果,所述第三識別狀態(tài)碼用于向第二下游設(shè)備指示所述數(shù)據(jù)報文攜帶所述識別結(jié)果請求信息,所述識別結(jié)果請求信息用于向所述第二下游設(shè)備請求所述第一識別結(jié)果。
其中,可選的,當(dāng)所述插入信息包含所述第一識別結(jié)果或第二識別結(jié)果時,所述插入信息還包含識別首包標(biāo)記,用于標(biāo)識所述IP網(wǎng)絡(luò)流中第一個進行深度報文檢測識別的數(shù)據(jù)報文。
進一步可選的,所述處理器194還用于
在所述本地流表中配置第四反向識別結(jié)果攜帶標(biāo)記,用于所述擴散網(wǎng)元根據(jù)所述第四反向識別結(jié)果攜帶標(biāo)記確定是否將所述第一識別結(jié)果通知所述第二下游設(shè)備;
在所述插入信息包含所述識別首包標(biāo)記和第二識別結(jié)果時,確定所述本地流表是否保存有所述第一識別結(jié)果,如果是,則將所述第四反向識別結(jié)果攜帶標(biāo)記置為真;
在進行報文轉(zhuǎn)發(fā)處理后,通過接收機191接收響應(yīng)報文,所述響應(yīng)報文由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成,并由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述擴散網(wǎng)元 190 ;
判斷所述第四反向·識別結(jié)果攜帶標(biāo)記為真,則將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段,將所述第四反向識別結(jié)果攜帶標(biāo)記置為假;可選的,當(dāng)將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段時,還將第二識別狀態(tài)碼插入所述響應(yīng)報文的頭部擴展字段,以向所述第二下游設(shè)備指示所述響應(yīng)報文攜帶有所述第一識別結(jié)果;
通過發(fā)射機192向所述第二下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的響應(yīng)報文, 以將所述第一識別結(jié)果通知所述第二下游設(shè)備。
可選的,在本實施例的一種實現(xiàn)方式中,所述處理器194還用于
在所述本地流表中設(shè)置計算識別結(jié)果等待報文計數(shù),用于計算所述擴散網(wǎng)元在獲取所述第一識別結(jié)果之前所接收到的數(shù)據(jù)報文的數(shù)目;
在所述本地流表未保存有所述第一識別結(jié)果的情況下,如果所述插入信息不包含所述第一識別結(jié)果,或者所述插入信息包含所述第一識別結(jié)果但卻未將所述第一識別結(jié)果保存至所述本地流表,則判斷所述識別結(jié)果等待報文計數(shù)是否超過預(yù)設(shè)閾值,如果是,則向所述第二下游設(shè)備請求所述第一識別結(jié)果。
進一步可選的,所述處理器194還用于
在所述本地流表中配置第五反向識別結(jié)果攜帶標(biāo)記,用于所述擴散網(wǎng)元190根據(jù)所述第五反向識別結(jié)果攜帶標(biāo)記確定是否向所述第二下游設(shè)備請求所述第一識別結(jié)果,并在判斷所述識別結(jié)果等待報文計數(shù)超過預(yù)設(shè)閾值時,將所述第五反向識別結(jié)果攜帶標(biāo)記置為真;
在進行報文轉(zhuǎn)發(fā)處理后,所述處理器194還用于
通過接收機191接收響應(yīng)報文,所述響應(yīng)報文由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成,并由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述擴散網(wǎng)元190 ;
判斷所述第五反向識別結(jié)果攜帶標(biāo)記為真,則將所述識別結(jié)果請求信息插入所述響應(yīng)報文的頭部擴展字段,將所述第五反向識別結(jié)果攜帶標(biāo)記置為假,將所述識別結(jié)果等待報文計數(shù)清零;
通過發(fā)射機192向所述第二下游設(shè)備發(fā)送攜帶有所述識別結(jié)果請求信息的響應(yīng)報文,以向所述第二下游設(shè)備請求所述第一識別結(jié)果,以便所述第二下游設(shè)備在接收到攜帶有所述識別結(jié)果請求信息的響應(yīng)報文后,在接收到屬于所述IP網(wǎng)絡(luò)流的下一個數(shù)據(jù)報文時,在所述下一個數(shù)據(jù)報文的頭部擴展字段插入所述第一識別結(jié)果然后再發(fā)送至所述擴散網(wǎng)元190 ;
通過接收機191接收所述下一個數(shù)據(jù)報文并進行解析,將所述第一識別結(jié)果保存至所述本地流表從而獲取所述第一識別結(jié)果。
可選的,在本實施例的一種實現(xiàn)方式中,處理器194還用于
通過接收機191接收響應(yīng)報文,所述響應(yīng)報文由第一下游設(shè)備發(fā)送至所述擴散網(wǎng)元,所述響應(yīng)報文攜帶有響應(yīng)信息并且所述響應(yīng)報文的頭部擴展字段攜帶有插入信息,所述響應(yīng)信息由服務(wù)器或用戶設(shè)備在接收IP網(wǎng)絡(luò)流中的數(shù)據(jù)報文后生成;
解析所述響應(yīng)報文的頭部擴展字段以確定所述響應(yīng)報文的頭部擴展字段攜帶的所述插入信息;
根據(jù)所述插入信息進行所述擴散網(wǎng)元的本地流表管理;
通過發(fā)射機192向第二下游設(shè)備發(fā)送所述響應(yīng)報文以便所述第二下游設(shè)備根據(jù)所述插入信息進行流表管理,或?qū)⑺鲰憫?yīng)報文攜帶的所述插入信息刪除后,通過發(fā)射機 192向所述第二下游設(shè)備發(fā)送未攜帶所述插入信息的響應(yīng)報文。
進一步可選的,如果所述插入信息包含所述第一識別結(jié)果和第四識別狀態(tài)碼,則處理器194還用于將所述第一識別結(jié)果保存至所述本地流表中,所述第一識別結(jié)果是所述IP網(wǎng)絡(luò)流成功完成深度報文檢測識別時的識別結(jié)果,所述第四識別狀態(tài)碼用于向所述擴散網(wǎng)元190指示所述響應(yīng)報文攜帶有所述第一識別結(jié)果。
可選的,所述處理器還用于
通過接收機191接收頭部擴展字段攜帶有識別結(jié)果請求信息的響應(yīng)報文,或者接收頭部擴展字段攜帶有所述第一識別結(jié)果和第二識別狀態(tài)碼的響應(yīng)報文;
通過發(fā)射機192向所述第二下游設(shè)備轉(zhuǎn)發(fā)上述接收到的響應(yīng)報文。
本發(fā)明一種實施例還提供一種識別結(jié)果擴散系統(tǒng),包括圖9A至圖12所示實施例中的任意一種識別功能網(wǎng)兀和圖13A至圖16所不實施例中的任意一種擴散網(wǎng)兀。
本發(fā)明一種實施例還提供一種識別結(jié)果擴散系統(tǒng),包括圖9A至圖12所示實施例中的任意一種識別功能網(wǎng)元,圖13A至圖16所示實施例中的任意一種擴散網(wǎng)元,以及圖17 所示的擴散網(wǎng)元。
其中,對于所述識別功能網(wǎng)元和擴散網(wǎng)元的詳細說明,請參照上文各裝置實施例中的相應(yīng)說明,此處不再贅述。
本領(lǐng)域普通技 術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(RandomAccessMemory, RAM)等。
以上所揭露的僅為本發(fā)明一種較佳實施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬 本發(fā)明所涵蓋的范圍。
權(quán)利要求
1.一種深度報文檢測(DPI)識別結(jié)果擴散方法,其特征在于,所述方法包括 識別功能網(wǎng)元接收網(wǎng)絡(luò)流中的數(shù)據(jù)報文; 對所述數(shù)據(jù)報文進行DPI識別,如果成功識別所述數(shù)據(jù)報文,則將識別得到的第一識別結(jié)果保存至所述識別功能網(wǎng)元的本地流表,并將所述第一識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段;如果無法識別所述數(shù)據(jù)報文,則將第二識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段,所述第二識別結(jié)果為所述識別功能網(wǎng)元創(chuàng)建所述本地流表時的識別結(jié)果初始值; 向第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果或所述第二識別結(jié)果的所述數(shù)據(jù)報文。
2.如權(quán)利要求1所述方法,其特征在于, 所述數(shù)據(jù)報文為IPv4報文或IPv6報文; 當(dāng)所述數(shù)據(jù)報文為IPv4報文時,所述將所述第一識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段,包括將所述第一識別結(jié)果插入所述數(shù)據(jù)報文頭部的選項字段;當(dāng)所述數(shù)據(jù)報文為IPv6報文時,所述將所述第一識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段,包括將所述第一識別結(jié)果插入所述數(shù)據(jù)報文的擴展頭部字段。
3.如權(quán)利要求1或2所述方法,其特征在于,所述數(shù)據(jù)報文的頭部擴展字段還包含第一識別狀態(tài)碼,用于向所述第一下游設(shè)備指示所述數(shù)據(jù)報文是否攜帶有所述第一識別結(jié)果或第二識別結(jié)果。
4.如權(quán)利要求1或2所述方法,其特征在于,當(dāng)所述數(shù)據(jù)報文是所述網(wǎng)絡(luò)流中第一個進入所述識別功能網(wǎng)元進行識別的數(shù)據(jù)包時,則在將所述第二識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段之后,所述方法還包括 在所述數(shù)據(jù)報文的頭部擴展字段插入識別首包標(biāo)記,以使所述第一下游設(shè)備在接收到攜帶有首包標(biāo)記的所述數(shù)據(jù)報文后,向所述識別功能網(wǎng)元發(fā)送攜帶有所述第一識別結(jié)果的響應(yīng)報文;所述響應(yīng)報文還包含有服務(wù)器或用戶設(shè)備在接收到所述數(shù)據(jù)報文后生成響應(yīng)消息;所述首包標(biāo)記用于標(biāo)識所述網(wǎng)絡(luò)流中第一個進入所述識別功能網(wǎng)元進行識別的數(shù)據(jù)包。
接收并解析所述響應(yīng)報文,得到所述第一識別結(jié)果,并將所述第一識別結(jié)果保存至所述本地流表; 將所述響應(yīng)報文攜帶的所述第一識別結(jié)果刪除后向第二下游設(shè)備發(fā)送。
5.如權(quán)利要求4所述方法,其特征在于, 所述響應(yīng)報文的頭部擴展字段中還包含第二識別狀態(tài)碼,用于向所述識別功能網(wǎng)元指示所述響應(yīng)報文攜帶有所述第一識別結(jié)果。
6.如權(quán)利要求1至4中任一項所述方法,其特征在于, 所述本地流表中設(shè)置有第一反向識別結(jié)果攜帶標(biāo)記,用于指示是否在接收到的響應(yīng)報文的頭部擴展字段插入所述第一識別結(jié)果;所述第一反向識別結(jié)果攜帶標(biāo)記在所述識別功能網(wǎng)元成功識別所述數(shù)據(jù)報文時置為真; 在向所述第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的數(shù)據(jù)報文之后,所述方法還包括 接收所述服務(wù)器或用戶設(shè)備在接收到所述數(shù)據(jù)報文之后發(fā)出的響應(yīng)報文;所述響應(yīng)報文由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述識別功能網(wǎng)元;判斷所述第一反向識別結(jié)果攜帶標(biāo)記是否為真,如果是,則將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段,并將所述第一反向識別結(jié)果攜帶標(biāo)記置為假,然后向第二下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的響應(yīng)報文。
7.如權(quán)利要求1至4中任一項所述方法,其特征在于, 所述本地流表中設(shè)置有第二反向識別結(jié)果攜帶標(biāo)記,用于指示所述識別功能網(wǎng)元是否在接收到所述數(shù)據(jù)報文之后接收的下一個數(shù)據(jù)報文的頭部擴展字段插入所述第一識別結(jié)果,所述下一個數(shù)據(jù)報文屬于所述網(wǎng)絡(luò)流; 在向所述第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的數(shù)據(jù)報文后,所述方法還包括 接收響應(yīng)報文,所述響應(yīng)報文由所述第一下游設(shè)備發(fā)送至所述識別功能網(wǎng)元,所述響應(yīng)報文攜帶有響應(yīng)消息并且所述響應(yīng)報文的頭部擴展字段攜帶有識別結(jié)果請求信息,所述響應(yīng)消息由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成,所述識別結(jié)果請求信息用于向所述識別功能網(wǎng)元請求所述第一識別結(jié)果; 解析所述響應(yīng)報文,將所述第二反向識別結(jié)果攜帶標(biāo)記置為真,將所述響應(yīng)報文攜帶的所述識別結(jié)果請求信息刪除后向第二下游設(shè)備發(fā)送,其中,所述響應(yīng)報文的頭部擴展字段還包含第三識別狀態(tài)碼,用于向所述識別功能網(wǎng)元指示所述響應(yīng)報文攜帶有所述識別結(jié)果請求信息; 接收所述網(wǎng)絡(luò)流中的下一個數(shù)據(jù)報文,判斷所述第二反向識別結(jié)果攜帶標(biāo)記是否為真,如果是,則將所述第二反向識別結(jié)果攜帶標(biāo)記置為假,并將所述第一識別結(jié)果插入所述下一個數(shù)據(jù)報文的頭部擴展字段,然后將所述下一個數(shù)據(jù)報文發(fā)送至所述第一下游設(shè)備。
8.如權(quán)利要求1至4中任一項所述方法,其特征在于,如果無法識別所述數(shù)據(jù)報文,則在向所述第一下游設(shè)備發(fā)送攜帶有所述第二識別結(jié)果的數(shù)據(jù)報文之后,所述方法還包括 接收響應(yīng)報文,所述響應(yīng)報文由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成,并由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述識別功能網(wǎng)元;對所述響應(yīng)報文進行識別,得到所述第一識別結(jié)果,將所述第一識別結(jié)果保存至所述本地流表,并將所述第一識別結(jié)果插入所述識別功能網(wǎng)元接收的下一個數(shù)據(jù)報文的頭部擴展字段,所述下一個數(shù)據(jù)報文屬于所述網(wǎng)絡(luò)流。
9.一種識別功能網(wǎng)元,其特征在于,所述網(wǎng)元包括 第一接收單元,用于接收網(wǎng)絡(luò)流中的數(shù)據(jù)報文; 第一識別單元,用于對所述數(shù)據(jù)報文進行深度報文檢測(DPI)識別; 第一處理單元,用于在所述第一識別單元成功識別所述數(shù)據(jù)報文時,將識別得到的第一識別結(jié)果保存至所述識別功能網(wǎng)元的本地流表,并將所述第一識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段;在所述第一識別單元無法識別所述數(shù)據(jù)報文時,將第二識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段,所述第二識別結(jié)果為所述識別功能網(wǎng)元創(chuàng)建所述本地流表時的識別結(jié)果初始值; 第一發(fā)送單元,用于向第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果或所述第二識別結(jié)果的所述數(shù)據(jù)報文。
10.如權(quán)利要求9所述網(wǎng)元,其特征在于,所述第一處理單元還用于在所述數(shù)據(jù)報文的頭部擴展字段插入第一識別狀態(tài)碼,用于向所述第一下游設(shè)備指示所述數(shù)據(jù)報文攜帶有所述第一識別結(jié)果或第二識別結(jié)果。
11.如權(quán)利要求9或10所述的網(wǎng)元,其特征在于,如果所述數(shù)據(jù)報文是所述識別功能網(wǎng)元接收到的所述網(wǎng)絡(luò)流中的第一個數(shù)據(jù)包,則所述第一處理單元還用于,在將所述第二識別結(jié)果插入所述數(shù)據(jù)報文的頭部擴展字段之后,在所述數(shù)據(jù)報文的頭部擴展字段插入識別首包標(biāo)記,以使所述第一下游設(shè)備在接收到攜帶有首包標(biāo)記的所述數(shù)據(jù)報文后,向所述識別功能網(wǎng)元發(fā)送攜帶有所述第一識別結(jié)果的響應(yīng)報文;所述響應(yīng)報文還包含有服務(wù)器或用戶設(shè)備在接收到所述數(shù)據(jù)報文后生成響應(yīng)消息;所述首包標(biāo)記用于標(biāo)識所述網(wǎng)絡(luò)流中第一個進入所述識別功能網(wǎng)元進行識別的數(shù)據(jù)包。
12.如權(quán)利要求11所述的網(wǎng)元,其特征在于,所述網(wǎng)元還包括 第二接收單元,用于在所述第一發(fā)送單元向所述第一下游設(shè)備發(fā)送攜帶有所述第二識別結(jié)果和識別首包標(biāo)記的數(shù)據(jù)報文之后,接收響應(yīng)報文,所述響應(yīng)報文攜帶有響應(yīng)消息并且所述響應(yīng)報文的頭部擴展字段攜帶有所述第一識別結(jié)果,所述響應(yīng)消息由服務(wù)器或用戶設(shè)備在接收到所述數(shù)據(jù)報文后生成; 第二處理單元,用于解析所述響應(yīng)報文以將所述第一識別結(jié)果保存至所述本地流表,然后將所述響應(yīng)報文攜帶的所述第一識別結(jié)果刪除; 第二發(fā)送單元,用于向第二下游設(shè)備發(fā)送所述第二處理單元處理后的響應(yīng)報文。
13.如權(quán)利要求9或10所述的網(wǎng)元,其特征在于,所述網(wǎng)元還包括 第一配置單元,用于在所述本地流表中配置第一反向識別結(jié)果攜帶標(biāo)記,并在所述第一識別單元成功識別所述數(shù)據(jù)報文時,將所述第一反向識別結(jié)果攜帶標(biāo)記置為真;所述第一反向識別結(jié)果攜帶標(biāo)記用于指示是否在接收到的響應(yīng)報文的頭部擴展字段插入所述第一識別結(jié)果,其中,所述響應(yīng)報文由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成,并由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述識別功能網(wǎng)元; 第三接收單元,用于在所述第一發(fā)送單元向所述第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的數(shù)據(jù)報文后,接收所述響應(yīng)報文; 第三處理單元,用于在所述第三接收單元接收到所述響應(yīng)報文時,判斷所述第一反向識別結(jié)果攜帶標(biāo)記是否為真,如果是,則將所述第一識別結(jié)果插入所述響應(yīng)報文的頭部擴展字段,并將所述第一反向識別結(jié)果攜帶標(biāo)記置為假; 第三發(fā)送單元,用于向所述第二下游設(shè)備發(fā)送插入所述第一識別結(jié)果后的所述響應(yīng)報文。
14.如權(quán)利要求9或10所述的網(wǎng)元,其特征在于,所述網(wǎng)元還包括 第二配置單元,用于在所述本地流表中配置第二反向識別結(jié)果攜帶標(biāo)記,并在第四接收單元接收到響應(yīng)報文時,將所述第二反向識別結(jié)果攜帶標(biāo)記置為真;所述第二反向識別結(jié)果攜帶標(biāo)記用于指示是否在所述識別功能網(wǎng)元接收的下一個數(shù)據(jù)報文的頭部擴展字段插入所述第一識別結(jié)果; 第四接收單元,用于在所述第一發(fā)送單元向所述第一下游設(shè)備發(fā)送攜帶有所述第一識別結(jié)果的數(shù)據(jù)報文后,接收響應(yīng)報文,所述響應(yīng)報文由所述第一下游設(shè)備發(fā)送至所述識別功能網(wǎng)元,所述響應(yīng)報文攜帶有響應(yīng)消息并且所述響應(yīng)報文的頭部擴展字段攜帶有識別結(jié)果請求信息,所述響應(yīng)消息由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文或所述網(wǎng)絡(luò)流的其他數(shù)據(jù)報文后生成,所述識別結(jié)果請求信息用于向所述識別功能網(wǎng)元請求所述第一識別結(jié)果;第四處理單元,用于將所述響應(yīng)報文攜帶的所述識別結(jié)果請求信息刪除; 第四發(fā)送單元,用于向第二下游設(shè)備發(fā)送刪除識別結(jié)果請求信息后的所述響應(yīng)報文;第五接收單元,用于接收下一個數(shù)據(jù)報文;所述下一個數(shù)據(jù)報文是所述識別功能網(wǎng)元在接收到所述數(shù)據(jù)報文之后,接收到的下一個數(shù)據(jù)報文,且所述下一個數(shù)據(jù)報文屬于所述網(wǎng)絡(luò)流; 第五處理單元,用于判斷所述第二反向識別結(jié)果攜帶標(biāo)記是否為真,如果是則將所述第一識別結(jié)果插入所述下一個數(shù)據(jù)報文的頭部擴展字段; 第五發(fā)送單元,用于將攜帶有所述第一識別結(jié)果的所述下一個數(shù)據(jù)報文發(fā)送至所述第一下游設(shè)備。
15.如權(quán)利要求9或10所述的網(wǎng)元,其特征在于,所述網(wǎng)元還包括 第六接收單元,用于在所述第一發(fā)送單元向所述第一下游設(shè)備發(fā)送攜帶有所述第二識別結(jié)果的數(shù)據(jù)報文后,接收響應(yīng)報文,所述響應(yīng)報文由服務(wù)器或用戶設(shè)備在接收所述數(shù)據(jù)報文后生成,并由所述第一下游設(shè)備轉(zhuǎn)發(fā)至所述識別功能網(wǎng)元; 第二識別單元,用于對所述響應(yīng)報文進行識別; 第六處理單元,用于在所述第二識別單元成功識別所述響應(yīng)報文后獲取第一識別結(jié)果,將所述第一識別結(jié)果保存至所述本地流表,并將所述第一識別結(jié)果插入所述識別功能網(wǎng)元接收的下一個數(shù)據(jù)報文的頭部擴展字段,所述下一個數(shù)據(jù)報文屬于所述網(wǎng)絡(luò)流。
全文摘要
本發(fā)明的實施例公開了一種深度報文檢測結(jié)果擴散方法,本發(fā)明實施例還公開了一種識別功能網(wǎng)元和擴散網(wǎng)元。其中所述方法包括識別功能網(wǎng)元接收IP網(wǎng)絡(luò)流中的數(shù)據(jù)報文;對數(shù)據(jù)報文進行識別,如果識別成功,則將識別得到的第一識別結(jié)果保存至識別功能網(wǎng)元的本地流表,并將第一識別結(jié)果插入數(shù)據(jù)報文的頭部擴展字段;如果無法識別,則將第二識別結(jié)果插入數(shù)據(jù)報文的頭部擴展字段,第二識別結(jié)果為識別功能網(wǎng)元創(chuàng)建本地流表時的識別結(jié)果初始值;當(dāng)根據(jù)業(yè)務(wù)配置確定無需丟棄數(shù)據(jù)報文時,向第一下游設(shè)備發(fā)送攜帶有第一識別結(jié)果或第二識別結(jié)果的數(shù)據(jù)報文。采用本發(fā)明,無需所有網(wǎng)元均進行DPI業(yè)務(wù)識別,降低了整體網(wǎng)絡(luò)執(zhí)行DPI的時延,降低了維護成本。
文檔編號H04L12/24GK103067199SQ20121055315
公開日2013年4月24日 申請日期2012年12月19日 優(yōu)先權(quán)日2012年12月19日
發(fā)明者周英偉 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1