專利名稱:用于高效確定計算機網絡中可接受的基于鏈路的無環路替代的技術的制作方法
技術領域:
本發明涉及計算機網絡,更具體而言,涉及用于高效確定計算機網絡
中可接受的基于鏈路的無環路替代(loop free alternate, LFA)的技術。
背景技術:
計算機網絡是由通信鏈路和網段互連的地理上分布的節點的集合,通 信鏈路和網段用于在諸如個人計算機和工作站之類的末端節點之間傳輸數 據。許多類型的網絡是可用的,其類型范圍從局域網(LAN)到廣域網
(WAN) 。 LAN —般通過位于同一總的物理位置(例如建筑物或校園) 中的專用私有通信鏈路連接節點。另一方面,WAN—般通過長距離通信 鏈路連接地理上分散的節點,所述長距離通信鏈路例如是公共載波電話 線、光路徑、同步光網絡(SONET)或同步數字體系(SDH)鏈路。因特 網是連接全世界的不同網絡的WAN的一個示例,其提供了各種網絡上的 節點之間的全球通信。節點一般通過根據預定義協議交換離散幀或數據分 組來經由網絡通信,所述預定義協議例如是傳輸控制協議/因特網協議
(TCP/IP)。在這種上下文中,協議由定義節點彼此之間如何交互的一組 規則構成。計算機網絡還可以由諸如路由器之類的中間網絡節點互連,以 擴展每個網絡的有效"大小"。
由于互連的計算機網絡的管理可能證明是繁重的,因此較小的計算機 網絡的群組可以作為路由域或自治系統被維護。自治系統(AS)內的網絡 一般通過傳統的被配置為執行域內路由協議的"域內"路由器耦合在一 起,并且一般受制于一個共同的權力機構。為了提高路由可縮放性,服務 提供商(例如ISP)可以將AS劃分為多個"區域"或"級別"。然而, 可能希望增大能夠交換數據的節點的數目;在這種情況下,執行域間路由 協議的域間路由器被用于互連各種AS的節點。而且,可能希望互連工作在不同管理域下的各種AS。這里所用的AS、區域或級別通常被稱為
"域",并且互連不同域的路由器通常被稱為"邊界路由器"。
特別地,服務提供商經常被配置為例如跨越域或服務提供商的網絡將 流量從一個或多個源客戶傳遞到一個或多個目的地客戶。具體而言,網絡 "邊緣"設備(例如,邊界路由器)可以接收來自外部網絡(例如,客 戶)的數據分組,該數據分組要被轉發到一般互連到不同的網絡邊緣設備 的外部網絡目的地(例如,客戶)。通常,網絡邊緣設備可以通過服務提 供商的網絡內的一個或多個網絡"核心"設備互連,以發送該"外部網絡 流量"(或"客戶流量")。這里所用的網絡邊緣設備是作為外部網絡流 量的末端點的網絡設備,即,外部網絡流量可以在網絡邊緣設備處進入或 離開提供商網絡。或者,網絡核心設備是非外部網絡流量末端點的網絡設 備,并且通常僅用于網絡邊緣設備之間的外部網絡流量的內部中轉。
域間路由協議的一個示例是邊界網關協議版本4 (BGP),其通過在 系統的鄰居域間路由器之間交換路由和可達性信息來執行域(AS)間的路 由。相鄰(adjacency)是一種在選定的鄰居(對等)路由器之間形成的關 系,其目的是交換路由信息消息并抽象網絡拓撲。由BGP對等路由器交換 的路由信息一般包括目的地地址前綴,即,由路由協議用來進行路由
("下一跳")判決的目的地地址的那些部分。這種目的地地址的示例包 括IP版本4 (IPv4)和版本6 (IPv6)地址。BGP通常工作在諸如TCP之 類的可靠的傳輸協議上,以建立TCP連接/會話。BGP協議是公知的,并 且在1995年3月公布的題為"^ 5oWw Gatewfl少/Votoco/ 4 的注 釋請求(RFC) 1771中有一般描述。
域內路由協議或內部網關協議(IGP)的示例是開放最短路徑優先
(OSPF)路由協議和中間系統到中間系統(IS-IS)路由協議。OSPF和 IS-IS協議是基于鏈路狀態技術的,并且因此被統稱為鏈路狀態路由協議。 鏈路狀態協議定義了路由信息和網絡拓撲信息被在域內交換和處理的方 式。該信息通常涉及域內路由器的本地狀態(例如,路由器的可用接口和 可達鄰居或相鄰情況)。OSPF協議在1998年4月的題為"OS尸FFem'o" 2"的RFC 2328中有所描述,并且用在IP上下文中的IS-IS協議在1990年12月的題為"Ose o/ OS7 /or rOV/尸aw/ Z)t/a/
五"vz'/wzw朋to"的RFC 1195中有所描述,這兩篇RFC都通過引用結合于 此。
中間網絡節點經常將其路由信息存儲在由路由信息庫(RIB)維護和 管理的路由表中。路由表是一種可搜索數據結構,其中網絡地址被映射到 其關聯路由信息。然而,本領域技術人員將理解,路由表不需要被組織為 表,可替換地也可以是另一類型的可搜索數據結構。盡管中間網絡節點的 路由表可以被配置具有預定的一組路由信息,但是該節點也可以在其發送 和接收數據分組時動態獲取("學習")網絡路由信息。當在中間網絡節 點處接收到分組時,分組的目的地地址可以用于標識包含與接收的分組相 關聯的路由信息的路由表條目。除此之外,分組的路由信息還指示分組的 下一跳地址。
為了確保其路由表包含最新路由信息,中間網絡節點可以與其他中間 節點協同以散布代表當前網絡拓撲的路由信息。例如,假定中間網絡節點 檢測到其鄰居節點(即,相鄰網絡節點)之一變得不可用,例如由于鏈路 故障或鄰居節點"離線"等等。在這種情形下,中間網絡節點可以更新存 儲在其路由表中的路由信息,以確保數據分組不被路由到不可用的網絡節 點。此外,中間節點還可以將該網絡拓撲的改變傳達給其他中間網絡節點 以使得它們可以更新它們的本地路由表并繞開不可用節點。以這種方式, 每個中間網絡節點都"知道"拓撲的改變。
一般來說,路由信息是根據預定的網絡通信協議,例如鏈路狀態協議 (例如,IS-IS或OSPF)在中間網絡節點之間散布的。傳統的鏈路狀態協 議使用鏈路狀態通告或鏈路狀態分組(或"IGP通告")來在互連的中間 網絡節點(IGP節點)之間交換路由信息。這里所用的IGP通告通常描述 IGP路由協議用來在互連的IGP節點(即,路由器和交換機)之間傳輸路 由信息的任何消息。在操作中,第一IGP節點可以生成IGP通告,并通過 其每個耦合到其他IGP節點的網絡接口 "洪泛"(flood)(即,發送)分 組。其后,第二IGP節點可以接收被洪泛的IGP通告,并基于包含在接收 的IGP通告中的路由信息來更新其路由表。接下來,第二IGP節點可以通過其每個網絡接口洪泛接收的IGP通告,但是接收到IGP通告的接口除 外。該洪泛過程可以重復,直到每個互連的IGP節點都已接收到IGP通告 并更新其本地路由表為止。
在實踐中,每個IGP節點一般生成并散布這樣的IGP通告,該IGP通 告的路由信息包括中間節點的鄰居網絡節點的列表以及與每個鄰居相關聯 的一個或多個"成本"值。這里所用的與鄰居節點相關聯的成本值是用于 確定與該節點進行通信的相對難易程度的任意度量。例如,成本值可以按 照到達鄰居節點所需的跳數、分組到達鄰居節點的平均時間、稱合到鄰居 節點的網絡鏈路上的可用帶寬或網絡流量的量等等方面進行測量。
注意,IGP通告通常被洪泛,直到每個中間網絡IGP節點已經從每個 其他互連的中間節點接收到IGP通告為止,該IGP通告可被存儲在鏈路狀 態數據庫(LSDB)中。然后,每個IGP節點(例如,在鏈路狀態協議 中)可以通過聚集所接收的鄰居節點列表和成本值來構造相同的網絡拓撲 "視圖"。為此,每個IGP節點可以將該接收到的路由信息輸入到"最短 路徑優先"(SPF)計算中,該計算確定將中間節點與每個其他網絡節點 相耦合的最低成本網絡路徑。例如,Dijkstra算法是一種用于執行這種SPF 計算的傳統技術,在1999年9月公布的Radia Perlman的課本 "/ntem "necto朋Secw^^^力'ow"的12.2.4部分中有更詳細的描述,該課 本通過引用結合于此,就好像在這里完全公開一樣。每個IPG節點基于其 SPF計算的結果更新存儲在其本地路由表中的路由信息。更具體而言, RIB更新路由表以將目的地節點與和到達這些節點的最低成本路徑相關聯 的下一跳接口相關,如SPF計算所確定的(特別地,創建"最短路徑樹" 或SPT,本領域技術人員將理解這一點)。
偶爾,網絡元件(例如,節點或鏈路)會發生故障,從而導致將最初 穿過發生故障的網絡元件的流量重定向到繞開故障的其他網絡元件。通 常,該故障的通知通過新網絡拓撲的通告(例如,IGP或BGP通告)被傳 遞到網絡中的節點,并且路由表被相應更新以避免故障。利用例如純IP重 路由來響應于網絡元件故障而重配置網絡可能是費時的。然而,許多恢復 技術可用于在網絡元件故障的情況下提供快速恢復和/或網絡配置,包括"快速重路由"等等,例如IP快速重路由(IP FRR) 。 IP FRR的一個示 例在2006年3月Shand等人的"/尸7 erawte <c/ra/H'"/-Wgwg-*//r-/ramewoA-05.加>"的因特網草案和2006年2月Atlas等人的
"5os7'c 5^eczy cariow TP FaW-丄oo/ ^ee」/temates <<^ra/ -Ze^ Wgvvg-^/AT-wec-^w-M.fcO"的因特網草案中有所描述,這兩篇因特網草 案都通過引用結合于此,就好像在這里完全公開一樣。
IP FRR己被部署來針對網絡元件故障做出保護,其中保護方網絡節點
(protecting network node )確定受保護網絡元件(protected network elements)的"無環路替代"(LFA)以到達特定目的地。具體而言,傳 統的LFA通常可以被定義為替代的下一跳節點(即,非當前/選定的下一 跳節點),或者對到特定目的地的其他受保護網絡元件(例如,鏈路)的 替代,這種替代不會為了到達該目的地而向保護方網絡設備或受保護元件
(例如,節點/鏈路)"環回"(返回)流量。例如,如果鄰居網絡設備己 選擇了保護方網絡設備作為到達目的地的下一跳,則從保護方網絡設備向 該鄰居網絡設備發送流量(例如,在網絡元件故障的情況下)將導致兩個 設備之間形成環路(例如,直到網絡重新收斂以去除發生故障的網絡元件 為止)。然而,通過在受保護網絡元件發生故障時采用LFA,流量可以被 轉移到LFA,以在不采用發生故障的網絡元件且不創建任何環路的情況下 到達目的地。
通常,LFA可以被歸類為"基于鏈路的"LFA和"基于前綴的" LFA。傳統的基于鏈路的LFA技術針對共享從保護方網絡設備的相同下一 跳/接口的所有目的地地址前綴確定備份路由。換句話說,在特定鏈路發生 故障(例如,下一跳節點、接口或鏈路故障)的情況下,所有流量(無論 其目的地地址前綴如何)都可以被轉移到己被確定為不將流量返回到保護 方網絡設備的一個不同的鏈路(即,基于鏈路的LFA)。基于鏈路的LFA 相對容易管理,并且對于許多服務提供商網絡來說是具有吸引力的。然 而,基于鏈路的LFA可能在許多現有的網絡拓撲中是不夠的,這種拓撲經 常包括許多形成環路的機會,其中傳統的基于鏈路的LFA技術可能無法為 受保護鏈路定位LFA。具體而言,許多服務提供商采用它們的"核心"內的"方形"拓撲(即,服務提供商的網絡的一些部分包括網絡核心設 備),這種方形拓撲引起了比其他拓撲更少的LFA,本領域技術人員將理
解這一點。因此,基于鏈路的LFA可能更易于實現,但是同時可能提供有 限的保護覆蓋。
另一方面,傳統的基于前綴的LFA技術可以用于針對每個目的地地址 前綴確定備份路由(即,基于"每前綴"計算LFA)。每個目的地地址前 綴隨后可具有到達目的地的主("選定"或"最優")下一跳,以及基于 前綴的LFA。在網絡元件故障的情況下,其目的地地址前綴否則會采用發 生故障的網絡元件的流量被轉移到該目的地地址前綴的LFA。盡管基于前 綴的LFA可以提供比基于鏈路的LFA更大的保護覆蓋(基于每前綴計 算,本領域技術人員將理解這一點),但是它們可能比基于鏈路的LFA管 理和實現起來更復雜。具體而言,在故障的檢測期間, 一般對于轉發信息 庫(FIB)和轉發表進行實質上的改變,以便實現基于前綴的LFA。艮P, 在故障檢測時,基于前綴的LFA要求每個個體前綴被改變到LFA,從而 創建與改變的前綴數目成比例的性能成本。基于前綴的LFA可以提供更大 的保護覆蓋,但是同時這些實質上的改變可能導致不可接受的性能影響。
因此,仍舊需要一種管理和實現起來相對容易的高效LFA技術。具體 而言,仍舊需要一種LFA技術,該LFA技術相比于傳統的基于鏈路的 LFA擴展了保護覆蓋,同時比基于前綴的LFA有更好的性能和更簡單的 實現方式。
發明內容
本發明涉及一種用于高效確定計算機網絡中可接受的基于鏈路的無環 路替代(LFA)的技術。根據該新穎技術,被配置為保護鏈路("受保護 鏈路")的保護方網絡設備將(例如,與保護方網絡設備相同域的)其他 網絡設備區分為網絡邊緣設備(即,外部網絡流量的末端點)或網絡核心 設備(即,不是外部網絡流量的末端點)。保護方網絡設備隨后可以確定 鄰居網絡設備是否將流量引導向網絡邊緣設備(即,向網絡邊緣設備環 回)。如果否(即,鄰居網絡設備僅僅向網絡核心設備環回),則保護方網絡設備可以確定該鄰居網絡設備是可接受的LFA (例如,對于外部網絡
流量而言)。特別地,去往核心設備的流量仍可以環回,然而,該流量通 常是內部(例如,信令)流量,并且可能不受與外部流量相同的操作約束 (例如,保護)。
根據本發明的一方面,每個網絡設備例如通過手工或動態配置確定它 是網絡邊緣設備還是網絡核心設備。例如,除非另外配置,否則網絡設備
可以通過檢査它們的邊界網關協議(BGP)配置來動態確定它們是否是網 絡邊緣設備。具體而言,在網絡設備具有任何外部(或外在)BGP (eBGP)對等體或者發起BGP路由的情況下,該網絡設備是網絡邊緣設 備(即,外部網絡流量可以開始于或結束于該網絡設備處)。否則,艮P, 在網絡設備不具有任何eBGP對等體或者不發起BGP路由的情況下,該網 絡設備是網絡核心設備(即,外部網絡流量并不開始于或結束于該網絡設 備處)。
根據本發明的另一方面,保護方網絡設備例如通過手工或動態配置 "學習"哪些網絡設備是網絡邊緣設備且哪些是網絡核心設備。作為示 例,網絡的每個網絡設備可以采用內部網關協議(IGP)消息來向每個其 他網絡設備通告其狀態(邊緣或核心)。例如,在IGP消息內可以采用新 穎的標志或擴展字段來傳遞網絡設備的狀態。保護方網絡設備(例如,以 及每個其他網絡設備)將接收的標識網絡邊緣設備和網絡核心設備的信息 例如存儲在鏈路狀態數據庫(LSDB)中。
根據本發明的又一方面,為了確定可接受的LFA,保護方網絡設備針 對保護方網絡設備的受保護鏈路計算傳統的基于鏈路的LFA。如果保護方 網絡設備確定對于受保護鏈路沒有傳統的LFA可用,則保護方網絡設備計 算以鄰居網絡設備為根的最短路徑樹(SPT)。通告檢查SPT的分支,保 護方網絡設備可以確定包含受保護鏈路的特定分支是否也包含超出受保護 鏈路的任何網絡邊緣設備(即,對于外部網絡流量,該鄰居網絡設備是否 將采用受保護鏈路來到達網絡邊緣設備)。如果否(即,受保護鏈路將被 用于僅到達網絡核心設備),則保護方網絡設備可以確定對于受保護鏈路 而言鄰居網絡設備是可接受的LFA,這是因為基本上所有的外部網絡流量都被假定是去往網絡邊緣設備的。
有利地,該新穎技術高效地確定了計算機網絡中可接受的基于鏈路的 LFA。通過區分網絡邊緣設備和網絡核心設備,該新穎技術允許了保護方
網絡設備在傳統的基于鏈路的LFA技術表明不存在LFA時確定可接受的 基于鏈路的LFA。具體而言,該新穎技術定位可能僅環回到網絡核心設備 的可接受的LFA,網絡核心設備不是外部網絡流量的末端點,并且因而是 可忽略的環路的一部分。另外,本發明擴展了針對更多網絡拓撲(即,具 有環路)的傳統的基于鏈路的LFA技術的保護覆蓋。另外,該新穎技術的 動態方面減輕了對麻煩的手工配置的需要。
本發明的以上和其他的優點將通過參考下面結合附圖的描述得以更好 地理解,在附圖中相似的標號指示相同或功能類似的元件,附圖中 圖1是可以根據本發明使用的示例性計算機網絡的示意性框圖; 圖2是可以有利地用于本發明的示例性網絡設備/路由器的示意性框
圖3是可以被路由器發送的示例性IGP通告的示意性框圖; 圖4是圖示可以有利地用于本發明的可變長度字段(TLV)的示意性 框圖5是根據本發明的圖1的計算機網絡中的網絡設備的說明性SPT的 示意性框圖6是圖示根據本發明用于區分網絡邊緣設備和網絡核心設備的過程 的流程圖;以及
圖7是圖示根據本發明用于高效確定可接受的基于鏈路的LFA的過程 的流程圖。
具體實施例方式
圖1是可以有利地用于本發明的示例性計算機網絡100的示意性框 圖。網絡100包括多個互連的網絡節點/設備,例如路由器A-J。路由器可以通過如圖所示的一條或多條鏈路互連,例如通過局域網(LAN)鏈路、 無線LAN等,以形成網絡100。這里所用的連接路由器的鏈路被稱為由鏈 路互連的兩個網絡設備。例如,B可以經由鏈路A-B (或者特別地,鏈路 B-A)從A到達。作為示例,路由器A-D以"全網格"配置互連,其中路 由器A-D中的每一個經由一條鏈路連接到路由器A-D中的另一個(G-J也 是全網格配置)。另外,路由器C-F (和E-H)可以如圖所示按"方形" 或"盒狀"配置互連,本領域技術人員將理解這一點。網絡100可以被配 置為自治系統(域),或者配置為一個或多個區域或級別。特別地,網絡 100可以被配置為互連一個或多個外部/客戶網絡(例如,在路由器A、 B、 I和/或J處)的提供商網絡,如這里所描述的。本領域技術人員將理 解,任何數目的網絡元件(例如設備、路由器、鏈路等)可以用在計算機 網絡100中并且按多種方式互連,并且這里所示出的附圖進行了簡化。
可以利用預定義的網絡通信協議在計算機網絡100的網絡設備之間交 換數據分組,所述預定義的網絡通信協議例如是傳輸控制協議/因特網協議 (TCP/IP)、用戶數據報協議(UDP)、異步傳輸模式(ATM)協議、幀 中繼協議、因特網分組交換(IPX)協議等等。利用預定的"內部"網關 協議(IGP)(例如傳統的距離向量協議或者作為示例的鏈路狀態協 議),通過使用IGP通告(例如,鏈路狀態通告或鏈路狀態分組),可以 在網絡/域100內的路由器之間分發路由信息。另外,利用"外部"網關協 議(例如邊界網關協議(BGP)),可以在整個網絡100 (例如,在啟用 的網絡邊緣設備處)和其他網絡/域(未示出)中交換包含網絡路由信息的 數據分組。
圖2是示例性網絡設備200的示意性框圖,作為示例,網絡設備200 是可以有利地用于本發明的路由器,例如作為網絡邊緣路由器和/或網絡核 心設備。該路由器包括通過系統總線250互連的多個網絡接口 210、處理 器220和存儲器240。網絡接口 210包含機械的、電的和信令電路,用于 通過耦合到網絡100的物理鏈路傳輸數據。網絡接口可以被配置為利用多 種不同的通信協議來與互連的網絡節點發送和/或接收數據,這些通信協議 包括TCP/IP、 UDP、 ATM、 RSVP、同步光網絡(SONET)、無線協議、幀中繼、以太網、光纖分發數據接口 (FDDI)等等。
存儲器240包括可由處理器220和網絡接口 210尋址的多個存儲單 元,用于存儲與本發明相關聯的軟件程序和數據結構。處理器220可包括 適合于執行軟件程序并操作數據結構(例如鏈路狀態數據庫(LSDB) 243)的必要元件或邏輯。路由器操作系統242 (例如,思科系統公司的網 間操作系統或IOSTM)的一部分一般駐留在存儲器240中并由處理器執 行,該操作系統在功能上通過調用支持運行在路由器上的軟件進程和/或服 務的網絡操作等等,來組織路由器。根據本發明,這些軟件進程和/或服務 可包括路由服務247、 IGP服務248、 BGP服務249和無環路替代(LFA) 進程245。本領域技術人員將清楚,其他處理器和存儲器裝置(包括各種 計算機可讀介質)可以用于存儲和執行與這里描述的創造性技術有關的程 序指令。
路由服務247包含由處理器220執行的用于執行由一種或多種路由協 議提供的功能的計算機可執行指令,所述路由協議例如是作為IGP服務 248的IGP (例如,OSPF和IS-IS)、作為BGP服務249的BGP等等。這 些功能可以被配置為管理包含例如用于進行轉發判決的數據的轉發信息數 據庫(未示出)。作為示例,路由服務247可以利用一種或多種路徑計算 技術(例如最短路徑優先等)來計算最短路徑樹(SPT),如上所述,本 領域技術人員將理解這一點。特別地,路由服務247還可以執行與虛擬路 由協議有關的功能,例如維護VRF實例(未示出),本領域技術人員也將 理解這一點。
BGP服務249可以在域之間的啟用BGP的設備200 (即,網絡邊緣設 備A、 B、 I和J)間的網絡可達性信息的通信期間使用,例如通過發送 并分析BGP通告。可操作地,(例如,遠程域的)遠程BGP服務可以建 立與(例如,本地域(網絡100)的)本地BGP服務的BGP會話,并向 本地BGP設備發送所生成的BGP通告。之后,本地BGP設備可以接收所 發送的BGP通告,并基于接收的BGP通告中包含的路由信息來更新其路 由表。注意,本地和遠程域之間(域間)的BGP會話是外部(或外在) BGP (eBGP)會話。本地BGP設備隨后可以將接收的BGP通告發送到本地域的其他BGP設備,直到本地域的每個互連的BGP設備都已接收到 BGP通告并更新了其本地路由表為止。還要注意,域內部(域內)的BGP 會話是內部BGP (iBGP)會話。另外,在自治系統內建立了新的地址前 綴或者在兩個或更多個自治系統之間(例如,在提供商網絡和一個或多個 客戶網絡之間)創建了新的連接的情況下,傳輸改變的更新后的BGP通告 可以在BGP設備之間發送,本領域技術人員將理解這一點。
本地域(網絡100)內網絡拓撲的改變可以利用IGP服務248 (例如 傳統的OSPF和IS-IS鏈路狀態協議)在網絡100內的路由器200之間傳 輸。例如,假定傳輸鏈路發生故障或者與網絡節點相關聯的成本值改變。 一旦路由器之一檢測到網絡狀態的改變,該路由器就可以向網絡中的其他 路由器洪泛傳達該改變的IGP通告/消息。以這種方式,每個路由器最終 "收斂"到相同的網絡拓撲視圖。
圖3圖示了可以由路由器200洪泛的示例性IGP通告300。作為示 例,IGP通告300被示為IS-IS鏈路狀態分組。然而,本領域技術人員將會 理解,根據本發明可以使用其他IGP通告,例如,OSPF鏈路狀態通告, 等等。通告300包括存儲標識消息的特定協議(例如,IS-IS)的值的域內 路由協議鑒別字段302和存儲指示通告的標準頭部的長度的值的長度指示 符字段304。另外,版本/協議ID擴展(ext)字段306可以用于進一步存 儲定義協議的特定版本的值。預留字段308和"R"字段被預留用于協議 的未來使用,ECO和用戶ECO字段314和316也是如此,作為示例,所 有這些字段都會被接收路由器忽略,直到用于未來版本的協議中的解碼為 止。
類型字段310 (和相應的版本字段312)存儲指示所發送的通告300 的類型(和版本)的值,該值可以定義通告內其他類型特定字段322的存 在。例如,通告的類型可以是"Hello"分組、鏈路狀態分組等等,本領域 技術人員將理解這一點。PDU長度字段318存儲指示整個PDU (協議數 據單元,或通告300)的長度的值,該整個PDU包括頭部、類型特定字段 和數據字段。源ID字段320存儲標識生成并最初廣播通告300的路由器 的值。其他類型特定字段322可包括由協議定義的任何數目的字段,例如校
驗和字段、最大區域地址字段等等,本領域技術人員將理解這一點。例
如,序列號字段(未示出)可以存儲指示通告300的相對版本的序列號。 一般來說,對于通告的每一新版本,字段中存儲的序列號例如遞增1。因 此,如果通告300的序列號小于先前接收的(即,由相同通告節點生成 的)通告版本中存儲的序列號,則該通告300被認為是"陳舊的"(無效 的)。因此,路由器200可以被配置為僅存儲和轉發通告的最近版本,例 如,具有最大序列號的版本。剩余生存時間字段(未示出)也可以用于存 儲可用于確定通告300是否有效的值。剩余生存時間值一般被初始化為非 零整數值,通常以秒為單位。剩余生存時間值可以例如每一秒遞減1,直 到剩余生存時間值達到零為止,從而表明通告已變得無效。g卩,存儲或洪 泛通告300的每一路由器200持續地使分組老化,直到剩余生存時間值等 于零為止。本領域技術人員將意識到,可以替換使用其他老化機制,例如 從初始值(例如等于零)起遞增通告剩余生存時間值,直到剩余生存時間 值達到已知的上限為止。
數據部分330包括一個或多個可變長度字段400,每個字段400具有 特定的類型(或代碼)、長度和值(TLV),這將在下面進一步描述。例 如,為了通告網絡拓撲,可以使用一對或多對鄰居節點字段(未示出)和 成本字段(未示出)。鄰居節點字段可以存儲諸如地址之類的值,該值指 示從源ID字段320中標識的中間節點可直接訪問的網絡節點。成本字段 可以存儲例如已由通告節點與在鄰居節點字段中標識的網絡節點相關聯的 值。注意,在其他實施例中,單個鄰居節點可以與多個成本值相關聯。其 他路由信息也可以被包括在IGP通告300的可變長度字段400中,例如校 驗和值、填充字段、專屬字段等,以及新穎的網絡設備狀態(邊緣/核心) 字段,這將在下面進一步描述。通常,所接收的IGP通告被存儲在路由器 200的LSDB 243中。
具體而言,TLV編碼格式被用于標識正傳輸(傳達)的信息類型 (T)、傳達的信息長度(L)和傳達的實際信息值(V)。長度字段中包 含的長度(L)參數一般是特定于實現方式的,并且可以表示從對象的類型字段的開頭起直到結尾的長度。然而,長度通常表示值(V)字段的長 度,而不是類型(T)或長度(L)字段的長度。
圖4是可以有利地用于本發明的TLV編碼格式400的示意性框圖。根 據本發明,TLV 400可以用于IGP通告300或其他協議消息中包含的可變 長度字段。TLV 400被組織為包括類型字段405和作為可變長度值的長度 字段410,類型字段405包含指示TLV 400中包含的數據類型的預定類型 值。TLV編碼格式400還可包括TLV "有效載荷"(例如,值字段415) 內承載的一個或多個無序子TLV 450,每個子TLV 450具有類型字段 455、長度字段460和值字段465。特別地,在值字段415 (和/或465)內 可以包含其他信息,例如標志字段420中的一個或多個標志。根據本發 明,TLV 400和(一個或多個)子TLV 450的字段以多種方式使用,包括 這里描述的方式。
LFA進程245包含計算機可執行指令,該指令可以由處理器220執行 來執行與傳統LFA技術(例如,基于鏈路的和/或基于前綴的)有關的功 能。具體而言,LFA進程245可以被配置為針對受保護網絡元件確定一個 或多個LFA,如上所述。這里所用的LFA通常可以被定義為替代的下一 跳節點(即,非當前/選定的下一跳節點),或者對到特定目的地的其他受 保護網絡元件(例如,鏈路)的替代,這種替代不會向保護方網絡設備或 受保護元件(例如,節點/鏈路)"環回"(返回)流量。另夕卜,LFA進程 245可以被配置為執行與這里描述的新穎LFA (擴展)技術有關的功能。
本發明涉及一種用于高效確定計算機網絡中可接受的基于鏈路的LFA 的技術。根據該新穎技術,被配置為保護鏈路("受保護鏈路")的保護 方網絡設備將(例如,與保護方網絡設備相同域的)其他網絡設備區分為 網絡邊緣設備(即,外部網絡流量的末端點)或網絡核心設備(即,不是 外部網絡流量的末端點)。保護方網絡設備隨后可以確定鄰居網絡設備是 否將流量導向(即,環向)網絡邊緣設備。如果否(即,鄰居網絡設備僅 環向網絡核心設備),則保護方網絡設備可以確定該鄰居網絡設備是可接 受的LFA (例如,對于外部網絡流量來說)。
根據本發明的一方面,網絡100的每個網絡設備(例如,路由器A-J)例如通過手工或動態配置來確定它是網絡邊緣設備還是網絡核心設備。 例如,除非另外配置,否則網絡設備可以通過檢查它們的BGP配置(例如
通過BGP服務249)來動態確定它們是否是網絡邊緣設備。具體而言,網 絡邊緣設備可以被定義為作為進入和/或離開網絡100的外部網絡流量的末 端點的網絡設備,例如或者從外部源(例如,客戶)接收流量、或者向外 部目的地(例如,客戶)發送流量的網絡設備。可以發送或接收外部流量 的網絡設備通常可被假設為具有與鄰居外部網絡設備(未示出)的一個或 多個eBGP會話。因此,在網絡設備具有任何eBGP對等體的情況下,網 絡設備可以確定它是網絡邊緣設備。例如,每個網絡設備A、 B、 I和J都 具有與外部網絡設備的eBGP會話,如圖l所示,因此,根據本發明可以 確定它是網絡邊緣設備。
作為替換或補充,例如對于多協議標簽交換虛擬專用網(MPLS VPN),網絡設備可以在發起BGP路由的情況下確定它是網絡邊緣設備, 本領域技術人員將理解這一點。MPLS VPN在2006年2月公布的E. Rosen 等人的題為"5G尸/M尸丄5V尸FzWMa/尸n'vflte iV^worfo (T尸A^)"的RFC 4364 中有所描述,該文件通過引用結合于此,就好像在這里完全公開一樣。通 過經由BGP服務249檢査BGP配置,網絡設備可以確定從該設備是否發 起了任何BGP路由,如果是,則網絡設備可以據此推斷它是網絡邊緣設 備。
當它不具有任何eBGP對等體或者未發起BGP路由時,網絡設備可以 確定它是網絡核心設備(即,外部網絡流量不在該網絡設備處開始或結 束)。具體而言,網絡核心設備通常僅用在網絡100的內部,用于將流量 (例如,外部流量)從一個網絡邊緣設備中轉到另一個,并且不發起或終 接外部網絡流量(例如,客戶流量)。作為示例,圖l中的路由器C-H是 核心路由器,因為它們中的每一個都不具有eBGP會話,也未發起任何 BGP路由。
或者,可以執行作為網絡邊緣設備或網絡核心設備的手工配置(例如 由系統管理員進行),或者可以以其他方式在網絡設備處靜態配置。例 如,某些網絡設備可以被特別配置為僅作為一種特定設備(例如,邊緣或核心)工作,并且可以像這樣被預先配置。另外,在網絡100的配置期 間,系統管理員可以確定哪些網絡設備是邊緣設備且哪些是核心設備,并 且可以據此手工地配置這些設備。本領域技術人員將理解用于手工配置設 備的其他原因和方法。特別地,手工配置可以優先于動態配置,也可以不 優先于動態配置。例如,網絡設備(例如,B)可以動態確定它具有與外
部網絡設備的eBGP會話,并且因而它是網絡邊緣設備。然而,系統管理 員可以確定網絡設備B可能沒有接收到任何外部網絡流量(例如,出于其 他原因維持eBGP會話),并且因而可以被配置為"核心"設備。
根據本發明的另一方面,保護方網絡設備(例如,C)(也可能是網 絡100的其他設備)例如通過手工或動態配置獲知哪些網絡設備是網絡邊 緣設備且哪些是網絡核心設備。同樣,手工配置可以由具備網絡拓撲知識 的系統管理員執行,系統管理員可以利用網絡100中每個其他網絡設備的 狀態信息來靜態配置保護方網絡設備(例如,配置為邊緣設備或核心設 備)。
作為示例,對于根據本發明的動態學習,每個網絡設備可以采用IGP 消息/通告300 (例如,在IS-IS中的路由器能力鏈路狀態分組內,或者在 在OSPF中的路由器信息鏈路狀態通告內,本領域技術人員將理解這一 點)來向每個其他網絡設備通告其狀態(邊緣或核心)。具體而言,特定 設備的狀態(尤其是該設備的新添加特性)可以被包含在IGP通告300 內,其方式例如是通過使用一個或多個新穎標志或擴展字段(TLV 400, 例如利用標志字段420)。例如,TLV的特定類型405的值字段415可包 括指定通告方網絡設備是網絡邊緣設備還是網絡核心設備的信息。作為示 例,該信息可以實現在標志字段420內,作為l位指示(例如,核心或邊 緣)、2位指示(例如,核心、邊緣、其他、不能確定等)等等。特別 地,本領域技術人員將理解指定信息/字段的其他實施例,并且這些實施例 在這里描述的本發明的范圍之內。
這些IGP通告300可以在網絡100內的網絡設備之間洪泛(例如,區 域/級別范圍的洪泛),以使得每個網絡設備可以接收到網絡的每個其他網 絡設備的狀態信息。保護方網絡設備(例如,以及每個其他網絡設備)隨后可以例如在LSDB 243中存儲所接收的標識網絡的網絡邊緣設備和網絡 核心設備的信息(作為示例,在圖l中,網絡設備A、 B、 I和J被標識為 網絡邊緣設備,且網絡設備C-H被標識為網絡核心設備)。特別地,根據 本發明存儲的狀態信息可以屬于單個LSDB 243,并因而屬于單個路由區 域/級別,本領域技術人員將理解這一點。
盡管以上描述描述了用于確定網絡設備狀態并學習其他網絡設備狀態 的手工配置(例如,系統管理員配置)或動態配置(例如,在沒有系統管 理員干預的情況下由設備自身執行的配置),但是重要的是注意到以下這 一點,即根據本發明這兩種配置并不是互斥的。換句話說, 一個網絡設備 可以部分被配置為手工或動態配置。例如,并不是網絡100的所有網絡設 備都必須以相同方式配置。另外,盡管根據本發明的一方面一個特定網絡 設備可以被手工/動態配置,但是根據本發明的另一方面該特定網絡設備可 以不需要被手工/動態配置。另外,根據本發明,為了學習其他網絡設備的 狀態, 一個網絡設備可以手工配置某些網絡設備的狀態,同時動態學習其 他網絡設備的狀態。本領域技術人員將意識到其他手工和動態配置的組 合,并且這些組合據此可以用于本發明。
根據本發明的又一方面,為了確定可接受的LFA,保護方網絡設備 (例如,網絡設備C)針對保護方網絡設備的受保護鏈路(例如,鏈路C-E)計算傳統的基于鏈路的LFA。示例性的傳統LFA技術在以上引用的 Atlas等人的題為 "5as7'c 5^eczy c加'ow々r /P FaW-7 erowte.'丄oo/ -戶ee ^tema^"的因特網草案中有所描述。簡要地說,保護方網絡設備確定除 了在受保護鏈路的另一端的受保護網絡設備之外的其鄰居網絡設備中的任 何一個(例如,鄰居網絡設備A、 B或D)是否將繞開受保護元件(例 如,鏈路C-E和/或網絡設備E)。例如,假定圖1中網絡100的每條鏈路 具有相等的成本。本領域技術人員將理解,如果朝向下游的網絡設備G的 流量將被從保護方網絡設備C重定向到鄰居網絡設備A或B,則這兩個鄰 居網絡設備將會根據它們的本地SPT將流量返回(環回)給保護方網絡設 備(例如,通過受保護元件的最短路徑是三跳)。另外,鄰居網絡設備D 可以環回也可以不環回流量(例如,從D到G的所有路徑都是三跳),因此保護方網絡設備在傳統上不能推斷出D不能環回流量(如圖l所示,標
注為"C:D:C")。
如果保護方網絡設備C確定對于受保護鏈路沒有傳統的LFA可用 (如上所述),則保護方網絡設備計算以(例如,非LFA)鄰居網絡設備 (例如,每個非LFA鄰居網絡設備A、 B和D)為根的SPT。作為示例, 圖5是根據本發明圖1的計算機網絡100中的鄰居網絡設備(例如,D) 的說明性SPT 500的示意性框圖。SPT 500可以利用諸如SPF計算等之類 的已知技術計算,并且可以被保護方網絡設備用來確定被鄰居網絡節點用 于到達網絡100內的各種目的地的路徑。
通過檢查SPT 500的分支,保護方網絡設備C可以確定包含受保護鏈 路的特定分支是否也包含超出受保護鏈路以外的任何網絡邊緣設備。例 如,受保護鏈路C-E被包含在SPT分支D-C-E-G上,本領域技術人員將 理解這一點。通過將分支的網絡設備(特別地,是超出受保護鏈路的網絡 設備,因此是設備E和G)與上述學習到的狀態信息(例如,其存儲在 LSDB 243中)相比較,保護方網絡設備可以確定網絡設備中的任何一個 是否是網絡邊緣設備。如以上所確定的(從圖5中可見),網絡設備E和 G都是網絡核心設備,并且因而不是任何外部流量(例如,客戶流量)的 末端點。具體而言,網絡的網絡邊緣設備(例如,網絡邊緣設備A、 B、 I 和J)各自位于SPT的一條分支上,該分支并不包括受保護元件(例如, 鏈路C-E)。因此,保護方網絡設備C可以確定,對于外部網絡流量,鄰 居網絡設備D將不能利用受保護鏈路C-E來到達網絡邊緣設備,并且因而 不會將外部流量環回到受保護鏈路C-E。
如果非LFA鄰居網絡設備D不采用受保護元件(鏈路C-E)來到達任 何網絡邊緣設備,則保護方網絡設備C可以確定該鄰居網絡設備對于受保 護元件(鏈路C-E)來說是可接受的LFA。具體而言,可以假定基本上穿 越網絡100的所有外部流量(客戶流量)都僅僅以網絡邊緣設備為目的 地。也就是說,在這里描述的說明性示例中,提供商網絡通常既不是外部/ 客戶流量的源,也不是其目的地,并且用作兩個或更多個客戶網絡設備之 間的中轉連接。因此,網絡100中的大多數流量都是去往網絡邊緣設備之一的外部流量。結果,基本上被重定向到可接受的LFA的所有流量都將不
會環回到受保護元件,因為受保護元件僅僅被可接受的LFA用于非外部/ 客戶流量。例如,如果可接受LFA鄰居網絡設備D接收到來自保護方網 絡設備C的重定向流量,則基本上很有可能流量將被轉發到網絡邊緣設備 A、 B、 I或J。盡管鄰居網絡設備D可能具有到受保護元件(鏈路C-E) 的一個或多個環路,但是這些環路僅僅是去往網絡核心設備(E和G) 的。因而,受到環路影響的流量僅僅是去往網絡核心設備的流量,這種流 量最有可能不是外部流量(例如,管理流量、更新、連通性協議消息 等),本領域技術人員將理解這一點。該"內部流量"通常不受與外部流 量相同的操作約束,并且因而根據本發明不會為了確定可接受的LFA而被 認為是創建了 "不可接受環路"。
可接受的LFA被保護方網絡設備C以與傳統LFA相同的方式使用, 如這里所描述的,本領域技術人員將理解這一點。然而,在對于保護方網 絡設備C來說沒有可用的可接受的LFA的情況下,保護方網絡設備可以 向系統管理員返回錯誤,或者簡單地不能保護受保護元件。特別地,盡管 作為示例以上確定可接受的LFA的技術已經被描述為保護方網絡設備內的 動態過程,但是本發明也可以被除了實際的保護方網絡設備之外的網絡設 備(例如,管理設備)所采用,或者被系統管理員的手工確定和配置所采 用。
圖6是圖示根據本發明用于區分網絡邊緣設備和網絡核心設備的過程 的流程圖。過程600開始于步驟605,并且繼續到步驟610,此時網絡設 備(A-J)可以被手工或動態配置為網絡邊緣設備或網絡核心設備。如果 手工配置,則網絡設備在步驟615中被手工配置為網絡邊緣設備或網絡核 心設備,如上所述。如果在步驟610中網絡設備要被動態配置,則在步驟 620中網絡設備檢查其本地BGP配置(例如,在BGP服務249中)。在 步驟625中網絡設備具有任何eBGP對等體或者發起了任何BGP路由的情 況下,在步驟630中網絡設備確定它是網絡邊緣設備。另一方面,如果在 步驟625中網絡設備不具有任何eBGP對等體或者未發起任何BGP路由, 則在步驟635中網絡設備確定它是網絡核心設備。在步驟640,網絡設備可以手工或動態更新/存儲其他網絡設備的狀態
(即,邊緣或核心)。如果手工配置,則網絡設備在步驟645中手工配置 網絡100中其他網絡設備的狀態,并在步驟660中將其存儲在例如LSDB 243中。如果在步驟640網絡設備被配置為更新/存儲狀態,則網絡設備可 以在步驟650中在網絡中通告其各自的邊緣/核心狀態,這例如是通過IGP 通告300來進行的。由于在步驟655中網絡設備接收到網絡中其他網絡設 備的通告狀態,因此在步驟660中這些狀態被存儲。過程600在步驟695 中結束,這時已確定并獲知了網絡設備的狀態(邊緣或核心)。特別地, 盡管以上描述提到了手工或動態配置,但是這兩種配置并不是互斥的,一 個網絡設備可以被部分配置為手工或動態配置,如上所述。
圖7是圖示根據本發明用于高效確定可接受的基于鏈路的LFA的過程 的流程圖。過程700開始于步驟705,并且繼續到步驟710,此時保護方 網絡設備(例如,網絡設備C)針對受保護鏈路(例如,鏈路C-E)計算 傳統的基于鏈路的LFA。如果在步驟715中找到傳統的LFA,則在步驟 720中選擇LFA,并且過程在步驟795中結束。然而,如果在步驟715中 未找到傳統的基于鏈路的LFA,則保護方網絡設備在步驟725中計算以非 LFA鄰居網絡設備(例如,鄰居網絡設備D)為根的SPT。通過在步驟 730中檢查受保護鏈路的SPT的分支(D-C-E-G,如上所述),保護方網 絡節點可以在步驟735中確定該分支是否包含(例如,通向)超出受保護 鏈路之外的任何網絡邊緣設備,其方式例如是通過將該分支的網絡設備與 LSDB 243中存儲的狀態相比較(例如,參見圖6)。如果在步驟740沿著 受保護鏈路的分支沒有網絡邊緣設備,則在步驟745中鄰居網絡設備
(D)被確定為可接受的LFA,如上所述。隨后在步驟720中可接受LFA 鄰居網絡設備可以被選擇為LFA,并且該過程在步驟795中結束。另一方 面,如果在步驟740中在受保護鏈路的分支上存在至少一個網絡邊緣設 備,則在步驟750中鄰居網絡設備被確定為不是可接受的LFA。如果在步 驟755中其他的非LFA鄰居網絡設備可用于保護方網絡設備,則過程700 返回到步驟725以計算以可用鄰居為根的另一 SPT。否則,LFA選擇在步 驟760中失敗,并且過程700在步驟795中結束(例如,在錯誤之后等等,如上所述)。
有利地,該新穎技術高效地確定了計算機網絡中可接受的基于鏈路的
LFA。通過區分網絡邊緣設備和網絡核心設備,該新穎技術允許了保護方 網絡設備在傳統的基于鏈路的LFA技術表明不存在LFA時確定可接受的 基于鏈路的LFA。具體而言,該新穎技術定位可能僅環回到網絡核心設備 的可接受的LFA,網絡核心設備不是外部網絡流量的末端點,并且因而是 可忽略的環路的一部分。另外,本發明擴展了針對更多網絡拓撲(即,具 有環路)的傳統的基于鏈路的LFA技術的保護覆蓋。另外,該新穎技術的 動態方面減輕了對麻煩的手工配置的需要。
盡管已示出并描述了高效確定計算機網絡中可接受的基于鏈路的LFA 的說明性實施例,但是將會理解,在本發明的精神和范圍內可以進行各種 其他的適應和修改。例如,這里將本發明示出和描述為用于以方形(盒 狀)拓撲布置的網絡設備。然而,本發明在其更廣泛的意義上并不限于 此,而是實際上可以用于其他的非無環路拓撲,本領域技術人員將理解這 一點。另外,盡管以上描述描述了采用IGP通告300來傳遞網絡設備狀 態,但是本領域技術人員將會理解,根據本發明也可采用其他的通信手 段,例如被設計用于發送信息的特定協議。
另外,盡管作為示例以上描述采用了具有網絡核心和邊緣設備的提供 商網絡(本領域技術人員將理解這一點),但是本發明也可以被應用于其 他網絡配置。例如,網絡邊緣設備可以是連接到一個或多個目的地網絡設 備(例如,末端站、服務器等)的網絡設備,而網絡核心設備可以是不連 接到任何目的地網絡設備的網絡設備(例如,僅向其他路由器發送流量的 路由器)。換句話說,據此可以基于通過受保護元件環回的SPT分支是否 將被用于到達目的地網絡設備來確定可接受的LFA。
前述描述涉及本發明的特定實施例。然而,應當清楚,可以對所描述 的實施例進行其他變化和修改,且獲得某些或全部其優點。例如,明確地 提出本發明的教導可以實現為軟件(包括具有運行在計算機上的程序指令 的計算機可讀介質)、硬件、固件或其組合。另外,可以生成電磁信號來 通過例如無線數據鏈路或數據網絡(例如因特網)承載實現本發明的某些方面的計算機可執行指令。因此,該描述只能被認為是示例性的,而不是 以任何方式限制本發明的范圍。因此,權利要求的目的是覆蓋在本發明的 真實精神和范圍內的所有這些變化和修改。
權利要求
1. 一種用于高效確定計算機網絡中可接受的基于鏈路的無環路替代(LFA)的網絡設備,該網絡設備包括一個或多個網絡接口;耦合到所述一個或多個網絡接口的處理器,適合于執行軟件進程;以及適合于存儲可由所述處理器執行的LFA進程的存儲器,該LFA進程被配置為i)將所述網絡的一個或多個其他網絡設備區分為網絡邊緣設備或網絡核心設備,ii)確定某一鄰居網絡設備是否向網絡邊緣設備環回,以及iii)如果否,則確定該鄰居網絡設備是可接受的LFA。
2. 如權利要求1所述的網絡設備,其中所述LFA進程還被配置為通過學習來自所述一個或多個其他網絡設備的狀態來將所述網絡的一個或多個其他網絡設備區分為網絡邊緣設備或網絡核心設備(所述網絡設備的狀態)。
3. 如權利要求2所述的網絡設備,其中所述一個或多個網絡接口被配置為從所述一個或多個其他網絡設備接收一個或多個內部網關協議(IGP)通告,所述IGP通告具有所述一個或多個其他網絡設備的狀態信息。
4. 如權利要求3所述的網絡設備,其中所述一個或多個其他網絡設備的狀態信息被包含在所述IGP通告的一個或多個標志內。
5. 如權利要求1所述的網絡設備,其中所述LFA進程還被配置為針對保護方網絡設備的受保護鏈路計算基于鏈路的LFA;確定沒有LFA可用于所述受保護鏈路;以及作為響應,確定所述可接受的LFA。
6. 如權利要求1所述的網絡設備,其中所述LFA進程還被配置為-確定所述鄰居網絡設備是否通過受保護鏈路環回到達任何網絡邊緣設備;以及如果否,則確定所述鄰居網絡設備是可接受的LFA。
7. 如權利要求6所述的網絡設備,其中所述LFA進程還被配置為計算以所述鄰居網絡設備為根的最短路徑樹(SPT),所述SPT具有一個或多個分支;檢查具有所述受保護鏈路的所述SPT的分支;確定在具有所述受保護鏈路的所述SPT的分支上是否有超出所述受保護鏈路的任何網絡邊緣設備;以及如果是,則確定所述鄰居網絡設備環回到網絡邊緣設備。
8. 如權利要求1所述的網絡設備,其中所述可接受的LFA環回到所述網絡的網絡核心設備。
9. 如權利要求1所述的網絡設備,其中所述LFA進程還被配置為檢測所述受保護鏈路的故障;以及將來自所述受保護鏈路的流量重定向到所述可接受的LFA,其中基本上所有被重定向的流量都是去往所述網絡的網絡邊緣設備的外部網絡流
10. —種用于高效確定計算機網絡中可接受的基于鏈路的無環路替代(LFA)的方法,該方法包括將所述網絡的一個或多個其他網絡設備區分為網絡邊緣設備或網絡核心設備;確定某一鄰居網絡設備是否向網絡邊緣設備環回;以及如果否,則確定該鄰居網絡設備是可接受的LFA。
11. 一種用于高效確定計算機網絡中可接受的基于鏈路的無環路替代(LFA)的裝置,該裝置包括用于將所述網絡的一個或多個其他網絡設備區分為網絡邊緣設備或網絡核心設備的裝置;用于確定某一鄰居網絡設備是否向網絡邊緣設備環回的裝置;以及用于在否定結果情況下確定該鄰居網絡設備是可接受的LFA的裝置。
12. —種用于高效確定計算機網絡中可接受的基于鏈路的無環路替代(LFA)的系統,該系統包括適合于作為網絡邊緣設備或網絡核心設備之一工作的多個網絡設備;以及保護方網絡設備,被配置為i)在所述多個網絡設備的網絡邊緣設備和網絡核心設備之間進行區分,ii)確定所述保護方網絡設備的某一鄰居網絡設備是否向網絡邊緣設備環回,以及iii)如果否,則確定該鄰居網絡設備是可接受的LFA。
13. 如權利要求12所述的系統,其中所述多個網絡設備中的至少一個被配置為確定該網絡設備是網絡邊緣設備還是網絡核心設備。
14. 如權利要求13所述的系統,其中該至少一個網絡設備被配置為通過檢査本地邊界網關協議(BGP)配置來確定該網絡設備是網絡邊緣設備還是網絡核心設備。
15. 如權利要求14所述的系統,其中該至少一個網絡設備被配置為確定所述BGP配置是否指示至少一個外部BGP (eBGP)會話;以及如果是,則確定該網絡設備是網絡邊緣設備。
16. 如權利要求14所述的系統,其中該至少一個網絡設備被配置為確定所述BGP配置是否指示至少一個發起的BGP路由;以及如果是,則確定該網絡設備是網絡邊緣設備。
17. 如權利要求14所述的系統,其中該至少一個網絡設備被配置為確定所述BGP配置是否指示至少一個外部BGP (eBGP)會話或至少一個發起的BGP路由中的至少一種;如果是,則確定該網絡設備是網絡邊緣設備;以及如果否,則確定該網絡設備是網絡核心設備。
18. —種用于高效確定計算機網絡中可接受的基于鏈路的無環路替代(LFA)的網絡設備,該網絡設備包括一個或多個網絡接口;耦合到所述一個或多個網絡接口的處理器,適合于執行軟件進程;以及適合于存儲可由所述處理器執行的無環路替代(LFA)進程的存儲器,該LFA進程被配置為i)針對所述網絡設備的受保護鏈路計算傳統 的基于鏈路的LFA, ii)確定沒有傳統的LFA可用于所述受保護鏈路, iii)作為響應,計算以某一鄰居網絡設備為根的最短路徑樹(SPT),所 述SPT具有一個或多個分支,iv)確定包含所述受保護鏈路的所述SPT的 特定分支是否包含超出所述受保護鏈路的任何網絡邊緣設備,以及v)如 果否,則確定所述鄰居網絡設備對于所述受保護鏈路來說是可接受的 LFA。
19. 一種用于高效確定計算機網絡中可接受的基于鏈路的無環路替代 (LFA)的方法,該方法包括針對保護方網絡設備的受保護鏈路計算傳統的基于鏈路的LFA; 確定沒有傳統的LFA可用于所述受保護鏈路;作為響應,計算以某一鄰居網絡設備為根的最短路徑樹(SPT),所 述SPT具有一個或多個分支;確定包含所述受保護鏈路的所述SPT的特定分支是否包含超出所述受 保護鏈路的任何網絡邊緣設備;以及如果否,則確定所述鄰居網絡設備對于所述受保護鏈路來說是可接受 的LFA。
全文摘要
本發明公開了一種用于高效確定計算機網絡中可接受的基于鏈路的無環路替代(LFA)的技術。根據該新穎技術,被配置為保護鏈路(“受保護鏈路”)的保護方網絡設備將(例如,與保護方網絡設備相同域的)其他網絡設備區分為網絡邊緣設備(即,外部網絡流量的末端點)或網絡核心設備(即,不是外部網絡流量的末端點)。保護方網絡設備隨后可以確定鄰居網絡設備是否向網絡邊緣設備環回。如果否,則保護方網絡設備可以確定該鄰居網絡設備是可接受的LFA(例如,對于外部網絡流量而言)。特別地,去往核心設備的流量仍可以環回,然而,該流量通常是內部(例如,信令)流量,并且可能不受與外部流量相同的操作約束(例如,保護)。
文檔編號H04L12/56GK101485160SQ200780025055
公開日2009年7月15日 申請日期2007年7月3日 優先權日2006年7月5日
發明者拉斐爾·吉甘蒂諾, 斯特凡諾·B·普雷維蒂 申請人:思科技術公司