專利名稱:穿過一組自治系統(tǒng)的最短域間流量工程標(biāo)簽交換路徑計算的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)網(wǎng)絡(luò),更具體地說,涉及為穿過計算機(jī)網(wǎng)絡(luò)中的自治系統(tǒng)的流量工程(TE)標(biāo)簽交換路徑(LSP)計算最短路徑。
技術(shù)背景計算機(jī)網(wǎng)絡(luò)是由通信鏈路和網(wǎng)段互連的地理上分布的節(jié)點的集合,通 信鏈路和網(wǎng)段用于在諸如個人計算機(jī)和工作站之類的末端節(jié)點之間傳輸數(shù) 據(jù)。許多類型的網(wǎng)絡(luò)是可用的,其類型范圍從局域網(wǎng)(LAN)到廣域網(wǎng) (WAN)不等。LAN—般通過位于同一個總的物理位置(例如建筑物或 校園)中的專用私有通信鏈路連接節(jié)點。另一方面,WAN—般通過長距 離通信鏈路連接地理上分散的節(jié)點,所述長距離通信鏈路例如是公共載波 電話線、光路、同步光網(wǎng)絡(luò)(SONET)或同步數(shù)字層級體系(SDH)鏈 路。因特網(wǎng)是連接全世界的不同網(wǎng)絡(luò)的WAN的一個示例,其提供了各種 網(wǎng)絡(luò)上的節(jié)點之間的全球通信。節(jié)點一般通過根據(jù)預(yù)定義協(xié)議交換離散數(shù) 據(jù)分組或幀來經(jīng)由網(wǎng)絡(luò)通信,所述預(yù)定義協(xié)議例如是傳輸控制協(xié)議/因特網(wǎng) 協(xié)議(TCP/IP)。在這種上下文中,協(xié)議由定義節(jié)點彼此之間如何交互的 一組規(guī)則構(gòu)成。計算機(jī)網(wǎng)絡(luò)還可以由諸如路由器之類的中間網(wǎng)絡(luò)節(jié)點互 連,以擴(kuò)展每個網(wǎng)絡(luò)的有效"大小"。由于可以證明互連的計算機(jī)網(wǎng)絡(luò)的管理是很繁重的,因此較小的計算 機(jī)網(wǎng)絡(luò)群組可以被維護(hù)作為路由域或自治系統(tǒng)。自治系統(tǒng)(AS)內(nèi)的網(wǎng)絡(luò) 一般通過傳統(tǒng)的被配置為執(zhí)行域內(nèi)路由協(xié)議的"域內(nèi)"路由器耦合在一 起,并且通常受制于一個共同的權(quán)力機(jī)構(gòu)。為了提高路由可縮放性,服務(wù) 提供商(例如ISP)可以將AS劃分為多個"區(qū)域"。然而,可能希望增 大能夠交換數(shù)據(jù)的節(jié)點的數(shù)目;在這種情況下,執(zhí)行域間路由協(xié)議的域間 路由器被用于互連各種AS的節(jié)點。而且,可能希望互連工作在不同管理
域下的各種AS。這里所用的AS通常被稱為"域(domain)",并且將不 同域互連在一起的路由器通常被稱為"邊界路由器"。域間路由協(xié)議的示例是邊界網(wǎng)關(guān)協(xié)議版本4 (BGP),其通過在系統(tǒng) 中的鄰近域間路由器之間交換路由和可到達(dá)性信息來執(zhí)行域(AS)間的路 由。相鄰(adjacency)是一種在選定的鄰近(對等)路由器之間形成的關(guān) 系,其目的是交換路由信息消息并提取網(wǎng)絡(luò)拓?fù)?。由BGP對等路由器 (BGP講者(speaker)或BGP節(jié)點)交換的路由信息一般包括目的地地 址前綴,S卩,目的地地址中被路由協(xié)議用來進(jìn)行路由("下一跳")判決 的部分。這種目的地地址的示例包括IP版本4 (IPv4)和版本6 (IPv6) 地址。BGP通常工作在諸如TCP之類的可靠的傳輸協(xié)議上,以建立TCP 連接/會話。BGP協(xié)議是公知的,并且在1995年3月公布的題為"乂 G^evva少尸ratoco/ 4 ^SG尸-力"的注釋請求(RFC) 1771中有一般描述。中間網(wǎng)絡(luò)節(jié)點經(jīng)常將其路由信息存儲在由路由信息庫(RIB)維護(hù)和 管理的路由表中。路由表是一種可搜索數(shù)據(jù)結(jié)構(gòu),其中網(wǎng)絡(luò)地址被映射到 其關(guān)聯(lián)路由信息。然而,本領(lǐng)域技術(shù)人員將理解路由表不需要被組織為 表,而是也可以是另一類型的可搜索數(shù)據(jù)結(jié)構(gòu)。盡管中間網(wǎng)絡(luò)節(jié)點的路由 表可以被配置具有預(yù)定的一組路由信息,但是該節(jié)點也可以在其發(fā)送和接 收數(shù)據(jù)分組時動態(tài)獲取("學(xué)習(xí)")網(wǎng)絡(luò)路由信息。當(dāng)在中間網(wǎng)絡(luò)節(jié)點處 接收到分組時,分組的目的地地址(例如存儲在分組的頭部中)可以用于 標(biāo)識包含與接收到的分組相關(guān)聯(lián)的路由信息的路由表條目。分組的路由信 息指示分組的下一跳地址等等。為了確保其路由表包含最新的域間路由信息,中間網(wǎng)絡(luò)節(jié)點可以與其 他中間節(jié)點協(xié)作以散布代表當(dāng)前網(wǎng)絡(luò)拓?fù)涞穆酚尚畔ⅰ?一般而言,通過通 告BGP更新消息或者說"BGP通告"在互連的中間網(wǎng)絡(luò)BGP節(jié)點之間散 布路由信息。這里所用的BGP通告通常描述BGP路由協(xié)議用來在互連的 BGP節(jié)點(g卩,路由器和交換機(jī))之間傳輸路由信息的任何消息。在工作 中,遠(yuǎn)程BGP節(jié)點(例如屬于遠(yuǎn)程域)可以與本地BGP節(jié)點(例如屬于 本地域)建立BGP會話,并將所生成的BGP通告發(fā)送到本地BGP節(jié)點。
其后,本地BGP節(jié)點可以接收被發(fā)送的BGP通告,并基于包含在接收到 的BGP通告中的路由信息更新其路由表。注意,本地域與遠(yuǎn)程域之間的 (域間)BGP會話是外部BGP (eBGP)會話。本地BGP節(jié)點可以然后將 接收到的BGP通告發(fā)送到本地域中的其他BGP節(jié)點,直到本地域中的每 個互連的BGP節(jié)點都已接收到BGP通告并更新其本地路由表為止。注 意,域中的(域內(nèi))BGP會話是內(nèi)部BGP (iBGP)會話。域(例如AS) 中的BGP節(jié)點一般經(jīng)由完全網(wǎng)狀的iBGP會話安排連接,以保證所有的 BGP節(jié)點都接收到來自AS中的其他BGP節(jié)點的通告。注意,eBGP和 iBGP在此被一般地稱為"BGP"。在實際中,每個BGP節(jié)點一般生成并散布這樣的BGP通告,其路由 信息包括為了到達(dá)遠(yuǎn)程域中的某些目的地地址前綴必須穿越的域(AS)的 集合,等等。具體而言,域的集合通常被發(fā)送為BGP通告中的AS的有序 或無序集合。當(dāng)BGP節(jié)點在其域中通告前綴時,發(fā)起B(yǎng)GP節(jié)點將遠(yuǎn)程域 的標(biāo)識(AS號碼)插入到BGP通告中。在轉(zhuǎn)發(fā)BGP通告之前,每個后續(xù) 域中的BGP節(jié)點都將其AS號碼加入必須穿越的域的集合。這樣,每個接 收到某些目的地地址前綴的BGP通告的BGP節(jié)點了解要到達(dá)起始域中的 前綴必須橫跨的域的集合,或者通向前綴的"域路由"。注意,當(dāng)BGP節(jié) 點接收到來自多個域的描述通向同一 目的地的不同域路由的通告時,該節(jié) 點選擇用于到達(dá)該目的地(前綴)的單個最佳域路由。 一旦選定,節(jié)點就 使用BGP將最佳域路由傳播到其近鄰。該決定是基于包含在BGP通告和 其他BGP可配置要素(例如策略)中的諸如要穿越的域的數(shù)目之類的屬性 值的。域內(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ǒng)稱為鏈路狀態(tài)路由協(xié)議。鏈路 狀態(tài)協(xié)議定義了路由信息和網(wǎng)絡(luò)拓?fù)湫畔⒃谟蛑斜唤粨Q和處理的方式。該 信息通常涉及域內(nèi)路由器的本地狀態(tài)(例如,路由器的可用接口和可達(dá)的 近鄰或相鄰)。OSPF協(xié)議在1998年4月的題為K^o" 2"的 RFC 2328中有所描述,用在IP上下文中的IS-IS協(xié)議在1990年12月的題
為"o/ 057ZS*-ZS》r raw/— TCP/iP Z)wa/五"vzVow艦她"的RFC 1195中有所描述,這兩篇RFC都通過引用而結(jié)合于此。鏈路狀態(tài)協(xié)議通常用于散布代表特定域(例如,本地域)的當(dāng)前網(wǎng)絡(luò) 拓?fù)涞挠騼?nèi)路由信息。例如,假定中間網(wǎng)絡(luò)節(jié)點(IGP節(jié)點)檢測到其鄰 近節(jié)點(即,相鄰網(wǎng)絡(luò)節(jié)點)之一變得不可用,例如由于鏈路故障或鄰近 節(jié)點"離線"等等。在這種情形下,IGP節(jié)點可以更新存儲在其路由表中 的路由信息,以確保數(shù)據(jù)分組不被路由到不可用的網(wǎng)絡(luò)節(jié)點。此外,IGP 節(jié)點還可以將該網(wǎng)絡(luò)拓?fù)涞淖兓瘋鬏斀o其他IGP節(jié)點以使得其也可以更新 它們的本地路由表并繞過不可用節(jié)點。以這種方式,每個中間網(wǎng)絡(luò)節(jié)點 "知道"拓?fù)涞淖兓?。在實際中,每個IGP節(jié)點一般根據(jù)諸如鏈路狀態(tài)協(xié)議(例如,IS-IS, 或OSPF)之類的預(yù)定網(wǎng)絡(luò)通信協(xié)議來生成IGP通告并將這些IGP通告散 布("流播(flood)")到鄰近IGP節(jié)點(例如,屬于本地域)。傳統(tǒng)的 鏈路狀態(tài)協(xié)議使用鏈路狀態(tài)通告或鏈路狀態(tài)分組作為IGP通告,其中路由 信息包括中間節(jié)點的鄰近網(wǎng)絡(luò)節(jié)點的列表以及與每個近鄰相關(guān)聯(lián)的一個或 多個"成本"值。這里所用的與鄰近節(jié)點相關(guān)聯(lián)的成本值是用于確定與該 節(jié)點進(jìn)行通信的相對難易程度的任意度量。例如,成本值可以按照到達(dá)鄰 近節(jié)點所需的跳數(shù)、分組到達(dá)鄰近節(jié)點的平均時間、耦合到鄰近節(jié)點的網(wǎng) 絡(luò)鏈路上的可用帶寬或網(wǎng)絡(luò)流量的量等等方面來量度。IGP通告通常被流播,直到每個中間網(wǎng)絡(luò)IGP節(jié)點已經(jīng)從每個其他互 連的中間節(jié)點接收到IGP通告為止。注意,BGP節(jié)點也可以被配置為IGP 節(jié)點,使得經(jīng)由BGP通告接收到的某些信息(例如,遠(yuǎn)程域中的前綴)可 以按照IGP通告轉(zhuǎn)發(fā)到IGP節(jié)點。然后,每個IGP節(jié)點(例如,鏈路狀態(tài) 協(xié)議中的)可以通過聚集所接收的鄰近節(jié)點列表和成本值來構(gòu)造相同的網(wǎng) 絡(luò)拓?fù)?視圖"。為此,每個IGP節(jié)點可以將該接收到的路由信息輸入到 "最短路徑優(yōu)先"(SPF)計算中,該計算確定將中間節(jié)點與每個其他網(wǎng) 絡(luò)節(jié)點相耦合的最低成本網(wǎng)絡(luò)路徑。例如,Dijkstra算法是一種用于執(zhí)行 這種SPF計算的傳統(tǒng)技術(shù),在1999年9月公布的Radia Perlman的教科書 "/wterco""ecto^ &cow/五&"o""的12.2.4部分中有更詳細(xì)的描述,該書 通過引用而全文結(jié)合于此。每個IGP節(jié)點基于其SPF計算的結(jié)果更新存儲 在其本地路由表中的路由信息。更具體而言,RIB更新路由表以將目的地 節(jié)點與關(guān)聯(lián)到SPF計算所確定的到達(dá)這些節(jié)點的最低成本路徑的下一跳接 口聯(lián)系起來。多協(xié)議標(biāo)簽交換(MPLS)流量工程已被開發(fā)出來以滿足諸如有保證 可用帶寬或快速恢復(fù)之類的數(shù)據(jù)聯(lián)網(wǎng)需求。MPLS流量工程采用了現(xiàn)代標(biāo) 簽交換技術(shù)來構(gòu)建通過標(biāo)簽交換路由器(LSR)的IP/MPLS網(wǎng)絡(luò)的有保證 帶寬端到端隧道。這些隧道是一類標(biāo)簽交換路徑(LSP),因而通常被稱 為MPLS流量工程(TE) LSP。 MPLS TE的示例可以在2001年12月的題 為"ASr尸-r五五Wms/ora to i^PP/or 7Wme/s"的RFC 3209、 2004年 6月的題為"/w^rmet/!.ate匿Sysfem-to-7nferme(/i'c^e-ASy^em (ZS一/S)五;ctewsz'o"s /or 7Vq僑c £>^'"een>zg (T五/,的RFC 3784以及2003年9月的題為"Tra^c £>zg/ween>zg (7"五x&"Wo似to OS尸F(xiàn) J^raz'ow 2"的RFC 3630中找到,這些 RFC的內(nèi)容通過引用而整體結(jié)合于此。從頭端LSR到尾端LSR的MPLS TE-LSP的建立涉及計算通過LSR 的網(wǎng)絡(luò)的路徑。在最優(yōu)情況下,所計算出的路徑是在某種度量下測得的 "最短"路徑,其滿足所有相關(guān)的LSP流量工程約束,例如所需帶寬、 "相似性(affinity)"(用于避免或包括某些鏈路的管理約束)等等。路 徑計算或者可以由頭端LSR執(zhí)行,或者可以由不共處于頭端LSR上的充 當(dāng)路徑計算元件(PCE)的某個其他實體執(zhí)行。頭端LSR (或PCE)使用 其關(guān)于每條鏈路上的可用資源和網(wǎng)絡(luò)拓?fù)涞闹R來根據(jù)LSP流量工程約束 執(zhí)行路徑計算??梢允褂酶鞣N路徑計算方法,包括CSPF (約束最短路徑 優(yōu)先)。MPLS TE-LSP可以被配置在單個域(例如,區(qū)域、級別或AS) 內(nèi),或者也可以跨越多個域(例如多個區(qū)域、級別或AS)。PCE是有能力計算其在AS或區(qū)域中知道的任何節(jié)點之間的路徑的實 體。PCE之所以特別有用是因為它們更加了解它們的AS或區(qū)域內(nèi)的網(wǎng)絡(luò) 流量和路徑選擇,因此可被用于更好的路徑計算。頭端LSR還可以作為路 徑計算客戶端(PCC)工作,該PCC被配置用于向PCE發(fā)送路徑計算請 求并接收帶有計算出的路徑的響應(yīng),該響應(yīng)可能考慮到了來自其他PCC的
其他路徑計算請求。重要的是要注意,當(dāng)一個PCE向另一 PCE發(fā)送請求時,它充當(dāng)PCC。 PCE傳統(tǒng)上對其周圍的一個或多個區(qū)域、級別或AS外 部具有有限的可見性或不具有可見性。PCC可以通過管理員的預(yù)配置或利 用PCE發(fā)現(xiàn)(PCED)消息("通告")而得知PCE的存在,所述PCED 消息是從PCE在其區(qū)域內(nèi)或穿過整個AS發(fā)送的,用于通告其服務(wù)。在跨過域邊界時出現(xiàn)的一個困難是在頭端LSR處的路徑計算需要跨頭 端和尾端LSR之間的整個網(wǎng)絡(luò)的網(wǎng)絡(luò)拓?fù)浜唾Y源的知識。然而服務(wù)提供商 一般不跨域邊界彼此共享該信息。具體而言,網(wǎng)絡(luò)拓?fù)浜唾Y源信息通常并 不流過域邊界,即使單個服務(wù)提供商可以操作所有區(qū)域也是如此。頭端 LSR或任何單個PCE都沒有足夠的知識來計算路徑,其中,如果目的地未 駐留在直接連接的域中,則LSR或PCE可能沒有所需的知識。因此,要 計算域間TE-LSP需要MPLS流量工程路徑計算技術(shù)。為了擴(kuò)展MPLS TE-LSP跨域邊界,PCE的使用可以被配置為分布式 系統(tǒng),其中多個PCE協(xié)同計算端到端路徑(也被稱為"多PCE路徑計 算")。這種分布式PCE體系結(jié)構(gòu)的示例在2003年9月18日由Vasseur 等人提交的題為"COMPUTING INTER-AUTONOMOUS SYSTEM MPLS TRAFFIC ENGINEERING LSP PATHS"的共同擁有、共同未決的美國專 利申請No. 10/767,574中有所描述,該申請的內(nèi)容通過引用而整體結(jié)合于 此。在分布式PCE體系結(jié)構(gòu)中,計算路徑所需的可視性被在相鄰域之間擴(kuò) 展以使得PCE可以通過在保留跨域的機(jī)密性(例如當(dāng)適用于AS時)的同 時交換虛擬最短路徑樹(VSPT)來協(xié)作計算跨多個域的路徑。某些應(yīng)用可能結(jié)合了單向數(shù)據(jù)流,該單向數(shù)據(jù)流被配置為根據(jù)某一 "服務(wù)質(zhì)量"(QoS)將時間敏感流量從計算機(jī)網(wǎng)絡(luò)中的源(發(fā)送者)傳 送到網(wǎng)絡(luò)中的目的地(接收者)。這里,網(wǎng)絡(luò)資源可以被預(yù)留用于單向流 以確保維持與數(shù)據(jù)流相關(guān)聯(lián)的QoS。資源預(yù)留協(xié)議(RSVP)是一種使應(yīng) 用能夠預(yù)留資源以為其數(shù)據(jù)流獲得特殊QoS的網(wǎng)絡(luò)控制協(xié)議。RSVP與路 由協(xié)議結(jié)合工作,以便例如為計算機(jī)網(wǎng)絡(luò)中的數(shù)據(jù)流預(yù)留資源從而建立該 數(shù)據(jù)流所需的QoS水平。RSVP在R. Braden等人的" i^&^ariow尸ratoco/ (T^F""的RFC 2205中定義。在流量工程應(yīng)用的情
況下,RSVP信令被用于建立TE-LSP,并向沿著遵循這組所需約束的TE-LSP (其路徑可能已通過各種方式計算出)的諸如邊界路由器之類的路由 器傳送各種TE-LSP屬性。因為BGP節(jié)點可以基于諸如到達(dá)目的地或策略要穿越的域數(shù)之類的某 些屬性來通告最佳域路由,所以用于跨多個域的TE-LSP的基于PCE的路 徑計算技術(shù)通常限于基于BGP標(biāo)準(zhǔn)來穿越"最佳"域路由。結(jié)果,路徑計 算技術(shù)當(dāng)前依賴于基于樹的域結(jié)構(gòu)的假設(shè)(對每個目的地前綴都有一個已 知的域路由)或者手動設(shè)置的要穿越的域的集合(例如,通過具有所需域 路由的知識的管理員)。然而,在某些環(huán)境下,對于從源到目的地的給定 TE-LSP的"最佳"路徑(例如,基于不同的成本度量)可以經(jīng)由與通過 BGP通告的域路由不同的域路由。因此,仍然需要這樣一種技術(shù),其高效 地確定通向TE-LSP的尾端節(jié)點的域路由集合,并生成對每個可能的域路 由的路徑計算請求,以便基于TE-LSP度量來選擇從源到目的地的最短路 徑。發(fā)明內(nèi)容本發(fā)明針對一種用于為計算機(jī)網(wǎng)絡(luò)中從本地域中的頭端節(jié)點到遠(yuǎn)程域 中的尾端節(jié)點的流量工程(TE)標(biāo)簽交換路徑(LSP)計算最短路徑的技 術(shù)。該新穎的路徑計算技術(shù)確定TE-LSP要到達(dá)尾端節(jié)點(例如,沿"域 路由")可以穿越的不同遠(yuǎn)程域的集合。 一旦可能的路由的集合被確定, 頭端節(jié)點就將路徑計算請求發(fā)送到其本地域中的一個或多個路徑計算元件 (PCE),請求為每個域路由計算路徑。當(dāng)接收到對每個可能的域路由的 路徑響應(yīng)時,頭端節(jié)點選擇最佳(最短)路徑,并且相應(yīng)地建立TE-LSP 。在這里描述的示例性實施例中,利用邊界網(wǎng)關(guān)協(xié)議(BGP)消息的擴(kuò) 展來確定域路由。遠(yuǎn)程域的BGP節(jié)點通過跨域傳送的BGP消息("BGP 通告")將通向各種前綴(例如,通向包含尾端節(jié)點的前綴)的域路由傳 播(通告)到本地BGP節(jié)點。所述擴(kuò)展使得BGP通告除了可以通告由通 告BGP節(jié)點通告的最佳域路由之外還可以通告所有可能的域路由。 根據(jù)本發(fā)明的一個方面,頭端節(jié)點接收包含可能的域路由的BGP通 告,并且確定通向尾端節(jié)點(例如,通向尾端節(jié)點的前綴)的域路由的集 合。注意,頭端節(jié)點可以基于策略排除域路由,并且還可以排除如下域路 由,如果這些域路由是其他域路由的超集的話(即,包括某個其他域路由 中除一個或多個其他域之外的所有域)。頭端節(jié)點為每個剩余的域路由生 成路徑計算請求,并且將這些請求發(fā)送到適當(dāng)?shù)腜CE (即,處理對特定域路由的請求的PCE)。在這里描述的示例性實施例中,根據(jù)資源預(yù)留協(xié)議(RSVP) TE信令 消息來發(fā)送路徑計算請求。頭端節(jié)點將如BGP通告所發(fā)現(xiàn)的域路由信息插 入到路徑計算請求中,并且將該請求發(fā)送到適當(dāng)?shù)腜CE。注意,路徑計算 請求包括用于傳遞域路由信息的類型/長度/值(TLV)的編碼格式。 一個 或多個PCE然后基于請求內(nèi)的信息來為每個域路由計算最短路徑,而不管 被PCE —般用于路徑計算的域路由。根據(jù)本發(fā)明的另一個方面,頭端節(jié)點接收對路徑計算請求的響應(yīng),其 中每個響應(yīng)包含相應(yīng)域路由的最短路徑(例如,基于某一度量或"成 本")。頭端節(jié)點然后選擇通向尾端節(jié)點的最短路徑,并相應(yīng)地建立TE-LSP。注意,頭端節(jié)點可以被配置為在選擇最短路徑之前的一段時間內(nèi)接 收響應(yīng)。另外,從未被選擇的其他域路由得到的路徑可以被存儲用作備份 路徑或其他用途。有利地,新穎的技術(shù)為計算機(jī)網(wǎng)絡(luò)中從本地域中的頭端節(jié)點到遠(yuǎn)程域 中的尾端節(jié)點的TE-LSP計算最短路徑。通過確定通向尾端節(jié)點的域路由 的集合,創(chuàng)造性的技術(shù)提供了一種用于為每個可能的域路由生成路徑計算 請求并選擇包含在對該請求的響應(yīng)中的最短路徑的高效機(jī)制。特別地,本 發(fā)明通過多個域路由的選擇來提供最短路徑,而不是僅通過可能是或者可 能不是最佳路由的傳統(tǒng)域路由來提供最短路徑。
本發(fā)明的以上和其他的優(yōu)點可通過參考下面結(jié)合附圖的描述得以更好 地理解,在附圖中相似的標(biāo)號指示相同或功能類似的元件,附圖中
圖1是可以根據(jù)本發(fā)明使用的自治系統(tǒng)的示例性計算機(jī)網(wǎng)絡(luò)的示意性 框圖;圖2是可以結(jié)合本發(fā)明有利地使用的示例性路由器的示意性框圖; 圖3是可以被路由器發(fā)送的示例性BGP通告的示意性框圖;圖4是可以結(jié)合本發(fā)明有利地使用的RSVP路徑通信請求的一部分的 示意框圖;圖5是根據(jù)本發(fā)明的可以用于發(fā)送可能的域路由的示例性NLRI條目;圖6是圖示可以結(jié)合本發(fā)明有利地使用的域路由對象的示意性框圖;并且圖7是圖示根據(jù)本發(fā)明的用于計算最短域間路徑的步驟序列的流程圖。
具體實施方式
圖1是包括自治系統(tǒng)AS1和AS5的示例性計算機(jī)網(wǎng)絡(luò)100的示意性 框圖,其中如圖所示自治系統(tǒng)AS1和AS5通過自治系統(tǒng)AS2、 AS3和 AS4互連。自治系統(tǒng)(AS)在這里被定義為網(wǎng)絡(luò)內(nèi)的一組中間節(jié)點(例 如域內(nèi)路由器),它們受制于同一機(jī)構(gòu)并執(zhí)行一個或多個域內(nèi)路由協(xié)議。 雖然每個AS被示為自治系統(tǒng),但本領(lǐng)域技術(shù)人員將意識到,AS也可被 配置為路由域或其他網(wǎng)絡(luò)或子網(wǎng)。自治系統(tǒng)AS1包括諸如邊界路由器 ASBR1和ASBR2之類的域內(nèi)路由器,通過這些邊界路由器,通信(例如 數(shù)據(jù)分組)可進(jìn)入該AS和離開該AS到AS2和AS4的其他AS邊界路由 器(未示出)。此外,在AS1和AS5內(nèi),分別存在示例性的域內(nèi)路由器 A和B。本領(lǐng)域技術(shù)人員將會理解,在AS中可以使用任何數(shù)目的路由 器,并且在以各種其他配置互連的網(wǎng)絡(luò)100中可以包含任何數(shù)目的AS。 這些示例僅僅是描述性的,并且這里的視圖是出于簡化目的而示出的。數(shù)據(jù)分組可以利用預(yù)定的網(wǎng)絡(luò)通信協(xié)議在自治系統(tǒng)AS1-AS5之間交 換,所述網(wǎng)絡(luò)通信協(xié)議例如是傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)、用戶 數(shù)據(jù)報協(xié)議(UDP)、異步傳輸模式(ATM)協(xié)議、幀中繼協(xié)議、因特網(wǎng) 分組交換(IPX)協(xié)議等等。路由信息可以通過使用鏈路狀態(tài)通告或鏈路 狀態(tài)分組而利用預(yù)定的"內(nèi)部"網(wǎng)關(guān)協(xié)議(IGP)在AS內(nèi)的路由器間被分發(fā),所述IGP例如是傳統(tǒng)的距離向量協(xié)議或說明性的鏈路狀態(tài)協(xié)議。另外,包含網(wǎng)絡(luò)路由信息的數(shù)據(jù)分組可以利用"外部"網(wǎng)關(guān)協(xié)議在自治系統(tǒng)AS1-AS5間被交換,所述"外部"網(wǎng)關(guān)協(xié)議例如是在此進(jìn)一步描述的邊界 網(wǎng)關(guān)協(xié)議(BGP)。圖2是可以結(jié)合本發(fā)明有利地使用作為域內(nèi)路由器或邊界路由器的示 例性路由器200的示意性框圖。該路由器包括通過系統(tǒng)總線250互連的多 個網(wǎng)絡(luò)接口 210、處理器220和存儲器240。網(wǎng)絡(luò)接口 210包含用于通過 耦合到網(wǎng)絡(luò)100的物理鏈路傳輸數(shù)據(jù)的機(jī)械的、電的和信令電路。網(wǎng)絡(luò)接 口可以被配置為利用多種不同通信協(xié)議發(fā)送和/或接收數(shù)據(jù),這些協(xié)議尤其 包括TCP/IP、 UDP、 ATM、同步光網(wǎng)絡(luò)(SONET)、無線協(xié)議、幀中 繼、以太網(wǎng)、光纖分布數(shù)據(jù)接口 (FDDI)等等。存儲器240包括多個用于存儲與本發(fā)明相關(guān)聯(lián)的軟件程序和數(shù)據(jù)結(jié)構(gòu) 的存儲單元,這些存儲單元可由處理器220和網(wǎng)絡(luò)接口 210尋址。處理器 220可包括適合于執(zhí)行軟件程序并操作數(shù)據(jù)結(jié)構(gòu)的必要元件或邏輯。路由 器操作系統(tǒng)242 (其某些部分一般駐留在存儲器240中并由處理器執(zhí)行) 在功能上通過調(diào)用支持在路由器上執(zhí)行的軟件過程和/或服務(wù)的網(wǎng)絡(luò)操作等 等,來組織路由器。這些軟件過程和/或服務(wù)包括PCC/PCE過程245、路 由服務(wù)247、 TE服務(wù)244和RSVP服務(wù)249。本領(lǐng)域技術(shù)人員將清楚,其 他處理器和存儲器裝置(包括各種計算機(jī)可讀介質(zhì))可以用于存儲和執(zhí)行 與這里描述的創(chuàng)造性技術(shù)有關(guān)的程序指令。路由服務(wù)247包含由處理器220執(zhí)行的用于執(zhí)行由一種或多種路由協(xié) 議(例如IGP和BGP)提供的功能的計算機(jī)可執(zhí)行指令。這些功能可以被 配置為管理包含例如用于進(jìn)行轉(zhuǎn)發(fā)判決的數(shù)據(jù)的轉(zhuǎn)發(fā)信息數(shù)據(jù)庫(未示 出)。TE服務(wù)244包含根據(jù)本發(fā)明用于操作TE功能的計算機(jī)可執(zhí)行指 令。流量工程的示例在如上面所結(jié)合的RFC 3209、 RFC 3784和RFC 3630 中有所描述,并且在2003年1月的題為"GewerafeeJ Mw/"-尸ratoco/ Z^&/ 5Vv"c/^力g fGA/P丄S) 5Vgwa//wg 7 escmrce 7 &SerKa^ow /Votoco/-7Vq^c
五wg&een'"g fKSF尸-r五/'的RFC 3473中有所描述,RFC 3473通過引用而 整體結(jié)合于此。RSVP服務(wù)249包含根據(jù)本發(fā)明用于實現(xiàn)RSVP和處理 RSVP消息的計算機(jī)可執(zhí)行指令。RSVP在題為"i awwce ^SerFa^3" 尸ratoco/ 「i 5T""的RFC 2205以及題為"i Sr尸-7E:」&cte"Wo朋to i^FP/or 丄S尸r"朋e/s"的RFC 3209中有所描述,這兩篇RFC都如上面所結(jié)合。網(wǎng)絡(luò)可到達(dá)性信息可以利用BGP通告在路由器200之間傳輸。例如, 假定在AS內(nèi)建立了新的地址前綴,或者在兩個或多個AS之間創(chuàng)建了新 的連接。 一旦網(wǎng)絡(luò)狀態(tài)的改變被能夠?qū)崿F(xiàn)BGP的路由器之一檢測到,該路 由器就可以發(fā)送BGP通告,將改變傳輸?shù)狡渌鸄S。圖3圖示了可由能夠?qū)崿F(xiàn)BGP的路由器200發(fā)送的示例性BGP通告 300。作為示例,BGP通告300是BGP更新消息。分組包括BGP頭部 310、不可行的路由長度字段320、不可到達(dá)路由(w池dmwn route) 330、 總路徑屬性長度字段340、路徑屬性350,以及網(wǎng)絡(luò)層可到達(dá)性信息(NLRI) 360。 BGP頭部310包含BGP消息的類型(例如,更新消息)、 消息的總長度,以及諸如可預(yù)測認(rèn)證數(shù)據(jù)之類的其他己知信息。不可行的 路由長度字段320表示不可到達(dá)路由330的可變長度,所述不可到達(dá)路由 330包含不再被通告BGP節(jié)點使用(或通告)的路由的列表。注意,如果 更新消息300僅通告可行路由,則不可到達(dá)路由字段330無需存在??偮窂綄傩蚤L度字段340指示路徑屬性350的可變長度。路徑屬性域 350包含具有屬性類型、屬性長度和屬性值的一連串可選的路徑屬性,例 如AS—PATH屬性355等等。AS—PATH屬性355是公知的強(qiáng)制屬性,其標(biāo) 識BGP更新消息300中所攜帶的路由信息己經(jīng)經(jīng)過的AS (即域路由)。 該屬性的組成部分包括可被配置為無序AS集合("AS—SET")或有序 AS序列("AS—SEQUENCE")的路徑段。每個路徑段是由類型(AS—SET或AS—SEQUENCE)、長度(路徑段中的AS的數(shù)目)和路徑 段字段表示的,所述路徑段字段包含一個或多個AS號碼(即每個AS的 唯一標(biāo)識),每個AS號碼被編碼為雙八位組(16位)數(shù)字。注意,當(dāng)來 自每個AS的BGP節(jié)點接收BGP更新消息300時,其在將消息300發(fā)送 到另一個AS (但不是發(fā)送到同一 AS中的其他BGP節(jié)點)之前將其自己的AS號碼附于AS—PATH屬性集合或序列,從而用適當(dāng)?shù)闹堤畛?AS—PATH屬性355。網(wǎng)絡(luò)層可到達(dá)性信息(NLRI)字段360包含地址前綴的列表,該列表 的長度是利用包含在BGP頭部310中的BGP消息300的總長度來計算 的。NLRI字段360中的可到達(dá)性信息包括一個或多個包含長度字段366 的編碼條目500,所述長度字段366表示前綴字段368的長度。前綴字段 368包含經(jīng)由在BGP更新消息300的AS—PATH屬性355中發(fā)現(xiàn)的通告域 路由可到達(dá)的目的地地址前綴。注意,零長度的前綴368指示與所有目的 地地址相匹配的前綴。BGP更新消息300至多可以向一組目的地前綴通告 一個路由,并且所有的路徑屬性350都必須應(yīng)用于包含在NLRI字段360 中的整組目的地前綴。在一個實施例中,這里描述的路由器是實現(xiàn)多協(xié)議標(biāo)簽交換 (MPLS)并作為標(biāo)簽交換路由器(LSR)工作的IP路由器。在一種簡單 的MPLS場景中,在網(wǎng)絡(luò)的入口處,在將每個傳入的分組轉(zhuǎn)發(fā)到下一跳路 由器之前,基于該分組的轉(zhuǎn)發(fā)等價類向其分配標(biāo)簽。在每個路由器處,通 過利用在傳入分組中找到的標(biāo)簽作為參考查閱包括該信息的標(biāo)簽轉(zhuǎn)發(fā)表來 確定轉(zhuǎn)發(fā)選擇和新的替換標(biāo)簽。在網(wǎng)絡(luò)的出口 (或其前一跳)處,基于傳 入的標(biāo)簽來進(jìn)行轉(zhuǎn)發(fā)判決,但是在分組被發(fā)送到下一跳上時可以選擇不包 括標(biāo)簽。以這種方式穿越網(wǎng)絡(luò)的分組所經(jīng)過的路徑被稱為標(biāo)簽交換路徑 (LSP)或流量工程(TE) -LSP。 TE-LSP的建立需要計算路徑、沿該路 徑發(fā)送信令,以及沿該路徑修改轉(zhuǎn)發(fā)表。MPLSTE建立了在某些條件下具 有有保證的帶寬的LSP。作為示例,可以通過使用RSVP協(xié)議特別是 RSVP TE信令消息來向TE-LSP發(fā)信號。雖然這里描述的示例性實施例針對MPLS,但是還應(yīng)當(dāng)注意,本發(fā)明 可以有利地應(yīng)用到通用MPLS (GMPLS),其不僅與基于分組和信元的網(wǎng) 絡(luò)相關(guān),還與時分復(fù)用(TDM)和光網(wǎng)絡(luò)相關(guān)。GMPLS是公知的,并且 在2004年10月的題為"Ge"erafeed Mt//&-尸rotoco/丄a6e/ Sw"c/n"g (t M尸LS) j;x/ ^"w^"的RFC 3945以及題為"GewerafeeJ Mw/"-尸ratoco/ 丄"6e/ /SW/cA/"g fGMPL6^ fxte肌'o"s ybr ;^y"cAra"ows (7Wca/ iVeA4/o廠A: 0CW五"朋J ^"c/ rawow Z)&"a/ i7zerarc— (5D坊Cow/ra/"的RFC 3946中 有所描述,這兩個RFC的全部內(nèi)容通過引用而結(jié)合于此。為了計算跨多個域的路徑,前面結(jié)合的序列號為10/767,574的美國申 請描述了在分布式路徑計算元件(PCE)體系結(jié)構(gòu)中使用虛擬最短路徑樹 (VSPT)算法,其中域間TE-LSP的計算涉及多個PCE。作為替代,用于 分布式PCE體系結(jié)構(gòu)中的域間TE-LSP的轉(zhuǎn)發(fā)路徑計算技術(shù)(即從頭端節(jié) 點到尾端節(jié)點)在Vasseur等人于2005年2月2日提交的題為"INTER-DOMAIN PATH COMPUTATION TECHNIQUE"的共同擁有、共同未決 的序列號為11/049,587的美國專利申請中有所描述,其全部內(nèi)容通過引用 而結(jié)合于此。注意,本領(lǐng)域的技術(shù)人員將清楚其他方法也可以用于計算 TE-LSP (例如,寬松跳(loose hop)、顯式路徑等等),并且這種方法在 本發(fā)明的范圍內(nèi)。作為一個示例,假定圖1所示的所有邊界路由器(ASBR1-2)都是能 夠?qū)崿F(xiàn)PCE的邊界路由器。本地PCE的地址可以手工配置?;蛘?,利用 例如根據(jù)2004年7月公布的Vasseur等人的"OS尸F(xiàn) MPLS 7>y#c £>zgz'"em'"g Copa碰ries (^ra/M^meMr-os/ /^e-cap":x;""的路徑計算兀件發(fā) 現(xiàn)(PCED)技術(shù),PCE可以通過在域內(nèi)流播(flooding)來通告其自身, 上述公布通過引用而結(jié)合于此。PCED消息可以包括PCE的地址和PCE能 力的指示等等,PCE能力例如是計算本地路徑、區(qū)域間路徑、AS間路 徑、多域路徑、多樣路徑等等的能力。可以通過靜態(tài)配置或本領(lǐng)域技術(shù)人 員所能夠容易設(shè)計的其他方法來獲得其他PCE地址的知識。注意, 一種用 于在域中存在多個PCE的情況下選擇要使用的PCE的技術(shù)在Vasseur等人 于2004年11月5日提交的題為"TECHNIQUE FOR SELECTING A PATH COMPUTATION ELEMENT "的共同擁有、共同未決的序列號為 10/983,280的美國專利申請中有所描述,上述申請的全部內(nèi)容通過引用而 結(jié)合于此。PCC與PCE之間的路徑計算請求(和響應(yīng))可以根據(jù)在2004年7月 的Vasseur等人的因特網(wǎng)草案Pa A Comjwta"ow Ae《"a^ aw J i ep/少
Ma 5"gey 〈&"y -ms^M廠-w/^-cow^wtoZ/ow-ravp-OJ.加> "中規(guī)定的協(xié)議進(jìn)行 交換,上述草案通過引用而全文結(jié)合于此。根據(jù)RSVP,為了請求從頭端 節(jié)點到尾端節(jié)點的TE-LSP (數(shù)據(jù)流),頭端節(jié)點(PCC)可以向本地 PCE發(fā)送路徑計算請求。路徑計算請求可以包含關(guān)于所請求的數(shù)據(jù)流的各 種信息,這些信息例如包括該數(shù)據(jù)流的流量特性。圖4是可以結(jié)合本發(fā)明 有利地使用的RSVP路徑通信請求400的某些部分的示意性框圖。消息 400包含公共頭部410、請求ID對象415、發(fā)送者模板對象420和流量規(guī) 范(Tspec)對象430等等。應(yīng)當(dāng)注意,消息400可以包含其他對象,這些 對象包括新穎域路由對象600 (下面有進(jìn)一步描述)。應(yīng)當(dāng)明白RSVP的 使用僅充當(dāng)一個示例,并明白根據(jù)本發(fā)明可以使用其他通信協(xié)議。本發(fā)明涉及一種用于為計算機(jī)網(wǎng)絡(luò)中的從本地域中的頭端節(jié)點到遠(yuǎn)程 域中的尾端節(jié)點的流量工程(TE)標(biāo)簽交換路徑(LSP)計算最短路徑的 技術(shù)。該新穎路徑計算技術(shù)確定TE-LSP要到達(dá)尾端節(jié)點(例如,沿"域 路由")可以穿越通過的不同遠(yuǎn)程域的集合。 一旦可能路由的集合被確 定,則頭端節(jié)點向其本地域中的一個或多個路徑計算元件(PCE)發(fā)送路 徑計算請求,請求為每個域路由計算路徑。當(dāng)接收到每個可能的域路由的 路徑響應(yīng)時,頭端節(jié)點選擇最佳(最短)路徑,并且相應(yīng)地建立TE-LSP 。在這里描述的示例性實施例中,利用邊界網(wǎng)關(guān)協(xié)議(BGP)消息的擴(kuò) 展來確定域路由。遠(yuǎn)程域的BGP節(jié)點通過跨域傳送的BGP消息("BGP 通告")300將通向各種前綴(例如,通向包含尾端節(jié)點的前綴)的域路 由傳播(通告)到本地BGP節(jié)點。所述擴(kuò)展使得BGP通告除了可以通告 由通告BGP節(jié)點通告的最佳域路由之外還可以通告所有可能的域路由。圖5是根據(jù)本發(fā)明的可以用于發(fā)送可能的域路由的示例性NLRI條目 500。 NLRI條目的擴(kuò)展(如圖3原來所示)仍包括如上所述的長度字段 566和前綴字段568。另外,擴(kuò)展包括標(biāo)志字段562和標(biāo)識符字段564。標(biāo) 志字段562包含關(guān)于當(dāng)前BGP通告300是否包括最佳路徑(例如,BGP 將選擇用于通告的路徑)、第一個發(fā)送的路徑(故接收BGP節(jié)點知道要期 待更多的可能域路由)、最后一個發(fā)送的路徑(故接收BGP節(jié)點知道不要
期待更多的可能域路由)等等的域路由(AS_PATH 355)的指示。標(biāo)識符 字段564還包含每個路徑的唯一標(biāo)識,使得接收節(jié)點可以區(qū)分路徑。注 意,因為每個BGP通告300在AS—PATH屬性355中僅包含一個可能的域 路由,故不同的BGP通告包含可能的域路由中的每一個。NLRI條目500 的擴(kuò)展和其在BGP中通告多個路徑的用途在2002年11月公布的Walton 等人的 "Jc ver"semewf o/ A/w/^p/e尸af/w z力(c^a/Z-wa/tow-^g/^-afiW-/ W/w-W./x/>"中有進(jìn)一步描述,該公布的全部內(nèi)容通過引用而結(jié)合于 此。本領(lǐng)域技術(shù)人員將理解到其他技術(shù)也可以用于發(fā)送通向前綴的多個域 路由,并且這些技術(shù)在本發(fā)明的范圍內(nèi)。上面定義的擴(kuò)展僅僅是示例。參照圖1,頭端節(jié)點(節(jié)點A)接收BGP通告300 (例如,來自 ASBRl禾B ASBR2) , BGP通告300通告通向AS5中的地址前綴的域路 由,AS5包含尾端節(jié)點(節(jié)點B)。根據(jù)BGP的"最佳路徑"(即最少數(shù) 目的域)是這里如域路由{1, 4, 5}表示的從AS1到AS4再到AS5的域路 由。作為示例,網(wǎng)絡(luò)100的從AS1到AS5的剩余通告域路由是{1, 2, 3, 5}; {1,2,4,5}; {1,2,3,4,5}; {1,2,4,3,5}; {1,4,2,3,5};以及{1,4,3, 5}。根據(jù)本發(fā)明的一個方面,頭端節(jié)點接收包含可能的域路由的BGP通 告,并且確定通向尾端節(jié)點(例如,通向尾端節(jié)點的前綴)的域路由的集 合。頭端節(jié)點(節(jié)點A)可被配置為能夠?qū)崿F(xiàn)BGP的節(jié)點。這樣,頭端節(jié) 點可以從另一個域(例如,AS2)直接接收作為eBGP消息的BGP通告 300,或者也可以通過iBGP消息從其域(AS1)內(nèi)的另一個能夠?qū)崿F(xiàn)BGP 的節(jié)點(例如從ASBR1)接收通告。注意,頭端節(jié)點可以基于策略排除域路由,并且還可以排除如下域路 由,如果該域路由是其他域路由的超集的話(即,包括某個其他域路由中 的所有域,還包括一個或多個其他域)。例如,再次參照圖1的可能域路 由,假定未應(yīng)用基于策略的排除(如本領(lǐng)域技術(shù)人員將會理解的),則所 有可能的域路由都保留。然而,可能希望從可能的域路由的列表進(jìn)一步排 除任何超集以避免多余的路徑計算流量。例如,因為域路由{1, 4, 5}是最 短的域路由(即,具有最少數(shù)目的域),所以任何穿越域1、 4、 5以及其長的域路由。以這種方式,{1, 2, 4,5}、 {1,2,3,4,5}、 {1,2,4,3, 5}、 {1, 4, 2, 3, 5}和{1, 4, 3, 5}這些域路由都包含域1、 4和5,并因此是(注意,子集{1,4, 5}的)超集并可以被排除。剩余的域 路由然后包括{1,4,5}和仏2, 3, 5}。注意,本領(lǐng)域技術(shù)人員將會理解,超 集可能已被先前的域以相同方式排除,并且頭端節(jié)點可能僅接收到通向尾 端節(jié)點的域路由的超集(若有的話)的一部分。頭端節(jié)點為每個剩余的域路由生成路徑計算請求,并且將這些請求發(fā) 送到適當(dāng)?shù)腜CE (即,處理對特定域路由的請求的PCE)。例如,再次假 定ASBR1和ASBR2是能夠?qū)崿F(xiàn)PCE的節(jié)點,ASBR1可能更適于接收對 于以AS2開始的域路由的路徑計算請求,而ASBR2可能更適于對于以 AS4開始的域路由的路徑計算請求。如上面提到,用于選擇PCE的技術(shù)在 上面引用的序列號為10/983,280的美國專利申請中有進(jìn)一步描述。在這里描述的示例性實施例中,根據(jù)諸如路徑計算請求400之類的 RSVP TE信令消息來發(fā)送路徑計算請求。頭端節(jié)點將如BGP通告300所 發(fā)現(xiàn)的域路由信息插入到路徑計算請求400中,并且將該請求發(fā)送到適當(dāng) 的PCE。注意,路徑計算請求400包括類型/長度/值(TLV)被編碼的格 式,用于傳遞域路由信息。例如域路由對象600。圖6是圖示可以結(jié)合本 發(fā)明有利地使用的利用TLV編碼的域路由對象600的示意性框圖。TLV 編碼格式是一種用于在諸如路由器之類的節(jié)點之間傳輸信息的一般方式。 TLV "屬性"600被用來標(biāo)識正被傳輸(傳遞)的信息的類型(T)、要被 傳遞的信息的長度(L)和所傳遞的實際信息的值(V)。長度字段610中 所包含的長度(L)參數(shù)一般是特定于實現(xiàn)方式的,并且可以表示從屬性 600的類型字段605的開始處起到結(jié)尾的長度。但是,長度一般表示值 (V)字段615的長度,而不表示類型(T)或長度(L)字段的長度。具 體而言,根據(jù)本發(fā)明,值字段615對所需域路由(例如,{1,4,5}和{1,2,3, 5})中的域(AS)的有序列表進(jìn)行編碼。本領(lǐng)域技術(shù)人員將會理解,不但 有序列表可以采用與AS—PATH屬性355類似的格式,而且在本發(fā)明范圍 內(nèi)可以使用其他的格式和配置。一個或多個PCE然后基于請求內(nèi)的信息來為每個域路由計算最短路
徑,而不管一般用于由PCE進(jìn)行的路徑計算的域路由。如上所述,路徑計算請求400包含域的有序列表,從而"強(qiáng)制"了路徑計算的路由。當(dāng)PCE 接收到請求400時,其檢査域路由對象600的內(nèi)容并確定路徑計算請求 400接著將被發(fā)送到哪個域。以這種方式,每個路徑計算請求400穿越通 向尾端節(jié)點的適當(dāng)?shù)挠蚵酚桑沟眠x定用于供BGP使用的域路由僅是可能 的多個選擇之一。用于計算跨多個AS的路徑的方法對本領(lǐng)域技術(shù)人員是 已知的,并且在上面引用的序列號為10/767,574和11/049,587的美國申請 中有進(jìn)一步描述。根據(jù)本發(fā)明的另一個方面,頭端節(jié)點接收對路徑計算請求的響應(yīng)(即 路徑計算回復(fù)),其中每個響應(yīng)包含相應(yīng)域路由的最短路徑(例如,基于 某一度量或"成本")。將每個接收到的域路由路徑和其相應(yīng)的成本值存 儲在頭端節(jié)點的存儲器240中,直到已經(jīng)接收到所有的響應(yīng)為止。頭端節(jié) 點然后選擇通向尾端節(jié)點的最短路徑,并相應(yīng)地建立TE-LSP。作為示 例,頭端節(jié)點利用為本領(lǐng)域技術(shù)人員已知并且在這里描述的RSVPTE信 令消息來建立TE-LSP。注意,頭端節(jié)點可以被配置為在選擇最短路徑之前的一段時間內(nèi)接收 響應(yīng)。在一些環(huán)境下,可能存在大量的域路由,或者網(wǎng)絡(luò)內(nèi)的各種連接可 能會出故障(不起作用)或擁塞(由于大量流量而變得更慢)。為了解決 這種問題,頭端節(jié)點可以使用可配置的定時器,其中在選擇最短路徑時只 有那些在定時器到期之前接收到的響應(yīng)將被考慮。例如,如果存在10條 域路徑,則頭端發(fā)出10個路徑計算請求。假定當(dāng)定時器到期時,只有八 個響應(yīng)已經(jīng)回到頭端節(jié)點。在這種情況下,頭端節(jié)點基于這八個響應(yīng)來選 擇最短路徑。此外,任何在定時器到期之后接收到的響應(yīng)可以被認(rèn)為是無 效的,或者被與所選擇的路徑相比較以確定新接收到的響應(yīng)是否是更短的 路徑(例如,短某個可配置的量)。另外,從未被選擇的其他域路由得到 的(在定時器到期之前或之后)路徑可以被存儲用作備份路徑或其他用 途。例如,未被選擇的路徑可以被存儲在存儲器240中,用于備份路徑 (例如用于MPLS TE快速重新路由)、負(fù)載均衡或者其他為本領(lǐng)域技術(shù) 人員已知的多路徑用途。
TE-LSP的重新優(yōu)化可以被配置為沿著建立的路徑和任何未被選擇的 路徑進(jìn)行重新優(yōu)化。重新優(yōu)化可以是基于定時器的(例如,每分鐘、小 時、周等等),或是基于事件的(例如恢復(fù)或添加的鏈路)。重新優(yōu)化的 技術(shù)和觸發(fā)對本領(lǐng)域技術(shù)人員是己知的,并且這種技術(shù)可以根據(jù)本發(fā)明使用。即,當(dāng)沿著每個域路由對TE-LSP進(jìn)行重新優(yōu)化并發(fā)送路徑計算請求時,頭端節(jié)點再次根據(jù)這里描述的方法來選擇最短的返回路徑。圖7是圖示根據(jù)本發(fā)明的用于計算最短域間路徑的步驟序列的流程 圖。序列700在步驟705處開始并且繼續(xù)進(jìn)行到步驟710,在步驟710處 頭端節(jié)點(節(jié)點A)確定通向尾端節(jié)點(節(jié)點B)的域路由的集合。在步 驟715處,頭端節(jié)點如上面描述可以基于本地策略排除任何域路由,并且 還可以排除是其他域路由的超集的任何域路由。 一旦一組剩余域路由存 在,頭端節(jié)點就在步驟720中為每個剩余的域路由生成路徑計算請求 400。在步驟725處,路徑計算請求400被發(fā)送到適當(dāng)?shù)囊粋€或多個PCE (ASBR1),用于根據(jù)位于請求內(nèi)的域路由對象600中的域路由來進(jìn)行路 徑計算。 一個或多個PCE基于規(guī)定的域路由來執(zhí)行對通向尾端節(jié)點的路徑 的傳統(tǒng)計算,并且將響應(yīng)返回到每個源路由的頭端節(jié)點,并且在步驟730 處,頭端節(jié)點接收到對路徑計算請求的響應(yīng)。注意,頭端節(jié)點可以接收對 所有路徑計算請求的響應(yīng),或者其也可以使用如上所述的定時器。當(dāng)接收 到響應(yīng)時,頭端節(jié)點在步驟735處例如基于某些度量(成本)來選擇通向 尾端節(jié)點的最短路徑,并且在步驟740處,頭端節(jié)點根據(jù)為本領(lǐng)域技術(shù)人 員已知的傳統(tǒng)方法沿著所選擇的最短路徑來建立通向尾端節(jié)點的TE-LSP。序列在步驟745處結(jié)束。有利地,該新穎技術(shù)為計算機(jī)網(wǎng)絡(luò)中從本地域中的頭端節(jié)點到遠(yuǎn)程域 中的尾端節(jié)點的TE-LSP計算最短路徑。通過確定通向尾端節(jié)點的域路由 的集合,該創(chuàng)造性技術(shù)提供了一種用于為每個可能的域路由生成路徑計算 請求并選擇包含在對該請求的響應(yīng)中的最短路徑的高效機(jī)制。特別地,本 發(fā)明通過多個域路由的選擇來提供最短路徑,而不是僅通過一般用于路徑 計算的可能是或者可能不是最佳路由的域路由來提供最短路徑。雖然已經(jīng)示出并描述了為從本地域中的頭端節(jié)點到遠(yuǎn)程域中的尾端節(jié) 點的TE-LSP計算最短路徑的示例性實施例,但是將理解在本發(fā)明的精神 和范圍內(nèi)可以進(jìn)行各種其他改動和修改。例如,雖然上面的描述描述了在頭端節(jié)點處執(zhí)行該技術(shù),但是本發(fā)明還可以結(jié)合PCE來有利地使用。注 意,本發(fā)明在此已被示出和描述利用BGP消息和BGP的擴(kuò)展將可能的域 路由發(fā)送到能夠?qū)崿F(xiàn)BGP的節(jié)點。但是,本發(fā)明按照其更廣泛的意義不這 樣受限,并且事實上可以與IGP節(jié)點一起使用。例如,可能的域路由可以 被包含在IGP消息的已知擴(kuò)展中。另外,本領(lǐng)域技術(shù)人員將會理解,可以 采取各種措施來解決某些與傳播通過整個網(wǎng)絡(luò)的多個域路由以及為之生成 路徑計算請求的域路由的數(shù)目的有關(guān)的可縮放性。這些措施包括使用訪問 列表、共同體(community),或者將多個域路由的傳送限于選定數(shù)目的 尾端節(jié)點前綴(例如某些路由器的環(huán)回(loop-back)地址)等等。上面的描述針對本發(fā)明的特定實施例。但是,顯而易見的是,可以對 所述實施例執(zhí)行其他變化和修改,同時仍實現(xiàn)本發(fā)明的某些或全部優(yōu)點。 例如,可以明確設(shè)想,本發(fā)明的教導(dǎo)可被實現(xiàn)為軟件(包括具有在計算機(jī) 上執(zhí)行的程序指令的計算機(jī)可讀介質(zhì))、硬件、固件或它們的組合。另 外,電磁信號可以被生成,以通過例如無線數(shù)據(jù)鏈路或數(shù)據(jù)網(wǎng)絡(luò)(例如因 特網(wǎng))來傳送實現(xiàn)本發(fā)明的多個方面的計算機(jī)可執(zhí)行指令。因此,這里的 描述將僅被視為示例性的,而并非限制本發(fā)明的范圍。因此,所附權(quán)利要 求書的目的是要覆蓋落入本發(fā)明的真正精神和范圍內(nèi)的所有這樣的變化和 修改。
權(quán)利要求
1.一種用于為計算機(jī)網(wǎng)絡(luò)中從本地域中的頭端節(jié)點到遠(yuǎn)程域中的尾端節(jié)點的流量工程(TE)標(biāo)簽交換路徑(LSP)計算最短路徑的方法,所述方法包括確定通向所述尾端節(jié)點的域路由的集合,所述域路由指示所述TE-LSP要到達(dá)所述尾端節(jié)點可以穿越的遠(yuǎn)程域;將一個或多個路徑計算請求發(fā)送到所述本地域中的一個或多個路徑計算元件(PCE),所述一個或多個路徑計算請求請求為所述域路由集合中的每個域路由計算路徑;接收對每個可能的域路由的所述一個或多個路徑計算請求的一個或多個路徑響應(yīng);以及從所述一個或多個路徑響應(yīng)中選擇最佳路徑。
2. 如權(quán)利要求1所述的方法,其中,所述最佳路徑是最短的路徑。
3. 如權(quán)利要求1所述的方法,還包括沿著所述最佳路徑建立TE-LSP。
4. 如權(quán)利要求1所述的方法,其中,所述確定步驟還包括從邊界網(wǎng)關(guān)協(xié)議(BGP)通告學(xué)習(xí)所述域路由。
5. 如權(quán)利要求4所述的方法,其中,所述域路由被包含在所述BGP通 告的擴(kuò)展中。
6. 如權(quán)利要求1所述的方法,還包括基于策略從所述選擇中排除一 個或多個域路由。
7. 如權(quán)利要求1所述的方法,還包括從所述選擇排除一個或多個域 路由,如果這些域路由是其他域路由的超集的話。
8. 如權(quán)利要求1所述的方法,還包括啟動定時器,其中所述選擇步驟是在所述定時器到期之后執(zhí)行的。
9. 如權(quán)利要求1所述的方法,還包括使用除所述最佳路徑之外的路徑作為備用路徑。
10. —種用于為計算機(jī)網(wǎng)絡(luò)中從本地域中的頭端節(jié)點到遠(yuǎn)程域中的尾端節(jié)點的流量工程(TE)標(biāo)簽交換路徑(LSP)計算最短路徑的系統(tǒng),所述系統(tǒng)包括邊界網(wǎng)關(guān)協(xié)議(BGP)節(jié)點,適用于對通向所述尾端節(jié)點的域路由的 集合進(jìn)行接收和通告,所述域路由指示所述TE-LSP要到達(dá)所述尾端節(jié)點 可以穿越的遠(yuǎn)程域;一個或多個路徑計算元件(PCE),適用于接收路徑計算請求;以及 頭端節(jié)點,適用于i)確定通向所述尾端節(jié)點的所述域路由的集合; ii)將一個或多個路徑計算請求發(fā)送到所述本地域中的所述一個或多個PCE,所述一個或多個路徑計算請求請求為所述域路由的集合中的每個域路由計算路徑;iii)接收對每個可能的域路由的所述一個或多個路徑計算 請求的一個或多個路徑響應(yīng);以及iv)從所述一個或多個路徑響應(yīng)中選擇最佳路徑。
11. 如權(quán)利要求10所述的系統(tǒng),其中,所述最佳路徑是最短的路徑。
12. 如權(quán)利要求10所述的系統(tǒng),還包括沿著所述最佳路徑建立的 TE丄SP。
13. 如權(quán)利要求IO所述的系統(tǒng),還包括BGP通告,其適用于向所述 尾端節(jié)點通告所述域路由的集合。
14. 如權(quán)利要求13所述的系統(tǒng),還包括所述BGP通告的擴(kuò)展,其適 用于包含所述域路由。
15. 如權(quán)利要求IO所述的系統(tǒng),其中,所述頭端節(jié)點還適用于基于策 略從所述選擇中排除一個或多個域路由。
16. 如權(quán)利要求IO所述的系統(tǒng),其中,所述頭端節(jié)點還適用于從所述 選擇排除一個或多個域路由,如果這些域路由是其他域路由的超集的話。
17. 如權(quán)利要求10所述的系統(tǒng),還包括定時器,其中所述最佳路徑 的選擇是在所述定時器到期之后執(zhí)行的。
18. 如權(quán)利要求IO所述的系統(tǒng),還包括所述頭端節(jié)點中的存儲器, 用于將除所述最佳路徑之外的路徑存儲作為備用路徑。
19. 一種用于為計算機(jī)網(wǎng)絡(luò)中從本地域中的頭端節(jié)點到遠(yuǎn)程域中的尾 端節(jié)點的流量工程(TE)標(biāo)簽交換路徑(LSP)計算最短路徑的設(shè)備,所述設(shè)備包括用于確定通向所述尾端節(jié)點的域路由的集合的裝置,所述域路由指示 TE-LSP要到達(dá)所述尾端節(jié)點可以穿越的遠(yuǎn)程域;用于將一個或多個路徑計算請求發(fā)送到所述本地域中的一個或多個路 徑計算元件(PCE)的裝置,所述一個或多個路徑計算請求請求為所述域 路由的集合中的每個域路由計算路徑;用于接收對每個可能的域路由的所述一個或多個路徑計算請求的一個 或多個路徑響應(yīng)的裝置;以及用于從所述一個或多個路徑響應(yīng)中選擇最佳路徑的裝置。
20. —種用于為計算機(jī)網(wǎng)絡(luò)中從本地域中的頭端節(jié)點到遠(yuǎn)程域中的尾 端節(jié)點的流量工程(TE)標(biāo)簽交換路徑(LSP)計算最短路徑的節(jié)點,所 述節(jié)點包括網(wǎng)絡(luò)接口,用于接收通向所述尾端節(jié)點的域路由的集合并發(fā)送通向所 述尾端節(jié)點的域路由的集合的通告,所述域路由指示所述TE-LSP要到達(dá) 所述尾端節(jié)點可以穿越的遠(yuǎn)程域,所述網(wǎng)絡(luò)接口還用于將路徑計算請求發(fā) 送到所述本地域中的所述一個或多個路徑計算元件(PCE)并從所述PCE 接收路徑響應(yīng);處理器,其被耦合到所述網(wǎng)絡(luò)接口并且適用于執(zhí)行軟件過程;以及 存儲器,其適用于存儲可由所述處理器執(zhí)行的頭端節(jié)點過程,所述頭 端節(jié)點過程被配置為i)生成一個或多個路徑計算請求,所述一個或多個 路徑計算請求請求為所述域路由的集合中的每個域路由計算路徑;ii)接 收對每個可能的域路由的所述一個或多個路徑計算請求的一個或多個路徑 響應(yīng);以及iii)從所述一個或多個路徑響應(yīng)中選擇最佳路徑。
全文摘要
一種技術(shù)為計算機(jī)網(wǎng)絡(luò)中從本地域中的頭端節(jié)點到遠(yuǎn)程域中的尾端節(jié)點的流量工程(TE)標(biāo)簽交換路徑(LSP)計算最短路徑。該新穎路徑計算技術(shù)確定TE-LSP要到達(dá)尾端節(jié)點(例如,沿“域路由”)可以穿越的不同遠(yuǎn)程域的集合。一旦可能的路由的集合被確定,頭端節(jié)點就將路徑計算請求發(fā)送到其本地域中的一個或多個路徑計算元件(PCE),請求為每個域路由計算路徑。當(dāng)接收到對每個可能的域路由的路徑響應(yīng)時,頭端節(jié)點選擇最佳(最短)路徑,并且相應(yīng)地建立TE-LSP。
文檔編號G06F15/173GK101133408SQ200680003939
公開日2008年2月27日 申請日期2006年2月27日 優(yōu)先權(quán)日2005年3月4日
發(fā)明者斯特凡諾·B·普雷維蒂, 讓-菲利普·瓦瑟爾 申請人:思科技術(shù)公司