確定傳輸路徑的方法、設(shè)備和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,尤其涉及確定傳輸路徑的方法、設(shè)備和系統(tǒng)。
【背景技術(shù)】
[0002]軟件定義網(wǎng)絡(luò)(Software Defined Network, SDN)將傳統(tǒng)網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)轉(zhuǎn)發(fā)(Data plane)和路由控制(Control plane)兩個功能模塊相分離,通過集中式的控制器(Controller)以標(biāo)準(zhǔn)化的接口對各種網(wǎng)絡(luò)設(shè)備進(jìn)行管理和配置。
[0003]OpenFlow規(guī)范定義了 OpenFlow交換機(jī)(Switch)與控制器之間的通信通道,包括如何建立連接、通訊以及相關(guān)消息類型等。
[0004]控制器為需要轉(zhuǎn)發(fā)的數(shù)據(jù)流生成流表,并下發(fā)到相應(yīng)的交換機(jī)。交換機(jī)收到數(shù)據(jù)包(Packet)后,做流表匹配,將數(shù)據(jù)包轉(zhuǎn)發(fā)至相應(yīng)的交換機(jī)。由于數(shù)據(jù)包在網(wǎng)絡(luò)中的傳輸路徑不透明,無法直觀查看,只能在目標(biāo)機(jī)器上查看數(shù)據(jù)包的傳輸路徑。而一旦數(shù)據(jù)包的傳輸過程出現(xiàn)差錯,只能在可能涉及到的所有功能單元上通過調(diào)取分析日志來定位分析,使得整個過程涉及到的功能單元較多,涉及的日志量大,定位分析難度大。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供了一種確定傳輸路徑的方法、設(shè)備和系統(tǒng),能夠確定數(shù)據(jù)包的傳輸路徑,進(jìn)而能夠降低定位分析的難度。
[0006]第一方面,提供了一種確定傳輸路徑的方法,該方法包括:控制器生成測試數(shù)據(jù)包,測試數(shù)據(jù)包攜帶用于指示測試數(shù)據(jù)包經(jīng)過的轉(zhuǎn)發(fā)節(jié)點向控制器發(fā)送反饋信息的指示信息,測試數(shù)據(jù)包的第一跳轉(zhuǎn)發(fā)節(jié)點為第一轉(zhuǎn)發(fā)節(jié)點;控制器向第一轉(zhuǎn)發(fā)節(jié)點發(fā)送測試數(shù)據(jù)包;控制器接收測試數(shù)據(jù)包經(jīng)過的至少一個第二轉(zhuǎn)發(fā)節(jié)點發(fā)送的反饋信息,其中每個反饋信息用于指示已收到測試數(shù)據(jù)包;控制器根據(jù)接收到的至少一個第二轉(zhuǎn)發(fā)節(jié)點發(fā)送的反饋信息確定測試數(shù)據(jù)包的傳輸路徑,傳輸路徑包括第一轉(zhuǎn)發(fā)節(jié)點和至少一個第二轉(zhuǎn)發(fā)節(jié)點。
[0007]結(jié)合第一方面,在第一種可能的實現(xiàn)方式中,控制器生成測試數(shù)據(jù)包包括:控制器獲取用戶環(huán)境中的數(shù)據(jù)包;控制器在數(shù)據(jù)包中設(shè)置指示信息生成所述測試數(shù)據(jù)包。
[0008]結(jié)合第一方面或第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,控制器根據(jù)至少一個反饋信息確定測試數(shù)據(jù)包的傳輸路徑包括:控制器根據(jù)收到至少一個反饋信息的時間順序確定測試數(shù)據(jù)包的傳輸路徑。
[0009]結(jié)合第一方面或第一種或第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,每個反饋信息包括第二轉(zhuǎn)發(fā)節(jié)點收到測試數(shù)據(jù)包的時間信息。
[0010]結(jié)合第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,控制器根據(jù)至少一個反饋信息確定測試數(shù)據(jù)包的傳輸路徑包括:控制器根據(jù)時間信息確定測試數(shù)據(jù)包的傳輸路徑。
[0011]結(jié)合第一方面或第一種至第四種可能的實現(xiàn)方式中的任一種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,每個反饋信息包括第二轉(zhuǎn)發(fā)節(jié)點的標(biāo)識信息。
[0012]結(jié)合第一方面或第一種至第五種可能的實現(xiàn)方式中的任一種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,每個反饋信息包括測試數(shù)據(jù)包的下一跳設(shè)備的標(biāo)識信息。
[0013]結(jié)合第一方面,在第七種可能的實現(xiàn)方式中,該方法還包括:控制器分別向第一轉(zhuǎn)發(fā)節(jié)點和至少一個第二轉(zhuǎn)發(fā)節(jié)點發(fā)送流表,其中,控制器生成測試數(shù)據(jù)包包括:控制器根據(jù)流表生成測試數(shù)據(jù)包;該方法還包括:根據(jù)測試數(shù)據(jù)包的傳輸路徑判斷流表是否正確。
[0014]第二方面,提供了一種確定傳輸路徑的方法,該方法包括:轉(zhuǎn)發(fā)節(jié)點接收測試數(shù)據(jù)包,測試數(shù)據(jù)包攜帶用于指示轉(zhuǎn)發(fā)節(jié)點向控制器發(fā)送反饋信息的指示信息;轉(zhuǎn)發(fā)節(jié)點根據(jù)指示信息向控制器發(fā)送反饋信息,反饋信息用于指示已收到測試數(shù)據(jù)包,以便控制器根據(jù)反饋信息確定測試數(shù)據(jù)包的傳輸路徑。
[0015]結(jié)合第二方面,在第二方面的第一種可能的實現(xiàn)方式中,反饋信息包括轉(zhuǎn)發(fā)節(jié)點收到測試數(shù)據(jù)包的時間信息。
[0016]結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式,在第二方面的第二種可能的實現(xiàn)方式中,反饋信息包括轉(zhuǎn)發(fā)節(jié)點的標(biāo)識信息。
[0017]結(jié)合第二方面或第二方面的第一種或第二種可能的實現(xiàn)方式,在第二方面的第三種可能的實現(xiàn)方式中,該方法還包括:轉(zhuǎn)發(fā)節(jié)點接收控制器發(fā)送的流表;轉(zhuǎn)發(fā)節(jié)點根據(jù)流表向下一跳設(shè)備轉(zhuǎn)發(fā)測試數(shù)據(jù)包,其中反饋信息包括下一跳設(shè)備的標(biāo)識信息。
[0018]第三方面,提供了一種控制器,包括:處理單元,用于生成測試數(shù)據(jù)包,測試數(shù)據(jù)包攜帶用于指示測試數(shù)據(jù)包經(jīng)過的轉(zhuǎn)發(fā)節(jié)點向控制器發(fā)送反饋信息的指示信息,測試數(shù)據(jù)包的第一跳轉(zhuǎn)發(fā)節(jié)點為第一轉(zhuǎn)發(fā)節(jié)點;發(fā)送單元,用于向第一轉(zhuǎn)發(fā)節(jié)點發(fā)送測試數(shù)據(jù)包;接收單元,用于接收測試數(shù)據(jù)包經(jīng)過的至少一個第二轉(zhuǎn)發(fā)節(jié)點發(fā)送的反饋信息,其中每個反饋信息用于指示已收到測試數(shù)據(jù)包;處理單元,用于根據(jù)接收單元接收到的至少一個反饋信息確定測試數(shù)據(jù)包的傳輸路徑,傳輸路徑包括第一轉(zhuǎn)發(fā)節(jié)點和至少一個第二轉(zhuǎn)發(fā)節(jié)點。
[0019]結(jié)合第三方面,在第三方面的第一種可能的實現(xiàn)方式中,處理單元具體用于:獲取用戶環(huán)境中的數(shù)據(jù)包;在數(shù)據(jù)包中設(shè)置指示信息生成測試數(shù)據(jù)包。
[0020]結(jié)合第三方面或第三方面的第一種可能的實現(xiàn)方式,在第三方面的第二種可能的實現(xiàn)方式中,處理單元具體用于,根據(jù)接收單元收到至少一個反饋信息的時間順序確定測試數(shù)據(jù)包的傳輸路徑。
[0021]結(jié)合第三方面或第三方面的第一種或第二種可能的實現(xiàn)方式,在第三方面的第三種可能的實現(xiàn)方式中,每個反饋信息包括第二轉(zhuǎn)發(fā)節(jié)點收到測試數(shù)據(jù)包的時間信息。
[0022]結(jié)合第三方面的第三種可能的實現(xiàn)方式,在第三方面的第四種可能的實現(xiàn)方式中,處理單元具體用于,根據(jù)時間信息確定測試數(shù)據(jù)包的傳輸路徑。
[0023]結(jié)合第三方面或第三方面的第一種至第四種可能的實現(xiàn)方式中的任一種可能的實現(xiàn)方式,在第三方面的第五種可能的實現(xiàn)方式中,每個反饋信息包括第二轉(zhuǎn)發(fā)節(jié)點的標(biāo)識信息。
[0024]結(jié)合第三方面或第三方面的第一種至第五種可能的實現(xiàn)方式中的任一種可能的實現(xiàn)方式,在第三方面的第六種可能的實現(xiàn)方式中,每個第二轉(zhuǎn)發(fā)節(jié)點發(fā)送的反饋信息還包括測試數(shù)據(jù)包的下一跳設(shè)備的標(biāo)識信息。
[0025]結(jié)合第三方面,在第三方面的第七種可能的實現(xiàn)方式中,發(fā)送單元還用于,分別向第一轉(zhuǎn)發(fā)節(jié)點和至少一個第二轉(zhuǎn)發(fā)節(jié)點發(fā)送流表;處理單元具體用于根據(jù)流表生成測試數(shù)據(jù)包;處理單元還用于,根據(jù)測試數(shù)據(jù)包的傳輸路徑判斷流表是否正確。
[0026]第四方面,提供了一種轉(zhuǎn)發(fā)節(jié)點,包括:接收單元,用于接收測試數(shù)據(jù)包,測試數(shù)據(jù)包攜帶用于指示轉(zhuǎn)發(fā)節(jié)點向控制器發(fā)送反饋信息的指示信息;發(fā)送單元,用于向控制器發(fā)送反饋信息,反饋信息用于指示已收到測試數(shù)據(jù)包,以便控制器根據(jù)反饋信息確定測試數(shù)據(jù)包的傳輸路徑。
[0027]結(jié)合第四方面,在第四方面的第一種可能的實現(xiàn)方式中,反饋信息包括轉(zhuǎn)發(fā)節(jié)點收到測試數(shù)據(jù)包的時間信息。
[0028]結(jié)合第四方面或第四方面的第一種可能的實現(xiàn)方式,在第四方面的第二種可能的實現(xiàn)方式中,反饋信息包括轉(zhuǎn)發(fā)節(jié)點的標(biāo)識信息。
[0029]結(jié)合第四方面或第四方面的第一種或第二種可能的實現(xiàn)方式,在第四方面的第三種可能的實現(xiàn)方式中,接收單元還用于接收控制器發(fā)送的流表;發(fā)送單元還用于根據(jù)流表向下一跳設(shè)備轉(zhuǎn)發(fā)測試數(shù)據(jù)包,其中反饋信息還包括下一跳設(shè)備的設(shè)備標(biāo)識。
[0030]第五方面,提供了一種確定傳輸路徑的系統(tǒng),包括:如第三方面或第三方面的上述可能的實現(xiàn)方式中的任一種可能的實現(xiàn)方式的控制器;至少兩個個如第四方面或第四方面的上述可能的實現(xiàn)方式中的任一種可能的實現(xiàn)方式的轉(zhuǎn)發(fā)節(jié)點。
[0031]基于上述技術(shù)方案,通過向轉(zhuǎn)發(fā)節(jié)點發(fā)送攜帶指示信息的數(shù)據(jù)包,并從轉(zhuǎn)發(fā)節(jié)點接收用于指示已收到該數(shù)據(jù)包的反饋信息,能夠根據(jù)該反饋信息確定該數(shù)據(jù)包的傳輸路徑,使得能夠直觀查看數(shù)據(jù)包的傳輸路徑,進(jìn)而能夠降低定位分析的難度。
【附圖說明】
[0032]為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對本發(fā)明實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0033]圖1是本發(fā)明實施例所適用的系統(tǒng)架構(gòu)的示意圖。
[0034]圖2是在本發(fā)明實施例所適用的系統(tǒng)架構(gòu)下定義新規(guī)則的示意圖。
[0035]圖3是在本發(fā)明實施例所適用的系統(tǒng)架構(gòu)下進(jìn)行問題定位的示意圖。
[0036]圖4是根據(jù)本發(fā)明實施例的確定傳輸路徑的方法的示意性流程圖。
[0037]圖5是根據(jù)本發(fā)明另一實施例的確定傳輸路徑的方法的示意性流程圖。
[0038]圖6是根據(jù)本發(fā)明實施例的確定傳輸路徑的方法定義新規(guī)則的示意圖。
[0039]圖7是根據(jù)本發(fā)明實施例的確定傳輸路徑的方法進(jìn)行問題定位的示意圖。
[0040]圖8是根據(jù)本發(fā)明實施例的控制器的示意性框圖。
[0041]圖9是根據(jù)本發(fā)明實施例的轉(zhuǎn)發(fā)節(jié)點的示意性框圖。
[0042]圖10是根據(jù)本發(fā)明另一實施例的控制器的示意性框圖。
[0043]圖11是根據(jù)本發(fā)明另一實施例的轉(zhuǎn)發(fā)節(jié)點的示意性框圖。
【具體實施方式】
[0044]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都應(yīng)屬于本發(fā)明保護(hù)的范圍。
[0045]圖1是根據(jù)本發(fā)明實施例的確定傳輸路徑的方法所適用的系統(tǒng)架構(gòu)的示意圖。需要理解的是,圖1僅為方便理解的示意性說明圖,并不限定該系統(tǒng)架構(gòu)的組成模式。
[0046]如圖1所示,該網(wǎng)絡(luò)架構(gòu)包括:一個控制器,和多個遵循Openflow標(biāo)準(zhǔn)的交換機(jī)。其中,每個交換機(jī)連接一個或多個主機(jī),交換機(jī)向控制器上報網(wǎng)絡(luò)拓?fù)湫畔ⅲ刂破飨掳l(fā)流表信息給各個交換機(jī),主機(jī)向交換機(jī)發(fā)送數(shù)據(jù)包并接收交換機(jī)轉(zhuǎn)發(fā)的數(shù)據(jù)包,而交換機(jī)則遵循Openflow標(biāo)準(zhǔn)做流表匹配、數(shù)據(jù)包的轉(zhuǎn)發(fā)操作。