專利名稱:域間路徑計算技術(shù)的制作方法
技術(shù)領域:
本發(fā)明涉及計算機網(wǎng)絡,更具體而言涉及利用計算機網(wǎng)絡的路徑計算元件計算域間路徑。
背景技術(shù):
計算機網(wǎng)絡是由用于在末端節(jié)點(例如個人計算機和工作站)之間傳輸數(shù)據(jù)的通信鏈路和網(wǎng)段互連的節(jié)點在地理上的分布式集合。存在從局域
網(wǎng)(LAN)到廣域網(wǎng)(WAN)的很多種網(wǎng)絡。LAN —般通過位于諸如建筑物或園區(qū)等同一總的物理位置處的專用私有通信鏈路來連接節(jié)點。另一方面,WAN —般通過諸如公共載波電話線、光路、同步光網(wǎng)絡
(SONET)或同步數(shù)字數(shù)字體系(SDH)鏈路等長距離通信鏈路來連接地理上分散的節(jié)點。因特網(wǎng)是連接全世界的不同網(wǎng)絡的WAN的示例,它提供了各個網(wǎng)絡上節(jié)點之間的全球通信。節(jié)點一般根據(jù)諸如傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)等預定協(xié)議通過交換分離的幀或數(shù)據(jù)分組來在網(wǎng)絡上進行通信。在本上下文中,協(xié)議由定義了節(jié)點如何彼此交互的一組規(guī)則組成。計算機網(wǎng)絡還可以通過諸如路由器等中間網(wǎng)絡節(jié)點互連,從而擴展每個網(wǎng)絡的有效"大小"。
由于互連的計算機網(wǎng)絡的管理可能是繁重的,所以較小的計算機網(wǎng)絡群組可被維護為路由選擇域或自治系統(tǒng)。自治系統(tǒng)(AS)中的網(wǎng)絡一般通過被配置為執(zhí)行域內(nèi)路由選擇協(xié)議的傳統(tǒng)"域內(nèi)"路由器被耦合在一起,并一般受共同管理機構(gòu)管轄。為了提高路由選擇的可擴展性,服務提供商
(例如ISP)可以將AS劃分為多個"區(qū)域"。但是,可能希望增加能夠交換數(shù)據(jù)的節(jié)點數(shù)量;在此情形下,執(zhí)行域間路由選擇協(xié)議的域間路由器被用來互連各個AS的節(jié)點。此外,可能希望互連在不同管理域
(administrative domain)下被操作的各個AS。這里使用的AS或區(qū)域一般被稱為"域",將不同域互連在一起的路由器一般被稱為"邊界路由
祖"益 。
域間路由選擇協(xié)議的一個示例是邊界網(wǎng)關(guān)協(xié)議版本4 (BGP),其通 過在系統(tǒng)的相鄰域間路由器之間交換路由選擇和可達性信息來執(zhí)行域 (AS)間路由選擇。鄰近性是為了交換路由選擇信息消息和抽象出網(wǎng)絡拓 撲而在選定的相鄰(對等)路由器之間形成的關(guān)系。BGP對等路由器交換 的路由選擇信息一般包括目的地地址前綴,即路由選擇協(xié)議用來產(chǎn)生路由 選擇("下一跳")判決的目的地地址的部分。這種目的地地址的示例包 括IP版本4 (IPv4)和版本6 (IPv6)地址。BGP—般通過諸如TCP等可 靠的傳輸協(xié)議進行操作以建立TCP連接/會話。BGP協(xié)議是公知的,并在 1995年3月公布的題為^ Swy/w Gatew"少尸ratoco/ 4 (^G/5-力的請求注釋 (RFC) 1771中被一般性地描述。
域內(nèi)路由選擇協(xié)議或內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)的示例是開放最短路徑優(yōu) 先(OSPF)路由選擇協(xié)議和中間系統(tǒng)到中間系統(tǒng)(IS-IS)路由選擇協(xié) 議。OSPF和IS-IS協(xié)議是基于鏈路狀態(tài)技術(shù)的,因此一般被稱為鏈路狀態(tài) 路由選擇協(xié)議。鏈路狀態(tài)協(xié)議定義了在域中交換和處理路由選擇信息和網(wǎng) 絡拓撲信息的方式。該信息一般涉及域內(nèi)路由器的本地狀態(tài)(例如路由器 的可用接口和可達鄰居或鄰近性)。OSPF協(xié)議在1998年4月的題為 OSPF Version 2的RFC 2328中描述,在IP的上下文中使用的IS-IS協(xié)議在 1990年12月的題為仏e o/ OS/ ZS-ZS/w zw rC尸/7尸D冊/
五m^omwewte的RFC 1195中有所描述,這兩篇文獻都通過引用結(jié)合于此。
多協(xié)議標簽交換(MPLS)流量工程已被開發(fā)用來滿足諸如保證可用 帶寬或快速恢復等數(shù)據(jù)聯(lián)網(wǎng)要求。MPLS流量工程利用現(xiàn)代標簽交換技術(shù) 來建立穿過標簽交換路由器(LSR)的IP/MPLS網(wǎng)絡的保證帶寬端到端隧 道。這些隧道是一種標簽交換路徑(LSP),因此被總稱為MPLS流量工 程(TE) LSP。 MPLS TE的示例可在2001年12月的題為i 5T戶-7EV to i^KP/or丄5P 7im"eAs的RFC 3209、 2004年6月的題為 /"/^廣附6£//<3^- ^>^/^附-^-/"^廠附^<^^6-5)^/^^ (7iS-ZS」 Ex&ww'cws 7fer 7><3j^c 五"g&een'wg (7五」的RFC 3784和2003年9月的題為7>y#c £>2g/"een'"g (T/i)to OS尸F(xiàn) 2的RFC 3630中找到,這些文獻的全部內(nèi)容通
過引用結(jié)合于此。
建立從頭端LSR到尾端LSR的MPLS TE-LSP涉及計算穿過LSR的 網(wǎng)絡的路徑。優(yōu)選地,計算出的路徑是以某種度量測得的"最短"路徑, 該最短路徑滿足所有相關(guān)LSP流量工程約束,例如要求帶寬、每個鏈路的 備用旁路隧道的可用性,以及路徑中包括的節(jié)點等??梢允褂冒–SPF (約束最短路徑優(yōu)先)在內(nèi)的各種路徑計算方法。
可用來計算從源到目的地的最短路徑的一種示例性算法是公知的 Dijkstm路徑計算算法。簡言之,這里使用的Dijkstra算法計算從源節(jié)點到 任意目的地節(jié)點的最短路徑,從而創(chuàng)建最短路徑樹(SPT)。為了到達最 短路徑上的目的地節(jié)點,源節(jié)點簡單地遍歷SPT以到達目的地節(jié)點。該計 算是基于節(jié)點之間的開銷度量的,并且從源節(jié)點被向外執(zhí)行。因此, Dijkstra算法被視為"前向路徑計算"。Dijkstra算法在1999年9月出版的 作者為Radia Perlman的教禾斗書/"te廠cowwecriow5 Secowi/ 白勺12.2.4節(jié)
中被更詳細地描述,該教科書被通過引用結(jié)合于此,如同在這里詳細列出 一樣。
路徑計算可以由頭端LSR或充當路徑計算元件(PCE)的一些其他實 體執(zhí)行。頭端LSR (或PCE)利用其關(guān)于網(wǎng)絡拓撲和每條鏈路上的資源可 用性的知識來根據(jù)LSP流量工程約束執(zhí)行路徑計算。注意,MPLSTE-LSP 可被配置在單個域(例如單個區(qū)域、單個級別或單個AS)中,或者還可 以跨越多個域(例如多個區(qū)域、多個級別或多個AS)。
PCE是能夠計算PCE在AS或區(qū)域中意識到的任意節(jié)點之間的路徑的 實體。PCE是非常有用的,因為它們更了解它們的AS或區(qū)域中的網(wǎng)絡流 量和路徑選擇,因此可被用于更優(yōu)化的路徑計算。頭端LSR還可操作為路 徑計算客戶端(PCC) , PCC被配置為向PCE發(fā)送路徑計算請求,并接收 具有計算出的路徑的響應,并潛在地考慮來自其他PCC的其他請求。注意 到當一個PCE發(fā)送對另一 PCE的請求時它充當PCC這一點是很重要的。 PCE傳統(tǒng)上在它的周圍區(qū)域或AS外部具有有限的可見性或不具有可見 性??梢酝ㄟ^管理員的預配置或通過從PCC的區(qū)域或整個AS內(nèi)的PCE發(fā)送的通告該PCE的服務的PCE發(fā)現(xiàn)(PCED)消息(通告)將PCE通知 給PCC。
在跨過域邊界時出現(xiàn)的一個困難是頭端LSR處的路徑計算需要頭端和 尾端LSR之間的跨過整個網(wǎng)絡的網(wǎng)絡拓撲和資源的知識。但是服務提供商 一般不跨過域邊界彼此共享該信息。具體而言,網(wǎng)絡拓撲和資源信息一般 不流過區(qū)域邊界,即使單個服務提供商可能操作所有區(qū)域或級別。頭端 LSR或任意單個PCE也不會具有計算路徑的足夠知識。因此,需要MPLS 流量工程路徑計算技術(shù)來計算域間TE-LSP。
計算域間路徑的第一個示例性方法是"每個域"的路徑計算,該方法 依靠每個域的入口節(jié)點來計算到該域的下一出口節(jié)點的路徑。域的入口和 出口節(jié)點(或"邊界節(jié)點")可以被頭端節(jié)點指定為"松散跳"(即指明 域的期望入口和出口而非指明穿過域的物理路徑的標記)?;蛘?,在接收 到計算穿過其域的路徑的請求時,每個域的入口節(jié)點計算同一域的優(yōu)選出 口節(jié)點。雖然"每個域"方法很簡單,但是它不保證計算出最優(yōu)(最短) 域間路徑,因為它是串行執(zhí)行的,并且在計算當前域的路徑時不考慮下一 個域的開銷。此外,該方法沒有提供保證一組被不同地路由的路徑的機 制,因為每個域中的入口節(jié)點彼此獨立地執(zhí)行它們對所需網(wǎng)段的路徑計 算。
在另一示例性方法中,使用PCE來創(chuàng)建分布式PCE體系結(jié)構(gòu),以將 MPLS TE-LSP擴展跨過域邊界。這種分布式體系結(jié)構(gòu)的一個示例在 Vasseur等人于2003年9月18日提交的題為09M戶6T/A^ /AT^-JLTCWOMOt/S Sr^r五M M尸LS 77L4尸^7C ^VG/A/EE7^7VG丄S尸7147^5"的共 有共同未決美國專利申請No. 10/767,574中有所描述,該申請的全部內(nèi)容 通過引用結(jié)合于此。在分布式PCE體系結(jié)構(gòu)中,計算路徑所需的可見性在 鄰近域之間被擴展,因此PCE可以通過交換虛擬最短路徑樹(VSPT)并 同時保留跨域保密性(例如當應用于AS時)來協(xié)作計算跨過多個域的路 徑。
使用可被表示為由"松散跳"構(gòu)成的虛擬鏈路的VSPT,因為服務提 供商可能希望維持它們的內(nèi)部網(wǎng)絡體系結(jié)構(gòu)和設計機密。計算VSPT的一種方法是使用虛擬最短路徑樹(VSPT)算法。 一般而言,VSPT是壓縮路
徑描述(域的入口和出口/目的地點),該描述以將內(nèi)部路徑詳情對鄰近域
保密的方式通知前一 PCE:可以從特定入口到特定出口來到達目的地。構(gòu)
成VSPT的虛擬鏈路一般將具有用于每個計算出的鏈路的相關(guān)網(wǎng)絡開銷。 應當注意,在多個域操作于共同管理機構(gòu)(例如唯一的服務提供商)之下 的情況下,這些虛擬鏈路還指定整個路徑。還可以在顯式路由對象 (ERO)中組織(以某種協(xié)議) 一組虛擬鏈路,以輔助向前一PCE傳輸壓 縮的路徑描述。
具體而言,根據(jù)VSPT算法,對于域間路徑計算示例而言,PCC (例 如頭端節(jié)點)首先向它的域中的己知本地PCE發(fā)送路徑計算請求,以計算 到目的地(例如末端節(jié)點)的路徑。該路徑計算請求隨后被從本地PCE傳 遞至去往目的地途中的每個域("下游"域)中的PCE。
一旦收到路徑計算請求,包含目的地的最終域中的PCE就計算 VSPT, VSPT是以目的地為根并包括一組要求約束的最短路徑的從該目的 地到域的每個邊界路由器的最短路徑樹。這可以使用本領域已知的CSPF (約束最短路徑優(yōu)先)算法或任何其他適當算法來計算。然后,最終域的 PCE利用虛擬鏈路(或"松散跳")發(fā)送VSPT到前一域的PCE。 VSPT 可選地以下述方式使用松散跳,其中域內(nèi)部的跳和它們的開銷是保密的。 松散跳可以具有作為內(nèi)部開銷的組合或代表的單個相關(guān)開銷。
前一域中的PCE現(xiàn)在重復執(zhí)行VSPT算法,并將它從最終PCE接收 的VSPT與它自己域中的拓撲(包括任何域間鏈路)聯(lián)接起來,以便計算 新路徑。對所有域重復該過程,直到響應到達發(fā)起PCC。因此,VSPT算 法被稱為"后向遞歸路徑計算"。
為了使后向遞歸路徑計算正確工作,鄰近域之間必須存在協(xié)議以便共 享計算路徑所需的可見性。如果沒有協(xié)議,PCE就不能通過交換VSPT來 協(xié)作計算跨過多個域的路徑,即使VSPT保持保密性也如此。在這些情況 下,鄰近域可以只通告其他域必須在它們的SPT中使用的單個虛擬鏈路。 但是存在多個域(例如域A—B — C)的情況,其中某些域可能具有與某些 其他域的協(xié)議(A和B,以及A和C),但是其他域并不共享協(xié)議(B不和C共享協(xié)議)。協(xié)議不存在于所有鄰近域之間的情況下的VSPT計算可 能是無法實現(xiàn)的。
因此,需要允許第一域的單個頭端節(jié)點高效地計算最短域間路徑而不 要求來自多個其他域中的多個其他節(jié)點的路徑計算的技術(shù)。還需要允許頭 端節(jié)點計算穿過具有與第一域的協(xié)議的其他域的路徑而所述其他域不具有 彼此之間的協(xié)議的技術(shù)。
發(fā)明內(nèi)容
本發(fā)明涉及一種計算從本地域的頭端節(jié)點到遠端域的尾端節(jié)點的跨越
計算機網(wǎng)絡的多個域的流量工程(TE)標簽交換路徑(LSP)的技術(shù)。該 新穎的域間TE-LSP計算技術(shù)包括由利用位于遠端域(即本地域之外的 域)內(nèi)的路徑計算元件(PCE)的頭端節(jié)點執(zhí)行的計算算法。具體而言, 頭端節(jié)點請求來自每個遠端域內(nèi)的PCE的路徑段,其中路徑段代表所有入 口邊界路由器到特定遠端域的所有出口邊界路由器(即穿過域)或到尾端 節(jié)點之間的路徑。在接收到來自每個遠端域的路徑段時,頭端節(jié)點將路徑 段與本地域信息相組合,并執(zhí)行從頭端節(jié)點到尾端節(jié)點的前向路徑計算以 找出最佳(即"最短")路徑。
根據(jù)本發(fā)明,在嘗試建立到尾端節(jié)點的TE-LSP時,源頭端節(jié)點首先 確定目的地尾端節(jié)點是否在遠端域中。如果是,則頭端節(jié)點例如通過參考 本地配置或路由選擇策略來識別位于源和目的地之間的域。頭端節(jié)點基于 開銷度量計算到它的本地域中與在目的地方向上的下一個域的一個或多個 入口邊界路由器通信的每個出口邊界路由器的路徑(例如最佳路徑)。
如果存在至少一個滿足所嘗試的TE-LSP的約束的路徑,則頭端節(jié)點 發(fā)送路徑計算請求到下一跳域中的已知PCE,請求從與本地"上游"域通 信的每個入口邊界路由器到i)與下一下游域通信的每個出口邊界路由器 或ii)目的地尾端節(jié)點(如果它位于同一域中)的一個或多個路徑。依賴 于域之間的配置,頭端節(jié)點接收由PCE計算出的路徑段(如果有的話)作 為具有相關(guān)開銷的物理鏈路或虛擬鏈路。如果存在一個或多個路徑,則頭 端節(jié)點發(fā)送路徑計算請求到下一個下游域,依此類推,直到到達目的地?;蛘撸^端節(jié)點可以首先發(fā)送路徑計算請求到每個遠端域中的每個PCE, 并隨后接收所有遠端域的路徑段,而不在初始時例如一次一個地檢査每個 域中是否存在路徑。在接收到所有路徑段時,頭端節(jié)點將這些段與其本地 路徑信息相聯(lián)接,并基于所有域的拓撲(物理的或虛擬的)運行從頭端節(jié)
點到尾端節(jié)點的最短路徑優(yōu)先(SPF)計算。
有益地,這里描述的技術(shù)實現(xiàn)了跨過網(wǎng)絡的多個域的高效路徑計算
(例如域間TE-LSP和/或不同路徑)。具體而言,本發(fā)明的技術(shù)提供了用 于允許本地域的頭端節(jié)點基于從多個域中的PCE接收的路徑段的更完整的 拓撲來執(zhí)行到遠端域的尾端節(jié)點的前向路徑計算。本發(fā)明還提供了從頭端 節(jié)點到尾端節(jié)點的最優(yōu)(最短)路徑,同時保留跨過多個域的保密性。
結(jié)合附圖參考下面的描述可以更好地理解本發(fā)明的上述和其他優(yōu)點, 在附圖中相似的標號指示完全或功能上相似的元件,其中
圖1A是可根據(jù)本發(fā)明使用的自治系統(tǒng)的示例性計算機網(wǎng)絡的示意性 框圖1B是可根據(jù)本發(fā)明使用的區(qū)域的示例性計算機網(wǎng)絡的示意性框
圖2是可有益地與本發(fā)明一起使用的示例性路由器的示意性框圖; 圖3是示出了用于根據(jù)本發(fā)明計算TE-LSP的步驟序列的流程圖; 圖4是示出了用于根據(jù)本發(fā)明計算TE-LSP的備選步驟序列的流程 圖;并且
圖5A—5F是示出了根據(jù)本發(fā)明的路徑段累積和路徑計算的示例性序 列的示意圖。
具體實施例方式
圖1A是包括由自治系統(tǒng)AS2互連的自治系統(tǒng)AS1和AS3的示例性計 算機網(wǎng)絡100a的示意性框圖。這里將自治系統(tǒng)(AS)定義為網(wǎng)絡中受共 同管理機構(gòu)管轄并執(zhí)行一個或多個域內(nèi)路由選擇協(xié)議的諸如域內(nèi)路由器等中間節(jié)點的群組。雖然每個AS被示為自治系統(tǒng),但是本領域技術(shù)人員將
理解,AS也可以配置為路由選擇域或其他網(wǎng)絡或子網(wǎng)。自治系統(tǒng)ASl包 括域內(nèi)路由器,例如AS邊界路由器ASBRP和ASBR2,通過這些域內(nèi)路 由器,諸如數(shù)據(jù)分組等通信可以傳入該AS,以及傳出該AS,分別傳遞到 AS2的AS邊界路由器ASBR3巧P ASBR4。 AS2還包括與AS3的邊界路由 器ASBR7巧口 ASBR8通信的AS邊界路由器ASBR5和ASBR6。此外,在 AS1和AS3中,分別存在示例性域內(nèi)路由器A和B。此外,在AS1中有 示例性域內(nèi)路由器nl和n2。本領域技術(shù)人員將理解,AS中可以使用任意 數(shù)量的路由器,這里示出的視圖是為了簡明起見。
數(shù)據(jù)分組可以使用諸如傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)、用戶數(shù) 據(jù)報協(xié)議(UDP)、異步傳輸模式(ATM)協(xié)議、幀中繼協(xié)議、因特網(wǎng)分 組交換(IPX)協(xié)議等預定網(wǎng)絡通信協(xié)議在自治系統(tǒng)ASl—AS3之間交 換。路由選擇信息可以使用諸如傳統(tǒng)距離向量協(xié)議或例如使用鏈路狀態(tài)通 告或鏈路狀態(tài)分組的鏈路狀態(tài)協(xié)議等預定"內(nèi)部"網(wǎng)關(guān)協(xié)議(IGP)在路 由器之間分發(fā)。此外,包含網(wǎng)絡路由選擇信息的數(shù)據(jù)分組可以使用諸如邊 界網(wǎng)關(guān)協(xié)議(BGP)等"外部"網(wǎng)關(guān)協(xié)議在自治系統(tǒng)AS1—AS3之間交 換。
圖1B是包括區(qū)域A1—A3的示例性計算機網(wǎng)絡100b的示意性框圖。 區(qū)域Al具有示例性域內(nèi)路由器A、 nl和n2,而區(qū)域A3具有示例性域內(nèi) 路由器B。此外,Al和A2共享邊界路由器ABR"和ABR2,而A2和A3 共享ABR3^^和ABR4。這里使用的區(qū)域一詞是指彼此共享全部網(wǎng)絡拓撲信 息但不一定與區(qū)域外部的路由器共享全部網(wǎng)絡拓撲信息的路由器的集合。 區(qū)域的集合可以被包含在單個AS中。這里使用的術(shù)語區(qū)域還包括術(shù)語
"級別",其與采用IS-IS作為其IGP的網(wǎng)絡具有相似的含義,在此情形 下區(qū)域邊界路由器ABR1—4被實現(xiàn)為級別1/級別2 (L1L2)路由器。這 些示例僅是代表性的。本領域技術(shù)人員應當理解,不論何時提及區(qū)域或級 別,都也可以使用自治系統(tǒng)。區(qū)域、級別和自治系統(tǒng)在這里總稱為
"域"。此外,術(shù)語ABR、 L1L2路由器、ASBR和更一般的邊界路由器 在這里被可互換地使用。圖2是可以作為域內(nèi)路由器或邊界路由器有益地與本發(fā)明一起使用的
示例性路由器200的示意性框圖。路由器包括由系統(tǒng)總線250互連的多個 網(wǎng)絡接口 210、處理器220和存儲器240。網(wǎng)絡接口 210包含用于通過耦 合到網(wǎng)絡100a、 b的物理鏈路傳送數(shù)據(jù)的機械、電和信令電路。網(wǎng)絡接口 可以被配置為使用多種不同通信協(xié)議(包括TCP/IP、 UDP、 ATM、同步 光網(wǎng)絡(SONET)、無線協(xié)議、幀中繼、以太網(wǎng)、光纖分布數(shù)據(jù)接口 (FDDI)等)來發(fā)送和/或接收數(shù)據(jù)。
存儲器240包括用于存儲與本發(fā)明相關(guān)聯(lián)的軟件程序和數(shù)據(jù)結(jié)構(gòu)的可 由處理器220和網(wǎng)絡接口 210尋址的多個存儲位置。處理器220可以包括 適于執(zhí)行軟件程序和操縱數(shù)據(jù)結(jié)構(gòu)(例如路由選擇表246)的必要元件或 邏輯。路由器操作系統(tǒng)242的一些部分一般駐留在存儲器240中并由處理 器執(zhí)行,并且路由器操作系統(tǒng)242通過調(diào)用支持在路由器上執(zhí)行的軟件過 程和/或服務的網(wǎng)絡操作等來在功能上組織路由器。這些軟件過程和/或服 務包括PCC/PCE過程245、路由選擇服務247、路由選擇信息庫(RIB) 248,以及RSVP服務249。本領域技術(shù)人員將很清楚,包括各種計算機可 讀介質(zhì)在內(nèi)的其他處理器和存儲器裝置也可用來存儲和執(zhí)行與這里描述的 本發(fā)明的技術(shù)有關(guān)的程序指令。
路由選擇服務247包含由處理器220執(zhí)行以便執(zhí)行由諸如IGP (例如 OSPF和IS-IS)和BGP等一個或多個路由選擇協(xié)議提供的功能的計算機可 執(zhí)行指令。這些功能可以被配置為例如包含用于進行轉(zhuǎn)發(fā)判決的數(shù)據(jù)的管 理轉(zhuǎn)發(fā)信息庫(未示出)。RSVP服務249包含用于根據(jù)本發(fā)明實現(xiàn) RSVP和處理RSVP消息的計算機可執(zhí)行指令。RSVP在R. Braden等人的 7 Mowce T^&rK加ow尸ratoco/ (7^SF" ( (RFC) 2005, 1997年9月)中描 述,該文獻可從IETF獲得并且通過引用結(jié)合于此,如果在這里全部列出 一樣,RSVP還在上文中結(jié)合的題為i 5r尸-r五Exte朋Zo"s to i^F尸/w LS尸 rw朋e/s的RFC 3209中有所描述。
路由選擇表246例如駐留在存儲器240中,并被用來存儲路由選擇信 息(包括可達目的地地址前綴和相關(guān)屬性)。這些屬性包括路由器200用 來到達目的地前綴的下一跳信息和到達目的地前綴的相關(guān)度量(例如丌銷)。路由選擇表246例如由RIB 248維護和管理。因此,RIB 248維護 由諸如BGP和IGP等路由選擇協(xié)議提供的路由(路徑)拷貝,以計算安 置到路由選擇表246中的最佳路徑/路由。
在一個實施例中,這里描述的路由器是實現(xiàn)多協(xié)議標簽交換 (MPLS)并充當標簽交換路由器(LSR)的IP路由器。在一種簡單的 MPLS情景中,在網(wǎng)絡入口處,在將每個傳入分組轉(zhuǎn)發(fā)到下一跳路由器之 前,標簽被基于傳入分組的轉(zhuǎn)發(fā)等價類分配給每個傳入分組。在每個路由 器處,通過使用在傳入分組中發(fā)現(xiàn)的標簽作為對包括該信息的標簽轉(zhuǎn)發(fā)表 的參考來確定轉(zhuǎn)發(fā)選擇和新替代標簽。在網(wǎng)絡出口 (或其前一跳)處,基 于傳入標簽進行轉(zhuǎn)發(fā)判決,但是當分組被發(fā)送往下一跳時可選地不包括標 簽。
以此方式經(jīng)過網(wǎng)絡的分組所采取的路徑被稱為標簽交換路徑(LSP) 或流量工程(TE) -LSP。 TE-LSP的建立需要計算路徑、延路徑的信令和 延路徑的轉(zhuǎn)發(fā)表的修改。MPLS TE建立在某些條件下具有保證帶寬的 LSP。例如,可以通過使用RSVP協(xié)議(具體而言是RSVP TE信令消息) 來通知TE-LSP。
雖然這里描述的說明性實施例涉及MPLS,但是還應當注意,本發(fā)明 可以有益地應用于通用MPLS (GMPLS),其不僅涉及基于分組和信元的 網(wǎng)絡,還涉及時分復用(TDM)和光網(wǎng)絡。GMPLS是公知的并在2004年 10月的題為Gewera/zzW Mw/"-尸ratoco/£a6e/Swfc/ >zg ("GM尸丄》的RFC 3954禾卩2004年10月的題為J^w/"-尸ratoco/丄aZ e/ S雨'te/nwg f"GMPLS^ 五xZms7'o/w yb廠 S,cArawot^ Qprica/ iVe^vorA; (^6W五T^ S戸c/ rawow Z^g"a/歷erarc/^ ^Di^ CoWto/的RFC 3946中有所描述,這 兩篇文獻的全部內(nèi)容通過引用結(jié)合于此。
本發(fā)明涉及用于計算從本地域的頭端節(jié)點到遠端域的尾端節(jié)點的跨過 多個計算機網(wǎng)絡域的TE-LSP的技術(shù)。新穎的域間TE-LSP計算技術(shù)包括 由頭端節(jié)點利用位于遠端域(即與本地域不同的域)中的PCE執(zhí)行的計算 算法。具體而言,頭端節(jié)點請求來自每個遠端域中的PCE的路徑段,其中 路徑段代表特定遠端域的所有入口邊界路由器到所有出口邊界路由器(即根據(jù)本發(fā)明,在嘗試建立到尾端節(jié)點的TE-LSP時,源頭端節(jié)點首先 使用例如本地配置或傳統(tǒng)策略(BGP)路由選擇來確定目的地尾端節(jié)點是 否在遠端域中。如果目的地在遠端域中,則頭端節(jié)點隨后例如通過再次參 考本地配置或策略路由選擇來識別位于源和目的地之間的域。頭端節(jié)點基 于開銷度量計算到其本地域中與目的地方向上的下一個域(即"下一跳" 或"下游"域)的一個或多個入口邊界路由器通信的每個出口邊界路由器 的路徑(例如最佳路徑)。諸如CSPF算法或Dijkstra算法等傳統(tǒng)算法可 被用來計算路徑(其中頭端節(jié)點時最小開銷節(jié)點)。
如果存在滿足所嘗試的TE-LSP的約束的至少一個路徑,則頭端節(jié)點 發(fā)送路徑計算請求到下一跳域中的己知PCE,請求從與本地("上游") 域通信的每個入口邊界路由器到O與下一下游域通信的每個出口邊界路 由器或ii)目的地尾端節(jié)點(如果它位于同一域中的話)的一個或多個路 徑。
例如,假設在圖1A和1B中標記有"*"的邊界路由器是有PCE能力 的邊界路由器。本地PCE的地址可以被手工配置?;蛘?,PCE可以通過在 AS內(nèi)洪泛來通告自身。可根據(jù)2004年7月公布的Vasseur等人的OSPF MPLS Traffic Engineering Capabilities (draft-vasseur-ospf-te-caps.txt)來4吏用 路徑計算元件發(fā)現(xiàn)(PCED)技術(shù),該文獻通過引用結(jié)合于此。PCED消息 可以包括對以下能力的指示,所述能力例如是計算本地路徑、區(qū)域間路 徑、AS間路徑、多域路徑、不同路徑(diverse path)等的能力。其他 PCE地址的知識可以通過靜態(tài)配置或BGP通告來獲得,如本領域技術(shù)人 員很容易設計的那樣。
當PCE接收路徑計算請求時,它計算它的域的每個入口邊界路由器到 同一域的每個出口邊界路由器之間的最短路徑集合。注意,PCE不請求任 何其他PCE擴展該路徑,而只是返回包括它的域的路徑以及它們的相關(guān)丌 銷的響應到頭端節(jié)點。PCC和PCE之間的路徑計算請求(和響應)可根據(jù)2004年7月的Vasseur等人的RSVP Path Computation Request and Reply Message, Internet Draft中規(guī)定的協(xié)議而被交換,該文獻的內(nèi)容通過引用結(jié) 合于此,如同在這里全部列出一樣。應當理解,RSVP僅被用作為示例, 根據(jù)本發(fā)明也可以使用其他通信協(xié)議。
依賴于通信中的域是否被配置為共享可見性信息,頭端節(jié)點接收山 PCE計算出的路徑段(如果有的話)作為具有相關(guān)開銷的物理鏈路或虛擬 鏈路。接收到的路徑被存儲在存儲器240 (例如頭端節(jié)點的TE數(shù)據(jù)庫 (未示出))中。注意,不論網(wǎng)絡是否被保密,鏈路都可以是虛擬或"松 散"的。在此情形下,被完整計算的路徑可被認為是穿過僅由每個保密域 的入口和出口點組成的域的基本路徑以及相關(guān)開銷度量。在接收松散跳 時,入口邊界路由器計算到達下一跳(例如出口邊界路由器)的路徑。用 于維護跨過保留有計算出的路徑的域的保密性的其他方法在均由Vasseur 等人在2004年5月提交的共有共同未決美國專利申請No. 10/982,641 (題
為stoem爿m) m五r/zo" i ^r房ravG com尸LT五d /Mms1 w綴
爿7^477/ COMPt/7M77CWEL0kffiWT t/S/M7爿/M77/《£T)禾口 10/983,327
(9凡ECra)中描述,這兩份申請的全部內(nèi)容通過引用結(jié)合于此。
如果存在一個或多個路徑,則頭端節(jié)點發(fā)送路徑計算請求到下一下游 域,依此類推,直到到達目的地。在接收到所有路徑段時,頭端節(jié)點將這 些段與其本地路徑信息聯(lián)接,并基于所有域的拓撲(物理的或虛擬的)從 頭端節(jié)點到尾端節(jié)點運行最短路徑優(yōu)先(SPF)計算。
圖3是示出了根據(jù)本發(fā)明計算TE-LSP的步驟序列的流程圖。序列 300開始于步驟305,并繼續(xù)到步驟310,其中頭端節(jié)點確定目的地尾端節(jié) 點是否駐留在遠端域中。如果否(即目的地是本地的),則頭端節(jié)點在步 驟315執(zhí)行到尾端節(jié)點的傳統(tǒng)SPF,序列在步驟390處結(jié)束。否則,在歩 驟320,頭端節(jié)點識別位于本地域和包含目的地的遠端域之間的遠端域。 在步驟325,頭端節(jié)點計算到它的域中與下一跳下游域相連接的每個出口 邊界路由器的最短路徑。如果在步驟330確定出不存在路徑(例如當沒有路徑滿足TE-LSP約束時),序列在步驟390處結(jié)束。
但是,如果步驟330處存在至少一個路徑,則序列繼續(xù)到步驟335, 其中確定所關(guān)心的域("當前"域)是不是目的地域。如果不是,則在歩 驟340,頭端節(jié)點發(fā)送請求到當前域的PCE以獲得從當前域的每個入口邊 界路由器到當前域的每個出口邊界路由器的一個或多個路徑。在步驟 345,頭端節(jié)點接收來自PCE的響應,該響應可以是一組物理或虛擬鏈 路,如上所述。在路徑350,確定在該域中是否存在滿足約束的任何路 徑。如果否,則序列結(jié)束。否則,頭端節(jié)點在步驟355將響應中的路徑與 已有的被存儲的拓撲相聯(lián)接,并進行到關(guān)于下一個域的路徑計算(步驟 360)。這里,序列返回步驟335,其中所關(guān)心的域是"下一跳下游"域。
如果確定下一跳下游域是目的地域,則在步驟365,頭端節(jié)點發(fā)送請 求到目的地域的PCE,以獲得從目的地域的每個入口邊界路由器到目的地 的一個或多個路徑。在步驟370,頭端節(jié)點接收來自PCE的響應。此外在 步驟375,確定域中是否存在任何受約束路徑。如果否,則序列在步驟 390處結(jié)束。否則,頭端節(jié)點在步驟380中將最終響應中的路徑與已有的 被存儲的拓撲相連接。利用完整的網(wǎng)絡拓撲(物理的或虛擬的),頭端節(jié) 點在步驟385執(zhí)行以頭端節(jié)點(源)為根的到尾端節(jié)點(目的地)SPF, 以找出源和目的地之間的最短路徑以便建立TE-LSP。然后,該序列在歩 驟390處結(jié)束。
應當注意,在備選實施例中,頭端節(jié)點可以首先發(fā)送路徑計算請求到 每個遠端域中的每個PCE的路徑計算請求,并隨后接收所有遠端域的路徑 段,而不在初始時例如一次一個地檢査每個域中是否存在路徑。在接收到 所有路徑段時,頭端節(jié)點將這些段與其本地路徑信息相聯(lián)接,并確定是否 存在滿足TE-LSP的要求的路徑。如果存在,則頭端節(jié)點基于所有域的拓 撲(物理的或虛擬的)運行從頭端節(jié)點到尾端節(jié)點的SPF計算。
圖4是示出了用于根據(jù)本發(fā)明計算TE-LSP的備選步驟序列的流程 圖。序列400開始于步驟405,并繼續(xù)到步驟410,其中頭端節(jié)點確定目 的地尾端節(jié)點是否駐留在遠端域中。如果否,即,目的地是本地的,則頭 端節(jié)點在步驟415執(zhí)行到尾端節(jié)點的傳統(tǒng)SPF,序列在步驟460結(jié)束。否則,在步驟420,頭端節(jié)點識別位于本地域和包含目的地的遠端域之間的
遠端域。在步驟425,頭端節(jié)點計算到它的域中的連接到下一跳下游域的 每個出口邊界路由器的最短路徑。如果在步驟430確定不存在路徑(例如 當沒有路徑滿足TE-LSP約束)時,序列在歩驟460處結(jié)束。但是如果在 步驟430至少存在一個路徑,則序列繼續(xù)。
在步驟435,頭端節(jié)點發(fā)送請求到每個遠端域的PCE,以獲得從PCE 的域的每個入口邊界路由器到同一域的每個出口邊界路由器的路徑。在歩 驟440,頭端節(jié)點接收來自每個PCE的響應,該響應如上所述可以是一組 物理或虛擬鏈路。頭端節(jié)點在步驟445響應于已有的被存儲的拓撲(本地 拓撲)聯(lián)接路徑。如果在步驟450不存在穿過遠端域的滿足約束的路徑, 則序列結(jié)束。否則,頭端節(jié)點在步驟455利用完整的網(wǎng)絡拓撲(物理的和 虛擬的)執(zhí)行以頭端節(jié)點(源)為根的到尾端節(jié)點(目的地)的SPF,以 找出源和目的地之間的最短路徑從而建立TE-LSP。然后序列在步驟460 處結(jié)束。
圖5A到5F是示出了根據(jù)本發(fā)明的路徑段累積和路徑計算的示例性序 列的示意圖。使用圖1B的網(wǎng)絡100b,圖5A示出了在本地計算出的從頭 端節(jié)點A分別穿過物理節(jié)點nl和n2到出口邊界路由器ABR"和ABR2的 區(qū)域A1的第一路徑段。根據(jù)上面描述的方法,頭端節(jié)點A向有PCE能力 的ABR1H青求穿過區(qū)域A2的路徑段,并接收圖5B所示的路徑。頭端節(jié) 點將這些結(jié)果與本地信息聯(lián)接,如圖5C所示。圖5D示出了從目的地區(qū)域 A3 (從有PCE能力的ABR3*)到尾端節(jié)點B的返回的路徑段,該路徑段 隨后被與已有拓撲相聯(lián)接,如圖5E所示。例如,在圖5E中,從頭端節(jié)點 到第一組邊界路由器(ABR"和ABR2)的鏈路是物理鏈路,而其余鏈路 是虛擬的。最后,頭端節(jié)點A計算到尾端節(jié)點B的SPF,得到圖5F所示 的最優(yōu)路徑。本領域技術(shù)人員將理解,圖5A—5F僅應被視為說明示例, 并已經(jīng)為了便于理解而被簡化。注意,未示出開銷值,并且所得到的最優(yōu) 路徑僅是示例路徑。此外,在遠端域不具有有PCE能力的路由器或不具有 與頭端節(jié)點的域的協(xié)議時,本領域技術(shù)人員將理解這里描述的新穎技術(shù)和 其他傳統(tǒng)方法(例如松散跳路由選擇)的組合可以被使用。有益地,這里描述的技術(shù)實現(xiàn)了跨過網(wǎng)絡的多個域的路徑(例如域間
TE-LSP和/或不同路徑)的髙效計算。具體而言,本發(fā)明的技術(shù)提供了允 許本地域的頭端節(jié)點基于從多個域中的PCE接收的路徑段的更完整的拓撲 來執(zhí)行到遠端域的尾端節(jié)點的前向路徑計算的系統(tǒng)。本發(fā)明還提供了從頭 端節(jié)點到尾端節(jié)點的最優(yōu)(最短)路徑,同時保留了跨過多個域的保密 性。
以上描述涉及本發(fā)明的特定實施例。但是很明顯,在保留所描述的實 施例的一些或全部優(yōu)點的同時可以對所描述的實施例進行其他改變和修 改。例如,明確地考慮到了本發(fā)明的教導可被實現(xiàn)為軟件,包括具有在計 算機、硬件、固件或其組合上執(zhí)行的程序指令的計算機可讀介質(zhì)。因此, 本發(fā)明應僅被理解為示例性的而不應限制本發(fā)明的范圍。因此,所附權(quán)利 要求意在覆蓋落在本發(fā)明的真實精神和范圍內(nèi)的所有這些改變和修改。
權(quán)利要求
1. 一種用于計算從本地域的頭端節(jié)點到遠端域的尾端節(jié)點的跨越計算機網(wǎng)絡的多個域的流量工程(TE)標簽交換路徑(LSP)的方法,該方法包括請求來自一個或多個遠端域中的路徑計算元件(PCE)的路徑段,所述路徑段代表所述遠程域中的可能路徑;從所述一個或多個PCE接收路徑段;以及基于接收到的路徑段在所述頭端節(jié)點處執(zhí)行路徑計算,以找出從所述頭端節(jié)點延伸到所述尾端節(jié)點的最佳路徑。
2. 如權(quán)利要求l所述的方法,還包括計算所述本地域的本地拓撲;以及在執(zhí)行所述路徑計算之前將所述接收到的路徑段與所述本地拓撲相組合。
3. 如權(quán)利要求1所述的方法,還包括用所述路徑段代表遠端域的所有入口邊界路由器到同一遠端域的尾端節(jié)點之間的路徑,其中所述遠端域是目的地域。
4. 如權(quán)利要求3所述的方法,還包括用所述路徑段代表遠端域的所有入口邊界路由器到同一遠端域的所有出口邊界路由器之間的路徑,其中所述遠端域是所述目的地之外的域。
5. 如權(quán)利要求l所述的方法,其中所述路徑計算是前向路徑計算。
6. 如權(quán)利要求5所述的方法,其中所述前向路徑計算實現(xiàn)約束最短路徑優(yōu)先(CSPF)算法。
7. 如權(quán)利要求1所述的方法,還包括在請求來自另一域的路徑段之前確定所述多個域之一中是否存在路徑。
8. —種用于計算跨越計算機網(wǎng)絡的多個域的流量工程(TE)標簽交換路徑(LSP)的系統(tǒng),該系統(tǒng)包括一個或多個遠端域中的路徑計算元件(PCE);位于所述遠端域之一中的尾端節(jié)點,所述遠端域充當目的地域;以及本地域的頭端節(jié)點,所述頭端節(jié)點被配置為i)請求來自一個或多個遠端域中的PCE的路徑段,所述路徑段代表所述遠端域中的可能路徑;ii)接收來自所述PCE的路徑段,以及iii)基于接收到的路徑段執(zhí)行路徑計算,以找出從所述頭端節(jié)點延伸到所述尾端節(jié)點的最佳路徑。
9. 如權(quán)利要求8所述的系統(tǒng),還包括存儲在所述頭端節(jié)點中的本地域的本地拓撲信息,其中所述頭端節(jié)點在執(zhí)行所述路徑計算之前將所述接收到的路徑段與所述本地拓撲信息相組合。
10. 如權(quán)利要求8所述的系統(tǒng),其中所述路徑段代表所述目的地域的所有入口邊界路由器到所述尾端節(jié)點之間的路徑。
11. 如權(quán)利要求8所述的系統(tǒng),其中所述路徑段代表遠端域的所有入口邊界路由器到同一遠端域的所有出口邊界路由器之間的路徑,其中所述遠端域是所述目的地之外的域。
12. 如權(quán)利要求8所述的系統(tǒng),其中所述路徑計算是前向路徑計算。
13. 如權(quán)利要求12所述的系統(tǒng),其中所述前向路徑計算實現(xiàn)約束最短路徑優(yōu)先(CSPF)算法。
14. 如權(quán)利要求8所述的系統(tǒng),其中所述頭端節(jié)點在請求來自另一域的路徑段之前確定所述多個域之一中是否存在路徑。
15. —種用于計算從本地域的頭端節(jié)點到遠端域的尾端節(jié)點的跨越計算機網(wǎng)絡的多個域的流量工程(TE)標簽交換路徑(LSP)的裝置,該裝置包括用于請求來自一個或多個遠端域中的路徑計算元件(PCE)的路徑段的裝置,所述路徑段代表所述遠程域中的可能路徑;用于從所述一個或多個PCE接收路徑段的裝置;以及用于基于接收到的路徑段在所述頭端節(jié)點處執(zhí)行路徑計算,以找出從所述頭端節(jié)點延伸到所述尾端節(jié)點的最佳路徑的裝置。
16. —種包含可執(zhí)行程序指令的計算機可讀介質(zhì),所述指令用于計算從本地域的頭端節(jié)點到遠端域的尾端節(jié)點的跨越計算機網(wǎng)絡的多個域的流量工程(TE)標簽交換路徑(LSP),所述可執(zhí)行程序指令包括用于以下操作的程序指令請求來自一個或多個遠端域中的路徑計算元件(PCE)的路徑段,所述路徑段代表所述遠程域中的可能路徑;從所述一個或多個PCE接收路徑段;以及基于接收到的路徑段在所述頭端節(jié)點處執(zhí)行路徑計算,以找出從所述頭端節(jié)點延伸到所述尾端節(jié)點的最佳路徑。
全文摘要
一種用于計算從本地域的頭端節(jié)點到遠端域的尾端節(jié)點的跨越計算機網(wǎng)絡的多個域的流量工程(TE)標簽交換路徑(LSP)的方法,包括請求來自一個或多個遠端域中的路徑計算元件(PCE)的路徑段(435),所述路徑段代表所述遠程域中的可能路徑;從所述一個或多個PCE接收路徑段(440);以及基于接收到的路徑段在所述頭端節(jié)點處執(zhí)行路徑計算,以找出從所述頭端節(jié)點延伸到所述尾端節(jié)點的最佳路徑(455)。
文檔編號H04J3/14GK101536375SQ200680001650
公開日2009年9月16日 申請日期2006年1月30日 優(yōu)先權(quán)日2005年2月2日
發(fā)明者戴維·D·沃德, 讓-菲利普·瓦瑟爾, 馬薩拉杰·斯瓦巴蘭 申請人:思科技術(shù)公司