一種路徑建立方法及控制器的制造方法
【專利摘要】一種路徑建立方法及控制器,包括:當檢測到用于建立P2MP TE的路徑建立請求時,使用路徑建立請求包括的頭節點信息和尾節點信息計算P2MP TE路徑,P2MP TE路徑包括至少一個分叉節點和至少兩個尾節點;識別P2MP TE路徑中的目標分叉節點,并獲取目標分叉節點的標簽,目標分叉節點是至少一個分叉節點中的分叉節點;當頭節點信息對應的第三節點與目標分叉節點不是同一節點時,向第三節點發送第一信息,并向目標分叉節點發送第二信息,第一信息用于指示第三節點接收到報文時將路徑信息和標簽封裝在報文中,路徑信息用于指示第三節點將封裝后的報文按照路徑信息進行轉發,第二信息用于指示目標分叉節點生成組播轉發表項。本發明實施例,可以降低P2MP TE路徑建立的復雜度。
【專利說明】
一種路徑建立方法及控制器
技術領域
[0001 ]本發明涉及通信技術領域,尤其涉及一種路徑建立方法及控制器。
【背景技術】
[0002]點到多點流量工程(Point-to-MultipointTraffic Engineering,P2MP TE)通過建立一條由一個頭節點(即入節點)到多個尾節點(即出節點)的“樹形”路徑(即隧道)來實現組播業務,可見,路徑的建立是P2MP TE實現組播業務必不可少的過程。目前,P2MP TE中的節點支持資源預留協議(Resource ReSerVat1n Protocol ,RSVP),因此,在建立路徑時,頭節點需要通過RSVP中的refresh消息收集P2MP TE網絡中所有節點的信息,當存在節點的信息發生變化時,頭節點需要將改變的信息通過refresh消息通知P2MP TE網絡中所有節點,這種建立P2MP TE的方式使得路徑建立過程復雜,并且不利于網絡的管理和維護。
【發明內容】
[0003]本發明實施例公開了一種路徑建立方法及控制器,用于降低P2MP TE路徑建立的復雜度。
[0004]第一方面,公開一種路徑建立方法,該方法應用于管理至少三個節點的控制器,這至少三個節點中每個節點具有多協議標簽交換(Mult1-Protocol Label Switching,MPLS)轉發功能和分段路由(Segment Routing,SR)功能,當檢測到包括頭節點信息和尾節點信息的用于建立P2MP TE的路徑建立請求時,使用頭節點信息和尾節點信息計算P2MP TE路徑,即計算從一個頭節點到多個尾節點的路徑,之后識別P2MP TE路徑中的目標分叉節點,并獲取目標分叉節點的標簽,當頭節點信息對應的第三節點與目標分叉節點不是同一節點時,向第三節點發送第一信息,以及向目標分叉節點發送第二信息。其中,P2MP TE路徑包括至少一個分叉節點和至少兩個尾節點,目標分叉節點至少與第一節點和第二節點連接,第一節點是第一尾節點或者目標分叉節點與第一尾節點間的節點,第二節點是第二尾節點或者目標分叉節點與第二尾節點間的節點,第一尾節點和第二尾節點是這至少兩個尾節點中的節點,目標分叉節點是這至少一個分叉節點中的任一分叉節點,第一信息可以包括目標分叉節點的標簽和P2MP TE路徑中由第三節點到目標分叉節點的路徑信息,第一信息可以指示第三節點接收到第一報文時將路徑信息和目標分叉節點的標簽封裝在第一報文中,該路徑信息可以指示第三節點將封裝后的第一報文按照該路徑信息進行轉發,第二信息可以指示目標分叉節點生成第一組播轉發表項,第一組播轉發表項可以包括P2MP TE路徑中由目標分叉節點到尾節點信息對應的節點的路徑的信息,第一組播轉發表項可以在目標分叉節點接收到包括目標分叉節點的標簽的第一報文時將第一報文按照第一組播轉發表項進行轉發。
[0005]在一個實施例中,當頭節點信息對應的第三節點與目標分叉節點為同一節點時,控制器將向目標分叉節點發送第三信息和目標分叉節點的標簽,目標分叉節點的標簽可以指示目標分叉節點根據第三信息生成第二組播轉發表項,第二組播轉發表項可以包括P2MPTE路徑中由目標分叉節點到尾節點信息對應的節點的路徑的信息,第二組播轉發表項用于當目標分叉節點接收到第二報文時將第二報文按照第二組播轉發表項進行轉發,可以使不論分叉節點在路徑中的那兒都能建立P2MP TE路徑。
[0006]在一個實施例中,為分叉節點預先分配好的標簽可以存儲在分叉節點中,計算得至IJP2MP TE路徑之后,控制器將向目標分叉節點發送標簽獲取請求消息,之后將會接收到目標分叉節點發送的包含標簽的響應消息,該標簽獲取請求消息可以指示目標分叉節點從存儲的至少一個標簽中為需要建立的P2MP TE路徑中的目標分叉節點分配一個標簽,可以避免不同的協議使用相同的標簽導致轉發沖突。
[0007]在一個實施例中,為分叉節點預先分配好的標簽可以存儲在控制器中,計算得到P2MP TE路徑之后,控制器可以從存儲的至少一個標簽中為需要建立的P2MP TE路徑中的目標分叉節點分配一個標簽,可以提高控制器的控制能力。
[0008]在一個實施例中,可以使用約束最短路徑優先(Constrained Shortest PathFi r s t,CSPF)算法計算頭節點信息對應的第三節點與尾節點信息對應的節點間的最優P2MPTE路徑,可以使P2MP TE路徑滿足業務轉發需要。
[0009]在一個實施例中,路徑建立請求還可以包括所需帶寬,可以從頭節點信息對應的第三節點與尾節點信息對應的節點間的路徑中選取帶寬容量大于或等于所需帶寬的P2MPTE路徑,可以建立滿足帶寬要求的P2MP TE路徑。
[0010]在一個實施例中,路徑建立請求還可以包括所需最大時延,可以從頭節點信息對應的第三節點與尾節點信息對應的節點間的路徑中選取時延不大于所需最大時延的路徑,可以建立滿足時延要求的P2MP TE路徑。
[0011]在一個實施例中,路徑建立請求還可以包括鏈路的親和屬性,可以從頭節點信息對應的第三節點與尾節點信息對應的節點間的路徑中選取親和屬性滿足鏈路的親和屬性的路徑,可以建立滿足鏈路的親和屬性要求的P2MP TE路徑。
[0012]第二方面,公開一種控制器,該控制器包括用于執行第一方面或第一方面的任一種可能實現方式所公開的路徑建立方法的單元。
[0013]第三方面,公開一種控制器,所述控制器管理至少三個節點,所述控制器包括處理器、存儲器和收發器,其中;
[0014]存儲器中存儲有一組程序代碼,處理器用于調用存儲器中存儲的程序代碼執行以下操作:
[0015]當檢測到用于建立P2MPTE的路徑建立請求時,使用所述路徑建立請求包括的頭節點信息和尾節點信息計算P2MP TE路徑,所述P2MP TE路徑包括至少一個分叉節點和至少兩個尾節點;
[0016]識別所述P2MPTE路徑中的目標分叉節點,并獲取所述目標分叉節點的標簽,所述目標分叉節點至少與第一節點和第二節點連接,所述第一節點是第一尾節點,或者所述第一節點為所述目標分叉節點與第一尾節點間的節點,所述第二節點是第二尾節點,或者所述第二節點為所述目標分叉節點與第二尾節點間的節點,所述第一尾節點和所述第二尾節點是所述至少兩個尾節點中的節點,所述目標分叉節點是所述至少一個分叉節點中的任一分叉節點;
[0017]所述收發器,用于當所述頭節點信息對應的第三節點與所述目標分叉節點不是同一節點時,向所述第三節點發送第一信息,以及向所述目標分叉節點發送第二信息,所述第一信息包括所述標簽和所述P2MP TE路徑中由所述第三節點到所述目標分叉節點的路徑信息,所述第一信息用于指示所述第三節點接收到第一報文時,將所述路徑信息和所述標簽封裝在所述第一報文中,所述路徑信息用于指示所述第三節點將封裝后的所述第一報文按照所述路徑信息進行轉發,所述第二信息用于指示所述目標分叉節點生成第一組播轉發表項,所述第一組播轉發表項包括所述P2MP TE路徑中由所述目標分叉節點到所述尾節點信息對應的節點的路徑的信息,所述第一組播轉發表項用于所述目標分叉節點接收到包括所述標簽的第一報文時,將所述第一報文按照所述第一組播轉發表項進行轉發。
[0018]第四方面公開一種可讀存儲介質,該可讀存儲介質存儲了控制器用于執行第一方面或第一方面的任一種可能實現方式所公開的路徑建立方法的程序代碼。
[0019]本發明實施例中,在建立P2MP TE路徑時,控制器只需要向P2MP TE路徑中的頭節點和分叉節點發送信息,而不需要向P2MP TE路徑中的所有節點發送信息,可以降低P2MPTE路徑建立過程的復雜度,便于網絡的管理和維護。
【附圖說明】
[0020]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0021]圖1是本發明實施例公開的一種網絡架構示意圖;
[0022]圖2是本發明實施例公開的一種路徑建立方法的流程示意圖;
[0023]圖3是本發明實施例公開的一種控制器的結構示意圖;
[0024]圖4是本發明實施例公開的另一種控制器的結構示意圖;
[0025]圖5是本發明實施例公開的一種路徑建立系統的結構示意圖;
[0026]圖6是本發明實施例公開的一種PCLRresvmessage格式的示意圖;
[0027]圖7是本發明實施例公開的一種PCLRresv message格式中的LABEL-NUMBER格式的示意圖;
[0028]圖8是本發明實施公開的一種PCLabelUpd Message格式的示意圖;
[0029]圖9是本發明實施例公開的一種PCLabelUpd Message格式中的LABEL格式的示意圖;
[0030]圖10是本發明實施例公開的一種PCLabelUpd Message格式中的LABEL-ATACK格式的不意圖;
[0031 ] 圖11是本發明實施例公開的一種label stack sub-TLV的示意圖。
【具體實施方式】
[0032]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0033]本發明實施例公開了一種路徑建立方法及控制器,用于降低P2MP TE路徑建立的復雜度。以下分別進行詳細說明。
[0034]為了更好地理解本發明實施例公開的一種路徑建立方法及控制器,下面先對本發明實施例使用的網絡架構進行描述。請參閱圖1,圖1是本發明實施例公開的一種網絡架構示意圖。如圖1所示,該路徑建立網絡架構可以包括控制器101和多個節點102,例如:該多個節點102包括圖1中的節點Rl,R2,R3,R4,R5和R6等,該多個節點102具有MPLS轉發功能和SR功能。該多個節點102中存在至少一個分叉節點(branch node) 102,以及至少兩個尾節點(egress node) 102。此外,該多個節點102中可以存在一個頭節點(ingress node) 102,此時,頭節點和分叉節點是兩個不同的節點,控制器101與頭節點和分叉節點之間建立網絡連接,此時分叉節點與至少三個節點建立網絡連接,如圖1左邊的圖所示。該多個節點102中頭節點和分叉節點也可以為同一節點,控制器1I與頭節點或分叉節點建立網絡連接,分叉節點與至少兩個節點通過網絡連接,如圖1右邊的圖所示。控制器101用于檢測P2MP TE的路徑建立請求,并響應P2MP TE的路徑建立請求,計算P2MP TE路徑,并將P2MP TE路徑的相關信息發送給P2MP TE中的頭節點和/或分叉節點,以便P2MP TE路徑中節點根據這些信息轉發報文。其中,P2MP TE的路徑建立請求可以是頭節點發送給控制器101的,也可以是控制器101生成的,還可以是除P2MP TE網絡中節點102和控制器101之外的設備發送給控制器101的,本發明實施例不作限定。
[0035]基于圖1所示的網絡架構,請參閱圖2,圖2是本發明實施例公開的一種路徑建立方法的流程示意圖。其中,本發明實施例是從控制器101的角度來描述的。如圖2所示,該路徑建立方法可以包括以下步驟。
[0036]201、當檢測到用于建立P2MP TE的路徑建立請求時,使用該路徑建立請求包括的頭節點信息和尾節點信息計算P2MP TE路徑。
[0037]本實施例中,控制器(controller)可以預先通過內部網關協議(InternalGateway Protocol,IGP)或邊界網關協議(Border Gateway Protocol,BGP)獲取到網絡中節點之間的拓撲結構,以及可以預先通過路徑計算通信協議(Path Computat1n ElementCommunicat1n Protocol,PCEP)獲取網絡中節點之間的標簽交換路徑(Label SwitchPath,LSP)。因此,當控制器檢測到包括頭節點信息和尾節點信息的用于建立P2MP TE的路徑建立請求時,可以根據該頭節點信息、尾節點信息、節點之間的拓撲結構和節點之間的LSP計算P2MP TE路徑,S卩計算頭節點信息對應的節點到尾節點信息對應的節點間的路徑。例如:頭節點為圖1左邊的圖中的Rl,以及尾節點為圖1左邊的圖中的R5和R6,計算的P2MPTE路徑可以為R1-R2-R3-R4-R5以及R1-R2-R3-R6。其中,計算的P2MP TE路徑可以包括至少一個分叉節點和至少兩個尾節點。
[0038]作為一種可能的實施方式,控制器可以使用CSPF算法計算頭節點信息對應的節點與尾節點信息對應的節點間的最優路徑,可以使報文傳輸路徑最優。
[0039]作為一種可能的實施方式,路徑建立請求還可以包括所需帶寬、所需最大時延、鏈路的親和屬性等信息,控制器計算P2MP TE路徑時,可以從頭節點信息對應的節點到尾節點信息對應的節點的路徑中選取滿足所需帶寬、所需最大時延、鏈路的親和屬性等信息中至少一種的路徑,以便使計算的P2MP TE路徑滿足業務要求,可以實現業務報文的傳輸。
[0040]202、識別P2MP TE路徑中的目標分叉節點,并獲取目標分叉節點的標簽。[0041 ] 本實施例中,計算得到P2MP TE路徑之后,需要識別P2MP TE路徑中的目標分叉節點,即識別P2MP TE路徑從哪個節點開始分路,這個節點即為分叉節點。其中,可以是控制器向目標分叉節點發送標簽獲取請求,以便目標分叉節點為P2MP TE路徑返回分配的標簽,也可以是控制器為P2MP TE路徑分配標簽,本實施例不作限定。其中,目標分叉節點至少與第一節點和第二節點連接,第一節點是第一尾節點,或者第一節點為目標分叉節點與第一尾節點間的節點,第二節點是第二尾節點,或者第二節點為目標分叉節點與第二尾節點間的節點,第一尾節點和第二尾節點是至少兩個尾節點中的節點,目標分叉節點是這至少一個分叉節點中的任一分叉節點。
[0042]本實施例中,目標分叉節點的標簽可以為該目標分叉節點自己分配的,在這種情況下,控制器可以通過擴展路徑計算通信協議(Path Computat1n ElementCommunicat1n Protocol ,PCEP),新增PCLRResv消息(message)用來請求目標分叉節點的標簽。請參閱圖6,圖6是本發明實施例公開的一種PCLRresv message格式的示意圖。請參閱圖7,圖7是本發明實施例公開的一種PCLRresv message格式中的LABEL-NUMBER格式的示意圖。其中,LABEL-NUMBER格式中的label type用于指示是全局標簽還是局部標簽,當labeltype為I時可以表明標簽為局部標簽,當label type為2時可以表明標簽為全局標簽;LABEL-NUMBER格式中的LabeI number用于指示需要的標簽個數;LABEL-NUMBER格式中的F用于指示是申請標簽還是返回標簽,當F設置為O時,表明是申請標簽,當F flag設置為I時,表明是返回標簽;LABEL-NUMBER格式中的Label 1-n value是目標分叉節點返回給控制器的標簽值。
[0043]203、當頭節點信息對應的第三節點與目標分叉節點不是同一節點時,向第三節點發送第一信息,以及向目標分叉節點發送第二信息。
[0044]本實施例中,控制器可以擴展PCEP協議,新增一個PCLabelUpd消息用來向第三節點下發第一信息,以及向目標分叉節點下發第二信息。請參閱圖8,圖8是本發明實施公開的一種PCLabelUpd Message格式的示意圖。請參閱圖9,圖9是本發明實施例公開的一種PCLabelUpd Message格式中的LABEL格式的示意圖。其中,LABEL格式中的O位用于指示標簽的類型,當該標志位設置為I時,表明該標簽是出標簽,當該標志位設置為非I時,表明該標簽是入標簽。請參閱圖10,圖10是本發明實施例公開的一種PCLabeIUpd Message格式中的LABEL-ATACK格式的示意圖。其中,LABEL-ATACK格式中的stacks number用于指示標簽棧的數據。請參閱圖11,圖11是本發明實施例公開的一種label stack sub_TLV的示意圖。其中,label stack sub_TLV中的index用于指示第幾個標簽桟。
[0045]本實施例中,獲取到目標分叉節點的標簽之后,當頭節點信息對應的第三節點與目標分叉節點不是同一節點,即頭節點不是分叉節點時,將向第三節點發送第一信息,第一信息可以包括目標分叉節點的標簽和P2MP TE路徑中由第三節點到目標分叉節點的路徑信息,第一信息可以指示第三節點在接收到第一報文時,將該路徑信息和目標分叉節點的標簽封裝在第一報文中,目標分叉節點的標簽在封裝后的第一報文中處于路徑信息之后,路徑信息可以指示第三節點將封裝后的第一報文按照路徑信息進行轉發。第一信息可以以標簽棧的方式發送給第三節點,例如:圖1左邊的圖中控制器發送給頭節點Rl的標簽棧可以為{L12 L23 L3N},其中,L3N是分叉節點R3的標簽,L12和L23可以表示P2MP TE路徑中由頭節點Rl到分叉節點R3的路徑,即報文轉發路徑為節點Rl-節點R2-節點R3。也向目標分叉節點發送第二信息,第二信息可以指示目標分叉節點生成第一組播轉發表項,第一組播轉發表項可以包括P2MP TE路徑中由目標分叉節點到尾節點信息對應的節點的路徑的信息,第一組播轉發表項可以當目標分叉節點接收到包括目標分叉節點的標簽的第一報文時,將第一報文按照第一組播轉發表項進行轉發,即將第一報文復制第一組播轉發表項中包括的路徑數量的份數,并每份第一報文按照第一組播轉發表項包括的一條路徑進行轉發,例如:從節點R3到尾節點R5和節點R6分別各一條路徑,因此,節點R3接收到包括L3N的報文后,可以將該報文復制兩份,之后按照R3-R4-R5轉發給節點R5,以及按照R3-R6轉發給節點R6。其中,第一信息和第二信息是通過PCLabelUpd消息分別下發給第三節點和目標分叉節點的。
[0046]204、當頭節點信息對應的第三節點與目標分叉節點為同一節點時,向目標分叉節點發送第三信息和目標分叉節點的標簽。
[0047]本實施例中,當頭節點信息對應的第三節點與目標分叉節點為同一節點時,將目標分叉節點的標簽和第三信息通過PCLabelUpd消息下發給目標分叉節點,目標分叉節點的標簽可以指示目標分叉節點根據第三信息生成第二組播轉發表項,第二組播轉發表項可以包括P2MP TE路徑中由目標分叉節點到尾節點信息對應的節點的路徑的信息,第二組播轉發表項可以當目標分叉節點接收到第二報文時,將第二報文按照第二組播轉發表項進行轉發,即將第二報文復制第二組播轉發表項中包括的路徑數量的份數,并每份第二報文按照第二組播轉發表項包括的一條路徑進行轉發。第三信息還可以包括用于指示目標分叉節點為入節點的信息,可以表明目標分叉節點即入節點。
[0048]在圖2所描述的路徑建立方法中,當檢測到用于建立P2MPTE的路徑建立請求時,使用路徑建立請求包括的頭節點信息和尾節點信息計算P2MP TE路徑,識別P2MP TE路徑中的目標分叉節點,并獲取目標分叉節點的標簽,當頭節點信息對應的第三節點與目標分叉節點不是同一節點時,向第三節點發送第一信息,以及向目標分叉節點發送第二信息,當頭節點信息對應的第三節點與目標分叉節點為同一節點時,向目標分叉節點發送第三信息和目標分叉節點的標簽,可見,在建立P2MP TE路徑時,控制器只需要向P2MP TE路徑中的頭節點和/或分叉節點發送信息,而不需要向P2MP TE路徑中的所有節點發送信息,可以降低P2MP TE路徑建立過程的復雜度,便于網絡的管理和維護。
[0049]基于圖1所示的網絡架構,請參閱圖3,圖3是本發明實施例公開的一種控制器的結構示意圖。該控制器可以為圖2所示實施例中的控制器。如圖3所示,該控制器可以包括:
[0050]計算單元301,用于當檢測到用于建立P2MP TE的路徑建立請求時,使用路徑建立請求包括的頭節點信息和尾節點信息計算P2MP TE路徑,P2MP TE路徑包括至少一個分叉節點和至少兩個尾節點;
[0051]識別單元302,用于識別計算單元301計算的P2MPTE路徑中的目標分叉節點,目標分叉節點至少與第一節點和第二節點連接,第一節點是第一尾節點,或者第一節點為目標分叉節點與第一尾節點間的節點,第二節點是第二尾節點,或者第二節點為目標分叉節點與第二尾節點間的節點,第一尾節點和第二尾節點是至少兩個尾節點中的節點,目標分叉節點是至少一個分叉節點中的任一分叉節點;
[0052]獲取單元303,用于獲取識別單元302識別的目標分叉節點的標簽;
[0053]發送單元304,用于當頭節點信息對應的第三節點與目標分叉節點不是同一節點時,向第三節點發送第一信息,以及向識別單元302識別的目標分叉節點發送第二信息,第一信息包括獲取單元303獲取的標簽和計算單元計算的P2MP TE路徑中由第三節點到目標分叉節點的路徑信息,第一信息用于指示第三節點接收到第一報文時,將路徑信息和目標分叉節點的標簽封裝在第一報文中,路徑信息用于指示第三節點將封裝后的第一報文按照路徑信息進行轉發,第二信息用于指示目標分叉節點生成第一組播轉發表項,第一組播轉發表項包括P2MP TE路徑中由目標分叉節點到尾節點信息對應的節點的路徑的信息,第一組播轉發表項用于目標分叉節點接收到包括目標分叉節點的標簽的第一報文時,將第一報文按照第一組播轉發表項進行轉發。
[0054]作為一種可能的實施方式,發送單元304,還用于當頭節點信息對應的第三節點與目標分叉節點為同一節點時,向識別單元302識別的目標分叉節點發送第三信息和獲取單元303獲取的目標分叉節點的標簽,目標分叉節點的標簽用于指示目標分叉節點根據第三信息生成第二組播轉發表項,第二組播轉發表項包括計算單元計算的P2MP TE路徑中由目標分叉節點到尾節點信息對應的節點的路徑的信息,第二組播轉發表項用于當目標分叉節點接收到第二報文時,將第二報文按照第二組播轉發表項進行轉發。
[0055]作為一種可能的實施方式,獲取單元303具體用于:
[0056]向目標分叉節點發送標簽獲取請求消息,標簽獲取請求消息用于指示目標分叉節點為P2MP TE路徑分配標簽;
[0057]接收目標分叉節點發送響應消息,該響應消息包含標簽。
[0058]作為一種可能的實施方式,獲取單元303,具體用于為目標分叉節點分配標簽。
[0059]作為一種可能的實施方式,計算單元301,具體用于使用約束最短路徑優先CSPF算法計算頭節點信息對應的第三節點與尾節點信息對應的節點間的P2MP TE路徑。
[0060]在圖3所描述的控制器中,當檢測到用于建立P2MPTE的路徑建立請求時,使用路徑建立請求包括的頭節點信息和尾節點信息計算P2MP TE路徑,識別P2MP TE路徑中的目標分叉節點,并獲取目標分叉節點的標簽,當頭節點信息對應的第三節點與目標分叉節點不是同一節點時,向第三節點發送第一信息,以及向目標分叉節點發送第二信息,當頭節點信息對應的第三節點與目標分叉節點為同一節點時,向目標分叉節點發送第三信息和目標分叉節點的標簽,可見,在建立P2MP TE路徑時,控制器只需要向P2MP TE路徑中的頭節點和/或分叉節點發送信息,而不需要向P2MP TE路徑中的所有節點發送信息,可以降低P2MP TE路徑建立過程的復雜度,便于網絡的管理和維護。
[0061]基于圖1所示的網絡架構,請參閱圖4,圖4是本發明實施例公開的另一種控制器的結構示意圖。該控制器可以為圖2所示實施例中的控制器。如圖4所示,該控制器可以包括:處理器401、存儲器402和收發器403。其中:
[0062]存儲器402中存儲有一組程序代碼,處理器401用于調用存儲器402中存儲的程序代碼執行以下操作:
[0063]當檢測到用于建立點到多點流量工程P2MPTE的路徑建立請求時,使用路徑建立請求包括的頭節點信息和尾節點信息計算P2MP TE路徑,P2MP TE路徑包括至少一個分叉節點和至少兩個尾節點;
[0064]識別P2MPTE路徑中的目標分叉節點,并獲取目標分叉節點的標簽,目標分叉節點至少與第一節點和第二節點連接,第一節點是第一尾節點,或者第一節點為目標分叉節點與第一尾節點間的節點,第二節點是第二尾節點,或者第二節點為目標分叉節點與第二尾節點間的節點,第一尾節點和第二尾節點是至少兩個尾節點中的節點,目標分叉節點是至少一個分叉節點中的任一分叉節點;
[0065]收發器403,用于當頭節點信息對應的第三節點與目標分叉節點不是同一節點時,向第三節點發送第一信息,以及向目標分叉節點發送第二信息,第一信息包括目標分叉節點的標簽和P2MP TE路徑中由第三節點到目標分叉節點的路徑信息,第一信息用于指示第三節點接收到第一報文時,將路徑信息和目標分叉節點的標簽封裝在第一報文中,路徑信息用于指示第三節點將封裝后的第一報文按照路徑信息進行轉發,第二信息用于指示目標分叉節點生成第一組播轉發表項,第一組播轉發表項包括P2MP TE路徑中由目標分叉節點到尾節點信息對應的節點的路徑的信息,第一組播轉發表項用于目標分叉節點接收到包括目標分叉節點的標簽的第一報文時,將第一報文按照第一組播轉發表項進行轉發。
[0066]作為一種可能的實施方式,收發器503,還用于當頭節點信息對應的第三節點與目標分叉節點為同一節點時,向目標分叉節點發送第三信息和目標分叉節點的標簽,目標分叉節點的標簽用于指示目標分叉節點根據第三信息生成第二組播轉發表項,第二組播轉發表項包括P2MP TE路徑中由目標分叉節點到尾節點信息對應的節點的路徑的信息,第二組播轉發表項用于當目標分叉節點接收到第二報文時,將第二報文按照第二組播轉發表項進行轉發。
[0067]作為一種可能的實施方式,處理器401獲取目標分叉節點的標簽包括:
[0068]收發器403向目標分叉節點發送標簽獲取請求消息,標簽獲取請求消息用于指示目標分叉節點為P2MP TE路徑分配標簽;
[0069]收發器403接收目標分叉節點發送響應消息,響應消息包含標簽。
[0070]作為一種可能的實施方式,處理器401獲取目標分叉節點的標簽包括:
[0071 ] 處理器401為目標分叉節點分配標簽。
[0072]作為一種可能的實施方式,處理器401使用路徑建立請求包括的頭節點信息和尾節點信息計算P2MP TE路徑包括:
[0073]處理器401使用約束最短路徑優先CSPF算法計算頭節點信息對應的第三節點與尾節點信息對應的節點間的P2MP TE路徑。
[0074]其中,步驟201和202可以由控制器中的處理器401調用存儲器402中存儲的程序代碼執行,步驟203和步驟204可以由控制器中的收發器403執行。
[0075]其中,計算單元301、識別單元302和獲取單元303可以由控制器中的處理器401和存儲器402來實現,發送單元304可以由控制器中的收發器403來實現。
[0076]在圖4所描述的控制器中,當檢測到用于建立P2MPTE的路徑建立請求時,使用路徑建立請求包括的頭節點信息和尾節點信息計算P2MP TE路徑,識別P2MP TE路徑中的目標分叉節點,并獲取目標分叉節點的標簽,當頭節點信息對應的第三節點與目標分叉節點不是同一節點時,向第三節點發送第一信息,以及向目標分叉節點發送第二信息,當頭節點信息對應的第三節點與目標分叉節點為同一節點時,向目標分叉節點發送第三信息和目標分叉節點的標簽,可見,在建立P2MP TE路徑時,控制器只需要向P2MP TE路徑中的頭節點和/或分叉節點發送信息,而不需要向P2MP TE路徑中的所有節點發送信息,可以降低P2MP TE路徑建立過程的復雜度,便于網絡的管理和維護。
[0077]基于圖1所示的網絡架構,請參閱圖5,圖5是本發明實施例公開的一種路徑建立系統的結構示意圖。如圖5所示,該路徑建立系統包括控制器501和至少三個節點502,其中:
[0078]控制器501,用于當檢測到用于建立P2MP TE的路徑建立請求時,使用路徑建立請求包括的頭節點信息和尾節點信息計算P2MP TE路徑,識別P2MP TE路徑中的目標分叉節點,并獲取目標分叉節點的標簽,P2MP TE路徑包括至少一個分叉節點和至少兩個尾節點,目標分叉節點至少與第一節點和第二節點連接,第一節點是第一尾節點,或者第一節點為目標分叉節點與第一尾節點間的節點,第二節點是第二尾節點,或者第二節點為目標分叉節點與第二尾節點間的節點,第一尾節點和第二尾節點是至少兩個尾節點中的節點,目標分叉節點是至少一個分叉節點中的任一分叉節點;
[0079]控制器501,還用于當頭節點信息對應的第三節點與目標分叉節點不是同一節點時,向第三節點發送第一信息,以及向目標分叉節點發送第二信息,第一信息包括目標分叉節點的標簽和P2MP TE路徑中由第三節點到目標分叉節點的路徑信息。
[0080]第三節點502,用于接收第一信息,接收第一報文,將路徑信息和目標分叉節點的標簽封裝在第一報文中,以及將封裝后的第一報文按照路徑信息轉發至目標分叉節點,目標分叉節點的標簽在封裝后的第一報文中處于路徑信息之后;
[0081 ]目標分叉節點502,用于接收第二信息,生成組第一播轉發表項,接收包括目標分叉節點的標簽的第一報文,將該第一報文按照第一組播轉發表項包括的P2MP TE路徑中由目標分叉節點到尾節點信息對應的節點的路徑的信息進行轉發。
[0082]作為一種可能的實施方式,控制器501,還用于當頭節點信息對應的第三節點與目標分叉節點為同一節點時,向目標分叉節點發送第三信息和分叉節點的標簽;
[0083]目標分叉節點502,還用于在目標分叉節點的標簽的指示下根據第三信息生成第二組播轉發表項,接收第二報文,將第二報文按第二照組播轉發表項包括P2MP TE路徑中由目標分叉節點到尾節點信息對應的節點的路徑的信息進行轉發。
[0084]作為一種可能的實施方式,控制器501獲取目標分叉節點的標簽包括:
[0085]控制器501向目標分叉節點502發送標簽獲取請求消息;
[0086]目標分叉節點502為P2MPTE路徑分配標簽并發送給控制器501;
[0087]控制器501接收目標分叉節點502發送的標簽。
[0088]作為一種可能的實施方式,控制器501獲取目標分叉節點502的標簽包括:
[0089]為目標分叉節點502分配標簽。
[0090]作為一種可能的實施方式,控制器501使用路徑建立請求包括的頭節點信息和尾節點信息計算P2MP TE路徑包括:
[0091]使用約束最短路徑優先CSPF算法計算頭節點信息對應的第三節點與尾節點信息對應的節點間的P2MP TE路徑。
[0092]其中,頭節點用虛線框,可以表示頭節點可以與分叉節點為同一節點,也可以為不同的節點。
[0093]在圖5所描述的控制器中,當檢測到用于建立P2MPTE的路徑建立請求時,使用路徑建立請求包括的頭節點信息和尾節點信息計算P2MP TE路徑,識別P2MP TE路徑中的目標分叉節點,并獲取目標分叉節點的標簽,當頭節點信息對應的第三節點與目標分叉節點不是同一節點時,向第三節點發送第一信息,以及向目標分叉節點發送第二信息,當頭節點信息對應的第三節點與目標分叉節點為同一節點時,向目標分叉節點發送第三信息和目標分叉節點的標簽,可見,在建立P2MP TE路徑時,控制器只需要向P2MP TE路徑中的頭節點和/或分叉節點發送信息,而不需要向P2MP TE路徑中的所有節點發送信息,可以降低P2MP TE路徑建立過程的復雜度,便于網絡的管理和維護。
[0094]在一個實施例中,一種可讀存儲介質,該可讀存儲介質存儲了命令分發裝置用于執行本發明實施例圖2所對應的路徑建立方法的程序代碼。
[0095]本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質中,存儲介質可以包括:閃存盤、只讀存儲器(read-only memory,ROM)、隨機存取器(random accessmemory,RAM)、磁盤或光盤等。
[0096]以上對本發明實施例公開的路徑建立方法及控制器進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
【主權項】
1.一種路徑建立方法,其特征在于,所述方法應用于管理至少三個節點的控制器,所述方法包括: 當所述控制器檢測到用于建立點到多點流量工程P2MP TE的路徑建立請求時,使用所述路徑建立請求包括的頭節點信息和尾節點信息計算P2MP TE路徑,所述P2MP TE路徑包括至少一個分叉節點和至少兩個尾節點; 所述控制器識別所述P2MP TE路徑中的目標分叉節點,并獲取所述目標分叉節點的標簽,所述目標分叉節點至少與第一節點和第二節點連接,所述第一節點是第一尾節點,或者所述第一節點為所述目標分叉節點與第一尾節點間的節點,所述第二節點是第二尾節點,或者所述第二節點為所述目標分叉節點與第二尾節點間的節點,所述第一尾節點和所述第二尾節點是所述至少兩個尾節點中的節點,所述目標分叉節點是所述至少一個分叉節點中的任一分叉節點; 當所述頭節點信息對應的第三節點與所述目標分叉節點不是同一節點時,所述控制器向所述第三節點發送第一信息,以及向所述目標分叉節點發送第二信息,所述第一信息包括所述標簽和所述P2MP TE路徑中由所述第三節點到所述目標分叉節點的路徑信息,所述第一信息用于指示所述第三節點接收到第一報文時,將所述路徑信息和所述標簽封裝在所述第一報文中,所述路徑信息用于指示所述第三節點將封裝后的所述第一報文按照所述路徑信息進行轉發,所述第二信息用于指示所述目標分叉節點生成第一組播轉發表項,所述第一組播轉發表項包括所述P2MP TE路徑中由所述目標分叉節點到所述尾節點信息對應的節點的路徑的信息,所述第一組播轉發表項用于所述目標分叉節點接收到包括所述標簽的第一報文時,將所述第一報文按照所述第一組播轉發表項進行轉發。2.根據權利要求1所述的方法,其特征在于,所述方法還包括: 當所述頭節點信息對應的第三節點與所述目標分叉節點為同一節點時,所述控制器向所述目標分叉節點發送第三信息和所述標簽,所述標簽用于指示所述目標分叉節點根據所述第三信息生成第二組播轉發表項,所述第二組播轉發表項包括所述P2MP TE路徑中由所述目標分叉節點到所述尾節點信息對應的節點的路徑的信息,所述第二組播轉發表項用于當所述目標分叉節點接收到第二報文時,將所述第二報文按照所述第二組播轉發表項進行轉發。3.根據權利要求1或2所述的方法,其特征在于,所述控制器獲取所述目標分叉節點的標簽包括: 所述控制器向所述目標分叉節點發送標簽獲取請求消息,所述標簽獲取請求消息用于指示所述目標分叉節點為所述P2MP TE路徑分配標簽; 所述控制器接收所述目標分叉節點發送響應消息,所述響應消息包含所述標簽。4.根據權利要求1或2所述的方法,其特征在于,所述控制器獲取所述目標分叉節點的標簽包括: 所述控制器為所述目標分叉節點分配標簽。5.根據權利要求1-4任一項所述的方法,其特征在于,所述控制器使用所述路徑建立請求包括的頭節點信息和尾節點信息計算P2MP TE路徑包括: 所述控制器使用約束最短路徑優先CSPF算法計算所述頭節點信息對應的第三節點與所述尾節點信息對應的節點間的P2MP TE路徑。6.一種控制器,其特征在于,所述控制器管理至少三個節點,所述控制器包括: 計算單元,用于當檢測到用于建立點到多點流量工程P2MP TE的路徑建立請求時,使用所述路徑建立請求包括的頭節點信息和尾節點信息計算P2MP TE路徑,所述P2MP TE路徑包括至少一個分叉節點和至少兩個尾節點; 識別單元,用于識別所述計算單元計算的P2MP TE路徑中的目標分叉節點,所述目標分叉節點至少與第一節點和第二節點連接,所述第一節點是第一尾節點,或者所述第一節點為所述目標分叉節點與第一尾節點間的節點,所述第二節點是第二尾節點,或者所述第二節點為所述目標分叉節點與第二尾節點間的節點,所述第一尾節點和所述第二尾節點是所述至少兩個尾節點中的節點,所述目標分叉節點是所述至少一個分叉節點中的任一分叉節占.V , 獲取單元,用于獲取所述識別單元識別的目標分叉節點的標簽; 發送單元,用于當所述頭節點信息對應的第三節點與所述目標分叉節點不是同一節點時,向所述第三節點發送第一信息,以及向所述識別單元識別的目標分叉節點發送第二信息,所述第一信息包括所述獲取單元獲取的標簽和所述計算單元計算的P2MP TE路徑中由所述第三節點到所述目標分叉節點的路徑信息,所述第一信息用于指示所述第三節點接收到第一報文時,將所述路徑信息和所述標簽封裝在所述第一報文中,所述路徑信息用于指示所述第三節點將封裝后的所述第一報文按照所述路徑信息進行轉發,所述第二信息用于指示所述目標分叉節點生成第一組播轉發表項,所述第一組播轉發表項包括所述P2MP TE路徑中由所述目標分叉節點到所述尾節點信息對應的節點的路徑的信息,所述第一組播轉發表項用于所述目標分叉節點接收到包括所述標簽的第一報文時,將所述第一報文按照所述第一組播轉發表項進行轉發。7.根據權利要求6所述的控制器,其特征在于,所述發送單元,還用于當所述頭節點信息對應的第三節點與所述目標分叉節點為同一節點時,向所述識別單元識別的目標分叉節點發送第三信息和所述獲取單元獲取的標簽,所述標簽用于指示所述目標分叉節點根據所述第三信息生成第二組播轉發表項,所述第二組播轉發表項包括所述計算單元算的P2MPTE路徑中由所述目標分叉節點到所述尾節點信息對應的節點的路徑的信息,所述第二組播轉發表項用于當所述目標分叉節點接收到第二報文時,將所述第二報文按照所述第二組播轉發表項進行轉發。8.根據權利要求6或7所述的控制器,其特征在于,所述獲取單元具體用于: 向所述目標分叉節點發送標簽獲取請求消息,所述標簽獲取請求消息用于指示所述目標分叉節點為所述P2MP TE路徑分配標簽; 接收所述目標分叉節點發送響應消息,所述響應消息包含所述標簽。9.根據權利要求6或7所述的控制器,其特征在于,所述獲取單元,具體用于為所述目標分叉節點分配標簽。10.根據權利要求6-9任一項所述的控制器,其特征在于,所述計算單元,具體用于使用約束最短路徑優先CSPF算法計算所述頭節點信息對應的第三節點與所述尾節點信息對應的節點間的P2MP TE路徑。
【文檔編號】H04L12/761GK105827529SQ201610307327
【公開日】2016年8月3日
【申請日】2016年5月10日
【發明人】王鳳梅, 龍勇, 陳霞
【申請人】華為技術有限公司