專利名稱:用于備份pe選擇的算法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及在私有路由選擇域之間路由選擇數(shù)據(jù)的技術(shù),更具 體而言,涉及在節(jié)點或鏈路發(fā)生故障的情況下,快速而有效地將網(wǎng)絡(luò)流量 重路由到相鄰的出口點的快速重路由(FRR)技術(shù)。
背景技術(shù):
計算機網(wǎng)絡(luò)是互連子網(wǎng)的地理上分布的集合,例如在網(wǎng)絡(luò)節(jié)點之間傳 輸數(shù)據(jù)的局域網(wǎng)(LAN)。這里使用的網(wǎng)絡(luò)節(jié)點是適合于在計算機網(wǎng)絡(luò)中 發(fā)送和/或接收數(shù)據(jù)的任意設(shè)備。因此,在此上下文中,"節(jié)點"和"設(shè) 備"可以互換使用。網(wǎng)絡(luò)拓?fù)涫抢猛ǔMㄟ^一個或多個中間節(jié)點(例如 路由器和交換機)彼此通信的網(wǎng)絡(luò)節(jié)點的布置來定義的。除了網(wǎng)內(nèi)通信之 外,數(shù)據(jù)還可以在相鄰(即鄰接)網(wǎng)絡(luò)之間進(jìn)行交換。為此,位于計算機 網(wǎng)絡(luò)的邏輯外出邊界(outer-bound)上的"邊緣設(shè)備"可能適合于發(fā)送和 接收網(wǎng)間通信。網(wǎng)間和網(wǎng)內(nèi)通信通常都是通過根據(jù)預(yù)先定義的協(xié)議交換離 散的數(shù)據(jù)分組來實現(xiàn)的。在此上下文中,協(xié)議包含一組規(guī)則,這組規(guī)則定 義網(wǎng)絡(luò)節(jié)點如何彼此交互。每個數(shù)據(jù)分組通常包含"有效載荷"數(shù)據(jù),其前掛("封裝")有根 據(jù)網(wǎng)絡(luò)通信協(xié)議格式化的至少一個網(wǎng)絡(luò)頭部。網(wǎng)絡(luò)頭部包括使得網(wǎng)絡(luò)節(jié)點 能夠有效地通過計算機網(wǎng)絡(luò)路由分組的信息。通常,分組的網(wǎng)絡(luò)頭部包括 數(shù)據(jù)鏈路(第2層)頭部、網(wǎng)間(第3層)頭部和傳輸(第4層)頭部, 如傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)參考模型所定義的。TCP/IP參考 模型在2003年出版的Andrew Tanenbaum的題為Compter Ve^v0A5 傲的參考書第1.4.2節(jié)中有一般性的更詳細(xì)的描述,該參考書通過引用被 結(jié)合于此,就如同在這里被完整提出一樣。數(shù)據(jù)分組可能發(fā)起于源節(jié)點,隨后沿邏輯數(shù)據(jù)路徑從一個節(jié)點"跳"
到另一個節(jié)點,直到其到達(dá)被尋址的目的地節(jié)點為止。定義數(shù)據(jù)流的邏輯 數(shù)據(jù)路徑的網(wǎng)絡(luò)地址通常作為因特網(wǎng)協(xié)議(IP)地址被存儲在分組的網(wǎng)間 頭部中。IP地址通常是根據(jù)IP版本4 (IPv4)協(xié)議來格式化的,在IPv4中,網(wǎng)絡(luò)節(jié)點利用32位(四字節(jié))值被尋址。具體而言,IPv4地址是利 用四個0和255之間的數(shù)字來指示的,其中每個數(shù)字通常被"點"隔開。 一個子網(wǎng)可被分配以包含預(yù)定的IPv4地址范圍的IP地址空間。例如,一 個示例性子網(wǎng)可能被分配地址空間128.0.10.*,其中星號是通配符,其可 以區(qū)分子網(wǎng)中最多254個單獨的節(jié)點(0和255是預(yù)留值)。例如,子網(wǎng) 中的第一節(jié)點可被分配IP地址128.0.10.1,而第二節(jié)點可被分配IP地址 128.0.10.2。子網(wǎng)與子網(wǎng)掩碼相關(guān)聯(lián),子網(wǎng)掩碼可被用于從子網(wǎng)的分配的地址空間 內(nèi)的IP地址中選擇一組連續(xù)的高階(high-order)位。子網(wǎng)掩碼長度指示 由該子網(wǎng)掩碼選擇的連續(xù)高階位的數(shù)目,并且N位的子網(wǎng)掩碼長度在下文 中被表示為/N。針對給定子網(wǎng)的子網(wǎng)掩碼長度通常是基于清楚地尋址該子 網(wǎng)中的節(jié)點所需的位的數(shù)目來選擇的。子網(wǎng)掩碼及其使用在2000年1月 出版的Radia Perlman的題為/wtem w"ecrio^ ^"二嚴(yán)的參考書第9章中有 一般性的更詳細(xì)的描述,該參考書通過引用被結(jié)合于此,就如同在這里被 完整提出一樣。例如,假設(shè)示例性子網(wǎng)被分配IP地址空間128.0.10.4,并且該子網(wǎng)包 含兩個可尋址(可達(dá))的網(wǎng)絡(luò)節(jié)點。在此情況下,需要30個地址位來標(biāo) 識子網(wǎng)128.0.10.4,其余兩個地址位被用于清楚地尋址子網(wǎng)中的兩個節(jié)點 中的任意一個。因而,由于只需要IP地址的前30個最高有效位來唯一地 尋址子網(wǎng),因此該子網(wǎng)可能與子網(wǎng)掩碼長度/30相關(guān)聯(lián)。這里使用的"地 址前綴"被定義為將子網(wǎng)掩碼應(yīng)用到網(wǎng)絡(luò)地址的結(jié)果。例如,考慮地址前 綴128.0.10.1/4。在此情況下,該前綴的網(wǎng)絡(luò)部分包含IP地址128.0.10.1的 24個最高有效位,即該網(wǎng)絡(luò)是128.0.10.0,并且后8位被用于標(biāo)識該網(wǎng)絡(luò) 上的主機。IP地址和地址前綴在前綴的網(wǎng)絡(luò)部分等于IP地址的最高有效 位時被稱為"匹配"。內(nèi)部網(wǎng)關(guān)協(xié)議 計算機網(wǎng)絡(luò)可以包含一個或多個子網(wǎng)的更小的組,所述一個或多個子 網(wǎng)可以被管理作為單獨的路由選擇域。這里使用的路由選擇域被廣義地理 解為受到公共管理下的互連網(wǎng)絡(luò)節(jié)點的集合。通常,路由選擇域由單個管 理實體管理,所述管理實體例如是公司、學(xué)院或政府部門。這種集中管理 的路由選擇域有時被稱為"自治系統(tǒng)"。 一般而言,路由選擇域可以工作 為企業(yè)網(wǎng)絡(luò)、服務(wù)提供商或任意其他類型的網(wǎng)絡(luò)或子網(wǎng)。此外,路由選擇 域可以包含一個或多個邊緣設(shè)備,所述邊緣設(shè)備具有到鄰接路由選擇域中 的邊緣設(shè)備的"對等"連接。路由選擇域中的網(wǎng)絡(luò)節(jié)點通常被配置為根據(jù)"內(nèi)部網(wǎng)關(guān)"路由選擇協(xié) 議(例如傳統(tǒng)的鏈路狀態(tài)協(xié)議和距離向量協(xié)議)利用預(yù)定的路徑轉(zhuǎn)發(fā)數(shù) 據(jù)。這些內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)定義了在路由選擇域中交換和處理路由選 擇信息和網(wǎng)絡(luò)拓?fù)湫畔⒌姆绞?。例如,IGP協(xié)議通常提供用于在路由選擇 域中的中間節(jié)點之間分發(fā)一組可達(dá)的IP子網(wǎng)的機制。這樣,每個中間節(jié)點 接收該域的拓?fù)涞囊恢?視圖"。本領(lǐng)域已知的鏈路狀態(tài)和距離向量協(xié)議 的示例,例如開放最短路徑優(yōu)先(OSPF)協(xié)議和路由選擇信息協(xié)議(RIP),在2000年1月出版的Radia Perlman的題為/"^ro朋ecto似眾 二嚴(yán)的參考書第12.1-12.3節(jié)中有更詳細(xì)的描述,該參考書通過引用被結(jié)合 于此,就如同在這里被完整提出一樣。邊界網(wǎng)關(guān)協(xié)議(BGP)通常被用作用于在自治系統(tǒng)之間路由數(shù)據(jù)的"外部網(wǎng)關(guān)"路由選擇協(xié)議。BGP協(xié)議是公知的并且在1995年3月出版 的Y. Rekhter等人的題為爿GaMay Pratoco/ 4 (SG尸-"的請求注釋(RFC) 1771中有一般性的描述,該RFC 1771可以通過因特網(wǎng)工程任務(wù) 組(IETF)公開獲得并據(jù)此通過引用被整體上結(jié)合于此。外部BGP(eBGP)通常被用于穿過路由選擇域邊界交換路由選擇信息。內(nèi)部BGP(iBGP)是eBGP協(xié)議的變種,并且通常被用于在位于同一路由選擇域中 的BGP使能的邊緣設(shè)備之間分發(fā)網(wǎng)間可達(dá)性信息(地址前綴)。為了實現(xiàn) iBGP,邊緣設(shè)備必須是"全網(wǎng)格化的(fully-meshed)",即使得每個設(shè) 備都通過TCP連接被耦合到每個其他設(shè)備。在實踐中,傳統(tǒng)的路由反射器 被用于在邏輯上將設(shè)備耦合成全網(wǎng)格化的。BGP協(xié)議還可以被擴展以兼容 除了標(biāo)準(zhǔn)因特網(wǎng)連通性之外的其他服務(wù)。例如,多協(xié)議BGP (MP-BGP) 支持各種地址族標(biāo)識符(AFI)字段,這些AFI字段允許BGP消息傳輸多 協(xié)議信息,例如在具有RFC 2547服務(wù)的情況下。路由選擇域中的網(wǎng)絡(luò)節(jié)點可以檢測該域拓?fù)涞母淖?。例如,?jié)點可能 由于節(jié)點之間的鏈路故障或相鄰節(jié)點故障(例如變得"離線"以進(jìn)行修 復(fù))而變得無法與其相鄰節(jié)點之一通信。如果檢測到的節(jié)點或鏈路故障發(fā) 生在路由選擇域內(nèi),檢測節(jié)點則可以使用內(nèi)部網(wǎng)關(guān)協(xié)議(例如OSPF)將 域內(nèi)拓?fù)涓淖兺ǜ娴接蛑械钠渌?jié)點。類似地,如果邊界設(shè)備檢測到阻礙 與相鄰路由選擇域之間的通信的節(jié)點或鏈路故障,該邊緣設(shè)備則可以利用 例如iBGP協(xié)議將域間拓?fù)涓淖兩⒉嫉狡淦渌W(wǎng)格化的邊緣設(shè)備。在任 一情況下,都存在固有等待時間,該固有等待時間用于在路由選擇域內(nèi)傳 播網(wǎng)絡(luò)拓?fù)涓淖儯⑹褂蛑械墓?jié)點在新網(wǎng)絡(luò)拓?fù)?即不包括發(fā)生故障的節(jié) 點或鏈路)的一致視圖上收斂。共享風(fēng)險鏈路組共享風(fēng)險鏈路組(SRLG)的概念已被引入,以反映單個網(wǎng)絡(luò)元件 (例如網(wǎng)絡(luò)節(jié)點或數(shù)據(jù)鏈路)的故障會導(dǎo)致一個或多個其他網(wǎng)絡(luò)元件處的 故障這一思想。例如,當(dāng)不同的數(shù)據(jù)鏈路共享同一資源(例如光纖等) 時,它們被稱為參與同一鏈路SRLG。就是說,共享資源(在此示例中為 光纖)的故障將導(dǎo)致利用該共享資源傳輸數(shù)據(jù)分組的每條鏈路的故障。類 似地,當(dāng)?shù)谝宦酚蛇x擇域中的多個邊緣設(shè)備被附接到第二路由選擇域中的 一個共同的邊緣設(shè)備時,第一域中的這組邊緣設(shè)備可以是同一節(jié)點SRLG 的成員。在此情況下,在該共同邊緣設(shè)備處的網(wǎng)絡(luò)故障將使得該節(jié)點 SRLG中的每個設(shè)備否無法通過其耦合到第二域中的該發(fā)生故障的邊緣設(shè) 備的相應(yīng)域間鏈路來傳輸數(shù)據(jù)。節(jié)點和/或鏈路SRLG成員信息可以利用傳統(tǒng)內(nèi)部網(wǎng)關(guān)協(xié)議(例如 OSPF和中間系統(tǒng)到中間系統(tǒng)(IS-IS)協(xié)議)的標(biāo)準(zhǔn)化擴展在一組全網(wǎng)格 化的邊緣設(shè)備之間傳輸。通常,SRLG是利用32位數(shù)字來標(biāo)識的,該32 位數(shù)字在IGP域內(nèi)是唯一的,如2003年10月公布的Kompella等人的題為
的正TF因特網(wǎng)草案draft-ietf-ccamp-gmpls-routing-09.txt的第2.3節(jié)中更詳 細(xì)描述的,該因特網(wǎng)草案通過引用被結(jié)合于此,就如同在這里被完整提出 一樣。在實踐中,鏈路或節(jié)點可以由例如網(wǎng)絡(luò)管理員靜態(tài)分配到一個或多個 SRLG。該鏈路或節(jié)點隨后針對其被分配到的每個SRLG被與一個不同的 32位標(biāo)識符相關(guān)聯(lián)。這些SRLG標(biāo)識符通常被與該鏈路或節(jié)點的標(biāo)識符一 起存儲在一個類型-長度-值(TLV)三元組中。該TLV在路由選擇域中被 通告以散布鏈路或節(jié)點的SRLG信息。例如,針對OSPF禾B IS-IS通告的 SRLG TLV分別在2003年10月的Kompella等人的題為Extow'訓(xùn)s & Sw,oW o/ Ge"erafcec/ Mw/"-尸ratoco/丄aZ e/ Sw"c/n'wg的IETF因特網(wǎng)草案 draft-ietf-ccamp-ospf-gmpls-extensions-12.txt禾卩2003年10月的Kompella等 人的題為 /S"/5" ^"xtew5z'om1 z>z 5V,oW qf Gewerafeeci Mw/ri-Pratoco/ La6e/ 5W"c/n'"g的IETF因特網(wǎng)草案draft-ietf-isis-gmpls-extensions-19.txt中有所描 述,這兩個因特網(wǎng)草案通過引用被結(jié)合于此,就如同在這里被完整提出一 樣。多協(xié)議標(biāo)簽交換/虛擬專用網(wǎng)體系結(jié)構(gòu)虛擬專用網(wǎng)(VPN)是通過共享的骨干網(wǎng)建立私有通信的網(wǎng)絡(luò)節(jié)點的集合。以前,VPN是通過在共享網(wǎng)絡(luò)中嵌入私有租用線路來實現(xiàn)的。租用線路(即通信鏈路)僅僅被預(yù)留用于參與該VPN的那些網(wǎng)絡(luò)節(jié)點之間的網(wǎng)絡(luò)流量?,F(xiàn)在,上述VPN實現(xiàn)方式已經(jīng)大部分被公共網(wǎng)絡(luò)中部署的私有"虛擬電路"所取代。具體而言,每個虛擬電路定義參與該VPN的一 對網(wǎng)絡(luò)節(jié)點之間的一條邏輯端對端數(shù)據(jù)路徑。當(dāng)這對節(jié)點位于不同的路由選擇域中時,多個互連的路由選擇域中的邊緣設(shè)備可能必須相互協(xié)作來建 立節(jié)點的虛擬電路。虛擬電路可以利用例如傳統(tǒng)的第2層幀中繼(FR)或異步傳輸模式(ATM)網(wǎng)絡(luò)來建立??商鎿Q地,虛擬電路可以利用已知的第2層和/或 第3層隧道傳輸協(xié)議在其邏輯末端節(jié)點之間"隧道傳輸"數(shù)據(jù),所述隧道 傳輸協(xié)議例如是第2層隧道傳輸協(xié)議(L2TP)和通用路由選擇封裝(GRE)助、議。在此情況下, 一個或多個隧道頭部被前掛到數(shù)據(jù)分組,以
沿著虛擬電路適當(dāng)?shù)芈酚煞纸M。多協(xié)議標(biāo)簽交換(MPLS)協(xié)議可被用作 用于通過IP網(wǎng)絡(luò)建立第2層虛擬電路或第3層基于網(wǎng)絡(luò)的VPN的隧道傳 輸機制。MPLS使得網(wǎng)絡(luò)節(jié)點能夠沿著預(yù)定的"標(biāo)簽交換路徑"(LSP)轉(zhuǎn)發(fā) 分組。每個LSP定義一條在一對源和目的地節(jié)點之間的邏輯數(shù)據(jù)路徑或虛 擬電路;沿著LSP的網(wǎng)絡(luò)節(jié)點的集合可以利用由傳統(tǒng)內(nèi)部網(wǎng)關(guān)協(xié)議(例如 OSPF或IS-IS)提供的可達(dá)性信息來確定。在傳統(tǒng)的IP路由選擇中,節(jié)點 到節(jié)點("下一跳")轉(zhuǎn)發(fā)判決是基于目的地IP地址來執(zhí)行的,不同于傳 統(tǒng)的IP路由選擇,MPLS配置的節(jié)點改為基于添加到IP分組的"標(biāo)簽" 值(或"標(biāo)記"值)來轉(zhuǎn)發(fā)數(shù)據(jù)分組。這樣,MPLS配置的節(jié)點可以執(zhí)行 標(biāo)簽查找操作來確定分組的下一跳目的地。MPLS流量工程提供了基于IP 的路由選擇不具備的額外優(yōu)點,例如使得MPLS配置的節(jié)點能夠預(yù)留網(wǎng)絡(luò) 資源(例如帶寬)來確保所需的服務(wù)質(zhì)量(QoS)。經(jīng)由LSP代表的每個目的地與在LSP的每一跳處本地分配的標(biāo)簽值相 關(guān)聯(lián),從而使得本地分配的標(biāo)簽值被通過其關(guān)聯(lián)跳轉(zhuǎn)發(fā)的數(shù)據(jù)分組所攜 帶。MPLS標(biāo)簽值通常是利用例如標(biāo)簽分發(fā)協(xié)議(LDP)、資源預(yù)留協(xié)議 (RSVP)或MP-BGP協(xié)議在LSP的節(jié)點之間分發(fā)的。在操作上,當(dāng)在 MPLS配置的節(jié)點處接收到數(shù)據(jù)分組時,該節(jié)點提取出分組的傳輸標(biāo)簽 值,該傳輸標(biāo)簽值例如被存儲在分組的封裝頭部中的己知位置處。提取出 的標(biāo)簽值被用于標(biāo)識轉(zhuǎn)發(fā)分組的下一網(wǎng)絡(luò)節(jié)點。通常,IGP標(biāo)簽確定分組 在路由選擇域中的下一跳,而VPN標(biāo)簽確定分組穿過路由選擇域的下一 跳。更具體而言,IGP標(biāo)簽可以是MPLS標(biāo)簽或被用于標(biāo)識分組在路由選 擇域中的下一跳的任意其他封裝頭部。分組可以包含標(biāo)簽的"棧",以使得該棧中的最頂部標(biāo)簽確定分組的 下一跳目的地。在接收到分組之后,MPLS配置的節(jié)點從標(biāo)簽棧中"彈 出"(移出)分組的最頂部標(biāo)簽,并執(zhí)行標(biāo)簽查找操作來確定分組的下一 跳目的地。然后,節(jié)點將與分組的下一跳相關(guān)聯(lián)的新標(biāo)簽值"推入"(插 入)棧的頂部,并將分組轉(zhuǎn)發(fā)到其下一目的地。該過程針對沿著LSP的每 一邏輯跳被重復(fù),直到分組到達(dá)其目的地節(jié)點為止。上述MPLS操作在2002年出版的Stephen Thomas的題為ZP 6W/fc/n."g awe/ i 0Krtwg Ewew/z'a/s 的參考書第7章中有更詳細(xì)的描述,該參考書通過引用被結(jié)合于此,就如 同在這里被完整提出一樣。利用MPLS技術(shù)的第3層基于網(wǎng)絡(luò)的VPN服務(wù)通常被網(wǎng)絡(luò)服務(wù)提供 商部署用于 一 個或多個用戶站點。這些網(wǎng)絡(luò)通常被稱為提供 "MPLS/VPN"服務(wù)。這里使用的用戶站點被廣義地定義為包含耦合到服 務(wù)提供商網(wǎng)絡(luò)("提供商網(wǎng)絡(luò)")中的提供商邊緣(PE)設(shè)備的至少一個 用戶邊緣(CE)設(shè)備的路由選擇域。用戶站點可以是對提供商網(wǎng)絡(luò)而言多 歸屬的(multi-homed),即其中用戶的一個或多個CE設(shè)備被耦合到多個 PE設(shè)備。PE和CE設(shè)備一般是位于它們各自網(wǎng)絡(luò)的邊緣處的中間網(wǎng)絡(luò)節(jié) 點,例如路由器或交換機。PE-CE數(shù)據(jù)鏈路可以通過各種物理介質(zhì)(例如 傳統(tǒng)的有線鏈路、光鏈路、無線鏈路等)建立,并且可以傳輸利用各種網(wǎng) 絡(luò)通信協(xié)議格式化的數(shù)據(jù),所述網(wǎng)絡(luò)通信協(xié)議包括ATM、幀中繼、以太 網(wǎng)、光纖分布式數(shù)據(jù)接口 (FDDI)等等。另外,PE和CE設(shè)備可被配置 為根據(jù)各種內(nèi)部和外部網(wǎng)關(guān)協(xié)議(例如BGP、 OSPF、 IS-IS、 RIP等等) 通過它們各自的PE-CE鏈路來交換路由選擇信息。在傳統(tǒng)的MPLS/VPN網(wǎng)絡(luò)體系結(jié)構(gòu)中,每個用戶站點可以參與一個或 多個不同的VPN。最常見地,每個用戶站點與單個VPN相關(guān)聯(lián),并且在 下文中,示例性實施例將假設(shè)用戶站點和VPN之間具有一對一的對應(yīng)關(guān) 系。例如,由一個共同管理實體(例如公司)擁有或管理的多個用戶站點 可以被靜態(tài)分配到該企業(yè)的VPN。這樣,位于企業(yè)的各個用戶站點處的網(wǎng) 絡(luò)節(jié)點參與同一 VPN,并因此被允許安全地經(jīng)由提供商網(wǎng)絡(luò)彼此通信。換 言之,提供商網(wǎng)絡(luò)建立必需的LSP來互連參與企業(yè)的VPN的用戶站點。 同樣,提供商網(wǎng)絡(luò)還可以建立互連參與其他VPN的用戶站點的LSP。這 種廣泛部署的MPLS/VPN體系結(jié)構(gòu)在2001年出版的I. Pepelnjak等人的題 為WW Ac/n'te"we蕃7的參考書的第8-9章和在1999年3月公 布的E. Rosen等人的題為5G尸/M尸LS FPM的IETF出版物RPC 2547中有 一般性的更詳細(xì)的描述,這兩個文檔中的每一個通過引用被結(jié)合于此,就 如同在這里被完整提出一樣。
圖1示出示例性的MPLS/VPN網(wǎng)絡(luò)100,其包含耦合到相鄰的用戶站 點120、 130和140的提供商網(wǎng)絡(luò)110。該提供商網(wǎng)絡(luò)包括多個PE設(shè)備 300,包括設(shè)備PE1 300a、 PE2 300b、 PE3 300c和PE4 300d。這些PE設(shè) 備在BGP級別上是全網(wǎng)格化的。就是說,該提供商網(wǎng)絡(luò)中的每個PE設(shè)備 可以與所有其他PE設(shè)備(直接地或利用BGP路由反射器)進(jìn)行通信。網(wǎng) 絡(luò)110還包含"核心"提供商(P)設(shè)備195a-d (例如路由器),它們分 別被標(biāo)記為Pl、 P2、 P3和P4。這些P設(shè)備可被用于建立PE設(shè)備對之間 的標(biāo)簽交換路徑。例如,提供商設(shè)備Pl和P2可被用于建立PE4和PE1之 間的第一 LSP1,而設(shè)備P3和P4可被用于建立PE4和PE3之間的第二 LSP2。每個相鄰的用戶站點120-140包含一個或多個CE設(shè)備,它們被附接 到提供商網(wǎng)絡(luò)110中的PE設(shè)備。例如,用戶站點120包含耦合到PE1、 PE2禾口 PE3的CE設(shè)備160禾口 165 G皮標(biāo)記為CE1禾口 CE2)。類似地,用 戶站點130包括附接到PE3的CE設(shè)備135 (被標(biāo)記為CE4),而用戶站 點140包括附接到PE4的CE設(shè)備185 (被標(biāo)記為CE3)。用戶站點120-140被分配給各個VPN。為了舉例說明的目的,用戶站點120和140被分 配給VPN1,而用戶站點130被分配給VPN2。在該布置中,用戶站點120 和140 (VPN1)中的網(wǎng)絡(luò)節(jié)點無法建立與用戶站點130 (VPN2)中的節(jié) 點之間的通信,反之亦然,這是因為它們參與不同的VPN。但是,用戶站 點120中的網(wǎng)絡(luò)節(jié)點可以與用戶站點140中的節(jié)點通信,反之亦然,因為 用戶站點120和140都參與VPN1。注意,VPN1和VPN2可以包含重疊的 IP地址空間。如上所述,可以通過MPLS/VPN網(wǎng)絡(luò)100在參與同一 VPN (例如 VPN1)的遠(yuǎn)程用戶站點之間建立通信。提供商網(wǎng)絡(luò)IIO可以創(chuàng)建MPLS 隧道(例如LSP1或LSP2)來提供VPN1的遠(yuǎn)程用戶站點之間的邏輯數(shù)據(jù) 路徑。假設(shè)用戶站點140中的源節(jié)點(S) 150將數(shù)據(jù)分組105尋址到用戶 站點120中的目的地節(jié)點(D) 155。源節(jié)點將分組轉(zhuǎn)發(fā)到其本地用戶邊緣 設(shè)備CE3,該邊緣設(shè)備CE3進(jìn)而將分組傳輸通過域邊界而到達(dá)提供商邊緣 設(shè)備PE4。 PE4然后確定適當(dāng)?shù)腖SP,并通過該LSP將分組轉(zhuǎn)發(fā)通過提供
商網(wǎng)絡(luò)110而到達(dá)包含分組被尋址到的目的地節(jié)點155的用戶站點120。提供商邊緣設(shè)備PE4可以基于分組包含的目的地IP地址將接收的分 組105與一條LSP相關(guān)聯(lián)。出于舉例說明的目的,假設(shè)分組105被從PE4 經(jīng)由LSP1路由到PE1,如粗線所示。提供商邊緣設(shè)備PE1在LSP1的尾端 接收到該分組,并且該分組隨后被通過PE1-CE1鏈路轉(zhuǎn)發(fā)到用戶站點120 中的CE1。 CE1接收分組并將其轉(zhuǎn)發(fā)到目的地節(jié)點155。當(dāng)節(jié)點或鏈路故障阻礙了 PE-CE數(shù)據(jù)鏈路上的數(shù)據(jù)通信時,傳統(tǒng)的 MPLS/VPN體系結(jié)構(gòu)中會出現(xiàn)問題。例如,假設(shè)PE1-CE1鏈路發(fā)生故障, 如虛線的"X"所指示的。在識別出該故障之后,提供商邊緣設(shè)備PE1可 以在提供商網(wǎng)絡(luò)110內(nèi)通告其已經(jīng)丟失到用戶站點120中的CE設(shè)備先前 通告的IP地址的可達(dá)性。因此,PE1可以通過向其全網(wǎng)格化的PE設(shè)備散 布iBGP更新消息來傳播識別出的路由選擇變化。最終,路由選擇變化在 整個提供商網(wǎng)絡(luò)110中被分發(fā),并且每個PE設(shè)備更新其本地的路由選擇 信息以在新的網(wǎng)絡(luò)拓?fù)?即不包括發(fā)生故障的PE1-CE1鏈路)上收斂。PE設(shè)備在新網(wǎng)絡(luò)拓?fù)?即不包括PE1-CE1鏈路)上收斂所需的傳統(tǒng) 等待時間通常是過度的時間消耗(例如在幾秒的數(shù)量級上),并且導(dǎo)致多 種嚴(yán)重的問題。例如,數(shù)據(jù)分組在網(wǎng)絡(luò)處于收斂過程時通常在提供商網(wǎng)絡(luò) 的邊緣處被"丟棄"(即丟掉)。例如,響應(yīng)于PE1-CE1鏈路故障,被尋 址到目的地節(jié)點155的數(shù)據(jù)分組105將被PE1 (在LSP1的尾端)丟棄, 直到網(wǎng)絡(luò)針對這些分組在備用數(shù)據(jù)路徑LSP2上收斂為止。對于很多數(shù)據(jù) 流(例如語音IP (VoIP)和視頻數(shù)據(jù)流),這種數(shù)據(jù)在PE1處的暫時丟失 可能極大地降低整體數(shù)據(jù)傳輸?shù)男в?,或者可能?dǎo)致數(shù)據(jù)流超時并且完全 停止。因此, 一般希望MPLS/VPN網(wǎng)絡(luò)能夠響應(yīng)于PE-CE鏈路上的CE節(jié)點 或鏈路故障而實現(xiàn)更快速的收斂時間(例如亞秒級收斂時間)。該 MPLS/VPN網(wǎng)絡(luò)應(yīng)該在新的網(wǎng)絡(luò)拓?fù)渖峡焖偈諗?,同時使網(wǎng)絡(luò)邊緣處的數(shù) 據(jù)丟失最小化。
發(fā)明內(nèi)容
本發(fā)明通過提供快速重路由(FRR)技術(shù)克服了現(xiàn)有技術(shù)的缺點,所 述FRR技術(shù)可被實現(xiàn)在計算機網(wǎng)絡(luò)的邊緣處。如果邊緣設(shè)備檢測到阻礙其 與相鄰路由選擇域通信的節(jié)點或鏈路故障,該邊緣設(shè)備則將尋址到該域的 至少某些數(shù)據(jù)分組重路由到備份邊緣設(shè)備,該備份邊緣設(shè)備進(jìn)而將分組轉(zhuǎn) 發(fā)到相鄰域。備份邊緣設(shè)備不允許例如響應(yīng)于另一域間節(jié)點或鏈路故障而 第二次重路由分組。根據(jù)本發(fā)明的技術(shù),邊緣設(shè)備首先識別出一個或多個 可能的備份邊緣設(shè)備的群組,然后從該群組中選擇至少一個優(yōu)選的備份邊 緣設(shè)備。為此,邊緣設(shè)備基于與可能的備份邊緣設(shè)備相關(guān)聯(lián)的一個或多個 度量的值來執(zhí)行其選擇。度量可以基于設(shè)備的關(guān)聯(lián)的IGP代價值、鏈路和/ 或節(jié)點共享風(fēng)險鏈路組(SRLG)成員身份、鏈路帶寬特性等等來評估。 度量被輸入到新型選擇算法,該新型選擇算法利用分層選擇過程或加權(quán)度 量選擇過程或其某種組合來選擇(一個或多個)優(yōu)選的備份邊緣設(shè)備。邊緣設(shè)備優(yōu)選地基于每個地址前綴來識別可能的備份邊緣設(shè)備。當(dāng)邊 緣設(shè)備從相鄰路由選擇域中的設(shè)備以及該計算機網(wǎng)絡(luò)中的另一邊緣設(shè)備接 收到一個特定地址前綴時,該邊緣設(shè)備動態(tài)"學(xué)習(xí)"針對該地址前綴的可 能的備份邊緣設(shè)備。這樣,另一邊緣設(shè)備被識別為針對該前綴的可能的備 份邊緣設(shè)備。可替換地,邊緣設(shè)備可以例如由系統(tǒng)管理員靜態(tài)配置為將可 能的備份邊緣設(shè)備與該特定地址前綴相關(guān)聯(lián)。在識別出地址前綴的可能的備份邊緣設(shè)備的群組之后,邊緣設(shè)備優(yōu)選 地執(zhí)行備份路徑核實過程,該過程(i)確定前綴是否是可達(dá)的,并且 (ii)消除無法充當(dāng)備份設(shè)備的可能的備份邊緣設(shè)備。首先,邊緣設(shè)備確 定該前綴的下一跳是否是經(jīng)由內(nèi)部路由(iBGP,IGP)或從在相鄰路由選擇 域中的本地連接的設(shè)備可達(dá)的。如果該前綴被確定為不可達(dá)的,則該前綴 沒資格進(jìn)行FRR保護(hù),并因而不與其識別出的可能的備份邊緣設(shè)備中的任 意一個相關(guān)聯(lián)。接下來,邊緣設(shè)備刪除掉前綴的可能的備份邊緣設(shè)備中無 法充當(dāng)備份邊緣設(shè)備的任意備份邊緣設(shè)備。邊緣設(shè)備可以利用BGP或IGP 消息來通告其備份能力(或無能力),或者其備份能力可以由本地策略 (例如訪問控制列表)來設(shè)置。根據(jù)第一示例性實施例, 一種選擇標(biāo)準(zhǔn)的分層結(jié)構(gòu)被用來選擇一個或
多個優(yōu)選的備份邊緣設(shè)備。在該實施例中,每個備份邊緣設(shè)備度量被分配 一個相對偏好級別。然后,第一選擇標(biāo)準(zhǔn)評估針對每個可能的備份邊緣設(shè) 備最優(yōu)選的度量(即具有最大相對偏好級別的度量)。具有該度量的最大 (或最小)值的設(shè)備被選為優(yōu)選的備份邊緣設(shè)備。如果多個可能的備份邊 緣設(shè)備滿足該第一標(biāo)準(zhǔn),則第二選擇標(biāo)準(zhǔn)可以進(jìn)一步縮小可能的備份邊緣 設(shè)備的集合。優(yōu)選地,第二標(biāo)準(zhǔn)比較次優(yōu)選度量的值。類似地,第三標(biāo)準(zhǔn) 比較第三優(yōu)選度量的值,以此類推。該分層選擇過程被重復(fù),直到針對給 定的地址前綴選出所需數(shù)目的備份邊緣設(shè)備為止。如果在分層選擇過程的任意階段,多個可能的備份邊緣設(shè)備滿足選擇 標(biāo)準(zhǔn),該過程則可以終止。在此情況下,優(yōu)選的備份邊緣設(shè)備可以從在分 層選擇過程終止時滿足選擇標(biāo)準(zhǔn)的可能備份邊緣設(shè)備中隨機選出??商鎿Q 地,網(wǎng)絡(luò)流量可以在滿足選擇標(biāo)準(zhǔn)的可能的備份邊緣設(shè)備之間進(jìn)行負(fù)載均 衡(成比例地或以其他方式)。在第二示例性實施例中, 一個算術(shù)函數(shù)被用于選擇至少一個優(yōu)選的備 份邊緣設(shè)備。該算術(shù)函數(shù)優(yōu)選地是一個客觀多項式函數(shù),其計算與一個可 能的備份邊緣設(shè)備相關(guān)聯(lián)的度量的加權(quán)組合;該度量的加權(quán)組合可被解釋 為該設(shè)備的"總"度量。在操作中,針對每個可能的備份邊緣設(shè)備的度量 值的集合被輸入到多項式函數(shù)中。對針對這些設(shè)備計算出的多個總度量進(jìn) 行比較,并且具有最大(或最小)總度量值的可能的備份邊緣設(shè)備被選為 優(yōu)選的備份邊緣設(shè)備。在基于多項式函數(shù)的輸出選擇多個可能的備份邊緣 設(shè)備的情況下,網(wǎng)絡(luò)管理員可以隨機選擇所選設(shè)備中的至少一個或者可以選擇一個度量作為設(shè)備之間的平局決勝度量(tie-breaker)??商鎿Q地,網(wǎng) 絡(luò)流量可以在所選備份邊緣設(shè)備之間進(jìn)行負(fù)載均衡(成比例地或以其他方 式)。有利的是,本發(fā)明的技術(shù)可以利用各種類型的度量(沒有限制)來表 征可能的備份邊緣設(shè)備。此外,在計算機網(wǎng)絡(luò)中的邊緣設(shè)備可以使用本地 部署的備份邊緣設(shè)備選擇算法,該算法可以與在其他邊緣設(shè)備處部署的選 擇算法相一致,也可以不與其相一致。例如,第一邊緣設(shè)備可以利用示例 性的分層選擇過程選擇備份邊緣設(shè)備,而在同一網(wǎng)絡(luò)中的第二邊緣設(shè)備可 以利用示例性的加權(quán)度量選擇過程來選擇備份邊緣設(shè)備。
通過結(jié)合附圖參考以下描述,可以更好地理解本發(fā)明的以上和其他優(yōu) 點,其中類似的標(biāo)號指示相同或功能上類似的元件,在附圖中 如前所述,圖l是MPLS/VPN網(wǎng)絡(luò)拓?fù)涞氖疽庑钥驁D;圖2是示例性MPLS/VPN網(wǎng)絡(luò)拓?fù)涞氖疽庑钥驁D,其中可以在網(wǎng)絡(luò)邊 緣處采用示例性的快速重路由(FRR)技術(shù)。本領(lǐng)域技術(shù)人員將意識到, 圖2的網(wǎng)絡(luò)拓?fù)鋬H僅是代表性的,本發(fā)明的FRR技術(shù)也可以用在其他網(wǎng)絡(luò) 拓?fù)渲?;圖3是可以在MPLS/VPN網(wǎng)絡(luò)的邊緣處實現(xiàn)FRR操作的提供商邊緣 (PE)設(shè)備的示意性框圖;圖4是可以在根據(jù)本發(fā)明的示例性實施例配置的PE設(shè)備中執(zhí)行的示 例性操作系統(tǒng)的示意性框圖;圖5是被配置用于存儲FRR相關(guān)信息的示例性標(biāo)簽轉(zhuǎn)發(fā)表的示意性框圖;圖6是被配置用于映射地址前綴與它們識別出的可能的備份PE設(shè)備 和備份設(shè)備度量的相應(yīng)組的示例性表的示意性框圖;圖7是示出用于動態(tài)識別針對可達(dá)的IP地址前綴的可能的備份PE設(shè) 備的步驟序列的流程圖;圖8是示出根據(jù)本發(fā)明的示例性實施例用于從一組可能的備份PE設(shè) 備中選擇至少一個優(yōu)選的備份PE設(shè)備的步驟序列的流程圖;圖9是示出根據(jù)本發(fā)明的示例性實施例用于執(zhí)行備份路徑核實過程的 步驟序列的流程圖;圖10是可被用于傳達(dá)PE設(shè)備的備份能力或無能力的示例性內(nèi)部網(wǎng)關(guān) 協(xié)議(IGP)通告的示意性框圖;圖11是可被用于傳達(dá)PE設(shè)備的備份能力或無能力的示例性邊界網(wǎng)關(guān) 協(xié)議(BGP)更新消息的示意性框圖;圖12是示出根據(jù)本發(fā)明的第一示例性實施例用于利用新型分層選擇
過程來選擇針對一個給定的地址前綴的一個或多個優(yōu)選的備份PE設(shè)備的 步驟序列的流程圖;圖13是示出根據(jù)本發(fā)明的第二示例性實施例用于利用新型加權(quán)度量 選擇過程來選擇針對一個給定的地址前綴的一個或多個優(yōu)選的備份PE設(shè) 備的步驟序列的流程圖;圖14是示出用于在預(yù)定的時間間隔中實現(xiàn)FRR操作的步驟序列的流 程圖;以及圖15是示出根據(jù)本發(fā)明的示例性實施例用于在網(wǎng)絡(luò)邊緣處執(zhí)行FRR 操作的步驟序列的流程圖。
具體實施方式
根據(jù)示例性實施例,如果邊緣設(shè)備檢測到阻礙其與相鄰域中的設(shè)備通 信的節(jié)點或鏈路故障,該邊緣設(shè)備則將尋址到相鄰域的至少某些數(shù)據(jù)分組 重路由到備份邊緣設(shè)備。被重路由的分組優(yōu)選地利用例如IP或MPLS隧 道傳輸機制被"隧道傳輸"到備份邊緣設(shè)備。在接收到重路由的分組之 后,備份邊緣設(shè)備將分組轉(zhuǎn)發(fā)到相鄰域。注意,備份邊緣設(shè)備不允許第二 次重路由接收到的分組,例如不允許在識別出另一域間節(jié)點或鏈路故障時 第二次重路由分組。這樣,避免了網(wǎng)絡(luò)邊緣處的分組循環(huán)。圖2示出采用本發(fā)明的示例性實施例的計算機網(wǎng)絡(luò)200。為了便于說 明,網(wǎng)絡(luò)200的網(wǎng)絡(luò)拓?fù)渑c圖l所示相同。但是,與網(wǎng)絡(luò)100不同的是, 提供商邊緣設(shè)備PE1不會在丟失了與其相鄰用戶站點120之間的通信(例 如由于CE1節(jié)點故障或PE1-CE1鏈路故障)時"丟棄"分組。相反,PE1 建立快速重路由(FRR)備份路徑205,該備份路徑205被用于將至少某 些分組210重路由到同樣耦合到用戶站點120的備份提供商邊緣設(shè)備。在 該示例中,PE1選擇PE3作為備份PE設(shè)備,從而備份路徑205被用于將 分組從PE1重路由到PE3并進(jìn)而路由到PE2。通過FRR備份路徑205傳 輸?shù)姆纸M210可被封裝以與該備份路徑相關(guān)聯(lián)的至少一個IP隧道頭部或 MPLS標(biāo)簽棧。提供商邊緣設(shè)備PE1采用備份PE設(shè)備選擇算法,該算法從一個或多 個可能的備份PE設(shè)備的集合中選擇至少一個優(yōu)選的備份PE設(shè)備。例如,如圖所示,PE1被連接到可能的備份PE設(shè)備PE2和PE3,其兩者都 被耦合到用戶站點120。比該示例性實施例更進(jìn)一步,PE1基于與可能的 備份邊緣設(shè)備PE2和PE3相關(guān)聯(lián)的一個或多個度量的值來執(zhí)行其選擇。 所述度量被輸入到新的選擇算法,該新的選擇算法利用分層選擇過程或加 權(quán)度量選擇過程或它們的組合來選擇優(yōu)選的備份邊緣設(shè)備PE3。各種類型的度量可被用來表征可能的備份邊緣設(shè)備,例如提供商邊緣 設(shè)備PE2和PE3。所述度量可以基于設(shè)備的關(guān)聯(lián)IGP代價值、鏈路和/或 節(jié)點共享風(fēng)險鏈路組(SRLG)成員身份、鏈路帶寬特性等等來導(dǎo)出、測 量或以其他方式確定。例如,下面論述某些代表性度量。出于描述的目 的,所述代表性度量被選擇以使得較大的度量值對應(yīng)于更優(yōu)選的備份設(shè)備 特性。但是,本領(lǐng)域技術(shù)人員將會理解,在替換實施例中,備份設(shè)備偏好 可能與度量值成反比。首先,考慮度量Ml,其值對應(yīng)于到達(dá)可能的備份PE設(shè)備所需的相 關(guān)IGP代價。針對可能的備份PE設(shè)備的度量Ml可被定義為例如常數(shù)值 K除以到達(dá)該設(shè)備所需的IGP最短路徑代價。據(jù)此,由于數(shù)據(jù)鏈路PE1-PE2和PE1-PE3可能與不同的IGP代價值相關(guān)聯(lián),因此PE1針對PE2和 PE3可能導(dǎo)出不同的度量M1值。例如,如果K等于100并且與鏈路PE1-PE2和PE1-PE3相關(guān)聯(lián)的IGP代價值分別等于50和20,則PE1可以確定 Ml (PE2)等于2,而Ml (PE3)等于5。在此情況下,基于度量Ml的 值,可能的備份設(shè)備PE3將是優(yōu)選的備份PE設(shè)備,因為M1 (PE3)大于 Ml (PE2)的值。第二度量M2可以基于可能的備份設(shè)備的鏈路帶寬特性來導(dǎo)出。例 如,度量M2可被用于反映域間鏈路(例如PE2-CE1、 PE2-CE2禾卩PE3-CE2)上可獲得的相關(guān)帶寬。例如,針對一條域間數(shù)據(jù)鏈路的度量M2的 值可以等于以兆位每秒(Mbps)為單位的該鏈路的帶寬容量。當(dāng)可能的 備份邊緣設(shè)備(例如PE2)與多條域間數(shù)據(jù)鏈路相關(guān)聯(lián)時,針對該設(shè)備的 度量M2的值可以是在該設(shè)備處的最大(或平均)域間鏈路帶寬容量。當(dāng) 然,度量M2可以按本領(lǐng)域技術(shù)人員將理解的其他功能上等同的方式被歸 一化或?qū)С?。?yōu)選地,全網(wǎng)格化的提供商邊緣設(shè)備PE1-PE4在包括在 iBGP更新消息中的BGP擴展共有(community)屬性中交換它們的域間 鏈路帶寬。這種鏈路帶寬的擴展共有屬性在2005年2月的SangU等人的 題為5GP fx^^ec/ Cowmwm'riw的IETF因特網(wǎng)草案draft-ietf-idr-bgp-ext-communicties-08.txt的第6節(jié)中有一般性的更詳細(xì)的描述,該因特 網(wǎng)草案通過引用被結(jié)合于此,就如同在這里被完整提出一樣。其它度量可以指示可能的備份PE設(shè)備是否參與至少一個不相交 (disjoint)節(jié)點和/或鏈路SRLG。如圖2所示,PE1-CE1和PE2-CE1數(shù) 據(jù)鏈路共享公共傳輸介質(zhì)(例如光纖170),并因而參與同一鏈路 SRLG。因此,如果光纖170發(fā)生故障或出于其他原因而變得不可用,則 這兩條數(shù)據(jù)鏈路PE1-CE1和PE2-CE1也變得不可用。相反,PE-CE數(shù)據(jù) 鏈路172和174是不通過共享光纖170傳輸數(shù)據(jù)的不同鏈路SRLG的成 員。提供商邊緣設(shè)備PE2和PE3由于都被耦合到CE2,因此是第一節(jié)點 SRLG的成員。這樣,CE2的故障將導(dǎo)致PE-CE數(shù)據(jù)鏈路172和174上的 數(shù)據(jù)通信故障。同樣,提供商邊緣設(shè)備PE1和PE2都耦合到CE1,因此 參與與第一節(jié)點SRLG不相交的第二節(jié)點SRLG。優(yōu)選地,可能的備份邊緣設(shè)備的節(jié)點SRLG和鏈路SRLG成員關(guān)系是 與不同的度量M3和M4相關(guān)聯(lián)的。例如,當(dāng)PE2和PE3是提供商邊緣設(shè) 備PE1的可能的備份邊緣設(shè)備時,PE1可能將節(jié)點SRLG度量M3和鏈路 SRLG度量M4兩者都與設(shè)備PE2和PE3中的每一個相關(guān)聯(lián)。度量M3可 以是一個布爾(Boolean)值(例如0或1),其指示一個可能的備份邊緣 設(shè)備是否是PE1并非其成員的至少一個節(jié)點SRLG的成員。類似地,度量 M4可以是一個布爾值,其指示一個可能的備份邊緣設(shè)備是否包含作為 PE1的數(shù)據(jù)鏈路并非其成員的鏈路SRLG的成員的至少一條數(shù)據(jù)鏈路。在 其他實施例中,度量M3和/或M4的值可能不是布爾指示符,而是等于一 個可能的備份邊緣設(shè)備處的不相交SRLG的數(shù)目的整數(shù)值。為了舉例說明和描述的目的,假設(shè)PE1將度量Ml至M4輸入到適當(dāng) 的備份邊緣設(shè)備選擇算法,該算法進(jìn)而選擇PE3作為優(yōu)選的備份邊緣設(shè) 備。在將重路由的分組轉(zhuǎn)發(fā)到備份邊緣設(shè)備PE3之前,提供商邊緣設(shè)備 PE1指定被重路由的分組是"受保護(hù)的"。這里,分組的受保護(hù)狀態(tài)指示 分組是響應(yīng)于域間節(jié)點或鏈路故障而被重路由的。分組的受保護(hù)狀態(tài)可以與被重路由的分組210—起同時傳輸,或者可以例如使用適當(dāng)?shù)?帶外" 信令機制或協(xié)議被單獨發(fā)送到提供商邊緣設(shè)備PE3。出于舉例說明的目 的,被重路由的分組210被示為其受保護(hù)狀態(tài)("P" ) 212和分組數(shù)據(jù) ("分組")214的級聯(lián)。提供商邊緣設(shè)備PE3在接收到受保護(hù)分組210 之后,不允許在其同樣丟失了與用戶站點120之間的通信的情況下(例如 由于CE2節(jié)點故障或PE3-CE2鏈路故障)第二次重路由分組210。因 此,被重路由的分組210不會在在提供商網(wǎng)絡(luò)100的邊緣處創(chuàng)建的環(huán)內(nèi)被 循環(huán)。圖3是可以有利地用于本發(fā)明的示例性提供商邊緣設(shè)備300 (例如路 由器)的示意性框圖??梢杂糜诒景l(fā)明的合適的中間節(jié)點包括(但不局限 于)從加州San Jose的Cisco Systems公司可獲得的Cisco 7200和7600系 列路由器和Catalyst 6500系列交換機。為了便于舉例說明和描述,PE設(shè) 備300被示出在通用硬件平臺上。但是,在替換實施例中,PE設(shè)備可以 包含多個線路卡,這些線路卡通過交換架構(gòu)(即骨干邏輯和電路)而與路 由處理引擎互連。因此,本領(lǐng)域技術(shù)人員將意識到,所示PE設(shè)備300僅 僅是示例性的,本發(fā)明的優(yōu)點可以在多種具有各種軟件能力的不同的硬件 平臺上實現(xiàn)。PE設(shè)備300包括一個或多個網(wǎng)絡(luò)接口 310、處理器320、存儲器控制 器330和存儲器340,它們通過系統(tǒng)總線350互連。每個網(wǎng)絡(luò)接口310可 以是將PE設(shè)備300與相鄰節(jié)點相連的物理或邏輯接口。例如,如圖所 示,網(wǎng)絡(luò)接口 310a被耦合到位于用戶站點120中的用戶邊緣設(shè)備CE1。 網(wǎng)絡(luò)接口 310b、 310c和310d分別耦合到提供商網(wǎng)絡(luò)110中的設(shè)備PE2、 P2和PE4。每個網(wǎng)絡(luò)接口 310可能適合于向各種傳輸介質(zhì)傳輸數(shù)據(jù)分組和 從各種傳輸介質(zhì)獲取數(shù)據(jù)分組,所述傳輸介質(zhì)例如是快速以太網(wǎng) (FE)、千兆位以太網(wǎng)(GE)、無線鏈路、光鏈路等等。在功能上,接 口 310可被配置用于利用各種網(wǎng)絡(luò)通信協(xié)議進(jìn)行通信,所述網(wǎng)絡(luò)通信協(xié)議 包括(但不局限于)異步傳輸模式(ATM)、幀中繼(FR)、多信道 T3、同步光網(wǎng)絡(luò)(SONET)、光纖分布數(shù)據(jù)接口 (FDDI)等等。存儲器340包括多個存儲單元,這些存儲單元可由處理器320和網(wǎng)絡(luò) 接口 310經(jīng)由存儲器控制器330來尋址。存儲器340優(yōu)選地包括隨機訪問 存儲器(RAM)的形式,RAM —般通過功率循環(huán)或其他重啟操作來清空 (例如,是"易失性"存儲器)。例如,存儲器340可以包括適合于存儲 處理器320可訪問的數(shù)據(jù)結(jié)構(gòu)和程序代碼的動態(tài)RAM (DRAM)和/或同 步DRAM (SDRAM)存儲單元。對本領(lǐng)域技術(shù)人員而言很明顯,存儲器 340還可以包括用于存儲與PE設(shè)備300的操作有關(guān)的數(shù)據(jù)結(jié)構(gòu)和程序指 令的其他存儲裝置,包括各種計算機可讀介質(zhì)。此外,本領(lǐng)域技術(shù)人員將 意識到,存儲器340的至少某些部分可被實現(xiàn)為從遠(yuǎn)程存儲器元件傳送到 PE設(shè)備300的電磁信號。存儲器340存儲用于實現(xiàn)路由選擇操作系統(tǒng)400的計算機可讀指令等 等,所述路由選擇操作系統(tǒng)400在功能上例如通過調(diào)用支持在處理器320 上執(zhí)行的軟件進(jìn)程和服務(wù)的網(wǎng)絡(luò)操作來組織PE設(shè)備300。由Qsco Systems公司出品的IOSTM操作系統(tǒng)是根據(jù)這里的示例性實施例可被存儲 在存儲器340中并被執(zhí)行的操作系統(tǒng)400的一個示例。IOS操作系統(tǒng)包括 各種路由選擇服務(wù),例如傳統(tǒng)的內(nèi)部和外部網(wǎng)關(guān)路由選擇協(xié)議。本發(fā)明也 可用于其他操作系統(tǒng),例如Cisco Systems公司出品的IOS-XR 操作系 統(tǒng),其中這些路由選擇服務(wù)中的一種或多種作為單獨的進(jìn)程被執(zhí)行,即具 有與操作系統(tǒng)分開的其自己的進(jìn)程地址空間。圖4示出可被PE設(shè)備300采用的示例性操作系統(tǒng)400。該操作系統(tǒng) 包括各種路由選擇服務(wù),包括一組IP路由選擇協(xié)議420、進(jìn)入/外出 (import/export)服務(wù)430、虛擬專用網(wǎng)(VPN) FRR服務(wù)435、 MPLS轉(zhuǎn) 發(fā)控件440以及一組虛擬路由選擇和轉(zhuǎn)發(fā)(VRF)實例460。 IP路由選擇 協(xié)議420使得PE設(shè)備能夠與提供商網(wǎng)絡(luò)110中的其他P和PE設(shè)備交換基 于IP的路由選擇信息。例如,IP協(xié)議可以實現(xiàn)傳統(tǒng)的內(nèi)部和外部網(wǎng)關(guān)協(xié) 議,例如BGP協(xié)議410a和OSPF協(xié)議410b。每種IP協(xié)議410可被配置 為將其拓?fù)浜吐酚蛇x擇信息存儲在至少一個例如存儲在存儲器340中的特 定于協(xié)議的表或數(shù)據(jù)庫415中。例如,BGP協(xié)議410a可以采用BGP表
415a,而OSPF協(xié)議410b可以維護(hù)OSPF數(shù)據(jù)庫415b等等。MPLS轉(zhuǎn)發(fā)控件440被配置為在PE設(shè)備300和提供商網(wǎng)絡(luò)110中的 其他PE設(shè)備之間建立標(biāo)簽交換路徑(LSP)。為此,MPLS轉(zhuǎn)發(fā)控件與其 他P和PE設(shè)備交換基于標(biāo)簽的路由選擇信息。具體而言,MPLS轉(zhuǎn)發(fā)控 件與相鄰的P設(shè)備合作來利用例如LDP或RSVP協(xié)議分發(fā)內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)標(biāo)簽,并進(jìn)一步與其全網(wǎng)格化的PE設(shè)備合作來利用例如MP-BGP協(xié)議分發(fā)VPN標(biāo)簽。這里使用的IGP標(biāo)簽標(biāo)識針對目的地LSP的標(biāo) 簽交換路由器之間的單獨的"跳",而VPN標(biāo)簽標(biāo)識來自給定PE設(shè)備的 特定用戶站點VPN路由。因而,在提供商網(wǎng)絡(luò)110中傳輸?shù)臄?shù)據(jù)分組105 通常包括MPLS標(biāo)簽棧,MPLS標(biāo)簽棧具有標(biāo)識分組離開提供商網(wǎng)絡(luò)的退 出點的IGP標(biāo)簽和指示分組的關(guān)聯(lián)VPN路由的VPN標(biāo)簽。MPLS轉(zhuǎn)發(fā)控件440維護(hù)著標(biāo)簽轉(zhuǎn)發(fā)表500 (或"標(biāo)簽轉(zhuǎn)發(fā)信息庫(LFIB)"),其存儲用于從PE設(shè)備300向相鄰的用戶站點轉(zhuǎn)發(fā)數(shù)據(jù)分 組的標(biāo)簽信息。標(biāo)簽轉(zhuǎn)發(fā)表500還被配置為存儲FRR相關(guān)信息,如下面 更詳細(xì)描述的。MPLS轉(zhuǎn)發(fā)控件可以采用單獨的標(biāo)簽轉(zhuǎn)發(fā)表(未示出)來 存儲用于在提供商網(wǎng)絡(luò)110中轉(zhuǎn)發(fā)數(shù)據(jù)分組的標(biāo)簽信息。當(dāng)PE設(shè)備300 從提供商網(wǎng)絡(luò)110中的P或PE設(shè)備接收到數(shù)據(jù)分組105時,MPLS轉(zhuǎn)發(fā) 控件440可以在接收到的分組的MPLS標(biāo)簽棧中定位一個VPN標(biāo)簽值。 MPLS轉(zhuǎn)發(fā)控件440基于該分組的VPN標(biāo)簽值在其轉(zhuǎn)發(fā)表500中執(zhí)行標(biāo) 簽查找操作。查找操作的結(jié)果可被用于確定分組接下來應(yīng)該通過其被轉(zhuǎn)發(fā) 的特定PE-CE鏈路。VRF實例460的集合包括一個或多個單獨的VRP實例450,例如 VRF實例450a和450b。每個VRP實例管理PE設(shè)備300和所選的一組一 個或多個相鄰的用戶站點(這些用戶站點本地地或遠(yuǎn)程地附接到提供商網(wǎng) 絡(luò)IIO)之間的路由選擇和轉(zhuǎn)發(fā)操作。為了便于描述,假設(shè)每個VRF實例 450與單個用戶站點相關(guān)聯(lián),并對發(fā)送到和接收自該用戶站點的數(shù)據(jù)分組 執(zhí)行分組轉(zhuǎn)發(fā)判決。因此,隨后將描述的示例性實施例將假設(shè)路由選擇操 作系統(tǒng)400針對直接附接到PE設(shè)備300的每個用戶站點實例化出一個單 獨的VRF實例450。例如,在圖2中,提供商邊緣設(shè)備PE3 300c可以針
對其兩個相鄰用戶站點120和130中的每一個執(zhí)行單獨的VRP實例。在 替換實施例中,VRF實例可以是基于每VPN或以與網(wǎng)絡(luò)拓?fù)湎嘁恢碌钠?他方式來實例化的。
每個VRP實例450包括特定于VRF的路由選擇信息庫(RIB) 452和 特定于VRF的轉(zhuǎn)發(fā)信息庫(FIB) 454。因此,VRF實例450a和450b分 別包括特定于VRF的RIB 452a和452b以及FIB 454a和454b。每個VRF RIB 452存儲針對在其VRF實例的關(guān)聯(lián)用戶站點中可達(dá)的地址前綴的第3 層路由選擇信息,其中所述地址前綴包括由用戶站點通告的地址前綴和由 與該用戶站點參與同一 VPN的其他站點通告的前綴。VRF FIB 454存儲針 對存儲在其關(guān)聯(lián)的VRF RIB中的IP目的地的第2層轉(zhuǎn)發(fā)信息。VRF實例 460和BGP協(xié)議410a與進(jìn)入/外出服務(wù)430接口,以確保VRF RIB 452和 BGP表415a存儲一致的路由選擇信息集合。例如,進(jìn)入/外出服務(wù)可以從 BGP表拷貝與VPN相關(guān)的路由選擇信息,并將VPN路由選擇信息存儲在 適當(dāng)?shù)腣RF RIB中。類似地,進(jìn)入/外出服務(wù)可以將存儲在VRF RIB中的 路由選擇信息重分發(fā)到BGP表中。
根據(jù)示例性實施例,每個VRF實例450包括FRR計時器458,其例 如響應(yīng)于在該VRJF實例的關(guān)聯(lián)用戶站點處的發(fā)生故障的CE節(jié)點或PE-CE 鏈路故障來確定執(zhí)行FRR操作的持續(xù)時間。例如,VRF實例450a和450b 與相應(yīng)的FRR計時器458a和458b相關(guān)聯(lián)。可替換地,單個FRR計時器 458可能對每個VRF示例450而言都是可用的。在操作中,在路由選擇操 作系統(tǒng)400檢測到相鄰用戶站點處的域間通信失敗之后,VPN FRR服務(wù) 435啟動與關(guān)聯(lián)于無法訪問的用戶站點的VRF實例相對應(yīng)的FRR計時器 458。然后,操作系統(tǒng)針對被尋址到該無法訪問的用戶站點的數(shù)據(jù)分組執(zhí) 行FRR操作。FRR操作繼續(xù)到FRR計時器超時為止,在FRR計時器超時 時,恢復(fù)正常的(非FRR)路由選擇操作,并且假設(shè)網(wǎng)絡(luò)已經(jīng)在其新的網(wǎng) 絡(luò)拓?fù)?即不包括發(fā)生故障的CE節(jié)點或PE-CE鏈路)上收斂。
圖5示出根據(jù)示例性實施例可以使用的示例性標(biāo)簽轉(zhuǎn)發(fā)表500。該表 500包括多個表條目510,其中每個條目被配置為存儲地址前綴值520、 VPN標(biāo)簽值530、 VRF標(biāo)識符值540、 "FRR使能"標(biāo)志值550、 "FRR
排除"標(biāo)志值560、備份PE設(shè)備標(biāo)識符570和備份MPLS標(biāo)簽棧580等 等。地址前綴值520存儲對于PE設(shè)備300而言從直接附接的CE設(shè)備可 達(dá)的IP地址前綴。VPN標(biāo)簽值530標(biāo)識哪個VPN包括地址前綴值520。 VRF標(biāo)識符值540標(biāo)識該地址前綴屬于哪個VRF實例,并因而哪個VRF 實例應(yīng)被用于轉(zhuǎn)發(fā)具有與地址前綴值520相匹配的目的地IP地址的數(shù)據(jù) 分組。
假設(shè)PE設(shè)備300在直接附接到相鄰CE設(shè)備的網(wǎng)絡(luò)接口 310處接收 到通告消息,例如BGP更新消息或鏈路狀態(tài)通告。MPLS轉(zhuǎn)發(fā)控件440 被提供以針對由CE設(shè)備通告的地址前綴的VPN標(biāo)簽值(假設(shè)該VPN標(biāo) 簽值尚未被分配的話)。MPLS轉(zhuǎn)發(fā)控件將通告的地址前綴值520和它們 的分配的VPN標(biāo)簽值530 —起存儲在適當(dāng)?shù)臉?biāo)簽轉(zhuǎn)發(fā)表條目510中。這 些表條目中的每一個還包括VRF標(biāo)識符值540,其標(biāo)識與包含相鄰CE設(shè) 備的用戶站點相關(guān)聯(lián)的VRF實例450。
CE設(shè)備的被通告的地址前綴和它們關(guān)聯(lián)的VPN標(biāo)簽值例如在一個或 多個MP-BGP消息中被散布到提供商網(wǎng)絡(luò)110中的其他PE設(shè)備。這樣, 其他PE設(shè)備被告知具有與這些通告的地址前綴中的任意一個相匹配的目 的地IP地址的數(shù)據(jù)分組應(yīng)該包括前綴的關(guān)聯(lián)的VPN標(biāo)簽值。隨后,當(dāng)在 PE設(shè)備300處從P或PE設(shè)備接收到數(shù)據(jù)分組105時,接收到的數(shù)據(jù)分組 的目的地IP地址和VPN標(biāo)簽值可被用于索引標(biāo)簽轉(zhuǎn)發(fā)表500中的匹配的 表條目510。匹配的表條目的VRF標(biāo)識符540標(biāo)識哪個VRF實例450可 被用于將接收到的數(shù)據(jù)分組轉(zhuǎn)發(fā)到相鄰的用戶站點。
FRR使能標(biāo)志550存儲指示當(dāng)前是否正在對包含地址前綴520的數(shù)據(jù) 分組執(zhí)行FRR操作的值。當(dāng)操作系統(tǒng)400檢測到PE-CE數(shù)據(jù)鏈路上的節(jié) 點或鏈路故障時,操作系統(tǒng)的VPN FRR服務(wù)435針對那些通過發(fā)生故障 的PE-CE鏈路可達(dá)的IP地址前綴520設(shè)置FRR使能標(biāo)志值。如這里所使 用的,F(xiàn)RR使能標(biāo)志550在其等于第一預(yù)定值(例如"1")時被"設(shè) 置"。否則,F(xiàn)RR使能標(biāo)志等于第二預(yù)定值(例如"0")。這樣一來, FRR使能標(biāo)志550的值指示是否已經(jīng)針對具有與地址前綴520相匹配的目 的地IP地址的數(shù)據(jù)分組105發(fā)起FRR操作。
頁
FRR排除標(biāo)志560存儲指示是否即使在設(shè)置了 FRR使能標(biāo)志550時 也不應(yīng)該執(zhí)行FRR操作的值。FRR排除標(biāo)志可以等于第一預(yù)定值(例如
"1")來指示不允許執(zhí)行FRR操作,并且在其他情況下可以等于第二預(yù) 定值(例如"0" ) 。 FRR排除標(biāo)志560的值可以例如由系統(tǒng)管理員手動 選擇。但是,在優(yōu)選實施例中,F(xiàn)RR排除標(biāo)志值是由路由選擇操作系統(tǒng) 400動態(tài)確定的。操作系統(tǒng)的VPN FRR服務(wù)435可被配置為執(zhí)行本地策 略,該本地策略實現(xiàn)用于確定哪些地址前綴520有資格接受FRR保護(hù)的 一組規(guī)則。本地策略例如可以指定只有由所選用戶站點或參與某些VPN 的用戶站點通告的地址前綴可以受到FRR保護(hù)。在將其本地策略應(yīng)用到 存儲在表500中的地址前綴520之后,操作系統(tǒng)針對那些本地策略確定沒 資格接受FRR保護(hù)的前綴設(shè)置FRR排除標(biāo)志560。
一個或多個優(yōu)選備份PE設(shè)備570的集合可以與存儲在表500中的每 個地址前綴520相關(guān)聯(lián)。每個備份PE設(shè)備570可以與一個備份標(biāo)簽棧 580 (例如包括IGP和VPN標(biāo)簽值)相關(guān)聯(lián),所述備份標(biāo)簽棧580可被包 括在與地址前綴520和VPN標(biāo)簽值530相匹配的FRR重路由分組210 中。備份標(biāo)簽棧580可以基于被配置為存儲標(biāo)簽信息的單獨的標(biāo)簽轉(zhuǎn)發(fā)表
(未示出)的內(nèi)容來確定,其中所述標(biāo)簽信息被用于在提供商網(wǎng)絡(luò)110中 轉(zhuǎn)發(fā)數(shù)據(jù)分組。如示例性表條目510所示,PE3是針對在與VPN標(biāo)簽值 57相關(guān)聯(lián)的VPN中可達(dá)的地址前綴10丄2.0/24的優(yōu)選備份PE設(shè)備。此 外,所示的備份標(biāo)簽棧580還指示轉(zhuǎn)發(fā)到PE3的FRR數(shù)據(jù)分組應(yīng)該包括 等于100的IGP標(biāo)簽值和等于75的VPN標(biāo)簽值。在該示例中,F(xiàn)RR標(biāo)簽 550和560指示針對地址前綴10丄2.0/24的FRR操作當(dāng)前正在進(jìn)行,并且 尚未排除FRR操作。
識別可能的備份PE設(shè)備
根據(jù)本發(fā)明的技術(shù),PE設(shè)備300首先識別針對地址前綴520的一個 或多個可能的備份邊緣設(shè)備的群組,然后從該群組中選出至少一個優(yōu)選的 備份邊緣設(shè)備570。雖然可能備份PE設(shè)備的群組可以被靜態(tài)地配置在PE 設(shè)備處(例如由系統(tǒng)管理員),但是可能的備份PE設(shè)備的群組優(yōu)選地由 操作系統(tǒng)400動態(tài)地"學(xué)習(xí)"(獲取)。具體而言,當(dāng)已經(jīng)從(i)直接
連接(即相鄰的)的用戶站點和(ii)提供商網(wǎng)絡(luò)110中的另一PE設(shè)備接 收到特定地址前綴520時,操作系統(tǒng)自動學(xué)習(xí)針對該地址前綴的可能的備
份PE設(shè)備。隨后識別出在提供商網(wǎng)絡(luò)中通告該地址前綴的PE設(shè)備,作 為針對被尋址到直接連接的用戶站點的數(shù)據(jù)分組的可能的備份PE設(shè)備。
優(yōu)選地,操作系統(tǒng)的VPN FRR服務(wù)435通過監(jiān)視BGP表415a的內(nèi) 容來識別一個前綴的可能的備份PE設(shè)備。傳統(tǒng)上,BGP表存儲有被通告 到PE設(shè)備300的可達(dá)性信息(即地址前綴),以及關(guān)于哪些網(wǎng)絡(luò)設(shè)備通 告了所述可達(dá)性信息的指示(即BGP下一跳屬性)。據(jù)此,如果VPN FRR服務(wù)對BGP表415a的掃描檢測到地址前綴520對于PE設(shè)備300而 言是從直接連接的CE設(shè)備和遠(yuǎn)程PE設(shè)備兩者可達(dá)的,VPN FRR服務(wù) 435則將該遠(yuǎn)程PE設(shè)備標(biāo)識為針對該地址前綴的可能的備份PE設(shè)備。
圖6示出例如存儲在存儲器340中的表600, VPN FRR服務(wù)435可以 采用該表600來存儲可能的備份PE設(shè)備。該表包括多個表條目605,所 述表條目605具有被配置為存儲地址前綴的第一列610和被配置為存儲一 個或多個可能的備份PE設(shè)備622的第二列620??赡艿膫浞軵E設(shè)備622 可以由它們的關(guān)聯(lián)的IP地址來標(biāo)識。列620還被配置為針對每個可能的 備份PE設(shè)備622存儲零個或多個度量624的集合。如圖所示,表600包 括示例性條目605,其將地址前綴10丄2.0/24與兩個可能的備份PE設(shè)備 622 (即PE2禾B PE3)相關(guān)聯(lián)??赡艿膫浞菰O(shè)備PE2和PE3中的每一個具 有與其相關(guān)聯(lián)的N個度量624的相應(yīng)集合。
VPN FRR服務(wù)可以從存儲在BGP表415a中的BGP屬性取得度量 624。為此,每個PE設(shè)備可以利用在iBGP更新消息中通告的一個或多個 BGP屬性將其關(guān)聯(lián)的度量集合散布到其他全網(wǎng)格化的PE設(shè)備。當(dāng)然,至 少某些度量也可以其他方式獲得或?qū)С?。例如,上述度量Ml可以基于存 儲在鏈路狀態(tài)數(shù)據(jù)庫415b中的IGP代價值導(dǎo)出,因而無需在BGP屬性中 通告。
圖7是示出可以由PE設(shè)備300執(zhí)行的動態(tài)識別針對一個可達(dá)地址前 綴的可能的備份PE設(shè)備的步驟序列的流程圖。該序列開始于步驟700并 前進(jìn)到步驟710,在步驟710在直接連接到CE設(shè)備的網(wǎng)絡(luò)接口 310處接
收包含第一地址前綴的諸如BGP更新消息之類的通告消息。在步驟720,第一地址前綴被存儲在適當(dāng)?shù)奶囟ㄓ趨f(xié)議的表或數(shù)據(jù)庫中。這里,假設(shè)第一地址前綴是在BGP更新消息中接收到的,并因此被存儲在BGP表415a 中。接下來,在步驟730, PE設(shè)備300在附接到遠(yuǎn)程PE設(shè)備的網(wǎng)絡(luò)接口 310處接收到第二地址前綴。在步驟740,該第二地址前綴被存儲在適當(dāng) 的特定于協(xié)議的表(例如BGP表)中。在步驟750, PE設(shè)備的VPN FRR服務(wù)435掃描BGP表415a的內(nèi)容 以確定接收到的第一和第二地址前綴是否相等。如果不相等,序列則在步 驟780終止。但是,如果VPNFRR服務(wù)確定第一和第二地址前綴是相同 的地址前綴,則在步驟760, VPN FRR服務(wù)將該遠(yuǎn)程PE設(shè)備標(biāo)識為針對 該前綴的可能的備份PE設(shè)備。在步驟770, VPNFRR服務(wù)將識別出的可 能的備份PE設(shè)備存儲在與該前綴相關(guān)聯(lián)的表條目605中。另外,VPN FRR服務(wù)還例如從BGP表415a取得、測量和/或?qū)С雠c識別出的可能的 備份PE設(shè)備相關(guān)聯(lián)的一個或多個度量。所述度量與識別出的可能的備份 PE設(shè)備一起被存儲在該前綴的表條目605中。序列在步驟780結(jié)束。選擇優(yōu)選的備份PE設(shè)備圖8示出PE設(shè)備300可以執(zhí)行的用于從與給定的地址前綴相關(guān)聯(lián)的 可能的備份PE設(shè)備的群組中選擇至少一個優(yōu)選的備份PE設(shè)備的步驟序 列。作為示例,該序列由運行在PE設(shè)備中的VPN FRR服務(wù)435執(zhí)行。 但是,本領(lǐng)域技術(shù)人員將意識到,在PE設(shè)備(或耦合到PE設(shè)備)中的 其他硬件和/或軟件模塊也可以實現(xiàn)下面將描述的任意步驟。該序列開始于步驟800并前進(jìn)到步驟810,在步驟810執(zhí)行備份路徑 核實過程。在完成了備份路徑核實過程之后,在步驟820執(zhí)行備份PE選 擇算法。根據(jù)示例性實施例,備份PE選擇算法可以采用分層選擇過程或 加權(quán)度量選擇過程或其某種組合。該序列在步驟830結(jié)束。 (i)備份路徑核實在地址前綴的可能備份邊緣設(shè)備的群組被識別出之后,PE設(shè)備優(yōu)選 地執(zhí)行備份路徑核實過程,該核實過程(0確定該前綴是否是可達(dá)的, 并且(ii)消除無法充當(dāng)備份設(shè)備的可能的備份PE設(shè)備。首先,PE設(shè)備
確定前綴的下一跳是否是經(jīng)由內(nèi)部路由(iBGP, IGP)或從相鄰路由選擇 域中的本地連接的設(shè)備可達(dá)的。如果該前綴被確定為不可達(dá)的,則該前綴沒資格進(jìn)行FRR保護(hù),并因而不能與其識別出的可能的備份邊緣設(shè)備中 的任意一個相關(guān)聯(lián)。接下來,PE設(shè)備刪除掉前綴的可能的備份邊緣設(shè)備 中無法充當(dāng)備份PE設(shè)備的任意備份邊緣設(shè)備??赡艿膫浞軵E設(shè)備可以 利用BGP或IGP消息來通告其備份能力(或無能力),或者其備份能力 可以由本地策略(例如訪問控制列表)設(shè)置。圖9示出PE設(shè)備可以用來執(zhí)行針對給定的地址前綴的備份路徑核實 過程的步驟序列。這里,假設(shè)PE設(shè)備的VPN FRR服務(wù)435已經(jīng)搜索了 它的表600并定位到包含該前綴的識別出的可能備份PE設(shè)備的集合的條 目605。該序列開始于步驟900并前進(jìn)到步驟910,在步驟910確定該前 綴是否是通過提供商網(wǎng)絡(luò)110中的內(nèi)部路由可達(dá)的。為此,VPNFRR服 務(wù)可以確定該前綴是否被存儲在至少一個iBGP表或IGP數(shù)據(jù)庫415中。 如果該前綴被確定為是可達(dá)的,序列則前進(jìn)到步驟940。否則,在步驟 920,確定該前綴是否是本地可達(dá)的,即是否是從相鄰路由選擇域中的直 接附接的CE設(shè)備可達(dá)的。在此情況下,VPN FRR服務(wù)可以在BGP表 415a中搜索該前綴。如果該前綴被確定為是本地或經(jīng)由內(nèi)部路由不可達(dá) 的,則在步驟930,從該前綴的表條目605中刪除掉針對該前綴的所有可 能的備份PE設(shè)備622,并且該序列在步驟980結(jié)束。另一方面,如果該前綴被確定為是可達(dá)的,則在步驟940,從存儲在 表600中的該前綴的識別出的可能的備份PE設(shè)備的群組中選擇可能的備 份PE設(shè)備622。在步驟950,確定所選的可能的備份PE設(shè)備實際上是否 能夠充當(dāng)備份PE設(shè)備??赡艿膫浞軵E設(shè)備可以通過向全網(wǎng)格化的PE設(shè) 備通告iBGP或IGP消息來通告其充當(dāng)備份PE設(shè)備的能力(或無能 力)??商鎿Q地,可能的備份PE設(shè)備的備份能力可以由本地策略(例如 在訪問控制列表中)設(shè)置。如果選出的可能的備份PE設(shè)備被確定為無法 充當(dāng)備份PE設(shè)備,則在步驟960,從表600中與該前綴相關(guān)聯(lián)的可能的 備份PE設(shè)備的群組中刪除掉所選設(shè)備。在步驟970,檢查前綴的條目605 以確定是否存在針對該前綴識別出的任意其他可能的備份PE設(shè)備。如果
是,序列則返回步驟940,否則序列在步驟980結(jié)束。圖10示出可被用于通告PE設(shè)備的充當(dāng)備份PE設(shè)備的能力或無能力 的IGP通告1000,例如OSPF鏈路狀態(tài)通告或IS-IS鏈路狀態(tài)分組。IGP 通告IOOO包括傳統(tǒng)的IGP頭部IOIO和備份能力TLV 1020。 TLV 1020存 儲指示散布通告1000的PE設(shè)備是否能夠充當(dāng)備份PE設(shè)備的指示(例如 預(yù)定值)。例如,備份能力TLV可被實現(xiàn)為OSPF或IS-IS路由器能力 TLV,它們在2005年2月公布的Lindam等人的題為五xte^z'o似to OSPF /or爿dverfc/wg (9; riowa/7 owter Ca/w^/W^的IETF因f寺網(wǎng)草案draft-ietf-ospf-cap-06.txt和2005年1月公布的Vasseur等人的題為ZS-ZS /o尸^WverriWwg J OMter in/ormariow的IETF因牛寺網(wǎng)草案draft-ietf-isis-caps-00.txt中有一般性的更詳細(xì)的描述,這兩個因特網(wǎng)草案通過引用被結(jié)合于 此,就如同在這里被完整提出一樣。圖11示出可被用于通告PE設(shè)備的充當(dāng)備份PE設(shè)備的能力或無能力 的BGP更新消息1100。該BGP通告1100除了其他部分之外包括傳統(tǒng)的 BGP頭部1110和備份能力共有屬性1120。 BGP共有屬性1120存儲關(guān)于 散布該BGP更新消息1100的PE設(shè)備是否能夠充當(dāng)備份PE設(shè)備的指示。 備份能力共有屬性可以是被配置為存儲指示PE設(shè)備的備份能力狀態(tài)的值 的預(yù)定BGP擴展共有屬性。如上所述,BGP擴展共有屬性在2005年2月 的Sangli等人的題為5GP五xtew&d Comm認(rèn)故^的IETF因特網(wǎng) 草案draft-ietf-idr-bgp-ext-communities-08.txt中有一般性的更詳細(xì)的描述, 該因特網(wǎng)草案通過引用被結(jié)合于此,就如同在這里被完整提出一樣。 (ii)分層的備份PE設(shè)備選擇根據(jù)第一示例性實施例, 一種選擇標(biāo)準(zhǔn)的分層結(jié)構(gòu)被用來選擇針對一 個給定的地址前綴的一個或多個優(yōu)選的備份PE設(shè)備。在該實施例中,每 個備份邊緣設(shè)備度量被分配一個相對偏好級別。然后,第一選擇標(biāo)準(zhǔn)針對 與該前綴相關(guān)聯(lián)的可能的備份PE設(shè)備中的每一個評估最優(yōu)選的度量(即 具有最大相對偏好級別的度量)。具有該度量的最大(或最小)值的可能 的備份PE設(shè)備被選為優(yōu)選的備份PE設(shè)備。如果多個可能的備份PE設(shè)備 滿足該第一標(biāo)準(zhǔn),則第二選擇標(biāo)準(zhǔn)可以進(jìn)一步縮小可能的備份PE設(shè)備的
集合。優(yōu)選地,第二標(biāo)準(zhǔn)比較次優(yōu)選度量的值。類似地,第三標(biāo)準(zhǔn)比較第 三優(yōu)選度量的值,以此類推。該分層的選擇過程被重復(fù),直到針對該給定 的地址前綴選出所需數(shù)目的備份PE設(shè)備為止。如果在分層選擇過程的任意階段都有多個可能的備份PE設(shè)備滿足選擇標(biāo)準(zhǔn),則該過程可以終止。在此情況下,優(yōu)選的備份PE設(shè)備可以從在 分層選擇過程終止時滿足選擇標(biāo)準(zhǔn)的可能的備份PE設(shè)備中隨機地選擇。 可替換地,被尋址到該給定的地址前綴的網(wǎng)絡(luò)流量可以在滿足選擇標(biāo)準(zhǔn)的 可能的備份PE設(shè)備之間進(jìn)行負(fù)載均衡(成比例地或以其他方式)。例如,假設(shè)前綴的可能的備份邊緣設(shè)備PE2和PE3中的每一個分別 與一組度量Ml、 M2和M3相關(guān)聯(lián),其中度量Ml具有最高相對偏好級 別,而度量M3具有最低相對偏好級別。第一選擇標(biāo)準(zhǔn)評估M1 (PE2)和 Ml (PE3),其中M (PE)表示與可能的備份邊緣設(shè)備PE相關(guān)聯(lián)的度量 M的值。具有度量M1的最大(或最小)值的可能的備份邊緣設(shè)備PE2或 PE3被選為該前綴的優(yōu)選備份邊緣設(shè)備。但是,如果Ml (PE2)和Ml (PE3)等于相同的值,則第二選擇標(biāo)準(zhǔn)可以評估次優(yōu)選的度量值,即 M2 (PE2)和M2 (PE3)。同樣,如果這些值評估為相同的值,則第三 選擇標(biāo)準(zhǔn)比較M3 (PE2)禾n M3 (PE3)的值。在該分層選擇過程的任意 階段,該標(biāo)準(zhǔn)可被配置為停止評估度量值,并相反地改為對備份邊緣設(shè)備 PE2和PE3兩者上的流量執(zhí)行負(fù)載均衡,或者隨機地選擇PE2或PE3作 為優(yōu)選的備份邊緣設(shè)備。圖12示出可被執(zhí)行用于利用示例性的分層選擇過程來選擇針對一個 給定地址前綴的至少一個優(yōu)選的備份PE設(shè)備的步驟序列。該序列開始于 步驟1200并前進(jìn)到步驟1205,在步驟1205在表600中定位該前綴的識別 出的可能的備份PE設(shè)備的群組。接下來,在步驟1210,如果可能的備份 PE設(shè)備的列表為空,即不存在針對該前綴的任何識別出的可能的備份PE 設(shè)備,或者所有該前綴的識別出的可能的備份PE設(shè)備都已被備份路徑核 實過程刪除,該序列則前進(jìn)到步驟1215,在步驟1215并不針對該前綴選 擇任何的優(yōu)選備份PE設(shè)備。然后,序列在步驟1265結(jié)束。當(dāng)存在至少一個與該前綴相關(guān)聯(lián)的可能的備份PE設(shè)備622時,在步
驟1220,針對每個可能的備份PE設(shè)備評估最優(yōu)選的度量的值。然后,在步驟1225,具有最優(yōu)選的度量的最大(或最小)值的可能的(一個或多 個)備份PE設(shè)備被選為針對被尋址到該前綴的網(wǎng)絡(luò)流量的(一個或多 個)優(yōu)選備份PE設(shè)備。接下來,在步驟1230,確定在步驟1225是否選 擇了多于所需數(shù)目(例如一個)的優(yōu)選備份PE設(shè)備。如果否,則在步驟 1235,所選的備份PE設(shè)備以及它們關(guān)聯(lián)的MPLS標(biāo)簽棧被存儲在與該地 址前綴相對應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)表條目510的適當(dāng)?shù)淖侄?70和580中。序列在 步驟1265結(jié)束。如果在步驟1230確定選擇了多于所需數(shù)目的備份PE設(shè)備,則在步驟 1240確定是否應(yīng)該終止分層選擇過程。例如,選擇過程可能由于例如時 間和/或PE設(shè)備中的系統(tǒng)資源約束而被終止。如果確定不應(yīng)終止選擇過 程,則在步驟1245,針對在步驟1225利用分層選擇算法最近選出的可能 的備份PE設(shè)備中的每一個評估次優(yōu)選度量的值。然后序列返回步驟 1225。但是,如果分層選擇過程要被終止,接下來則在步驟1250確定被尋 址到該前綴的網(wǎng)絡(luò)流量是否應(yīng)在在步驟1225最近選出的可能的備份PE設(shè) 備之間進(jìn)行負(fù)載均衡(成比例地或以其他方式)。優(yōu)選地,系統(tǒng)管理員手 工配置實現(xiàn)了新型分層選擇過程的PE設(shè)備,這種新型分層選擇過程是關(guān) 于網(wǎng)絡(luò)流量是否應(yīng)該在可能的備份PE設(shè)備的所選集合中進(jìn)行負(fù)載均衡 的。當(dāng)確定應(yīng)該對網(wǎng)絡(luò)流量進(jìn)行負(fù)載均衡時,在步驟1260,所選備份PE 設(shè)備以及它們關(guān)聯(lián)的MPLS標(biāo)簽棧被存儲在該前綴的相應(yīng)的標(biāo)簽轉(zhuǎn)發(fā)表條 目510中,并且序列在步驟1265結(jié)束。如果不采用負(fù)載均衡,則在步驟 1255,從在步驟1225最近選出的可能的備份PE設(shè)備中隨機選擇所需數(shù)目 的備份PE設(shè)備。序列在步驟1265結(jié)束。 (iii)加權(quán)度量備份PE設(shè)備選擇在第二示例性實施例中, 一個算術(shù)函數(shù)被用于選擇針對一個給定地址 前綴的至少一個優(yōu)選備份PE設(shè)備。該算術(shù)函數(shù)優(yōu)選地是一個客觀多項式 函數(shù),其計算與一個可能的備份PE設(shè)備相關(guān)聯(lián)的度量的加權(quán)組合;該度 量的加權(quán)組合可被解釋成該設(shè)備的"總"度量。例如,可被用于計算一個
可能的PE設(shè)備的總度量的示例性多項式函數(shù)FOPE)可被表示為以下加權(quán)和<formula>formula see original document page 39</formula>其中,風(fēng).(P《是與可能的備份PE設(shè)備相關(guān)聯(lián)的第i個度量的值,并且w, 是由例如系統(tǒng)管理員分配給第i個度量的數(shù)字權(quán)重。注意,雖然權(quán)重w,.優(yōu)選地是大于等于0的值,但是還可以設(shè)想,在某 些情況下,權(quán)重值中的至少一個可以是負(fù)的。而且,PE設(shè)備可以針對不 同的地址前綴采用不同的權(quán)重值集合。例如,權(quán)重值w,可以是基于每個用 戶站點或每個VPN來選擇的。例如,第一組權(quán)重值可以針對在用戶站點 120中可達(dá)的地址前綴被輸入到函數(shù)F(PE),而另一組權(quán)重值可以用于從 用戶站點130通告的地址前綴。還會注意到,在提供商網(wǎng)絡(luò)110中的PE 設(shè)備300無需采用相同的權(quán)重值w,.的集合,并且至少某些PE設(shè)備可以在 本地選擇它們自己的權(quán)重值集合,該權(quán)重值集合可能與在其他全網(wǎng)格化的 PE設(shè)備選出的權(quán)重值相重疊,也可能不與其相重疊。在操作中,針對與地址前綴相關(guān)聯(lián)的每個可能的備份PE設(shè)備的度量 值M,.的集合被輸入到多項式函數(shù)F(PE)。對針對這些設(shè)備計算出的總度量 進(jìn)行比較,并且具有最大(或最小)總度量值的可能的備份PE設(shè)備被選 為針對被尋址到該前綴的經(jīng)FRR重路由的流量的優(yōu)選備份PE設(shè)備。在基 于多項式函數(shù)的輸出選出多個可能的備份PE設(shè)備的情況下,網(wǎng)絡(luò)管理員 可以隨機選擇至少一個所選設(shè)備或者可以選擇一個度量作為這些設(shè)備之間 的平局決勝度量。可替換地,網(wǎng)絡(luò)流量可以在所選備份PE設(shè)備之間進(jìn)行 負(fù)載均衡(成比例地或以其他方式)。圖13示出可被執(zhí)行用于利用該示例性的加權(quán)度量選擇過程選擇針對 一個給定地址前綴的至少一個優(yōu)選備份PE設(shè)備的步驟序列。該序列開始 于步驟1300并前進(jìn)到步驟1305,在步驟1305在表600中定位該前綴的識 別出的可能備份PE設(shè)備的群組。接下來,在步驟1310,如果可能的備份 PE設(shè)備的列表為空,即如果針對該前綴不存在任何識別出的可能的備份 PE設(shè)備或者所有該前綴的識別出的可能的備份PE設(shè)備都被備份路徑核實 過程刪除,序列則前進(jìn)到步驟1315,在步驟1315并不針對該前綴選擇任 何優(yōu)選的備份PE設(shè)備。然后,序列在步驟1365結(jié)束。當(dāng)存在至少一個與該前綴相關(guān)聯(lián)的可能的備份PE設(shè)備622時,在步 驟1320,每個可能的備份PE設(shè)備的關(guān)聯(lián)的度量624的集合被輸入到預(yù)定 算術(shù)函數(shù),例如上述加權(quán)多項式函數(shù)F(PE)。然后在步驟1325,具有由該 算術(shù)函數(shù)輸出的最大(或最小)值的(一個或多個)可能的備份PE設(shè)備 被選為針對被尋址到該前綴的網(wǎng)絡(luò)流量的(一個或多個)優(yōu)選備份PE設(shè) 備。接下來,在步驟1330,確定在步驟1325是否選擇了多于所需數(shù)目(例如一個)的優(yōu)選備份PE設(shè)備。如果否,則在步驟1335,所選備份 PE設(shè)備以及它們關(guān)聯(lián)的MPLS標(biāo)簽棧被存儲在與該地址前綴相對應(yīng)的標(biāo) 簽轉(zhuǎn)發(fā)表條目510的適當(dāng)字段570和580中。序列在步驟1365結(jié)束。如果在步驟1330確定選擇了多于所需數(shù)目的備份PE設(shè)備,則確定被 尋址到該前綴的網(wǎng)絡(luò)流量是否應(yīng)該在所選備份PE設(shè)備之間進(jìn)行負(fù)載均衡(成比例地或以其他方式)。優(yōu)選地,系統(tǒng)管理員手工配置實現(xiàn)了新型加 權(quán)度量選擇過程的PE設(shè)備,這種新型加權(quán)度量選擇過程是關(guān)于網(wǎng)絡(luò)流量 是否應(yīng)該在可能的備份PE設(shè)備的所選集合中進(jìn)行負(fù)載均衡的。當(dāng)確定應(yīng) 該在所選備份PE設(shè)備之間對網(wǎng)絡(luò)流量進(jìn)行負(fù)載均衡時,在步驟1345,所 選備份PE設(shè)備以及它們關(guān)聯(lián)的MPLS標(biāo)簽棧被存儲在該前綴的相應(yīng)的標(biāo) 簽轉(zhuǎn)發(fā)表條目510中,然后序列在步驟1365結(jié)束。如果未采用負(fù)載均衡,則在步驟1350,確定是否應(yīng)該從所選備份PE 設(shè)備中隨機選擇所需數(shù)目的備份PE設(shè)備。如果是,則在步驟1355根據(jù)隨 機選擇算法來隨機選擇所需數(shù)目的備份PE設(shè)備;序列在步驟1365結(jié)束。 否則,在步驟1360,基于所選的(一個或多個)可能的備份PE設(shè)備中哪 個具有一個或多個所選度量中的最大(或最小)值來選擇所需數(shù)目的備份 PE設(shè)備。序列在步驟1365結(jié)束。 執(zhí)行FRR操作圖14是示出可以在PE設(shè)備300處執(zhí)行以發(fā)起FRR操作的步驟序列 的流程圖。該序列開始于步驟1400并前進(jìn)到步驟1410,在步驟1410路由 選擇操作系統(tǒng)400檢測阻礙與相鄰路由選擇域之間的域間通信的CE節(jié)點 或PE-CE鏈路故障。例如,操作系統(tǒng)可以確定在連接到相鄰用戶站點的 網(wǎng)絡(luò)接口 310處不再接收到分組,或者可能接收到一個明示通知,該通知 例如指示一個CE設(shè)備將很快"離線"或者出于其他原因?qū)l(fā)生故障。操 作系統(tǒng)的IP路由選擇協(xié)議420 (例如BGP協(xié)議410a)可被用于將該檢測 到的拓?fù)渥兓瘋鬟_(dá)到提供商網(wǎng)絡(luò)110中的所有全網(wǎng)格化的PE設(shè)備。在步驟1420,操作系統(tǒng)的VPN FRR服務(wù)435 "遍歷"標(biāo)簽轉(zhuǎn)發(fā)表 500以定位包含與由于發(fā)生故障的PE-CE數(shù)據(jù)鏈路而變得無法訪問的用戶 站點相對應(yīng)的VRF標(biāo)識符值540的表條目510。對于每個這樣定位到的表 條目510,該條目的FRR使能標(biāo)志值550被設(shè)置,從而指示應(yīng)該針對包含 了與該條目的地址前綴520相匹配的目的地IP地址的分組執(zhí)行FRR操 作。對于每個定位到的條目510,該條目的地址前綴520被用作到VPN FRR服務(wù)的表600的索引。具體而言,VPN FRR服務(wù)定位包含前綴520 的表條目605,并且針對每個前綴,VPNFRR服務(wù)在步驟1430針對被尋 址到該前綴的網(wǎng)絡(luò)流量選擇至少一個優(yōu)選的備份PE設(shè)備。每個優(yōu)選的備 份PE設(shè)備可以基于同樣存儲在表600中的其關(guān)聯(lián)的度量624的集合來選 擇。度量被輸入到利用分層選擇過程或加權(quán)度量選擇過程或它們的某種組 合選擇(一個或多個)優(yōu)選備份邊緣設(shè)備的新型選擇算法。本領(lǐng)域技術(shù)人 員將意識到,(一個或多個)優(yōu)選的備份PE設(shè)備可以在檢測到CE節(jié)點 或PE-CE鏈路故障之前或之后的任意時刻利用適當(dāng)?shù)倪x擇算法來確定。接下來,在步驟1440,操作系統(tǒng)啟動適當(dāng)?shù)腇RR計時器458,即與 其標(biāo)識符540被存儲在定位到的表條目中的VRF實例相對應(yīng)的計時器。 在步驟1450,針對具有與其FRR使能標(biāo)志550被設(shè)置的標(biāo)簽轉(zhuǎn)發(fā)表條目 510相匹配的目的地IP地址和VPN標(biāo)簽值的數(shù)據(jù)分組執(zhí)行FRR操作。操 作系統(tǒng)在步驟1460確定FRR計時器458是否超時。如果否,序列則返回 步驟1450并且FRR操作繼續(xù)。否則,在步驟1470,先前設(shè)置的FRR使 能標(biāo)志被重置以指示不再對被尋址到無法訪問的用戶站點的數(shù)據(jù)分組執(zhí)行 FRR操作。序列在步驟1480結(jié)束。圖15示出包含用于執(zhí)行FRR操作的步驟序列的流程圖。該序列開始 于步驟1500并前進(jìn)到步驟1505,在步驟1505在PE設(shè)備300處接收到 MPLS封裝的數(shù)據(jù)分組。接收的分組被轉(zhuǎn)發(fā)到MPLS轉(zhuǎn)發(fā)控件440,該 MPLS轉(zhuǎn)發(fā)控件440在步驟1510從接收的分組中提取出VPN標(biāo)簽值,并 且在步驟1515,使用提取出的VPN值在其標(biāo)簽轉(zhuǎn)發(fā)表500中執(zhí)行查找操 作。具體而言,定位出具有與該分組的目的地IP地址相匹配的地址前綴 520以及等于該分組的提取出的VPN標(biāo)簽值的VPN標(biāo)簽值530的標(biāo)簽轉(zhuǎn) 發(fā)表條目510。在步驟1520,分析定位到的表條目510中的FRR使能標(biāo)志550以確 定當(dāng)前是否正在對包含接收到的VPN標(biāo)簽值的分組執(zhí)行FRR操作。如果 當(dāng)前沒有進(jìn)行FRR操作,則基于標(biāo)簽轉(zhuǎn)發(fā)表500中的轉(zhuǎn)發(fā)條目510來處 理接收的分組。接收的數(shù)據(jù)分組隨后在步驟1525被轉(zhuǎn)發(fā)到其下一跳目的 地。序列在步驟1560結(jié)束。如果在步驟1520, FRR使能標(biāo)志的值指示應(yīng)該執(zhí)行FRR操作,則在 步驟1530,分析FRR排除標(biāo)志560以確定分組是否允許被FRR重路由。 如果不允許分組被重路由,則在步驟1545丟棄分組并且序列在步驟1560 結(jié)束。當(dāng)FRR排除標(biāo)志值指示可以對接收的分組執(zhí)行FRR操作時,序列 前進(jìn)到步驟1535,在步驟1535確定是否存在被標(biāo)識在接收到的分組的匹 配的標(biāo)簽轉(zhuǎn)發(fā)表條目510中的至少一個優(yōu)選備份PE設(shè)備570。如果沒有 這樣的備份PE設(shè)備存在,則在步驟1545分組被丟棄并且序列在步驟 1560結(jié)束。在步驟1540,路由選擇操作系統(tǒng)400確定接收到的分組是否先前已 被FRR保護(hù)。例如,分組的受保護(hù)狀態(tài)可以基于在接收到的分組的P字 段212中傳輸?shù)腇RR狀態(tài)信息來確認(rèn)。根據(jù)本發(fā)明的FRR技術(shù),受保護(hù) 分組不能被第二次保護(hù)。因此,如果在步驟1540,接收到的分組被確定 已經(jīng)進(jìn)行過保護(hù),則該分組在步驟1545被丟棄并且序列在步驟1560結(jié) 束。另一方面,如果分組先前沒有被保護(hù),序列則前進(jìn)到步驟1550并且 分組被保護(hù)。例如,F(xiàn)RR受保護(hù)指定可被級聯(lián)到該分組或并入到該分組 中,或者分組的備份PE設(shè)備570可利用例如適當(dāng)?shù)男帕顓f(xié)議被單獨地 "以信令告知"分組的受保護(hù)狀態(tài)。在步驟1555,受保護(hù)分組被(優(yōu)選地,經(jīng)由MPLS或IP隧道)轉(zhuǎn)發(fā) 到其優(yōu)選的備份PE設(shè)備。如果多于一個優(yōu)選的備份PE設(shè)備570被存儲
在分組的匹配的標(biāo)簽轉(zhuǎn)發(fā)表條目510中,則可以基于例如負(fù)載均衡算法或 隨機選擇算法來選擇優(yōu)選的備份PE設(shè)備之一,然后分組被轉(zhuǎn)發(fā)到該選出的優(yōu)選備份PE設(shè)備。序列在步驟1560結(jié)束。 結(jié)論有利的是,本發(fā)明的技術(shù)可以利用各種類型的度量(沒有限制)來表 征可能的備份邊緣設(shè)備。此外,在計算機網(wǎng)絡(luò)中的邊緣設(shè)備可以使用本地 部署的備份邊緣設(shè)備選擇算法,該算法可以與在其他邊緣設(shè)備處部署的選 擇算法相一致,也可以不與其相一致。例如,第一邊緣設(shè)備可以利用示例 性的分層選擇過程選擇備份邊緣設(shè)備,而在同一網(wǎng)絡(luò)中的第二邊緣設(shè)備可 以利用示例性的加權(quán)度量選擇過程來選擇備份邊緣設(shè)備。前面已經(jīng)詳細(xì)描述了本發(fā)明的示例性實施例。在不脫離本發(fā)明的精祌 和范圍的情況下,可以進(jìn)行各種修改和添加。例如,雖然本發(fā)明的FRR 技術(shù)是針對MPLS/VPN網(wǎng)絡(luò)被示例性地描述的,但是還可以明確設(shè)想, 本發(fā)明可以部署在其它類型的實現(xiàn)各種網(wǎng)絡(luò)通信協(xié)議的網(wǎng)絡(luò)或子網(wǎng)(例如 自治系統(tǒng)、廣播域、路由選擇區(qū)域等等)的邊緣處。雖然這里描述的示例 性實施例假設(shè)用戶站點和VPN之間具有一對一的對應(yīng)關(guān)系,但是本領(lǐng)域 技術(shù)人員將會理解,F(xiàn)RR技術(shù)也可以被部署在允許用戶站點被允許參與多 于一個VPN的網(wǎng)絡(luò)中。類似地,至少某些VRF實例450可以在一對多的 基礎(chǔ)上與多個用戶站點相關(guān)聯(lián),即使為了簡化假設(shè)示例性實施例具有一對 一的對應(yīng)關(guān)系也是如此。此外,示例性實施例可被修改為利用IP版本6 (IPv6)技術(shù)。IPv6技 術(shù)已被引入以增加可用網(wǎng)絡(luò)地址的數(shù)目并在傳統(tǒng)TCP/IP協(xié)議棧的網(wǎng)間層 上提供附加服務(wù)。IPv6協(xié)議采用比IPv4更大的地址空間,并且利用128 位(16字節(jié))值來尋址網(wǎng)絡(luò)節(jié)點,而不是IPv4所采用的32位地址。本領(lǐng) 域技術(shù)人員將意識到,這里描述的示例性實施例可等同地應(yīng)用于其他地址 格式,包括IPv6地址??梢悦鞔_設(shè)想,本發(fā)明的教導(dǎo)可被實現(xiàn)為軟件,包括具有在計算機、 硬件、固件或它們的組合上執(zhí)行的程序指令的計算機可讀介質(zhì)。例如,本 發(fā)明可以利用具有一個或多個處理器的PE設(shè)備300來實現(xiàn),其中某些處
理器可以位于網(wǎng)絡(luò)接口 310上或者位于包含網(wǎng)絡(luò)接口的線路卡上。此外,存儲器340可被分布在多個不同的存儲元件中,這些存儲元件對PE設(shè)備 300而言可以是本地也可以是遠(yuǎn)程的。 一般而言,本發(fā)明的技術(shù)因此可以 各種硬件和/或軟件的組合的形式來實現(xiàn)。因此,該描述應(yīng)視為僅僅是示 例性的,而不應(yīng)限制本發(fā)明的范圍。
權(quán)利要求
1.一種用于在計算機網(wǎng)絡(luò)的邊緣處執(zhí)行快速重路由(FRR)操作的方法,所述網(wǎng)絡(luò)具有耦合到相鄰路由選擇域的邊緣設(shè)備,所述方法包括針對由所述相鄰路由選擇域中的設(shè)備通告的地址前綴,識別一個或多個可能的備份邊緣設(shè)備;將一個或多個度量與所述地址前綴的識別出的可能的備份邊緣設(shè)備中的每一個相關(guān)聯(lián);檢測所述邊緣設(shè)備和所述相鄰路由選擇域之間的通信丟失;基于與所述可能的備份邊緣設(shè)備相關(guān)聯(lián)的所述度量中的至少一個的值,從所述地址前綴的識別出的可能的備份邊緣設(shè)備的集合中選出一個優(yōu)選的備份邊緣設(shè)備;在所述邊緣設(shè)備處接收數(shù)據(jù)分組,所述接收到的數(shù)據(jù)分組包含與所述地址前綴相匹配的目的地地址;確定所述接收到的數(shù)據(jù)分組先前是否已根據(jù)FRR操作被重路由過;以及響應(yīng)于確定所述接收到的數(shù)據(jù)分組先前沒有被重路由過,將所述數(shù)據(jù)分組重路由到所述優(yōu)選的備份邊緣設(shè)備以轉(zhuǎn)發(fā)到所述相鄰路由選擇域。
2. 如權(quán)利要求1所述的方法,其中所述選擇優(yōu)選的備份邊緣設(shè)備的步 驟還包括執(zhí)行分層選擇過程,該分層選擇過程將與每個可能的備份邊緣設(shè)備相 關(guān)聯(lián)的度量輸入到選擇標(biāo)準(zhǔn)序列中,所述序列中的每個標(biāo)準(zhǔn)被應(yīng)用到所述 度量,直到根據(jù)標(biāo)準(zhǔn)識別出所述優(yōu)選備份邊緣設(shè)備,或者所述選擇過程被 終止。
3. 如權(quán)利要求2所述的方法,其中所述分層選擇過程還包括(a) 針對與所述可能的備份邊緣設(shè)備相關(guān)聯(lián)的每一種度量分配一個 相對偏好級別;(b) 針對每個可能的備份邊緣設(shè)備,評估具有最大所述相對偏好級 別的度量的值; (C)識別所述優(yōu)選的備份邊緣設(shè)備為具有最大評估度量值的可能的 備份邊緣設(shè)備;(d) 如果在步驟(C)處識別出多個優(yōu)選的備份邊緣設(shè)備,則針對所 述識別出的優(yōu)選備份邊緣設(shè)備中的每一個評估次優(yōu)選度量;以 及(e) 重復(fù)步驟(C)和(d),直到識別出單個優(yōu)選的備份邊緣設(shè)備 或者輸入到所述分層選擇過程的每種類型的度量都已被評估為 止。
4. 如權(quán)利要求2所述的方法,還包括在識別出單個優(yōu)選的備份邊緣設(shè)備之前終止所述分層選擇過程;以及在所述選擇過程被終止時,在滿足所述選擇標(biāo)準(zhǔn)的每個所述可能的備 份邊緣設(shè)備之間對被重路由的網(wǎng)絡(luò)流量進(jìn)行負(fù)載均衡。
5. 如權(quán)利要求2所述的方法,還包括在識別出單個優(yōu)選的備份邊緣設(shè)備之前終止所述分層選擇過程;以及在所述選擇過程被終止時,從滿足所述選擇標(biāo)準(zhǔn)的所述可能的備份邊 緣設(shè)備中隨機選擇一個優(yōu)選的備份邊緣設(shè)備。
6. 如權(quán)利要求1所述的方法,其中所述選擇優(yōu)選的備份邊緣設(shè)備的步驟還包括執(zhí)行加權(quán)度量選擇過程,該加權(quán)度量選擇過程將與每個可能的備份邊 緣設(shè)備相關(guān)聯(lián)的度量輸入到預(yù)定算術(shù)函數(shù),該預(yù)定算術(shù)函數(shù)針對每個可能 的備份邊緣設(shè)備生成一個值,其中每個值代表一個可能的備份設(shè)備的輸入度量的加權(quán)組合;以及基于由所述預(yù)定算術(shù)函數(shù)生成的值來識別所述優(yōu)選的備份邊緣設(shè)備。
7. 如權(quán)利要求6所述的方法,其中所述預(yù)定算術(shù)函數(shù)是一個客觀多項 式函數(shù)F(PE):<formula>formula see original document page 3</formula>其中M,.(P五)是與可能的備份設(shè)備PE相關(guān)聯(lián)的第i個度量的值,而vv,是被分配給所述第i個度量的數(shù)字權(quán)重。
8. 如權(quán)利要求6所述的方法,還包括基于由所述預(yù)定算術(shù)函數(shù)生成的值來識別多個優(yōu)選的備份邊緣設(shè)備;以及在所述多個優(yōu)選的備份邊緣設(shè)備中的每一個之間對被重路由的網(wǎng)絡(luò)流 量進(jìn)行負(fù)載均衡。
9. 如權(quán)利要求6所述的方法,還包括基于由所述預(yù)定算術(shù)函數(shù)生成的值來識別多個優(yōu)選的備份邊緣設(shè)備;以及從所述多個優(yōu)選的備份邊緣設(shè)備中隨機選擇一個優(yōu)選的備份邊緣設(shè)備。
10. 如權(quán)利要求6所述的方法,還包括基于由所述預(yù)定算術(shù)函數(shù)生成的值來識別多個優(yōu)選的備份邊緣設(shè)備;以及基于與所述多個優(yōu)選的備份邊緣設(shè)備相關(guān)聯(lián)的一個或多個所選度量的 值來選擇一個優(yōu)選的備份邊緣設(shè)備。
11. 如權(quán)利要求1所述的方法,還包括備份路徑核實過程,該過程執(zhí)行以下步驟確定所述地址前綴對所述邊緣設(shè)備而言是否是可達(dá)的; 響應(yīng)于確定所述地址前綴是不可達(dá)的,確定所述地址前綴的識別出的可能的備份邊緣設(shè)備中沒有一個可被用作所述優(yōu)選的備份邊緣設(shè)備;以及 響應(yīng)于確定所述地址前綴是可達(dá)的,從所述地址前綴的識別出的可能的備份邊緣設(shè)備的集合中刪除掉無法充當(dāng)備份邊緣設(shè)備的任意可能的備份邊緣設(shè)備。
12. 如權(quán)利要求11所述的方法,還包括基于先前在所述邊緣設(shè)備處接收的內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)通告或邊界 網(wǎng)關(guān)協(xié)議(BGP)更新消息的內(nèi)容來確定可能的備份邊緣設(shè)備的備份能 力。
13. 如權(quán)利要求1所述的方法,其中所述度量中的至少一個基于與可 能的備份邊緣設(shè)備相關(guān)聯(lián)的內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)代價值。
14. 如權(quán)利要求1所述的方法,其中所述度量中的至少一個基于與可能的備份邊緣設(shè)備相關(guān)聯(lián)的域間鏈路帶寬容量。
15. 如權(quán)利要求1所述的方法,其中所述度量中的至少一個基于與可能的備份邊緣設(shè)備相關(guān)聯(lián)的鏈路或節(jié)點共享風(fēng)險鏈路組(SRLG)成員身 份。
16. 如權(quán)利要求1所述的方法,其中所述在所述邊緣設(shè)備處識別可能的備份邊緣設(shè)備的步驟還包括從所述相鄰路由選擇域中的設(shè)備接收所述地址前綴; 從所述計算機網(wǎng)絡(luò)中的另一邊緣設(shè)備接收所述地址前綴;以及 將所述計算機網(wǎng)絡(luò)中的所述另一邊緣設(shè)備標(biāo)識為針對所述地址前綴的可能的備份邊緣設(shè)備。
17. 如權(quán)利要求1所述的方法,其中所述在所述邊緣設(shè)備處識別可能的備份邊緣設(shè)備的歩驟還包括在所述邊緣設(shè)備處靜態(tài)地配置所述地址前綴的可能的備份邊緣設(shè)備的隹厶 朱n o
18. —種被配置為在計算機網(wǎng)絡(luò)的邊緣處執(zhí)行快速重路由(FRR)操作 的網(wǎng)絡(luò)節(jié)點,該網(wǎng)絡(luò)節(jié)點包括處理器;適合于接收由相鄰路由選擇域中的設(shè)備通告的地址前綴的第一網(wǎng)絡(luò)接適合于接收包含與所述地址前綴相匹配的目的地地址的數(shù)據(jù)分組的第 二網(wǎng)絡(luò)接口;適合于存儲指令的存儲器,所述指令可由所述處理器執(zhí)行以執(zhí)行以下 步驟針對所述地址前綴,識別一個或多個可能的備份邊緣設(shè)備;將一個或多個度量與所述地址前綴的識別出的可能的備份邊緣設(shè)備中 的每一個相關(guān)聯(lián);檢測所述第一網(wǎng)絡(luò)接口上的通信丟失;基于與所述可能的備份邊緣設(shè)備相關(guān)聯(lián)的所述度量中的至少一個的 值,從所述地址前綴的識別出的可能的備份邊緣設(shè)備的集合中選出一個優(yōu)選的備份邊緣設(shè)備;確定在所述第二網(wǎng)絡(luò)接口處接收到的數(shù)據(jù)分組先前是否已根據(jù)FRR操 作被重路由過;以及響應(yīng)于確定所述接收到的數(shù)據(jù)分組先前沒有被重路由過,將所述接收 到的數(shù)據(jù)分組重路由到所述優(yōu)選的備份邊緣設(shè)備以轉(zhuǎn)發(fā)到所述相鄰路由選 擇域。
19. 如權(quán)利要求18所述的網(wǎng)絡(luò)節(jié)點,其中所述存儲器還適合于存儲用 于以下步驟的指令執(zhí)行分層選擇過程,該分層選擇過程將與每個可能的備份邊緣設(shè)備相 關(guān)聯(lián)的度量輸入到選擇標(biāo)準(zhǔn)序列中,所述序列中的每個標(biāo)準(zhǔn)被應(yīng)用到所述 度量,直到根據(jù)標(biāo)準(zhǔn)識別出所述優(yōu)選備份邊緣設(shè)備,或者所述選擇過程被 終止。
20. 如權(quán)利要求19所述的網(wǎng)絡(luò)節(jié)點,其中所述存儲器還適合于存儲用 于以下步驟的指令(a) 針對與所述可能的備份邊緣設(shè)備相關(guān)聯(lián)的每一種度量分配一個 相對偏好級別;(b) 針對每個可能的備份邊緣設(shè)備,評估具有最大所述相對偏好級 別的度量的值;(c) 識別所述優(yōu)選的備份邊緣設(shè)備為具有最大評估度量值的可能的 備份邊緣設(shè)備;(d) 如果在步驟(c)處識別出多個優(yōu)選的備份邊緣設(shè)備,則針對所 述識別出的優(yōu)選備份邊緣設(shè)備中的每一個評估次優(yōu)選度量;以 及(e) 重復(fù)步驟(c)和(d),直到識別出單個優(yōu)選的備份邊緣設(shè)備 或者輸入到所述分層選擇過程的每種類型的度量都已被評估為 止。
21. 如權(quán)利要求18所述的網(wǎng)絡(luò)節(jié)點,其中所述存儲器還適合于存儲用 于以下步驟的指令執(zhí)行加權(quán)度量選擇過程,該加權(quán)度量選擇過程將與每個可能的備份邊 緣設(shè)備相關(guān)聯(lián)的度量輸入到預(yù)定算術(shù)函數(shù),該預(yù)定算術(shù)函數(shù)針對每個可能 的備份邊緣設(shè)備生成一個值,其中每個值代表一個可能的備份設(shè)備的輸入 度量的加權(quán)組合;以及基于由所述預(yù)定算術(shù)函數(shù)生成的值來識別所述優(yōu)選的備份邊緣設(shè)備。
22. 如權(quán)利要求21所述的網(wǎng)絡(luò)節(jié)點,其中所述預(yù)定算術(shù)函數(shù)是一個客觀多項式函數(shù)F(PE):其中碼(尸勻是與可能的備份設(shè)備PE相關(guān)聯(lián)的第i個度量的值,而w,是分配給所述第i個度量的數(shù)字權(quán)重。
23. 如權(quán)利要求18所述的網(wǎng)絡(luò)節(jié)點,其中所述存儲器還適合于存儲用于以下步驟的指令確定所述地址前綴對所述網(wǎng)絡(luò)節(jié)點而言是否是可達(dá)的-, 響應(yīng)于確定所述地址前綴是不可達(dá)的,確定所述地址前綴的識別出的可能的備份邊緣設(shè)備中沒有一個可被用作所述優(yōu)選的備份邊緣設(shè)備;以及 響應(yīng)于確定所述地址前綴是可達(dá)的,從所述地址前綴的識別出的可能 的備份邊緣設(shè)備的集合中刪除掉無法充當(dāng)備份邊緣設(shè)備的任意可能的備份 邊緣設(shè)備。
24. —種被配置為在計算機網(wǎng)絡(luò)的邊緣處執(zhí)行快速重路由(FRR)操作 的網(wǎng)絡(luò)節(jié)點,該網(wǎng)絡(luò)節(jié)點被耦合到相鄰路由選擇域,所述網(wǎng)絡(luò)節(jié)點包括用于針對由所述相鄰路由選擇域中的設(shè)備通告的地址前綴,識別一個或多個可能的備份邊緣設(shè)備的裝置;用于將一個或多個度量與所述地址前綴的識別出的可能的備份邊緣設(shè) 備中的每一個相關(guān)聯(lián)的裝置;用于檢測與所述相鄰路由選擇域之間的通信丟失的裝置; 用于基于與所述可能的備份邊緣設(shè)備相關(guān)聯(lián)的所述度量中的至少一個的值,從所述地址前綴的識別出的可能的備份邊緣設(shè)備的集合中選出一個優(yōu)選的備份邊緣設(shè)備的裝置;用于接收數(shù)據(jù)分組的裝置,所述數(shù)據(jù)分組包含與所述地址前綴相匹配的目的地地址; 用于確定所述接收到的數(shù)據(jù)分組先前是否已根據(jù)FRR操作被重路由過的裝置;以及用于響應(yīng)于確定所述接收到的數(shù)據(jù)分組先前沒有被重路由過,將所述 數(shù)據(jù)分組重路由到所述優(yōu)選的備份邊緣設(shè)備以轉(zhuǎn)發(fā)到所述相鄰路由選擇域 的裝置。
25. 如權(quán)利要求24所述的網(wǎng)絡(luò)節(jié)點,其中所述用于選擇優(yōu)選的備份邊緣設(shè)備的裝置還包括用于執(zhí)行分層選擇過程的裝置,所述分層選擇過程將與每個可能的備 份邊緣設(shè)備相關(guān)聯(lián)的度量輸入到選擇標(biāo)準(zhǔn)序列中,所述序列中的每個標(biāo)準(zhǔn) 被應(yīng)用到所述度量,直到根據(jù)標(biāo)準(zhǔn)識別出所述優(yōu)選備份邊緣設(shè)備,或者所 述選擇過程被終止。
26. 如權(quán)利要求25所述的網(wǎng)絡(luò)節(jié)點,還包括用于針對與所述可能的備份邊緣設(shè)備相關(guān)聯(lián)的每一種度量分配一個相對偏好級別的裝置;用于針對每個可能的備份邊緣設(shè)備,評估具有最大所述相對偏好級別 的度量的值的裝置;用于識別所述優(yōu)選的備份邊緣設(shè)備為具有最大評估度量值的可能的備 份邊緣設(shè)備的裝置;用于在利用所述用于識別優(yōu)選備份邊緣設(shè)備的裝置識別出多個優(yōu)選的 備份邊緣設(shè)備的情況下,針對所述識別出的優(yōu)選備份邊緣設(shè)備中的每一個 評估次優(yōu)選度量的裝置。
27. 如權(quán)利要求24所述的網(wǎng)絡(luò)節(jié)點,其中所述用于選擇優(yōu)選的備份邊 緣設(shè)備的裝置還包括用于執(zhí)行加權(quán)度量選擇過程的裝置,所述加權(quán)度量選擇過程將與每個 可能的備份邊緣設(shè)備相關(guān)聯(lián)的度量輸入到預(yù)定算術(shù)函數(shù),該預(yù)定算術(shù)函數(shù) 針對每個可能的備份邊緣設(shè)備生成一個值,其中每個值代表一個可能的備 份設(shè)備的輸入度量的加權(quán)組合;以及用于基于由所述預(yù)定算術(shù)函數(shù)生成的值來識別所述優(yōu)選的備份邊緣設(shè) 備的裝置。
28. 如權(quán)利要求27所述的網(wǎng)絡(luò)節(jié)點,其中所述預(yù)定算術(shù)函數(shù)是一個客觀多項式函數(shù)F(PE):其中Mi(/^)是與可能的備份設(shè)備PE相關(guān)聯(lián)的第i個度量的值,而w,是分配給所述第i個度量的數(shù)字權(quán)重。
29. 如權(quán)利要求24所述的網(wǎng)絡(luò)節(jié)點,還包括用于確定所述地址前綴對所述網(wǎng)絡(luò)節(jié)點而言是否是可達(dá)的的裝置;用于響應(yīng)于確定所述地址前綴是不可達(dá)的,確定所述地址前綴的識別 出的可能的備份邊緣設(shè)備中沒有一個可被用作所述優(yōu)選的備份邊緣設(shè)備的裝置;以及用于響應(yīng)于確定所述地址前綴是可達(dá)的,從所述地址前綴的識別出的 可能的備份邊緣設(shè)備的集合中刪除掉無法充當(dāng)備份邊緣設(shè)備的任意可能的 備份邊緣設(shè)備的裝置。
30. —種計算機網(wǎng)絡(luò),包括 耦合到相鄰路由選擇域的第一邊緣設(shè)備;以及耦合到所述相鄰路由選擇域的第二邊緣設(shè)備,該第二邊緣設(shè)備被配置為針對由所述相鄰路由選擇域中的設(shè)備通告的地址前綴,識別一個 或多個可能的備份邊緣設(shè)備,所述第一邊緣設(shè)備被識別為針對所述地 址前綴的可能的備份邊緣設(shè)備之一;將一個或多個度量與所述地址前綴的識別出的可能的備份邊緣設(shè)備中的每一個相關(guān)聯(lián);檢測與所述相鄰路由選擇域之間的通信丟失;基于與所述可能的備份邊緣設(shè)備相關(guān)聯(lián)的所述度量中的至少一個 的值,從所述地址前綴的識別出的可能的備份邊緣設(shè)備的集合中選擇所述第一邊緣設(shè)備作為優(yōu)選的備份邊緣設(shè)備;接收數(shù)據(jù)分組,該數(shù)據(jù)分組包含與所述地址前綴相匹配的目的地 地址;確定所述接收到的數(shù)據(jù)分組先前是否己根據(jù)FRR操作被重路由過;以及響應(yīng)于確定所述接收到的數(shù)據(jù)分組先前沒有被重路由過,將所述 數(shù)據(jù)分組重路由到所述第一邊緣設(shè)備以轉(zhuǎn)發(fā)到所述相鄰路由選擇域。
31. 如權(quán)利要求30所述的計算機網(wǎng)絡(luò),其中所述第二邊緣設(shè)備還被配置為執(zhí)行分層選擇過程,該分層選擇過程將與每個可能的備份邊緣設(shè)備相 關(guān)聯(lián)的度量輸入到選擇標(biāo)準(zhǔn)序列中,所述序列中的每個標(biāo)準(zhǔn)被應(yīng)用到所述 度量,直到某一標(biāo)準(zhǔn)識別出所述第一邊緣設(shè)備為所述優(yōu)選的備份邊緣設(shè)備 為止。
32. 如權(quán)利要求30所述的計算機網(wǎng)絡(luò),其中所述第二邊緣設(shè)備還被配置為執(zhí)行加權(quán)度量選擇過程,該加權(quán)度量選擇過程將與每個可能的備份邊 緣設(shè)備相關(guān)聯(lián)的度量輸入到預(yù)定算術(shù)函數(shù),該預(yù)定算術(shù)函數(shù)針對每個可能 的備份邊緣設(shè)備生成一個值,其中每個值代表一個可能的備份設(shè)備的輸入度量的加權(quán)組合;以及基于由所述預(yù)定算術(shù)函數(shù)生成的值將所述第一邊緣設(shè)備識別為所述優(yōu) 選的備份邊緣設(shè)備。
33. —種存儲有用于在處理器上執(zhí)行以實施在計算機網(wǎng)絡(luò)的邊緣處執(zhí) 行快速重路由(FRR)操作的方法的指令的計算機可讀介質(zhì),所述網(wǎng)絡(luò)具有耦合到相鄰路由選擇域的邊緣設(shè)備,所述方法包括針對由所述相鄰路由選擇域中的設(shè)備通告的地址前綴,識別一個或多個可能的備份邊緣設(shè)備;將一個或多個度量與所述地址前綴的識別出的可能的備份邊緣設(shè)備中 的每一個相關(guān)聯(lián);檢測所述邊緣設(shè)備和所述相鄰路由選擇域之間的通信丟失; 基于與所述可能的備份邊緣設(shè)備相關(guān)聯(lián)的所述度量中的至少一個的值,從所述地址前綴的識別出的可能的備份邊緣設(shè)備的集合中選出一個優(yōu)選的備份邊緣設(shè)備;在所述邊緣設(shè)備處接收數(shù)據(jù)分組,所述接收到的數(shù)據(jù)分組包含與所述地址前綴相匹配的目的地地址;確定所述接收到的數(shù)據(jù)分組先前是否已根據(jù)FRR操作被重路由過;以及響應(yīng)于確定所述接收到的數(shù)據(jù)分組先前沒有被重路由過,將所述數(shù)據(jù) 分組重路由到所述優(yōu)選的備份邊緣設(shè)備以轉(zhuǎn)發(fā)到所述相鄰路由選擇域。
全文摘要
本發(fā)明公開了一種在計算機網(wǎng)絡(luò)的邊緣處實現(xiàn)的快速重路由(FRR)技術(shù)。如果邊緣設(shè)備檢測到阻礙其與相鄰路由選擇域通信的節(jié)點或鏈路故障,該邊緣設(shè)備則將尋址到該域的至少某些數(shù)據(jù)分組重路由到備份邊緣設(shè)備,該備份邊緣設(shè)備進(jìn)而將分組轉(zhuǎn)發(fā)到相鄰域。備份邊緣設(shè)備不允許第二次重路由分組。根據(jù)本發(fā)明的技術(shù),邊緣設(shè)備首先識別出一個或多個可能的備份邊緣設(shè)備的群組,然后從該群組中選擇至少一個優(yōu)選的備份邊緣設(shè)備。邊緣設(shè)備基于與可能的備份邊緣設(shè)備相關(guān)聯(lián)的一個或多個度量的值來執(zhí)行其選擇。度量被輸入到新型選擇算法,該新型選擇算法利用分層選擇過程或加權(quán)度量選擇過程或其某種組合來選擇(一個或多個)優(yōu)選的備份邊緣設(shè)備。
文檔編號H04J3/14GK101164265SQ200680003656
公開日2008年4月16日 申請日期2006年3月14日 優(yōu)先權(quán)日2005年3月18日
發(fā)明者克拉倫斯·菲爾斯非斯, 吉姆·古伊查德, 羅伯特·拉祖克, 讓-菲利普·瓦瑟爾 申請人:思科技術(shù)公司