專利背景
在
網路通信技術中,如果網路設備維護了到達目的地的多條等價路由,則該網路設備會將傳送至目的地的流量平分為對應等價路由數目的份數。如圖1所示,路由設備S維護了到達目的地D1的三條等價路由,分別為:下一跳為路由設備I的路由、下一跳為路由設備J的路由、以及下一跳為路由設備K的路由。如果路由設備S需要向目的地D1轉發流量,則如圖1所示,路由設備S會將流量平均分為3份,分別通過上述三條等價路由轉發。
在上述流量轉發過程中,如果三條等價路由中有一條失效,比如圖1中由於路由設備S和路由設備K之間的鏈路發生故障而導致下一跳為路由設備K的路由失效,則此時經由該失效路由的流量就無法到達目的地D1,即出現流量中斷。該流量中斷會一直持續到路由設備S根據上層設備(簡稱上層)傳送的路由更新信息更新到達目的地D1的等價路由為止。這裡,路由更新信息是上層在感知到網路故障後,重新根據當前有效的網路拓撲結構計算出到達目的地D1的等價路由之後傳送的。可以看出,此時的流量中斷時間為探測路由失效的時間、上層重新計算路由的時間和下刷該重新計算的路由的時間之和,其一般比較長,不能滿足2010年7月前已有網路的需求。
為了縮短流量中斷時間,2010年7月前已有技術提供了IP快速重路由(FRR)方案。該方案的基本原理時:提前計算備份路由,一旦探測到路由失效立即啟用備份路由替換失效路由進行流量轉發,使得流量中斷時間縮短為探測路由失效的時間和採用備份路由替換失效路由的時間之和,這相比於上述方案,縮短了流量中斷時間。仍以圖1所示的組網為例對該IP FRR方案進行詳細描述。
步驟1,路由設備S形成針對目的地D1的路由信息。
該步驟主要發生在路由設備S學習到到達目的地D1的等價路由之後執行的,其中該路由信息具體包含目的地D1分別與到達該目的地D1的互為主備關係的路由之間的對應關係。這裡,主用路由和備用路由是路由設備S學習到到達目的地D1的路由後根據IP FRR算法從該學習的等價路由中確定出的。以圖1所示,若路由設備S學習到到達目的地D1對應的等價路由有三條,分別為:下一跳為路由設備I的路由、下一跳為路由設備J的路由、以及下一跳為路由設備K的路由,假如路由設備S根據IP FRR算法確定出下一跳為路由設備J的路由為備份路由,其他兩個為主用路由,則形成的路由信息如圖2a所示。
步驟2,路由設備S在向目的地D1轉發流量時,將該流量平分為兩份,分別通過圖2a所述的兩個主用路由轉發,而備用路由不參與實際轉發。
步驟3,在步驟2的流量轉發過程中,若有主用路由出現失效,比如下一跳為路由設備K的主用路由失效,則啟用圖2a所示的備用路由替代該失效的主用路由轉發該失效路由的流量,具體參見圖2b所示。
可以看出,在IP FRR方案中,如果主用路由失效,直接將該失效主用路由的流量切換至備份路由,這減少了流量中斷的時間。
步驟4,在步驟3的流量轉發過程中,路由設備S學習到上層下刷的路由更新信息時,重新根據該路由更新信息確定到達目的地的主用路由和備份路由。
在該步驟中,由於下一跳為路由設備K的路由出現故障,因此,路由設備S新學習到的路由更新信息中不會包括下一跳為路由設備K的路由,而是僅包含下一跳為路由設備I和J的路由,基於此,該步驟中,路由設備S可根據IP FRR算法從下一跳為路由設備I和J的路由中確定出主用路由和備用路由,這裡假如確定出下一跳為路由設備J的路由為備份路由,如此,上述圖2a更改為圖2c。之後,路由設備S將向目的地D1轉發的流量集中通過下一跳路由設備I轉發。
上述IP FRR方案雖然能夠縮短流量中斷的時間,但是,這種方案需要提前預留出一條作為主用路由備份的備份路由,該備份路由在主用路由正常時不用於實際轉發,這對網路資源來說顯然是一種嚴重的浪費;並且,該領域技術人員知道,在網路中採用備份路由時通常會出現環路,如果要實現全網無環路,則需要及其複雜的運算,這提高了IP FRR方案實現的複雜度。
發明內容
專利目的
《一種路由切換的方法和裝置》提供了一種路由切換方法和裝置,以實現在縮短流量中斷時間時避免由於2010年7月前已有IP FRR方案而導致的網路資源浪費等問題。
技術方案
一種路由切換方法,包括:在網路設備通過到達目的地的N條等價路由轉發流量時,如果其中M條路由失效,則針對每條失效路由,從N-M條未失效路由中確定出用於替代該失效路由的替代路由,將該失效路由修改為該替代路由,以使該失效路由的流量切換至該替代路由上;其中,所述N、M為正整數,N大於等於2,M大於等於1且小於N。
一種路由切換裝置,包括:轉發單元,用於通過到達目的地的N條等價路由向所述目的地轉發流量;確定單元,用於在所述轉發單元轉發流量的過程中,如果其中M條路由失效,則針對每條失效路由,從N-M條未失效的路由中確定出用於替代該失效路由的替代路由;切換單元,用於將每條失效路由修改為所述確定單元確定的用於替代該失效路由的替代路由,以使該失效路由轉發的流量切換至該替代路由上;其中,所述N、M為正整數,N大於等於2,M大於等於1且小於N。
改善效果
由以上技術方案可以看出,《一種路由切換的方法和裝置》在流量轉發過程中,如果有路由失效,則直接用原有路由中未失效路由替代該失效路由轉發流量,使流量中斷時間縮短為探測路由失效的時間和採用有效路由替換失效路由的時間之和;並且,由於這種方法不需要備份路徑,而是直接用原有用於轉發流量的未失效路由替代失效路由,顯然不會出現IP FRR方案中由於提前預留備份路由而導致的計算複雜度加大、網路資源浪費等問題。
附圖說明
圖1為2010年7月前已有路由切換的組網示意圖;
圖2a至2c為2010年7月前已有IP FRR方案中進行流量轉發時的路由示意圖;
圖3為該發明實施例一提供的流程圖;
圖4a至4c為該發明實施例一實現流量轉發時所採用的路由示意圖;
圖5為該發明實施例二提供的流程圖;
圖6a至6e為該發明實施例二實現流量轉發時所採用的路由示意圖;
圖7為該發明實施例提供的裝置結構圖。
權利要求
1.一種路由切換方法,其特徵在於,該方法包括:在網路設備通過到達目的地的N條等價路由轉發流量時,如果其中M條路由失效,則針對每條失效路由,從N-M條未失效路由中確定出用於替代該失效路由的替代路由,將該失效路由修改為該替代路由,以使該失效路由的流量切換至該替代路由上;其中,所述N、M為正整數,N大於等於2,M大於等於1且小於N;該方法進一步包括:當所述網路設備接收到上層設備傳送的路由更新信息時,刪除所述目的地對應的被修改的表項;之後利用所述目的地當前對應的表項中的等價路由向所述目的地轉發流量;其中,所述路由更新信息是由上層設備感知路由失效時,重新計算出到達所述目的地的等價路由後所傳送的。
2.根據權利要求1所述的方法,其特徵在於,所述N條等價路由分別設定在所述目的地對應的虛擬下一跳VN所包含的N個表項中;所述將失效路由修改為替代路由包括:將所述VN中設定了失效路由的表項修改為確定的用於替代該失效路由的替代路由。
3.根據權利要求4所述的方法,其特徵在於,該方法進一步包括:所述網路設備接收到上層設備傳送的路由更新信息時,判斷當前存在的其他VN中是否存在僅包含所述N-M條未失效路由的VN,如果否,則刪除所述目的地對應的VN中被修改的表項,如果是,刪除所述目的地原先對應的VN,並將所述目的地與當前存在的其他VN對應;通過所述目的地當前對應的VN中的等價路由,將流量轉發至所述目的地;其中,所述路由更新信息是由上層設備感知路由失效時,重新計算出到達所述目的地的等價路由所傳送的。
4.一種路由切換裝置,其特徵在於,該裝置包括:轉發單元,用於通過到達目的地的N條等價路由向所述目的地轉發流量;確定單元,用於在所述轉發單元轉發流量的過程中,如果其中M條路由失效,則針對每條失效路由,從N-M條未失效的路由中確定出用於替代該失效路由的替代路由;切換單元,用於將每條失效路由修改為所述確定單元確定的用於替代該失效路由的替代路由,以使該失效路由轉發的流量切換至該替代路由上;其中,所述N、M為正整數,N大於等於2,M大於等於1且小於N;該裝置還包括第一存儲單元,其中,所述第一處理單元用於在接收到上層設備下刷的路由更新信息時,刪除所述第一存儲單元存儲的所述目的地對應的被修改的表項,之後利用所述目的地當前對應的表項中的等價路由向所述目的地轉發流量;其中,所述路由更新信息是由上層設備感知路由失效後,重新計算出到達所述目的地的等價路由後所傳送的。
5.根據權利要求4所述的裝置,其特徵在於,該裝置還包括:第二存儲單元,其中,所述第二存儲單元用於存儲所述目的地對應的虛擬下一跳VN,其中,所述N條等價路由分別設定在所述VN包含的N個表項中;所述切換單元用於將所述第二存儲單元中設定了失效路由的表項修改為用於替代該失效路由的替代路由。
6.根據權利要求5所述的裝置,其特徵在於,該裝置還包括:第二處理單元,其中,所述第二處理單元,用於在接收到上層設備傳送的路由更新信息時,判斷所述第二存儲單元當前存在的其他VN中是否存在僅包含所述N-M條未失效路由的VN,如果否,則刪除所述目的地對應的VN中被修改的表項,如果是,刪除所述目的地原先對應的VN,並將所述目的地與當前存在的其他VN對應;以及通過所述目的地當前對應的VN中的等價路由向所述目的地轉發流量,其中,所述路由更新信息是由上層設備感知路由失效時,重新計算出到達所述目的地的等價路由所傳送的。
實施方式
《一種路由切換的方法和裝置》實施例提供的方法主要包括:在網路設備通過到目的地的N條等價路由轉發流量時,如果其中M條路由失效,則針對每條失效路由,從N-M條未失效的路由中確定出用於替代該失效路由的替代路由,將該失效路由修改為該替代路由,以使該失效路由轉發的流量切換至該替代路由上。也就是說,該發明在流量轉發過程中,如果有路由失效,則直接用原有路由中未失效路由替代該失效路由轉發流量,這顯然能夠縮短流量中斷時間;並且,由於這種方法不需要備份路徑,而是直接用原有用於轉發流量的未失效路由替代失效路由,顯然不會出現IP FRR方案中由於提前預留備份路由而導致的計算複雜度加大、網路資源浪費等問題。
在上述方法中,N、M為正整數,其中,N大於等於2,M大於等於1且小於N。
在上述方法中,網路設備具體實現時可為路由設備或者為具有路由功能的交換設備等。為了使該發明的目的、技術方案和優點更加清楚,下面以網路設備為路由設備為例,結合附圖和具體實施例對該發明進行詳細描述。
實施例一
參見圖3,圖3為該發明實施例提供的實施例一的流程圖。該流程以上述提及的N和M分別為3和1為例,其他情況實現原理類似。如此,基於圖1所示的組網,如圖3所示,該流程可包括以下步驟:
步驟301,路由設備S形成針對目的地D1的等價路由信息。
該步驟301是在路由設備S初始學習到到達目的地D1的路由後執行的。其中,該等價路由信息具體可為路由表中關於D1的相關路由表項,可包括目的地D1和各個等價路由之間的對應關係。比如,圖1中,路由設備S學習到到達目的地D1的路由中存在三條等價路由,分別為:下一跳為路由設備I的路由,下一跳為路由設備J的路由,以及下一跳為路由設備K的路由,如此,該步驟301形成的等價路由信息具體可如圖4a所示。
步驟302,路由設備S在向目的地D1轉發流量時,將該流量平均分為3份,分別通過圖4a所示的三條等價路由轉發。
也就是說,圖4a所示的三條等價路由分別轉發傳送至目的地D1總流量的1/3。
步驟303,如果在步驟302的流量轉發過程中,下一跳為路由設備K的路由失效,則執行下述步驟304。
步驟304,從當前未失效的路由中確定出用於替代該失效路由的替代路由,將圖4a中設定了該失效路由的表項修改為該替代路由。
該實施例中,如果失效路由的個數,以及剩餘的未失效路由的個數相同,且大於等於2,則該步驟304在執行上述確定操作時,可按照負載均衡原則確定失效路由的替代路由,以避免將所有失效路由的流量後續都切換至某一條未失效的路由上。比如,如果目的地D1對應的等價路由為4條,記為:路由1至4,,若在流量轉發過程中其中兩條路由比如路由1和2失效,則可將剩餘的兩條未失效路由即路由3和路由4分別替代該兩條失效路由,而不是僅利用一個未失效路由同時替代該兩條失效路由,這能進一步保證流量轉發的可靠性。當然,如果失效路由的個數和未失效路由的個數不相同,比如失效路由的數目大於未失效路由的數目,或者失效路由的數目小於未失效路由的數目,則可任意從未失效路由中選擇各個失效路由的替代路由,或者按照輪詢方式從未失效路由中選擇各個失效路由的替代路由,這裡並不具體限定。其中,按照輪詢方式從未失效路由中選擇失效路由的替代路由具體為:按照順序輪詢未失效路由,並將輪詢到的路由依次確定為各個失效路由的替代路由,如果在輪詢完未失效路由後還有失效路由未確定出對應的替代路由,則重新再輪詢,直至所有失效路由都能確定出對應的替代路由為止。比如,到達目的地D1的路由存在5條,記為:路由1至5,若在流量轉發過程中3條路由比如路由1至3失效,則按照順序輪詢剩餘的兩條未失效路由,將先輪詢到的路由即路由4確定為失效路由1的替代路由,將後輪詢到的路由即路由5確定失效路由2的替代路由,之後重新再按照順序輪詢未失效路由,將先輪詢到的路由即路由4確定為失效路由3的替代路由。
該實施例中,在圖4a中,存在三條等價路由,而其中一條路由即下一跳為路由設備K的路由失效,其他兩條路由未失效,如此,執行到該步驟304時,可按照上述失效路由的個數和未失效路由的個數不相同時的方式為該下一跳為路由設備K的路由選擇替代路由,假如選擇下一跳為路由設備I的路由替代該失效路由,則可將設定了該失效路由的表項修改為下一跳為路由設備I的路由,具體可如圖4b所示。
需要說明的是,該步驟304可在路由設備S未學習到上層下刷的路由更新訊息時執行的,其目的就是為了縮短由於失效路由而導致流量中斷的時間,這是因為:一方面,失效路由、以及目的地和失效路由之間的對應關係只能在學習到上層傳送的路由更新訊息後才可刪除,而此時還未接收到路由更新訊息,因此不能直接刪除失效路由,也不能刪除目的地和失效路由之間的對應關係,可以看出,如果不執行上述步驟304,就會導致流量中斷持續到路由設備S學習到路由更新訊息,這段時間一般比較長;另一方面,雖然在路由失效時,可以置路由反刷標記,即直接由路由設備S中的用於管理路由的模組將路由失效的信息通知給上層,以使上層儘快下刷路由更新訊息,但是,路由更新訊息的下刷是在上層根據正常的網路拓撲結構重新計算出路由後執行的,而通常上層計算路由的時間比較長,並且,即使路由設備S接收到路由更新訊息後,如果路由設備S上存在多個目的地對應該失效路由時,還需要逐一刪除該失效路由,以及該失效路由與各個目的之間的對應關係,這都需要比較長的時間。基於上述兩個方面的分析,該實施例為了提高路由切換速度,不再依賴於路由更新訊息,而是直接執行步驟304,以使未失效路由替代失效路由轉發流量,具體見下述步驟305。
步驟305,通過目的地D1當前對應的各個等價路由向目的地D1轉發流量。
從圖4b可以看出,目的地D1依然對應三個表項,只不過其中兩個表項設定了下一跳為路由設備I的路由,另一個表項設定了下一跳為路由設備J的路由,如此,執行到該步驟305時,依然將轉發至目的地的流量平均分為3份,分別由圖4b所示的三個表項中的路由轉發。可以看出,執行到該步驟305時,下一跳為路由設備J的路由轉發流量保持不變,仍然轉發傳送至目的地D1總流量的1/3,而下一跳為路由設備I的路由則需要轉發傳送至目的地D1總流量的2/3,即在原來轉發1/3流量的基礎上增加了原本由失效路由轉發的1/3流量。
可以看出,該實施例在路由失效時,直接將失效路由的流量切換至當前採用的未失效路由,不依賴於路由更新訊息,使得流量中斷時間縮短為探測路由失效的時間和採用未失效路由替代失效路由的時間(該時間比較短,基本可以忽略)之和。並且,由於該實施例不需要備份路徑,而是直接用原有用於轉發流量的未失效路由替代失效路由,顯然不會出現IP FRR方案中由於提前預留備份路由而導致的計算複雜度加大、網路資源浪費等問題。
步驟306,在步驟305的流量轉發過程中,如果路由設備S學習到上層下刷的路由更新訊息,則刪除圖4b中被修改的表項,並刪除目的地D1和該表項之間的對應關係。
也就是說,步驟305利用未失效路由替代失效路由轉發流量只是暫時的,其只會持續到路由設備S學習到路由更新訊息。
在步驟304中,為便於識別修改的表項,可在完成表項修改後,對該被修改的表項作一修改標記。比如,步驟304中對圖4b所示的第三個表項進行了修改,可在該圖4b所示的第三個表項做一個修改標記(圖4b未示出)。如此,執行到該步驟306時,可直接刪除具有修改標記的表項,並相應刪除該表項和目的地D1之間的對應關係,具體見圖4c所示。此時,圖4c所示的路由信息僅包含目的地D1與兩條等價路由即下一跳分別為路由設備I和J之間的對應關係。
步驟307,路由設備S將轉發至目的地D1的流量平分為兩份,分別通過圖4c所示的兩條等價路由轉發。
也就是說,圖4c所示的兩條等價路由分別轉發傳送至目的地D1總流量的1/2。在該流量轉發過程中,如果還有路由出現失效,則按照上述步驟303中的操作執行。
至此,實現了該發明實施例一所提供的方法流程。
在組網中,路由資源是有限的,其可能會存在這種情況:到達不同目的地的等價路由是完全相同的。仍以圖1為例,可以看出,路由設備S到達目的地D1和D2的等價路由是相同的,分別為:下一跳為路由設備I的路由、下一跳為路由設備J的路由和下一跳為路由設備K的路由,基於此,該實施例可使這兩個目的地共用路由,具體實現時可將該共用的路由放置在虛擬下一跳(VN)中,並使這兩個目的地分別對應該VN,具體參見實施例二描述。
實施例二
參見圖5,圖5為該發明實施例提供的第二流程圖。該流程以上述提及的N和M分別為3和1為例,其他情況實現原理類似。如此,基於圖1所示的組網,如圖5所示,該流程可包括以下步驟:
步驟501,路由設備S學習到到達目的地D1的等價路由後,判斷當前是否存在僅包含該等價路由的VN,如果否,則執行步驟502;如果是,則執行步驟503。
這裡,假如學習到的等價路由分別為:下一跳分別為路由設備I、I和K的路由,則步驟501中的判斷為:路由設備S判斷當前是否存在僅包含下一跳分別為路由設備I、I和K的路由的VN。
步驟502,創建包含該等價路由的VN,並使目的地D1指向該創建的VN。之後,執行步驟504。
如上所述,假如學習到的等價路由分別為:下一跳分別為路由設備I、J和K的路由,則創建的VN中包含了下一跳為路由設備I、J和K的路由,其中,該三條等價路由分別設定在該創建的VN所包含的三個表項中,之後,使目的地D1指向該創建的VN,即建立了目的地D1和該創建的VN之間的對應關係,具體可如圖6a所示。
步驟503,將目的地D1指向該存在的VN。之後執行步驟504。
比如,在執行該步驟501之前,若目的地D2指向的VN為步驟501判斷出的VN,則執行到該步驟503時,直接將目的地D1指向該VN,即建立了目的地D1和該存在的VN之間的對應關係,具體參見圖6b所示。
以上步驟501至步驟503為對到達目的地D1的路由信息進行的初始化操作。以下以圖6b所示的路由為例進行描述,圖6a的實現原理類似。
步驟504,路由設備S在向目的地D1轉發流量時,將該流量平均分為3份,分別通過圖6b所示的三條等價路由轉發。
也就是說,圖6b所示的三條等價路由分別轉發傳送至目的地D1總流量的1/3。
步驟505,如果在步驟501的流量轉發過程中,圖6b所示的下一跳為路由設備K的路由失效,則執行下述步驟506。
步驟506,從當前未失效的路由中確定出用於替代該失效路由的替代路由,將圖6b中設定了該失效路由的表項修改為該替代路由。
這裡,步驟506中確定替代路由的具體操作可與步驟304類似,這裡不再贅述。
至於步驟506中的修改操作,以確定出的路由為下一跳為路由設備I的路由為例,則將原來設定了下一跳為路由設備K的路由(失效路由)的表項修改為下一跳為路由設備I的路由,具體如圖6c所示。
需要說明的是,雖然VN中的表項可以由用戶隨時修改,並非要求在學習到路由更新訊息時進行更改,但是,在步驟506中仍然不直接刪除目的地D1對應的VN中的失效路由,理由為:如果在步驟506中直接刪除VN中的失效路由,則會導致同時存在多個相同VN的可能,不符合VN的規範,比如,在執行步驟506之前,其他目的地比如目的地D3對應的VN中包含兩條等價路由,分別為下一跳為路由設備I和下一跳為路由設備J的路由,而執行到步驟506時,若直接刪除目的地D1對應的VN中的失效路由即下一跳為路由設備K的路由,則該VN中就與目的地D3對應的VN相同,這不符合VN的規範,因此,為滿足VN規範,先臨時執行上述步驟506。
步驟507,通過目的地D1當前對應的VN包含的等價路由向目的地D1轉發流量。
目的地D1當前對應的VN如圖6c所示,從圖6c可以看出,目的地D1對應的VN中依然包含三個表項,只不過其中兩個表項設定了下一跳為路由設備I的路由,另一個表項設定了下一跳為路由設備J的路由,如此,執行到該步驟507時,依然將轉發至目的地的流量平均分為3份,分別由圖6c所示的三個表項中的路由轉發。可以看出,執行到該步驟507時,下一跳為路由設備J的路由轉發流量保持不變,仍然轉發傳送至目的地D1總流量的1/3,而下一跳為路由設備I的路由則需要轉發傳送至目的地D1總流量的2/3,即在原來轉1/3流量的基礎上增加了原本由失效路由轉發的1/3流量。
步驟508,在步驟507的流量轉發過程中,如果接收到上層下發的路由更新訊息,則判斷當前存在的其他VN中是否存在僅包含圖6b所示的未失效路由的VN,如果是,執行步驟509,如果否,執行步驟510。
從圖6b中可以看出,未失效路由為:下一跳分別為路由設備I和J的路由,如此,該步驟508中的判斷為:判斷當前存在的其他VN中是否存在僅包含下一跳為路由設備I和J的路由的VN。
步驟509,使指向圖6b所示VN(記為VN1)的目的地即目的地D1和D2指向該存在的VN(記為VN2),並刪除該VN1。之後執行步驟511。
假如除了目的地D1和D2之外的其他目的地指向的VN2為步驟508判斷出的VN,則執行到該步驟509時,建立目的地D1和D2與VN2之間的對應關係,之後刪除目的地原先指向的VN1,具體參見圖6d。
需要說明的是,如果原本指向圖6b所示VN(記為VN1)的目的地只有一個目的地即目的地D1,則執行到該步驟509時,使D1指向步驟508判斷出的VN,並刪除該VN1。
步驟510,刪除VN1中被修改的表項。
在步驟506中,為便於識別修改的表項,可在完成表項修改後,對該被修改的表項作一修改標記。比如,步驟506中對圖6c所示的第三個表項進行了修改,可在該圖6c所示的第三個表項做一個修改標記(圖6c未示出)。如此,執行到該步驟510時,可直接刪除該具有修改標記的表項,具體見圖6e所示。此時,圖6e所示的VN僅包含兩個表項,分別設定了下一跳為路由設備I的路由和下一跳為路由設備J的路由。
可以看出,該步驟510並不刪除目的地D1和VN之間的對應關係,而是直接更新VN中的內容,提高了路由切換效率。
步驟511,路由設備S將轉發至目的地D1的流量平分為兩份,分別通過圖6d或6e所示的VN中的兩條等價路由轉發。
也就是說,圖6d或6e所示的VN中的兩條等價路由分別轉發傳送至目的地D1總流量的1/2。在該流量轉發過程中,如果還有路由出現失效,則按照上述步驟505中的操作執行。
至此,通過上面描述實現了該發明實施例二所示的流程。
以上對該發明實施例提供的方法進行了描述,下面對該發明實施例提供的裝置進行描述。
參見圖7,圖7為該發明實施例提供的裝置結構圖。如圖7所示,該裝置包括:
轉發單元701,用於通過到達目的地的N條等價路由向所述目的地轉發流量;
確定單元702,用於在轉發單元701轉發流量的過程中,如果其中M條路由失效,則針對每條失效路由,從N-M條未失效的路由中確定出用於替代該失效路由的替代路由;
切換單元703,用於將每條失效路由修改為確定單元702確定的用於替代該失效路由的替代路由,以使該失效路由轉發的流量切換至該替代路由上;
其中,所述N、M為正整數,N大於等於2,M大於等於1且小於N。
《一種路由切換的方法和裝置》實施例中的裝置在具體實現時可包括:第一存儲單元704和第一處理單元705,其中,
第一存儲單元704,用於存儲所述目的地對應的N個表項,其中,所述N條等價路由分別設定在所述N個表項中;基於此,切換單元703用於將第一存儲單元704存儲的設定了失效路由的表項修改為用於替代該失效路由的替代路由;
第一處理單元705,用於在切換單元703執行流量轉發的過程中,如果接收到上層下刷的路由更新信息,則刪除第一存儲單元704存儲的所述目的地對應的被修改的表項,之後利用所述目的地當前對應的表項中的等價路由向所述目的地轉發流量;其中,所述路由更新信息是由上層設備感知路由失效後,重新計算出到達所述目的地的等價路由後所傳送的。
優選地,作為該發明實施例的一種擴展,如圖7所示,該裝置還可包括:第二存儲單元706和第二處理單元707。
其中,第二存儲單元706,用於存儲所述目的地對應的虛擬下一跳VN,其中,所述N條等價路由分別設定在所述VN包含的N個表項中;基於此,切換單元703用於將第二存儲單元706設定了失效路由的表項修改為用於替代該失效路由的替代路由。
第二處理單元707,用於在切換單元703執行流量轉發過程中,如果接收到上層設備傳送的路由更新信息時,判斷第二存儲單元706當前存在的其他VN中是否存在僅包含所述N-M條未失效路由的VN,如果否,則刪除所述目的地對應的VN中被修改的表項,如果是,刪除所述目的地原先對應的VN,並將所述目的地與當前存在的其他VN對應,之後通過所述目的地當前對應的VN中的等價路由向所述目的地轉發流量,其中,所述路由更新信息是由上層設備感知路由失效時,重新計算出到達所述目的地的等價路由所傳送的。
由以上技術方案可以看出,該發明提供的方法具備以下優點:
1)在路由失效時,直接將失效路由轉發的流量切換至未失效路由轉發,使得流量中斷時間縮短為探測路由失效的時間和採用未失效路由替代失效路由的時間(該時間比較短,基本可以忽略)之和,這實現了路由的快速切換,縮短流量的中斷時間。
2)相對於IP FRR技術,由於不需要提前計算備份路由,因此,節約了網路資源,並且,不需要複雜的無環備用路由計算,實現簡單,性價比高。
榮譽表彰
2018年12月20日,《一種路由切換的方法和裝置》獲得第二十屆中國專利銀獎。