專利名稱:區分鏈路與節點故障以幫助快速重路由的制作方法
技術領域:
本發明涉及數據網絡,更具體地,涉及用于繞過故障鏈路和/或故障節點的重路由的系統和方法。
因特網和IP網絡已經普遍地變為大范圍的商務、政務以及個人活動的關鍵使能者。作為一般信息用具、商務通信工具、娛樂源以及作為傳統電話網絡和廣播媒體的替代物,人們正在越來越依靠因特網。當因特網擴大其角色時,用戶也變得越來越多依賴無中斷的訪問。
為了確保在網絡鏈路或節點出現故障的情況下迅速恢復,已經開發了所謂的“快速重路由”技術。在使用快速重路由的網絡中,流過故障鏈路或節點的流量被路由通過一個或多個預先配置的備份隧道。受影響的流量的重定向非常迅速地發生,以最小化對用戶感受的影響,這種重定向通常在幾十個毫秒之內。
這些快速重路由技術是在多協議標簽交換(MPLS)流量工程的環境下被開發的,其中流量流過標簽交換路徑(LSP)。通常,配置整個網絡使得流量流過有保障帶寬的端到端“主”LSP。也可以在非流量工程網絡中建立短的主LSP,這只是為了利用快速重路由技術(見上面引用的題為“MPLS Reroute Without Full Mesh Traffic Engineering”的專利申請)的優點。
在這兩種情形中,當發生鏈路或節點故障時,受故障影響的流量被重路由到預先配置的備份隧道。這些備份隧道只被使用很短的一段時間,因為在重路由通過備份隧道同時,所有受影響的主LSP的前端(head end)被通知了故障。這導致前端繞過故障重路由主LSP,使得不再需要備份隧道。通常假設在這樣短的時間內發生多個故障的概率很小,所以每個故障可以被認為是獨立的。
在獨立故障假設下,可用于備份隧道的鏈路帶寬可以在保護不同鏈路或節點的備份隧道之間被共享。在美國專利申請No.10/038,259中公開的技術使用了這一假設來使得可用備份帶寬能夠在要被保護的鏈路或節點之間被共享,同時確保在快速重路由狀況期間能持續滿足有保障帶寬的需求。另一方面,如果不利用獨立故障假設,則在故障恢復期間很難在有效使用帶寬資源的同時確保有保障帶寬。
當前可用于故障檢測的機制并不總是使得能夠將鏈路故障與節點故障區分開。例如,網絡節點可能失去經由特定鏈路的通信,而不知道是只有鏈路本身發生了故障還是該鏈路所連接的節點發生了故障。這種不確定性可能使得網絡當在實際上只有單個故障發生時,試圖重路由繞過同時發生的故障。同時發生的故障的組合備份帶寬需求可能超過某些鏈路上的可用備份帶寬,導致違反了帶寬保障,并且用戶可能感覺到惡化的服務。
理論上,通過集中確定備份隧道使得不可能有這樣的沖突,可以校正這種不確定性。但是,在備份隧道布置上設置這種限制導致了可用帶寬的使用效率低。另外,計算備份隧道的正確布置也將變得更加復雜和計算密集。
另外,人們更愿意以分布方式計算備份隧道而不是集中方式。如果備份隧道計算將以橫跨網絡的分布方式完成,則由于需要在節點間發送大量備份隧道信息的信號,任務實際上變得不可能。如果可以區分鏈路故障和節點故障,則獨立故障假設的正確性將得到加強,根據美國專利申請10/038,259中公開的技術,這將使得備份隧道能夠以分布方式計算并且容易地以零帶寬發送備份隧道信號,而不危害帶寬保障。
需要用于判斷是鏈路還是該鏈路連接到的鄰近節點發生了故障的系統和方法。
發明內容
依靠本發明的一個實施例,提供了用于區分節點故障與鏈路故障的系統和方法。通過加強獨立故障假設,促進保護網絡鏈路和節點的備份隧道之間共享的帶寬以及備份隧道布置的分布式計算。這樣,覆蓋網絡的備份隧道能夠在發生故障時提供有保障帶寬。
本發明的一個方面提供了一種操作選定節點以區分連接到選定節點的鏈路故障與通過該鏈路連接到選定節點的鄰近節點故障的方法。該方法包括預先配置從選定節點到鄰近節點的替代路徑,該替代路徑不包括該鏈路,以及一旦檢測到經由該鏈路的通信故障,則使用替代路徑來檢驗鄰近節點的工作。
通過參考本說明書的其余部分及所附附圖,可以在此進一步理解本發明的本質和優點。
圖1描述了根據本發明一個實施例的網絡設備。
圖2描述了對說明本發明實施例有用的網絡配置。
圖3是描述根據本發明一個實施例區分鏈路故障與節點故障的步驟的流程圖。
具體實施例方式
將參考使用具體代表性的協議組合來通過網絡移動數據的代表性網絡環境描述本發明。圖2描述了在這樣的環境中的網絡節點的具體配置。網絡節點通過鏈路互連,這些鏈路可以使用諸如光學介質、無線介質、雙絞線等的任何類型物理介質來實現。
在一個實施例中,圖2的節點按照由各種協議規定的方式協同工作,這些協議例如包括本領域公知的TCP/IP、諸如鏈路管理協議(LMP)之類的合適的鏈路層協議,以及由下列文檔定義的協議E.Rosen等,“Multiprotocol Label Switching Architecture”,RFC 3031,Internet Engineering Task Force,2001年1月。
Braden等,“Resource ReSerVation Protocol(RSVP)-Version 1 FunctionalSpecification”,RFC 2205,Internet Engineering Task Force,1997年9月。
Awduche等,“Requirements for Traffic Engineering Over MPLS”,RFC2702,Internet Engineering Task Force,1999年9月。
Ashwood-Smith等,“Generalized MPLS Signaling-RSVP-TE Extensions”,Internet Draft,Internet Engineering Task Force,2001年10月。
Pan等,“Fast Reroute Techniques in RSVP-TE”,Internet Draft,InternetEngineering Task Force,2001年10月。
這里為了所有目的通過引用結合了上述文檔中的全部內容。
在一個實施例中,圖2的節點是IP路由器,它們實現多協議標簽交換(MPLS),并且實質上運行為標簽交換路由器(LSR)。圖2的節點還可以實現MPLS流量工程(MPLS TE)和/或差分業務自感應(Diffserv-Aware)流量工程。流量流過被配置為提供有保障帶寬、等待時間、抖動等的端到端LSP。但是,這種類型的環境僅僅是代表性的。本發明的實施例可以被應用,而不論網絡上承載的流量特性如何。
當使用MPLS TE的網絡中的給定LSP經歷節點或鏈路故障時,前端,即入口處,將建立新的LSP作為替代者。但是,該過程需要的時間遠長于理想時間。因此,提供局部快速重路由能力,使得當節點或鏈路發生故障時,正在在前端建立新的端到端LSP的同時,LSP被臨時重路由繞過故障鏈路或節點。
每一鏈路(雙向鏈路被當作具有同樣端點的兩個鏈路)被一個或多個備份隧道保護,備份隧道不包括該被保護的鏈路。一個備份隧道或多個備份隧道也可以共同保護共享風險鏈路組(SRLG),即,被預期會經歷同時發生的故障的一組鏈路,例如因為它們共享一條公共光纖。每一節點被一個或多個備份隧道保護,備份隧道不包括該被保護的節點。
為了確保在快速重路由情形期間繼續滿足帶寬保障,備份隧道優選地被配置有足夠的帶寬,以支持所有通過被保護的鏈路、SRLG或節點的主流量。這是不實際的,除非假設故障不會同時發生并且由此備份隧道的可用帶寬可以在被保護單元之間被共享。但是,在該假設下,假如保護任何一個單元的備份隧道不占用多于可用備份帶寬的備份帶寬,則備份帶寬可以得到保障。在美國申請No.10/080,956、美國申請No.10/038,259和美國申請No.10/052,665中公開了配置和放置備份隧道的進一步的細節。
通過預期的RSVP(資源預留協議)Hello消息的缺失可以檢測到鄰近節點的故障。通過例如從物理層和/或鏈路層報告的警報情形可以檢測到鏈路故障。當節點發生故障時,它可能使得或者不使得其連接的鏈路垮掉。如果鏈路發生了故障,則該鏈路連接的節點將檢測到鏈路故障,但是可能不會認識到在故障鏈路另一端的鄰近節點可能發生了故障。
為了維持獨立故障假設,理想的是當鏈路或SRLG發生故障時,流量通過保護該鏈路或SRLG的(一個或多個)備份隧道被重路由;而當節點發生故障時,流量通過保護該節點的(一個或多個)備份隧道被重路由。但是,為了這樣做,必須正確區分鏈路故障和節點故障。但是,沒有公知的現有技術機制使得能夠在所有情況下區分不同種類的故障。具體地說,如果檢測到鏈路故障,目前在大多數情況中不能判定只是該鏈路發生了故障,還是該鏈路另一端上的節點發生故障并且又引起其相鄰鏈路的故障。結果,當前的設備同時調用被建立用于保護鏈路的備份隧道以及被計算用于保護節點的備份隧道。如果在出現故障時期望帶寬保障,則這種同時的調用可能導致喪失帶寬保障。
參考圖2將描述類似現象的另一示例。假設從節點K通過節點J流到節點I的流量具有總共1Mbps的帶寬需求。假設從節點M到節點N的鏈路只有1Mbps的可用備份帶寬,并且全部其他鏈路具有10Mbps帶寬可用于保護。在節點J和節點K不會同時發生故障的假設下,通過建立包括節點K、M、N和I的備份隧道,可以保護該流量不受節點J的故障的影響(因為路徑K-M-N-I有足夠的帶寬來容納從K流到J又流到I的1Mbps流量)。假設從節點J通過節點K流到節點L的流量也具有1Mbps的總帶寬需求。通過建立包括節點J、M、N和L的備份隧道,可以保護該流量不受節點K的故障的影響,因為路徑J、M、N、L具有足夠的帶寬來容納從J流到K又流到L的1Mbps流量。因為這些隧道的布置假設了節點J和K中一次只會有一個發生故障,所以節點J和K兩者可以被兩個不同備份隧道保護,每一備份隧道分別需要只有1Mbps可用帶寬的鏈路MN上的1Mbps帶寬。
但是,不能可靠區分節點故障和鏈路故障可能導致備份帶寬被超過。考慮這樣的情況其中節點J和K之間的鏈路遭受雙向故障,但是節點J和K保持工作。一旦檢測到鏈路故障,節點J可能就像節點K已經發生故障那樣運轉,并調用上述保護節點K的備份隧道。類似地,節點K可能檢測到另一鏈路方向的鏈路故障,并像節點J已經發生故障那樣運轉,調用上述另一備份隧道。因為即使兩個節點實際上都沒有發生故障,也已經暗中違背了獨立故障假設,所以現在需要兩個備份隧道,這兩個備份隧道共享從節點M到節點N的鏈路,并且超過了可用備份帶寬。
根據本發明的一個實施例,通過在故障發生時準確區分鏈路故障和節點故障,然后為故障元件臨時接入預先配置的備份隧道,可以避免參考圖2所描述的情景。圖3是描述根據本發明一個實施例的區分鏈路故障和節點故障并適當反應的步驟的流程圖。
參考圖3所描述的機制在每一接口處為節點提供替代路徑,用于一旦失去了通過直接鏈路的通信時,嘗試與其鄰近者接觸。在步驟302,預先配置該路徑。步驟302可以作為通常建立備份隧道的相同過程的一部分被執行,可以集中地或以分布方式被執行。對每一雙向鏈路,在鄰近鏈路的節點之間建立兩個這樣的接觸路徑,每一方向一個路徑。
接觸路徑優選地不應該包括直接鏈路、在相同SRLG中的任何鏈路或任何平行于該直接鏈路的鏈路,因為在鄰近節點發生故障的情況中,所有這樣的平行鏈路可能同時發生故障,并且替代接觸路徑將不可用。接觸路徑可以是備份隧道,例如被用來保護節點和鏈路但只需要最小帶寬的備份隧道。一個備份隧道可以為多個鏈路提供替代接觸路徑。優選地,建立具有最小路徑長度的接觸路徑以最小化傳播時間。如果與SRLG中成員有關的信息是可用的,則接觸路徑應該避免在相同SRLG中的所有鏈路。在一個實施例中,保護鏈路的備份隧道還被用來提供用于故障檢測目的的接觸路徑。
在網絡運行期間發生步驟304。在步驟304,節點檢測經由毗鄰鏈路的通信的丟失。可以由鏈路層或物理層警報消息,或由于預期的沿MPLSTE LSP的RSVP Hello交換的丟失而引起這種故障檢測。在缺乏關于是鏈路本身發生故障還是通過該鏈路到達的鄰近節點發生故障的進一步信息時,在步驟306,流量被重定向到保護鏈路的(一個或多個)備份隧道中。如果故障確實是鏈路故障,則這樣做使得恢復時間最短。然后在步驟308,節點嘗試經由為此目的建立的替代路徑與其鄰近者接觸。接觸可以以期望被響應的RSVP Hello消息形式。在步驟310測試接觸是否成功。如果接觸成功,則步驟312判定出節點是工作的并且鏈路發生故障。然后在步驟314,去往鄰近節點的流量通過保護該故障鏈路的(一個或多個)備份隧道繼續被重路由。
如果接觸沒有成功,則步驟316判定出鄰近節點發生故障。在步驟318,先前被移動到保護鏈路的(一個或多個)備份隧道的流量現在被移動到保護鄰近節點的(一個或多個)備份隧道。
如果存在保護故障鏈路的備份隧道也發生了故障的指示(例如,收到路徑錯誤或RSVP通知消息等),則也可以到達步驟316。在這種情況中,因為基于備份隧道故障可以推斷鄰近節點故障,所以接觸嘗試被中斷,并且可以跳過步驟310。
在另一個實施例中,即使在沒有檢測到故障的時候,也通過替代路徑周期性地發送RSVP Hello消息。在這種情況中,可以通過檢查正在進行的交換的狀態執行步驟310。在沿著替代接觸路徑的傳播延時很大的情形中,這可以加速判斷是節點還是鏈路發生了故障。這種經由替代路徑的例行RSVP Hello消息可以補充或替代響應于檢測到的故障的RSVP Hello交換。在期望鏈路故障檢測機制快速反應,并且替代路徑上的傳播延時小的情況中,可以優選地只在檢測到故障時發起經由替代接觸路徑的RSVPHello交換。相對比,如果傳播延時大,則可以優選地依靠例行的RSVPHello交換。
可以看出,通過準確區分鏈路和節點故障,本發明的實施例加強了如下假設快速重路由只需要一次響應單個故障。這樣,在故障條件下可以容易地連續提供有保障帶寬,即使必須準確區分鏈路故障和節點故障。
網絡設備細節圖1描述了可以被用于實現任何所述節點或網絡管理工作站的網絡設備100。在一個實施例中,網絡設備100是可編程機器,其可以以硬件、軟件或它們的任何組合實現。處理器102執行存儲在程序存儲器104中的代碼。程序存儲器104是計算機可讀存儲介質的一個示例。程序存儲器104可以是易失性存儲器。存儲相同代碼的計算機可讀存儲介質的另一形式是某些類型的非易失性存儲器,例如軟盤、CD-ROM、DVD-ROM、硬盤、閃存等。通過網絡攜帶代碼的載波是計算機可讀存儲介質的另一示例。
網絡設備100經由多個網絡接口106與物理介質連接。例如,網絡接口106中的一個可以耦合到光纖,并可以加入合適的物理層和鏈路層功能。網絡接口的其他示例包括以太網接口、DSL接口、千兆比特以太網接口、10千兆比特以太網接口等。通過網絡設備100接收、處理和轉發數據分組時,數據分組可以被存儲在分組存儲器108中。網絡設備100實現上述所有網絡協議及其擴展,以及由本發明提供的數據連網特征。
可以理解,這里所描述的示例和實施例只是用于舉例說明的目的,本領域的技術人員可以想到在其啟示下的各種修改和變更,這些修改和變更將被包括在本申請的精神和范圍之內,并被包括在所附權利要求及等同物的全部范圍之內。
權利要求
1.一種操作選定節點以區分連接到所述選定節點的鏈路故障與通過所述鏈路連接到所述選定節點的鄰近節點故障的方法,所述方法包括預先配置從所述選定節點到所述鄰近節點的替代路徑,所述替代路徑不包括所述鏈路;以及一旦檢測到經由所述鏈路的通信故障,則使用所述替代路徑來檢驗所述鄰近節點的工作。
2.根據權利要求1所述的方法,還包括一旦經由所述替代路徑的通信發生故障,則判定所述鄰近節點已經發生了故障。
3.根據權利要求1所述的方法,還包括一旦經由所述替代路徑成功接觸了所述另一節點,則判定所述另一節點并沒有發生故障。
4.根據權利要求1所述的方法,其中,所述替代路徑包括備份隧道。
5.根據權利要求4所述的方法,其中,所述備份隧道包括多協議標簽交換流量工程備份隧道。
6.根據權利要求4所述的方法,其中,所述備份隧道也保護所述鏈路。
7.根據權利要求1所述的方法,其中,使用所述替代路徑來檢驗所述鄰近節點的工作的步驟包括進行資源預留協議Hello交換。
8.根據權利要求1所述的方法,還包括一旦經由所述替代路徑接觸所述另一節點失敗,則判定所述另一節點已經發生了故障;以及將流量重路由繞過所述另一節點并進入至少一個被配置來保護所述另一節點的備份隧道。
9.根據權利要求1所述的方法,還包括一旦經由所述替代路徑成功接觸了所述另一節點,則判定所述鏈路已經發生了故障;以及將流量重路由繞過所述鏈路并進入至少一個保護所述鏈路的備份隧道。
10.一種用于操作選定節點以區分連接到所述選定節點的鏈路故障與通過所述鏈路連接到所述選定節點的鄰近節點故障的計算機程序產品,所述計算機程序產品包括預先配置從所述選定節點到所述鄰近節點的替代路徑的代碼,所述替代路徑不包括所述鏈路;一旦檢測到經由所述鏈路的通信故障則使用所述替代路徑來檢驗所述鄰近節點的工作的代碼;和存儲所述代碼的計算機可讀存儲介質。
11.根據權利要求10所述的計算機程序產品,還包括一旦經由所述替代路徑的通信發生故障則判定所述鄰近節點已經發生了故障的代碼。
12.根據權利要求10所述的計算機程序產品,還包括一旦經由所述替代路徑成功接觸了所述另一節點則判定所述另一節點并沒有發生故障的代碼。
13.根據權利要求12所述的計算機程序產品,其中,所述替代路徑包括備份隧道。
14.根據權利要求13所述的計算機程序產品,其中,所述備份隧道包括多協議標簽交換流量工程備份隧道。
15.根據權利要求13所述的計算機程序產品,其中,所述備份隧道也保護所述鏈路。
16.根據權利要求10所述的計算機程序產品,其中,使用所述替代路徑來檢驗所述鄰近節點的工作的所述代碼包括進行資源預留協議Hello交換的代碼。
17.根據權利要求10所述的計算機程序產品,還包括一旦經由所述替代路徑接觸所述另一節點失敗則判定所述另一節點已經發生了故障的代碼;和將流量重路由繞過所述另一節點并進入至少一個被配置來保護所述另一節點的備份隧道的代碼。
18.根據權利要求17所述的計算機程序產品,還包括一旦經由所述替代路徑成功接觸了所述另一節點則判定所述鏈路已經發生了故障的代碼;和將流量重路由繞過所述鏈路并進入至少一個保護所述鏈路的備份隧道的代碼。
19.一種操作選定節點以區分連接到所述選定節點的鏈路故障與通過所述鏈路連接到所述選定節點的鄰近節點故障的裝置,所述裝置包括用于預先配置從所述選定節點到所述鄰近節點的替代路徑的裝置,所述替代路徑不包括所述鏈路;和用于一旦檢測到經由所述鏈路的通信故障則使用所述替代路徑來檢驗所述鄰近節點的工作的裝置。
20.根據權利要求19所述的裝置,還包括用于一旦經由所述替代路徑的通信發生故障則判定所述鄰近節點已經發生了故障的裝置。
21.根據權利要求20所述的裝置,還包括用于一旦經由所述替代路徑成功接觸了所述另一節點則判定所述另一節點并沒有發生故障的裝置。
22.根據權利要求19所述的裝置,其中,所述替代路徑包括備份隧道。
23.根據權利要求22所述的裝置,其中,所述備份隧道包括多協議標簽交換流量工程備份隧道。
24.根據權利要求22所述的裝置,其中,所述備份隧道也保護所述鏈路。
25.根據權利要求19所述的裝置,其中,用于使用所述替代路徑來檢驗所述鄰近節點的工作的所述裝置包括用于進行資源預留協議Hello交換的裝置。
26.根據權利要求19所述的裝置,還包括用于一旦經由所述替代路徑接觸所述另一節點失敗則判定所述另一節點已經發生了故障的裝置;和用于將流量重路由繞過所述另一節點并進入至少一個被配置來保護所述另一節點的備份隧道的裝置。
27.根據權利要求19所述的裝置,還包括用于一旦經由所述替代路徑成功接觸了所述另一節點則判定所述鏈路已經發生了故障的裝置;和用于將流量重路由繞過所述鏈路并進入至少一個保護所述鏈路的備份隧道的裝置。
28.一種操作選定節點以區分連接到所述選定節點的鏈路故障與通過所述鏈路連接到所述選定節點的鄰近節點故障的網絡設備,所述網絡設備包括處理器;存儲器,所述存儲器存儲用于在所述處理器上執行的指令,所述指令包括預先配置從所述選定節點到所述鄰近節點的替代路徑的代碼,所述替代路徑不包括所述鏈路;和一旦檢測到經由所述鏈路的通信故障則使用所述替代路徑來檢驗所述鄰近節點的工作的代碼。
29.根據權利要求28所述的網絡設備,其中,所述指令還包括一旦經由所述替代路徑的通信發生故障則判定所述鄰近節點已經發生了故障的代碼。
30.根據權利要求28所述的網絡設備,其中,所述指令還包括一旦經由所述替代路徑成功接觸了所述另一節點則判定所述另一節點并沒有發生故障的代碼。
31.根據權利要求29所述的網絡設備,其中,所述替代路徑包括備份隧道。
32.根據權利要求31所述的網絡設備,其中,所述備份隧道包括多協議標簽交換流量工程備份隧道。
33.根據權利要求31所述的網絡設備,其中,所述備份隧道也保護所述鏈路。
34.根據權利要求28所述的網絡設備,其中,使用所述替代路徑來檢驗所述鄰近節點工作的所述代碼包括進行資源預留協議Hello交換的代碼。
35.根據權利要求28所述的網絡設備,其中,所述指令還包括一旦經由所述替代路徑接觸所述另一節點失敗則判定所述另一節點已經發生了故障的代碼;和將流量重路由繞過所述另一節點并進入至少一個被配置來保護所述另一節點的備份隧道的代碼。
36.根據權利要求35所述的網絡設備,其中,所述指令還包括一旦經由所述替代路徑成功接觸了所述另一節點則判定所述鏈路已經發生了故障的代碼;和將流量重路由繞過所述鏈路并進入至少一個保護所述鏈路的備份隧道的代碼。
全文摘要
提供了用于區分節點故障與鏈路故障的系統和方法。通過加強獨立故障假設,促進了保護網絡鏈路和節點的備份隧道之間共享的帶寬以及備份隧道布置的分布式計算。這樣,覆蓋網絡的備份隧道能夠在發生故障時提供有保障帶寬。
文檔編號H04L12/56GK1659835SQ03813483
公開日2005年8月24日 申請日期2003年6月6日 優先權日2002年6月12日
發明者安娜·恰爾內, 羅伯特·詹姆斯·戈蓋恩, 卡羅爾·伊圖拉爾德, 葉利舍娃·霍赫貝格, 讓·菲利普·瓦瑟爾 申請人:思科技術公司