本發(fā)明涉及通信
技術(shù)領(lǐng)域:
,具體涉及一種數(shù)據(jù)流的確定方法及控制器。
背景技術(shù):
:傳統(tǒng)的路由技術(shù)中,當(dāng)兩個(gè)網(wǎng)絡(luò)設(shè)備間存在多條鏈路時(shí),只能通過其中的一條鏈路傳輸報(bào)文,其它鏈路則處于備份狀態(tài)或無效狀態(tài),限制了報(bào)文傳輸?shù)膸?。為了解決上述問題,業(yè)界提出了等價(jià)多路徑(英文:equal-costmulti-pathrouting,簡稱:ecmp)路由技術(shù),該路由技術(shù)中兩個(gè)網(wǎng)絡(luò)設(shè)備間可以存在多條不同鏈路,可以將屬于同一數(shù)據(jù)流的多個(gè)報(bào)文通過不同鏈路在兩個(gè)網(wǎng)絡(luò)設(shè)備間傳輸,而兩個(gè)網(wǎng)絡(luò)設(shè)備間的不同鏈路上能夠傳輸?shù)臄?shù)據(jù)流可能不同,例如:鏈路1可以傳輸數(shù)據(jù)流1和數(shù)據(jù)流2,鏈路2可以傳輸數(shù)據(jù)流2和數(shù)據(jù)流3。此外,一條路徑可能經(jīng)過多個(gè)網(wǎng)絡(luò)設(shè)備,而這些網(wǎng)絡(luò)設(shè)備中任意兩個(gè)網(wǎng)絡(luò)設(shè)備間的鏈路可以傳輸?shù)臄?shù)據(jù)流也可能不同,例如:路徑1經(jīng)過的網(wǎng)絡(luò)設(shè)備1和網(wǎng)絡(luò)設(shè)備2間的鏈路1可以傳輸數(shù)據(jù)流2和數(shù)據(jù)流4,而經(jīng)過的網(wǎng)絡(luò)設(shè)備2和網(wǎng)絡(luò)設(shè)備3間的鏈路3可以傳輸數(shù)據(jù)流3和數(shù)據(jù)流4,因此,如何確定路徑上能夠通過的數(shù)據(jù)流成為一個(gè)亟待解決的問題。目前,一種常見的確定路徑上能夠通過的數(shù)據(jù)流的方式為:控制器構(gòu)造并發(fā)送大量報(bào)文,根據(jù)報(bào)文的傳輸路徑確定每條路徑上能夠通過的數(shù)據(jù)流。然而,由于上述方式需要通過傳輸大量報(bào)文來確定每條路徑上能夠通過的數(shù)據(jù)流,而傳輸大量報(bào)文所需時(shí)間較長,以致降低了路徑上能夠通過的數(shù)據(jù)流的確定效率。技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例公開一種數(shù)據(jù)流的確定方法及控制器,用于提高路徑上能夠通過的數(shù)據(jù)流的確定效率。本發(fā)明實(shí)施例第一方面公開一種數(shù)據(jù)流的確定方法,該數(shù)據(jù)流的確定方法應(yīng)用于管理至少一個(gè)網(wǎng)絡(luò)設(shè)備的控制器,至少一個(gè)網(wǎng)絡(luò)設(shè)備中的每個(gè)網(wǎng)絡(luò) 設(shè)備采用ecmp路由技術(shù)與其他網(wǎng)絡(luò)設(shè)備通信,該方法可以包括:對于至少一個(gè)網(wǎng)絡(luò)設(shè)備中的每個(gè)網(wǎng)絡(luò)設(shè)備,獲取該網(wǎng)絡(luò)設(shè)備的所有數(shù)據(jù)流,每個(gè)數(shù)據(jù)流可以包括源ip地址、源端口號、目的ip地址和目的端口號,源ip地址是用于初始發(fā)送數(shù)據(jù)流的報(bào)文的網(wǎng)絡(luò)設(shè)備或控制器的ip地址,源端口號是用于初始發(fā)送數(shù)據(jù)流的報(bào)文的應(yīng)用的標(biāo)識,目的ip地址是用于最終接收數(shù)據(jù)流的報(bào)文的網(wǎng)絡(luò)設(shè)備或控制器的ip地址,目的端口號是用于最終接收數(shù)據(jù)流的報(bào)文的應(yīng)用的標(biāo)識;根據(jù)每個(gè)數(shù)據(jù)流的源ip地址、源端口號、目的ip地址和目的端口號,計(jì)算該數(shù)據(jù)流經(jīng)過該網(wǎng)絡(luò)設(shè)備的出接口號,該數(shù)據(jù)流經(jīng)過該網(wǎng)絡(luò)設(shè)備的出接口號是該數(shù)據(jù)流經(jīng)過該網(wǎng)絡(luò)設(shè)備的出接口的接口號,該數(shù)據(jù)流經(jīng)過該網(wǎng)絡(luò)設(shè)備的出接口是該網(wǎng)絡(luò)設(shè)備與該數(shù)據(jù)流經(jīng)過的且與該網(wǎng)絡(luò)設(shè)備相鄰的下一個(gè)網(wǎng)絡(luò)設(shè)備間的鏈路在該網(wǎng)絡(luò)設(shè)備上的接口;確定每個(gè)出接口號在該網(wǎng)絡(luò)設(shè)備上的接口標(biāo)識,例如:網(wǎng)絡(luò)設(shè)備1的出接口號0對應(yīng)網(wǎng)絡(luò)設(shè)備1上的接口1;確定處于目標(biāo)路徑上的所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識分別對應(yīng)的數(shù)據(jù)流集合,目標(biāo)路徑可以是經(jīng)過至少一個(gè)網(wǎng)絡(luò)設(shè)備中每個(gè)網(wǎng)絡(luò)設(shè)備的所有路徑中的任一路徑;計(jì)算處于目標(biāo)路徑上的所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識分別對應(yīng)的數(shù)據(jù)流集合的交集,可以得到目標(biāo)路徑上能夠通過的數(shù)據(jù)流集合。在一個(gè)實(shí)施例中,根據(jù)每個(gè)數(shù)據(jù)流的源ip地址、源端口號、目的ip地址和目的端口號計(jì)算該數(shù)據(jù)流經(jīng)過該網(wǎng)絡(luò)設(shè)備的出接口號時(shí),對于經(jīng)過該網(wǎng)絡(luò)設(shè)備的每個(gè)數(shù)據(jù)流,可以先將數(shù)據(jù)流的源ip地址、源端口號、目的ip地址和目的端口號輸入哈希(hash)算法,hash算法的輸出即為該數(shù)據(jù)流的hash值,之后根據(jù)該網(wǎng)絡(luò)設(shè)備的ecmp鏈路數(shù)量對該數(shù)據(jù)流的hash值進(jìn)行取模運(yùn)算,可以得到該數(shù)據(jù)流在該網(wǎng)絡(luò)設(shè)備上的出接口號,該網(wǎng)絡(luò)設(shè)備的ecmp鏈路數(shù)量是該網(wǎng)絡(luò)設(shè)備與該數(shù)據(jù)流經(jīng)過的網(wǎng)絡(luò)設(shè)備中與該網(wǎng)絡(luò)設(shè)備相鄰的下一個(gè)網(wǎng)絡(luò)設(shè)備間的ecmp鏈路數(shù)量。在一個(gè)實(shí)施例中,確定每個(gè)出接口號在該網(wǎng)絡(luò)設(shè)備上的接口標(biāo)識時(shí),可以先從第一出接口號對應(yīng)的數(shù)據(jù)流中選取檢測數(shù)據(jù)流,之后向該網(wǎng)絡(luò)設(shè)備發(fā) 送檢測數(shù)據(jù)流的報(bào)文,獲取檢測數(shù)據(jù)流的報(bào)文在該網(wǎng)絡(luò)設(shè)備上的出接口的第一接口標(biāo)識,將第一接口標(biāo)識確定為第一出接口號在該網(wǎng)絡(luò)設(shè)備上的出接口的接口標(biāo)識,第一出接口號是該網(wǎng)絡(luò)設(shè)備的出接口號中的任一出接口號,檢測數(shù)據(jù)流是經(jīng)過該網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)流中出接口號為第一出接口號的任一數(shù)據(jù)流。在一個(gè)實(shí)施例中,確定每個(gè)出接口號在該出接口號對應(yīng)的網(wǎng)絡(luò)設(shè)備上的接口標(biāo)識時(shí),可以先從第二出接口號對應(yīng)的的數(shù)據(jù)流中選取檢測數(shù)據(jù)流,并向該網(wǎng)絡(luò)設(shè)備發(fā)送攜帶有該檢測數(shù)據(jù)流的源ip地址、源端口號、目的ip地址和目的端口號的接口標(biāo)識查詢請求,之后將會接收到該網(wǎng)絡(luò)設(shè)備發(fā)送的該檢測數(shù)據(jù)流在該網(wǎng)絡(luò)設(shè)備上的出接口的第二接口標(biāo)識,第二接口標(biāo)識即為第二出接口號在該網(wǎng)絡(luò)設(shè)備上的出接口的接口標(biāo)識,第二出接口號是該網(wǎng)絡(luò)設(shè)備的出接口號中的任一出接口號,檢測數(shù)據(jù)流是經(jīng)過該網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)流中出接口號為第二出接口號的任一數(shù)據(jù)流。在一個(gè)實(shí)施例中,確定處于目標(biāo)路徑上的所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合時(shí),可以先統(tǒng)計(jì)至少一個(gè)網(wǎng)絡(luò)設(shè)備中的每個(gè)網(wǎng)絡(luò)設(shè)備的每個(gè)接口標(biāo)識的數(shù)據(jù)流,并對于目標(biāo)路徑,確定處于目標(biāo)路徑上的所有網(wǎng)絡(luò)設(shè)備在目標(biāo)路徑上的出接口的接口標(biāo)識,之后可以確定目標(biāo)路徑上的每個(gè)網(wǎng)絡(luò)設(shè)備在目標(biāo)路徑上的出接口的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合。在一個(gè)實(shí)施例中,得到每條路徑上能夠通過的數(shù)據(jù)流集合之后,對于每條路徑,可以從路徑對應(yīng)的數(shù)據(jù)流集合中任選一個(gè)數(shù)據(jù)流,并在該路徑上發(fā)送該數(shù)據(jù)流的檢測報(bào)文以檢測該路徑的轉(zhuǎn)發(fā)質(zhì)量,即檢測該路徑上的連通性、丟包率和延時(shí)中的至少一種,以便可以檢測每條路徑的轉(zhuǎn)發(fā)質(zhì)量,從而可以為每個(gè)數(shù)據(jù)流的報(bào)文選擇一條最佳的傳輸路徑,并且,本發(fā)明可以僅通過一個(gè)檢測報(bào)文就能檢測一條路徑的轉(zhuǎn)發(fā)質(zhì)量。此外,由于檢測報(bào)文的路徑是確定的,因此,可以很容易的計(jì)算出丟包率。本發(fā)明實(shí)施例第二方面公開了一種控制器,該控制器包括的單元能夠執(zhí)行本發(fā)明實(shí)施例第一方面公開的數(shù)據(jù)流的確定方法。本發(fā)明實(shí)施例第三方面公開一種控制器,包括處理器、存儲器和通信接口。其中,存儲器用于存儲一組程序代碼,處理器用于執(zhí)行存儲器存儲的程 序代碼,通信接口用于在處理器的控制下與網(wǎng)絡(luò)設(shè)備或其它控制器進(jìn)行通信。當(dāng)處理器執(zhí)行存儲器存儲的程序代碼時(shí),可根據(jù)存儲器存儲的程序代碼執(zhí)行本發(fā)明實(shí)施例第一方面公開的數(shù)據(jù)流的確定方法。本發(fā)明實(shí)施例第四方面公開一種可讀存儲介質(zhì),該可讀存儲介質(zhì)存儲了控制器用于執(zhí)行本發(fā)明實(shí)施例第一方面公開的數(shù)據(jù)流的確定方法的程序代碼。本發(fā)明實(shí)施例中,控制器可以根據(jù)經(jīng)過控制器管理的網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)流,確定控制管理的每個(gè)網(wǎng)絡(luò)設(shè)備的每個(gè)出接口的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合,當(dāng)需要確定目標(biāo)路徑上能夠通過的數(shù)據(jù)流集合時(shí),控制器可以先確定處于目標(biāo)路徑上的所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合,之后計(jì)算所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合的交集,以獲得目標(biāo)路徑上能夠通過的數(shù)據(jù)流集合。本發(fā)明不需要通過大量報(bào)文來檢測哪條路徑上可以通過哪些數(shù)據(jù)流,可以縮短路徑上能夠通過的數(shù)據(jù)流集合的確定時(shí)間,從而可以提高路徑上能夠通過的數(shù)據(jù)流的確定效率。附圖說明為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實(shí)施例公開的一種確定數(shù)據(jù)流的網(wǎng)絡(luò)架構(gòu)圖;圖2是本發(fā)明實(shí)施例公開的一種數(shù)據(jù)流的確定方法的流程圖;圖3是本發(fā)明實(shí)施例公開的一種控制器的結(jié)構(gòu)圖;圖4是本發(fā)明實(shí)施例公開的另一種控制器的結(jié)構(gòu)圖;圖5是本發(fā)明實(shí)施例公開的又一種控制器的結(jié)構(gòu)圖。具體實(shí)施方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是 全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例公開一種數(shù)據(jù)流的確定方法及控制器,用于提高路徑上能夠通過的數(shù)據(jù)流的確定效率。以下分別進(jìn)行詳細(xì)說明。為了更好地理解本發(fā)明實(shí)施例公開的一種數(shù)據(jù)流的確定方法及控制器,下面先對本發(fā)明實(shí)施例使用的網(wǎng)絡(luò)架構(gòu)進(jìn)行描述。請參閱圖1,圖1是本發(fā)明實(shí)施例公開的一種確定數(shù)據(jù)流的網(wǎng)絡(luò)架構(gòu)圖。如圖1所示,該確定數(shù)據(jù)流的網(wǎng)絡(luò)架構(gòu)圖可以包括控制器101和至少一個(gè)網(wǎng)絡(luò)設(shè)備102,圖1中畫出了9個(gè)網(wǎng)絡(luò)設(shè)備,控制器101與網(wǎng)絡(luò)設(shè)備102之間通過網(wǎng)絡(luò)連接,有些網(wǎng)絡(luò)設(shè)備102之間也通過網(wǎng)絡(luò)連接,其中:控制器101,用于管理網(wǎng)絡(luò)設(shè)備102,以及與其它控制器進(jìn)行通信。網(wǎng)絡(luò)設(shè)備102,用于傳輸報(bào)文。其中,兩個(gè)直接連接的網(wǎng)絡(luò)設(shè)備102之間存在多條鏈路,圖1中未畫出?;趫D1所示的確定數(shù)據(jù)流的網(wǎng)絡(luò)架構(gòu)圖,請參閱圖2,圖2是本發(fā)明實(shí)施例公開的一種數(shù)據(jù)流的確定方法的流程圖。其中,該數(shù)據(jù)流的確定方法是從控制器101的角度來描述的。如圖2所示,該數(shù)據(jù)流的確定方法可以包括以下步驟。201、對于控制器管理的每個(gè)網(wǎng)絡(luò)設(shè)備,獲取經(jīng)過網(wǎng)絡(luò)設(shè)備的包括源ip地址、源端口號、目的ip地址和目的端口號的數(shù)據(jù)流。本實(shí)施例中,當(dāng)需要確定經(jīng)過控制器管理的至少一個(gè)網(wǎng)絡(luò)設(shè)備中每個(gè)網(wǎng)絡(luò)設(shè)備的每條路徑能夠通過的數(shù)據(jù)流時(shí),可以針對至少一個(gè)網(wǎng)絡(luò)設(shè)備中的每個(gè)網(wǎng)絡(luò)設(shè)備,獲取經(jīng)過網(wǎng)絡(luò)設(shè)備的所有數(shù)據(jù)流,每個(gè)數(shù)據(jù)流包括的源ip地址、源端口號、目的ip地址和目的端口號,可以表明這個(gè)數(shù)據(jù)流是由哪一個(gè)設(shè)備的哪個(gè)應(yīng)用向哪一個(gè)設(shè)備的哪個(gè)應(yīng)用發(fā)送的,其中,源ip地址是發(fā)送設(shè)備的ip地址,目的ip地址是接收設(shè)備的ip地址,源端口號是發(fā)送應(yīng)用的標(biāo)識,目的端口號是接收應(yīng)用的標(biāo)識。例如:假設(shè)有5個(gè)應(yīng)用,可以將這5個(gè)應(yīng)用分別標(biāo)識為0、1、2、3、4。其中,數(shù)據(jù)流還可以包括協(xié)議類型,協(xié)議類型可以為用戶 數(shù)據(jù)報(bào)協(xié)議(userdatagramprotocol,udp),也可以為傳輸控制協(xié)議(transmissioncontrolprotocol,tcp)。202、根據(jù)每個(gè)數(shù)據(jù)流的源ip地址、源端口號、目的ip地址和目的端口號,計(jì)算該數(shù)據(jù)流經(jīng)過該網(wǎng)絡(luò)設(shè)備的出接口號。本實(shí)施例中,針對至少一個(gè)網(wǎng)絡(luò)設(shè)備中的每個(gè)網(wǎng)絡(luò)設(shè)備,獲取到經(jīng)過網(wǎng)絡(luò)設(shè)備的包括源ip地址、源端口號、目的ip地址和目的端口號的數(shù)據(jù)流之后,針對經(jīng)過該網(wǎng)絡(luò)設(shè)備中的每個(gè)數(shù)據(jù)流,可以將數(shù)據(jù)流的源ip地址、源端口號、目的ip地址和目的端口號輸入目標(biāo)算法,目標(biāo)算法的輸出即為該數(shù)據(jù)流的計(jì)算值,每個(gè)數(shù)據(jù)流唯一對應(yīng)一個(gè)計(jì)算值。之后根據(jù)該網(wǎng)絡(luò)設(shè)備的ecmp鏈路數(shù)量對該數(shù)據(jù)流的hash值進(jìn)行取模運(yùn)算,可以得到該數(shù)據(jù)流在該網(wǎng)絡(luò)設(shè)備上的出接口號。其中,目標(biāo)算法可以為hash算法,也可以為其它算法,本實(shí)施例不作限定。其中,該數(shù)據(jù)流經(jīng)過該網(wǎng)絡(luò)設(shè)備的出接口號是該數(shù)據(jù)流經(jīng)過該網(wǎng)絡(luò)設(shè)備的出接口的接口號,即該數(shù)據(jù)流流出該網(wǎng)絡(luò)設(shè)備的接口的接口號。舉例說明,假設(shè)圖1中的虛線箭頭為一個(gè)數(shù)據(jù)流的傳輸路徑,可見,該數(shù)據(jù)流依次經(jīng)過網(wǎng)絡(luò)設(shè)備3、網(wǎng)絡(luò)設(shè)備2、網(wǎng)絡(luò)設(shè)備1、網(wǎng)絡(luò)設(shè)備8和網(wǎng)絡(luò)設(shè)備9,計(jì)算得到該數(shù)據(jù)流的計(jì)算值之后,分別獲取網(wǎng)絡(luò)設(shè)備3與網(wǎng)絡(luò)設(shè)備2間的ecmp鏈路數(shù)量、網(wǎng)絡(luò)設(shè)備2與網(wǎng)絡(luò)設(shè)備1間的ecmp鏈路數(shù)量、網(wǎng)絡(luò)設(shè)備1與網(wǎng)絡(luò)設(shè)備8間的ecmp鏈路數(shù)量、網(wǎng)絡(luò)設(shè)備8與網(wǎng)絡(luò)設(shè)備9間的ecmp鏈路數(shù)量,根據(jù)網(wǎng)絡(luò)設(shè)備3與網(wǎng)絡(luò)設(shè)備2間的ecmp鏈路數(shù)量對該計(jì)算值取??梢缘玫皆摂?shù)據(jù)流經(jīng)過網(wǎng)絡(luò)設(shè)備3的出接口號,根據(jù)網(wǎng)絡(luò)設(shè)備2與網(wǎng)絡(luò)設(shè)備1間的ecmp鏈路數(shù)量對該計(jì)算值取模可以得到該數(shù)據(jù)流經(jīng)過網(wǎng)絡(luò)設(shè)備2的出接口號,根據(jù)網(wǎng)絡(luò)設(shè)備1與網(wǎng)絡(luò)設(shè)備8間的ecmp鏈路數(shù)量對該計(jì)算值取??梢缘玫皆摂?shù)據(jù)流經(jīng)過網(wǎng)絡(luò)設(shè)備1的出接口號,根據(jù)網(wǎng)絡(luò)設(shè)備8與網(wǎng)絡(luò)設(shè)備9間的ecmp鏈路數(shù)量對該計(jì)算值取??梢缘玫皆摂?shù)據(jù)流經(jīng)過網(wǎng)絡(luò)設(shè)備8的出接口號。203、確定每個(gè)出接口號在該網(wǎng)絡(luò)設(shè)備上的接口標(biāo)識。本實(shí)施例中,兩個(gè)直接連接的網(wǎng)絡(luò)設(shè)備間存在多條不同的鏈路,不同鏈路在同一個(gè)網(wǎng)絡(luò)設(shè)備上的接口不同,而一個(gè)數(shù)據(jù)流并不一定均經(jīng)過同一網(wǎng)絡(luò)設(shè)備上的所有接口。因此,根據(jù)經(jīng)過該網(wǎng)絡(luò)設(shè)備的每個(gè)數(shù)據(jù)流的源ip地址、源端口號、目的ip地址和目的端口號計(jì)算得到該數(shù)據(jù)流經(jīng)過該網(wǎng)絡(luò)設(shè)備的出接口 號之后,也即是在計(jì)算出經(jīng)過至少一個(gè)網(wǎng)絡(luò)設(shè)備中每個(gè)網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)流在該網(wǎng)絡(luò)設(shè)備上的出接口的接口號之后,可以將出接口號相同的數(shù)據(jù)流進(jìn)行歸類,如表1所示:出接口號流0f1,f3,f5…1f2,f4,f6…2f11,f13,f15……表1其中,表1中,將出接口為0的數(shù)據(jù)流f1、f3、f5等歸類在一起,將出接口為1的數(shù)據(jù)流f2、f4、f6等歸類在一起,將出接口為2的數(shù)據(jù)流f11、f13、f15等歸類在一起。之后可以從出口號為0的數(shù)據(jù)流中選取一個(gè)數(shù)據(jù)流f1,數(shù)據(jù)流f1是經(jīng)過該網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)流,將向該網(wǎng)絡(luò)設(shè)備傳輸數(shù)據(jù)流f1的報(bào)文,假設(shè)數(shù)據(jù)流f1經(jīng)過網(wǎng)絡(luò)設(shè)備3的出接口號為0,則檢測數(shù)據(jù)流f1的報(bào)文從網(wǎng)絡(luò)設(shè)備3出來時(shí)經(jīng)過的出接口的接口標(biāo)識,即報(bào)文從網(wǎng)絡(luò)設(shè)備3向網(wǎng)絡(luò)設(shè)備2傳輸時(shí)經(jīng)過的鏈路在網(wǎng)絡(luò)設(shè)備3上的接口的接口標(biāo)識,當(dāng)出接口的接口標(biāo)識為1時(shí),表明數(shù)據(jù)流f1是從網(wǎng)絡(luò)設(shè)備3的接口1流出來的,因此,數(shù)據(jù)流f3和f5經(jīng)過的網(wǎng)絡(luò)設(shè)備的出接口號0在對應(yīng)的網(wǎng)絡(luò)設(shè)備上的出接口的接口標(biāo)識也為接口1,出接口號1和出接口號2在對應(yīng)設(shè)備上的接口標(biāo)識可以通過相同方法獲得,如表2所示:接口標(biāo)識接口號流接口10f1,f3,f5…接口21f2,f4,f6…接口32f11,f13,f15…………………表2也可以從出接口號0對應(yīng)的數(shù)據(jù)流中選取一個(gè)數(shù)據(jù)流f1,數(shù)據(jù)流f1是經(jīng)過該網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)流,向該網(wǎng)絡(luò)設(shè)備發(fā)送攜帶有數(shù)據(jù)流f1的源ip地址、源端口號、目的ip地址和目的端口號的接口標(biāo)識查詢請求,之后將會接收到該網(wǎng)絡(luò)設(shè)備發(fā)送的數(shù)據(jù)流f1在該網(wǎng)絡(luò)設(shè)備的出接口的接口標(biāo)識,當(dāng)出接口的接口標(biāo)識為1時(shí), 數(shù)據(jù)流f3和f5經(jīng)過的網(wǎng)絡(luò)設(shè)備的出接口號0在對應(yīng)的網(wǎng)絡(luò)設(shè)備上的出接口的接口標(biāo)識也為接口1。204、確定處于目標(biāo)路徑上的所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合。本實(shí)施例中,確定出每個(gè)出接口號在該網(wǎng)絡(luò)設(shè)備上的接口標(biāo)識之后,可以統(tǒng)計(jì)至少一個(gè)網(wǎng)絡(luò)設(shè)備中每個(gè)網(wǎng)絡(luò)設(shè)備的每個(gè)接口標(biāo)識的數(shù)據(jù)流,之后確定處于目標(biāo)路徑上的所有網(wǎng)絡(luò)設(shè)備在目標(biāo)路徑上的出接口的接口標(biāo)識,可以確定出目標(biāo)路徑上的每個(gè)網(wǎng)絡(luò)設(shè)備在目標(biāo)路徑上的出接口的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合。目標(biāo)路徑可以是經(jīng)過至少一個(gè)網(wǎng)絡(luò)設(shè)備中的每個(gè)網(wǎng)絡(luò)設(shè)備的所有路徑中的任一路徑,也可以是經(jīng)過至少一個(gè)網(wǎng)絡(luò)設(shè)備中的每個(gè)網(wǎng)絡(luò)設(shè)備的所有路徑中的多條路徑,其處理過程與一條路徑的處理過程相同。205、計(jì)算處于目標(biāo)路徑上的所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合的交集,以獲得目標(biāo)路徑上能夠通過的數(shù)據(jù)流集合。舉例說明,假設(shè)圖1中虛線箭頭為目標(biāo)路徑,目標(biāo)路徑經(jīng)過網(wǎng)絡(luò)設(shè)備3的接口1、網(wǎng)絡(luò)設(shè)備2的接口2、網(wǎng)絡(luò)設(shè)備1的接口1、理由設(shè)備8的接口3和網(wǎng)絡(luò)設(shè)備9的接口1,網(wǎng)絡(luò)設(shè)備3的接口1對應(yīng)的數(shù)據(jù)流集為{f1,f2,f3,f4},網(wǎng)絡(luò)設(shè)備2的接口2對應(yīng)的數(shù)據(jù)流集為{f2,f3,f4,f8},網(wǎng)絡(luò)設(shè)備1的接口1對應(yīng)的數(shù)據(jù)流集為{f1,f2,f3,f4},網(wǎng)絡(luò)設(shè)備8的接口3對應(yīng)的數(shù)據(jù)流集為{f3,f4,f7,f8},網(wǎng)絡(luò)設(shè)備9的接口1對應(yīng)的數(shù)據(jù)流集為{f3,f4,f7,f8},{f1,f2,f3,f4}∩{f2,f3,f4,f8}∩{f1,f2,f3,f4}∩{f3,f4,f7,f8}={f3,f4},即虛線箭頭路徑上能夠通過的數(shù)據(jù)流為f3和f4。在圖2所描述的路徑探測方法中,控制器可以根據(jù)經(jīng)過控制器管理的網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)流,確定控制管理的每個(gè)網(wǎng)絡(luò)設(shè)備的每個(gè)出接口的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合,當(dāng)需要確定目標(biāo)路徑上能夠通過的數(shù)據(jù)流集合時(shí),控制器可以先確定處于目標(biāo)路徑上的所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合,之后計(jì)算所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合的交集,以獲得目標(biāo)路徑上能夠通過的數(shù)據(jù)流集合。本發(fā)明不需要通過大量報(bào)文來檢測哪條路徑上可以通過哪些數(shù)據(jù)流,可以縮短路徑上能夠通過的數(shù)據(jù)流集合的確定時(shí)間,從而可以提高路徑上能夠通過的數(shù)據(jù)流的確定效率?;趫D1所示的確定數(shù)據(jù)流的網(wǎng)絡(luò)架構(gòu)圖,請參閱圖3,圖3是本發(fā)明實(shí)施例公開的一種控制器的結(jié)構(gòu)圖。如圖3所示,該控制器300可以包括:獲取單元301,用于對于控制器管理的每個(gè)網(wǎng)絡(luò)設(shè)備,獲取經(jīng)過網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)流,每個(gè)數(shù)據(jù)流包括源ip地址、源端口號、目的ip地址和目的端口號;第一計(jì)算單元302,用于根據(jù)獲取單元301獲取的每個(gè)數(shù)據(jù)流的源ip地址、源端口號、目的ip地址和目的端口號,計(jì)算該數(shù)據(jù)流經(jīng)過該網(wǎng)絡(luò)設(shè)備的出接口號;第一確定單元303,用于確定第一計(jì)算單元302計(jì)算的每個(gè)出接口號在該網(wǎng)絡(luò)設(shè)備上的接口標(biāo)識;第二確定單元304,用于確定處于目標(biāo)路徑上的第一確定單元303確定的所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合,目標(biāo)路徑是經(jīng)過控制器管理的每個(gè)網(wǎng)絡(luò)設(shè)備的所有路徑中的任一路徑;第二計(jì)算單元305,用于計(jì)算第二確定單元304確定的數(shù)據(jù)流集合的交集,以獲得目標(biāo)路徑上能夠通過的數(shù)據(jù)流集合。作為一種可能的實(shí)施方式,第一計(jì)算單元302可以包括:第一確定子單元3021,用于對于經(jīng)過該網(wǎng)絡(luò)設(shè)備的每個(gè)數(shù)據(jù)流,根據(jù)獲取單元301獲取的數(shù)據(jù)流的源ip地址、源端口號、目的ip地址和目的端口號確定該數(shù)據(jù)流的hash值;取模子單元3022,用于根據(jù)該網(wǎng)絡(luò)設(shè)備的ecmp鏈路數(shù)量對第一確定子單元3021確定的該數(shù)據(jù)流的hash值進(jìn)行取模運(yùn)算,以獲得該數(shù)據(jù)流在該網(wǎng)絡(luò)設(shè)備上的出接口號。作為一種可能的實(shí)施方式,第一確定單元303可以包括:選取子單元3031,用于從目標(biāo)出接口號對應(yīng)的數(shù)據(jù)流中選取檢測數(shù)據(jù)流,目標(biāo)出接口號是該網(wǎng)絡(luò)設(shè)備的出接口號中的任一出接口號;傳輸子單元3032,用于向該網(wǎng)絡(luò)設(shè)備發(fā)送選取子單元3031選取的檢測數(shù)據(jù)流的報(bào)文;獲取子單元3033,用于獲取傳輸子單元3032傳輸?shù)膱?bào)文經(jīng)過目標(biāo)出接口號對應(yīng)的網(wǎng)絡(luò)設(shè)備上的出接口的第一接口標(biāo)識;第二確定子單元3034,用于將獲取子單元3033獲取的第一接口標(biāo)識確定 為目標(biāo)出接口號在該網(wǎng)絡(luò)設(shè)備上的出接口的接口標(biāo)識。作為一種可能的實(shí)施方式,第二確定單元304可以包括:統(tǒng)計(jì)子單元3041,用于統(tǒng)計(jì)經(jīng)過控制器管理的每個(gè)網(wǎng)絡(luò)設(shè)備的每個(gè)接口標(biāo)識的數(shù)據(jù)流;第三確定子單元3042,用于確定處于目標(biāo)路徑上的所有網(wǎng)絡(luò)設(shè)備在目標(biāo)路徑上的出接口的第二接口標(biāo)識,并根據(jù)統(tǒng)計(jì)子單元3041統(tǒng)計(jì)的數(shù)據(jù)流確定處于目標(biāo)路徑上的每個(gè)網(wǎng)絡(luò)設(shè)備在目標(biāo)路徑上的出接口的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合。在圖3所描述的控制器中,控制器可以根據(jù)經(jīng)過控制器管理的網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)流,確定控制管理的每個(gè)網(wǎng)絡(luò)設(shè)備的每個(gè)出接口的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合,當(dāng)需要確定目標(biāo)路徑上能夠通過的數(shù)據(jù)流集合時(shí),控制器可以先確定處于目標(biāo)路徑上的所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合,之后計(jì)算所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合的交集,以獲得目標(biāo)路徑上能夠通過的數(shù)據(jù)流集合。本發(fā)明不需要通過大量報(bào)文來檢測哪條路徑上可以通過哪些數(shù)據(jù)流,可以縮短路徑上能夠通過的數(shù)據(jù)流集合的確定時(shí)間,從而可以提高路徑上能夠通過的數(shù)據(jù)流的確定效率?;趫D1所示的確定數(shù)據(jù)流的網(wǎng)絡(luò)架構(gòu)圖,請參閱圖4,圖4是本發(fā)明實(shí)施例公開另的一種控制器的結(jié)構(gòu)圖。如圖4所示,該控制器400可以包括:獲取單元401,用于對于控制器管理的每個(gè)網(wǎng)絡(luò)設(shè)備,獲取經(jīng)過控制器管理的網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)流,每個(gè)數(shù)據(jù)流包括源ip地址、源端口號、目的ip地址和目的端口號;第一計(jì)算單元402,用于根據(jù)獲取單元401獲取的每個(gè)數(shù)據(jù)流的源ip地址、源端口號、目的ip地址和目的端口號,計(jì)算該數(shù)據(jù)流經(jīng)過該網(wǎng)絡(luò)設(shè)備的出接口號;第一確定單元403,用于確定第一計(jì)算單元402計(jì)算的每個(gè)出接口號在該網(wǎng)絡(luò)設(shè)備上的接口標(biāo)識;第二確定單元404,用于確定處于目標(biāo)路徑上的第一確定單元403確定的所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合,目標(biāo)路徑是經(jīng)過控制器管理的每個(gè)網(wǎng)絡(luò)設(shè)備的所有路徑中的任一路徑;第二計(jì)算單元405,用于計(jì)算第二確定單元404確定的數(shù)據(jù)流集合的交集,以獲得目標(biāo)路徑上能夠通過的數(shù)據(jù)流集合。作為一種可能的實(shí)施方式,第一確定單元403可以包括:選取子單元4031,用于從目標(biāo)出接口號對應(yīng)的數(shù)據(jù)流中選取檢測數(shù)據(jù)流,目標(biāo)出接口號是該網(wǎng)絡(luò)設(shè)備的出接口號中的任一出接口號;通信子單元4032,用于向該網(wǎng)絡(luò)設(shè)備發(fā)送接口標(biāo)識查詢請求,該接口標(biāo)識查詢請求攜帶有選取子單元4031選取的檢測源ip地址、源端口號、目的ip地址和目的端口號;通信子單元4032,還用于接收該網(wǎng)絡(luò)設(shè)備發(fā)送的檢測數(shù)據(jù)流在該網(wǎng)絡(luò)設(shè)備的出接口的目標(biāo)接口標(biāo)識,;確定子單元4033,用于將通信子單元4032接收的目標(biāo)接口標(biāo)識確定為目標(biāo)出接口號在該網(wǎng)絡(luò)設(shè)備上的出接口的接口標(biāo)識。在圖4所描述的控制器中,控制器可以根據(jù)經(jīng)過控制器管理的網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)流,確定控制管理的每個(gè)網(wǎng)絡(luò)設(shè)備的每個(gè)出接口的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合,當(dāng)需要確定目標(biāo)路徑上能夠通過的數(shù)據(jù)流集合時(shí),控制器可以先確定處于目標(biāo)路徑上的所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合,之后計(jì)算所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合的交集,以獲得目標(biāo)路徑上能夠通過的數(shù)據(jù)流集合。本發(fā)明不需要通過大量報(bào)文來檢測哪條路徑上可以通過哪些數(shù)據(jù)流,可以縮短路徑上能夠通過的數(shù)據(jù)流集合的確定時(shí)間,從而可以提高路徑上能夠通過的數(shù)據(jù)流的確定效率?;趫D1所示的路徑探測的網(wǎng)絡(luò)架構(gòu)圖,請參閱圖5,圖5是本發(fā)明實(shí)施例公開的又一種控制器的結(jié)構(gòu)圖。如圖5所示,該控制器500可以處理器501、存儲器502和通信接口503。其中,存儲器502用于存儲一組程序代碼,處理器501用于執(zhí)行存儲器502存儲的程序代碼,通信接口503用于在處理器501的控制下與網(wǎng)絡(luò)設(shè)備或其它控制器進(jìn)行通信。當(dāng)處理器501執(zhí)行存儲器502存儲的程序代碼時(shí),可根據(jù)存儲器502存儲的程序代碼執(zhí)行以下操作:對于控制器管理的每個(gè)網(wǎng)絡(luò)設(shè)備,獲取經(jīng)過網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)流,每個(gè)數(shù)據(jù)流包括源ip地址、源端口號、目的ip地址和目的端口號;根據(jù)每個(gè)數(shù)據(jù)流的源ip地址、源端口號、目的ip地址和目的端口號,計(jì)算 數(shù)據(jù)流經(jīng)過該網(wǎng)絡(luò)設(shè)備的出接口號;確定計(jì)算的每個(gè)出接口號在該網(wǎng)絡(luò)設(shè)備上的接口標(biāo)識;確定處于目標(biāo)路徑上的所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合,目標(biāo)路徑是經(jīng)過控制器管理的每個(gè)網(wǎng)絡(luò)設(shè)備的所有路徑中的任一路徑;計(jì)算處于目標(biāo)路徑上的所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合的交集,以獲得目標(biāo)路徑上能夠通過的數(shù)據(jù)流集合。作為一種可能的實(shí)施方式,處理器501根據(jù)每個(gè)數(shù)據(jù)流的源ip地址、源端口號、目的ip地址和目的端口號,計(jì)算該數(shù)據(jù)流經(jīng)過該網(wǎng)絡(luò)設(shè)備的出接口號的方式具體為:對于經(jīng)過該網(wǎng)絡(luò)設(shè)備的每個(gè)數(shù)據(jù)流,根據(jù)該數(shù)據(jù)流的源ip地址、源端口號、目的ip地址和目的端口號確定該數(shù)據(jù)流的hash值;根據(jù)該網(wǎng)絡(luò)設(shè)備的ecmp鏈路數(shù)量對該數(shù)據(jù)流的hash值進(jìn)行取模運(yùn)算,以獲得該數(shù)據(jù)流經(jīng)過該網(wǎng)絡(luò)設(shè)備的出接口號。作為一種可能的實(shí)施方式,處理器501確定每個(gè)出接口號在該網(wǎng)絡(luò)設(shè)備上的接口標(biāo)識的方式具體為:從第一出接口號對應(yīng)的數(shù)據(jù)流中選取檢測數(shù)據(jù)流,第一出接口號是該網(wǎng)絡(luò)設(shè)備的出接口號中的任一出接口號;向該網(wǎng)絡(luò)設(shè)備發(fā)送該檢測數(shù)據(jù)流的報(bào)文;獲取該檢測數(shù)據(jù)流的報(bào)文在該網(wǎng)絡(luò)設(shè)備上的出接口的第一接口標(biāo)識;將第一接口標(biāo)識確定為第一出接口號在該網(wǎng)絡(luò)設(shè)備上的出接口的接口標(biāo)識。作為一種可能的實(shí)施方式,處理器501確定每個(gè)出接口號在該網(wǎng)絡(luò)設(shè)備上的接口標(biāo)識的方式具體為:從第二出接口號對應(yīng)的數(shù)據(jù)流中選取檢測數(shù)據(jù)流,第二出接口號是該網(wǎng)絡(luò)設(shè)備的出接口號中的任一出接口號;向該網(wǎng)絡(luò)設(shè)備發(fā)送接口標(biāo)識查詢請求,該接口標(biāo)識查詢請求攜帶有檢測數(shù)據(jù)流的源ip地址、源端口號、目的ip地址和目的端口號;接收該網(wǎng)絡(luò)設(shè)備發(fā)送的檢測數(shù)據(jù)流在該網(wǎng)絡(luò)設(shè)備的出接口的第二接口標(biāo)識;將第二接口標(biāo)識確定為第二出接口號在該網(wǎng)絡(luò)設(shè)備上的出接口的接口標(biāo)識。作為一種可能的實(shí)施方式,處理器401確定處于目標(biāo)路徑上的所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合的方式具體為:統(tǒng)計(jì)經(jīng)過控制器管理的每個(gè)網(wǎng)絡(luò)設(shè)備的每個(gè)接口標(biāo)識對應(yīng)的數(shù)據(jù)流;對于目標(biāo)路徑,確定處于目標(biāo)路徑上的所有網(wǎng)絡(luò)設(shè)備在所述目標(biāo)路徑上的出接口的接口標(biāo)識;確定目標(biāo)路徑上的每個(gè)網(wǎng)絡(luò)設(shè)備在目標(biāo)路徑上的出接口的的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合。在圖5所描述的控制器中,控制器可以根據(jù)經(jīng)過控制器管理的網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)流,確定控制管理的每個(gè)網(wǎng)絡(luò)設(shè)備的每個(gè)出接口的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合,當(dāng)需要確定目標(biāo)路徑上能夠通過的數(shù)據(jù)流集合時(shí),控制器可以先確定處于目標(biāo)路徑上的所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合,之后計(jì)算所有網(wǎng)絡(luò)設(shè)備的接口標(biāo)識對應(yīng)的數(shù)據(jù)流集合的交集,以獲得目標(biāo)路徑上能夠通過的數(shù)據(jù)流集合。本發(fā)明不需要通過大量報(bào)文來檢測哪條路徑上可以通過哪些數(shù)據(jù)流,可以縮短路徑上能夠通過的數(shù)據(jù)流集合的確定時(shí)間,從而可以提高路徑上能夠通過的數(shù)據(jù)流的確定效率。一個(gè)實(shí)施例中,本發(fā)明實(shí)施例進(jìn)一步公開一種可讀存儲介質(zhì),該可讀存儲介質(zhì)存儲有程序代碼,當(dāng)可讀存儲介質(zhì)中的程序代碼被讀取到控制器時(shí),能夠使得控制器完成本發(fā)明實(shí)施例公開的數(shù)據(jù)流的確定方法的全部步驟。本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計(jì)算機(jī)可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:閃存盤、只讀存儲器(read-onlymemory,rom)、隨機(jī)存取器(randomaccessmemory,ram)、磁盤或光盤等。以上對本發(fā)明實(shí)施例所提供的數(shù)據(jù)流的確定方法及控制器進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。當(dāng)前第1頁12