本發(fā)明涉及通信領(lǐng)域,尤其涉及一種報文傳輸方法及裝置。
背景技術(shù):
隨著軟件定義網(wǎng)絡(luò)(SDN,Software Defined Network)技術(shù)和網(wǎng)絡(luò)功能虛擬化(NFV,Network Function Virtualization)在這些年的迅速發(fā)展,網(wǎng)絡(luò)的部署可控性越來越強,控制復(fù)雜度也隨之越來越高。尤其是像核心網(wǎng)絡(luò)以及匯聚網(wǎng)絡(luò)這樣的中間網(wǎng)絡(luò),為了適配不同的業(yè)務(wù),滿足不同的部署需求,控制手段越來越繁雜。尤其是組播應(yīng)用如組播虛擬專用網(wǎng)(MVPN,Multicast Virtual Private Network)和交互式網(wǎng)絡(luò)電視(IPTV)等,需要的中間網(wǎng)絡(luò)節(jié)點狀態(tài)數(shù)量指數(shù)級增長。為了減輕中間網(wǎng)絡(luò)的控制復(fù)雜度,基于位索引顯示復(fù)制(BIER,Bit Indexed Explicit Replication)技術(shù)應(yīng)運而生。BIER技術(shù),通過對轉(zhuǎn)發(fā)層面的徹底改造,能極大地減輕中間網(wǎng)絡(luò)的協(xié)議復(fù)雜度和中間狀態(tài)。將網(wǎng)絡(luò)的轉(zhuǎn)發(fā)簡化成只根據(jù)位(bit)進行,顛覆了傳統(tǒng)的網(wǎng)絡(luò)協(xié)議(IP,Internet Protocol)轉(zhuǎn)發(fā),能夠非常容易地實現(xiàn)組播流量在中間網(wǎng)絡(luò)的傳輸,無需中間網(wǎng)絡(luò)記錄任何的組播流量狀態(tài),極大地方便了網(wǎng)絡(luò)的運維。
BIER技術(shù)的核心思想是:將網(wǎng)絡(luò)中的節(jié)點都只用一個BIT位來表示,組播流量在中間網(wǎng)絡(luò)傳輸,不是以組播IP包形式呈現(xiàn),而是封裝了一個特定的BIER報文頭,這個報文頭以BIT位的形式標(biāo)注了該組播流的所有目的節(jié)點,中間網(wǎng)絡(luò)根據(jù)BIT位進行路由,保障流量能夠發(fā)送到所有目的節(jié)點。中間網(wǎng)絡(luò)對所有節(jié)點的信息獲取,是通過對傳統(tǒng)域間路由協(xié)議如開放最短路徑優(yōu)先(OSPF,Open Shortest Path First)協(xié)議和中間系統(tǒng)到中間系統(tǒng)(ISIS,Intermediate system to intermediate system)協(xié)議進行擴展,讓其攜帶BIT位等BIER協(xié)議相關(guān)信息,完成信息的傳輸,并且根據(jù)OSPF和ISIS的算路算出到達所有目的節(jié)點的路由,由此形成BIER的路由。
雖然BIER技術(shù)實現(xiàn)了組播流量的傳輸,并且極大地簡化了中間網(wǎng)絡(luò)的控制管理,但這個技術(shù)存在以下缺點:流量轉(zhuǎn)發(fā)均按照最短路徑進行,無法根據(jù)規(guī)劃路徑進行轉(zhuǎn)發(fā)。圖1為現(xiàn)有技術(shù)中BIER網(wǎng)絡(luò)轉(zhuǎn)發(fā)示意圖。如圖1所示,假設(shè)一個組播流量,入口是比特轉(zhuǎn)發(fā)入口路由器(BFIR,Bit-Forwarding ingress Router)1,出口是比特轉(zhuǎn)發(fā)出口路由器(BFER,Bit-Forwarding egress Router)3、BFER6和BFER8,則該流量在BIER網(wǎng)絡(luò)中的轉(zhuǎn)發(fā),將根據(jù)現(xiàn)有的最短路徑進行,也就是經(jīng)過如下幾條最短路徑到達BIER網(wǎng)絡(luò)出口:BFIR1—比特轉(zhuǎn)發(fā)路由器(BFR,Bit-Forwarding Router)2—BFER3;BFIR1—BFR4—BFR5—BFER6;BFIR1—BFR7—BFER8。然而,如果通過路徑規(guī)劃,該流量例如想通過如下的路徑進行傳輸:BFIR1—BFR4—BFR5—BFER3/BFER6/BFER8,則現(xiàn)有BIER技術(shù)無法實現(xiàn)。可見,在現(xiàn)有BIER技術(shù)中,無法讓流量通過規(guī)劃路徑進行轉(zhuǎn)發(fā),進而導(dǎo)致浪費網(wǎng)絡(luò)帶寬,無法充分利用鏈路。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明提供一種報文傳輸方法及裝置,用來解決現(xiàn)有BIER技術(shù)中無法讓流量通過規(guī)劃路徑進行轉(zhuǎn)發(fā)的問題。
為了達到上述技術(shù)目的,本發(fā)明提供一種報文傳輸方法,包括:BIER入口節(jié)點封裝預(yù)定流量的特征流量標(biāo)識以及規(guī)劃路徑信息至BIER報文;BIER入口節(jié)點根據(jù)所述規(guī)劃路徑信息,傳輸所述BIER報文。
本發(fā)明還提供一種報文傳輸方法,包括:BIER節(jié)點接收BIER報文;當(dāng)所述BIER報文攜帶特征流量標(biāo)識以及規(guī)劃路徑信息時,BIER節(jié)點根據(jù)所述規(guī)劃路徑信息傳輸所述BIER報文。
本發(fā)明還提供一種報文傳輸裝置,應(yīng)用于BIER入口節(jié)點,包括:BIER封裝模塊,用于封裝預(yù)定流量的特征流量標(biāo)識以及規(guī)劃路徑信息至BIER報文;BIER轉(zhuǎn)發(fā)模塊,用于根據(jù)所述規(guī)劃路徑信息,傳輸所述BIER報文
本發(fā)明還提供一種報文傳輸裝置,應(yīng)用于BIER節(jié)點,包括:BIER接收模塊,用于接收BIER報文;BIER轉(zhuǎn)發(fā)模塊,用于當(dāng)所述BIER報文攜帶特征流量標(biāo)識以及規(guī)劃路徑信息時,根據(jù)所述規(guī)劃路徑信息傳輸所述BIER 報文。
在本發(fā)明中,BIER入口節(jié)點封裝預(yù)定流量的特征流量標(biāo)識以及規(guī)劃路徑信息至BIER報文;BIER入口節(jié)點根據(jù)所述規(guī)劃路徑信息,傳輸所述BIER報文。通過本發(fā)明,實現(xiàn)在BIER網(wǎng)絡(luò)中根據(jù)規(guī)劃路徑傳輸報文,能夠達到充分利用鏈路,不浪費網(wǎng)絡(luò)帶寬的目的。
在本發(fā)明中,BIER節(jié)點接收BIER報文;當(dāng)所述BIER報文攜帶特征流量標(biāo)識以及規(guī)劃路徑信息時,所述BIER節(jié)點根據(jù)所述規(guī)劃路徑信息傳輸所述BIER報文。通過本發(fā)明,可以在BIER網(wǎng)絡(luò)內(nèi),實現(xiàn)流量按照規(guī)劃路徑進行轉(zhuǎn)發(fā),彌補了BIER域內(nèi)無法對流量進行資源等規(guī)劃后,依照規(guī)劃路徑進行轉(zhuǎn)發(fā)的缺點。
進一步地,BIER節(jié)點根據(jù)特征流量標(biāo)識以及規(guī)劃路徑信息形成該特征流量標(biāo)識的轉(zhuǎn)發(fā)表項。當(dāng)BIER節(jié)點再次接收到至少攜帶該特征流量標(biāo)識的BIER報文時,BIER節(jié)點根據(jù)該特征流量標(biāo)識的轉(zhuǎn)發(fā)表項傳輸所述BIER報文。如此,本發(fā)明根據(jù)特征流量標(biāo)識及規(guī)劃路徑信息自動生成轉(zhuǎn)發(fā)表項,后續(xù)報文可以只封裝特征流量標(biāo)識就能完成在BIER網(wǎng)絡(luò)中的規(guī)劃路徑轉(zhuǎn)發(fā)。
而且,本發(fā)明對組播流量和單播流量,都能完成在BIER網(wǎng)絡(luò)的規(guī)劃路徑轉(zhuǎn)發(fā)功能,自動建立特征流量標(biāo)識的規(guī)劃路徑。本發(fā)明極大地擴展了BIER技術(shù)的適用場景和部署環(huán)境,具有良好的適應(yīng)性和發(fā)展前景。
附圖說明
圖1為現(xiàn)有技術(shù)中BIER網(wǎng)絡(luò)轉(zhuǎn)發(fā)示意圖;
圖2為本發(fā)明一實施例提供的報文傳輸方法的流程圖;
圖3為本發(fā)明另一實施例提供的報文傳輸方法的流程圖;
圖4為根據(jù)本發(fā)明實施例的BIER網(wǎng)絡(luò)規(guī)劃路徑示意圖;
圖5為本發(fā)明一具體實施例提供的報文傳輸方法的流程圖;
圖6為本發(fā)明一實施例提供的報文傳輸裝置的示意圖;
圖7為本發(fā)明另一實施例提供的報文傳輸裝置的示意圖;
圖8為本發(fā)明再一實施例提供的報文傳輸裝置的示意圖;
圖9為根據(jù)本發(fā)明實施例的預(yù)定流量與普通流量轉(zhuǎn)發(fā)的網(wǎng)絡(luò)示意圖;
圖10為根據(jù)本發(fā)明實施例的預(yù)定流量在等價多路徑(ECMP,Equal Cost Multipath Routing)鏈路轉(zhuǎn)發(fā)的網(wǎng)絡(luò)示意圖;
圖11為根據(jù)本發(fā)明實施例的混雜網(wǎng)絡(luò)實現(xiàn)規(guī)劃路徑轉(zhuǎn)發(fā)的網(wǎng)絡(luò)示意圖;
圖12為根據(jù)本發(fā)明實施例的BIER能力混雜網(wǎng)絡(luò)實現(xiàn)規(guī)劃路徑轉(zhuǎn)發(fā)的網(wǎng)絡(luò)示意圖;
圖13為本發(fā)明實施例的特征流量標(biāo)識的封裝示意圖;
圖14為本發(fā)明實施例的規(guī)劃路徑信息的封裝示意圖一;
圖15為本發(fā)明實施例的規(guī)劃路徑信息的封裝示意圖二;
圖16為本發(fā)明實施例的攜帶資源需要信息控制處理的網(wǎng)絡(luò)示意圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明的實施例進行詳細說明,應(yīng)當(dāng)理解,以下所說明的實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
圖2為本發(fā)明一實施例提供的報文傳輸方法的流程圖。如圖2所示,本實施例提供的報文傳輸方法包括以下步驟:
步驟201:BIER入口節(jié)點封裝預(yù)定流量的特征流量標(biāo)識以及規(guī)劃路徑信息至BIER報文;
步驟202:BIER入口節(jié)點根據(jù)規(guī)劃路徑信息,傳輸BIER報文。
具體而言,對于網(wǎng)絡(luò)的預(yù)定流量,BIER入口節(jié)點收集到所有出口節(jié)點信息后,將BIER入口節(jié)點為該預(yù)定流量所分配的特征流量標(biāo)識以及計算或者部署出的規(guī)劃路徑信息封裝在BIER報文中,按照規(guī)劃路徑信息傳輸BIER報文。
其中,特征流量標(biāo)識包括:標(biāo)簽集合、預(yù)定的BIER報文頭或者其他能夠表示出預(yù)定流量的標(biāo)識。特征流量標(biāo)識用于區(qū)分不同規(guī)劃路徑的不同流 量。
其中,規(guī)劃路徑信息根據(jù)預(yù)定算法計算得到或由配置生成。具體而言,規(guī)劃路徑信息由BIER入口節(jié)點或者控制器進行約束最短路徑優(yōu)先(CSPF,Constrained Shortest Path First)、路徑計算單元(PCE,Path Computation Element)或者其他方式的計算得出,也可以由配置生成。
進一步地,步驟201包括:
所述BIER入口節(jié)點封裝預(yù)定流量的特征流量標(biāo)識以及規(guī)劃路徑信息至攜帶所述預(yù)定流量的BIER報文;或者,
所述BIER入口節(jié)點封裝預(yù)定流量的特征流量標(biāo)識以及規(guī)劃路徑信息至未攜帶所述預(yù)定流量的BIER報文。
換而言之,特征流量信息和規(guī)劃路徑信息可以跟隨預(yù)定流量一起封裝后發(fā)送,也可以單獨發(fā)送以建立規(guī)劃路徑。
進一步地,所述BIER入口節(jié)點封裝預(yù)定流量的特征流量標(biāo)識至BIER報文,包括:所述BIER入口節(jié)點將預(yù)定流量的特征流量標(biāo)識封裝在BIER報文頭前(例如,將標(biāo)簽集合直接封裝在BIER報文頭之前),或者,在BIER報文頭之后。
進一步地,所述BIER入口節(jié)點將預(yù)定流量的特征流量標(biāo)識封裝在BIER報文頭之后,包括:所述BIER入口節(jié)點將預(yù)定流量的特征流量標(biāo)識直接封裝在BIER報文頭之后、正式流量之前,或者,以類型-長度-內(nèi)容(TLV,Type-Length-Value)的形式封裝在BIER報文頭之后。
進一步地,所述BIER入口節(jié)點根據(jù)所述規(guī)劃路徑信息,傳輸所述BIER報文前,該方法還包括:所述BIER入口節(jié)點在所述BIER報文的報文頭中攜帶特征流量指示標(biāo)識,用于指示所述BIER報文是否攜帶特征流量標(biāo)識。其中,BIER報文頭內(nèi)增加特征流量指示標(biāo)識的實現(xiàn)方式例如為在現(xiàn)有Reserved字段中,挑選一個未使用的位(bit)。當(dāng)該bit置1時,指示該BIER報文攜帶特征流量標(biāo)識;當(dāng)該bit置0時,指示該BIER報文未攜帶特征流量標(biāo)識。然而,本發(fā)明對此并不限定。于其他實施例中,還可以采用在BIER報文頭新增其他字段等方式來實現(xiàn)。
進一步地,所述規(guī)劃路徑信息的表示方式包括:多層級的BIER網(wǎng)絡(luò)節(jié)點列表或者規(guī)劃路徑的顯式路徑列表。其中,所述顯示路徑列表包括:以RFC4875文件中所定義的點到多點顯式路徑格式的列表,或者,到所有出口節(jié)點的路徑羅列列表。另外,單播預(yù)定流量在BIER網(wǎng)絡(luò)中實現(xiàn)規(guī)劃路徑轉(zhuǎn)發(fā)時,不會有點到多點(P2MP,Point to Multiple point)的情況出現(xiàn)。因此,當(dāng)所述預(yù)定流量為單播預(yù)定流量時,所述規(guī)劃路徑信息的表示方式為:到出口節(jié)點的路徑羅列列表,或者,多層級的BIER網(wǎng)絡(luò)節(jié)點列表。
進一步地,所述BIER入口節(jié)點封裝規(guī)劃路徑信息至BIER報文,包括:所述BIER入口節(jié)點將路徑規(guī)劃信息以TLV的形式封裝在BIER報文頭之后。
進一步地,所述BIER入口節(jié)點在所述BIER報文的報文頭中攜帶規(guī)劃路徑指示標(biāo)識,用于指示所述BIER報文是否攜帶規(guī)劃路徑信息。其中,在BIER報文頭內(nèi)增加規(guī)劃路徑指示標(biāo)識的實現(xiàn)方式與在BIER報文頭內(nèi)增加特征流量指示標(biāo)識的實現(xiàn)方式類似,故于此不再贅述。
進一步地,步驟202之前,該方法還包括:所述BIER入口節(jié)點封裝所述預(yù)定流量的資源需求信息至BIER報文,所述資源需求信息用于標(biāo)識所述預(yù)定流量所需的資源。其中,所述資源需求信息包括帶寬需求和訪問控制列表(ACL,Access Control List)。然而,本發(fā)明對此并不限定。所述資源需求信息亦可以是其他形式。于實際應(yīng)用中,資源需求信息可以用來標(biāo)識預(yù)定流量所需要的帶寬等資源保障,并可以進一步地對該特定流量進行顆粒度更細的控制。
進一步地,所述規(guī)劃路徑信息攜帶有效時延信息,用于標(biāo)識規(guī)劃路徑的存活有效期。
進一步地,步驟202之前,該方法還包括:所述BIER入口節(jié)點根據(jù)所述特征流量標(biāo)識以及規(guī)劃路徑信息形成該特征流量標(biāo)識的轉(zhuǎn)發(fā)表項。之后,當(dāng)所述BIER入口節(jié)點接收到攜帶該特征流量標(biāo)識的BIER報文時,根據(jù)該特征流量標(biāo)識的轉(zhuǎn)發(fā)表項,傳輸所述BIER報文。
進一步地,所述BIER入口節(jié)點根據(jù)所述特征流量標(biāo)識以及規(guī)劃路徑信息形成該特征流量標(biāo)識的轉(zhuǎn)發(fā)表項之后,該方法還包括:
當(dāng)所述規(guī)劃路徑信息具有一有效時延,且當(dāng)該特征流量標(biāo)識的轉(zhuǎn)發(fā)表項的存在時長達到所述有效時延時,所述BIER入口節(jié)點清除寫入轉(zhuǎn)發(fā)表的該特征流量標(biāo)識對應(yīng)的條目;或者,
當(dāng)所述規(guī)劃路徑信息具有一有效時延,且所述BIER節(jié)點未接收到具有該特征流量標(biāo)識的流量的時長達到所述有效時延時,所述BIER入口節(jié)點清除寫入轉(zhuǎn)發(fā)表的該特征流量標(biāo)識對應(yīng)的條目。
其中,所述有效時延可由規(guī)劃路徑信息攜帶或者預(yù)先進行設(shè)置。
進一步地,該方法還包括:當(dāng)所述規(guī)劃路徑信息具有一有效時延時,所述BIER入口節(jié)點根據(jù)所述有效時延周期性傳輸攜帶所述特征流量標(biāo)識以及規(guī)劃路徑信息的BIER報文。
圖3為本發(fā)明另一實施例提供的報文傳輸方法的流程圖。如圖3所示,本實施例提供的報文傳輸方法包括以下步驟:
步驟301:BIER節(jié)點接收BIER報文;
步驟302:當(dāng)所述BIER報文攜帶特征流量標(biāo)識以及規(guī)劃路徑信息時,所述BIER節(jié)點根據(jù)所述規(guī)劃路徑信息傳輸所述BIER報文。
進一步地,當(dāng)所述BIER報文攜帶特征流量標(biāo)識以及規(guī)劃路徑信息時,該方法還包括:所述BIER節(jié)點根據(jù)所述特征流量標(biāo)識以及規(guī)劃路徑信息形成該特征流量標(biāo)識的轉(zhuǎn)發(fā)表項。之后,該方法還包括:當(dāng)所述BIER節(jié)點再次接收到至少攜帶該特征流量標(biāo)識的BIER報文時,所述BIER節(jié)點根據(jù)該特征流量標(biāo)識的轉(zhuǎn)發(fā)表項傳輸所述BIER報文。
進一步地,所述BIER節(jié)點根據(jù)所述特征流量標(biāo)識以及規(guī)劃路徑信息形成該特征流量標(biāo)識的轉(zhuǎn)發(fā)表項之后,該方法還包括:當(dāng)所述規(guī)劃路徑信息具有一有效時延時,所述BIER節(jié)點根據(jù)所述有效時延處理該特征流量標(biāo)識的轉(zhuǎn)發(fā)表項。
其中,規(guī)劃路徑信息例如攜帶有效時延信息,所述有效時延用于表明規(guī)劃路徑的存活有效期。當(dāng)規(guī)劃路徑信息未攜帶有效時延信息時,例如可設(shè)置規(guī)劃路徑信息永久有效或者對應(yīng)一定時長的默認有效時延。其中,當(dāng)BIER入口節(jié)點根據(jù)有效時延周期性發(fā)送攜帶特征流量標(biāo)識和規(guī)劃路徑信息的 BIER報文時,規(guī)劃路徑上的BIER節(jié)點對特征流量標(biāo)識的轉(zhuǎn)發(fā)表項進行周期性重置時延的操作。
進一步地,所述BIER節(jié)點根據(jù)所述有效時延處理該特征流量標(biāo)識的轉(zhuǎn)發(fā)表項,包括:
當(dāng)該特征流量標(biāo)識的轉(zhuǎn)發(fā)表項的存在時長達到所述有效時延時,所述BIER節(jié)點清除寫入轉(zhuǎn)發(fā)表的該特征流量標(biāo)識對應(yīng)的條目;或者,
當(dāng)所述BIER節(jié)點未接收到具有該特征流量標(biāo)識的流量的時長達到所述有效時延時,清除寫入轉(zhuǎn)發(fā)表的該特征流量標(biāo)識對應(yīng)的條目。
進一步地,所述特征流量標(biāo)識包括:標(biāo)簽集合、預(yù)定的BIER報文頭或者其他能夠表示出預(yù)定流量的標(biāo)識。
進一步地,所述規(guī)劃路徑信息以TLV形式封裝在BIER報文頭之后,所述BIER報文頭攜帶規(guī)劃路徑指示標(biāo)識,用于指示所述BIER報文是否攜帶規(guī)劃路徑信息。
進一步地,所述BIER節(jié)點接收BIER報文之后,該方法還包括:當(dāng)所述BIER報文攜帶資源需求信息時,所述BIER節(jié)點根據(jù)所述資源需求信息為具有該特征流量標(biāo)識的報文預(yù)留資源。
進一步地,當(dāng)所述BIER節(jié)點為BIER出口節(jié)點時,所述BIER節(jié)點接收BIER報文之后,該方法還包括:所述BIER節(jié)點解封裝所述BIER報文并將解封裝得到的流量轉(zhuǎn)發(fā)出BIER網(wǎng)絡(luò)。其中,規(guī)劃路徑信息不會影響已有BIER報文頭后續(xù)的協(xié)議信息,在BIER出口節(jié)點進行規(guī)劃路徑信息的處理后,能夠進行正常的各種協(xié)議處理。
進一步地,所述BIER節(jié)點根據(jù)所述規(guī)劃路徑信息傳輸所述BIER報文,包括:當(dāng)規(guī)劃路徑上存在等價多路徑(ECMP,Equal Cost Multipath Routing)鏈路時,所述BIER節(jié)點根據(jù)BIER報文頭中封裝的Entropy字段,選擇相應(yīng)鏈路傳輸所述BIER報文。
進一步地,所述BIER節(jié)點根據(jù)所述規(guī)劃路徑信息傳輸所述BIER報文,包括:當(dāng)規(guī)劃路徑上存在非BIER節(jié)點時,所述與非BIER節(jié)點最近的BIER節(jié)點以隧道轉(zhuǎn)發(fā)方式通過非BIER節(jié)點傳輸BIER報文至下一BIER節(jié)點。
進一步地,所述BIER節(jié)點根據(jù)所述規(guī)劃路徑信息傳輸所述BIER報文,包括:當(dāng)規(guī)劃路徑上存在不支持規(guī)劃路徑轉(zhuǎn)發(fā)功能的BIER節(jié)點時,所述與不支持規(guī)劃路徑轉(zhuǎn)發(fā)功能的BIER節(jié)點最近的支持規(guī)劃路徑轉(zhuǎn)發(fā)功能的BIER節(jié)點以隧道轉(zhuǎn)發(fā)方式通過不支持規(guī)劃路徑轉(zhuǎn)發(fā)功能的BIER節(jié)點傳輸BIER報文至下一個支持規(guī)劃路徑轉(zhuǎn)發(fā)功能的BIER節(jié)點。
圖4為根據(jù)本發(fā)明實施例的BIER網(wǎng)絡(luò)規(guī)劃路徑示意圖。如圖4所示,對于某預(yù)定流量,實現(xiàn)根據(jù)如下的規(guī)劃路徑進行報文傳輸:BFIR1—BFR4—BFR5—BFER3/BFER6/BFER8。本實施例具體說明如下:
在BIER入口節(jié)點BFIR1,首先將目的節(jié)點BFER3/BFER6/BFER8按照已有的BIER報文頭封裝技術(shù)進行封裝;其次,將BFIR1對該預(yù)定流量所分配的特征流量標(biāo)識,封裝到BIER報文頭之前或者BIER報文頭中,其中,特征流量標(biāo)識可以是包含入口節(jié)點本身標(biāo)簽以及對該預(yù)定流量分配的上游標(biāo)簽等的集合,也可以是其他形式;再次,根據(jù)已經(jīng)得到的規(guī)劃路徑信息,封裝規(guī)劃路徑信息到BIER報文頭中,并進行相應(yīng)的標(biāo)志位置位;在封裝處理完畢后,BFIR1根據(jù)規(guī)劃路徑信息進行轉(zhuǎn)發(fā),并根據(jù)特征流量標(biāo)識生成對應(yīng)的轉(zhuǎn)發(fā)表項;
在BIER中間節(jié)點BFR4/BFR5,以及BIER出口節(jié)點BFER3/BFER6/BFER8,根據(jù)收到BIER報文的特征流量標(biāo)識和規(guī)劃路徑信息,生成對應(yīng)的轉(zhuǎn)發(fā)表項,并根據(jù)規(guī)劃路徑信息轉(zhuǎn)發(fā)BIER報文;其中,BIER出口節(jié)點還要進行BIER報文的解封裝,并將解封裝得到的流量轉(zhuǎn)發(fā)出BIER網(wǎng)絡(luò)。
此外,各BIER節(jié)點在后續(xù)收到只攜帶特征流量標(biāo)識的流量時,根據(jù)已經(jīng)建立的轉(zhuǎn)發(fā)表項,完成流量按照已建立的規(guī)劃路徑轉(zhuǎn)發(fā)。
通過上述步驟,可以讓原本只能使用最短路徑進行轉(zhuǎn)發(fā)的流量,根據(jù)規(guī)劃路徑完成在BIER網(wǎng)絡(luò)中的轉(zhuǎn)發(fā),并且在BIER節(jié)點上自動建立規(guī)劃路徑。如此,能夠適配資源調(diào)度等各種部署需求,充分利用了冗余鏈路,具有高度的實用性和適應(yīng)性。
圖5為本發(fā)明一具體實施例提供的報文傳輸方法的流程圖。如圖5所示,本實施例應(yīng)用于BIER網(wǎng)絡(luò)中的BIER節(jié)點,包括如下步驟:
步驟501:BIER節(jié)點收到BIER報文需要進行轉(zhuǎn)發(fā)處理時,先查看本地是否有與該BIER報文的特征流量標(biāo)識一致的轉(zhuǎn)發(fā)表項;
步驟502:如果BIER節(jié)點本地已有與特征流量標(biāo)識一致的轉(zhuǎn)發(fā)表項,直接根據(jù)轉(zhuǎn)發(fā)表項進行轉(zhuǎn)發(fā)處理;
步驟503:如果BIER節(jié)點本地沒有與特征流量標(biāo)識一致的轉(zhuǎn)發(fā)表項,則查看該BIER報文是否存在規(guī)劃路徑信息(如規(guī)劃路徑列表);
步驟504:如果既無特征流量標(biāo)識所對應(yīng)的轉(zhuǎn)發(fā)表項,又沒有規(guī)劃路徑信息,則進行普通的BIER轉(zhuǎn)發(fā)處理;
步驟505:如果存在規(guī)劃路徑信息,則按照規(guī)劃路徑信息進行處理,轉(zhuǎn)發(fā)至規(guī)劃路徑信息里規(guī)定的下一BIER節(jié)點,并根據(jù)特征流量標(biāo)識,生成相對應(yīng)的轉(zhuǎn)發(fā)表項;
步驟506:判斷如果本BIER節(jié)點是否為BIER出口節(jié)點之一;
步驟507:如果本BIER節(jié)點是BIER出口節(jié)點之一,對該BIER報文進行解封裝并轉(zhuǎn)發(fā)出BIER網(wǎng)絡(luò)。
其中,特征流量信息可以是標(biāo)簽集合、預(yù)定的BIER報文頭或者其他能夠準(zhǔn)確表示出預(yù)定流量的標(biāo)識。規(guī)劃路徑信息可以是顯式路徑列表,也可以是多層級的路徑節(jié)點集合。
此外,本發(fā)明實施例還提供一種報文傳輸裝置,應(yīng)用于BIER入口節(jié)點,包括:BIER封裝模塊,用于封裝預(yù)定流量的特征流量標(biāo)識以及規(guī)劃路徑信息至BIER報文;BIER轉(zhuǎn)發(fā)模塊,用于根據(jù)所述規(guī)劃路徑信息,傳輸所述BIER報文。
進一步地,所述BIER轉(zhuǎn)發(fā)模塊,還用于根據(jù)所述特征流量標(biāo)識以及規(guī)劃路徑信息形成該特征流量標(biāo)識的轉(zhuǎn)發(fā)表項。
進一步地,所述BIER封裝模塊,還用于在所述預(yù)定流量需要資源預(yù)留時,將資源需求信息封裝在規(guī)劃路徑信息中。
圖6為本發(fā)明一實施例提供的報文傳輸裝置的示意圖。如圖6所示,本實施例提供的報文傳輸裝置,應(yīng)用于BIER入口節(jié)點,包括:BIER封裝模塊61以及BIER轉(zhuǎn)發(fā)模塊62。其中,BIER封裝模塊61例如包括BIER特 征流量標(biāo)識封裝單元601以及BIER規(guī)劃路徑信息封裝單元602。BIER特征流量標(biāo)識封裝單元601,用于封裝預(yù)定流量的特征流量標(biāo)識,以便于BIER網(wǎng)絡(luò)節(jié)點的轉(zhuǎn)發(fā)和規(guī)劃路徑生成。BIER規(guī)劃路徑信息封裝單元602,用于封裝預(yù)定流量的規(guī)劃路徑信息,用于指導(dǎo)BIER網(wǎng)絡(luò)節(jié)點的規(guī)劃路徑生成。BIER轉(zhuǎn)發(fā)模塊62,用于根據(jù)特征流量標(biāo)識和/或規(guī)劃路徑信息,進行BIER報文轉(zhuǎn)發(fā)處理。
此外,本發(fā)明實施例還提供一種報文傳輸裝置,應(yīng)用于BIER節(jié)點,包括:BIER接收模塊,用于接收BIER報文;BIER轉(zhuǎn)發(fā)模塊,用于當(dāng)所述BIER報文攜帶特征流量標(biāo)識以及規(guī)劃路徑信息時,根據(jù)所述規(guī)劃路徑信息傳輸所述BIER報文。
進一步地,當(dāng)所述BIER節(jié)點為BIER出口節(jié)點時,該裝置還包括:BIER解封裝模塊,用于解封裝接收到的BIER報文并將解封裝得到的流量轉(zhuǎn)發(fā)出BIER網(wǎng)絡(luò)。
進一步地,所述BIER轉(zhuǎn)發(fā)模塊,還用于根據(jù)所述特征流量標(biāo)識以及規(guī)劃路徑信息形成該特征流量標(biāo)識的轉(zhuǎn)發(fā)表項。
進一步地,所述BIER轉(zhuǎn)發(fā)模塊,還用于根據(jù)所述BIER報文攜帶的資源需求信息,為具有該特征流量標(biāo)識的流量預(yù)留資源。
圖7為本發(fā)明另一實施例提供的報文傳輸裝置的示意圖。如圖7所示,本實施例提供的報文傳輸裝置,應(yīng)用于BIER中間節(jié)點,包括:BIER接收模塊71以及BIER轉(zhuǎn)發(fā)模塊72。其中,BIER轉(zhuǎn)發(fā)模塊72包括BIER規(guī)劃路徑生成單元701。BIER規(guī)劃路徑生成單元701,用于根據(jù)規(guī)劃路徑信息和特征流量標(biāo)識,生成相應(yīng)的轉(zhuǎn)發(fā)表項;BIER轉(zhuǎn)發(fā)模塊72用于根據(jù)規(guī)劃路徑轉(zhuǎn)發(fā)BIER報文,以及進行常規(guī)的BIER轉(zhuǎn)發(fā)處理。此外,當(dāng)BIER報文攜帶資源需求信息時,BIER轉(zhuǎn)發(fā)模塊為具有該特征流量標(biāo)識的流量預(yù)留資源。
圖8為本發(fā)明再一實施例提供的報文傳輸裝置的示意圖。如圖8所示,本實施例提供的報文傳輸裝置,應(yīng)用于BIER出口節(jié)點,包括:BIER接收模塊81、BIER轉(zhuǎn)發(fā)模塊82以及BIER解封裝模塊83。其中,BIER轉(zhuǎn)發(fā)模塊82例如包括BIER規(guī)劃路徑生成單元801,用于根據(jù)特征流量標(biāo)識和規(guī)劃路徑信息,生成相應(yīng)的轉(zhuǎn)發(fā)表項。BIER解封裝模塊83,用于將BIER報文 還原成原本的協(xié)議流量,并轉(zhuǎn)發(fā)出BIER網(wǎng)絡(luò)。BIER轉(zhuǎn)發(fā)模塊82,用于根據(jù)路徑規(guī)劃信息和/或特征流量標(biāo)識進行報文轉(zhuǎn)發(fā),以及進行常規(guī)的BIER轉(zhuǎn)發(fā)處理。
需要說明的是,上述模塊可以是實現(xiàn)預(yù)定功能的軟件和/或硬件的組合。本發(fā)明對此并不限定。
圖9為根據(jù)本發(fā)明實施例的預(yù)定流量與普通流量轉(zhuǎn)發(fā)的網(wǎng)絡(luò)示意圖。參照圖1及圖9,實現(xiàn)預(yù)定流量的規(guī)劃路徑的轉(zhuǎn)發(fā)。于此,預(yù)定流量的規(guī)劃路徑如下:BFIR1—BFR4—BFR5—BFER3/BFER6/BFER8。普通流量的轉(zhuǎn)發(fā)目的出口為BFER3和BFER8。本實施例說明如下:
步驟901:在入口節(jié)點BFIR1,BIER封裝模塊將預(yù)定流量和普通流量分別封裝,預(yù)定流量封裝目的節(jié)點BFER3/BFER6/BFER8,再封裝規(guī)劃路徑信息;普通流量封裝目的節(jié)點BFER3/BFER8,將兩個封裝流量報文發(fā)送到BFIR1的BIER轉(zhuǎn)發(fā)模塊;
步驟902:BFIR1的BIER轉(zhuǎn)發(fā)模塊收到流量報文,處理普通流量時,直接根據(jù)目的節(jié)點信息,分別轉(zhuǎn)發(fā)到下一跳BFR2和BFR7;處理預(yù)定流量時,首先根據(jù)特征流量標(biāo)識,查看本地是否已經(jīng)存在轉(zhuǎn)發(fā)表項,如果已經(jīng)存在,則直接根據(jù)轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)到下一跳BFR4,如果本地還沒有特征流量標(biāo)識所對應(yīng)的轉(zhuǎn)發(fā)表項,則通過對規(guī)劃路徑信息進行處理,按照規(guī)劃路徑信息指定的下一跳轉(zhuǎn)發(fā)至BFR4,并生成對應(yīng)的特征流量標(biāo)識轉(zhuǎn)發(fā)表項;
步驟903:攜帶普通流量的BIER報文到達BFR2和BFR7后,BFR2和BFR7根據(jù)普通BIER轉(zhuǎn)發(fā)處理,分別轉(zhuǎn)發(fā)BIER報文至下一跳BFER3和BFER8;
步驟904:攜帶預(yù)定流量的BIER報文到達BFR4后,BFR4先查本地是否存在特征流量標(biāo)識所對應(yīng)的轉(zhuǎn)發(fā)表項,如果已經(jīng)存在,則直接按照特征流量標(biāo)識轉(zhuǎn)發(fā)表項進行轉(zhuǎn)發(fā);如果沒有對應(yīng)轉(zhuǎn)發(fā)表項,則根據(jù)規(guī)劃路徑信息,轉(zhuǎn)發(fā)至規(guī)劃路徑的下一跳BFR5,并生成特征流量標(biāo)識所對應(yīng)的轉(zhuǎn)發(fā)表項;
步驟905:攜帶普通流量的BIER報文到達BFER3和BFER8后,BFER3和BFER8根據(jù)普通轉(zhuǎn)發(fā)處理,解封裝BIER報文并轉(zhuǎn)發(fā)出BIER網(wǎng)絡(luò);
步驟906:攜帶預(yù)定流量的BIER報文到達BFR5后,BFR5的處理同BFR4,故于此不再贅述,BFR5生成特征流量標(biāo)識所對應(yīng)的轉(zhuǎn)發(fā)表項,并轉(zhuǎn)發(fā)BIER報文分別到BFER3/BFER6/BFER8;
步驟907:攜帶預(yù)定流量的BIER報文到達BFER3/BFER6/BFER8后,BFER3/BFER6/BFER8的處理同BFR4,BFER3/BFER6/BFER8生成特征流量標(biāo)識所對應(yīng)的轉(zhuǎn)發(fā)表項,解封裝BIER報文并轉(zhuǎn)發(fā)出BIER網(wǎng)絡(luò)。
圖10為根據(jù)本發(fā)明實施例的預(yù)定流量在ECMP鏈路轉(zhuǎn)發(fā)的網(wǎng)絡(luò)示意圖。如圖10所示,實現(xiàn)如下規(guī)劃路徑的生成和轉(zhuǎn)發(fā):BFIR1—BFR4—BFR5—BFER3/BFER6/BFER8。其中,BFR4到BFR5間有多條ECMP鏈路,則會根據(jù)入口節(jié)點的Entropy字段,在存在多條ECMP鏈路時進行選擇操作,保證該預(yù)定流量在后續(xù)一直以該路徑傳輸。因此,BFR4根據(jù)該特征流量標(biāo)識所生成的轉(zhuǎn)發(fā)表項,會選擇一條相應(yīng)鏈路到達BFR5,而不會出現(xiàn)同一條流通過不同的ECMP鏈路轉(zhuǎn)發(fā)的情況。
圖11為根據(jù)本發(fā)明實施例的混雜網(wǎng)絡(luò)實現(xiàn)規(guī)劃路徑轉(zhuǎn)發(fā)的網(wǎng)絡(luò)示意圖。如圖11所示,節(jié)點BFR4和BFR5之間,是不支持BIER轉(zhuǎn)發(fā)的節(jié)點R9和R10,即非BIER節(jié)點。預(yù)定流量出口節(jié)點為BFER3/BFER6/BFER8,規(guī)劃路徑為:BFIR1—BFR4—BFR5—BFER3/BFER6/BFER8。封裝和轉(zhuǎn)發(fā)流程同圖9所示實施例所述,攜帶預(yù)定流量的BIER報文在從BFR4轉(zhuǎn)發(fā)到BFR5時,將通過隧道轉(zhuǎn)發(fā)的方式。BFR4可直接看到BFR5為隧道下一跳。使得流量在R9和R10的傳輸以網(wǎng)絡(luò)協(xié)議(IP,Internet Protocol)/用戶數(shù)據(jù)報協(xié)議(UDP,User Datagram Protocol)/通用路由封裝(GRE,Generic Routing Encapsulation)/多協(xié)議標(biāo)簽交換(MPLS,Multi-Protocol Label Switching)等隧道方式進行,R9和R10將不進行BIER相關(guān)處理。
圖12為根據(jù)本發(fā)明實施例的BIER能力混雜網(wǎng)絡(luò)實現(xiàn)規(guī)劃路徑轉(zhuǎn)發(fā)的網(wǎng)絡(luò)示意圖。如圖12所示,節(jié)點BFR4雖然支持BIER轉(zhuǎn)發(fā),但不支持本文所述的BIER規(guī)劃路徑生成和轉(zhuǎn)發(fā)處理,因此,在BFIR1到BFR5之間,會同樣通過隧道方式來完成預(yù)定流量轉(zhuǎn)發(fā),BFIR1上能夠直接看到BFR5為隧道下一跳。封裝方式可以是MPLS隧道方式。BFR4將看到普通的BIER封裝頭,無需進行規(guī)劃路徑生成和轉(zhuǎn)發(fā),只需要支持普通BIER轉(zhuǎn)發(fā)能力即可。
圖13為根據(jù)本發(fā)明實施例的特征流量標(biāo)識的封裝示意圖。如圖13所示,特征流量標(biāo)識可以為多個標(biāo)簽集合。于此,Label1和Label2可以分別代表BFIR1的節(jié)點標(biāo)簽和其為預(yù)定流量所分配的上游標(biāo)簽。
圖14為根據(jù)本發(fā)明實施例的規(guī)劃路徑信息的封裝示意圖一。如圖14所示,整條規(guī)劃路徑在規(guī)劃路徑信息中攜帶,其中,代表預(yù)定流量的規(guī)劃路徑為BFIR1—BFR4—BFR5—BFER3/BFER6/BFER8。需要注意的是,因為BFIR1本身即為第一個節(jié)點,所以BFIR1節(jié)點也可以在路徑中不顯示。路徑直接為BFR4—BFR5—BFER3/BFER6/BFER8。
圖15為根據(jù)本發(fā)明實施例的規(guī)劃路徑信息的封裝示意圖二。如圖15所示,整條規(guī)劃路徑在規(guī)劃路徑信息中攜帶,其中,代表預(yù)定流量的規(guī)劃路徑為:BFIR1—BFR4—BFR5—BFER3,BFIR1—BFR4—BFR5—BFER6,BFIR1—BFR4—BFR5—BFER8。需要注意的是,因為BFIR1本身即為第一個節(jié)點,所以BFIR1節(jié)點也可以在路徑中不顯示。
圖16為根據(jù)本發(fā)明實施例的攜帶資源需求信息控制處理的網(wǎng)絡(luò)示意圖。假設(shè)實現(xiàn)圖4的路徑自動建立時,還需要對該特征流量進行帶寬保障,比如該流量必須保障100M的傳輸帶寬,則隨著路徑BFIR1—BFR4—BFR5—BFER3/BFER6/BFER8的建立,相應(yīng)的帶寬保障也建立成功,參與路徑建立的各個節(jié)點,都將對具有該特征流量標(biāo)識的流量預(yù)留帶寬,從而對該特征流量實現(xiàn)資源保障。
通過上述各個實施例可知,通過本發(fā)明,可以在BIER網(wǎng)絡(luò)內(nèi),完成流量的規(guī)劃路徑轉(zhuǎn)發(fā),避免了BIER網(wǎng)絡(luò)只能根據(jù)最短路徑轉(zhuǎn)發(fā)而造成鏈路不能充分利用的缺點。通過對流量的路徑規(guī)劃,可以讓流量完成在BIER網(wǎng)絡(luò)內(nèi)的規(guī)劃路徑轉(zhuǎn)發(fā)及路徑的自動建立,使BIER技術(shù)的使用場景更為豐富,具有良好的適應(yīng)性和發(fā)展前景。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、 磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
以上顯示和描述了本發(fā)明的基本原理和主要特征和本發(fā)明的優(yōu)點。本發(fā)明不受上述實施例的限制,上述實施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會有各種變化和改進,這些變化和改進都落入要求保護的本發(fā)明范圍內(nèi)。