專利名稱:一種路由切換的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),特別涉及一種路由切換的方法和裝置。
背景技術(shù):
在網(wǎng)絡(luò)通信技術(shù)中,如果網(wǎng)絡(luò)設(shè)備維護(hù)了到達(dá)目的地的多條等價(jià)路由,則該網(wǎng)絡(luò)設(shè)備會(huì)將發(fā)送至目的地的流量平分為對(duì)應(yīng)等價(jià)路由數(shù)目的份數(shù)。如圖1所示,路由設(shè)備S 維護(hù)了到達(dá)目的地Dl的三條等價(jià)路由,分別為下一跳為路由設(shè)備I的路由、下一跳為路由設(shè)備J的路由、以及下一跳為路由設(shè)備K的路由。如果路由設(shè)備S需要向目的地Dl轉(zhuǎn)發(fā)流量,則如圖1所示,路由設(shè)備S會(huì)將流量平均分為3份,分別通過上述三條等價(jià)路由轉(zhuǎn)發(fā)。在上述流量轉(zhuǎn)發(fā)過程中,如果三條等價(jià)路由中有一條失效,比如圖1中由于路由設(shè)備S和路由設(shè)備K之間的鏈路發(fā)生故障而導(dǎo)致下一跳為路由設(shè)備K的路由失效,則此時(shí)經(jīng)由該失效路由的流量就無法到達(dá)目的地D1,即出現(xiàn)流量中斷。該流量中斷會(huì)一直持續(xù)到路由設(shè)備S根據(jù)上層設(shè)備(簡(jiǎn)稱上層)發(fā)送的路由更新信息更新到達(dá)目的地Dl的等價(jià)路由為止。這里,路由更新信息是上層在感知到網(wǎng)絡(luò)故障后,重新根據(jù)當(dāng)前有效的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)計(jì)算出到達(dá)目的地Dl的等價(jià)路由之后發(fā)送的??梢钥闯?,此時(shí)的流量中斷時(shí)間為探測(cè)路由失效的時(shí)間、上層重新計(jì)算路由的時(shí)間和下刷該重新計(jì)算的路由的時(shí)間之和,其一般比較長(zhǎng),不能滿足現(xiàn)有網(wǎng)絡(luò)的需求。為了縮短流量中斷時(shí)間,現(xiàn)有技術(shù)提供了 IP快速重路由(FRR)方案。該方案的基本原理時(shí)提前計(jì)算備份路由,一旦探測(cè)到路由失效立即啟用備份路由替換失效路由進(jìn)行流量轉(zhuǎn)發(fā),使得流量中斷時(shí)間縮短為探測(cè)路由失效的時(shí)間和采用備份路由替換失效路由的時(shí)間之和,這相比于上述方案,縮短了流量中斷時(shí)間。仍以圖1所示的組網(wǎng)為例對(duì)該IP FRR 方案進(jìn)行詳細(xì)描述。步驟1,路由設(shè)備S形成針對(duì)目的地Dl的路由信息。本步驟主要發(fā)生在路由設(shè)備S學(xué)習(xí)到到達(dá)目的地Dl的等價(jià)路由之后執(zhí)行的,其中該路由信息具體包含目的地Dl分別與到達(dá)該目的地Dl的互為主備關(guān)系的路由之間的對(duì)應(yīng)關(guān)系。這里,主用路由和備用路由是路由設(shè)備S學(xué)習(xí)到到達(dá)目的地Dl的路由后根據(jù)IP FRR 算法從該學(xué)習(xí)的等價(jià)路由中確定出的。以圖1所示,若路由設(shè)備S學(xué)習(xí)到到達(dá)目的地Dl對(duì)應(yīng)的等價(jià)路由有三條,分別為下一跳為路由設(shè)備I的路由、下一跳為路由設(shè)備J的路由、以及下一跳為路由設(shè)備K的路由,假如路由設(shè)備S根據(jù)IP FRR算法確定出下一跳為路由設(shè)備 J的路由為備份路由,其他兩個(gè)為主用路由,則形成的路由信息如圖加所示。步驟2,路由設(shè)備S在向目的地Dl轉(zhuǎn)發(fā)流量時(shí),將該流量平分為兩份,分別通過圖加所述的兩個(gè)主用路由轉(zhuǎn)發(fā),而備用路由不參與實(shí)際轉(zhuǎn)發(fā)。步驟3,在步驟2的流量轉(zhuǎn)發(fā)過程中,若有主用路由出現(xiàn)失效,比如下一跳為路由設(shè)備K的主用路由失效,則啟用圖加所示的備用路由替代該失效的主用路由轉(zhuǎn)發(fā)該失效路由的流量,具體參見圖2b所示??梢钥闯觯贗P FRR方案中,如果主用路由失效,直接將該失效主用路由的流量切換至備份路由,這減少了流量中斷的時(shí)間。步驟4,在步驟3的流量轉(zhuǎn)發(fā)過程中,路由設(shè)備S學(xué)習(xí)到上層下刷的路由更新信息時(shí),重新根據(jù)該路由更新信息確定到達(dá)目的地的主用路由和備份路由。在本步驟中,由于下一跳為路由設(shè)備K的路由出現(xiàn)故障,因此,路由設(shè)備S新學(xué)習(xí)到的路由更新信息中不會(huì)包括下一跳為路由設(shè)備K的路由,而是僅包含下一跳為路由設(shè)備 I和J的路由,基于此,本步驟中,路由設(shè)備S可根據(jù)IP FRR算法從下一跳為路由設(shè)備I和 J的路由中確定出主用路由和備用路由,這里假如確定出下一跳為路由設(shè)備J的路由為備份路由,如此,上述圖加更改為圖2c。之后,路由設(shè)備S將向目的地Dl轉(zhuǎn)發(fā)的流量集中通過下一跳路由設(shè)備I轉(zhuǎn)發(fā)。上述IP FRR方案雖然能夠縮短流量中斷的時(shí)間,但是,這種方案需要提前預(yù)留出一條作為主用路由備份的備份路由,該備份路由在主用路由正常時(shí)不用于實(shí)際轉(zhuǎn)發(fā),這對(duì)網(wǎng)絡(luò)資源來說顯然是一種嚴(yán)重的浪費(fèi);并且,本領(lǐng)域技術(shù)人員知道,在網(wǎng)絡(luò)中采用備份路由時(shí)通常會(huì)出現(xiàn)環(huán)路,如果要實(shí)現(xiàn)全網(wǎng)無環(huán)路,則需要及其復(fù)雜的運(yùn)算,這大大提高了 IP FRR 方案實(shí)現(xiàn)的復(fù)雜度。
發(fā)明內(nèi)容
本發(fā)明提供了一種路由切換方法和裝置,以實(shí)現(xiàn)在縮短流量中斷時(shí)間時(shí)避免由于現(xiàn)有IP FRR方案而導(dǎo)致的網(wǎng)絡(luò)資源浪費(fèi)等問題。本發(fā)明提供的技術(shù)方案包括一種路由切換方法,包括在網(wǎng)絡(luò)設(shè)備通過到達(dá)目的地的N條等價(jià)路由轉(zhuǎn)發(fā)流量時(shí),如果其中M條路由失效, 則針對(duì)每條失效路由,從N-M條未失效路由中確定出用于替代該失效路由的替代路由,將該失效路由修改為該替代路由,以使該失效路由的流量切換至該替代路由上;其中,所述N、M為正整數(shù),N大于等于2,M大于等于1且小于N。一種路由切換裝置,包括轉(zhuǎn)發(fā)單元,用于通過到達(dá)目的地的N條等價(jià)路由向所述目的地轉(zhuǎn)發(fā)流量;確定單元,用于在所述轉(zhuǎn)發(fā)單元轉(zhuǎn)發(fā)流量的過程中,如果其中M條路由失效,則針對(duì)每條失效路由,從N-M條未失效的路由中確定出用于替代該失效路由的替代路由;切換單元,用于將每條失效路由修改為所述確定單元確定的用于替代該失效路由的替代路由,以使該失效路由轉(zhuǎn)發(fā)的流量切換至該替代路由上;其中,所述N、M為正整數(shù),N大于等于2,M大于等于1且小于N。由以上技術(shù)方案可以看出,本發(fā)明在流量轉(zhuǎn)發(fā)過程中,如果有路由失效,則直接用原有路由中未失效路由替代該失效路由轉(zhuǎn)發(fā)流量,使流量中斷時(shí)間縮短為探測(cè)路由失效的時(shí)間和采用有效路由替換失效路由的時(shí)間之和;并且,由于這種方法不需要備份路徑,而是直接用原有用于轉(zhuǎn)發(fā)流量的未失效路由替代失效路由,顯然不會(huì)出現(xiàn)IP FRR方案中由于提前預(yù)留備份路由而導(dǎo)致的計(jì)算復(fù)雜度加大、網(wǎng)絡(luò)資源浪費(fèi)等問題。
圖1為現(xiàn)有路由切換的組網(wǎng)示意圖加至2c為現(xiàn)有IP FRR方案中進(jìn)行流量轉(zhuǎn)發(fā)時(shí)的路由示意圖;圖3為本發(fā)明實(shí)施例一提供的流程圖;圖如至如為本發(fā)明實(shí)施例一實(shí)現(xiàn)流量轉(zhuǎn)發(fā)時(shí)所采用的路由示意圖;圖5為本發(fā)明實(shí)施例二提供的流程圖;圖6a至6e為本發(fā)明實(shí)施例二實(shí)現(xiàn)流量轉(zhuǎn)發(fā)時(shí)所采用的路由示意圖;圖7為本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)圖。
具體實(shí)施例方式本發(fā)明實(shí)施例提供的方法主要包括在網(wǎng)絡(luò)設(shè)備通過到目的地的N條等價(jià)路由轉(zhuǎn)發(fā)流量時(shí),如果其中M條路由失效,則針對(duì)每條失效路由,從N-M條未失效的路由中確定出用于替代該失效路由的替代路由,將該失效路由修改為該替代路由,以使該失效路由轉(zhuǎn)發(fā)的流量切換至該替代路由上。也就是說,本發(fā)明在流量轉(zhuǎn)發(fā)過程中,如果有路由失效,則直接用原有路由中未失效路由替代該失效路由轉(zhuǎn)發(fā)流量,這顯然能夠縮短流量中斷時(shí)間;并且,由于這種方法不需要備份路徑,而是直接用原有用于轉(zhuǎn)發(fā)流量的未失效路由替代失效路由,顯然不會(huì)出現(xiàn)IP FRR方案中由于提前預(yù)留備份路由而導(dǎo)致的計(jì)算復(fù)雜度加大、網(wǎng)絡(luò)資源浪費(fèi)等問題。在上述方法中,N、M為正整數(shù),其中,N大于等于2,M大于等于1且小于N。在上述方法中,網(wǎng)絡(luò)設(shè)備具體實(shí)現(xiàn)時(shí)可為路由設(shè)備或者為具有路由功能的交換設(shè)備等。為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面以網(wǎng)絡(luò)設(shè)備為路由設(shè)備為例, 結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。實(shí)施例一參見圖3,圖3為本發(fā)明實(shí)施例提供的實(shí)施例一的流程圖。該流程以上述提及的N 和M分別為3和1為例,其他情況實(shí)現(xiàn)原理類似。如此,基于圖1所示的組網(wǎng),如圖3所示, 該流程可包括以下步驟步驟301,路由設(shè)備S形成針對(duì)目的地Dl的等價(jià)路由信息。本步驟301是在路由設(shè)備S初始學(xué)習(xí)到到達(dá)目的地Dl的路由后執(zhí)行的。其中,該等價(jià)路由信息具體可為路由表中關(guān)于Dl的相關(guān)路由表項(xiàng),可包括目的地Dl和各個(gè)等價(jià)路由之間的對(duì)應(yīng)關(guān)系。比如,圖1中,路由設(shè)備S學(xué)習(xí)到到達(dá)目的地Dl的路由中存在三條等價(jià)路由,分別為下一跳為路由設(shè)備I的路由,下一跳為路由設(shè)備J的路由,以及下一跳為路由設(shè)備K的路由,如此,本步驟301形成的等價(jià)路由信息具體可如圖如所示。步驟302,路由設(shè)備S在向目的地Dl轉(zhuǎn)發(fā)流量時(shí),將該流量平均分為3份,分別通過圖如所示的三條等價(jià)路由轉(zhuǎn)發(fā)。也就是說,圖如所示的三條等價(jià)路由分別轉(zhuǎn)發(fā)發(fā)送至目的地Dl總流量的1/3。步驟303,如果在步驟302的流量轉(zhuǎn)發(fā)過程中,下一跳為路由設(shè)備K的路由失效,則執(zhí)行下述步驟304。步驟304,從當(dāng)前未失效的路由中確定出用于替代該失效路由的替代路由,將圖 4a中設(shè)置了該失效路由的表項(xiàng)修改為該替代路由。本實(shí)施例中,如果失效路由的個(gè)數(shù),以及剩余的未失效路由的個(gè)數(shù)相同,且大于等于2,則本步驟304在執(zhí)行上述確定操作時(shí),可按照負(fù)載均衡原則確定失效路由的替代路由,以避免將所有失效路由的流量后續(xù)都切換至某一條未失效的路由上。比如,如果目的地 Dl對(duì)應(yīng)的等價(jià)路由為4條,記為路由1至4,,若在流量轉(zhuǎn)發(fā)過程中其中兩條路由比如路由1和2失效,則可將剩余的兩條未失效路由即路由3和路由4分別替代該兩條失效路由, 而不是僅利用一個(gè)未失效路由同時(shí)替代該兩條失效路由,這能進(jìn)一步保證流量轉(zhuǎn)發(fā)的可靠性。當(dāng)然,如果失效路由的個(gè)數(shù)和未失效路由的個(gè)數(shù)不相同,比如失效路由的數(shù)目大于未失效路由的數(shù)目,或者失效路由的數(shù)目小于未失效路由的數(shù)目,則可任意從未失效路由中選擇各個(gè)失效路由的替代路由,或者按照輪詢方式從未失效路由中選擇各個(gè)失效路由的替代路由,這里并不具體限定。其中,按照輪詢方式從未失效路由中選擇失效路由的替代路由具體為按照順序輪詢未失效路由,并將輪詢到的路由依次確定為各個(gè)失效路由的替代路由, 如果在輪詢完未失效路由后還有失效路由未確定出對(duì)應(yīng)的替代路由,則重新再輪詢,直至所有失效路由都能確定出對(duì)應(yīng)的替代路由為止。比如,到達(dá)目的地Dl的路由存在5條,記為路由1至5,若在流量轉(zhuǎn)發(fā)過程中3條路由比如路由1至3失效,則按照順序輪詢剩余的兩條未失效路由,將先輪詢到的路由即路由4確定為失效路由1的替代路由,將后輪詢到的路由即路由5確定失效路由2的替代路由,之后重新再按照順序輪詢未失效路由,將先輪詢到的路由即路由4確定為失效路由3的替代路由。本實(shí)施例中,在圖如中,存在三條等價(jià)路由,而其中一條路由即下一跳為路由設(shè)備K的路由失效,其他兩條路由未失效,如此,執(zhí)行到本步驟304時(shí),可按照上述失效路由的個(gè)數(shù)和未失效路由的個(gè)數(shù)不相同時(shí)的方式為該下一跳為路由設(shè)備K的路由選擇替代路由, 假如選擇下一跳為路由設(shè)備I的路由替代該失效路由,則可將設(shè)置了該失效路由的表項(xiàng)修改為下一跳為路由設(shè)備I的路由,具體可如圖4b所示。需要說明的是,本步驟304可在路由設(shè)備S未學(xué)習(xí)到上層下刷的路由更新消息時(shí)執(zhí)行的,其目的就是為了縮短由于失效路由而導(dǎo)致流量中斷的時(shí)間,這是因?yàn)橐环矫妫酚?、以及目的地和失效路由之間的對(duì)應(yīng)關(guān)系只能在學(xué)習(xí)到上層發(fā)送的路由更新消息后才可刪除,而此時(shí)還未接收到路由更新消息,因此不能直接刪除失效路由,也不能刪除目的地和失效路由之間的對(duì)應(yīng)關(guān)系,可以看出,如果不執(zhí)行上述步驟304,就會(huì)導(dǎo)致流量中斷持續(xù)到路由設(shè)備S學(xué)習(xí)到路由更新消息,這段時(shí)間一般比較長(zhǎng);另一方面,雖然在路由失效時(shí),可以置路由反刷標(biāo)記,即直接由路由設(shè)備S中的用于管理路由的模塊將路由失效的信息通知給上層,以使上層盡快下刷路由更新消息,但是,路由更新消息的下刷是在上層根據(jù)正常的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)重新計(jì)算出路由后執(zhí)行的,而通常上層計(jì)算路由的時(shí)間比較長(zhǎng),并且, 即使路由設(shè)備S接收到路由更新消息后,如果路由設(shè)備S上存在多個(gè)目的地對(duì)應(yīng)該失效路由時(shí),還需要逐一刪除該失效路由,以及該失效路由與各個(gè)目的之間的對(duì)應(yīng)關(guān)系,這都需要比較長(zhǎng)的時(shí)間?;谏鲜鰞蓚€(gè)方面的分析,本實(shí)施例為了提高路由切換速度,不再依賴于路由更新消息,而是直接執(zhí)行步驟304,以使未失效路由替代失效路由轉(zhuǎn)發(fā)流量,具體見下述步驟305。步驟305,通過目的地Dl當(dāng)前對(duì)應(yīng)的各個(gè)等價(jià)路由向目的地Dl轉(zhuǎn)發(fā)流量。從圖4b可以看出,目的地Dl依然對(duì)應(yīng)三個(gè)表項(xiàng),只不過其中兩個(gè)表項(xiàng)設(shè)置了下一跳為路由設(shè)備I的路由,另一個(gè)表項(xiàng)設(shè)置了下一跳為路由設(shè)備J的路由,如此,執(zhí)行到本步驟305時(shí),依然將轉(zhuǎn)發(fā)至目的地的流量平均分為3份,分別由圖4b所示的三個(gè)表項(xiàng)中的路由轉(zhuǎn)發(fā)??梢钥闯?,執(zhí)行到本步驟305時(shí),下一跳為路由設(shè)備J的路由轉(zhuǎn)發(fā)流量保持不變,仍
7然轉(zhuǎn)發(fā)發(fā)送至目的地Dl總流量的1/3,而下一跳為路由設(shè)備I的路由則需要轉(zhuǎn)發(fā)發(fā)送至目的地Dl總流量的2/3,即在原來轉(zhuǎn)發(fā)1/3流量的基礎(chǔ)上增加了原本由失效路由轉(zhuǎn)發(fā)的1/3流量??梢钥闯?,本實(shí)施例在路由失效時(shí),直接將失效路由的流量切換至當(dāng)前采用的未失效路由,不依賴于路由更新消息,使得流量中斷時(shí)間縮短為探測(cè)路由失效的時(shí)間和采用未失效路由替代失效路由的時(shí)間(該時(shí)間比較短,基本可以忽略)之和。并且,由于本實(shí)施例不需要備份路徑,而是直接用原有用于轉(zhuǎn)發(fā)流量的未失效路由替代失效路由,顯然不會(huì)出現(xiàn)IP FRR方案中由于提前預(yù)留備份路由而導(dǎo)致的計(jì)算復(fù)雜度加大、網(wǎng)絡(luò)資源浪費(fèi)等問題。步驟306,在步驟305的流量轉(zhuǎn)發(fā)過程中,如果路由設(shè)備S學(xué)習(xí)到上層下刷的路由更新消息,則刪除圖4b中被修改的表項(xiàng),并刪除目的地Dl和該表項(xiàng)之間的對(duì)應(yīng)關(guān)系。也就是說,步驟305利用未失效路由替代失效路由轉(zhuǎn)發(fā)流量只是暫時(shí)的,其只會(huì)持續(xù)到路由設(shè)備S學(xué)習(xí)到路由更新消息。在步驟304中,為便于識(shí)別修改的表項(xiàng),可在完成表項(xiàng)修改后,對(duì)該被修改的表項(xiàng)作一修改標(biāo)記。比如,步驟304中對(duì)圖4b所示的第三個(gè)表項(xiàng)進(jìn)行了修改,可在該圖4b所示的第三個(gè)表項(xiàng)做一個(gè)修改標(biāo)記(圖4b未示出)。如此,執(zhí)行到本步驟306時(shí),可直接刪除具有修改標(biāo)記的表項(xiàng),并相應(yīng)刪除該表項(xiàng)和目的地Dl之間的對(duì)應(yīng)關(guān)系,具體見圖如所示。此時(shí),圖4c所示的路由信息僅包含目的地Dl與兩條等價(jià)路由即下一跳分別為路由設(shè)備I和 J之間的對(duì)應(yīng)關(guān)系。步驟307,路由設(shè)備S將轉(zhuǎn)發(fā)至目的地Dl的流量平分為兩份,分別通過圖4c所示的兩條等價(jià)路由轉(zhuǎn)發(fā)。也就是說,圖如所示的兩條等價(jià)路由分別轉(zhuǎn)發(fā)發(fā)送至目的地Dl總流量的1/2。在該流量轉(zhuǎn)發(fā)過程中,如果還有路由出現(xiàn)失效,則按照上述步驟303中的操作執(zhí)行。至此,實(shí)現(xiàn)了本發(fā)明實(shí)施例一所提供的方法流程。在組網(wǎng)中,路由資源是有限的,其可能會(huì)存在這種情況到達(dá)不同目的地的等價(jià)路由是完全相同的。仍以圖1為例,可以看出,路由設(shè)備S到達(dá)目的地Dl和D2的等價(jià)路由是相同的,分別為下一跳為路由設(shè)備I的路由、下一跳為路由設(shè)備J的路由和下一跳為路由設(shè)備K的路由,基于此,本實(shí)施例可使這兩個(gè)目的地共用路由,具體實(shí)現(xiàn)時(shí)可將該共用的路由放置在虛擬下一跳(VN)中,并使這兩個(gè)目的地分別對(duì)應(yīng)該VN,具體參見實(shí)施例二描述。實(shí)施例二 參見圖5,圖5為本發(fā)明實(shí)施例提供的第二流程圖。該流程以上述提及的N和M分別為3和1為例,其他情況實(shí)現(xiàn)原理類似。如此,基于圖1所示的組網(wǎng),如圖5所示,該流程可包括以下步驟步驟501,路由設(shè)備S學(xué)習(xí)到到達(dá)目的地Dl的等價(jià)路由后,判斷當(dāng)前是否存在僅包含該等價(jià)路由的VN,如果否,則執(zhí)行步驟502 ;如果是,則執(zhí)行步驟503。這里,假如學(xué)習(xí)到的等價(jià)路由分別為下一跳分別為路由設(shè)備I、I和K的路由,則步驟501中的判斷為路由設(shè)備S判斷當(dāng)前是否存在僅包含下一跳分別為路由設(shè)備I、I和 K的路由的VN。步驟502,創(chuàng)建包含該等價(jià)路由的VN,并使目的地Dl指向該創(chuàng)建的VN。之后,執(zhí)行步驟504。如上所述,假如學(xué)習(xí)到的等價(jià)路由分別為下一跳分別為路由設(shè)備I、J和K的路由,則創(chuàng)建的VN中包含了下一跳為路由設(shè)備I、J和K的路由,其中,該三條等價(jià)路由分別設(shè)置在該創(chuàng)建的VN所包含的三個(gè)表項(xiàng)中,之后,使目的地Dl指向該創(chuàng)建的VN,即建立了目的地Dl和該創(chuàng)建的VN之間的對(duì)應(yīng)關(guān)系,具體可如圖6a所示。步驟503,將目的地Dl指向該存在的VN。之后執(zhí)行步驟504。比如,在執(zhí)行本步驟501之前,若目的地D2指向的VN為步驟501判斷出的VNJlJ 執(zhí)行到本步驟503時(shí),直接將目的地Dl指向該VN,即建立了目的地Dl和該存在的VN之間的對(duì)應(yīng)關(guān)系,具體參見圖6b所示。以上步驟501至步驟503為對(duì)到達(dá)目的地Dl的路由信息進(jìn)行的初始化操作。以下以圖6b所示的路由為例進(jìn)行描述,圖6a的實(shí)現(xiàn)原理類似。步驟504,路由設(shè)備S在向目的地Dl轉(zhuǎn)發(fā)流量時(shí),將該流量平均分為3份,分別通過圖6b所示的三條等價(jià)路由轉(zhuǎn)發(fā)。也就是說,圖6b所示的三條等價(jià)路由分別轉(zhuǎn)發(fā)發(fā)送至目的地Dl總流量的1/3。步驟505,如果在步驟501的流量轉(zhuǎn)發(fā)過程中,圖6b所示的下一跳為路由設(shè)備K的路由失效,則執(zhí)行下述步驟506。步驟506,從當(dāng)前未失效的路由中確定出用于替代該失效路由的替代路由,將圖 6b中設(shè)置了該失效路由的表項(xiàng)修改為該替代路由。這里,步驟506中確定替代路由的具體操作可與步驟304類似,這里不再贅述。至于步驟506中的修改操作,以確定出的路由為下一跳為路由設(shè)備I的路由為例, 則將原來設(shè)置了下一跳為路由設(shè)備K的路由(失效路由)的表項(xiàng)修改為下一跳為路由設(shè)備 I的路由,具體如圖6c所示。需要說明的是,雖然VN中的表項(xiàng)可以由用戶隨時(shí)修改,并非要求在學(xué)習(xí)到路由更新消息時(shí)進(jìn)行更改,但是,在步驟506中仍然不直接刪除目的地Dl對(duì)應(yīng)的VN中的失效路由,理由為如果在步驟506中直接刪除VN中的失效路由,則會(huì)導(dǎo)致同時(shí)存在多個(gè)相同VN 的可能,不符合VN的規(guī)范,比如,在執(zhí)行步驟506之前,其他目的地比如目的地D3對(duì)應(yīng)的VN 中包含兩條等價(jià)路由,分別為下一跳為路由設(shè)備I和下一跳為路由設(shè)備J的路由,而執(zhí)行到步驟506時(shí),若直接刪除目的地Dl對(duì)應(yīng)的VN中的失效路由即下一跳為路由設(shè)備K的路由, 則該VN中就與目的地D3對(duì)應(yīng)的VN相同,這不符合VN的規(guī)范,因此,為滿足VN規(guī)范,先臨時(shí)執(zhí)行上述步驟506。步驟507,通過目的地Dl當(dāng)前對(duì)應(yīng)的VN包含的等價(jià)路由向目的地Dl轉(zhuǎn)發(fā)流量。目的地Dl當(dāng)前對(duì)應(yīng)的VN如圖6c所示,從圖6c可以看出,目的地Dl對(duì)應(yīng)的VN 中依然包含三個(gè)表項(xiàng),只不過其中兩個(gè)表項(xiàng)設(shè)置了下一跳為路由設(shè)備I的路由,另一個(gè)表項(xiàng)設(shè)置了下一跳為路由設(shè)備J的路由,如此,執(zhí)行到本步驟507時(shí),依然將轉(zhuǎn)發(fā)至目的地的流量平均分為3份,分別由圖6c所示的三個(gè)表項(xiàng)中的路由轉(zhuǎn)發(fā)??梢钥闯觯瑘?zhí)行到本步驟 507時(shí),下一跳為路由設(shè)備J的路由轉(zhuǎn)發(fā)流量保持不變,仍然轉(zhuǎn)發(fā)發(fā)送至目的地Dl總流量的 1/3,而下一跳為路由設(shè)備I的路由則需要轉(zhuǎn)發(fā)發(fā)送至目的地Dl總流量的2/3,即在原來轉(zhuǎn) 1/3流量的基礎(chǔ)上增加了原本由失效路由轉(zhuǎn)發(fā)的1/3流量。步驟508,在步驟507的流量轉(zhuǎn)發(fā)過程中,如果接收到上層下發(fā)的路由更新消息,
9則判斷當(dāng)前存在的其他VN中是否存在僅包含圖6b所示的未失效路由的VN,如果是,執(zhí)行步驟509,如果否,執(zhí)行步驟510。從圖6b中可以看出,未失效路由為下一跳分別為路由設(shè)備I和J的路由,如此, 本步驟508中的判斷為判斷當(dāng)前存在的其他VN中是否存在僅包含下一跳為路由設(shè)備I和 J的路由的VN。步驟509,使指向圖6b所示VN(記為VNl)的目的地即目的地Dl和D2指向該存在的VN (記為VN2),并刪除該VNl。之后執(zhí)行步驟511。假如除了目的地Dl和D2之外的其他目的地指向的VN2為步驟508判斷出的VN, 則執(zhí)行到本步驟509時(shí),建立目的地Dl和D2與VN2之間的對(duì)應(yīng)關(guān)系,之后刪除目的地原先指向的VNl,具體參見圖6d。需要說明的是,如果原本指向圖6b所示VN (記為VNl)的目的地只有一個(gè)目的地即目的地Dl,則執(zhí)行到本步驟509時(shí),使Dl指向步驟508判斷出的VN,并刪除該VNl。步驟510,刪除VNl中被修改的表項(xiàng)。在步驟506中,為便于識(shí)別修改的表項(xiàng),可在完成表項(xiàng)修改后,對(duì)該被修改的表項(xiàng)作一修改標(biāo)記。比如,步驟506中對(duì)圖6c所示的第三個(gè)表項(xiàng)進(jìn)行了修改,可在該圖6c所示的第三個(gè)表項(xiàng)做一個(gè)修改標(biāo)記(圖6c未示出)。如此,執(zhí)行到本步驟510時(shí),可直接刪除該具有修改標(biāo)記的表項(xiàng),具體見圖6e所示。此時(shí),圖6e所示的VN僅包含兩個(gè)表項(xiàng),分別設(shè)置了下一跳為路由設(shè)備I的路由和下一跳為路由設(shè)備J的路由。可以看出,本步驟510并不刪除目的地Dl和VN之間的對(duì)應(yīng)關(guān)系,而是直接更新VN 中的內(nèi)容,提高了路由切換效率。步驟511,路由設(shè)備S將轉(zhuǎn)發(fā)至目的地Dl的流量平分為兩份,分別通過圖6d或6e 所示的VN中的兩條等價(jià)路由轉(zhuǎn)發(fā)。也就是說,圖6d或6e所示的VN中的兩條等價(jià)路由分別轉(zhuǎn)發(fā)發(fā)送至目的地Dl總流量的1/2。在該流量轉(zhuǎn)發(fā)過程中,如果還有路由出現(xiàn)失效,則按照上述步驟505中的操作執(zhí)行。至此,通過上面描述實(shí)現(xiàn)了本發(fā)明實(shí)施例二所示的流程。以上對(duì)本發(fā)明實(shí)施例提供的方法進(jìn)行了描述,下面對(duì)本發(fā)明實(shí)施例提供的裝置進(jìn)行描述。參見圖7,圖7為本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)圖。如圖7所示,該裝置包括轉(zhuǎn)發(fā)單元701,用于通過到達(dá)目的地的N條等價(jià)路由向所述目的地轉(zhuǎn)發(fā)流量;確定單元702,用于在轉(zhuǎn)發(fā)單元701轉(zhuǎn)發(fā)流量的過程中,如果其中M條路由失效,則針對(duì)每條失效路由,從N-M條未失效的路由中確定出用于替代該失效路由的替代路由;切換單元703,用于將每條失效路由修改為確定單元702確定的用于替代該失效路由的替代路由,以使該失效路由轉(zhuǎn)發(fā)的流量切換至該替代路由上;其中,所述N、M為正整數(shù),N大于等于2,M大于等于1且小于N。本發(fā)明實(shí)施例中的裝置在具體實(shí)現(xiàn)時(shí)可包括第一存儲(chǔ)單元704和第一處理單元 705,其中, 第一存儲(chǔ)單元704,用于存儲(chǔ)所述目的地對(duì)應(yīng)的N個(gè)表項(xiàng),其中,所述N條等價(jià)路由分別設(shè)置在所述N個(gè)表項(xiàng)中;基于此,切換單元703用于將第一存儲(chǔ)單元704存儲(chǔ)的設(shè)置了失效路由的表項(xiàng)修改為用于替代該失效路由的替代路由;第一處理單元705,用于在切換單元703執(zhí)行流量轉(zhuǎn)發(fā)的過程中,如果接收到上層下刷的路由更新信息,則刪除第一存儲(chǔ)單元704存儲(chǔ)的所述目的地對(duì)應(yīng)的被修改的表項(xiàng), 之后利用所述目的地當(dāng)前對(duì)應(yīng)的表項(xiàng)中的等價(jià)路由向所述目的地轉(zhuǎn)發(fā)流量;其中,所述路由更新信息是由上層設(shè)備感知路由失效后,重新計(jì)算出到達(dá)所述目的地的等價(jià)路由后所發(fā)送的。優(yōu)選地,作為本發(fā)明實(shí)施例的一種擴(kuò)展,如圖7所示,該裝置還可包括第二存儲(chǔ)單元706和第二處理單元707。其中,第二存儲(chǔ)單元706,用于存儲(chǔ)所述目的地對(duì)應(yīng)的虛擬下一跳VN,其中,所述N 條等價(jià)路由分別設(shè)置在所述VN包含的N個(gè)表項(xiàng)中;基于此,切換單元703用于將第二存儲(chǔ)單元706設(shè)置了失效路由的表項(xiàng)修改為用于替代該失效路由的替代路由。第二處理單元707,用于在切換單元703執(zhí)行流量轉(zhuǎn)發(fā)過程中,如果接收到上層設(shè)備發(fā)送的路由更新信息時(shí),判斷第二存儲(chǔ)單元706當(dāng)前存在的其他VN中是否存在僅包含所述N-M條未失效路由的VN,如果否,則刪除所述目的地對(duì)應(yīng)的VN中被修改的表項(xiàng),如果是, 刪除所述目的地原先對(duì)應(yīng)的VN,并將所述目的地與當(dāng)前存在的其他VN對(duì)應(yīng),之后通過所述目的地當(dāng)前對(duì)應(yīng)的VN中的等價(jià)路由向所述目的地轉(zhuǎn)發(fā)流量,其中,所述路由更新信息是由上層設(shè)備感知路由失效時(shí),重新計(jì)算出到達(dá)所述目的地的等價(jià)路由所發(fā)送的。由以上技術(shù)方案可以看出,本發(fā)明提供的方法具備以下優(yōu)點(diǎn)1),在路由失效時(shí),直接將失效路由轉(zhuǎn)發(fā)的流量切換至未失效路由轉(zhuǎn)發(fā),使得流量中斷時(shí)間縮短為探測(cè)路由失效的時(shí)間和采用未失效路由替代失效路由的時(shí)間(該時(shí)間比較短,基本可以忽略)之和,這實(shí)現(xiàn)了路由的快速切換,大大縮短流量的中斷時(shí)間。2),相對(duì)于IP FRR技術(shù),由于不需要提前計(jì)算備份路由,因此,節(jié)約了網(wǎng)絡(luò)資源,并且,不需要復(fù)雜的無環(huán)備用路由計(jì)算,實(shí)現(xiàn)簡(jiǎn)單,性價(jià)比高。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
1權(quán)利要求
1.一種路由切換方法,其特征在于,該方法包括在網(wǎng)絡(luò)設(shè)備通過到達(dá)目的地的N條等價(jià)路由轉(zhuǎn)發(fā)流量時(shí),如果其中M條路由失效,則針對(duì)每條失效路由,從N-M條未失效路由中確定出用于替代該失效路由的替代路由,將該失效路由修改為該替代路由,以使該失效路由的流量切換至該替代路由上; 其中,所述N、M為正整數(shù),N大于等于2,M大于等于1且小于N。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述N條等價(jià)路由分別設(shè)置在所述目的地對(duì)應(yīng)的N個(gè)表項(xiàng)中;所述將失效路由修改為替代路由包括將所述目的地對(duì)應(yīng)的設(shè)置了失效路由的表項(xiàng)修改為確定的用于替代該失效路由的替代路由。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,該方法進(jìn)一步包括當(dāng)所述網(wǎng)絡(luò)設(shè)備接收到上層設(shè)備發(fā)送的路由更新信息時(shí),刪除所述目的地對(duì)應(yīng)的被修改的表項(xiàng);之后利用所述目的地當(dāng)前對(duì)應(yīng)的表項(xiàng)中的等價(jià)路由向所述目的地轉(zhuǎn)發(fā)流量;其中,所述路由更新信息是由上層設(shè)備感知路由失效時(shí),重新計(jì)算出到達(dá)所述目的地的等價(jià)路由后所發(fā)送的。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述N條等價(jià)路由分別設(shè)置在所述目的地對(duì)應(yīng)的虛擬下一跳VN所包含的N個(gè)表項(xiàng)中;所述將失效路由修改為替代路由包括將所述VN中設(shè)置了失效路由的表項(xiàng)修改為確定的用于替代該失效路由的替代路由。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,該方法進(jìn)一步包括所述網(wǎng)絡(luò)設(shè)備接收到上層設(shè)備發(fā)送的路由更新信息時(shí),判斷當(dāng)前存在的其他VN中是否存在僅包含所述N-M條未失效路由的VN,如果否,則刪除所述目的地對(duì)應(yīng)的VN中被修改的表項(xiàng),如果是,刪除所述目的地原先對(duì)應(yīng)的VN,并將所述目的地與當(dāng)前存在的其他VN對(duì)應(yīng);通過所述目的地當(dāng)前對(duì)應(yīng)的VN中的等價(jià)路由,將流量轉(zhuǎn)發(fā)至所述目的地;其中,所述路由更新信息是由上層設(shè)備感知路由失效時(shí),重新計(jì)算出到達(dá)所述目的地的等價(jià)路由所發(fā)送的。
6.一種路由切換裝置,其特征在于,該裝置包括轉(zhuǎn)發(fā)單元,用于通過到達(dá)目的地的N條等價(jià)路由向所述目的地轉(zhuǎn)發(fā)流量; 確定單元,用于在所述轉(zhuǎn)發(fā)單元轉(zhuǎn)發(fā)流量的過程中,如果其中M條路由失效,則針對(duì)每條失效路由,從N-M條未失效的路由中確定出用于替代該失效路由的替代路由;切換單元,用于將每條失效路由修改為所述確定單元確定的用于替代該失效路由的替代路由,以使該失效路由轉(zhuǎn)發(fā)的流量切換至該替代路由上;其中,所述N、M為正整數(shù),N大于等于2,M大于等于1且小于N。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,該裝置還包括第一存儲(chǔ)單元,其中, 所述第一存儲(chǔ)單元用于存儲(chǔ)所述目的地對(duì)應(yīng)的N個(gè)表項(xiàng),其中,所述N條等價(jià)路由分別設(shè)置在所述N個(gè)表項(xiàng)中;所述切換單元用于將所述第一存儲(chǔ)單元存儲(chǔ)的設(shè)置了失效路由的表項(xiàng)修改為確定的用于替代該失效路由的替代路由。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,該裝置還包括第一處理單元,其中,所述第一處理單元用于在接收到上層設(shè)備下刷的路由更新信息時(shí),刪除所述第一存儲(chǔ)單元存儲(chǔ)的所述目的地對(duì)應(yīng)的被修改的表項(xiàng),之后利用所述目的地當(dāng)前對(duì)應(yīng)的表項(xiàng)中的等價(jià)路由向所述目的地轉(zhuǎn)發(fā)流量;其中,所述路由更新信息是由上層設(shè)備感知路由失效后,重新計(jì)算出到達(dá)所述目的地的等價(jià)路由后所發(fā)送的。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,該裝置還包括第二存儲(chǔ)單元,其中, 所述第二存儲(chǔ)單元用于存儲(chǔ)所述目的地對(duì)應(yīng)的虛擬下一跳VN,其中,所述N條等價(jià)路由分別設(shè)置在所述VN包含的N個(gè)表項(xiàng)中;所述切換單元用于將所述第二存儲(chǔ)單元中設(shè)置了失效路由的表項(xiàng)修改為用于替代該失效路由的替代路由。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,該裝置還包括第二處理單元,其中,所述第二處理單元,用于在接收到上層設(shè)備發(fā)送的路由更新信息時(shí),判斷所述第二存儲(chǔ)單元當(dāng)前存在的其他VN中是否存在僅包含所述N-M條未失效路由的VN,如果否,則刪除所述目的地對(duì)應(yīng)的VN中被修改的表項(xiàng),如果是,刪除所述目的地原先對(duì)應(yīng)的VN,并將所述目的地與當(dāng)前存在的其他VN對(duì)應(yīng);以及通過所述目的地當(dāng)前對(duì)應(yīng)的VN中的等價(jià)路由向所述目的地轉(zhuǎn)發(fā)流量,其中,所述路由更新信息是由上層設(shè)備感知路由失效時(shí),重新計(jì)算出到達(dá)所述目的地的等價(jià)路由所發(fā)送的。
全文摘要
本發(fā)明提供了一種路由切換方法和裝置,其中,該方法包括在網(wǎng)絡(luò)設(shè)備通過到達(dá)目的地的N條等價(jià)路由轉(zhuǎn)發(fā)流量時(shí),如果其中M條路由失效,則針對(duì)每條失效路由,從N-M條未失效路由中確定出用于替代該失效路由的替代路由,將該失效路由修改為該替代路由,以使該失效路由的流量切換至該替代路由上;其中,所述N、M為正整數(shù),N大于等于2,M大于等于1且小于N。采用本發(fā)明,能夠在縮短流量中斷時(shí)間的同時(shí),避免IP FRR方案中復(fù)雜度加大、網(wǎng)絡(luò)資源浪費(fèi)問題。
文檔編號(hào)H04L12/56GK102347885SQ20101024101
公開日2012年2月8日 申請(qǐng)日期2010年7月29日 優(yōu)先權(quán)日2010年7月29日
發(fā)明者楊柳, 趙海峰 申請(qǐng)人:杭州華三通信技術(shù)有限公司