專利名稱:一種抑制路由震蕩的方法以及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊領(lǐng)域,尤其涉及一種抑制路由震蕩的方法以及裝置。
背景技術(shù):
在邊緣網(wǎng)關(guān)協(xié)議(BGP, Border Gateway Protocol)方案中,路由器的路 由信息數(shù)據(jù)庫包含3個部分Adj-RIBs-In,用于存儲未經(jīng)處理的路由信息; Loc-RIB,用于存儲路由器使用自身的本地路由策略選擇的最佳路由; Adj-RIBs-Out,用于存儲路由器向BGP節(jié)點(diǎn)通告的路由。
BGP的選路過程具體為對Adj-RIBs-In中的路由使用本地路由策略,同 時將選定的或修改過的最佳路由放到Loc-RIB和Adj-RIBs-Out中。
所以BGP路由器只為每一個目的地保存一個最佳路由放在Loc-RIB,只 有當(dāng)最佳路由發(fā)生變化時,才將此變化的路由放到Adj-RIBs-Out,向BGP peers 通告,而在Adj-RIBs-In中到達(dá)每個目的節(jié)點(diǎn)的路由可能不止一條,這些路由 的每一次變化,并不一定會向BGP peers通告此路由,但會觸發(fā)BGP選f各過 程,重新選擇最佳路由,這樣選擇的最佳路由和之前的最佳若相同就不通告 此路由,若不同則需要通告此路由。
在實(shí)際的應(yīng)用中常常會出現(xiàn)路由震蕩的情況,所謂路由震蕩,主要是指 一條路由間斷性地出現(xiàn)或消失。 一般來說,網(wǎng)絡(luò)鏈路故障、網(wǎng)絡(luò)維護(hù)以及網(wǎng) 絡(luò)誤配置均會導(dǎo)致某些路由發(fā)生震蕩。當(dāng)有新的路由出現(xiàn)時,路由器會向鄰 居發(fā)送update消息;當(dāng)有新的路由消失時,路由器會向鄰居發(fā)送withdraw消 息;路由震蕩會導(dǎo)致路由器在互聯(lián)網(wǎng)內(nèi)周期性地傳播大量的更新或撤銷消息。 這些更新或撤銷消息會占用鏈路的帶寬以及增加路由器負(fù)荷。
現(xiàn)有技術(shù)中 一種抑制路由震蕩的方法具體為
給每條路由設(shè)置一個懲罰值(Penalty),當(dāng)某條路由發(fā)生震蕩時,將其懲 罰值增加一個量(例如1000 )。當(dāng)懲罰值penalty達(dá)到規(guī)定的抑制門限 (Suppress-limit)時,對該路由抑制(即不向鄰居路由器通告這條路由)。經(jīng)過一段規(guī)定的時間half-time后,如果該路由沒有再次發(fā)生震蕩,則將其懲罰 值減少一半(即以指數(shù)速率減少懲罰值的值)。當(dāng)懲罰值下降到規(guī)定的再使用 門限r(nóng)euse-limit時,解除對該路由的抑制,重新向其它路由器通告該路由。如 果該路由被抑制后,再次波動,相應(yīng)的懲罰值會繼續(xù)累加。現(xiàn)有技術(shù)的方案 中,只對最佳路由的震蕩進(jìn)行抑制,即只有當(dāng)存儲在Loc-RIB中的最佳路由 發(fā)生震蕩時,才啟用路由震蕩抑制策略。
但是實(shí)際上,無論是最佳路由震蕩還是非最佳路由震蕩都會觸發(fā)BGP的 選路過程,選擇最佳路由,若新選擇所得的最佳路由與之前的最佳路由不一 致,則需要向BGP peers通告最新的最佳路由。所以現(xiàn)有技術(shù)的方案可能會導(dǎo) 致以下一些問題
首先、由于不對Adj-RIBs-In中的路由進(jìn)行震蕩抑制,所以其中存儲的路 由發(fā)生震蕩時都會觸發(fā)BGP選路過程,選擇最佳路由,向BGP peers通告最 佳路由,若在一段時間內(nèi)路由頻繁震蕩,則路由器會頻繁觸發(fā)選路流程,從 而增加了路由器負(fù)荷;
其次、若Loc-RIB中的最佳路由失效,則需要根據(jù)本地路由策略從 Adj-RIBs-In中選擇一個路由作為最佳路由,現(xiàn)有技術(shù)中只對Loc-RIB中的路 由震蕩進(jìn)行抑制,所以可能會從Adj-RIBs-In中選擇一條正在震蕩的不穩(wěn)定路 由作為最佳;洛由,從而影響了路由選取效率。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例要解決的技術(shù)問題是提供一種抑制路由震蕩的方法以及裝 置,用于降低路由器負(fù)荷,且提高路由選取效率。
本發(fā)明實(shí)施例提供的抑制路由震蕩的方法,包括獲取備用路由的第一 路由信息;根據(jù)所述第一路由信息判斷所述備用路由是否滿足第一抑制條件, 若滿足,則對所述備用路由進(jìn)行抑制。
本發(fā)明實(shí)施例提供的抑制路由震蕩的裝置,包括路由信息獲取單元, 用于獲取備用路由的第一路由信息;抑制判斷單元,用于根據(jù)獲取的第一路 由信息判斷所述備用路由是否滿足抑制條件;路由抑制單元,用于當(dāng)所述備 用路由滿足抑制條件時,對對應(yīng)的備用路由進(jìn)行抑制。從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn)
本發(fā)明實(shí)施例中,由于根據(jù)獲取到的備用路由的第 一路由信息判斷所述 備用路由是否滿足第一抑制條件,對滿足抑制條件的備用路由進(jìn)行抑制,所
以被抑制的備用路由發(fā)生震蕩時不會觸發(fā)BGP選路過程,從而使得路由器不 會頻繁觸發(fā)選路流程,因此降低了路由器的負(fù)荷;
其次,由于被抑制的備用路由發(fā)生震蕩時不會參與BGP選路過程,所以 當(dāng)主用路由失效,需要重新選取主用路由時,被抑制的備用路由不會參與主 用路由的選取,所以避免了將不穩(wěn)定的備用路由選為主用路由的可能,從而 提高了路由選取的效率。
圖1為本發(fā)明實(shí)施例中抑制路由震蕩的方法第一實(shí)施例示意圖; 圖2為本發(fā)明實(shí)施例中抑制路由震蕩的方法第二實(shí)施例示意圖; 圖3為本發(fā)明實(shí)施例中抑制路由震蕩的方法第三實(shí)施例示意圖; 圖4為本發(fā)明實(shí)施例中抑制路由震蕩的裝置實(shí)施例示意圖。
具體實(shí)施例方式
本發(fā)明實(shí)施例提供了 一種抑制路由震蕩的方法以及裝置,用于降低路由 器負(fù)荷,且提高路由選取效率。
本發(fā)明實(shí)施例中,由于根據(jù)獲取到的備用路由的第一路由信息判斷所述 備用路由是否滿足第一抑制條件,對滿足抑制條件的備用路由進(jìn)行抑制,所 以被抑制的備用路由發(fā)生震蕩時不會觸發(fā)BGP選路過程,從而使得路由器不 會頻繁觸發(fā)選路流程,因此降低了路由器的負(fù)荷;
其次,由于被抑制的備用路由發(fā)生震蕩時不會參與BGP選路過程,所以 當(dāng)主用路由失效,需要重新選取主用路由時,被抑制的備用路由不會參與主 用路由的選取,所以避免了將不穩(wěn)定的備用路由選為主用路由的可能,從而 提高了路由選取的效率。
需要說明的是,在下面的各個實(shí)施例中,主用路由為存儲在Loc-RIB中 的最佳路由,備用路由為存儲在Adj-RIBs-In中的非最佳路由。首先說明 一下關(guān)于對路由進(jìn)行分類存儲的流程
1、 確定路由首選等級;
本實(shí)施例中,當(dāng)有新的路由產(chǎn)生,或有路由發(fā)生改變,或有路由撤銷時, 則對這些路由進(jìn)行計算,獲得可用路由作為備用路由,將這些備用路由存儲 于Adj-RIBs-In中;
2、 選取最佳路由;
在Adj-RIBs-In中存儲的備用路由中,按照預(yù)置的選路算法選取主用路由, 將選取出的主用路由存儲于Loc-RIB中,具體的選路算法為現(xiàn)有技術(shù),此處 不作限定,例如可以為最短路徑優(yōu)先算法。
3、 通告路由變化。
當(dāng)Loc-RIB中的主用路由發(fā)生改變時,將該路由存儲于Adj-RIBs-Out中, 并向BGP節(jié)點(diǎn)通告該變化。
在下面各個實(shí)施例中,第一路由信息是指備用路由的路由信息,第二路 由信息是指主用路由的路由信息。
下面對本發(fā)明實(shí)施例中的抑制路由震蕩的方法實(shí)施例進(jìn)行詳細(xì)描述,首 先介紹關(guān)于備用^各由的震蕩抑制的情況
請參閱圖1,本發(fā)明實(shí)施例中抑制路由震蕩的方法第一實(shí)施例包括
101、獲取備用路由的第一路由信息;
本實(shí)施例中,路由器獲取備用路由的第一路由信息,可以為路由器定期 的獲取所有Adj-RIBs-In中的備用路由的第一路由信息進(jìn)行分析,也可以是當(dāng) 路由器接收到鄰居發(fā)送的路由更新請求,從該路由更新請求中獲取對應(yīng)的備 用路由的第一路由信息。
本實(shí)施例中,路由器獲取備用路由的第 一路由信息的情況可以為根據(jù)預(yù) 置的安全規(guī)則每隔一段時間就對本地的備用路由進(jìn)行一次震蕩檢測,同樣可 以為在接收到路由更新請求后再對該路由更新請求對應(yīng)的備用路由進(jìn)行震蕩 檢測。上述第一路由信息中存儲有該路由的相關(guān)信息,例如包括應(yīng)用服務(wù)器
(AS, Application Server)路徑長度,路由接口,路由標(biāo)識以及該路由所經(jīng)過 的AS域等信息。
102、 對該第一路由信息進(jìn)行分析;
路由器獲取到備用路由的第 一路由信息之后,對獲取到第 一路由信息進(jìn) 行分析,本實(shí)施例中具體的分析過程可以為將獲取到的第一路由信息中的 選定的信息與前一 次接收到的該備用路由的第 一路由信息中對應(yīng)的信息進(jìn)行 比較,可以理解的是,可以選取獲取到的第 一路由信息中的所有的項(xiàng)目信息 進(jìn)行比較,也可以選取部分項(xiàng)目信息進(jìn)行比較,具體的比較方式可以根據(jù)實(shí) 際情況進(jìn)行確定,例如可以只選取第 一路由信息中的路由接口以及路由標(biāo)識 與前一次接收到的該備用路由備份的第 一路由信息中對應(yīng)的信息進(jìn)行比較, 也可以選取獲取到的第一路由信息中的所有項(xiàng)目信息進(jìn)行比較。
103、 判斷第一路由信息是否改變,若改變,則執(zhí)行步驟104,若未改變, 則執(zhí)行步驟105;
本實(shí)施例中,將獲取到的第一路由信息中的選定的信息與之前對該備用 路由備份的第一路由信息中的對應(yīng)信息進(jìn)行比較,判斷選定的信息中,是否 有任何一項(xiàng)信息發(fā)生變化,若是,則執(zhí)行步驟104,若否,則執(zhí)行步驟105。
104、 對該備用路由進(jìn)行抑制,并跳轉(zhuǎn)到步驟106;
當(dāng)?shù)?一路由信息發(fā)生改變后,對該第 一路由信息對應(yīng)的備用路由進(jìn)行抑 制,本實(shí)施例中具體的抑制方式可以為將該備用路由的選路標(biāo)識設(shè)置為不 可用。
需要說明的是,每一個備用路由均有一個選路標(biāo)識,該標(biāo)識用于指示該 備用路由是否有資格被選取為主用路由,若該標(biāo)識被設(shè)置為不可用,則當(dāng)選 取主用路由時,即進(jìn)行BGP選路過程時,該備用路由沒有資格參與選取,即
當(dāng)主用路由失效時,路由器需要選取新的主用路由,在選取時會先獲取 所有備用路由的選路標(biāo)識;
先篩選出選路標(biāo)識為可用的備用路由,在這些備用路由中,再根據(jù)預(yù)置的選路算法選取主用路由。
105、 結(jié)束本流禾呈;
若第一路由信息未發(fā)生改變,則結(jié)束本流程。后續(xù)還可以執(zhí)行其他的流 程,例如可以為繼續(xù)監(jiān)控備用路由的第一路由信息的狀態(tài),或者是其他的處 理流程,本實(shí)施例不作限定。
106、 執(zhí)行完畢步驟104,即在對備用路由進(jìn)行抑制后,判斷是否滿足解 除抑制條件,若滿足,則執(zhí)行步驟107,若不滿足,則執(zhí)行步驟104;
本實(shí)施例中,若備用路由的數(shù)目不多,或者是經(jīng)過突發(fā)的網(wǎng)絡(luò)故障后, 網(wǎng)絡(luò)恢復(fù)正常的情況下,可以考慮在滿足解除抑制條件后,將原先被抑制的 備用路由解除抑制,使之能重新參與主用路由的選取,可以理解的是,在對 震蕩抑制要求嚴(yán)格的網(wǎng)絡(luò)中,或者是備用路由數(shù)目眾多的情況下,同樣可以 不執(zhí)行本步驟,即不對被抑制的備用路由解除抑制。
判斷的依據(jù)可以為
1、 若備用路由數(shù)目不多,則對某備用路由抑制后不對其解除抑制,則可 能使得可用備用路由不足,造成網(wǎng)絡(luò)不穩(wěn)定;
2、 若是網(wǎng)絡(luò)突發(fā)故障后恢復(fù),則應(yīng)該將由此次網(wǎng)絡(luò)突發(fā)故障導(dǎo)致震蕩的 路由在抑制后解除抑制,因?yàn)榫W(wǎng)絡(luò)突發(fā)故障的概率比較低,而且網(wǎng)絡(luò)突發(fā)故 障可能會導(dǎo)致大量的備用路由發(fā)生震蕩;
在滿足上述兩個條件的前提下,本實(shí)施例中可以考慮對已經(jīng)被抑制的備 用路由解除抑制,具體考慮的依據(jù)為在備用恢復(fù)周期內(nèi)是否再次震蕩,若沒 有再次震蕩,則解除抑制對該備用路由的抑制。
本實(shí)施例中,判斷是否滿足解除抑制條件具體可以為設(shè)置一段備用恢 復(fù)周期,在這段周期內(nèi),對被抑制的備用路由的第一路由信息進(jìn)行分析,判 斷該備用路由的第一路由信息是否不再發(fā)生變化,若是,則認(rèn)為滿足解除抑 制條件,可以執(zhí)行步驟107,若否,則認(rèn)為不滿足解除抑制條件,執(zhí)行步驟 104,保持該備用路由的被抑制狀態(tài)。本實(shí)施例中,具體的判斷備用路由的第一路由信息是否再次發(fā)生變化的
步驟可以為若再次接收到路由器發(fā)送的路由更新請求,且該請求中的該備
用路由的第 一路由信息與前一次接收到的第 一路由信息相比發(fā)生變化,則確 定備用路由的第 一路由信息再次發(fā)生變化。
可以理解的是,具體的備用恢復(fù)周期的長度可以根據(jù)實(shí)際情況進(jìn)行確定, 在故障率要求比較嚴(yán)格的網(wǎng)絡(luò)中可以設(shè)置該備用恢復(fù)周期的時間較長。
上述采用的是設(shè)置備用恢復(fù)周期的方式判斷是否滿足解除抑制條件,可
以理解的是,同樣可以采用其他的判斷方式,例如在上面提到了兩種情況 備用路由數(shù)目不多的情況和網(wǎng)絡(luò)突發(fā)故障的情況。以上三種判斷方式在實(shí)際 應(yīng)用中可以單獨(dú)使用也可以組合使用,但一般來說,由于網(wǎng)絡(luò)突發(fā)故障的概 率較低,所以一旦網(wǎng)絡(luò)從突發(fā)故障中恢復(fù),則可以直接將由于網(wǎng)絡(luò)故障而被 抑制的備用路由解除抑制,此時不需要其他的判斷條件。此外,舉一個組合 判斷的例子當(dāng)某條備用路由被抑制后,首先判斷當(dāng)前備用路由的數(shù)目是否 小于門限值,若小于門限值,則設(shè)置一個備用恢復(fù)周期,判斷在該段周期內(nèi) 被抑制的備用路由的第一路由信息是否再次發(fā)生變化,若沒有變化,則對該 備用路由解除抑制。
107、對該備用路由解除抑制。
當(dāng)備用路由滿足了解除抑制條件后,可以對該備用路由解除抑制,即將 該備用路由的選路標(biāo)識修改為可用,使之可以重新參與主用路由的選取。
上述實(shí)施例中由于可以對備用路由的震蕩進(jìn)行抑制,所以被抑制的備用 路由發(fā)生震蕩時不會觸發(fā)BGP選路過程,從而使得路由器不會頻繁觸發(fā)選路 流程,因此降低了路由器的負(fù)荷;
其次,由于被抑制的備用路由發(fā)生震蕩時不會參與BGP選路過程,所以 當(dāng)主用路由失效,需要重新選取主用路由時,被抑制的備用路由不會參與主 用路由的選取,所以避免了將不穩(wěn)定的備用路由選為主用路由的可能,從而 提高了路由選取的效率。
上述實(shí)施例中的抑制條件比較嚴(yán)格,即一旦判斷某備用路由的第一路由 信息發(fā)生變化,則對該備用路由進(jìn)行抑制,可以理解的是,在實(shí)際應(yīng)用中,抑制備用路由的條件也可以稍微放寬一些,具體請參閱圖2,本發(fā)明實(shí)施例中
抑制路由震蕩的方法第二實(shí)施例包括
201、 獲取備用路由的第一路由信息;
本實(shí)施例中,路由器獲取備用路由的第一路由信息,可以為路由器定期 的獲取所有Adj-RIBs-In中的備用路由的第一路由信息進(jìn)行分析,也可以是當(dāng) 路由器接收到鄰居發(fā)送的路由更新請求,從該路由更新請求中獲取對應(yīng)的備 用路由的第一路由信息。
202、 對該第一路由信息進(jìn)行分析;
第一路由信息中存儲有該路由的相關(guān)信息,例如包括AS路徑長度,路由 接口等,路由器獲取到備用路由的第一路由信息之后,對獲取到第一路由信 息進(jìn)行分析,本實(shí)施例中具體的分析過程可以為將獲取到的第一路由信息 中的各項(xiàng)信息與之前對該備用路由備份的第 一路由信息進(jìn)行比較。203、 判斷第一路由信息是否改變,若改變,則執(zhí)行步驟204,若未改變, 則執(zhí)行步驟206;
本實(shí)施例中,將獲取到的第 一路由信息中的各項(xiàng)信息與之前對該備用路 由備份的第一路由信息進(jìn)行比較,判斷各項(xiàng)信息中,是否有任何一項(xiàng)信息發(fā) 生變化,若是,則執(zhí)行步驟204,若否,則執(zhí)行步驟206。
204 、在預(yù)置的備用檢測周期內(nèi)計算第 一路由信息的改變次數(shù);
本實(shí)施例中,當(dāng)檢測到某備用路由的第一路由信息發(fā)生變化時,則以檢 測到此次變化的時刻作為起點(diǎn),啟動一段預(yù)置長度的備用檢測周期,在該備 用檢測周期內(nèi)檢測該備用路由的第一路由信息是否再次發(fā)生變化, 一共發(fā)生 了多少次變化。
可以理解的是,在對故障率要求比較嚴(yán)格的網(wǎng)絡(luò)中,可以設(shè)置備用檢測 周期為 一段比較長的時間,還可以同時設(shè)置門限次數(shù)為比較少的次數(shù)。
205 、判斷在預(yù)置的備用檢測周期內(nèi)該備用路由的第 一路由信息發(fā)生變化 的次數(shù)是否達(dá)到預(yù)置的門限,若是,則執(zhí)行步驟207,若否,則執(zhí)行步驟206;
206、扭^亍其他處理流程;若第 一路由信息未發(fā)生改變,或者是在備用檢測周期內(nèi)該備用路由的第 一路由信息變化的次數(shù)沒有達(dá)到門限次數(shù),則執(zhí)行其他的流程,例如可以為 繼續(xù)監(jiān)控備用路由的第一路由信息的狀態(tài),還可以是其他的處理流程,本實(shí) 施例不作限定。
207、 對該備用路由進(jìn)行抑制;
當(dāng)在備用檢測周期內(nèi)該備用路由的第 一路由信息變化的次數(shù)達(dá)到門限次 數(shù)后,對該第一路由信息對應(yīng)的備用路由進(jìn)行抑制,本實(shí)施例中具體的抑制 方式可以為將該備用路由的選路標(biāo)識設(shè)置為不可用。
需要說明的是,每一個備用路由均有一個選路標(biāo)識,該標(biāo)識用于指示該 備用路由是否有資格被選取為主用路由,若該標(biāo)識被設(shè)置為不可用,則當(dāng)選 取主用路由時,該備用路由沒有資格參與選取,即
當(dāng)主用路由失效時,路由器需要選取新的主用路由,在選取時會先獲取 所有備用路由的選路標(biāo)識;
先篩選出選路標(biāo)識為可用的備用路由,在這些備用路由中,再根據(jù)預(yù)置 的選路算法選取主用路由。
208、 在對備用路由進(jìn)行抑制后,判斷是否滿足解除抑制條件,若滿足, 則執(zhí)行步驟209,若不滿足,則執(zhí)行步驟207;
本實(shí)施例中,若備用路由的數(shù)目不多,或者是經(jīng)過突發(fā)的網(wǎng)絡(luò)故障后, 網(wǎng)絡(luò)恢復(fù)正常的情況下,可以考慮在滿足解除抑制條件后,將原先被抑制的 備用路由解除抑制,使之能重新參與主用路由的選取,可以理解的是,在對 震蕩抑制要求嚴(yán)格的網(wǎng)絡(luò)中,或者是備用路由數(shù)目眾多的情況下,同樣可以 不執(zhí)行本步驟,即不對被抑制的備用路由解除抑制。
本實(shí)施例中,判斷是否滿足解除抑制條件具體可以為設(shè)置一段備用恢 復(fù)周期,在這段周期內(nèi),對被抑制的備用路由的第一路由信息進(jìn)行分析,判 斷該備用路由的第一路由信息是否不再發(fā)生變化,若是,則認(rèn)為滿足解除抑 制條件,可以執(zhí)行步驟209,若否,則認(rèn)為不滿足解除抑制條件,執(zhí)行步驟 207,保持該備用路由的被抑制狀態(tài)??梢岳斫獾氖?,具體的備用恢復(fù)周期的長度可以根據(jù)實(shí)際情況進(jìn)行確定, 在故障率要求比較嚴(yán)格的網(wǎng)絡(luò)中可以設(shè)置該備用恢復(fù)周期的時間較長。
209、對該備用路由解除抑制。
當(dāng)備用路由滿足了解除抑制條件后,可以對該備用路由解除抑制,即是 將該備用路由的選路標(biāo)識修改為可用,使之可以重新參與主用路由的選取。
上述實(shí)施例中由于可以對備用路由的震蕩進(jìn)行抑制,所以被抑制的備用
路由發(fā)生震蕩時不會觸發(fā)BGP選路過程,從而使得路由器不會頻繁觸發(fā)選路 流程,因此降低了路由器的負(fù)荷;
其次,由于被抑制的備用路由發(fā)生震蕩時不會參與BGP選路過程,所以 當(dāng)主用路由失效,需要重新選取主用路由時,被抑制的備用路由不會參與主 用路由的選取,所以避免了將不穩(wěn)定的備用路由選為主用路由的可能,從而 提高了路由選取的效率。
上述抑制路由震蕩的方法第一實(shí)施例以及抑制路由震蕩的方法第二實(shí)施 例中介紹了關(guān)于備用路由的震蕩抑制的過程,可以理解的是,在對備用路由 進(jìn)行震蕩抑制的基礎(chǔ)上可以采用各種方式對主用路由的震蕩進(jìn)行抑制,本發(fā) 明實(shí)施例中不作限定,下面舉例進(jìn)行介紹
請參閱圖3,本發(fā)明實(shí)施例中抑制路由震蕩的方法第三實(shí)施例包括
301、 獲取主用路由的第二路由信息;
本實(shí)施例中,路由器獲取主用路由的第二路由信息,可以為路由器定期 的獲取所有Loc-RIB中的主用路由的第二路由信息進(jìn)行分析,也可以是當(dāng)路 由器接收到鄰居發(fā)送的路由更新請求,從該路由更新請求中獲取對應(yīng)的主用 路由的第二路由信息。
上述第二路由信息中存儲有該路由的相關(guān)信息,例如包括AS路徑長度, 路由接口 ,路由標(biāo)識以及該路由所經(jīng)過的AS域等信息。
302、 對該第二路由信息進(jìn)行分析;
路由器獲取到主用路由的第二路由信息之后,對獲取到第二路由信息進(jìn) 行分析,本實(shí)施例中具體的分析過程可以為將獲取到的第二路由信息中的AS路徑長度與之前對該主用路由備份的第二路由信息中的AS路徑長度進(jìn)行比較。
303、 判斷第二路由信息中的AS路徑長度是否改變,若改變,則執(zhí)行步 驟304,若未改變,則執(zhí)行步驟305;
本實(shí)施例中,將獲取到的第二路由信息中的AS路徑長度與之前對該主用 路由備份的第二路由信息中的AS路徑長度進(jìn)行比較,判斷AS路徑長度是否 發(fā)生變化,若是,則執(zhí)行步驟304,若否,則執(zhí)行步驟305。
304、 對該主用^各由進(jìn)行抑制,并跳轉(zhuǎn)到步驟306;
當(dāng)?shù)诙酚尚畔⒅械腁S路徑長度發(fā)生改變后,對該第二路由信息對應(yīng)的 主用路由進(jìn)行抑制,本實(shí)施例中具體的抑制方式可以為將該主用路由的通 告標(biāo)識設(shè)置為不可用。
需要說明的是,主用路由有一個通告標(biāo)識,該標(biāo)識用于指示該主用路由 發(fā)生變化時(這里的變化是指除了 AS路徑長度以外的其他路由信息的變化) 是否需要通告BGP節(jié)點(diǎn),若該標(biāo)識被設(shè)置為不可用,則該主用路由發(fā)生變化 時不通告BGP節(jié)點(diǎn),即
當(dāng)主用路由發(fā)生變化時,路由器需要通告該變化,則會先獲取主用路由 的通告標(biāo)識;
若通告標(biāo)識為可用,則向BGP節(jié)點(diǎn)通告此次變化,若通告標(biāo)識為不可用, 則不向BGP節(jié)點(diǎn)通告此次標(biāo)識。
此外,本實(shí)施例中,需要設(shè)置一個長度為T的時間窗口,在該時間段內(nèi) 對該主用路由進(jìn)行抑制,同時記錄改變后的AS路徑長度(假設(shè)改變后的長度 為L ),將L作為當(dāng)前AS路徑長度(CAL, Current AS path length)參數(shù)的數(shù) 值,并將此次變化通告BGP節(jié)點(diǎn)。
可以理解的是,若在T時間內(nèi),路由器檢測到該主用路由的第二路由信 息中的AS路徑長度再次發(fā)生變化,且再次發(fā)生變化后的長度大于CAL,則 重新設(shè)置一個長度為T的時間窗口,在該段時間內(nèi)對該主用路由進(jìn)行抑制。
上述具體的T的大小可以根據(jù)實(shí)際情況進(jìn)行確定,例如在對故障率要求嚴(yán)格的網(wǎng)絡(luò)中,T的數(shù)值可以設(shè)置比較大。
305、 結(jié)束本流禾呈;
若第二路由信息未發(fā)生改變,則結(jié)束本流程。后續(xù)還繼續(xù)執(zhí)行其他的流 程,例如可以為繼續(xù)監(jiān)控主用路由的第二路由信息的狀態(tài),還可以是其他的 處理流程,本實(shí)施例不作限定。
306、 在對主用路由進(jìn)行抑制后,判斷是否滿足解除抑制條件,若滿足, 則執(zhí)行步驟307,若不滿足,則執(zhí)行步驟304以保持抑制狀態(tài);
本實(shí)施例中,關(guān)于被抑制的主用路由是否滿足解除抑制條件的判斷可以 具體包括以下幾種情況
一、 在T時間內(nèi),該主用路由的第二路由信息沒有再發(fā)生變化,則認(rèn)為 滿足解除抑制條件,在T時間結(jié)束時,將CAL的數(shù)值賦予最佳AS路徑長度
(OAL , Optimal AS path length );
二、 在T時間內(nèi)設(shè)置一個計數(shù)器change index,具體可以為一個整型計數(shù) 器,可以初始化為O,若在T時間內(nèi),路由器檢測到該主用路由的第二路由信 息中的AS路徑長度再次發(fā)生變化,且再次發(fā)生變化后的長度L小于或等于 CAL,則使得change index的數(shù)值加1,并且設(shè)置CAL的值為L,若在T時 間內(nèi),change index的數(shù)值達(dá)到門限數(shù)值,則認(rèn)為該主用路由滿足解除抑制條 件,在change index的數(shù)值達(dá)到門限數(shù)值時,將CAL的數(shù)值賦予OAL,可以 理解的是,該門限數(shù)值可以根據(jù)實(shí)際情況進(jìn)行確定;
三、 在T時間內(nèi),存在一個OAL,用于記錄最佳的AS路徑長度,該數(shù) 值為一可變數(shù)值,當(dāng)出現(xiàn)的AS路徑長度小于當(dāng)前OAL時,則認(rèn)為滿足解除 抑制條件,同時將當(dāng)前的AS路徑長度賦予OAL。
為便于理解上述解除抑制條件,下面以一具體實(shí)例進(jìn)行說明
4£設(shè)T時間為20秒,主用路由原先的AS路徑長度為10,第一次改變時, AS路徑長度為9,默認(rèn)的CAL為10, OAL為5,計數(shù)器默認(rèn)為0,門限數(shù)值 為3,則對應(yīng)上述條件
一、當(dāng)主用路由的AS路徑長度由10變?yōu)?時,該主用^各由被抑制,但—200710165163.5
說明書第13/16頁
若在20秒內(nèi)該主用路由的AS路徑長度不再發(fā)生變化,則解除對該主用路由
的抑制;
二、 若在20秒內(nèi),該主用路由的AS路徑長度持續(xù)發(fā)生變化,則在第一 次發(fā)生變化之后,CAL為9,假設(shè)第二次發(fā)生變化時,AS路徑長度為8,則 change index為1,且CAL為8,假設(shè)第三次發(fā)生變化時,AS路徑長度為7, 則change index為2,且CAL為7,假設(shè)第三次發(fā)生變化時,AS路徑長度為 6,則change index為3,且CAL為6,此時change index達(dá)到門限數(shù)值3,則 無論此時是否達(dá)到20秒,都解除對該主用路由的抑制;
三、 若在20秒內(nèi),該主用路由的AS路徑長度再次發(fā)生變化,假設(shè)第二 次發(fā)生變化時,AS路徑長度為4,則小于OAL,則解除對該主用路由的抑制, 且將OAL的數(shù)值修改為4。
307、對該主用路由解除抑制。
當(dāng)主用路由滿足了解除抑制條件后,可以對該主用路由解除抑制,即是 將該主用路由的通告標(biāo)識修改為可用,則當(dāng)該主用路由的第二路由信息發(fā)生 變化時向BGP節(jié)點(diǎn)通告該變化。
可以理解的是,上述第三實(shí)施例中另外還包含對備用路由進(jìn)行震蕩抑制 的過程,具體過程可以為方法第 一實(shí)施例以及方法第二實(shí)施例中描述的兩種 情況,故在第三實(shí)施例中不再贅述。
上述介紹了本發(fā)明實(shí)施例中的抑制路由震蕩的方法實(shí)施例,下面介紹本 發(fā)明實(shí)施例中的抑制路由震蕩的裝置實(shí)施例,請參閱圖4,本發(fā)明實(shí)施例中抑 制路由震蕩的裝置實(shí)施例包括
路由信息獲取單元401,用于獲取備用路由的第一路由信息;
抑制判斷單元402,用于根據(jù)獲取的第一路由信息判斷備用路由是否滿足 抑制條件;
路由抑制單元403,用于當(dāng)備用路由滿足抑制條件時,對對應(yīng)的備用路由 進(jìn)行抑制。
本實(shí)施例中,抑制路由震蕩的裝置還包括抑制解除單元404,用于當(dāng)主用路由或備用路由被抑制后,根據(jù)接收到的 對應(yīng)的第二路由信息或?qū)?yīng)的第一路由信息判斷是否滿足預(yù)置的解除抑制條 件,若滿足,則對所述主用路由或備用路由解除抑制。
本實(shí)施例中,
路由信息獲取單元401還包括
主用路由信息獲取單元405,用于獲取主用路由的第二路由信息; 抑制判斷單元402還包括
主用抑制判斷單元406,用于根據(jù)獲取的第二路由信息判斷主用路由是否 滿足抑制條件;
路由抑制單元403還包括
主用路由抑制單元407,用于當(dāng)主用路由滿足抑制條件時,對對應(yīng)的主用 路由進(jìn)行抑制。
下面結(jié)合上述裝置實(shí)施例對本發(fā)明實(shí)施例中的路由震蕩的抑制過程進(jìn)行 簡要描述
一、備用路由震蕩的抑制
路由信息獲取單元401獲取備用路由的第一路由信息,具體可以由路由 信息獲取單元401定期獲取所有Adj-RIBs-In中的備用路由的第一路由信息進(jìn) 行分析,也可以是在接收到鄰居發(fā)送的路由更新請求時,從該路由更新請求 中獲取對應(yīng)的備用路由的第 一路由信息。
抑制判斷單元402根據(jù)路由信息獲取單元401獲取到的備用路由的第一 路由信息判斷該備用路由是否滿足預(yù)置的抑制條件,具體的抑制條件可以是 接收到的第 一路由信息相比于前一次接收到的該備用路由備份的第 一路由信 息發(fā)生變化,還可以是在前述第一路由信息發(fā)生變化后,設(shè)置一個計時器, 且在預(yù)置的周期內(nèi),新獲取的第 一路由信息與前一次獲取的第 一路由信息相 比再次發(fā)生變化,在滿足抑制條件后,則通知路由抑制單元403對該備用路 由進(jìn)行抑制;
路由抑制單元403在接收到抑制判斷單元402發(fā)送的通知后,對該備用路由進(jìn)行抑制,具體的抑制手段可以是將該備用路由的選路標(biāo)識設(shè)置為不
可用,則該備用路由不可再參與主用路由的選取,即BGP選路;
當(dāng)路由抑制單元403對備用路由進(jìn)行抑制后,抑制解除單元404判斷被 抑制的備用路由是否滿足預(yù)置的解除抑制條件,具體的判斷依據(jù)可以是抑 制解除單元404設(shè)置一段備用恢復(fù)周期,判斷在這段備用恢復(fù)周期內(nèi),該備 用路由的第一路由信息是否再次發(fā)生變化,若未發(fā)生變化,則解除對該備用 路由的抑制,具體可以為將該備用路由的選路標(biāo)識設(shè)置為可用,則該備用 3各由可以參與主用3各由的選取。
二、主用路由震蕩的抑制
主用路由信息獲取單元405獲取主用路由的第二路由信息,具體可以由 主用路由信息獲取單元405在接收到鄰居發(fā)送的路由更新請求時,從該路由 更新請求中獲取對應(yīng)的主用路由的第二路由信息。
主用抑制判斷單元406根據(jù)主用路由信息獲取單元405獲取到的主用路 由的第二路由信息判斷該主用路由是否滿足預(yù)置的抑制條件,具體的抑制條
件可以是接收到的第二路由信息中的AS長度信息相比于前一次接收到的該 主用路由備份的第二路由信息中的AS長度信息發(fā)生變化,在滿足抑制條件 后,則通知主用路由抑制單元407對該主用路由進(jìn)行抑制;
主用路由抑制單元407在接收到主用抑制判斷單元406發(fā)送的通知后, 對該主用路由進(jìn)行抑制,具體的抑制手段可以是將該主用路由的通告標(biāo)識 設(shè)置為不可用,則該主用路由的第二路由信息中的除AS長度信息之外的信息 發(fā)生變化時,不向BGP節(jié)點(diǎn)通告;
當(dāng)主用路由抑制單元407對主用路由進(jìn)行抑制后,抑制解除單元404判 斷被抑制的主用路由是否滿足預(yù)置的解除抑制條件,具體的判斷依據(jù)可以是 抑制解除單元404若判斷新獲取到的第二路由信息中的AS長度信息相對減 少,即路由狀況不斷好轉(zhuǎn),則解除對該主用路由的抑制,具體可以為將該 主用路由的通告標(biāo)識設(shè)置為可用,則該主用路由的第二路由信息中的除AS長 度信息之外的信息發(fā)生變化時,向BGP節(jié)點(diǎn)通告。
上述描述的路由狀況不斷好轉(zhuǎn),即新獲取到的第二路由信息中的AS長度信息相對減少的判斷過程在本發(fā)明實(shí)施例中抑制路由震蕩的方法第三實(shí)施例 中的步驟306中有詳細(xì)介紹,此處不再贅述。
可以理解的是,本發(fā)明實(shí)施例中的抑制路由震蕩的裝置可以用于路由器 中,或獨(dú)立實(shí)現(xiàn),具體的獲取路由信息,根據(jù)路由信息判斷是否滿足抑制條 件,以及對路由進(jìn)行抑制的過程均與前面的抑制路由震蕩的方法實(shí)施例中描 述的流程一致,此處不再贅述。
觀戮貫迅儀個八貝口J kA-王肝炎現(xiàn)工KL失犯"'J刀〉3 是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機(jī)
可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括如下步驟 獲取備用路由的第一路由信息;
根據(jù)所述第一路由信息判斷所述備用路由是否滿足第一抑制條件,若滿 足,則對所述備用路由進(jìn)行抑制。
上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
以上對本發(fā)明所提供的一種抑制路由震蕩的方法以及裝置進(jìn)行了詳細(xì)
紹,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明實(shí)施例的思想,在具體實(shí)施方 式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本 發(fā)明的限制。
權(quán)利要求
1、一種抑制路由震蕩的方法,其特征在于,包括獲取備用路由的第一路由信息;根據(jù)所述第一路由信息判斷所述備用路由是否滿足第一抑制條件,若滿足,則對所述備用路由進(jìn)行抑制。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括 獲取主用路由的第二路由信息;根據(jù)所述第二路由信息判斷所述主用路由是否滿足第二抑制條件,若滿 足,則對所述主用路由進(jìn)行抑制。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述第一路由信 息判斷所述備用路由是否滿足第 一抑制條件的步驟包括判斷所述備用路由的第一路由信息是否改變,若改變,則確定所述備用 路由滿足第一抑制條件。
4、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述第一路由信 息判斷所述備用路由是否滿足第 一抑制條件的步驟包括判斷所述備用路由的第一路由信息是否改變,若改變,則以檢測到此次 改變的時刻為起點(diǎn),在預(yù)置的備用檢測周期內(nèi)判斷所述備用路由的第一路由 信息的改變次數(shù)是否達(dá)到預(yù)置的門限次數(shù),若達(dá)到,則確定所述備用路由滿 足第一抑制條件。
5、 根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述對所述備用路由 進(jìn)行抑制的步驟包括將所述備用路由的選路標(biāo)識修改為不可用。
6、 根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述對所述備用路由 進(jìn)行抑制的步驟之后包括以所述備用路由被抑制的時刻為起點(diǎn),在預(yù)置的備用恢復(fù)周期內(nèi)判斷新 接收到的所述備用路由的第 一路由信息與前一次接收到的所述備用路由的第 一路由信息相比是否改變,若未改變,則對所述備用路由解除抑制。
7、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述第二路由信息判斷所述主用路由是否滿足第二抑制條件的步驟包括判斷所述主用路由的第二路由信息中的應(yīng)用服務(wù)器路徑長度是否改變, 若改變,則確定所述主用路由滿足第二抑制條件。
8、 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述對所述主用路由進(jìn)行 抑制的步驟包括將所述主用路由的通告標(biāo)識修改為不可用,在預(yù)置的抑制周期內(nèi)保持所 述通告標(biāo)識為不可用。
9、 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述主用路由的第二路由 信息中的應(yīng)用服務(wù)器路徑長度改變時,將改變后的應(yīng)用服務(wù)器路徑長度作為 第一長度信息;所述對所述主用路由進(jìn)行抑制的步驟之后包括在所述抑制周期內(nèi)設(shè)置一個計數(shù)器,判斷所述主用路由的第二路由信息中的應(yīng)用服務(wù)器路徑長度是否改變, 若改變,則將當(dāng)前改變后的應(yīng)用服務(wù)器路徑長度作為第二長度信息;若所述第二長度信息小于所述第一長度信息,則將所述計數(shù)器的數(shù)值遞 增,重復(fù)上述步驟,當(dāng)所述計數(shù)器的數(shù)值達(dá)到預(yù)置的門限值時,則對所述主 用路由解除抑制。
10、 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述主用路由的第二路 由信息中的應(yīng)用服務(wù)器路徑長度改變時,將改變后的應(yīng)用服務(wù)器路徑長度作 為第一長度信息;所述對所述主用路由進(jìn)行抑制的步驟之后包括在所述抑制周期內(nèi)判斷所述主用路由的第二路由信息中的應(yīng)用服務(wù)器路 徑長度是否改變,若改變,則將當(dāng)前改變后的應(yīng)用服務(wù)器路徑長度作為第二 長度信息;判斷所述第二長度信息是否小于預(yù)置的最佳長度,若是,則對所述主用 路由解除抑制,并將所述第二長度信息作為最佳長度。
11、 一種抑制路由震蕩的裝置,其特征在于,包括路由信息獲取單元,用于獲取備用路由的第 一路由信息;抑制判斷單元,用于根據(jù)獲取的第一路由信息判斷所述備用路由是否滿 足抑制條件;路由抑制單元,用于當(dāng)所述備用路由滿足抑制條件時,對對應(yīng)的備用路 由進(jìn)行抑制。
12、 根據(jù)權(quán)利要求11所述的抑制路由震蕩的裝置,其特征在于,所述路 由信息獲取單元還包括主用路由信息獲取單元,用于獲取主用路由的第二路由信息;所述抑制判斷單元還包括主用抑制判斷單元,用于根據(jù)獲取的第二路由信息判斷所述主用路由是 否滿足抑制條件;所述路由抑制單元還包括主用路由抑制單元,用于當(dāng)所述主用路由滿足抑制條件時,對對應(yīng)的主 用路由進(jìn)行抑制。
13、 根據(jù)權(quán)利要求11或12所述的抑制路由震蕩的裝置,其特征在于, 所述抑制路由震蕩的裝置還包括抑制解除單元,用于當(dāng)主用路由或備用路由被抑制后,根據(jù)接收到的對 應(yīng)的第二路由信息或?qū)?yīng)的第一路由信息判斷是否滿足預(yù)置的解除抑制條件,若滿足,則對所述主用路由或備用路由解除抑制。
全文摘要
本發(fā)明公開了一種抑制路由震蕩的方法以及裝置,用于降低路由器負(fù)荷,且提高路由選取效率。本發(fā)明方法包括獲取備用路由的第一路由信息;根據(jù)所述第一路由信息判斷所述備用路由是否滿足第一抑制條件,若滿足,則對所述備用路由進(jìn)行抑制。本發(fā)明裝置包括路由信息獲取單元,用于獲取主用路由以及備用路由的路由信息;抑制判斷單元,用于根據(jù)獲取的路由信息判斷所述主用路由或備用路由是否滿足抑制條件;路由抑制單元,用于當(dāng)所述主用路由或備用路由滿足抑制條件時,對對應(yīng)的主用路由或備用路由進(jìn)行抑制。本發(fā)明可以有效地降低路由器負(fù)荷,且提高路由選取效率。
文檔編號H04L12/24GK101431427SQ20071016516
公開日2009年5月13日 申請日期2007年11月5日 優(yōu)先權(quán)日2007年11月5日
發(fā)明者王雪偉, 陳國義 申請人:華為技術(shù)有限公司