本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種路徑優(yōu)化方法及裝置。
背景技術(shù):
組播VPN(Virtual Private Network,虛擬專用網(wǎng)絡(luò))是一項(xiàng)在VPN網(wǎng)絡(luò)中實(shí)現(xiàn)組播傳輸?shù)募夹g(shù)。通過MP-BGP(Multiprotocol Border Gateway Protocol,多協(xié)議邊界網(wǎng)關(guān)協(xié)議)方式實(shí)現(xiàn)組播VPN(使用RSVP(Resource Reservation Protocol,資源預(yù)留協(xié)議)P2MP(Point toMultiple Point,點(diǎn)到多點(diǎn))隧道(以下簡稱P2MP隧道)作為承載隧道)是一種常見的組播VPN實(shí)現(xiàn)方式。
在MP-BGP組播VPN組網(wǎng)中,PE(Provider Edge,網(wǎng)絡(luò)側(cè)邊緣設(shè)備)和CE(Customer Edge,客戶側(cè)邊緣設(shè)備)之間通過PIM(ProtocolIndependentMulticast,協(xié)議無關(guān)組播)協(xié)議交互組播信息;PE之間使用MP-BGP協(xié)議傳遞組播信息和隧道建立信息。PE通過MP-BGP協(xié)議接收到遠(yuǎn)端PE發(fā)送的信息時,將接收到的信息傳遞給RSVP協(xié)議,從而PE通過RSVP協(xié)議確定P2MP隧道的目的地址,然后建立P2MP方式的RSVP隧道(即P2MP隧道)。
現(xiàn)有MP-BGP組播VPN組網(wǎng)中,RSVP P2MP隧道的路徑計(jì)算可以由頭節(jié)點(diǎn)計(jì)算,也可以由PCEP(Path Computation Element Communication Protocol,路徑計(jì)算單元通信協(xié)議)控制器(或稱為PCEP服務(wù)器)計(jì)算并下發(fā)給頭節(jié)點(diǎn)。當(dāng)頭節(jié)點(diǎn)、中間節(jié)點(diǎn)或PCEP控制器發(fā)現(xiàn)到部分節(jié)點(diǎn)的路徑可以優(yōu)化時,可以下發(fā)新的路徑,重建整個P2MP隧道。
然而實(shí)踐發(fā)現(xiàn),在上述路徑優(yōu)化方案中,P2MP隧道重建會影響整個P2MP隧道,即當(dāng)?shù)組P-BGP組播VPN組網(wǎng)中的某個目的地的路由需要優(yōu)化時,其它路徑?jīng)]有優(yōu)化的目的地的LSP(Label Switched Path,標(biāo)簽交換路徑)也需要一同重建,影響整個網(wǎng)絡(luò)的穩(wěn)定性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種路徑優(yōu)化方法及裝置,以實(shí)現(xiàn)路徑的局部優(yōu)化。
根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種路徑優(yōu)化方法,包括:
接收路徑更新消息;
判斷本節(jié)點(diǎn)接收到所述路徑更新消息的上一跳與本節(jié)點(diǎn)在原有路徑中的上一跳是否一致,并向下游節(jié)點(diǎn)轉(zhuǎn)發(fā)所述路徑更新消息,直至所述路徑更新消息到達(dá)尾節(jié)點(diǎn);
當(dāng)接收到所述路徑更新消息的上一跳與本節(jié)點(diǎn)在原有路徑中的上一跳不一致時,建立新的LSP。
根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種路徑優(yōu)化裝置,包括:
接收單元,用于接收路徑更新消息;
判斷單元,用于判斷本節(jié)點(diǎn)接收到所述路徑更新消息的上一跳與本節(jié)點(diǎn)在原有路徑中的上一跳是否一致;
發(fā)送單元,用于向下游節(jié)點(diǎn)轉(zhuǎn)發(fā)所述路徑更新消息,直至所述路徑更新消息到達(dá)尾節(jié)點(diǎn);
建立單元,用于當(dāng)所述判斷單元判斷結(jié)果為否時,建立新的LSP。
應(yīng)用本發(fā)明實(shí)施例,當(dāng)接收到路徑更新消息時,通過判斷本節(jié)點(diǎn)接收到該路徑更新消息的上一跳與本節(jié)點(diǎn)在原有路徑中的上一跳是否一致,并向下游節(jié)點(diǎn)轉(zhuǎn)發(fā)路徑更新消息,直至該路徑更新消息達(dá)到尾節(jié)點(diǎn),進(jìn)而,當(dāng)本節(jié)點(diǎn)接收到路徑更新消息的上一跳與本節(jié)點(diǎn)在原有路徑上的上一跳不一致時,建立新的LSP,從而實(shí)現(xiàn)了路徑局部優(yōu)化,降低了路徑優(yōu)化對不需要優(yōu)化的路徑的影響。
附圖說明
圖1是本發(fā)明實(shí)施例提供的一種路徑優(yōu)化方法的流程示意圖;
圖2是本發(fā)明實(shí)施例提供的一種具體應(yīng)用場景的架構(gòu)示意圖;
圖3是本發(fā)明實(shí)施例提供的一種路徑優(yōu)化裝置的結(jié)構(gòu)示意圖;
圖4是本發(fā)明實(shí)施例提供的另一種路徑優(yōu)化裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說明。
請參見圖1,為本發(fā)明實(shí)施例提供的一種路徑優(yōu)化方法的流程示意圖,如圖1所示,該路徑優(yōu)化方法可以包括以下步驟:
需要說明的是,步驟101~步驟103的執(zhí)行主體可以為MP-BGP VPN組網(wǎng)中的任一節(jié)點(diǎn),包括中間節(jié)點(diǎn)或尾節(jié)點(diǎn),為了便于描述,以下以步驟101~步驟103的執(zhí)行主體為中間節(jié)點(diǎn)為例進(jìn)行說明。
步驟101、接收路徑更新消息。
本發(fā)明實(shí)施例中,當(dāng)頭節(jié)點(diǎn)確定了需要進(jìn)行路由優(yōu)化,且確定了發(fā)起節(jié)點(diǎn)到受影響的尾節(jié)點(diǎn)的新路徑時,頭節(jié)點(diǎn)需要向下游節(jié)點(diǎn)發(fā)送路徑更新消息,以使下游節(jié)點(diǎn)在需要時進(jìn)行路徑更新。
本發(fā)明實(shí)施例中,路徑優(yōu)化的觸發(fā)條件可以包括但不限于:頭節(jié)點(diǎn)檢測到有尾節(jié)點(diǎn)需要加入或退出組網(wǎng);頭節(jié)點(diǎn)或中間節(jié)點(diǎn)檢測到下游路徑發(fā)生故障或發(fā)生FRR(Fast Reroute,快速重路由)切換;頭節(jié)點(diǎn)或中間節(jié)點(diǎn)檢測到網(wǎng)絡(luò)拓?fù)渥兓取?/p>
本發(fā)明實(shí)施例中,路徑優(yōu)化的發(fā)起節(jié)點(diǎn)可以包括頭節(jié)點(diǎn)或中間節(jié)點(diǎn)。
作為一種可選的實(shí)施方式,發(fā)起節(jié)點(diǎn)到受影響的尾節(jié)點(diǎn)的新路徑可以由頭節(jié)點(diǎn)自身計(jì)算確定,如頭節(jié)點(diǎn)在檢測到組網(wǎng)滿足路徑優(yōu)化的觸發(fā)條件時,計(jì)算到受影響的尾節(jié)點(diǎn)的新路徑。
其中,在該實(shí)施方式中,發(fā)起節(jié)點(diǎn)為頭節(jié)點(diǎn)。
作為另一種可選的實(shí)施方式,發(fā)起節(jié)點(diǎn)到受影響的尾節(jié)點(diǎn)的新路徑可以由中間節(jié)點(diǎn)計(jì)算確定,如某中間節(jié)點(diǎn)檢測到組網(wǎng)滿足路徑優(yōu)化的觸發(fā)條件時,該中間節(jié)點(diǎn)計(jì)算到受影響的尾節(jié)點(diǎn)的新路徑;或者,頭節(jié)點(diǎn)檢測到組網(wǎng)滿足路徑優(yōu)化的觸發(fā)條件時,頭節(jié)點(diǎn)可以指定特定的中間節(jié)點(diǎn)計(jì)算到受影響的尾節(jié)點(diǎn)的新路徑,例如,當(dāng)頭節(jié)點(diǎn)檢測到下游路徑發(fā)生故障時,頭節(jié)點(diǎn)可以指定發(fā)生故障的路徑中的從頭節(jié)點(diǎn)向下的方向中第一個與故障路徑直接相關(guān)的中間節(jié)點(diǎn)計(jì)算該中間節(jié)點(diǎn)到受影響的尾節(jié)點(diǎn)的新路徑。
其中,在該實(shí)施方式中,發(fā)起節(jié)點(diǎn)為中間節(jié)點(diǎn);中間節(jié)點(diǎn)計(jì)算出到受影響的尾節(jié)點(diǎn)的新路徑之后,可以將該新路徑傳遞給頭節(jié)點(diǎn),由頭節(jié)點(diǎn)確定是否進(jìn)行路徑優(yōu)化,例如,頭節(jié)點(diǎn)可以判斷該新路徑是否與正在進(jìn)行的其它路徑優(yōu)化存在沖突等,若存在沖突,則不允許路徑優(yōu)化,否則,允許路徑優(yōu)化。
作為又一種可選的實(shí)施方式,發(fā)起節(jié)點(diǎn)到受影響的尾節(jié)點(diǎn)的新路徑可以由PCEP控制器計(jì)算,如頭節(jié)點(diǎn)檢測到組網(wǎng)滿足路徑優(yōu)化的觸發(fā)條件時,頭節(jié)點(diǎn)可以通過PCEP控制器計(jì)算到受影響的尾節(jié)點(diǎn)的新路徑。
其中,在該實(shí)施方式中,發(fā)起節(jié)點(diǎn)為頭節(jié)點(diǎn);PCEP控制器計(jì)算出發(fā)起節(jié)點(diǎn)到受影響的尾節(jié)點(diǎn)的新路徑之后,需要將計(jì)算出的新路徑傳遞給頭節(jié)點(diǎn)。
作為一種可選的實(shí)施方式,在本發(fā)明實(shí)施例中,路徑更新消息中攜帶有執(zhí)行路徑,該執(zhí)行路徑由頭節(jié)點(diǎn)或PCEP控制器通過以下方式生成:
11)、當(dāng)確定需要進(jìn)行路徑優(yōu)化,且確定了發(fā)起節(jié)點(diǎn)到受影響的尾節(jié)點(diǎn)的新路徑時,從原有路徑上裁剪掉第一目標(biāo)節(jié)點(diǎn)及其下游節(jié)點(diǎn)之間的路徑,并將該新路徑連接入裁剪后的原有路徑,生成臨時路徑;其中,該第一目標(biāo)節(jié)點(diǎn)包括原有路徑與新路徑的重合節(jié)點(diǎn)中除發(fā)起節(jié)點(diǎn)之外的其它節(jié)點(diǎn);
12)、對于不在臨時路徑上的尾節(jié)點(diǎn),確定原有路徑上到該尾節(jié)點(diǎn)的路徑與該臨時路徑的最后一個交叉節(jié)點(diǎn),并將該交叉節(jié)點(diǎn)到該尾節(jié)點(diǎn)的路徑接入臨時路徑,生成所述執(zhí)行路徑。
在該實(shí)施方式中,以頭節(jié)點(diǎn)生成執(zhí)行路徑為例,頭節(jié)點(diǎn)確定了發(fā)起節(jié)點(diǎn)到受影響的尾節(jié)點(diǎn)的新路徑,并確定允許進(jìn)行路徑優(yōu)化時,頭節(jié)點(diǎn)可以比較該新路徑以及原有路徑,判斷該新路徑以及原有路徑除發(fā)起節(jié)點(diǎn)之外,是否還存在其它重合節(jié)點(diǎn)(本文中稱為第一目標(biāo)節(jié)點(diǎn));若存在,頭節(jié)點(diǎn)可以從原有路徑上裁剪掉第一目標(biāo)節(jié)點(diǎn)及其下游節(jié)點(diǎn)的路徑,并將新路徑接入裁剪后的原有路徑。
其中,若新路徑與原有路徑除發(fā)起節(jié)點(diǎn)之外不存在其他重合節(jié)點(diǎn),則頭節(jié)點(diǎn)可以直接將該新路徑接入原有路徑。
在該實(shí)施方式中,頭節(jié)點(diǎn)生成臨時路徑之后,可以判斷是否存在不在該臨時路徑上的尾節(jié)點(diǎn)(在原有路徑上但不在該臨時路徑上的尾節(jié)點(diǎn));若存在,頭節(jié)點(diǎn)可以確定原有路徑上到該尾節(jié)點(diǎn)的路徑與該臨時路徑的最后一個交叉點(diǎn)(從頭節(jié)點(diǎn)到尾節(jié)點(diǎn)的方向上的最后一個),并將該交叉節(jié)點(diǎn)到該尾節(jié)點(diǎn)的路徑接入臨時路徑,從而生成執(zhí)行路徑。
可見,在本發(fā)明實(shí)施例中,執(zhí)行路徑即保證了受影響的尾節(jié)點(diǎn)的可達(dá),又能夠有效降低對其它尾節(jié)點(diǎn)的路徑的影響。
進(jìn)一步地,在本發(fā)明實(shí)施例中,考慮到通過上述步驟11)~步驟12)生成的執(zhí)行路徑中,若新路徑上存在在原有路徑上不是發(fā)起節(jié)點(diǎn)的下游節(jié)點(diǎn),但是原有路徑上其它節(jié)點(diǎn)的下游節(jié)點(diǎn)的節(jié)點(diǎn)(本文中稱為第二目標(biāo)節(jié)點(diǎn))時,執(zhí)行路徑會改變該第二目標(biāo)節(jié)點(diǎn)的上游節(jié)點(diǎn),進(jìn)而可能會導(dǎo)致該第二目標(biāo)節(jié)點(diǎn)到頭節(jié)點(diǎn)的跳數(shù)增加,影響后續(xù)流量轉(zhuǎn)發(fā)效率。
因而,作為一種可選的實(shí)施方式,上述步驟11)中,頭節(jié)點(diǎn)或PCEP控制器生成執(zhí)行路徑之后,還可以包括:
當(dāng)執(zhí)行路徑上存在在原有路徑上不是發(fā)起節(jié)點(diǎn)的下游節(jié)點(diǎn),但是原有路徑上其它節(jié)點(diǎn)的下游節(jié)點(diǎn)的第二目標(biāo)節(jié)點(diǎn)時,比較執(zhí)行路徑上頭節(jié)點(diǎn)下游的第一個第二目標(biāo)節(jié)點(diǎn)在原有路徑上到頭節(jié)點(diǎn)的第一鏈路開銷與在臨時路徑上到頭節(jié)點(diǎn)的第二鏈路開銷;
若第一鏈路開銷大于第二鏈路開銷,則將臨時路徑上第一個第二目標(biāo)節(jié)點(diǎn)的相鄰上游節(jié)點(diǎn)確定為發(fā)起節(jié)點(diǎn);
若第一鏈路開銷小于等于第二鏈路開銷,則將臨時路徑上第一個第二目標(biāo)節(jié)點(diǎn)的相鄰上游節(jié)點(diǎn)修改為原相鄰上游節(jié)點(diǎn),并裁剪掉臨時路徑上第一個第二目標(biāo)節(jié)點(diǎn)到發(fā)起節(jié)點(diǎn)的路徑。
在該實(shí)施方式中,鏈路開銷可以包括但不限于跳數(shù)、鏈路帶寬利用率等,為便于理解,以下以鏈路開銷為跳數(shù)為例進(jìn)行說明。
在該實(shí)施方式中,以頭節(jié)點(diǎn)生成執(zhí)行路徑為例,頭節(jié)點(diǎn)生成執(zhí)行路徑之后,可以判斷該執(zhí)行路徑上是否存在在原有路徑上不是該發(fā)起節(jié)點(diǎn)的下游節(jié)點(diǎn),但是原有路徑上其它節(jié)點(diǎn)的下游節(jié)點(diǎn)的第二目標(biāo)節(jié)點(diǎn);若存在,則頭節(jié)點(diǎn)生成執(zhí)行路徑之后,可以比較該執(zhí)行路徑上頭節(jié)點(diǎn)下游的第一個第二目標(biāo)節(jié)點(diǎn)在原有路徑上到頭節(jié)點(diǎn)的跳數(shù)(即為在原有路徑上頭節(jié)點(diǎn)到該第一個第二目標(biāo)節(jié)點(diǎn)的跳數(shù),本文中稱為第一跳數(shù))與在執(zhí)行路徑上到頭節(jié)點(diǎn)的跳數(shù)(即為在臨時路徑上頭節(jié)點(diǎn)到該第一個第二目標(biāo)節(jié)點(diǎn)的跳數(shù),本文中稱為第二跳數(shù))。
若第一跳數(shù)大于第二跳數(shù),即該第一個第二目標(biāo)節(jié)點(diǎn)在原有路徑上到頭節(jié)點(diǎn)的跳數(shù)大于在執(zhí)行路徑上到頭節(jié)點(diǎn)的跳數(shù),則頭節(jié)點(diǎn)可以將執(zhí)行路徑上該第一個第二目標(biāo)節(jié)點(diǎn)的相鄰上游節(jié)點(diǎn)確定為發(fā)起節(jié)點(diǎn);
若第一跳數(shù)小于等于第二跳數(shù),即第一個第二目標(biāo)節(jié)點(diǎn)在原有路徑上到頭節(jié)點(diǎn)的跳數(shù)小于等于在執(zhí)行路徑上到頭節(jié)點(diǎn)的跳數(shù),則頭節(jié)點(diǎn)可以將執(zhí)行路徑上第一個第二目標(biāo)節(jié)點(diǎn)的相鄰上游節(jié)點(diǎn)修改為原相鄰上游節(jié)點(diǎn),并裁剪掉執(zhí)行路徑上該第一個第二目標(biāo)節(jié)點(diǎn)到發(fā)起節(jié)點(diǎn)的路徑。
值得說明的是,在本發(fā)明實(shí)施例中,若頭節(jié)點(diǎn)通過PCEP控制器計(jì)算發(fā)起節(jié)點(diǎn)到受影響的尾節(jié)點(diǎn)的新路徑時,PCEP控制器可以直接生成執(zhí)行路徑,并將該執(zhí)行路徑傳遞給頭節(jié)點(diǎn)。其中,PECP控制器生成執(zhí)行路徑的具體實(shí)現(xiàn)可以參見上述頭節(jié)點(diǎn)生成執(zhí)行路徑的相關(guān)實(shí)現(xiàn),或通過其它策略實(shí)現(xiàn),本發(fā)明實(shí)施例對此不做限定。
步驟102、判斷本節(jié)點(diǎn)接收到路徑更新消息的上一跳與本節(jié)點(diǎn)在原有路徑中上一跳是否一致,并向下游節(jié)點(diǎn)轉(zhuǎn)發(fā)該路徑更新消息,直至路徑更新消息達(dá)到尾節(jié)點(diǎn)。若否,轉(zhuǎn)至步驟103;若是,結(jié)束當(dāng)前流程。
本發(fā)明實(shí)施例中,中間節(jié)點(diǎn)接收到路徑更新消息之后,一方面可以判斷接收到該路徑更新消息的上一跳與本節(jié)點(diǎn)在原有路徑中的上一跳是否一致;另一方面,中間節(jié)點(diǎn)需要將該路徑更新消息向下游節(jié)點(diǎn)轉(zhuǎn)發(fā)(若接收到路徑更新消息的節(jié)點(diǎn)為尾節(jié)點(diǎn),則僅需判斷接收到該路徑更新消息的上一跳與本節(jié)點(diǎn)在原有路徑上的上一跳是否一致,而不需要對路徑更新消息進(jìn)行轉(zhuǎn)發(fā))。
作為一種可選的實(shí)施方式,在本發(fā)明實(shí)施例中,上述判斷本節(jié)點(diǎn)接收到路徑更新消息的上一跳與本節(jié)點(diǎn)在原有路徑中的上一跳是否一致之前,還可以包括以下步驟:
21)、判斷路徑更新消息中是否攜帶有優(yōu)化標(biāo)識;
22)、若路徑更新消息中攜帶有優(yōu)化標(biāo)識,則確定執(zhí)行上述判斷本節(jié)點(diǎn)接收到路徑更新消息的上一跳與本節(jié)點(diǎn)在原有路徑中的上一跳是否一致的步驟。
在該實(shí)施方式中,頭節(jié)點(diǎn)向下游節(jié)點(diǎn)發(fā)送路徑更新消息時,可以在路徑更新消息中攜帶優(yōu)化標(biāo)識,該優(yōu)化標(biāo)識用于標(biāo)識該路徑更新消息為用于進(jìn)行路由優(yōu)化的消息。
相應(yīng)地,中間節(jié)點(diǎn)接收到路徑更新消息時,可以先判斷該路徑更新消息中是否攜帶有優(yōu)化標(biāo)識;若該路徑更新消息中攜帶有優(yōu)化標(biāo)識時,則該中間節(jié)點(diǎn)可以進(jìn)一步判斷接收到該路徑更新消息的上一跳與本節(jié)點(diǎn)在原有路徑中的上一跳是否一致。
本發(fā)明實(shí)施例中,上述優(yōu)化標(biāo)識可以為新增的標(biāo)識,也可以為對現(xiàn)有協(xié)議中的已有字段的擴(kuò)展。
作為一種可選的實(shí)施方式,在本發(fā)明實(shí)施例中,路徑更新消息可以由頭節(jié)點(diǎn)通過以下方式發(fā)送:
沿執(zhí)行路徑上頭節(jié)點(diǎn)到受影響的尾節(jié)點(diǎn)的方向向下游節(jié)點(diǎn)發(fā)送攜帶有路徑更新信息的Path消息,所述路徑更新信息包括Instance number,以使下游節(jié)點(diǎn)接收到Path消息,且確定該Instance number與自身記錄的Instance number不同時,記錄該Instance number,并判斷自身接收到該path消息的上一跳是否與該下游節(jié)點(diǎn)在原有路徑中的上一跳是否相同。
在該實(shí)施方式中,頭節(jié)點(diǎn)生成執(zhí)行路徑之后,可以確定執(zhí)行路徑中自身到受影響節(jié)點(diǎn)的路徑,并沿著該路徑向各下游節(jié)點(diǎn)發(fā)送攜帶有路徑更新信息的Path(路徑)消息。
下游節(jié)點(diǎn)接收到該攜帶有路徑更新信息的Path消息之后,若確定該path消息中攜帶的Instance number(實(shí)例號)與自身記錄的Instance number不同(Instance number的默認(rèn)值為0,初始化時各節(jié)點(diǎn)中記錄的Instance number為默認(rèn)值,路徑更新信息中包括的Instance number為非0值),則該下游節(jié)點(diǎn)可以判斷自身接收到該path消息的上一跳與自身在原有路徑中的上一跳是否相同,以確定是否需要進(jìn)行路徑優(yōu)化;若不同,則該下游節(jié)點(diǎn)確定需要進(jìn)行路徑優(yōu)化。
步驟103、建立新的LSP。
本發(fā)明實(shí)施例中,當(dāng)中間節(jié)點(diǎn)接收到路徑更新消息,且確定本節(jié)點(diǎn)接收到該路徑更新消息的上一跳與本節(jié)點(diǎn)在原有路徑中的上一跳不一致時,該中間節(jié)點(diǎn)需要重新建立LSP,即建立本節(jié)點(diǎn)與本節(jié)點(diǎn)接收到該路徑更新消息的上一跳節(jié)點(diǎn)之間的LSP。
例如,假設(shè)節(jié)點(diǎn)A在原有路徑中的上一跳節(jié)點(diǎn)為節(jié)點(diǎn)B,而節(jié)點(diǎn)A接收到路徑更新消息的上一跳節(jié)點(diǎn)為節(jié)點(diǎn)C,則節(jié)點(diǎn)A需要建立本節(jié)點(diǎn)與節(jié)點(diǎn)C之間的LSP。
作為一種可選的實(shí)施方式,在本發(fā)明實(shí)施例中,當(dāng)上述路徑更新消息為攜帶有路徑更新信息的path消息時,若中間節(jié)點(diǎn)確定該path消息中攜帶的Instance numbe與自身記錄的Instance number不同,且接收到該path消息的上一跳與自身在原有路徑中的上一跳不同時,則該中間節(jié)點(diǎn)需要申請新的標(biāo)簽,并將該path消息發(fā)送給自身的下游節(jié)點(diǎn),直至該path消息達(dá)到尾節(jié)點(diǎn)。
尾節(jié)點(diǎn)接收到路徑更新消息之后,除了需要按照上述流程進(jìn)行相關(guān)處理之外,還需要向上游節(jié)點(diǎn)發(fā)送Resv(預(yù)留)消息,該Resv消息中需要攜帶Instance number;當(dāng)尾節(jié)點(diǎn)的上游節(jié)點(diǎn)接收到該Resv消息時,可以判斷自身是否為該Instance number申請了新的標(biāo)簽,若申請了,則需要根據(jù)該新的標(biāo)簽建立新的LSP,并向上游節(jié)點(diǎn)發(fā)送Resv消息,直至Resv消息到達(dá)頭節(jié)點(diǎn)。
值得說明的是,在本發(fā)明實(shí)施例中,頭節(jié)點(diǎn)到受影響的尾節(jié)點(diǎn)的路徑中的中間節(jié)點(diǎn)也可以在上一跳或/和下一跳與原有路徑中的上一跳或/和下一跳存在不同時,確定需要申請新的標(biāo)簽;而在上一跳和下一跳與原有路徑中的上一跳和下一跳均相同時,確定不需要申請新的標(biāo)簽,其具體實(shí)現(xiàn)在此不做贅述。
可選地,在本發(fā)明實(shí)施例中,路徑更新信息可以攜帶在Path消息的ERO(Explicit Route Object,顯示路由對象)或SERO(Secondary ERO,第二個ERO)中。
相應(yīng)地,頭節(jié)點(diǎn)到受影響的尾節(jié)點(diǎn)的路徑上的各節(jié)點(diǎn)根據(jù)路徑更新信息完成路徑更新,并成功建立新路徑隧道之后,可以通過Resv消息將新路徑隧道建立信息通知給頭節(jié)點(diǎn);其中,該新路徑隧道建立信息可以包括在Resv消息的RRO(Record Route Object,記錄路由對象)或SRRO(Secondary RRO,第二個RRO)中。
可選地,在本發(fā)明實(shí)施例中,路徑更新信息中還可以包括下一跳信息,以及標(biāo)志位。
其中,該下一跳信息可以包括下一跳類型、下一跳地址以及下一跳掩碼等;一個Path消息中可以包括0~N個下一跳,N≥1。
該標(biāo)志位可以包括多種類型,如:修改,該標(biāo)志位用于指示接收到該P(yáng)ath消息的節(jié)點(diǎn)按照路徑更新信息進(jìn)行路徑更新;保持,當(dāng)該標(biāo)志位置位時,用于指示接收到該P(yáng)ath消息的節(jié)點(diǎn)保持原有LSP,當(dāng)該標(biāo)志位不置位時,用于指示接收到該P(yáng)ath消息的節(jié)點(diǎn)拆除原有LSP;剪枝,該標(biāo)志位用于指示接收到該P(yáng)ath消息的節(jié)點(diǎn)將對應(yīng)的目的地址從LSP上剪掉或者新LSP不再到此目的地址;委托計(jì)算,該標(biāo)志位用于指示受影響的尾節(jié)點(diǎn)為新增尾節(jié)點(diǎn),需要指定節(jié)點(diǎn)為該受影響的尾節(jié)點(diǎn)計(jì)算新路徑;等待重試,該標(biāo)識位用于指示發(fā)起節(jié)點(diǎn)不允許進(jìn)行路徑優(yōu)化,可以等待一段時間后重試;恢復(fù),該標(biāo)志位用于指示后續(xù)path消息中將不攜帶Instance number。
進(jìn)一步地,在本發(fā)明實(shí)施例中,上述建立新的LSP之后,還可以包括:
當(dāng)接收到頭節(jié)點(diǎn)發(fā)送的流量切換指令時,將流量從原有LSP切換到新的LSP;或,
當(dāng)在新的LSP接收到業(yè)務(wù)流量時,將流量從原有LSP切換到新的LSP。
具體地,當(dāng)頭節(jié)點(diǎn)確定路徑更新完成時,頭節(jié)點(diǎn)可以判斷是否需要發(fā)起流量切換,若需要,則發(fā)起流量切換,以使受影響的節(jié)點(diǎn)接收到流量切換指令時將流量從原有LSP切換到新的LSP;或者,頭節(jié)點(diǎn)也可以直接進(jìn)行流量切換,通過新的LSP轉(zhuǎn)發(fā)業(yè)務(wù)流量,以使受影響的節(jié)點(diǎn)在新的LSP接收到業(yè)務(wù)流量時,將流量從原有LSP切換到新的LSP。
值得說明的是,在本發(fā)明實(shí)施例中,當(dāng)中間節(jié)點(diǎn)建立新的LSP之后,若可以自動完成流量從原有LSP到新的LSP的切換,則該中間節(jié)點(diǎn)可以直接將流量從原有LSP切換到新的LSP,并當(dāng)在新的LSP接收到業(yè)務(wù)流量時,關(guān)閉原有LSP的流量接收。
進(jìn)一步地,在本發(fā)明實(shí)施例中,當(dāng)流量切換完成時,頭節(jié)點(diǎn)向受影響的節(jié)點(diǎn)發(fā)送路徑刪除消息,如Path tear(拆除)消息,以使受影響的節(jié)點(diǎn)接收到路徑刪除消息時,根據(jù)該路徑刪除消息中攜帶的Instance number找到關(guān)聯(lián)的標(biāo)簽以及LSP,若該LSP未被其它Instance number占用,則拆除該LSP;否則,保留該LSP,但刪除該Instance number與該LSP的關(guān)聯(lián)關(guān)系,并在該LSP關(guān)聯(lián)的最后一個Instance number需要拆除時,拆除該LSP。
相應(yīng)地,完成上述路徑拆除后,中間節(jié)點(diǎn)及尾節(jié)點(diǎn)只記錄一個Instance number(路徑上無變化的節(jié)點(diǎn)記錄是默認(rèn)值(如0),新路徑上記錄的對應(yīng)Instance number),頭節(jié)點(diǎn)可以向受影響的下游節(jié)點(diǎn)發(fā)送路徑恢復(fù)消息(如攜帶的標(biāo)志位為恢復(fù)的Path消息),以使受影響的節(jié)點(diǎn)接收到路徑恢復(fù)消息時,若發(fā)現(xiàn)本地只有一個Instance number,則將該Instance number更新為默認(rèn)值(如0)。
為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明實(shí)施例提供的技術(shù)方案,下面結(jié)合具體的應(yīng)用場景對本發(fā)明實(shí)施例提供的技術(shù)方案進(jìn)行描述。
請參見圖2,為本發(fā)明實(shí)施例提供的一種具體應(yīng)用場景的架構(gòu)示意圖,如圖2所示,該應(yīng)用場景可以包括:設(shè)備R1~R9以及ABR(area border router,區(qū)域邊界路由器)1和ABR2,其中,R1、R4、R7和R8為PE設(shè)備,其余設(shè)備為CE設(shè)備;R8和R7與R1處于不同區(qū)域(不同AS(Autonomous System)域或路由區(qū)域);R1建立有到R4、R7和R8的P2MP隧道T1。
基于該應(yīng)用場景,下面分別以R4和R8鏈路故障為例對本發(fā)明實(shí)施例提供的路徑優(yōu)化方案進(jìn)行描述。
一、R1與R4之間鏈路故障
若R1與R4之間鏈路故障,頭節(jié)點(diǎn)R1(發(fā)起節(jié)點(diǎn)為頭節(jié)點(diǎn))重新計(jì)算到R4(受影響的尾節(jié)點(diǎn))的路徑,即“R1-R2-R3-R4”。
R1確定到R4的新路徑之后,可以判斷該新路徑與原有路徑除R1之外,是否還存在其它重合節(jié)點(diǎn),發(fā)現(xiàn)存在重合節(jié)點(diǎn)R2,則R1可以將原有路徑中R2及其下游節(jié)點(diǎn)之間的路徑裁剪掉(即裁剪掉R2到R7和R8的路徑),并將新路徑接入裁剪后的原有路徑,生成臨時路徑;由于新路徑中所有節(jié)點(diǎn)均是R1(發(fā)起節(jié)點(diǎn))的下游節(jié)點(diǎn),即不存在不是發(fā)起節(jié)點(diǎn)的下游節(jié)點(diǎn)的節(jié)點(diǎn)(第二目標(biāo)節(jié)點(diǎn))。
R1生成臨時路徑之后,由于尾節(jié)點(diǎn)R7和R8不在臨時路徑上,因此,R1可以分別確定原有路徑上到R7和R8的路徑與臨時路徑的最后一個交叉節(jié)點(diǎn)(均為R2),并將R2到尾節(jié)點(diǎn)R7和R8的路徑接入臨時路徑,生成執(zhí)行路徑。
R1生成執(zhí)行路徑之后,根據(jù)該執(zhí)行路徑,沿R1到受影響的尾節(jié)點(diǎn)R4的路徑(R1-R2-R3-R4)向各下游節(jié)點(diǎn)發(fā)送路徑更新信息,該路徑更新信息可以封裝在Path報文的SERO中,該路徑更新信息可以包括標(biāo)志位(包括修改和保持)、Instance number(假設(shè)為1,默認(rèn)值為0)以及下一跳信息(包括R2、R3和R4)。
R2接收到該P(yáng)ath消息后,發(fā)現(xiàn)該P(yáng)ath消息中攜帶的Instance number與自身記錄的Instance number不同(假設(shè)自身記錄的為默認(rèn)值0),則R2記錄該Instance number(即1),并判斷該P(yáng)ath消息的上一跳與原有路徑中上一跳是否相同,發(fā)現(xiàn)相同,不申請新的標(biāo)簽,并將Path消息轉(zhuǎn)發(fā)給R3;
R3接收到該P(yáng)ath消息后,發(fā)現(xiàn)該P(yáng)ath消息中攜帶的Instance number與自身記錄的Instance number不同,則R3記錄該Instance number,并判斷該P(yáng)ath消息的上一跳與原有路徑中上一跳是否相同,發(fā)現(xiàn)不同,申請新的標(biāo)簽,并將Path消息發(fā)送給R4;
R4接收到該P(yáng)ath消息后,發(fā)現(xiàn)該P(yáng)ath消息中攜帶的Instance number與自身記錄的Instance number不同,則R4記錄該Instance number,并判斷該P(yáng)ath消息的上一跳與原有路徑中上一跳是否相同,發(fā)現(xiàn)相同,則不申請新的標(biāo)簽,使用原有LSP。由于R4為尾節(jié)點(diǎn),則R4處理完路徑更新信息之后,需要向上游節(jié)點(diǎn)發(fā)送Resv消息(同時有新舊兩份Resv消息,新的Resv消息中攜帶Instance number 1)。
R3接收到新的Resv消息后,使用自身為該Instance number(即1)申請的標(biāo)簽生成新的LSP,關(guān)聯(lián)該Instance number與該新的LSP,并向上游節(jié)點(diǎn)發(fā)送該新的Resv消息;
R2接收到該新的Resv消息后,將新的下一跳合并入原有LSP(作為一個新的分支),并將該Instance number(即1)關(guān)聯(lián)到原有LSP,然后向上游節(jié)點(diǎn)發(fā)送Resv消息。由于R2新路徑和原有路徑的上游節(jié)點(diǎn)均為R1,因此,新舊Resv消息可以合在一個報文中發(fā)送;其中,新的信息攜帶在RRO或SRRO中。
R1接收到Resv消息后,認(rèn)為新路徑隧道建立成功。
流量方面,R2上新的分支建立后,可以自動向新的下游節(jié)點(diǎn)轉(zhuǎn)發(fā)流量;下游節(jié)點(diǎn)依據(jù)流量攜帶的標(biāo)簽轉(zhuǎn)發(fā);當(dāng)R3在新的LSP接收到業(yè)務(wù)流量時,后續(xù)的業(yè)務(wù)流量都用新的LSP來傳輸,并關(guān)閉原有LSP的流量接收,從而實(shí)現(xiàn)流量從原路徑(R1-R3-R4)切換到新的路徑(R1-R2-R3-R4)。
待流量穩(wěn)定后,R1可以發(fā)起原有路徑中的無效路徑的拆除,如R1可以發(fā)送攜帶有保持標(biāo)志位不置位的Path消息;R2接收到該P(yáng)ath消息后,向下發(fā)送攜帶Instance number 0的Path tear消息;下游節(jié)點(diǎn)接收到該P(yáng)ath tear消息后,查找該Instance number關(guān)聯(lián)的LSP,若該LSP未與其它Instance number關(guān)聯(lián),則拆除該LSP;否則,保持該LSP不拆除。
其中,建立了新的LSP的R3,Instance number 1關(guān)聯(lián)新的LSP,Instance number 0關(guān)聯(lián)了原有LSP,則R3接收到攜帶有Instance number 1的Path tear消息時,拆除原有LSP;未建立新的LSP的R4,Instance number 0和Instance number 1均關(guān)聯(lián)了原有LSP,因此,R4不拆除原有LSP。
當(dāng)無效路徑拆除完成后,R1可以發(fā)起Instance number恢復(fù)流程,在Path消息攜帶恢復(fù)標(biāo)志位,下游節(jié)點(diǎn)(R2、R3和R4)接收到該P(yáng)ath消息后,認(rèn)為后續(xù)使用正常的Path消息,即不攜帶本發(fā)明實(shí)施例新增內(nèi)容的Path消息。
二、ABR1發(fā)現(xiàn)下游鏈路故障
若ABR1發(fā)現(xiàn)下游鏈路故障,則ABR1可以發(fā)起路徑計(jì)算,計(jì)算自身到受影響的尾節(jié)點(diǎn)(R8)的新路徑,計(jì)算得出ABR1-R5-R6-R8;
ABR1向上游發(fā)送攜帶新路徑的請求報文;R1接收到該該請求報文后,判斷允許ABR1發(fā)起路徑優(yōu)化,進(jìn)行路徑整合流程。
R1判斷原有路徑與新路徑除發(fā)起節(jié)點(diǎn)(ABR1)之外還存在重合節(jié)點(diǎn)R5和R6,則R1將原有路徑中R5和R6及其下游節(jié)點(diǎn)之間的路徑裁剪掉,并將新路徑接入原路徑,形成臨時路徑;由于R5在原有路徑中不是ABR1的下游節(jié)點(diǎn),但是ABR2的下游節(jié)點(diǎn),因此,R1需要比較R5在臨時路徑中到R1的跳數(shù)和在原有路徑中到R1的跳數(shù),發(fā)現(xiàn)R5在臨時路徑中到R1的跳數(shù)(3跳)等于在原有路徑到R1的跳數(shù)(3跳),則R1將R5的相鄰上游節(jié)點(diǎn)修改為ABR2。
此外,對于不在臨時路徑上的尾節(jié)點(diǎn)R7,其原有路徑上到該尾節(jié)點(diǎn)的路徑與臨時路徑的最后一個交叉節(jié)點(diǎn)為R5,則按原路徑從R5接入;由于在最新的臨時路徑中,ABR1無法達(dá)到尾節(jié)點(diǎn),因此,R1可以裁剪掉從R2到ABR1的路徑,從而生成執(zhí)行路徑。
R1根據(jù)執(zhí)行路徑,向R1到受影響的尾節(jié)點(diǎn)(R8)的路徑向各下游節(jié)點(diǎn)發(fā)送路徑更新信息,該路徑更新信息可以封裝在Path報文的SERO中,該路徑更新信息可以包括標(biāo)志位(包括修改和保持)、Instance number(假設(shè)為2,默認(rèn)值為0)以及下一跳信息(包括R2、ABR2、R5、R6和R8)。
R2接收到Path消息后,發(fā)現(xiàn)該P(yáng)ath消息中攜帶的Instance number與自身記錄的Instance number不同,則記錄該Instance number,并判斷該P(yáng)ath消息的上一跳與原有路徑中上一跳是否相同,發(fā)現(xiàn)相同,不申請新的標(biāo)簽,并將Path消息轉(zhuǎn)發(fā)給ABR2;
ABR2接收到該P(yáng)ath消息后,發(fā)現(xiàn)該P(yáng)ath消息中攜帶的Instance number與自身記錄的Instance number不同,則記錄該Instance number,并判斷該P(yáng)ath消息的上一跳與原有路徑中上一跳是否相同,發(fā)現(xiàn)相同,不申請新的標(biāo)簽,并將Path消息轉(zhuǎn)發(fā)給R5;
R5接收到該P(yáng)ath消息后,發(fā)現(xiàn)該P(yáng)ath消息中攜帶的Instance number與自身記錄的Instance number不同,則記錄該Instance number,并判斷該P(yáng)ath消息的上一跳與原有路徑中上一跳是否相同,發(fā)現(xiàn)相同,不申請新的標(biāo)簽,并將Path消息轉(zhuǎn)發(fā)給R6;
R6接收到該P(yáng)ath消息后,發(fā)現(xiàn)該P(yáng)ath消息中攜帶的Instance number與自身記錄的Instance number不同,則記錄該Instance number,并判斷該P(yáng)ath消息的上一跳與原有路徑中上一跳是否相同,發(fā)現(xiàn)不同,申請新的標(biāo)簽,并將Path消息發(fā)送給R8;
R8接收到該P(yáng)ath消息后,發(fā)現(xiàn)該P(yáng)ath消息中攜帶的Instance number與自身記錄的Instance number不同,則記錄該Instance number,并判斷該P(yáng)ath消息的上一跳與原有路徑中上一跳是否相同,發(fā)現(xiàn)相同,則不申請新的標(biāo)簽,使用原有LSP。由于R8為尾節(jié)點(diǎn),則R8處理完路徑更新信息之后,需要向上游節(jié)點(diǎn)發(fā)送Resv消息(同時有新舊兩份Resv消息,新的Resv消息中攜帶Instance number 2)。
R6接收到新的Resv消息后,使用自身為該Instance number(即2)申請的標(biāo)簽生成新的LSP,關(guān)聯(lián)該Instance number與該新的LSP,并向上游節(jié)點(diǎn)發(fā)送該新的Resv消息;
R5接收到該新的Resv消息后,將新的下一跳合并入原有LSP(作為一個新的分支),并將該Instance number(即2)關(guān)聯(lián)到原有LSP,然后向上游節(jié)點(diǎn)發(fā)送Resv消息。由于R5新路徑和原有路徑的上游節(jié)點(diǎn)均為ABR2,因此,新舊Resv消息可以合在一個報文中發(fā)送;其中,新的信息攜帶在RRO或SRRO中;
ABR2和R2接收到Resv消息后,將該Instance number(即2)關(guān)聯(lián)到原有LSP,然后向上游節(jié)點(diǎn)發(fā)送Resv消息;
R1接收到Resv消息后,認(rèn)為新路徑隧道建立成功。
其中,流量切換及無效路徑拆除的處理方式可以參見上述實(shí)例中的相關(guān)描述,本發(fā)明實(shí)施例在此不再贅述。
通過以上描述可以看出,在本發(fā)明實(shí)施例提供的技術(shù)方案中,當(dāng)接收到路徑更新消息時,通過判斷本節(jié)點(diǎn)接收到該路徑更新消息的上一跳與本節(jié)點(diǎn)在原有路徑中的上一跳是否一致,并向下游節(jié)點(diǎn)轉(zhuǎn)發(fā)路徑更新消息,直至該路徑更新消息達(dá)到尾節(jié)點(diǎn),進(jìn)而,當(dāng)本節(jié)點(diǎn)接收到路徑更新消息的上一跳與本節(jié)點(diǎn)在原有路徑上的上一跳不一致時,建立新的LSP,從而實(shí)現(xiàn)了路徑局部優(yōu)化,降低了路徑優(yōu)化對不需要優(yōu)化的路徑的影響。
請參見圖3,為本發(fā)明實(shí)施例提供的一種路徑優(yōu)化裝置的結(jié)構(gòu)示意圖,其中,所述路徑優(yōu)化裝置可以應(yīng)用于上述方法實(shí)施例中的中間節(jié)點(diǎn)或尾節(jié)點(diǎn),如圖3所示,該路徑優(yōu)化裝置可以包括
接收單元310,用于接收路徑更新消息;
判斷單元320,用于判斷本節(jié)點(diǎn)接收到所述路徑更新消息的上一跳與本節(jié)點(diǎn)在原有路徑中的上一跳是否一致;
發(fā)送單元330,用于向下游節(jié)點(diǎn)轉(zhuǎn)發(fā)所述路徑更新消息,直至所述路徑更新消息到達(dá)尾節(jié)點(diǎn);
建立單元340,用于當(dāng)所述判斷單元判斷結(jié)果為否時,建立新的LSP。
在可選實(shí)施例中,所述路徑更新消息中攜帶有執(zhí)行路徑,所述執(zhí)行路徑由頭節(jié)點(diǎn)或路徑計(jì)算單元通信協(xié)議PCEP控制器通過以下方式生成:
當(dāng)確定需要進(jìn)行路徑優(yōu)化,且確定了發(fā)起節(jié)點(diǎn)到受影響的尾節(jié)點(diǎn)的新路徑時,從原有路徑上裁剪掉第一目標(biāo)節(jié)點(diǎn)及其下游節(jié)點(diǎn)之間的路徑,并將所述新路徑連接入裁剪后的原有路徑,生成臨時路徑;其中,所述第一目標(biāo)節(jié)點(diǎn)包括所述原有路徑與所述新路徑的重合節(jié)點(diǎn)中除發(fā)起節(jié)點(diǎn)之外的其它節(jié)點(diǎn);
對于不在所述臨時路徑上的尾節(jié)點(diǎn),確定所述原有路徑上到該尾節(jié)點(diǎn)的路徑與所述臨時路徑的最后一個交叉節(jié)點(diǎn),并將該交叉節(jié)點(diǎn)到該尾節(jié)點(diǎn)的路徑接入所述臨時路徑,生成所述執(zhí)行路徑。
在可選實(shí)施例中,所述頭節(jié)點(diǎn)或PCEP控制器生成執(zhí)行路徑之后,還執(zhí)行如下操作:
當(dāng)所述執(zhí)行路徑上存在在所述原有路徑上不是發(fā)起節(jié)點(diǎn)的下游節(jié)點(diǎn),但是所述原有路徑上其它節(jié)點(diǎn)的下游節(jié)點(diǎn)的第二目標(biāo)節(jié)點(diǎn)時,比較所述執(zhí)行路徑上頭節(jié)點(diǎn)下游的第一個所述第二目標(biāo)節(jié)點(diǎn)在所述原有路徑上到頭節(jié)點(diǎn)的第一鏈路開銷與在所述執(zhí)行路徑上到頭節(jié)點(diǎn)的第二鏈路開銷;
若所述第一鏈路開銷大于所述第二鏈路開銷,則將所述執(zhí)行路徑上所述第一個所述第二目標(biāo)節(jié)點(diǎn)的相鄰上游節(jié)點(diǎn)確定為所述發(fā)起節(jié)點(diǎn);
若所述第一鏈路開銷小于等于所述第二鏈路開銷,則將所述執(zhí)行路徑上所述第一個所述第二目標(biāo)節(jié)點(diǎn)的相鄰上游節(jié)點(diǎn)修改為原相鄰上游節(jié)點(diǎn),并裁剪掉所述執(zhí)行路徑上所述第一個所述第二目標(biāo)節(jié)點(diǎn)到所述發(fā)起節(jié)點(diǎn)的路徑。
在可選實(shí)施例中,所述判斷單元320,還用于判斷所述路徑更新消息中是否攜帶有優(yōu)化標(biāo)識;
相應(yīng)地,所述判斷單元320,可以具體用于若所述路徑更新消息中攜帶有優(yōu)化標(biāo)識,則判斷本節(jié)點(diǎn)接收到所述路徑更新消息的上一跳與本節(jié)點(diǎn)在原有路徑中的上一跳是否一致。
請一并參見圖4,為本發(fā)明實(shí)施例提供的另一種路徑優(yōu)化裝置的結(jié)構(gòu)示意圖,如圖4所示,在圖3所示路徑優(yōu)化裝置的基礎(chǔ)上,圖4所示的路徑優(yōu)化裝置還可以包括:
切換單元350,用于當(dāng)接收到頭節(jié)點(diǎn)發(fā)送的流量切換指令時,將流量從原有LSP切換到新的LSP;或,當(dāng)在新的LSP接收到業(yè)務(wù)流量時,將流量從原有LSP切換到新的LSP。
上述裝置中各個單元的功能和作用的實(shí)現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實(shí)現(xiàn)過程,在此不再贅述。
對于裝置實(shí)施例而言,由于其基本對應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本發(fā)明方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實(shí)施。
由上述實(shí)施例可見,當(dāng)接收到路徑更新消息時,通過判斷本節(jié)點(diǎn)接收到該路徑更新消息的上一跳與本節(jié)點(diǎn)在原有路徑中的上一跳是否一致,并向下游節(jié)點(diǎn)轉(zhuǎn)發(fā)路徑更新消息,直至該路徑更新消息達(dá)到尾節(jié)點(diǎn),進(jìn)而,當(dāng)本節(jié)點(diǎn)接收到路徑更新消息的上一跳與本節(jié)點(diǎn)在原有路徑上的上一跳不一致時,建立新的LSP,從而實(shí)現(xiàn)了路徑局部優(yōu)化,降低了路徑優(yōu)化對不需要優(yōu)化的路徑的影響。
本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。