專利名稱:用于快速重路由綁定的路由信息更新方法、節(jié)點及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種用于快速重路由綁定的路由信息更新方法、 節(jié)點及系統(tǒng)。
背景技術(shù):
隨著 MPLS-TE (Multi-Protocol Label Switching-Traffic Engineering,多協(xié)議 標簽交換流量工程)在現(xiàn)在網(wǎng)絡(luò)中的廣泛應(yīng)用,對MPLS-TE轉(zhuǎn)發(fā)的要求也越來越高。因此, MPLS-TE轉(zhuǎn)發(fā)需要適當?shù)谋Wo,而TE FRR(Traffic Engineering !^astReroute,流量工程快 速重路由)是一種在轉(zhuǎn)發(fā)路徑或經(jīng)過節(jié)點故障時能夠有效保證用戶流量不會丟失的保護 方式。TE FRR通過預(yù)先建立一條Bypass Tunnel (旁路隧道),并與Main Tunnel (主路 隧道)進行綁定來實現(xiàn)對Main Tunnel的保護。當Main Tunnel經(jīng)過的路徑或節(jié)點出現(xiàn)故 障時,Main Tunnel可以通過Bypass Tunnel轉(zhuǎn)發(fā)流量,達到保證用戶流量不丟失的目的。 但上述保護方式中,要求Main Tunnel中必須具有記錄路由和標簽的功能。該功能使得在 RSVP (Resource Reservation Protocol, ^ ! ^ ) fflE^id^T Main Tunnel ^ji 的真實且具體的路徑信息,以及處于被保護中時經(jīng)過Bypass Tunnel轉(zhuǎn)發(fā)的原Main Tunnel 上的標簽報文的內(nèi)層標簽。其中該路徑信息在計算FRR(Fast Reroute,快速重路由)綁定 時,用于確定是否有合適的Bypass Tunnel可供與Main Tunnel進行綁定,Main Tunnel獲 取不到這個標簽,便無法在Bypass Tunnel的首節(jié)點PLR(Point of Local R印air,本地修 復節(jié)點)處完成綁定。RSVP消息中的PATH (路徑)消息和RESV (Reservation,預(yù)留)消息所攜帶的 RRO (Record Route 0b ject,記錄路由對象),具有記錄路由和標簽的功能。該RRO對象是可 變長的,LSP每經(jīng)過一個節(jié)點,就在該RRO對象中加入其經(jīng)過節(jié)點的入接口地址、出接口地 址以及LSR-ID(Label Switch Router-Identification,標簽交換路由器標識)等路徑信 息。因此,當LSP經(jīng)過的節(jié)點越多,該RRO對象的長度就越長,當該RRO對象達到一定長度并 導致攜帶PATH消息或RESV消息的IP報文的總長度超過出接口的MTU (Maximum Transfer Unit,最大傳輸單元)時,需要對該RRO對象進行一定的處理,才能保證攜帶PATH消息繼 續(xù)向下游發(fā)送或RESV消息繼續(xù)向上游發(fā)送。目前,當I^ath消息中的RRO對象過長時,則 將PATH消息中攜帶的整個RRO對象刪除,并將PathErr消息發(fā)送給TE隧道的入口節(jié)點 (Ingress)。TE隧道的入口節(jié)點收到PathErr消息后,發(fā)送PATH消息時,刪除PATH消息中 攜帶的RRO對象。當Egress節(jié)點接收到?jīng)]有攜帶RRO對象的PATH消息時,會生成不攜帶 RRO對象的RESV消息,并將不攜帶RRO對象的RESV消息向上游傳輸。當RESV消息中的RRO 對象過長時,則將ResvErr消息發(fā)送給TE隧道的出口節(jié)點(Egress),TE隧道的出口節(jié)點收 到ResvErr消息后,發(fā)送RESV消息時,刪除RESV消息中攜帶的RRO對象。這樣一來,當PLR 節(jié)點為申請了 FRR綁定請求的Main Tunnel查找合適的Bypass Tunnel時,由于該PLR節(jié) 點找不到RESV消息中的RRO對象,所以該PLR節(jié)點不能通過FRR保護MainTurmel,因此當Main Tunnel通過的路徑或者節(jié)點出現(xiàn)問題時,無法提供有效的保護,從而導致流量中斷。
發(fā)明內(nèi)容
本發(fā)明的實施例提供一種用于快速重路由綁定的路由信息更新方法、節(jié)點及系 統(tǒng),在攜帶RRO對象的IP報文總長度大于節(jié)點出接口的MTU時,能夠?qū)崿F(xiàn)FRR綁定,可以有 效的保護流量不中斷。為達到上述目的,本發(fā)明的一個實施例提供一種用于快速重路由綁定的路由信息 更新方法,包括主路隧道中的節(jié)點在發(fā)送第一路徑PATH消息和第一預(yù)留RESV消息之前,判斷攜 帶所述第一 PATH消息或所述第一 RESV消息的IP報文總長度是否大于所述節(jié)點出接口的 最大傳輸單元MTU ;若所述攜帶第一 PATH消息的IP報文總長度大于所述節(jié)點出接口的MTU,則對 所述第一 PATH消息進行更新處理,得到第二 PATH消息,所述更新處理包括減少所述第一 PATH消息中攜帶的記錄路由對象RRO對象的子對象數(shù)量,使攜帶所述第二 PATH消息的IP 報文總長度小于或等于所述節(jié)點出接口的MTU,并將所述第二 PATH消息中攜帶的會話標志 SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真;將所述第二 PATH消息發(fā)送 出去;若所述攜帶第一 RESV消息的IP報文總長度大于所述節(jié)點出接口的MTU,則對所述 第一 RESV消息進行更新處理,得到第二 RESV消息,所述更新處理包括減少所述第一 RESV 消息中攜帶的RRO對象的子對象數(shù)量,使攜帶所述第二 RESV消息的IP報文總長度小于或 等于所述節(jié)點出接口的MTU,并將所述第二 RESV消息中攜帶的SESSION_ATTRIBUTE對象中 記錄路由和標簽的標志位設(shè)置為真;將所述第二 RESV消息發(fā)送出去。本發(fā)明的一個實施例提供一種轉(zhuǎn)發(fā)節(jié)點,包括判斷單元,用于在發(fā)送第一 PATH消息和第一 RESV消息之前,判斷攜帶所述第一 PATH消息或所述第一 RESV消息的IP報文總長度是否大于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU ;第一處理單元,用于在所述判斷單元判定所述攜帶第一 PATH消息的IP報文總長 度大于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU時,對所述第一 PATH消息進行更新處理,得到第二 PATH 消息,所述更新處理包括減少所述第一 PATH消息中攜帶的RRO對象的子對象數(shù)量,使攜帶 所述第二PATH消息的IP報文總長度小于或等于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU,并將所述第二 PATH消息中攜帶的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真;第一發(fā)送單元,用于將所述第二 PATH消息發(fā)送出去;第二處理單元,用于在所述判斷單元判定所述攜帶第一 RESV消息的IP報文總長 度大于所述節(jié)點出接口的MTU時,對所述第一 RESV消息進行更新處理,得到第二 RESV消 息,所述更新處理包括減少所述第一 RESV消息中攜帶的RRO對象的子對象數(shù)量,使攜帶所 述第二 RESV消息的IP報文總長度小于或等于所述節(jié)點出接口的MTU,并將所述第二 RESV 消息中攜帶的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真;第二發(fā)送單元,用于將所述第二 RESV消息發(fā)送出去。本發(fā)明的一個實施例提供一種本地修復節(jié)點,包括接收單元,用于接收RESV消息,所述RESV消息中攜帶更新后的RRO對象,所述更新后的RRO對象為減少一定數(shù)量的子對象后的RRO對象;解析單元,用于解析所述接收單元接收到的所述RESV消息,獲得所述更新后的 RRO對象;綁定單元,用于當確定本地有用于綁定的旁路隧道時,從所述更新后的RRO對象 中得到旁路隧道中尾節(jié)點向上游節(jié)點發(fā)送的標簽信息,并根據(jù)所述標簽信息實現(xiàn)快速重路 由綁定。本發(fā)明的一個實施例提供一種快速重路由綁定系統(tǒng),包括本地修復節(jié)點和位于所 述本地修復節(jié)點下游,并與所述本地修復節(jié)點相鄰的轉(zhuǎn)發(fā)節(jié)點;所述轉(zhuǎn)發(fā)節(jié)點,用于在發(fā)送第一 PATH消息和第一 RESV消息之前,判斷攜帶所述第 一 PATH消息或所述第一 RESV消息的IP報文總長度是否大于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU ; 若所述攜帶所述第一PATH消息的IP報文總長度大于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU,則對所述 第一 PATH消息進行更新處理,得到第二 PATH消息,所述更新處理包括減少所述第一 PATH 消息中攜帶的記錄路由對象RRO對象的子對象數(shù)量,使攜帶所述第二 PATH消息的IP報文 總長度小于或等于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU,并將所述第二 PATH消息中攜帶的會話標志 SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真;將所述第二 PATH消息發(fā)送 出去;若所述攜帶所述第一 RESV消息的IP報文總長度大于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU, 則對所述第一 RESV消息進行更新處理,得到第二 RESV消息,所述更新處理包括減少所述 第一 RESV消息中攜帶的RRO對象的子對象數(shù)量,使攜帶所述第二 RESV消息的IP報文總 長度小于或等于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU,并將所述第二 RESV消息中攜帶的SESSI0N_ ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真;將所述第二 RESV消息發(fā)送出去;所述本地修復節(jié)點用于,接收所述轉(zhuǎn)發(fā)節(jié)點發(fā)送的第二 RESV消息,所述第二 RESV 消息中攜帶更新后的RRO對象,所述更新后的RRO對象為減少一定數(shù)量的子對象后的RRO 對象;解析所述第二 RESV消息,獲得所述更新后的RRO對象;當確定本地有用于綁定的旁 路隧道時,從所述更新后的RRO對象中得到旁路隧道中尾節(jié)點向上游節(jié)點發(fā)送的標簽信 息,并根據(jù)所述標簽信息實現(xiàn)快速重路由綁定。本發(fā)明實施例提供技術(shù)方案,當PATH消息或RESV消息中的RRO對象超長,導致 攜帶PATH消息或RESV消息的IP報文的總長度大于節(jié)點出接口的MTU時,在發(fā)送該PATH 消息和該RESV消息之前,減少該PATH消息或該RESV消息中RRO對象的子對象數(shù)量,使攜 帶更新后的PATH消息或RESV消息的IP報文總長度小于或等于所述節(jié)點出接口的MTU,并 將SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真,使接收到所述更新后的 PATH消息或RESV消息的節(jié)點,將路徑信息和標簽信息添加到所述RRO對象中,與現(xiàn)有技術(shù) 中直接將超長的RRO對象整體刪除相比,本發(fā)明實施例在攜帶RRO對象的IP報文總長度大 于節(jié)點出接口的MTU時,將所述RRO對象中的一部分子對象刪除,因此本地修復節(jié)點仍可以 根據(jù)更新后的RRO對象中的信息,實現(xiàn)FRR的綁定,從而有效的保護流量不中斷。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例1中一種用于快速重路由綁定的路由信息更新方法流程圖;圖2為本發(fā)明實施例1中另一種用于快速重路由綁定的路由信息更新方法流程 圖;圖3為本發(fā)明實施例2中一種傳輸PATH消息的主路隧道組成示意圖;圖4為本發(fā)明實施例2中一種用于快速重路由綁定的路由信息更新方法流程圖;圖5為本發(fā)明實施例3中一種傳輸REVS消息的主路隧道和旁路隧道組成示意圖;圖6為本發(fā)明實施例3中一種用于快速重路由綁定的路由信息更新方法流程圖;圖7為本發(fā)明實施例4中一種轉(zhuǎn)發(fā)節(jié)點的組成框圖;圖8為本發(fā)明實施例4中另一種轉(zhuǎn)發(fā)節(jié)點的組成框圖;圖9為本發(fā)明實施例4中一種本地修復節(jié)點的組成框圖;圖10為本發(fā)明實施例4中另一種本地修復節(jié)點的組成框圖;圖11為本發(fā)明實施例4中一種快速重路由綁定系統(tǒng)的組成框圖;圖12為本發(fā)明實施例4中另一種快速重路由綁定系統(tǒng)的組成框圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護的范圍。實施例1本發(fā)明的實施例提供一種用于快速重路由綁定的路由信息更新方法,該方法為主 路隧道中的節(jié)點側(cè)的方法,如圖1所示,該方法包括101、主路隧道中的節(jié)點在發(fā)送第一 PATH消息和第一 RESV消息之前,判斷攜帶所 述第一 PATH消息或第一 RESV消息的IP報文總長度是否大于所述節(jié)點出接口的MTU。舉例來說,當所述IP報文攜帶的是PATH消息時,所述IP報文總長度為PATH消 息的總長度加上IP頭和三層報文頭部等信息的長度之和。又舉例來說,當所述IP報文攜 帶的是RESV消息時,所述IP報文總長度為RESV消息的總長度加上IP頭和三層報文頭部 等信息的長度之和。102、若所述攜帶所述第一PATH消息的IP報文總長度大于所述節(jié)點出接口的MTU, 則對所述第一 PATH消息進行更新處理,得到第二 PATH消息。所述對所述第一 PATH消息進行更新處理包括減少所述第一 PATH消息中攜帶的 RRO對象的子對象數(shù)量,使攜帶所述第二PATH消息的IP報文總長度小于或等于所述節(jié)點出 接口的MTU,并將所述第二 PATH消息中攜帶的SESSION_ATTRIBUTE對象中記錄路由和標簽 的標志位設(shè)置為真,以便接收到所述第二 RESV消息的節(jié)點,將路徑信息和標簽信息添加到 所述第二 PATH消息中攜帶的RRO對象中。舉例來說,所述路徑信息可以為PATH消息所經(jīng) 過節(jié)點的入接口地址、出接口地址以及LSR-ID等;所述標簽信息可以為下游節(jié)點為上游節(jié) 點分配的標簽。舉例來說,所述減少所述第一PATH消息中攜帶的RRO對象的子對象數(shù)量,包括按照所述子對象加入到所述第一 PATH消息中攜帶的RRO對象的先后順序,減少所述第一 PATH 消息中攜帶的RRO對象的子對象數(shù)量;其中,按照所述子對象加入到所述第一 PATH消息中 攜帶的RRO對象的先后順序,即哪個子對象先加入到所述第一 PATH消息中攜帶的RRO對 象中,哪個子對象先從所述第一 PATH消息中攜帶的RRO對象中刪除。其中,對于減少的所述 第一 PATH消息中攜帶的RRO對象的子對象數(shù)量,以減少子對象后,使攜帶所述第二 PATH消 息的IP報文總長度小于或等于所述節(jié)點出接口的MTU為準則。例如,減少所述第一PATH消 息中攜帶的RRO對象的子對象數(shù)量可以為1 (N-I)個中的任一數(shù)量,即可以保留(N-I) 1個中的任一數(shù)量。其中,N為在Main Tunnel上已傳輸所述PATH消息的節(jié)點數(shù)。103、將所述第二 PATH消息發(fā)送出去。104、若所述攜帶第一RESV消息的IP報文總長度大于所述節(jié)點出接口的MTU,則對 所述第一 RESV消息進行更新處理,得到第二 RESV消息。所述對所述第一 RESV消息進行更新處理包括減少所述第一 RESV消息中攜帶的 RRO對象的子對象數(shù)量,使攜帶所述第二RESV消息的IP報文總長度小于或等于所述節(jié)點出 接口的MTU,并將所述第二 RESV消息中攜帶的SESSION_ATTRIBUTE對象中記錄路由和標簽 的標志位設(shè)置為真,以便接收到所述第二 RESV消息的節(jié)點,將路徑信息和標簽信息添加到 所述第二 RESV消息中攜帶的RRO對象中。舉例來說,所述路徑信息可以為RESV消息所經(jīng) 過節(jié)點的入接口地址、出接口地址以及LSR-ID等;所述標簽信息可以為下游節(jié)點為上游節(jié) 點分配的標簽。舉例來說,在減少所述第一 RESV消息中攜帶的RRO對象的子對象數(shù)量時,由于 所述RESV消息中攜帶的RRO對象中的子對象信息需要用于FRR綁定,必須保證Bypass Tunnel的尾節(jié)點不能刪除,才能實現(xiàn)FRR綁定。因此,減少所述第一 RESV消息中攜帶的RRO 對象的子對象數(shù)量時,可以按照所述子對象加入到所述第一 RESV消息中攜帶的RRO對象的 先后順序,減少所述第一 RESV消息中攜帶的RRO對象的子對象數(shù)量,并保留需要綁定旁路 隧道的尾節(jié)點向上游節(jié)點發(fā)送的路由信息;其中,按照所述子對象加入道所述第一 RESV消 息中攜帶的RRO對象的先后順序,即哪個子對象先加入到所述第一 RESV消息中攜帶的RRO 對象中,哪個子對象先從所述第一 RESV消息中攜帶的RRO對象中刪除;其中,對于減少的所 述第一 RESV消息中攜帶的RRO對象的子對象數(shù)量,以減少子對象后,使攜帶所述第二 RESV 消息的IP報文總長度小于或等于所述節(jié)點出接口的MTU為準則。例如,當需要進行路徑綁 定的Bypass Tunnel的首節(jié)點和尾節(jié)點之間存在1個Main Tunnel的轉(zhuǎn)發(fā)節(jié)點時,其減少 的子對象數(shù)量可以為1 (N-2)個中的任一數(shù)量,即可以保留(N-I) 2個中的任一數(shù)量; 當需要進行路徑保護的Main Tunnel的首節(jié)點和尾節(jié)點之間存在M個(M為大于1的自然 數(shù))轉(zhuǎn)發(fā)節(jié)點時,其減少的子對象數(shù)量可以為1 (N-(M+1))個中的任一數(shù)量,即可以保留 (N-I) (M+1)中的任一數(shù)量。其中,N為在Main Tunnel上已傳輸所述RESV消息的節(jié)點 數(shù)。105、將所述第二 RESV消息發(fā)送出去。其中,Egress接收到上游發(fā)送的PATH消息后,生成對應(yīng)的RESV消息向上游發(fā)送。 Egress生成RESV消息時,會檢測其接收到的PATH消息中是否攜帶RRO對象,若其接收到 的PATH消息中攜帶RRO對象,則其在生成RESV消息時也攜帶RRO對象;若其接收到的PATH 消息中沒有攜帶RRO對象,則其在生成RESV消息時也不攜帶RRO對象。因此,為了本地修復節(jié)點在接收到所述下游發(fā)送的RESV消息后,可以根據(jù)該RESV消息中的RRO對象進行快 速重路由的綁定,所以需要主路隧道中的節(jié)點在發(fā)送PATH消息之前,判斷攜帶PATH消息的 IP報文總長度是否大于所述節(jié)點出接口的MTU,若是則進行上述101至103中的處理。本發(fā)明的實施例還提供一種用于快速重路由綁定的路由信息更新方法,該方法為 本地修復節(jié)點側(cè)的方法,如圖2所示,該方法包括201、主路隧道中的本地修復節(jié)點接收RESV消息,所述RESV消息中攜帶更新后的 RRO對象,所述更新后的RRO對象為減少一定數(shù)量的子對象后的RRO對象。202、解析所述接收到的RESV消息,獲得所述更新后的RRO對象。203、當確定本地有用于綁定的旁路隧道時,從所述更新后的RRO對象中得到旁路 隧道中尾節(jié)點向上游節(jié)點發(fā)送的標簽信息,并根據(jù)所述標簽信息實現(xiàn)快速重路由綁定。實施例2本發(fā)明實施例提供一種用于快速重路由綁定的路由信息更新方法,該方法以傳輸 PATH消息為例具體闡述該方法,如圖3,從Ingerss節(jié)點進入,經(jīng)過PLR節(jié)點、Transit-I節(jié) 點、MP節(jié)點以及MP節(jié)點后的Z個(Z為非負整數(shù))節(jié)點后,最后到達Egress節(jié)點離開,建 立一條主路隧道(Main Tunnel),其中PLR節(jié)點為與需要與該主路隧道進行綁定的旁路隧 道的首節(jié)點,Transit-I (轉(zhuǎn)發(fā))節(jié)點為該主路隧道的轉(zhuǎn)發(fā)節(jié)點,MP為該旁路隧道的尾節(jié)點。 本發(fā)明實施例以傳輸PATH消息,并且以MP節(jié)點處理所述PATH消息為例闡述該方法,該方 法具體如圖4所示,包括30UMP節(jié)點接收上游節(jié)點發(fā)送的PATH消息,該上游節(jié)點如圖3所示的Transit-I 節(jié)點,解析所述PATH消息,當所述PATH消息中攜帶的SESSION_ATTRIBUTE對象,并且所述 PATH消息中攜帶的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真時,將該 MP節(jié)點的路徑信息和標簽信息添加到所述PATH消息攜帶的RRO對象中,得到第一 PATH消
肩、ο舉例來說,PATH消息從所述hgress節(jié)點進入,經(jīng)過PLR、T ransit-Ι到達MP節(jié) 點,每個節(jié)點在接收到上游節(jié)點發(fā)送的PATH消息時,都進行將其自身的路徑信息和標簽信 息添加到所述接收到的PATH消息攜帶的RRO對象中,得到第一 PATH消息,以便記錄該主路 隧道上的每個節(jié)點的信息。舉例來說,所述路徑信息可以為傳輸PATH消息的過程中,經(jīng)過 節(jié)點的入接口地址、出接口地址以及LSR-ID等;所述標簽信息為下游節(jié)點為上游節(jié)點分配 的標簽。需要說明的是,當?shù)玫剿龅谝?PATH消息后,需要將所述第一 PATH消息發(fā)送給下 游節(jié)點。但是在發(fā)送所述第一 PATH消息時,由于將該節(jié)點的路徑信息和標簽信息作為RRO 對象的子對象添加在所述第一 PATH消息攜帶的RRO對象中,使得攜帶所述第一 PATH消息 的IP報文總長度有可能大于所述節(jié)點的出接口的MTU,使所述第一 PATH消息不能發(fā)送出 去,因此在將所述第一 PATH消息發(fā)送給下游節(jié)點之前,需要先判斷攜帶所述第一 PATH消息 的IP報文總長度是否大于所述MP節(jié)點出接口的MTU,因此在執(zhí)行完301后,需要執(zhí)行302。302、判斷攜帶所述第一 PATH消息的IP報文總長度是否大于所述MP節(jié)點出接口 的MTU,若所述攜帶所述第一 PATH消息的IP報文總長度大于所述MP節(jié)點出接口的MTU,則 執(zhí)行303 ;若攜帶所述第一的PATH消息的IP報文總長度小于或等于所述MP節(jié)點出接口的 MTU,則執(zhí)行305。
舉例來說,所述IP報文總長度為PATH消息的總長度加上IP頭和三層報文頭部 等信息的長度之和。303、對所述第一 PATH消息進行更新處理,得到第二 PATH消息,所述更新處理包括 減少所述第一 PATH消息中攜帶的RRO對象的子對象數(shù)量,使攜帶所述第二 PATH消息的IP 報文總長度小于或等于所述節(jié)點出接口的MTU,并將所述第二 PATH消息中攜帶的SESSI0N_ ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真,以便接收到所述第二 PATH消息的主 路隧道中的下游節(jié)點,將路徑信息和標簽信息添加到所述第二 PATH消息中攜帶的RRO對象 中。舉例來說,所述減少所述第一PATH消息中攜帶的RRO對象的子對象數(shù)量,包括按 照所述子對象加入到所述第一 PATH消息中攜帶的RRO對象的先后順序,減少所述第一 PATH 消息中攜帶的RRO對象的子對象數(shù)量;其中,按照所述子對象加入到所述第一 PATH消息中 攜帶的RRO對象的先后順序,即哪個子對象先加入到所述第一 PATH消息中攜帶的RRO對 象中,哪個子對象先從所述第一 PATH消息中攜帶的RRO對象中刪除。其中,對于減少的所 述第一 PATH消息中攜帶的RRO對象的子對象數(shù)量,以減少子對象后,使攜帶所述第二 PATH 消息的IP報文總長度小于或等于所述節(jié)點出接口的MTU為準則。該減少所述第一 PATH消 息中攜帶的RRO對的子對象數(shù)量可以為1 (N-I)個中的任一數(shù)量,即可以保留(N-I) 1個中的任一數(shù)量,本發(fā)明實施例對此不進行限制,其中N為在Main Tunnel上已傳輸所述 PATH消息的節(jié)點數(shù)。304、將所述更新后的第二 PATH消息發(fā)送出去,以便下游節(jié)點接收、處理所述更新 后的第二 PATH消息。其中,當下游節(jié)點接收到所述第二 PATH消息后,解析所述第二 PATH消息獲取,所 述PATH消息中攜帶的RRO對象和SESSION_ATTRIBUTE對象,當所述SESSION_ATTRIBUTE對 象中記錄路由和標簽的標志位設(shè)置為真時,所述下游節(jié)點將其自身的路徑信息和標簽信息 添加到所述RRO對象中,得到新生成的PATH消息,將所述SESSION_ATTRIBUTE對象中記錄 路由和標簽的標志位設(shè)置為真,并執(zhí)行302。305、將所述第一 PATH消息發(fā)送出去。本發(fā)明實施例中,在攜帶PATH消息的IP報文總長度大于節(jié)點出接口的MTU時,將 PATH消息中RRO對象中的一部分子對象刪除,能夠?qū)⑺龈潞蟮腜ATH消息發(fā)送出去。因 此,當Egress節(jié)點在接收到上游發(fā)送的攜帶RRO對象的PATH消息后,可以生成攜帶RRO對 象的RESV消息,以使得本地修復節(jié)點在接收到攜帶RRO對象的RESV消息后,可以根據(jù)RESV 攜帶的RRO對象信息,實現(xiàn)FRR的綁定,從而可以有效的保護用戶流量不中斷。本發(fā)明實施例中,能夠?qū)⑺龈潞蟮腜ATH消息發(fā)送出去,不需要將PATHErr消 息發(fā)送給hgress節(jié)點。因此,Ingress節(jié)點后續(xù)發(fā)送的PATH消息中包含RRO對象。實施例3本發(fā)明實施例提供一種用于快速重路由綁定的路由信息更新方法,該方法以傳輸 RESV消息為例具體闡述。如圖5所示,從hgerss節(jié)點進入,經(jīng)過PLR、Transit_l節(jié)點、MP 節(jié)點以及MP節(jié)點后的Z個(Z為非負整數(shù))節(jié)點后,最后到達Egress節(jié)點,建立一條主路隧 道(Main Tunenl),從PLR節(jié)點經(jīng)過Transit-2節(jié)點到MP節(jié)點建立一條旁路隧道(Bypass Timenl)),該主路隧道需要與旁路隧道綁定。當主路隧道的鏈路1 (Link-I)或Transit-I節(jié)點發(fā)生故障時,通過該旁路隧道轉(zhuǎn)發(fā)用戶流量,從而可以保護用戶的流量不中斷。其中, PLR為該旁路隧道的首節(jié)點,MP為該旁路隧道的尾節(jié)點。RESV消息從Egress節(jié)點傳輸?shù)?Ingress節(jié)點。本發(fā)明實施例以RESV消息從MP節(jié)點傳輸?shù)絇LR節(jié)點,并在PLR節(jié)點處實現(xiàn) 主路隧道和旁路隧道的綁定為例,具體闡述該方法。該方法如圖6所示,包括
40UMP節(jié)點接收下游節(jié)點發(fā)送的RESV消息,解析所述RESV消息,當所述RESV消 息中攜帶SESSION_ATTRIBUTE對象,并且所述RESV消息中攜帶的SESSION_ATTRIBUTE對象 中記錄路由和標簽的標志位設(shè)置為真時,將該MP節(jié)點的路徑信息和標簽信息添加到所述 RESV消息中攜帶的RRO對象中,形成第一 RESV消息。其中,Egress節(jié)點接收到上游節(jié)點發(fā)送的PATH消息后,生成了對應(yīng)的RESV消息, 并將所述RESV消息向上游節(jié)點發(fā)送,所述MP節(jié)點接收到下游節(jié)點發(fā)送的RESV消息,該 RESV消息中攜帶的RRO對象記錄所述RESV消息已經(jīng)過節(jié)點的路徑信息和標簽信息,舉例來 說,所述路徑信息包括其已經(jīng)過節(jié)點的出接口地址、入接口地址以及該節(jié)點的LSR-ID等。需要說明的是,當?shù)玫剿龅谝?RESV消息后,需要將所述第一 RESV消息發(fā)送給上 游節(jié)點,例如圖5所示的Transit-I節(jié)點,以便該Transit-I節(jié)點接收并處理該RESV消息。 但是在發(fā)送所述第一 RESV消息時,由于將該MP節(jié)點的路徑信息和標簽信息作為子對象添 加在所述第一 RESV消息攜帶的RRO對象中,使得攜帶所述第一 RESV消息的IP報文總長度 有可能大于所述節(jié)點的出接口的MTU,使所述第一 RESV消息不能發(fā)送出去,因此在將所述 第一 RESV消息發(fā)送給Transit-I節(jié)點之前,需要先判斷攜帶所述第一 RESV消息的IP報文 總長度是否大于所述MP節(jié)點出接口的MTU,因此在執(zhí)行完401后,需要執(zhí)行402。402、MP節(jié)點判斷攜帶所述第一 RESV消息的IP報文總長度是否大于所述MP節(jié)點 出接口的MTU,若所述攜帶所述第一 RESV消息的IP報文總長度大于所述MP節(jié)點出接口的 MTU,則執(zhí)行403 ;若所述攜帶所述第一 RESV消息的IP報文總長度小于或等于所述MP節(jié)點 出接口的MTU,則執(zhí)行414。舉例來說,所述IP報文總長度為RESV消息的總長度加上IP頭和三層報文頭部 等信息的長度之和。403、MP節(jié)點對所述第一 RESV消息進行更新處理,得到第二 RESV消息,所述更新處 理包括減少所述第一 RESV消息中攜帶的RRO對象的子對象數(shù)量,使攜帶所述第二 RESV消 息的IP報文總長度小于或等于所述MP節(jié)點出接口的MTU,并將所述第二 RESV消息中攜帶 的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真,使接收到所述第二 RESV 消息的節(jié)點,例如圖5中的Transit-I節(jié)點,將路徑信息和標簽信息添加到所述第二 RESV 消息中攜帶的RRO對象中。舉例來說,當減少所述第一 RESV消息中攜帶的RRO對象的子對象數(shù)量時,可以按 照所述子對象加入到所述第一 RESV消息中攜帶的RRO對象的先后順序,減少所述第一 RESV 消息中攜帶的RRO對象的子對象數(shù)量。其中,對于減少的所述第一 RESV消息中攜帶的RRO 對象的子對象數(shù)量,以減少子對象后,使攜帶所述第二 RESV消息的所述IP報文總長度小于 或等于所述節(jié)點出接口的MTU為準則。進一步,由于該RESV消息中攜帶的RRO對象中的子 對象信息需要用于FRR綁定,必須保證Bypass Tunnel的尾節(jié)點不能刪除,才能實現(xiàn)FRR綁 定。因此,在減少所述第一 RESV消息中攜帶的RRO對象的子對象數(shù)量時,可以按照所述子 對象加入到所述第一 RESV消息中攜帶的RRO對象的先后順序,減少所述第一 RESV消息中攜帶的RRO對象的子對象數(shù)量,并保留需要綁定旁路隧道的尾節(jié)點向上游節(jié)點發(fā)送的路由 信息;例如,當需要進行路徑保護的Main Tunnel的首節(jié)點和尾節(jié)點之間存在1個轉(zhuǎn)發(fā)節(jié)點 時,該減少的子對象數(shù)量可以為1 (N-2)個中的任一數(shù)量,即可以保留(N-I) 2個中的 任一數(shù)量;當需要進行路徑保護的Main Tunnel的首節(jié)點和尾節(jié)點之間存在M個(M為大于 1的自然數(shù))轉(zhuǎn)發(fā)節(jié)點時,其減少的子對象數(shù)量可以為1 (N-(M+1))個中的任一數(shù)量,即 可以保留N-I M+1中的任一數(shù)量。其中,N為在Main Tunnel上已傳輸所述RESV消息的 節(jié)點數(shù)。404、MP節(jié)點將所述第二 RESV消息發(fā)送給上游節(jié)點,例如圖5中的Transit-I節(jié) 點,以便Transit-I節(jié)點接收、處理所述更新后的RESV消息。405、Transit-I節(jié)點接收MP節(jié)點發(fā)送的所述第二 RESV消息,解析所述第二 RESV 消息,獲取所述第二 RESV消息中攜帶的RRO對象和SESSION_ATTRIBUTE對象,當所述 SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真時,所述Transit-I節(jié)點將 其自身的路徑信息和標簽信息添加到所述第二 RESV消息中攜帶的RRO對象中,得到第三 RESV消息,并執(zhí)行406。406,Transit-I節(jié)點判斷攜帶所述第三RESV消息的IP報文總長度是否大于所述 Transit-I節(jié)點出接口的MTU,若所述攜帶所述第三RESV消息的IP報文總長度大于所述 Transit-I節(jié)點出接口的MTU,則執(zhí)行407 ;若所述攜帶所述第三RESV消息的IP報文總長 度小于或等于所述Transit-I節(jié)點出接口的MTU,則執(zhí)行414。407,Transit-I節(jié)點對所述第三RESV消息進行更新處理,得到第四RESV消息,所 述更新處理包括減少所述第三RESV消息中攜帶的RRO對象的子對象數(shù)量,使攜帶所述第四 RESV消息的IP報文總長度小于或等于所述節(jié)點出接口的MTU,并將所述第四RESV消息中 攜帶的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真,以便接收到所述第 四RESV消息的上游節(jié)點,例如圖5中的PLR節(jié)點,將路徑信息和標簽信息添加到所述第四 RESV消息中攜帶的RRO對象中。其中,Transit-I節(jié)點減少所述第三RESV消息中攜帶的RRO對象的子對象數(shù)量的 方法可以參考403中的相應(yīng)描述,本發(fā)明實施例此處將不再贅述。408,Transit-I節(jié)點將所述第四RESV消息發(fā)送給上游節(jié)點,例如圖5中的PLR節(jié) 點,以便該PLR節(jié)點接收、處理所述第四RESV消息。409、PLR節(jié)點接收Transit-I節(jié)點發(fā)送的所述第四RESV消息,解析并獲取所述第 四RESV消息中攜帶的RRO對象和SESSION_ATTRIBUTE對象,當所述SESSION_ATTRIBUTE對 象中記錄路由和標簽的標志位設(shè)置為真時,所述PLR節(jié)點將其自身的路徑信息和標簽信息 添加到所述第四RESV消息中攜帶的RRO對象中,得到第五RESV消息,并執(zhí)行410。410、PLR節(jié)點判斷攜帶所述第五RESV消息的IP報文總長度是否大于所述PLR節(jié) 點出接口的MTU,若所述攜帶所述第五RESV消息的IP報文總長度大于所述節(jié)點出接口的 MTU,則執(zhí)行411 ;若所述攜帶所述第五RESV消息的IP報文總長度小于或等于所述節(jié)點出 接口的MTU,則執(zhí)行414。411、PLR節(jié)點對所述第五RESV消息進行更新處理,得到第六RESV消息,所述更新 處理包括減少所述第五RESV消息中攜帶的RRO對象的子對象數(shù)量,使攜帶所述第六RESV 消息的IP報文總長度小于或等于所述PLR節(jié)點出接口的MTU,并將所述第六RESV消息中攜帶的會話標志SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真,以便接收到 所述第六RESV消息的主路隧道中的上游節(jié)點,例如圖5中的hgress節(jié)點,將路徑信息和 標簽信息添加到所述第六RESV消息中攜帶的RRO對象中。其中,減少所述第五RESV消息中攜帶的RRO對象的子對象數(shù)量的方法可以參考 403中的相應(yīng)描述,本發(fā)明實施例此處將不再贅述。412、PLR節(jié)點將所述第六RESV消息發(fā)送給hgress節(jié)點。413、PLR節(jié)點在發(fā)送所述第六RESV消息后,當PLR節(jié)點確定本地有用于綁定的旁 路隧道時,從所述接收到的第四RESV消息中攜帶的RRO對象中,得到旁路隧道中尾節(jié)點向 上游節(jié)點發(fā)送的標簽信息,并根據(jù)所述標簽信息實現(xiàn)FRR綁定。414、直接將所述更新后的RESV消息發(fā)送出去。本發(fā)明實施例中,在攜帶RESV消息的IP報文總長度大于節(jié)點出接口的MTU時,將 RESV消息攜帶的RRO對象中的一部分子對象刪除。因此本地修復節(jié)點可以根據(jù)更新后的 RRO對象中的信息,實現(xiàn)FRR的綁定,從而可以有效的保護用戶流量不中斷。另外,本發(fā)明實施例能夠?qū)⑺龈潞蟮腞ESV消息發(fā)送出去,因此,不需要向 Egress節(jié)點發(fā)送ResvErr消息,所以Egress節(jié)點后續(xù)發(fā)送的RESV消息中包含RRO對象。實施例4本發(fā)明的實施例提供一種轉(zhuǎn)發(fā)節(jié)點,如圖7所示,該轉(zhuǎn)發(fā)節(jié)點包括判斷單元51、 第一處理單元52、第一發(fā)送單元53、第二處理單元M和第二發(fā)送單元55。判斷單元51,用于在發(fā)送第一 PATH消息和第一 RESV消息之前,判斷攜帶所述第一 PATH消息或所述第一 RESV消息的IP報文總長度是否大于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU。舉 例來說,當所述IP報文攜帶的是PATH消息時,所述IP報文總長度為PATH消息的總長度 加上IP頭和三層報文頭部等信息的長度之和。又舉例來說,當所述IP報文攜帶的是RESV 消息時,所述IP報文總長度為=RESV消息的總長度加上IP頭和三層報文頭部等信息的長 度之和。第一處理單元52,用于在所述判斷單元51判定所述攜帶PATH消息的IP報文總長 度大于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU時,對所述第一 PATH消息進行更新處理,得到第二 PATH 消息。舉例來說,所述第一處理單元52對所述第一 PATH消息進行更新處理包括減少所 述第一 PATH消息中攜帶的RRO對象的子對象數(shù)量,使攜帶所述第二 PATH消息的IP報文 總長度小于或等于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU,并將所述第二 PATH消息中攜帶的會話標志 SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真。舉例來說,所述處理單元52減少所述第一 PATH消息對象的子對象數(shù)量,具體可 以按照所述子對象加入到所述第一 PATH消息中攜帶的RRO對象的先后順序,減少所述第 一 PATH消息中攜帶的RRO對象的子對象數(shù)量;其中,按照所述子對象加入到所述第一 PATH 消息中攜帶的RRO對象的先后順序,即哪個子對象先加入到所述第一 PATH消息中攜帶的 RRO對象中,哪個子對象先從所述第一 PATH消息中攜帶的RRO對象中刪除。其中,對于減少 的所述第一 PATH消息中攜帶的RRO對象的子對象數(shù)量,以減少子對象后,使攜帶所述第二 PATH消息的IP報文總長度小于或等于所述節(jié)點出接口的MTU為準則。例如,減少所述第一 PATH消息中攜帶的RRO對象的子對象數(shù)量可以為1 (N-I)個中的任一數(shù)量,即可以保留 (N-I) 1個中的任一數(shù)量。其中,N為在MainTurmel上已傳輸所述PATH消息的節(jié)點數(shù)。
第一發(fā)送單元53,用于將所述第二 PATH消息發(fā)送出去,以便接收到所述第二 PATH 消息的節(jié)點將路徑信息和標簽信息添加到所述第二 PATH消息中攜帶的RRO對象中。第二處理單元M,用于在所述判斷單元51判定所述攜帶第一 RESV消息的IP報 文總長度大于所述節(jié)點出接口的MTU時,對所述第一 RESV消息進行更新處理,得到第二 RESV消息。舉例來說,所述第二處理單元M對所述第一 RESV消息進行更新處理包括減 少所述第一 RESV消息中攜帶的RRO對象的子對象數(shù)量,使攜帶所述第二 RESV消息的IP報 文總長度小于或等于所述節(jié)點出接口的MTU,并將所述第二 RESV消息中攜帶的SESSI0N_ ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真。舉例來說,所述第二處理單元M減少所述RESV消息中攜帶的RRO對象的子對象 數(shù)量時,由于該RRO對象中的子對象信息需要用于FRR綁定,必須保證Bypass Tunnel的尾 節(jié)點不能刪除,才能實現(xiàn)FRR綁定。因此,所述處理單元52具體可以用于,按照所述子對象 加入到所述第一 RESV消息中RRO對象的先后順序,減少所述第一 RESV消息中RRO對象的 子對象數(shù)量,并保留需要綁定旁路隧道的尾節(jié)點向上游節(jié)點發(fā)送的路由信息;其中,按照所 述子對象加入道所述第一 RESV消息中攜帶的RRO對象的先后順序,即哪個子對象先加入到 所述第一 RESV消息中攜帶的RRO對象中,哪個子對象先從所述第一 RESV消息中攜帶的RRO 對象中刪除。其中,對于減少的所述第一 RESV消息中攜帶的RRO對象的子對象數(shù)量,以減 少子對象后,使攜帶所述第二RESV消息的IP報文總長度小于或等于所述節(jié)點出接口的MTU 為準則。例如,當需要進行路徑保護的Main Tunnel的首節(jié)點和尾節(jié)點之間存在1個轉(zhuǎn)發(fā) 節(jié)點時,其減少的子對象數(shù)量可以為1 (N-2)個中的任一數(shù)量,即可以保留(N-I) 2個 中的任一數(shù)量。又例如,當需要進行路徑保護的Main Tunnel的首節(jié)點和尾節(jié)點之間存在 M個(M為大于1的自然數(shù))轉(zhuǎn)發(fā)節(jié)點時,其減少的子對象數(shù)量可以為1 (N-(M+1))個中 的任一數(shù)量,即可以保留(N-I) (M+1)中的任一數(shù)量。其中,N為在Main Tunnel上已傳 輸所述RESV消息的節(jié)點數(shù)。 第二發(fā)送單元55,用于將所述第二 RESV消息發(fā)送出,以便接收到所述第二 RESV消 息的節(jié)點將路徑信息和標簽信息添加到所述第二 RESV消息中攜帶的RRO對象中。舉例來說,如圖8所示,該轉(zhuǎn)發(fā)節(jié)點還包括接收單元56、第一添加單元57和第二 添加單元58。接收單元56,用于接收其他節(jié)點發(fā)送的第三PATH消息或第三RESV消息。第一添加單元57,用于當所述第三PATH消息中攜帶SESSION_ATTRIBUTE對象,并 且所述第三PATH消息中攜帶的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置 為真時,將所述轉(zhuǎn)發(fā)節(jié)點的路徑信息和標簽信息添加到所述第三PATH消息攜帶中的RRO對 象中;第二添加單元58,用于當所述第三RESV消息中攜帶的SESSION_ATTRIBUTE對象, 并且所述第三RESV消息中攜帶的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè) 置為真時,將所述主路隧道中的節(jié)點的路徑信息和標簽信息添加到所述第三RESV消息攜 帶的RRO對象中。本發(fā)明的實施例還提供一種本地修復節(jié)點,如圖9所示,該本地修復節(jié)點包括接 收單元61、解析單元62和綁定單元63。接收單元61,用于接收RESV消息,所述RESV消息中攜帶更新后的RRO對象,所述更新后的RRO對象為減少一定數(shù)量的子對象后的RRO對象。解析單元62,用于解析所述接收單元61接收到的所述RESV消息,獲得所述更新后 的RRO對象。綁定單元63,用于當確定本地有用于綁定的旁路隧道時,從所述更新后的RRO對 象中得到旁路隧道中尾節(jié)點向上游節(jié)點發(fā)送的標簽信息,并根據(jù)所述標簽信息實現(xiàn)快速重 路由綁定。舉例來說,如圖10所示,該本地修復節(jié)點還包括添加單元64、判斷單元65、處理 單元66和發(fā)送單元67。添加單元64,用于在所述接收單元61接收到的所述RESV消息中攜帶SESSI0N_ ATTRIBUTE對象,并且所述RESV 消息中攜帶的SESSION_ATTRIBUTE對象中記錄路由和標 簽的標志位設(shè)置為真時,在所述綁定單元根據(jù)所述標簽信息實現(xiàn)快速重路由綁定之前,將 所述本地修復節(jié)點的路徑信息以及標簽信息添加到所述更新后的RRO對象中,得到新生成 的RESV消息。舉例來說,所述路徑信息可以為傳輸PATH消息或RESV消息的過程中,經(jīng)過 節(jié)點的入接口地址、出接口地址以及LSR-ID等;所述標簽信息為下游節(jié)點為上游節(jié)點分配 的標簽。判斷單元65,判斷攜帶所述新生成的RESV消息的IP報文總長度是否大于所述本 地修復節(jié)點的出接口的MTU。更新單元66,用于在判斷單元65判定所述攜帶所述添加單元64新生成的RESV消 息的IP報文總長度大于所述本地修復節(jié)點出接口的MTU時,對所述新生成的RESV消息進 行更新處理,得到更新后的RESV消息。所述更新處理包括減少所述RESV消息中攜帶的RRO 對象的子對象數(shù)量,使攜帶所述更新后的RESV消息的IP報文總長度小于或等于所述本地 修復節(jié)點出接口的MTU,并將所述更新后的RESV消息中攜帶的SESSION_ATTRIBUTE對象中 記錄路由和標簽的標志位設(shè)置為真。SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位 設(shè)置為真,可以使得接收到所述更新后的RESV消息的節(jié)點,將路徑信息和標簽信息添加到 所述更新后的RRO對象中。發(fā)送單元67,用于將所述更新后的RESV消息發(fā)送出去。本發(fā)明實施例還提供一種快速重路由綁定系統(tǒng),如圖11所示,該系統(tǒng)包括本地修 復節(jié)點71、和位于所述本地修復節(jié)點下游,并與所述本地修復節(jié)點相鄰的轉(zhuǎn)發(fā)節(jié)點72 ;所述轉(zhuǎn)發(fā)節(jié)點72,用于在發(fā)送第一 PATH消息和第一 RESV消息之前,判斷攜帶所 述第一 PATH消息或所述第一 RESV消息的IP報文總長度是否大于所述轉(zhuǎn)發(fā)節(jié)點出接口的 MTU ;若所述攜帶所述第一 PATH消息的IP報文總長度大于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTUJU 對所述第一 PATH消息進行更新處理,得到第二 PATH消息,所述更新處理包括減少所述第一 PATH消息中攜帶的RRO對象的子對象數(shù)量,使攜帶所述第二 PATH消息的IP報文總長度小 于或等于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU,并將所述第二 PATH消息中攜帶的會話標志SESSI0N_ ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真;將所述第二 PATH消息發(fā)送出去;若 所述攜帶所述第一 RESV消息的IP報文總長度大于所述節(jié)點出接口的MTU,則對所述第一 RESV消息進行更新處理,得到第二 RESV消息,所述更新處理包括減少所述第一 RESV消息 中攜帶的RRO對象的子對象數(shù)量,使攜帶所述第二 RESV消息的IP報文總長度小于或等于 所述節(jié)點出接口的MTU,并將所述第二 RESV消息中攜帶的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真;將所述第二 RESV消息發(fā)送出去;因為所述第二 PATH消息 中攜帶的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真,接收到更新后的 PATH消息的節(jié)點,將路徑信息和標簽信息添加到所述第二 PATH消息中攜帶的RRO對象中; 或因為所述第二 RESV消息中攜帶的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位 設(shè)置為真,接收到所述第二 RESV消息的節(jié)點,將路徑信息和標簽信息添加到所述第二 PATH 消息中攜帶的RRO對象中。所述本地修復節(jié)點71用于,接收所述轉(zhuǎn)發(fā)節(jié)點發(fā)送的第二 RESV消息,所述第二 RESV消息中攜帶更新后的RRO對象,所述更新后的RRO對象為減少一定數(shù)量的子對象后的 RRO對象;解析所述第二 RESV消息,獲得所述更新后的RRO對象;當確定本地有用于綁定的 旁路隧道時,從所述更新后的RRO對象中得到旁主路隧道中尾節(jié)點向上游節(jié)點發(fā)送的標簽 信息,并根據(jù)所述標簽信息實現(xiàn)快速重路由綁定。舉例來說,在所述本地修復節(jié)點71接收到的所述第二 RESV消息中攜帶SESSI0N_ ATTRIBUTE對象,并且所述第二 RESV消息中攜帶的SESSION_ATTRIBUTE對象中記錄路由和 標簽的標志位設(shè)置為真時,在所述綁定單元根據(jù)所述標簽信息實現(xiàn)快速重路由綁定之前, 將所述本地修復節(jié)點的路徑信息以及標簽信息添加到所述更新后的RRO對象中,得到新生 成的RESV消息;判斷攜帶所述新生成的RESV消息的IP報文總長度是否大于所述本地修復 節(jié)點出接口的MTU ;若所述攜帶所述新生成的RESV消息的I P報文總長度大于所述本地修 復節(jié)點出接口的MTU,則對所述新生成的RESV消息進行更新處理,得到更新后的RESV消息, 所述更新處理包括減少所述新生成的RESV消息中攜帶的RRO對象的子對象數(shù)量,使攜帶所 述更新后的RESV消息的IP報文總長度小于或等于所述本地修復節(jié)點出接口的MTU,并將所 述更新后的RESV消息中攜帶的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置 為真;將所述更新后的RESV消息發(fā)送出去。進一步的,如圖12所示,該系統(tǒng)還包括位于所述轉(zhuǎn)發(fā)節(jié)點72下游,并與所述轉(zhuǎn)發(fā) 節(jié)點72相鄰的匯聚節(jié)點73 ;所述匯聚節(jié)點73,用于接收所述轉(zhuǎn)發(fā)節(jié)點72發(fā)送的第二 PATH消息,所述第二 PATH消息中攜帶SESSION_ATTRIBUTE對象和更新后的RRO對象,所述第二 PATH消息中攜帶 的更新后的RRO對象為減少一定數(shù)量的子對象后的RRO對象;當所述第二 PATH消息中攜帶 的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真時,將所述匯聚節(jié)點的路 徑信息和標簽信息添加到所述第二 PATH消息攜帶的RRO對象中;所述匯聚節(jié)點73還用于,接收其他節(jié)點發(fā)送的第三RESV消息,當所述第三 RESV消息中攜帶SESSION_ATTRIBUTE對象,并且所述第三RESV消息中攜帶的SESSI0N_ ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真時,將所述匯聚節(jié)點的路徑信息和標 簽信息添加到所述第三RESV消息攜帶的RRO對象中,得到第四RESV消息,判斷攜帶所述第 四RESV消息的IP報文總長度是否大于所述匯聚節(jié)點出接口的MTU ;若所述攜帶所述第四 RESV消息的IP報文總長度大于所述匯聚節(jié)點出接口的MTU,則對所述第四RESV消息進行 更新處理,得到第五RESV消息,所述更新處理包括減少所述第四RESV消息中攜帶的記錄路 由對象RRO對象的子對象數(shù)量,使攜帶所述第五RESV消息的IP報文總長度小于或等于所 述匯聚節(jié)點出接口的MTU,并將所述第五RESV消息中攜帶的SESSION_ATTRIBUTE對象中記 錄路由和標簽的標志位設(shè)置為真;將所述第五RESV消息發(fā)送給所述轉(zhuǎn)發(fā)節(jié)點72。
舉例來說,匯聚節(jié)點并不局限于位于所述轉(zhuǎn)發(fā)節(jié)點下游,并與所述轉(zhuǎn)發(fā)節(jié)點相鄰 的匯聚節(jié)點,還可以為位于所述轉(zhuǎn)發(fā)節(jié)點下游,但與所述轉(zhuǎn)發(fā)節(jié)點之間存在至少一個另外 的轉(zhuǎn)發(fā)節(jié)點的匯聚節(jié)點,當所述匯聚節(jié)點為后者時,可以參考實施例1至實施例3中的相應(yīng) 描述,本發(fā)明實施例此處將不再贅述。本發(fā)明實施例中,當攜帶PATH消息或RESV消息的IP報文總長度大于節(jié)點出接口 的MTU時,將RRO對象中的一部分子對象刪除,因此本地修復節(jié)點可以根據(jù)更新后的RRO對 象中的信息,實現(xiàn)FRR的綁定,從而可以有效的保護用戶流量不中斷。另外,本發(fā)明實施例能夠?qū)⑺龈潞蟮腜ATH消息發(fā)送出去,不需要將PathErr 消息發(fā)送給hgress節(jié)點,因此,hgress節(jié)點后續(xù)發(fā)送的PATH消息中可以包含RRO對象。另外,本發(fā)明實施例能夠?qū)⑺龈潞蟮腞ESV消息發(fā)送出去,不需要將ResvErr 消息發(fā)送給Egress節(jié)點,所以Egress節(jié)點后續(xù)發(fā)送的RESV消息中可以包含RRO對象。通過以上的實施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借 助軟件加必需的通用硬件的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳 的實施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部 分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在可讀取的存儲介質(zhì)中,如計 算機的軟盤,硬盤或光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機, 服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。以上所述,僅為本發(fā)明的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何 熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵 蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以所述權(quán)利要求的保護范圍為準。
權(quán)利要求
1.一種用于快速重路由綁定的路由信息更新方法,其特征在于,包括主路隧道中的節(jié)點在發(fā)送第一路徑PATH消息和第一預(yù)留RESV消息之前,判斷攜帶所 述第一 PATH消息或所述第一 RESV消息的IP報文總長度是否大于所述節(jié)點出接口的最大 傳輸單元MTU ;若所述攜帶第一 PATH消息的IP報文總長度大于所述節(jié)點出接口的MTU,則對所述第一 PATH消息進行更新處理,得到第二 PATH消息,所述更新處理包括減少所述第一 PATH消息 中攜帶的記錄路由對象RRO對象的子對象數(shù)量,使攜帶所述第二 PATH消息的IP報文總長 度小于或等于所述節(jié)點出接口的MTU,并將所述第二 PATH消息中攜帶的會話標志SESSI0N_ ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真;將所述第二 PATH消息發(fā)送出去;若所述攜帶第一 RESV消息的IP報文總長度大于所述節(jié)點出接口的MTU,則對所述第 一 RESV消息進行更新處理,得到第二 RESV消息,所述更新處理包括減少所述第一 RESV消 息中攜帶的RRO對象的子對象數(shù)量,使攜帶所述第二 RESV消息的IP報文總長度小于或等 于所述節(jié)點出接口的MTU,并將所述第二 RESV消息中攜帶的SESSION_ATTRIBUTE對象中記 錄路由和標簽的標志位設(shè)置為真;將所述第二 RESV消息發(fā)送出去。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述減少所述第一 PATH消息中攜帶的記錄路由對象RRO對象的子對象數(shù)量,包括按 照所述子對象加入到所述第一 PATH消息中攜帶的RRO對象的先后順序,減少所述第一 PATH 消息中攜帶的RRO對象的子對象數(shù)量;所述減少所述第一 RESV消息中攜帶的RRO對象的子對象數(shù)量,包括按照所述子對 象加入到所述第一 RESV消息中攜帶的RRO對象的先后順序,減少所述第一 RESV消息中攜 帶的RRO對象的子對象數(shù)量,并保留需要綁定旁路隧道的尾節(jié)點向上游節(jié)點發(fā)送的路由信 肩、ο
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,該方法還包括所述主路隧道中的節(jié)點接收其他節(jié)點發(fā)送的第三PATH消息或第三RESV消息;當所述第三PATH消息中攜帶SESSION_ATTRIBUTE對象,并且所述第三PATH消息中攜 帶的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真時,將所述主路隧道中 的節(jié)點的路徑信息和標簽信息添加到所述第三PATH消息攜帶的RRO對象中;當所述第三RESV消息中攜帶SESSION_ATTRIBUTE對象,并且所述第三RESV消息中攜 帶的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真時,將所述主路隧道中 的節(jié)點的路徑信息和標簽信息添加到所述第三RESV消息攜帶的RRO對象中。
4.一種轉(zhuǎn)發(fā)節(jié)點,其特征在于,包括判斷單元,用于在發(fā)送第一 PATH消息和第一 RESV消息之前,判斷攜帶所述第一 PATH 消息或所述第一 RESV消息的IP報文總長度是否大于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU ;第一處理單元,用于在所述判斷單元判定所述攜帶第一 PATH消息的IP報文總長度大 于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU時,對所述第一 PATH消息進行更新處理,得到第二 PATH消 息,所述更新處理包括減少所述第一 PATH消息中攜帶的RRO對象的子對象數(shù)量,使攜帶所 述第二 PATH消息的IP報文總長度小于或等于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU,并將所述第二 PATH消息中攜帶的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真;第一發(fā)送單元,用于將所述第二 PATH消息發(fā)送出去;第二處理單元,用于在所述判斷單元判定所述攜帶第一 RESV消息的IP報文總長度大 于所述節(jié)點出接口的MTU時,對所述第一 RESV消息進行更新處理,得到第二 RESV消息,所 述更新處理包括減少所述第一 RESV消息中攜帶的RRO對象的子對象數(shù)量,使攜帶所述第二 RESV消息的IP報文總長度小于或等于所述節(jié)點出接口的MTU,并將所述第二 RESV消息中 攜帶的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真; 第二發(fā)送單元,用于將所述第二 RESV消息發(fā)送出去。
5.根據(jù)權(quán)利要求4所述的轉(zhuǎn)發(fā)節(jié)點,其特征在于,所述第一處理單元,具體用于按照所述子對象加入到所述第一 PATH消息中攜帶的RRO 對象的先后順序,減少所述第一 PATH消息中攜帶的RRO對象的子對象數(shù)量;所述第二處理單元,具體用于按照所述子對象加入到所述第一 RESV消息中攜帶的RRO 對象的先后順序,減少所述第一 RESV消息中攜帶的RRO對象的子對象數(shù)量,并保留需要綁 定旁路隧道的尾節(jié)點向上游節(jié)點發(fā)送的路由信息。
6.根據(jù)權(quán)利要求4或5所述的轉(zhuǎn)發(fā)節(jié)點,其特征在于,所述轉(zhuǎn)發(fā)節(jié)點還包括 接收單元,用于接收主路隧道中的其他節(jié)點發(fā)送的第三PATH消息或第三RESV消息; 第一添加單元,用于當所述第三PATH消息中攜帶SESSION_ATTRIBUTE對象,并且所述第三PATH消息中攜帶的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真時, 將所述轉(zhuǎn)發(fā)節(jié)點的路徑信息和標簽信息添加到所述第三PATH消息攜帶的RRO對象中;第二添加單元,用于當所述第三RESV消息中攜帶SESSION_ATTRIBUTE對象,并且所述 第三RESV消息中攜帶的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真時, 將所述轉(zhuǎn)發(fā)節(jié)點的路徑信息和標簽信息添加到所述第三RESV消息攜帶的RRO對象中。
7.—種本地修復節(jié)點,其特征在于,包括 接收單元,用于接收RESV消息,所述RESV消息中攜帶更新后的RRO對象,所述更新后 的RRO對象為減少一定數(shù)量的子對象后的RRO對象;解析單元,用于解析所述接收單元接收到的所述RESV消息,獲得所述更新后的RRO對象;綁定單元,用于當確定本地有用于綁定的旁路隧道時,從所述更新后的RRO對象中得 到旁路隧道中尾節(jié)點向上游節(jié)點發(fā)送的標簽信息,并根據(jù)所述標簽信息實現(xiàn)快速重路由綁定。
8.根據(jù)權(quán)利要求7所述的本地修復節(jié)點,其特征在于,該本地修復節(jié)點還包括添加單元,用于在所述接收單元接收到的所述RESV消息中攜帶SESSION_ATTRIBUTE對 象,并且所述RESV消息中攜帶的SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置 為真時,在所述綁定單元根據(jù)所述標簽信息實現(xiàn)快速重路由綁定之前,將所述本地修復節(jié) 點的路徑信息以及標簽信息添加到所述更新后的RRO對象中,得到新生成的RESV消息;判斷單元,判斷攜帶所述新生成的RESV消息的IP報文總長度是否大于所述本地修復 節(jié)點出接口的MTU;更新單元,用于在判斷單元判定所述攜帶所述新生成的RESV消息的I P報文總長度大 于所述本地修復節(jié)點出接口的MTU時,對所述新生成的RESV消息進行更新處理,得到更新 后的RESV消息,所述更新處理包括減少所述新生成的RESV消息中攜帶的RRO對象的子對 象數(shù)量,使攜帶所述更新后的RESV消息的IP報文總長度小于或等于所述本地修復節(jié)點出更新后的RESV消息中攜帶的SESSION_ATTRIBUTE對象中記錄路由和 標簽的標志位設(shè)置為真;發(fā)送單元,用于將所述更新后的RESV消息發(fā)送出去。
9.一種快速重路由綁定系統(tǒng),其特征在于,包括本地修復節(jié)點和位于所述本地修復節(jié) 點下游,并與所述本地修復節(jié)點相鄰的轉(zhuǎn)發(fā)節(jié)點;所述轉(zhuǎn)發(fā)節(jié)點,用于在發(fā)送第一 PATH消息和第一 RESV消息之前,判斷攜帶所述第一 PATH消息或所述第一 RESV消息的IP報文總長度是否大于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU ;若 所述攜帶所述第一 PATH消息的IP報文總長度大于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU,則對所述 第一 PATH消息進行更新處理,得到第二 PATH消息,所述更新處理包括減少所述第一 PATH 消息中攜帶的記錄路由對象RRO對象的子對象數(shù)量,使攜帶所述第二 PATH消息的IP報文 總長度小于或等于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU,并將所述第二 PATH消息中攜帶的會話標志 SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真;將所述第二 PATH消息發(fā)送 出去;若所述攜帶所述第一 RESV消息的IP報文總長度大于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU, 則對所述第一 RESV消息進行更新處理,得到第二 RESV消息,所述更新處理包括減少所述 第一 RESV消息中攜帶的RRO對象的子對象數(shù)量,使攜帶所述第二 RESV消息的IP報文總 長度小于或等于所述轉(zhuǎn)發(fā)節(jié)點出接口的MTU,并將所述第二 RESV消息中攜帶的SESSI0N_ ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真;將所述第二 RESV消息發(fā)送出去;所述本地修復節(jié)點用于,接收所述轉(zhuǎn)發(fā)節(jié)點發(fā)送的第二 RESV消息,所述第二 RESV消息 中攜帶更新后的RRO對象,所述更新后的RRO對象為減少一定數(shù)量的子對象后的RRO對象; 解析所述第二 RESV消息,獲得所述更新后的RRO對象;當確定本地有用于綁定的旁路隧道 時,從所述更新后的RRO對象中得到旁路隧道中尾節(jié)點向上游節(jié)點發(fā)送的標簽信息,并根 據(jù)所述標簽信息實現(xiàn)快速重路由綁定。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,該系統(tǒng)還包括位于所述轉(zhuǎn)發(fā)節(jié)點下游, 并與所述轉(zhuǎn)發(fā)節(jié)點相鄰的匯聚節(jié)點;所述匯聚節(jié)點,用于接收所述轉(zhuǎn)發(fā)節(jié)點發(fā)送的第二 PATH消息,所述第二 PATH消息中 攜帶SESSION_ATTRIBUTE對象和更新后的RRO對象,所述第二 PATH消息中攜帶的更新后的 RRO對象為減少一定數(shù)量的子對象后的RRO對象;當所述第二 PATH消息中攜帶的SESSI0N_ ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真時,將所述匯聚節(jié)點的路徑信息和標 簽信息添加到所述第二 PATH消息攜帶的RRO對象中;所述匯聚節(jié)點還用于,接收其他節(jié)點發(fā)送的第三RESV消息,當所述第三RESV消息中攜 帶SESSION_ATTRIBUTE對象,并且所述第三RESV消息中攜帶的SESSION_ATTRIBUTE對象中 記錄路由和標簽的標志位設(shè)置為真時,將所述匯聚節(jié)點的路徑信息和標簽信息添加到所述 第三RESV消息攜帶的RRO對象中,得到第四RESV消息,判斷攜帶所述第四RESV消息的IP 報文總長度是否大于所述匯聚節(jié)點出接口的MTU ;若所述攜帶所述第四RESV消息的IP報 文總長度大于所述匯聚節(jié)點出接口的MTU,則對所述第四RESV消息進行更新處理,得到第 五RESV消息,所述更新處理包括減少所述第四RESV消息中攜帶的記錄路由對象RRO對象 的子對象數(shù)量,使攜帶所述第五RESV消息的IP報文總長度小于或等于所述匯聚節(jié)點出接 口的MTU,并將所述第五RESV消息中攜帶的SESSION_ATTRIBUTE對象中記錄路由和標簽的 標志位設(shè)置為真;將所述第五RESV消息發(fā)送給所述轉(zhuǎn)發(fā)節(jié)點。
全文摘要
本發(fā)明實施例公開了一種用于快速重路由綁定的路由信息更新方法、節(jié)點及系統(tǒng),涉及通信領(lǐng)域,在攜帶RRO對象的IP報文總長度大于節(jié)點出接口的MTU時,能夠?qū)崿F(xiàn)FRR綁定,有效的保護流量不中斷。本發(fā)明方法包括在發(fā)送PATH消息和RESV消息之前,若判定攜帶PATH消息或RESV消息的IP報文總長度大于節(jié)點出接口的MTU,則減少上述消息中RRO對象的子對象數(shù)量,使攜帶更新后的上述消息的IP報文總長度小于或等于節(jié)點出接口的MTU,并將SESSION_ATTRIBUTE對象中記錄路由和標簽的標志位設(shè)置為真;將更新后的上述消息發(fā)送出去,使本地修復節(jié)點根據(jù)更新后的RESV消息中的RRO對象實現(xiàn)快速重路由綁定。
文檔編號H04L29/06GK102136996SQ20101024966
公開日2011年7月27日 申請日期2010年8月10日 優(yōu)先權(quán)日2010年8月10日
發(fā)明者唐琳, 林波, 賀志國, 賴曉 申請人:華為技術(shù)有限公司