專利名稱:Rfc 2574網(wǎng)絡(luò)邊緣處的快速重路由(frr)保護(hù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總地涉及在專用路由選擇域之間路由數(shù)據(jù),更具體而言,涉及在節(jié)點(diǎn)或鏈路出現(xiàn)故障時將網(wǎng)絡(luò)流量快速高效地重路由到相鄰的出口點(diǎn)的快速重路由(FRR)技術(shù)。
背景技術(shù):
計算機(jī)網(wǎng)絡(luò)是諸如在網(wǎng)絡(luò)節(jié)點(diǎn)之間傳輸數(shù)據(jù)的局域網(wǎng)(LAN)等互連子網(wǎng)在地理上的分布式集合。這里使用的網(wǎng)絡(luò)節(jié)點(diǎn)是適于在計算機(jī)網(wǎng)絡(luò)中發(fā)送和/或接收數(shù)據(jù)的任何設(shè)備。因此在本上下文中,“節(jié)點(diǎn)”和“設(shè)備”可以互換地使用。網(wǎng)絡(luò)節(jié)點(diǎn)的布置定義了網(wǎng)絡(luò)拓?fù)?,所述網(wǎng)絡(luò)節(jié)點(diǎn)通常通過一個或多個諸如路由器和交換機(jī)等中間節(jié)點(diǎn)彼此通信。除了網(wǎng)內(nèi)通信之外,數(shù)據(jù)還可以在相鄰(即鄰近)網(wǎng)絡(luò)之間被交換。因此,位于計算機(jī)網(wǎng)絡(luò)的邏輯外緣處的“邊緣設(shè)備”可以適于發(fā)送和接收網(wǎng)間通信。一般通過根據(jù)預(yù)定協(xié)議交換離散的數(shù)據(jù)分組來實(shí)現(xiàn)網(wǎng)間和網(wǎng)內(nèi)通信。在本上下文中,協(xié)議由定義了網(wǎng)絡(luò)節(jié)點(diǎn)如何彼此交互的一組規(guī)則構(gòu)成。
每個數(shù)據(jù)分組一般都包括“凈荷”數(shù)據(jù),其被前綴(封裝)以至少一個根據(jù)網(wǎng)絡(luò)通信協(xié)議編排格式的網(wǎng)絡(luò)頭部。網(wǎng)絡(luò)頭部包括使得網(wǎng)絡(luò)節(jié)點(diǎn)能夠高效地通過計算機(jī)網(wǎng)絡(luò)路由分組的信息。通常,分組的網(wǎng)絡(luò)頭部包括如傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)參考模型所定義的數(shù)據(jù)鏈路(層2)頭部、網(wǎng)間(層3)頭部和傳輸(層4)頭部。2003年出版的AndrewTanenbaum的題為Computer Networks,F(xiàn)ourth Edition的參考書第1.4.2節(jié)更詳細(xì)地在整體上描述了TCP/IP參考模型,該參考書的內(nèi)容通過引用結(jié)合于此,如同在這里完整列出一樣。
數(shù)據(jù)分組可以源自于源節(jié)點(diǎn),隨后沿邏輯數(shù)據(jù)路徑從一個節(jié)點(diǎn)“跳”到另一個節(jié)點(diǎn),直到它到達(dá)它要去往的目的地節(jié)點(diǎn)。定義數(shù)據(jù)流的邏輯數(shù)據(jù)路徑的網(wǎng)絡(luò)地址通常作為因特網(wǎng)協(xié)議(IP)地址被存儲在分組的網(wǎng)間頭部中。IP地址一般根據(jù)IP版本4(IPv4)協(xié)議被編排格式,其中使用32位(4字節(jié))值對網(wǎng)絡(luò)節(jié)點(diǎn)編址。具體而言,IPv4地址由0到255之間的4個數(shù)字標(biāo)記,每個數(shù)字一般用一個“點(diǎn)”來定界。子網(wǎng)可以被分派給包含預(yù)定范圍的IPv4地址的IP地址空間。例如,示例性子網(wǎng)可以被分配地址空間128.0.10.*,其中星號是可以區(qū)分子網(wǎng)中的最多254個個體節(jié)點(diǎn)(0和255是保留值)的通配符。例如,子網(wǎng)中的第一節(jié)點(diǎn)可以被分派給IP地址128.0.10.1,而第二節(jié)點(diǎn)可以被分派給IP地址128.0.10.2。
子網(wǎng)與子網(wǎng)掩碼相關(guān)聯(lián),子網(wǎng)掩碼可用于從子網(wǎng)的被指派的地址空間內(nèi)的IP地址中選擇一組鄰近的高階位。子網(wǎng)掩碼的長度指示子網(wǎng)掩碼所選擇的鄰近高階位的數(shù)量,N位的子網(wǎng)掩碼長度此后被表示為/N。給定子網(wǎng)的子網(wǎng)掩碼長度通常是基于對該子網(wǎng)中的節(jié)點(diǎn)有區(qū)別地編址所需的位數(shù)來選擇的。2000年1月出版的Radia Perlman的題為Interconnections,SecondEdition的參考書中的第9章更完整地描述了子網(wǎng)掩碼及其使用,該書通過引用被結(jié)合于此,如同在這里完整列出一樣。
例如,假設(shè)示例性子網(wǎng)被分派IP地址空間128.0.10.4,該子網(wǎng)包含兩個可尋址(可達(dá))網(wǎng)絡(luò)節(jié)點(diǎn)。在此情形下,需要30個地址位來標(biāo)識子網(wǎng)128.0.10.4,而需要用其余兩個地址位來對子網(wǎng)中的兩個節(jié)點(diǎn)中的任何一個有區(qū)別地編址。因此,子網(wǎng)可以與/30的子網(wǎng)掩碼長度相關(guān)聯(lián),因為只需要IP地址的前30個最高有效位來唯一地對該子網(wǎng)編址。這里使用的“地址前綴”被定義為對網(wǎng)絡(luò)地址應(yīng)用子網(wǎng)掩碼的結(jié)果。例如,考慮地址前綴128.0.10.1/24。在此情形下,前綴的網(wǎng)絡(luò)部分包含IP地址128.0.10.1的24個最高有效位,即網(wǎng)絡(luò)是128.0.10.0,后8位被用于標(biāo)識該網(wǎng)絡(luò)上的主機(jī)。當(dāng)?shù)刂非熬Y的網(wǎng)絡(luò)部分等于IP地址的最高有效位時,該IP地址和該地址前綴被稱為“匹配”。
內(nèi)部網(wǎng)關(guān)協(xié)議計算機(jī)網(wǎng)絡(luò)可以包含可以作為獨(dú)立的路由選擇域而被管理的一個或多個子網(wǎng)的較小群組。這里使用的路由選擇域被廣義地理解為處于公共管理之下的互連網(wǎng)絡(luò)節(jié)點(diǎn)的集合。通常,路由選擇域由諸如公司、學(xué)術(shù)機(jī)構(gòu)或政府部門等單個管理實(shí)體管理。這種集中管理的路由選擇域有時被稱為“自治系統(tǒng)”。一般地,路由選擇域可以充當(dāng)企業(yè)網(wǎng)、服務(wù)提供商或任何其他類型的網(wǎng)絡(luò)或子網(wǎng)。此外,路由選擇域可以包含具有到鄰近路由選擇域中的邊緣設(shè)備的“對等”連接的一個或多個邊緣設(shè)備。
路由選擇域中的網(wǎng)絡(luò)節(jié)點(diǎn)一般被配置為使用根據(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é)點(diǎn)之間分發(fā)一組可達(dá)的IP子網(wǎng)的機(jī)制。因此,每個中間節(jié)點(diǎn)都接收到了域拓?fù)涞囊恢隆耙晥D”。2000年1月出版的Radia Perlman的題為Interconnections,Second Edition的參考書中的第12.1-12.3節(jié)描述了諸如開放最短路徑優(yōu)先(OSPF)協(xié)議和路由選擇信息協(xié)議(RIP)等本領(lǐng)域公知的鏈路狀態(tài)和距離向量協(xié)議的示例,該書通過引用結(jié)合于此,如同在這里完整列出一樣。
邊界網(wǎng)關(guān)協(xié)議(BGP)通常被用作為用于在自治系統(tǒng)之間路由數(shù)據(jù)的“外部網(wǎng)關(guān)”路由選擇協(xié)議。BGP協(xié)議是公知的,并且在1995年3月出版的Y.Rekhter等人的題為A Border Gateway Protocol 4(BGP-4)的請求評論(RFC)1771中被整體描述,該文獻(xiàn)的全部內(nèi)容通過引用結(jié)合于此。被稱為內(nèi)部BGP(iBGP)的BGP協(xié)議的變型常被用來在路由選擇域中的設(shè)備之間分發(fā)網(wǎng)間可達(dá)性信息(地址前綴)。為了實(shí)現(xiàn)iBGP,設(shè)備必須是“全網(wǎng)格化”的,即每個設(shè)備都通過TCP連接彼此耦合。在實(shí)踐中,使用傳統(tǒng)的路由反射器來在邏輯上將設(shè)備耦合成全網(wǎng)格。BGP協(xié)議還可以被擴(kuò)展以獲得與標(biāo)準(zhǔn)因特網(wǎng)連通性之外的其他服務(wù)的兼容性。例如,多協(xié)議BGP(MP-BGP)支持允許BGP消息傳輸多協(xié)議信息的各種地址族標(biāo)識符(AFI)字段,就像在RFC 2547服務(wù)的情形下一樣。
路由選擇域中的網(wǎng)絡(luò)節(jié)點(diǎn)可以檢測域拓?fù)涞母淖?。例如,?jié)點(diǎn)可能例如由于節(jié)點(diǎn)之間的鏈路故障或相鄰節(jié)點(diǎn)故障(例如“離線”進(jìn)行維修)而變得不能與其相鄰節(jié)點(diǎn)之一通信。如果檢測到的節(jié)點(diǎn)或鏈路故障發(fā)生在路由選擇域內(nèi),則檢測節(jié)點(diǎn)可以使用諸如OSPF等內(nèi)部網(wǎng)關(guān)協(xié)議向域中的其他節(jié)點(diǎn)廣告域內(nèi)拓?fù)涓淖?。類似地,如果邊緣設(shè)備檢測到阻礙與相鄰路由選擇域的通信的節(jié)點(diǎn)或鏈路故障,則邊緣設(shè)備可以例如使用iBGP協(xié)議向它的其他全網(wǎng)格化的邊緣設(shè)備通告域內(nèi)拓?fù)涓淖?。在任一情形下,在路由選擇域內(nèi)傳播網(wǎng)絡(luò)拓?fù)涓淖兒褪褂騼?nèi)節(jié)點(diǎn)收斂到新網(wǎng)絡(luò)拓?fù)?即沒有故障節(jié)點(diǎn)或鏈路)的一致視圖都存在固有延遲。
多協(xié)議標(biāo)簽交換/虛擬專用網(wǎng)體系結(jié)構(gòu)虛擬專用網(wǎng)(VPN)是在共享骨干網(wǎng)上建立專用通信的網(wǎng)絡(luò)節(jié)點(diǎn)集合。早先,VPN是通過在共享網(wǎng)絡(luò)中嵌入專用租借線路來實(shí)現(xiàn)的。租借線路(即通信鏈路)被保留為僅用于那些參與VPN的網(wǎng)絡(luò)節(jié)點(diǎn)之間的網(wǎng)絡(luò)流量。今天,上述VPN實(shí)現(xiàn)方式已經(jīng)大部分被替換為在公共網(wǎng)中部署的專用“虛電路”。具體而言,每個虛電路定義了參與VPN的一對網(wǎng)絡(luò)節(jié)點(diǎn)之間的邏輯端到端數(shù)據(jù)路徑。當(dāng)這對節(jié)點(diǎn)位于不同路由選擇域中時,多個互連的路由選擇域中的邊緣設(shè)備可能必須協(xié)作以建立節(jié)點(diǎn)的虛電路。
例如可以使用傳統(tǒng)的層2幀中繼(FR)或異步傳輸模式(ATM)網(wǎng)絡(luò)來建立虛電路?;蛘撸撾娐房梢允褂弥T如層2隧道協(xié)議(L2TP)和通用路由封裝(GRE)協(xié)議等公知的層2和/或?qū)?隧道協(xié)議在其邏輯端點(diǎn)之間“隧道傳送”數(shù)據(jù)。在此情形下,一個或多個隧道頭部被前綴到數(shù)據(jù)分組,以便合適地沿虛電路路由分組。多協(xié)議標(biāo)簽交換(MPLS)協(xié)議可被用作為用于建立層2虛電路或通過IP網(wǎng)絡(luò)的層3的基于網(wǎng)絡(luò)的VPN的隧道機(jī)制。
MPLS使得網(wǎng)絡(luò)節(jié)點(diǎn)能夠沿預(yù)定的“標(biāo)簽交換路徑”(LSP)轉(zhuǎn)發(fā)分組。每個LSP定義了一對源和目的地節(jié)點(diǎn)之間的邏輯數(shù)據(jù)路徑或虛電路;可以使用諸如OSPF等傳統(tǒng)內(nèi)部網(wǎng)關(guān)協(xié)議提供的可達(dá)性信息確定沿LSP分布的一組網(wǎng)絡(luò)節(jié)點(diǎn)。與傳統(tǒng)IP路由選擇(其中基于目的地IP地址執(zhí)行節(jié)點(diǎn)到節(jié)點(diǎn)(“下一跳”)轉(zhuǎn)發(fā)判決)不同,MPLS配置的節(jié)點(diǎn)基于被添加到IP分組的“標(biāo)簽”值(或“標(biāo)志”值)來轉(zhuǎn)發(fā)數(shù)據(jù)分組。因此,MPLS配置的節(jié)點(diǎn)可以執(zhí)行標(biāo)簽查找操作來確定分組的下一跳目的地。MPLS流量引擎提供比基于IP的路由選擇更多的優(yōu)點(diǎn),例如使得MPLS配置的節(jié)點(diǎn)能夠保留諸如帶寬等網(wǎng)絡(luò)資源以確保所需的服務(wù)質(zhì)量(QoS)。
通過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)、資源保留協(xié)議(RSVP)或MP-BGP協(xié)議在LSP的節(jié)點(diǎn)之間分發(fā)。在操作中,當(dāng)在MPLS配置的節(jié)點(diǎn)處接收到數(shù)據(jù)分組時,節(jié)點(diǎn)提取例如存儲在分組的封裝頭部中已知位置處的分組所傳輸?shù)臉?biāo)簽值。提取出的標(biāo)簽值被用于識別下一網(wǎng)絡(luò)節(jié)點(diǎn)以便轉(zhuǎn)發(fā)分組。分組可以包含標(biāo)簽“?!?,從而棧的最上方標(biāo)簽確定分組的下一跳目的地。分組的提取出的標(biāo)簽值被替換為與分組的下一跳相關(guān)聯(lián)的新標(biāo)簽值。對沿LSP的每個邏輯跳重復(fù)該過程,直到分組到達(dá)其目的地節(jié)點(diǎn)。2002年出版的Stephen Thomas的題為IP Switching andRouting Essentials的參考書第7章更詳細(xì)地描述了上述MPLS操作,該書通過引用結(jié)合于此,如同在這里完整列出一樣。
通常由網(wǎng)絡(luò)服務(wù)提供商為一個或多個用戶站點(diǎn)部署利用MPLS的層3的基于網(wǎng)絡(luò)的VPN服務(wù)。這些網(wǎng)絡(luò)一般被稱為提供“MPLS/VPN”服務(wù)。這里使用的用戶站點(diǎn)被廣義地定義為包含耦合到服務(wù)提供商網(wǎng)絡(luò)(“提供商網(wǎng)絡(luò)”)中的提供商邊緣(PE)設(shè)備的至少一個用戶邊緣(CE)設(shè)備的路由選擇域。用戶站點(diǎn)對于提供商網(wǎng)絡(luò)而言可以是多宿主(multi-homed)的,即其中一個或多個用戶CE設(shè)備耦合到多個PE設(shè)備。PE和CE設(shè)備一般是位于其相應(yīng)網(wǎng)絡(luò)邊緣處的中間網(wǎng)絡(luò)節(jié)點(diǎn),例如路由器或交換機(jī)。PE-CE數(shù)據(jù)鏈路可以在諸如傳統(tǒng)有線鏈路、光鏈路、無線鏈路等各種物理介質(zhì)上被建立,并且可以傳送使用包括ATM、幀中繼、因特網(wǎng)、光纖分布數(shù)據(jù)接口(FDDI)等在內(nèi)的各種網(wǎng)絡(luò)通信協(xié)議編排格式的數(shù)據(jù)。此外,PE和CE設(shè)備可被配置為根據(jù)諸如BGP、OSPF、RIP等各種內(nèi)部和外部網(wǎng)關(guān)協(xié)議在它們相應(yīng)的PE-CE鏈路上交換路由選擇信息。
在傳統(tǒng)的MPLS/VPN網(wǎng)絡(luò)體系結(jié)構(gòu)中,每個用戶站點(diǎn)可以參與一個或多個不同VPN。大多數(shù)情況下,每個用戶站點(diǎn)與單個VPN相關(guān)聯(lián),此后的說明性實(shí)施例將假設(shè)用戶站點(diǎn)與VPN之間的一一對應(yīng)。例如,諸如公司企業(yè)等公共管理實(shí)體擁有或管理的用戶站點(diǎn)可以被靜態(tài)分派給該企業(yè)的VPN。因此,位于該企業(yè)的各個用戶站點(diǎn)中的網(wǎng)絡(luò)節(jié)點(diǎn)參與同一個VPN并且因此被允許經(jīng)由提供商網(wǎng)絡(luò)彼此安全地通信。換言之,提供商網(wǎng)絡(luò)建立了必要的LSP以便互連參與企業(yè)的VPN的用戶站點(diǎn)。類似地,提供商網(wǎng)絡(luò)還可以建立互連參與其他VPN的用戶站點(diǎn)的LSP。2001年出版的I.Pepelnjak等人的題為MPLS and VPN Architecture,Volume 1的參考書第8-9章和1999年3月出版的E.Rosen等人的題為BGP/MPLS VPNs的IETF出版物RFC 2547中詳細(xì)地整體描述了這種被廣泛采用的MPLS/VPN體系結(jié)構(gòu),這兩份文獻(xiàn)通過引用結(jié)合于此,如同在這里完整列出一樣。
圖1示出了包含耦合到相鄰用戶站點(diǎn)120、130和140的提供商網(wǎng)絡(luò)110的示例性MPLS/VPN網(wǎng)絡(luò)100。該提供商網(wǎng)絡(luò)包括多個PE設(shè)備300,包括PE1 300a、PE2 300b和PE3 300c。PE設(shè)備在BGP級別上是全網(wǎng)格化的。也就是說,提供商網(wǎng)絡(luò)中的每個PE設(shè)備都能夠彼此通信(直接地或通過BGP路由反射器)。網(wǎng)絡(luò)110還包含諸如路由器等“核心”提供商(P)設(shè)備195a-d,分別記為P1、P2、P3和P4。這些P設(shè)備可被用來建立PE設(shè)備對之間的標(biāo)簽交換路徑。例如,PE設(shè)備P1和P2可被用來建立PE3到PE1之間的第一LSP1,而設(shè)備P3和P4可被用來建立PE3和PE2之間的第二LSP2。
相鄰用戶站點(diǎn)120-140中的每一個都包含一個或多個附接到提供商網(wǎng)絡(luò)110中的PE設(shè)備的CE設(shè)備。例如,用戶站點(diǎn)120包含分別耦合到PE1和PE2的CE設(shè)備160和165(記為CE1和CE2)。類似地,用戶站點(diǎn)130包括附接到PE2的CE設(shè)備135(記為CE4),用戶站點(diǎn)140包括附接到PE3的CE設(shè)備185(記為CE3)。用戶站點(diǎn)120-140被分派給相應(yīng)的VPN。為了說明目的,用戶站點(diǎn)120和140被分派給VPN1,用戶站點(diǎn)130被分派給VPN2。在該布置中,用戶站點(diǎn)120和140(VPN1)中的網(wǎng)絡(luò)節(jié)點(diǎn)不能建立與用戶站點(diǎn)130(VPN2)中的節(jié)點(diǎn)的通信,反之亦然,因為它們參與不同的VPN。但是,用戶站點(diǎn)120中的網(wǎng)絡(luò)節(jié)點(diǎn)可以與用戶站點(diǎn)140中的節(jié)點(diǎn)通信,反之亦然,因為用戶站點(diǎn)120和140都參與VPN1。注意,VPN1和VPN2可以包含重疊的IP地址空間。
注意,在參與相同VPN(例如VPN1)的遠(yuǎn)程用戶站點(diǎn)之間可以通過MPLS/VPN網(wǎng)絡(luò)100建立通信。提供商網(wǎng)絡(luò)110可以創(chuàng)建MPLS隧道(例如LSP1或LSP2),以提供VPN1的遠(yuǎn)程用戶站點(diǎn)之間的邏輯數(shù)據(jù)路徑。假設(shè)用戶站點(diǎn)140中的源節(jié)點(diǎn)(S)150將數(shù)據(jù)分組105發(fā)往用戶站點(diǎn)120中的目的地節(jié)點(diǎn)(D)155。源節(jié)點(diǎn)將分組轉(zhuǎn)發(fā)到其本地用戶邊緣設(shè)備CE3,CE3又將分組傳輸通過域邊界到達(dá)提供商邊緣設(shè)備PE3。PE3隨后確定將分組轉(zhuǎn)發(fā)通過提供商網(wǎng)絡(luò)110到包含分組要去往的目的地節(jié)點(diǎn)155的用戶站點(diǎn)120的合適LSP。
提供商邊緣設(shè)備PE3可以將接收到的分組105基于分組包含的目的地IP地址與某個LSP相關(guān)聯(lián)。為了討論的目的,假設(shè)分組105經(jīng)由LSP1從PE3路由到PE1,如粗線所示。提供商邊緣設(shè)備PE1在LSP1末尾處接收到分組,然后分組在PE1-CE1鏈路上被轉(zhuǎn)發(fā)到用戶站點(diǎn)120中的CE1。CE1接收分組并將其轉(zhuǎn)發(fā)到目的地節(jié)點(diǎn)155。
當(dāng)節(jié)點(diǎn)或鏈路故障阻礙PE-CE數(shù)據(jù)鏈路上的數(shù)據(jù)通信時,傳統(tǒng)的MPLS/VPN體系結(jié)構(gòu)就會出現(xiàn)問題。例如,假設(shè)PE1-CE1鏈路出現(xiàn)故障(如虛線“X”所示)。在識別處該故障之后,提供商邊緣設(shè)備PE1可以在提供商網(wǎng)絡(luò)110內(nèi)通告它已經(jīng)丟失了到先前由用戶站點(diǎn)120中的CE設(shè)備廣告的IP地址的可達(dá)性。因此,PE1可以通過向其全網(wǎng)格化的提供商邊緣設(shè)備PE1通告iBGP更新消息來傳播識別出的路由選擇改變。最后,該路由選擇改變被分發(fā)到整個提供商網(wǎng)絡(luò)110,并且每個PE設(shè)備都更新其本地路由選擇信息以收斂到新網(wǎng)絡(luò)拓?fù)?,即沒有故障PE1-CE1鏈路的網(wǎng)絡(luò)拓?fù)洹?br>
PE設(shè)備收斂到新網(wǎng)絡(luò)拓?fù)?即沒有PE1-CE1鏈路)所需的傳統(tǒng)延遲通常過于耗時(例如以秒為量級),并且造成很多嚴(yán)重問題。例如,在網(wǎng)絡(luò)處于收斂過程中時,數(shù)據(jù)分組常常在提供商網(wǎng)絡(luò)邊緣處被“丟棄”(即拋棄)。例如,響應(yīng)于PE1-CE1鏈路故障,去往目的地節(jié)點(diǎn)155的數(shù)據(jù)分組105將被PE1(在LSP1末尾處)丟棄,直到網(wǎng)絡(luò)收斂到那些分組的替代數(shù)據(jù)路徑LSP2。對于諸如語音IP(VoIP)和視頻數(shù)據(jù)流等很多數(shù)據(jù)流,PE1處的這種臨時數(shù)據(jù)丟失可能嚴(yán)重?fù)p害整體數(shù)據(jù)傳輸?shù)男в?,或者可能使得?shù)據(jù)流超時和完全停止。
因此普遍希望MPLS/VPN網(wǎng)絡(luò)獲得響應(yīng)于PE-CE鏈路上的CE節(jié)點(diǎn)或鏈路故障的更快的收斂時間(例如次秒級(sub-second)收斂時間)。MPLS/VPN網(wǎng)絡(luò)應(yīng)當(dāng)在網(wǎng)絡(luò)邊緣處的數(shù)據(jù)丟失最小的情況下快速收斂到新網(wǎng)絡(luò)拓?fù)洹?br>
發(fā)明內(nèi)容
本發(fā)明通過提供可以部署在具有耦合到相鄰路由選擇域的第一和第二邊緣設(shè)備的網(wǎng)絡(luò)邊緣處的快速重路由(FRR)技術(shù)克服了現(xiàn)有技術(shù)的缺點(diǎn)。根據(jù)本發(fā)明的技術(shù),如果第一邊緣設(shè)備檢測到阻止其與相鄰域通信的節(jié)點(diǎn)或鏈路故障,則第一邊緣設(shè)備將發(fā)往該相鄰域的至少一些數(shù)據(jù)分組重路由到第二邊緣設(shè)備。優(yōu)選地,使用IP或MPLS隧道技術(shù)將重路由分組“隧道傳送”到第二邊緣設(shè)備。第二邊緣設(shè)備接收重路由分組,然后將分組轉(zhuǎn)發(fā)到相鄰域。注意,第二邊緣設(shè)備例如在識別出另一域間節(jié)點(diǎn)或鏈路故障時不被允許再次重路由接收到的分組。這樣就避免了網(wǎng)絡(luò)邊緣處的環(huán)路,并且分組相比于現(xiàn)有實(shí)現(xiàn)被更快和更高效地重路由到相鄰路由選擇域。
根據(jù)說明性實(shí)施例,在具有附接到相鄰用戶站點(diǎn)的一個或多個用戶邊緣(CE)設(shè)備的至少兩個提供商(PE)設(shè)備的提供商網(wǎng)絡(luò)邊緣處實(shí)現(xiàn)FRR技術(shù)。例如,假設(shè)提供商邊緣設(shè)備PE1和PE2分別附接到相鄰站點(diǎn)的用戶邊緣設(shè)備CE1和CE2。接下來,假設(shè)PE1檢測到它不能在PE1-CE1數(shù)據(jù)鏈路上發(fā)送或接收數(shù)據(jù)。根據(jù)本發(fā)明的FRR技術(shù),PE1將發(fā)往CE1的至少一些數(shù)據(jù)分組重路由到PE2。在將數(shù)據(jù)分組轉(zhuǎn)發(fā)到PE2之前,PE1將重路由數(shù)據(jù)分組指定為“被保護(hù)”分組,即不允許被再次重路由的分組。PE1例如通過使用傳統(tǒng)信令協(xié)議向PE2通知這些分組的被保護(hù)狀態(tài)或?qū)⑦@些分組標(biāo)記為被保護(hù)的來指定這些分組的被保護(hù)狀態(tài)。被保護(hù)分組優(yōu)選地在提供商網(wǎng)絡(luò)中被隧道傳送到PE2,PE2隨后接收分組,去除它們的被保護(hù)狀態(tài)并在PE2-CE2數(shù)據(jù)鏈路上轉(zhuǎn)發(fā)分組。當(dāng)PE2-CE2鏈路上的通信也被禁用時,被保護(hù)分組在PE2處被丟棄。以此方式,被保護(hù)分組不會在提供商網(wǎng)絡(luò)中被保護(hù)或重路由多次,從而避免了在網(wǎng)絡(luò)邊緣處形成環(huán)路。
在說明性實(shí)施例中,PE設(shè)備可以被靜態(tài)或動態(tài)配置為識別提供到相鄰用戶站點(diǎn)的替代路徑的“備用”PE設(shè)備。在優(yōu)選實(shí)施例中,PE設(shè)備動態(tài)識別用于用戶所廣告的地址前綴的備用PE設(shè)備。因此,PE設(shè)備可以在PE設(shè)備接收到來自相鄰用戶站點(diǎn)和來自提供商網(wǎng)絡(luò)中的另一PE設(shè)備的前綴時識別用于特定地址前綴的備用PE設(shè)備。注意,如果多個PE設(shè)備廣告相同的地址前綴,并且傳統(tǒng)BGP路由反射器被部署在提供商網(wǎng)絡(luò)中,則有必要使用唯一路由標(biāo)識(如RFC 2574中規(guī)定的)。于是,廣告提供商網(wǎng)絡(luò)中的該地址前綴的PE設(shè)備被識別為用于該地址前綴的備用PE。在實(shí)踐中,利用可以由系統(tǒng)管理員靜態(tài)配置PE設(shè)備以便將一個或多個用戶所廣告的前綴與至少一個預(yù)定備用PE設(shè)備相關(guān)聯(lián)。
在一些說明性實(shí)施例中,本發(fā)明的FRR技術(shù)可以僅被應(yīng)用于選擇地址前綴。例如,可以將本地策略動態(tài)應(yīng)用于從用戶站點(diǎn)廣告的地址前綴,以便確定哪些被廣告的前綴可被選擇用于FRR保護(hù)。例如,本地策略可以指定只有與某些VPN相關(guān)聯(lián)的前綴或從所選擇的用戶站點(diǎn)廣告的前綴可以被FRR保護(hù)。這種“路由顏色”也可以例如由系統(tǒng)管理員靜態(tài)確定,而不是由本地策略動態(tài)確定。即,管理員可以手工選擇哪些前綴可被FRR保護(hù)。
本發(fā)明的FRR技術(shù)有益地使得至少一些發(fā)往故障鏈路或節(jié)點(diǎn)的數(shù)據(jù)分組能夠在備用路徑上被快速和高效地轉(zhuǎn)發(fā),而不必在傳統(tǒng)外部路由選擇網(wǎng)關(guān)協(xié)議(BGP)收斂到改變后的網(wǎng)絡(luò)拓?fù)鋾r丟棄分組。例如,可以僅在BGP協(xié)議收斂所必需的預(yù)定時間段上執(zhí)行本發(fā)明的FRR技術(shù)。與現(xiàn)有實(shí)現(xiàn)方式不同,該技術(shù)響應(yīng)于路由選擇域之間的CE節(jié)點(diǎn)和PE-CE鏈路故障的次秒級收斂。FRR技術(shù)不限于MPLS/VPN網(wǎng)絡(luò)體系結(jié)構(gòu),而是可用于實(shí)現(xiàn)各種拓?fù)浜蛥f(xié)議的網(wǎng)絡(luò)邊緣處。此外,本發(fā)明不限于任何特定的硬件平臺或軟件能力集合。
結(jié)合附圖參考下面的說明可以更好地理解本發(fā)明的上述和其他優(yōu)點(diǎn),在附圖中,類似的標(biāo)號指示相同或功能上相似的元件,其中前述圖1是MPLS/VPN網(wǎng)絡(luò)拓?fù)涞氖疽庑钥驁D;圖2是示例性MPLS/VPN網(wǎng)絡(luò)拓?fù)涞氖疽庑钥驁D,其中說明性快速重路由(FRR)技術(shù)可以在網(wǎng)絡(luò)邊緣處被采用。本領(lǐng)域技術(shù)人員將理解圖2的網(wǎng)絡(luò)拓?fù)鋬H是示例性的,本發(fā)明的FRR技術(shù)也可以在其他網(wǎng)絡(luò)拓?fù)渲胁捎茫粓D3是可以在MPLS/VPN網(wǎng)絡(luò)邊緣處實(shí)現(xiàn)FRR操作的提供商邊緣(PE)設(shè)備的示意性框圖;圖4是可以在根據(jù)本發(fā)明的所示實(shí)施例配置的PE設(shè)備中執(zhí)行的操作系統(tǒng)的示意性框圖;圖5是被配置為存儲FRR相關(guān)信息的說明性多協(xié)議標(biāo)簽交換(MPLS)轉(zhuǎn)發(fā)表的示意性框圖;圖6是用于針對預(yù)定時間間隔實(shí)現(xiàn)FRR操作的步驟序列的流程圖;圖7是示出了用于動態(tài)識別對應(yīng)于可達(dá)IP地址前綴的備用PE設(shè)備的步驟序列的流程圖;以及圖8是示出了用于根據(jù)本發(fā)明的說明性實(shí)施例在網(wǎng)絡(luò)邊緣處執(zhí)行FRR操作的步驟序列的流程圖。
具體實(shí)施例方式
根據(jù)說明性實(shí)施例,如果邊緣設(shè)備檢測到阻礙其與相鄰域中的設(shè)備通信的節(jié)點(diǎn)或鏈路故障,則邊緣設(shè)備將去往該相鄰域的至少一些數(shù)據(jù)分組重路由到備用邊緣設(shè)備。被重路由的分組優(yōu)選地例如使用IP或MPLS隧道機(jī)制被“隧道傳送”到備用邊緣設(shè)備。在接收到被重路由的分組之后,備用邊緣設(shè)備將分組轉(zhuǎn)發(fā)到相鄰域。注意,備用邊緣設(shè)備例如在識別出另一域間節(jié)點(diǎn)或鏈路故障時不被允許再次重路由接收到的分組。這樣可以避免網(wǎng)絡(luò)邊緣處的分組環(huán)路。
圖2示出了采用本發(fā)明的說明性實(shí)施例的計算機(jī)網(wǎng)絡(luò)200。為了便于說明,網(wǎng)絡(luò)200的網(wǎng)絡(luò)拓?fù)渑c圖1所示相同。但是,與網(wǎng)絡(luò)100不同,提供商邊緣設(shè)備PE1在例如由于CE1節(jié)點(diǎn)故障或PE1-CE1鏈路故障而丟失與其相鄰用戶站點(diǎn)120的通信時不“丟棄”分組。相反,PE1建立快速重路由(FRR)備用路徑205,其被用來將至少一些分組210重路由到也耦合到用戶站點(diǎn)120的備用提供商邊緣設(shè)備PE2。在FRR備用路徑205上傳輸?shù)姆纸M210可以被封裝以與備用路徑相關(guān)聯(lián)的至少一個IP隧道頭部或MPLS標(biāo)簽棧。
在將被重路由的分組轉(zhuǎn)發(fā)到備用邊緣設(shè)備PE2之前,邊緣設(shè)備PE1將被重路由的分組指定為“被保護(hù)的”。這里,分組的被保護(hù)狀態(tài)指示分組正響應(yīng)于域間節(jié)點(diǎn)或鏈路故障而被重路由。分組的被保護(hù)狀態(tài)可以與被重路由的分組210同時傳輸,或者可以例如使用合適的“帶外”信令機(jī)制或協(xié)議被獨(dú)立發(fā)送到提供商邊緣設(shè)備PE2。為了說明的目的,被重路由的分組210被示為其被保護(hù)狀態(tài)(“P”)212和分組數(shù)據(jù)(“分組”)214的拼接。提供商邊緣設(shè)備PE2在接收到被保護(hù)分組210之后,在它例如由于CE2節(jié)點(diǎn)故障或PE2-CE2鏈路故障而也丟失了與用戶站點(diǎn)120的通信的情況下不被允許再次重路由分組210。因此,被重路由的分組210不會再提供商網(wǎng)絡(luò)110的邊緣處產(chǎn)生的環(huán)路中循環(huán)。
圖3是可以有益地與本發(fā)明一起使用的諸如路由器等示例性提供商邊緣設(shè)備300的示意性框圖??梢耘c本發(fā)明一起使用的適當(dāng)?shù)闹虚g節(jié)點(diǎn)包括但不限于可從Cisco System Incorporated,San Jose,CA獲得的Cisco 7200和7600系列路由器和Catalyst 6500系列交換機(jī)。為了便于說明和描述,在通用硬件平臺上說明PE設(shè)備300。但是,在備選實(shí)施例中,PE設(shè)備可以包含通過交換架構(gòu)(例如背板邏輯和電路)與路由處理引擎互連的多個線路卡。因此,本領(lǐng)域的技術(shù)人員將理解,所示PE設(shè)備300僅是示例性的,本發(fā)明的優(yōu)點(diǎn)可以在具有各種軟件能力的多種不同硬件平臺上實(shí)現(xiàn)。
PE設(shè)備300包括通過系統(tǒng)總線350互連的一個或多個網(wǎng)絡(luò)接口310、處理器320、存儲器控制器330和存儲器340。每個網(wǎng)絡(luò)接口310可以是將PE設(shè)備300與相鄰節(jié)點(diǎn)連接的物理或邏輯接口。例如,如圖所示,網(wǎng)絡(luò)接口310a耦合到位于用戶站點(diǎn)120中的用戶邊緣設(shè)備CE1。網(wǎng)絡(luò)接口310b和310c分別耦合到提供商網(wǎng)絡(luò)110中的設(shè)備PE2和P2。每個網(wǎng)絡(luò)接口310可以適于傳輸和獲取去往和來自諸如快速以太網(wǎng)(FE)、吉比特以太網(wǎng)(GE)、無線鏈路、光鏈路等各種傳輸介質(zhì)的數(shù)據(jù)分組。在功能上,接口310可以被配置為使用各種網(wǎng)絡(luò)通信協(xié)議進(jìn)行通信,所述網(wǎng)絡(luò)通信協(xié)議包括但不限于異步傳輸模式(ATM)、以太網(wǎng)、幀中繼(FR)、多信道T3、同步光網(wǎng)絡(luò)(SONET)、光纖分布數(shù)據(jù)接口(FDDI),等等。
存儲器340包括可由處理器320和網(wǎng)絡(luò)接口310經(jīng)由存儲器控制器330尋址的多個存儲位置。存儲器340優(yōu)選地包括通常被電源周期或其他重啟操作清除的隨機(jī)訪問存儲器(RAM)的形式(例如它是“易失性”存儲器)。例如,存儲器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)的各種計算機(jī)可讀介質(zhì)。此外,本領(lǐng)域技術(shù)人員將理解,存儲器340的至少一些部分可以被實(shí)現(xiàn)為從遠(yuǎn)程存儲器元件發(fā)送到PE設(shè)備300的電磁信號。
存儲器340除了其他內(nèi)容外還存儲用于實(shí)現(xiàn)路由選擇操作系統(tǒng)400的計算機(jī)可讀指令,路由選擇操作系統(tǒng)400例如通過調(diào)用支持在處理器320上運(yùn)行的軟件進(jìn)程和服務(wù)的網(wǎng)絡(luò)操作來在功能上組織PE設(shè)備300。CiscoSystem Incorporated的ISOTM操作系統(tǒng)是可被存儲在存儲器340中并根據(jù)這里的說明性實(shí)施例而被執(zhí)行的操作系統(tǒng)400的一個示例。IOS操作系統(tǒng)包括各種路由選擇服務(wù),例如傳統(tǒng)的內(nèi)部和外部網(wǎng)關(guān)協(xié)議。本發(fā)明還可以利用其他操作系統(tǒng)來部署,所述其他操作系統(tǒng)例如是Cisco SystemIncorporated的IOS-XRTM操作系統(tǒng),其中這些路由選擇訪問中的一個或多個作為獨(dú)立進(jìn)程被執(zhí)行,即具有與操作系統(tǒng)的進(jìn)程地址空間分離的其自己的進(jìn)程地址空間。
圖4示出了可以被PE設(shè)備300采用的示例性操作系統(tǒng)400。該操作系統(tǒng)包括各種路由選擇服務(wù),包括一組IP路由選擇協(xié)議420、傳入/傳出服務(wù)430、虛擬專用網(wǎng)(VPN)FRR訪問435、MPLS轉(zhuǎn)發(fā)控制440和一組虛擬路由和轉(zhuǎn)發(fā)(VRF)實(shí)例460。IP路由選擇協(xié)議420使得PE設(shè)備能夠與提供商網(wǎng)絡(luò)110中的其他P和PE設(shè)備交換基于IP的路由選擇信息。例如,IP協(xié)議可以實(shí)現(xiàn)諸如BGP協(xié)議410a和OSPF協(xié)議410b等傳統(tǒng)的內(nèi)部和外部網(wǎng)關(guān)協(xié)議。每個IP協(xié)議410可被配置為將其拓?fù)浜吐酚蛇x擇信息存儲在至少一個特定于協(xié)議的表或數(shù)據(jù)庫415中,例如存儲在存儲器340中。例如,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è)備協(xié)作以例如使用LDP或RSVP協(xié)議分發(fā)內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)標(biāo)簽,還與其全網(wǎng)格化的PE設(shè)備設(shè)備協(xié)作以例如使用MP-BGP協(xié)議分發(fā)VPN標(biāo)簽。這里使用的IGP標(biāo)簽標(biāo)識用于目的地LSP的標(biāo)簽交換路由器之間的個體“跳”,而VPN標(biāo)簽標(biāo)識從給定PE設(shè)備開始的特定用戶站點(diǎn)VPN路由。因此,在提供商網(wǎng)絡(luò)110中傳送的數(shù)據(jù)分組105一般包括具有IGP標(biāo)簽和VPN標(biāo)簽的MPLS標(biāo)簽棧,IGP標(biāo)簽標(biāo)識分組從提供商網(wǎng)絡(luò)的出口點(diǎn),VPN標(biāo)簽指示分組的關(guān)聯(lián)VPN路由。
MPLS轉(zhuǎn)發(fā)控制440維護(hù)存儲用于將數(shù)據(jù)分組從PE設(shè)備300轉(zhuǎn)發(fā)到相鄰用戶站點(diǎn)的標(biāo)簽信息的MPLS轉(zhuǎn)發(fā)表500(或“標(biāo)簽轉(zhuǎn)發(fā)信息庫(LFIB)”)。MPLS轉(zhuǎn)發(fā)表500也被配置為存儲下面將詳述的FRR相關(guān)信息。MPLS轉(zhuǎn)發(fā)控制可以采用獨(dú)立標(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)在哪條特定PE-CE鏈路上轉(zhuǎn)發(fā)分組。
一組VRF實(shí)例460包括一個或多個獨(dú)立VRF實(shí)例450,例如VRF實(shí)例450a和450b。每個VRF實(shí)例管理PE設(shè)備300和本地或遠(yuǎn)程附接到提供商網(wǎng)絡(luò)110的選定的一組一個或多個相鄰用戶站點(diǎn)之間的路由和轉(zhuǎn)發(fā)操作。為了便于說明,假設(shè)每個VRF實(shí)例450與單個用戶站點(diǎn)相關(guān)聯(lián)并為被發(fā)送到和接收自用戶站點(diǎn)的數(shù)據(jù)分組執(zhí)行分組轉(zhuǎn)發(fā)判決。因此,此后描述的說明性實(shí)施例將假設(shè)路由選擇操作系統(tǒng)400針對直接附接到PE設(shè)備300的每個用戶站點(diǎn)實(shí)例化獨(dú)立的VRF實(shí)例450。例如在圖2中,提供商邊緣設(shè)備PE2 300b可以為它的兩個相鄰用戶站點(diǎn)120和130中的每一個運(yùn)行獨(dú)立的VRF實(shí)例。在備選實(shí)施例中,VRF實(shí)例可以在每VPN基礎(chǔ)上或以與網(wǎng)絡(luò)拓?fù)湟恢碌钠渌绞奖粚?shí)例化。
每個VRF實(shí)例450包括特定于VRF的路由選擇信息庫(RIB)452和特定于VRF的轉(zhuǎn)發(fā)信息庫(FIB)454。VRF實(shí)例450a和450b分別包括特定于VRF的RIB 452a和452b以及FIB 454a和454b。每個VRF RIB452存儲用于其VRF實(shí)例的關(guān)聯(lián)用戶站點(diǎn)中可達(dá)的地址前綴的層3路由選擇信息,包括用戶站點(diǎn)廣告的地址前綴和與該用戶站點(diǎn)參與同一VPN的其他站點(diǎn)廣告的前綴。VRF FIB 454存儲用于在它們的關(guān)聯(lián)VRF RIB中存儲的IP地址的轉(zhuǎn)發(fā)信息。VRF實(shí)例460和BGP協(xié)議410a與傳入/傳出服務(wù)430接口以確保VRF RIB 452和BGP表415a存儲一致的路由選擇信息集合。例如,傳入/傳出服務(wù)可以從BGP表拷貝VPN相關(guān)路由選擇信息并將VPN路由選擇信息存儲在合適的VRF RIB中。類似地,傳入/傳出服務(wù)可以將VRF RIB中存儲的路由選擇信息重分發(fā)到BGP表中。
根據(jù)說明性實(shí)施例,每個VRF實(shí)例450包括FRR定時器458,其確定響應(yīng)于例如VRF實(shí)例的關(guān)聯(lián)用戶站點(diǎn)處的故障CE節(jié)點(diǎn)或PE-CE鏈路故障而執(zhí)行FRR操作的時間段。例如,VRF實(shí)例450a和450b與相應(yīng)的FRR定時器458a和458b相關(guān)聯(lián)?;蛘撸瑔蝹€FRR定時器458可以對每個VRF實(shí)例450可用。在操作中,在路由選擇操作系統(tǒng)400檢測到相鄰用戶站點(diǎn)處的域間通信故障時,VPN FRR服務(wù)435啟動與不可訪問的用戶站點(diǎn)相關(guān)聯(lián)的FRR定時器458。然后,操作系統(tǒng)實(shí)現(xiàn)用于發(fā)往該不可訪問的用戶站點(diǎn)的數(shù)據(jù)分組的FRR操作。FRR操作繼續(xù),直到FRR定時器期滿,此時正常(非FRR)路由操作繼續(xù),網(wǎng)絡(luò)被假設(shè)為已收斂到其新網(wǎng)絡(luò)拓?fù)?,即沒有故障CE節(jié)點(diǎn)或PE-CE鏈路的網(wǎng)絡(luò)拓?fù)洹?br>
圖5示出了可根據(jù)本發(fā)明的說明性實(shí)施例一起使用的示例性MPLS轉(zhuǎn)發(fā)表500。表500包括多個表條目510,每個表條目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存儲來自直接附接的CE設(shè)備的對于PE設(shè)備300而言可達(dá)的IP地址前綴。VPN標(biāo)簽值530標(biāo)識哪個VPN包括地址前綴值520。VRF標(biāo)識符值540標(biāo)識該地址前綴屬于哪個VRF實(shí)例因而哪個VRF實(shí)例應(yīng)被用來轉(zhuǎn)發(fā)具有與地址前綴值520匹配的目的地IP地址的數(shù)據(jù)分組。
假設(shè)PE設(shè)備300在直接附接到相鄰CE設(shè)備的網(wǎng)絡(luò)接口310處接收到諸如BGP更新消息或鏈路狀態(tài)廣告等廣告消息。接收到的廣告最初在與包含該CE設(shè)備的用戶站點(diǎn)相關(guān)聯(lián)的VRF實(shí)例450的路由選擇上下文中被處理。因為接收到的廣告消息不是要被轉(zhuǎn)發(fā)到提供商網(wǎng)絡(luò)中的數(shù)據(jù)分組,所以用于VRF實(shí)例的關(guān)聯(lián)VPN的路由選擇協(xié)議上下文基于廣告消息中的可達(dá)性信息更新其特定于協(xié)議的表或數(shù)據(jù)庫415。在更新其特定于協(xié)議的表和數(shù)據(jù)庫之后,IP路由選擇協(xié)議410執(zhí)行對它的表和數(shù)據(jù)庫執(zhí)行其“最佳路徑”計算,然后將其結(jié)果提供給VRF RIB 452,VRF RIB 452隨后將其每個前綴的最佳路徑處理結(jié)果重分發(fā)給MP-BGP協(xié)議。MP-BGP協(xié)議可以向其他全網(wǎng)格化的PE設(shè)備傳播可達(dá)性信息,于是它們也能更新它們的本地路由選擇信息。
MPLS轉(zhuǎn)發(fā)控制被提供用于CE設(shè)備廣告的前綴地址的VPN標(biāo)簽值,假設(shè)該VPN標(biāo)簽值尚未被分配。MPLS轉(zhuǎn)發(fā)控制在合適的MPLS轉(zhuǎn)發(fā)表條目510中存儲地址前綴值520和它們被分配的VPN標(biāo)簽值530。這些表條目中的每一個還包括標(biāo)識最初從CE設(shè)備接收廣告消息的VRF實(shí)例的VRF標(biāo)識符值540。
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)簽值可被用來檢索MPLS轉(zhuǎn)發(fā)表500中的匹配表條目510。匹配表條目的VRF標(biāo)識符值540標(biāo)識哪個VRF實(shí)例450應(yīng)當(dāng)將接收到的數(shù)據(jù)分組轉(zhuǎn)發(fā)它的在相鄰用戶站點(diǎn)中的下一跳。
FRR使能標(biāo)志值550存儲指示當(dāng)前是否正在對包含地址前綴520的數(shù)據(jù)分組執(zhí)行FRR操作的值。當(dāng)操作系統(tǒng)400檢測到PE-CE數(shù)據(jù)鏈路上的節(jié)點(diǎn)或鏈路故障時,操作系統(tǒng)的VPN FRR服務(wù)435為通過故障PE-CE鏈路可達(dá)的那些IP地址前綴520設(shè)置FRR使能標(biāo)志值。這里FRR使能標(biāo)志550在等于第一預(yù)定值(例如“1”)時被“設(shè)置”。否則,F(xiàn)RR使能標(biāo)志等于第二預(yù)定值(例如“0”)。以此方式,與給定的地址前綴520相關(guān)聯(lián)的FRR使能標(biāo)志550的值指示是否已對具有與該地址前綴匹配的目的地IP地址的數(shù)據(jù)分組105發(fā)起了FRR操作。
圖6是示出使用FRR使能標(biāo)志550發(fā)起FRR路由選擇操作的步驟序列的流程圖。序列開始于步驟600并進(jìn)行到步驟610,其中路由選擇操作系統(tǒng)400檢測到阻礙與相鄰路由選擇域的域間通信的節(jié)點(diǎn)或鏈路故障。例如,操作系統(tǒng)可以確定不再在連接到相鄰用戶站點(diǎn)的網(wǎng)絡(luò)接口310處接收到分組,或者可以接收例如指示CE設(shè)備將很快“離線”或?qū)霈F(xiàn)故障的顯式通知。操作系統(tǒng)的IP路由選擇協(xié)議420(例如BGP協(xié)議410a)可以被用來將該檢測到的拓?fù)涓淖儌魉偷教峁┥叹W(wǎng)絡(luò)110中的其他全網(wǎng)格化的PE設(shè)備。
在步驟620,操作系統(tǒng)的VPN FRR服務(wù)435“巡視”MPLS轉(zhuǎn)發(fā)表500以定位包含與由于故障PE-CE數(shù)據(jù)鏈路而變得不可訪問的用戶站點(diǎn)相對應(yīng)的VRF標(biāo)識符值540的表條目510。對于每個這樣被定位的表條目510,條目的FRR使能標(biāo)志值550被設(shè)置,從而指示應(yīng)當(dāng)對包含與條目的地址前綴520相匹配的目的地IP地址的分組執(zhí)行FRR操作。接下來在步驟630,操作系統(tǒng)啟動合適的FRR定時器458,即對應(yīng)于標(biāo)識符540被存儲在被定位的標(biāo)題目中的VRF實(shí)例的FRR定時器458。
在步驟640,對具有與FRR使能標(biāo)志550被設(shè)置的MPLS轉(zhuǎn)發(fā)表條目510匹配的目的地IP地址和VPN標(biāo)簽值的數(shù)據(jù)分組執(zhí)行FRR操作。操作系統(tǒng)在步驟650確定FRR定時器458是否期滿。如果沒有,則序列返回步驟640,F(xiàn)RR操作繼續(xù)。否則在步驟660,先前設(shè)置的FRR使能標(biāo)志被重置,以指示不再對發(fā)往不可訪問的用戶站點(diǎn)的數(shù)據(jù)分組執(zhí)行FRR操作。序列在步驟670結(jié)束。
再次參考圖5,F(xiàn)RR排除標(biāo)志560存儲指示是否即使FRR使能標(biāo)志550被設(shè)置也不應(yīng)執(zhí)行FRR操作的值。FRR排除標(biāo)志可以等于第一預(yù)定值(例如“1”)以指示不允許執(zhí)行FRR操作,否則可以等于第二預(yù)定值(例如“0”)。FRR排除標(biāo)志560的值可以例如由系統(tǒng)管理員手工選擇。但是在優(yōu)選實(shí)施例中,路由選擇操作系統(tǒng)400動態(tài)確定FRR排除標(biāo)志值。操作系統(tǒng)的VPN FRR服務(wù)435可以被配置為執(zhí)行實(shí)現(xiàn)一組用于確定哪些地址前綴520可被選擇用于FRR保護(hù)的規(guī)則的本地策略。該本地策略例如可以指定只有被選定的用戶站點(diǎn)或參與某些VPN的用戶站點(diǎn)廣告的地址前綴才可以被FRR保護(hù)。在將其本地策略應(yīng)用于存儲在表500中的地址前綴520之后,操作系統(tǒng)為那些被本地策略確定為不可被選擇用于FRR保護(hù)的前綴設(shè)置FRR排除標(biāo)志560。
一組一個或多個備用PE設(shè)備570可以與存儲在表500中的每個地址前綴520相關(guān)聯(lián)。每個備用PE設(shè)備可以與一個備用標(biāo)簽棧580相關(guān)聯(lián),該備用標(biāo)簽棧580例如包括應(yīng)被包括在與地址前綴520和VPN標(biāo)簽值530匹配的FRR重路由分組210中的IGP和VPN標(biāo)簽值??梢曰诒慌渲脼榇鎯τ糜谠谔峁┥叹W(wǎng)絡(luò)110中轉(zhuǎn)發(fā)數(shù)據(jù)分組的標(biāo)簽信息的獨(dú)立標(biāo)簽轉(zhuǎn)發(fā)表(未示出)的內(nèi)容來確定備用標(biāo)簽棧580。例如,如表500所示,備用PE設(shè)備570指示PE2是用于在與VPN標(biāo)簽值57相關(guān)聯(lián)的VPN中可達(dá)的地址前綴10.1.2.0/24的備用PE設(shè)備。此外,所示備用標(biāo)簽棧580指示被轉(zhuǎn)發(fā)到PE2的FRR數(shù)據(jù)分組應(yīng)當(dāng)包括等于100的IGP標(biāo)簽值和等于75的VPN標(biāo)簽值。這里還要注意,所示表條目510中的示例性FRR標(biāo)志550和560指示當(dāng)前正在對地址前綴10.1.2.0/24執(zhí)行FRR操作,并且FRR操作未被排除。
備用PE設(shè)備570及其備用標(biāo)簽棧580例如可以由系統(tǒng)管理員靜態(tài)配置。但是,備用PE設(shè)備優(yōu)選地由操作系統(tǒng)400動態(tài)“學(xué)習(xí)”(獲知)。具體而言,當(dāng)從(i)直接連接的(即相鄰的)用戶站點(diǎn)和(ii)提供商網(wǎng)絡(luò)110中的另一PE設(shè)備二者接收到特定地址前綴時,操作系統(tǒng)自動學(xué)習(xí)用于該地址前綴的備用PE設(shè)備。然后,在該提供商網(wǎng)絡(luò)內(nèi)廣告該地址前綴的PE設(shè)備被標(biāo)識為用于發(fā)往直接連接的用戶站點(diǎn)的數(shù)據(jù)分組的備用PE設(shè)備。
優(yōu)選地,操作系統(tǒng)的VPN FRR服務(wù)435通過監(jiān)視BGP表415a的內(nèi)容來識別備用PE設(shè)備570。傳統(tǒng)上,BGP表存儲被廣告給PE設(shè)備300的可達(dá)性信息(即地址前綴)以及關(guān)于哪些網(wǎng)絡(luò)設(shè)備廣告了可達(dá)性信息的指示。因此,如果VPN FRR服務(wù)對BGP表415a的掃描檢測到對于PE設(shè)備300而言,地址前綴520從直接連接的CE設(shè)備和從遠(yuǎn)程PE設(shè)備都可達(dá),則VPN FRR服務(wù)435將對應(yīng)于遠(yuǎn)程PE設(shè)備的標(biāo)識符(例如IP地址)存儲為用于MPLS轉(zhuǎn)發(fā)表500中地址前綴520的備用識別570。
圖7是示出了可由自動識別用于可達(dá)地址前綴的備用PE設(shè)備的PE設(shè)備300執(zhí)行的步驟序列的流程圖。序列開始于步驟700并進(jìn)行到步驟710,其中在直接連接到相鄰路由選擇域中的CE設(shè)備的網(wǎng)絡(luò)接口310處接收到包含第一地址前綴的廣告消息。在步驟720,第一地址前綴被存儲在合適的特定于協(xié)議的表或數(shù)據(jù)庫中。這里,假設(shè)第一地址前綴在BGP更新消息中被接收并因此被存儲在BGP表415a中。接下來在步驟730,PE設(shè)備300在附接到遠(yuǎn)程PE設(shè)備的網(wǎng)絡(luò)接口310處接收第二地址前綴。在步驟740,第二地址前綴被存儲在合適的特定于協(xié)議的表中(例如BGP表)。
接下來在步驟750,VPN FRR服務(wù)435掃描BGP表415a的內(nèi)容以確定接收到的第一和第二地址前綴是否相等。如果它們不相等,則序列在步驟780處結(jié)束。但是,如果VPN FRR服務(wù)檢測出第一和第二地址前綴是相同的地址前綴,則在步驟760,VPN FRR服務(wù)更新前綴的關(guān)聯(lián)MPLS轉(zhuǎn)發(fā)表條目510以指示遠(yuǎn)程PE設(shè)備是用于該地址前綴的備用PE設(shè)備570。VPN FRR服務(wù)435在步驟770識別合適的備用標(biāo)簽棧580,以包括在與地址前綴520匹配的FRR重路由數(shù)據(jù)分組中。序列在步驟780結(jié)束。
圖8示出了包含執(zhí)行本發(fā)明的FRR技術(shù)的步驟序列的流程圖。該序列開始于步驟800并進(jìn)行到步驟805,其中在PE設(shè)備300處接收到MPLS封裝的數(shù)據(jù)分組。接收到的數(shù)據(jù)分組被轉(zhuǎn)發(fā)到MPLS轉(zhuǎn)發(fā)控制440,MPLS轉(zhuǎn)發(fā)控制440在步驟810從接收到的分組提取VPN標(biāo)簽值,并在步驟825使用這些提取出的值來在其MPLS轉(zhuǎn)發(fā)表500中執(zhí)行查找操作。具體而言,定位具有與分組的目的地IP地址匹配的地址前綴520和等于分組的提取出的VPN標(biāo)簽值的VPN標(biāo)簽值530的MPLS轉(zhuǎn)發(fā)表條目510。
在步驟830,分析定位出的表條目510中的FRR使能標(biāo)志值550,以便確定當(dāng)前是否正在對包含接收到的VPN標(biāo)簽值的分組執(zhí)行FRR操作。如果當(dāng)前沒有執(zhí)行FRR操作,則基于MPLS轉(zhuǎn)發(fā)表500中的轉(zhuǎn)發(fā)條目510處理接收到的分組。然后,接收到的數(shù)據(jù)分組在步驟835被轉(zhuǎn)發(fā)到其下一跳目的地。序列在步驟870處結(jié)束。
如果在步驟830,F(xiàn)RR使能標(biāo)志的值指示應(yīng)當(dāng)執(zhí)行FRR操作,則在步驟840分析FRR排除標(biāo)志560以確定是否允許對分組進(jìn)行FRR重路由。如果不允許對分組進(jìn)行重路由,則在步驟855丟棄分組,序列在步驟870結(jié)束。當(dāng)FRR排除標(biāo)志值指示可以對接收到的分組執(zhí)行FRR操作時,序列前進(jìn)到步驟845,在步驟845確定在接收到的分組的匹配MPLS轉(zhuǎn)發(fā)表條目510中是否存在被標(biāo)識的備用PE設(shè)備570。如果不存在這樣的備用PE設(shè)備,則分組在步驟855被丟棄,序列在步驟870結(jié)束。
在步驟850,路由選擇操作系統(tǒng)400確定接收到的分組是否先前已被FRR保護(hù)。例如,可以基于在接收到的分組的P字段212中傳輸?shù)腇RR狀態(tài)信息來確定分組的保護(hù)狀態(tài)。根據(jù)本發(fā)明的FRR技術(shù),被保護(hù)分組不能再次被保護(hù)。因此,如果在步驟850確定接收到的分組已經(jīng)被保護(hù),則在步驟855丟棄分組,序列在步驟870結(jié)束。另一方面,如果分組先前未被保護(hù),則序列前進(jìn)到步驟860,并且分組被保護(hù)。例如,F(xiàn)RR保護(hù)指定可以被拼接或結(jié)合到分組中,或者例如可以使用合適的信令協(xié)議對分組的備用PE設(shè)備570獨(dú)立“通知”分組的保護(hù)狀態(tài)。在步驟865,優(yōu)選地經(jīng)由MPLS或IP隧道將被保護(hù)分組轉(zhuǎn)發(fā)到其備用PE設(shè)備。序列在步驟870處結(jié)束。
本發(fā)明的FRR技術(shù)有益地使得去往故障PE-CE鏈路或CE節(jié)點(diǎn)的至少一些數(shù)據(jù)分組在傳統(tǒng)外部網(wǎng)關(guān)協(xié)議(BGP)收斂到改變后的網(wǎng)絡(luò)拓?fù)鋾r被迅速和高效地通過備用路徑轉(zhuǎn)發(fā),而不必丟棄分組。說明性地,可以僅在BGP協(xié)議收斂所必需的預(yù)定時間段上執(zhí)行本發(fā)明的FRR技術(shù)。與現(xiàn)有實(shí)現(xiàn)方式不同,該技術(shù)實(shí)現(xiàn)了響應(yīng)于路由選擇域之間的CE節(jié)點(diǎn)和PE-CE鏈路故障的次秒級收斂。FRR技術(shù)并不限于MPLS/VPN網(wǎng)絡(luò)體系結(jié)構(gòu),而是可以用在實(shí)現(xiàn)各種拓?fù)浜蛥f(xié)議的網(wǎng)絡(luò)邊緣處。此外,本發(fā)明不限于任何特定的硬件平臺或軟件能力集合。
上文是對本發(fā)明的說明性實(shí)施例的詳細(xì)描述。在不脫離本發(fā)明的精神和范圍的情況下可以作出各種修改和添加。例如,雖然已經(jīng)針對MPLS/VPN網(wǎng)絡(luò)說明性地描述了本發(fā)明的FRR技術(shù),但是很明顯,本發(fā)明可以部署在其他類型的網(wǎng)絡(luò)和子網(wǎng)邊緣,所述網(wǎng)絡(luò)和子網(wǎng)例如是實(shí)現(xiàn)各種網(wǎng)絡(luò)通信協(xié)議的自治系統(tǒng)、廣播域、路由選擇區(qū)域等。雖然這里描述的示例性實(shí)施例假設(shè)用戶站點(diǎn)和VPN之間的一一對應(yīng),但是本領(lǐng)域的技術(shù)人員將理解該FRR技術(shù)也可以被部署在這樣的網(wǎng)絡(luò)中,所述網(wǎng)絡(luò)中的用戶站點(diǎn)被允許參與多于一個VPN。類似地,至少一些VRF實(shí)例450可以在一對多基礎(chǔ)上與用戶站點(diǎn)相關(guān)聯(lián),雖然所示實(shí)施例為了簡明起見假設(shè)了一一對應(yīng)。
此外,所示實(shí)施例可以被修改以利用IP版本6(IPv6)技術(shù)。IPv6協(xié)議被引入以增加可用網(wǎng)絡(luò)地址的數(shù)量和在傳統(tǒng)TCP/IP協(xié)議棧的網(wǎng)間層提供附加服務(wù)。IPv6協(xié)議采用比其IPv4前身更大的地址空間,并且利用128位(16字節(jié))值來對網(wǎng)絡(luò)節(jié)點(diǎn)編址,而不像IPv4那樣采用32位地址。本領(lǐng)域技術(shù)人員將理解,這里描述的說明性實(shí)施例同樣適用于其他地址格式,包括IPv6地址。
很明顯,本發(fā)明的教導(dǎo)可以被實(shí)現(xiàn)為軟件,包括具有在計算機(jī)、硬件、固件或其組合上執(zhí)行的程序指令的計算機(jī)可讀介質(zhì)。例如,本發(fā)明可以由具有一個或多個處理器的PE設(shè)備300實(shí)現(xiàn),所述處理器中的一些可以駐留于網(wǎng)絡(luò)接口310上或包含網(wǎng)絡(luò)接口的線路卡上。此外,存儲器340可以分布在多個的不同的存儲器元件中,這些存儲器元件對于PE設(shè)備300而言是本地的或遠(yuǎn)程的。總之,本發(fā)明的技術(shù)可以在硬件和/或軟件的各種組合中實(shí)現(xiàn)。因此,本說明書應(yīng)僅被理解為示例性的而絕非意在限制本發(fā)明的范圍。
權(quán)利要求
1.一種用于在網(wǎng)絡(luò)邊緣處執(zhí)行快速重路由(FRR)操作的方法,所述網(wǎng)絡(luò)具有耦合到相鄰路由選擇域的第一和第二邊緣設(shè)備,該方法包括A.檢測所述第一邊緣設(shè)備和所述相鄰路由選擇域之間的通信丟失;B.在所述第一邊緣設(shè)備處接收數(shù)據(jù)分組,接收到的數(shù)據(jù)分組包含經(jīng)由所述相鄰路由選擇域可達(dá)的目的地地址;C.確定所述接收到的數(shù)據(jù)分組是否先前已根據(jù)FRR操作被重路由;以及D.響應(yīng)于確定所述接收到的數(shù)據(jù)分組先前未被重路由,將所述數(shù)據(jù)分組重路由到所述第二邊緣設(shè)備以便轉(zhuǎn)發(fā)到所述相鄰路由選擇域。
2.如權(quán)利要求1所述的方法,還包括如果所述接收到的數(shù)據(jù)分組被確定為先前已根據(jù)FRR操作被重路由,則在所述第一邊緣設(shè)備處丟棄所述接收到的數(shù)據(jù)分組。
3.如權(quán)利要求1所述的方法,其中確定所述接收到的數(shù)據(jù)分組是否先前已根據(jù)FRR操作被重路由的步驟還包括基于所述接收到的數(shù)據(jù)分組中包括的FRR狀態(tài)信息來確定所述接收到的數(shù)據(jù)分組是否先前已根據(jù)FRR操作被重路由。
4.如權(quán)利要求1所述的方法,其中確定所述接收到的數(shù)據(jù)分組是否先前已根據(jù)FRR操作被重路由的步驟還包括基于先前經(jīng)由帶外信令機(jī)制被傳送到所述第一邊緣設(shè)備的FRR狀態(tài)信息來確定所述接收到的數(shù)據(jù)分組是否先前已根據(jù)FRR操作被重路由。
5.如權(quán)利要求1所述的方法,還包括響應(yīng)于檢測到所述第一邊緣設(shè)備和所述相鄰路由選擇域之間的通信丟失而啟動定時器;以及執(zhí)行步驟B-D直到所述定時器期滿。
6.如權(quán)利要求1所述的方法,還包括由所述第一邊緣設(shè)備自動檢測所述第二邊緣設(shè)備耦合到所述相鄰路由選擇域。
7.如權(quán)利要求6所述的方法,其中所述第一邊緣設(shè)備通過以下操作來自動檢測所述第二邊緣設(shè)備耦合到所述相鄰路由選擇域接收從所述相鄰路由選擇域中的邊緣設(shè)備廣告的第一消息中的第一目的地地址前綴;接收從所述第二邊緣設(shè)備廣告的第二消息中的第二目的地地址前綴;以及確定所述第一和第二目的地地址前綴是否相等;響應(yīng)于確定所述第一和第二目的地地址前綴相等,檢測所述第二邊緣設(shè)備耦合到所述相鄰路由選擇域。
8.如權(quán)利要求1所述的方法,還包括從所述第一邊緣設(shè)備通過網(wǎng)絡(luò)隧道向所述第二邊緣設(shè)備傳送所述接收到的數(shù)據(jù)分組。
9.如權(quán)利要求8所述的方法,其中所述網(wǎng)絡(luò)隧道是多協(xié)議標(biāo)簽交換(MPLS)隧道。
10.如權(quán)利要求8所述的方法,其中所述網(wǎng)絡(luò)隧道是因特網(wǎng)協(xié)議(IP)隧道。
11.如權(quán)利要求1所述的方法,還包括確定所述接收到的數(shù)據(jù)分組是否被允許根據(jù)FRR操作重路由;以及僅在確定所述接收到的數(shù)據(jù)分組被允許重路由之后才重路由所述接收到的數(shù)據(jù)分組到所述第二邊緣設(shè)備。
12.如權(quán)利要求11所述的方法,其中確定所述接收到的數(shù)據(jù)分組是否被允許根據(jù)FRR操作重路由的步驟還包括向所述接收到的數(shù)據(jù)分組中包含的目的地地址應(yīng)用本地策略。
13.如權(quán)利要求11所述的方法,其中確定所述接收到的數(shù)據(jù)分組是否被允許根據(jù)FRR操作重路由的步驟還包括識別所述接收到的數(shù)據(jù)分組中包含的目的地地址;以及將所述第一邊緣設(shè)備靜態(tài)配置為不重路由包含所識別出的目的地地址的數(shù)據(jù)分組。
14.一種被配置為在網(wǎng)絡(luò)邊緣處執(zhí)行快速重路由(FRR)操作的網(wǎng)絡(luò)節(jié)點(diǎn),該網(wǎng)絡(luò)節(jié)點(diǎn)包括適于與相鄰路由選擇域通信的第一網(wǎng)絡(luò)接口;用于檢測所述第一網(wǎng)絡(luò)接口上的通信丟失的裝置;適于接收包含經(jīng)由所述相鄰路由選擇域可達(dá)的目的地地址的數(shù)據(jù)分組的第二網(wǎng)絡(luò)接口;用于確定接收到的數(shù)據(jù)分組是否先前已根據(jù)FRR操作被重路由的裝置;以及用于響應(yīng)于確定所述接收到的數(shù)據(jù)分組先前未被重路由,將所述數(shù)據(jù)分組重路由到耦合到所述相鄰路由選擇域的第二網(wǎng)絡(luò)節(jié)點(diǎn)的裝置。
15.如權(quán)利要求14所述的網(wǎng)絡(luò)節(jié)點(diǎn),還包括用于如果所述接收到的數(shù)據(jù)分組被確定為先前已根據(jù)FRR操作被重路由,則丟棄所述接收到的數(shù)據(jù)分組的裝置。
16.如權(quán)利要求14所述的網(wǎng)絡(luò)節(jié)點(diǎn),其中所述用于確定所述接收到的數(shù)據(jù)分組是否先前已根據(jù)FRR操作被重路由的裝置還包括用于基于所述接收到的數(shù)據(jù)分組中包括的FRR狀態(tài)信息來確定所述接收到的數(shù)據(jù)分組是否先前已根據(jù)FRR操作被重路由的裝置。
17.如權(quán)利要求14所述的網(wǎng)絡(luò)節(jié)點(diǎn),其中所述用于確定所述接收到的數(shù)據(jù)分組是否先前已根據(jù)FRR操作被重路由的裝置還包括用于基于先前經(jīng)由帶外信令機(jī)制被傳送到所述網(wǎng)絡(luò)節(jié)點(diǎn)的FRR狀態(tài)信息來確定所述接收到的數(shù)據(jù)分組是否先前已根據(jù)FRR操作被重路由的裝置。
18.如權(quán)利要求14所述的網(wǎng)絡(luò)節(jié)點(diǎn),還包括用于響應(yīng)于檢測到所述第一網(wǎng)絡(luò)接口上的通信丟失而啟動定時器的裝置。
19.如權(quán)利要求14所述的網(wǎng)絡(luò)節(jié)點(diǎn),還包括用于自動檢測所述第二網(wǎng)絡(luò)節(jié)點(diǎn)耦合到所述相鄰路由選擇域的裝置。
20.如權(quán)利要求19所述的網(wǎng)絡(luò)節(jié)點(diǎn),其中所述用于自動檢測所述第二網(wǎng)絡(luò)節(jié)點(diǎn)耦合到所述相鄰路由選擇域的裝置還包括用于確定從所述相鄰路由選擇域廣告的第一目的地地址前綴和從所述第二網(wǎng)絡(luò)節(jié)點(diǎn)廣告的第二目的地地址前綴是否相等的裝置;用于響應(yīng)于確定所述第一和第二目的地地址前綴相等,檢測所述第二網(wǎng)絡(luò)節(jié)點(diǎn)耦合到所述相鄰路由選擇域的裝置。
21.如權(quán)利要求14所述的網(wǎng)絡(luò)節(jié)點(diǎn),還包括用于通過網(wǎng)絡(luò)隧道將所述接收到的數(shù)據(jù)分組傳送到所述第二網(wǎng)絡(luò)節(jié)點(diǎn)的裝置。
22.如權(quán)利要求14所述的網(wǎng)絡(luò)節(jié)點(diǎn),還包括用于確定所述接收到的數(shù)據(jù)分組是否被允許根據(jù)FRR操作重路由的裝置;以及用于僅在確定所述接收到的數(shù)據(jù)分組被允許重路由之后才重路由所述接收到的數(shù)據(jù)分組到所述第二網(wǎng)絡(luò)節(jié)點(diǎn)的裝置。
23.如權(quán)利要求22所述的網(wǎng)絡(luò)節(jié)點(diǎn),其中所述用于確定所述接收到的數(shù)據(jù)分組是否被允許根據(jù)FRR操作重路由的裝置還包括用于向所述接收到的數(shù)據(jù)分組中包含的目的地地址應(yīng)用本地策略的裝置。
24.如權(quán)利要求22所述的網(wǎng)絡(luò)節(jié)點(diǎn),其中所述用于確定所述接收到的數(shù)據(jù)分組是否被允許根據(jù)FRR操作重路由的裝置還包括用于識別所述接收到的數(shù)據(jù)分組中包含的目的地地址的裝置;以及用于將所述網(wǎng)絡(luò)節(jié)點(diǎn)靜態(tài)配置為不重路由包含所識別出的目的地地址的數(shù)據(jù)分組的裝置。
25.一種存儲有用于在處理器上執(zhí)行以便實(shí)現(xiàn)在網(wǎng)絡(luò)邊緣處執(zhí)行快速重路由(FRR)操作的方法的指令的計算機(jī)可讀介質(zhì),所述網(wǎng)絡(luò)具有耦合到相鄰路由選擇域的第一和第二邊緣設(shè)備,該方法包括檢測所述第一邊緣設(shè)備和所述相鄰路由選擇域之間的通信丟失;在所述第一邊緣設(shè)備處接收數(shù)據(jù)分組,接收到的數(shù)據(jù)分組包含經(jīng)由所述相鄰路由選擇域可達(dá)的目的地地址;確定所述接收到的數(shù)據(jù)分組是否先前已根據(jù)FRR操作被重路由;以及響應(yīng)于確定所述接收到的數(shù)據(jù)分組先前未被重路由,將所述數(shù)據(jù)分組重路由到所述第二邊緣設(shè)備以便轉(zhuǎn)發(fā)到所述相鄰路由選擇域。
全文摘要
本發(fā)明提供了一種可以部署在具有耦合到相鄰路由選擇域的第一和第二邊緣設(shè)備的網(wǎng)絡(luò)邊緣處的快速重路由(FRR)技術(shù)。如果第一邊緣設(shè)備檢測到阻止其與相鄰域通信的節(jié)點(diǎn)或鏈路故障,則第一邊緣設(shè)備(830)將發(fā)往該相鄰域的至少一些數(shù)據(jù)分組重路由到第二邊緣設(shè)備。第二邊緣設(shè)備接收重路由分組,然后將分組轉(zhuǎn)發(fā)(835)到相鄰域。注意,第二邊緣設(shè)備例如在識別出另一域間節(jié)點(diǎn)或鏈路故障時不被允許再次重路由接收到的分組。這樣就避免了網(wǎng)絡(luò)邊緣處的環(huán)路,并且分組相比于現(xiàn)有實(shí)現(xiàn)被更快和更高效地重路由到相鄰路由選擇域。
文檔編號G01R31/08GK101044728SQ200580034502
公開日2007年9月26日 申請日期2005年11月17日 優(yōu)先權(quán)日2004年12月10日
發(fā)明者克拉倫斯·菲爾斯非斯, 斯特凡諾·B·普雷維蒂, 約翰·伽萊恩·斯卡德, 戴維·D·沃德, 讓-菲利普·瓦瑟爾, 吉姆·古伊查德 申請人:思科技術(shù)公司