專利名稱:用于改進選路的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及一種用于更新多個路由器中的一個路由器的選路表,以便改進選路系統(tǒng)會聚的方法。本發(fā)明還涉及一種路由器,典型是BGP路由器。
背景技術:
路徑探測是關聯(lián)于任何路徑矢量選路協(xié)議的固有現象。最近十年中已花費了大量努力來量化和減輕其不利影響?;旧洗嬖谌愑糜跍p輕其影響的方法-根本原因通知,其用于實施有通知的AS路徑選擇,或者以額外的“路徑依賴性”信息給AS路徑做注解;
-縮短MRAI時間,以便加快會聚;然而,將MRAI降低到特定門限之下導致會聚時間和BGP更新數量方面的不利影響,并且由此加劇路徑探測現象。-備份/多個AS路徑(提高AS路徑多樣性)該解決方案影響將要維護的RIB狀態(tài)的數量,并且因此導致選路可伸縮性方面的不利影響。
發(fā)明內容
本發(fā)明的目的是提供一種允許以可靠方式降低選路會聚時間的方法和系統(tǒng)。根據本發(fā)明的一個實施例,提供了一種用于更新多個路由器中的一個路由器的選路表的方法,所述選路表包括將被用于至少一個目的地的路由,其中,在所述路由器處實施以下步驟-接收更新消息,該更新消息包含用于目的地的路徑或路徑撤回;-確定所述(撤回)路徑是否與路徑探測事件相關聯(lián);-考慮所述確定的結果,對所述選路表的更新做出判定。通過作為所述探測過程一部分檢測接收的更新消息中包含新路徑還是路徑的撤回,以及依賴于該檢測做出所述判定過程,可以可靠地減少會聚時間。在本專利申請中,路徑探測可以被定義為這樣的現象,該現象通常在網絡中當目的地首次被通告時或當目的地被撤回時發(fā)生。這是由于,不同的跨節(jié)點拓撲的傳播/處理延遲通常導致,直到下一個最優(yōu)路徑被選擇之前瞬態(tài)路徑的次優(yōu)選擇。應當指出,在撤回的情況下,可能發(fā)生不再存在任何去往所述目的地的路徑。根據本發(fā)明的一個實施例,提供了一種技術,所述技術用于檢測BGP更新序列(被建模為AS路徑序列的序列)中的路徑探測現象,并且加速BGP選擇過程,從而消除路徑探測對BGP會聚時間的不利影響。根據本發(fā)明的一個優(yōu)選實施例,所述路徑探測事件與許多非最優(yōu)瞬態(tài)路徑相關聯(lián),并且識別出所述瞬態(tài)路徑的最長連續(xù)路徑序列。對所述選路表的更新做出判定將然后還考慮所述識別出的序列,以便確定包含在更新消息中的路徑是否應當被選擇。根據一個優(yōu)選實施例,如果所述更新消息通告了新路徑,并且確定了該新路徑與路徑探測事件相關聯(lián),則所述判定包括,不將所述新路徑包括在所述選路表中。進一步地,所述方法優(yōu)選還包括,考慮所述確定的結果,對將被包括在將發(fā)送給其它路由器的更新消息中的選路信息做出判定,其中,如果確定了新路徑與路徑探測事件相關聯(lián),則新路徑不被包括在將發(fā)送器給其它路由器的更新消息中。根據一個優(yōu)選實施例,所述確定使用生成式隨機信號模型,并且優(yōu)選隱馬爾可夫模型(HMM)。生成式隨機模型具有允許觀察的優(yōu)勢,其中,在當前情況下,所述觀察包括例如從所述更新消息中導出的信息的拓 撲信息。應當指出,可以還使用稱為條件隨機場(CRF)的HMM有區(qū)別等價體。然而,通常CRF將是較不合適的模型,因為其不易于合并未標記的數據,并且通常CRF為達到好的性能精度需要大量訓練數據。根據其進一步展開的實施例,所述模型使用多個狀態(tài)來對多個通信信道進行建模,所述多個通信信道具有這樣的輸出,所述輸出被用于選擇將被用于所述目的地的路徑。以及其中,所述接收的更新消息和所述選路表中的信息被用于提供關于所述狀態(tài)的概率數據。如果使用HMM模型,則所述HMM優(yōu)選包括-優(yōu)選至少4個的N個隱式狀態(tài)Si,其中KiSN的,其中所述數量的隱式狀態(tài)描述所述路由器上游的一組路由器的選路狀態(tài),所述組與路徑探測事件相關聯(lián);-每隱式狀態(tài)的M個觀察符號0,所述觀察符號對應于在所述更新消息中接收的所述路徑序列;-狀態(tài)轉移概率分布Bij=PQw1|qi,t ),其中I彡i,j彡N;其中,P(qi,t+1|qi,t)是時刻t+1的實際狀態(tài)等于S」并且時刻t的在先實際狀態(tài)在時刻t為Si的概率;-狀態(tài)j下的觀察概率分布bj(O)=P (Ot qi,t),其中I彡j彡N,P (Ot qijt)是在時刻t的實際狀態(tài)q]下發(fā)出時刻t的觀察的概率。-初始狀態(tài)分布Jii= PQiJ,其中I彡i彡N,PQiJ是具有初始狀態(tài)SJA概率。將要使用的狀態(tài)的數量通常為四或五。可能的狀態(tài)和觀察符號將在下面的詳細附圖描述中進一步闡述。在所述路由器是具有許多對端和選路信息庫(RIB)的BGP路由器的情況下,該RIB通常包括-存儲來自入站更新消息的選路信息的Adj-RIBs-In部分;-存儲所述選路表即所述選擇的路由的Loc-RIB部分,以及-存儲將被包括在將發(fā)送給其BGP對端的更新消息中的選路信息的Adj-RIBs-Out部分;其中,所述接收的更新消息的路徑序列被存儲在所述Adj-RIBs-In部分中;其中,所述Loc-RIB部分和Adj-RIBs-Out部分在考慮該確定的結果的情況下被更新。進一步地,本發(fā)明涉及一種路由器,其通常是BGP路由器,具有將被用于至少一個目的地的路由,其中,所述路由器適于發(fā)送和接收具有選路信息的更新消息,其包括-接收裝置,其用于接收更新消息,所述更新消息包含用于目的地的路徑或路徑撤回;-確定裝置,其用于確定所述(撤回)路徑是否與路徑探測事件相關聯(lián);-與所述確定裝置進行通信的判定裝置,其用于,考慮所述確定的結果,對所述選路表的更新做出判定。
根據一個優(yōu)選實施例,所述確定裝置包括隨機建模裝置,所述隨機建模裝置優(yōu)選是HMM建模裝置,其適于根據所使用的模型的以上公開的實施例中的任一個運轉。根據進一步展開的實施例,所述路由器是BGP路由器,所述選路表(Loc-RIB)是所述RIB的一部分,以及,所述RIB進一步包括用于存儲所述接收的用于所述目的地的未通告(撤回)路徑的Adj-RIB-In以及Adj-RIB-Out ;其中,所述判定裝置適于,如果新路徑或撤回與路徑探測相關聯(lián),則不在所述Loc-RIB和所述Adj-RIB-Out中存儲所述新路徑或撤回。
附圖用于示出本發(fā)明的當前優(yōu)選非限制性示例性實施例。當結合附圖閱讀時,從以下詳細描述中,本發(fā)明的以上和其它優(yōu)點或特征及目的將變得顯而易見,并且本發(fā)明將被更好地理解,其中、
圖IA-C是示出當前技術的選路系統(tǒng)中的路徑探測的拓撲圖;圖2示出了當使用當前技術的方法時用于圖IA-C的示例的選路信息庫(RIB)的內容;圖3示出了當使用本發(fā)明的方法的實施例用于圖IA-C的示例的選路信息庫(RIB)的內容;圖4A-C示出了應用于具有圖4A中所示第二示例性拓撲的網絡的本發(fā)明方法的實施例;圖5示出了用于檢測路徑探測事件的HMM的實施例;圖6是本發(fā)明的路由器的一個實施例的示意圖。
具體實施例方式根據本發(fā)明的一個當前優(yōu)選實施例,邊界網關協(xié)議(BGP)被用于更新路由器中的選路信息。BGP 在征求意見(RFC)4271 (http://www. ietf. org/rfc/rfc4271)中討論,其中,征求意見4271通過參考引入于此。BGP是互聯(lián)網的選路協(xié)議,其維護指定自治系統(tǒng)(AS)中的網絡可達性的IP網絡或前綴的表。BGP是互聯(lián)網域間/AS間選路協(xié)議。路由被定義為將一組目的地配對的信息單元,所述配對是通過使用到這些目的地的路徑的屬性。在UPDATE(更新)消息中在BGP路由器之間通告路由(網絡可達性信息)。該網絡可達性信息包括關于可達性信息遍歷的自治系統(tǒng)的列表的信息。特別地,到所述一組目的地的實際路徑是在AS_路徑屬性中報告的信息,所述AS_路徑屬性列舉可達性信息已通過BGPUPDATE消息遍歷的AS號的序列。該信息將足夠用于構建AS連接即AS選路拓撲的圖,從該圖中,選路環(huán)路可以被檢測到和避免。路由被存儲在主要由Adj-RIBs-In、Loc-RIB和Adj-RIBs-Out組成的選路信息庫(RIB)中。Adj-RIB-In存儲從接收自其它BGP報告者的入站UPDATE消息學習的選路信息。其內容代表可用作決策過程的輸入的路由。Loc-RIB包含本地選路信息,所述本地選路信息由BGP報告者通過對包含在其Adj-RIBs-In中的選路信息應用路由選擇規(guī)則和本地策略而選擇出。這些是將被本地BGP報告者使用的路由。Adj-RIBs-Out存儲本地BGP報告者選擇通告到其對端的信息。存儲在Adj-RIBs-Out中的選路信息將經由UPDATE消息通告到其對端。如果UPDATE消息包含非空撤回路由字段,則將從Adj-RIB-In中移除其目的地包含在該字段中的之前通告的路由。BGP報告者將然后運行其決策過程,因為之前通告的路由不再可用。如果UPDATE消息包含可行路由,則將使用該路由來更新Adj-RIB-In,所述更新可以是替換,或者可以是在新路由未在Adj-RIB-In中存儲情況下的添加。一旦BGP報告者更新Adj-RIB-In,則報告者將運行其決策過程,所述決策過程包括通過對存儲在其Adj-RIBs-In中的路由應用本地策略信息庫(PIB)中的策略而選擇隨后通告的路由。所選擇的將被通告到對端的路由將被存儲在Adj-RIBs-Out中。換句話說,BGP是基于 策略的最短AS_路徑向量選路協(xié)議,其通過使用包括在BGPUPDATE消息中的八3_路徑信息進行檢測來提供環(huán)路避免。然而,AS (AS_路徑)的向量的該交換將導致路徑探測現象。該現象是觀察到的BGP會聚時間延遲的根本原因。參考圖1A-1C來闡述該路徑探測過程。如圖IA中示意性示出的,在時刻t0,目的地D可以通過節(jié)點2到達。在時刻tl,節(jié)點2向其對端發(fā)送通告UPDATE消息A: [2;D],以指示目的地D可使用經由節(jié)點2的到達。該通告在節(jié)點I處被接收,以及作為其結果,節(jié)點I在時刻t2更新其選路表,以便于該選路表包括路徑[2;D]。同樣,在時刻t3,節(jié)點I將向其對端發(fā)送進一步的通告A: [1,2;D]。參考圖1B,假設,在時刻t4,目的地D不再可通過節(jié)點2到達。于是,在時刻t5,節(jié)點2向其對端(節(jié)點I和3)發(fā)送撤回UPDATE消息W: [2;D]。然而,當節(jié)點3還未被通知以節(jié)點2與目的地之間的故障時,其已向節(jié)點I發(fā)送通告UPDATE消息A: [3,2;D]。因此,節(jié)點I將從其選路表刪除[2;D],但將添加[3,2;D]。同樣,節(jié)點I將在時刻t7向其對端發(fā)送進一步的通告 A: [1,3,2;D]。類似地,如在圖IC中所示,節(jié)點3將在時刻t7’向其對端發(fā)送撤回消息W [3,2;D]。然而,節(jié)點4還未被通知以該故障,并且將在大約同一時間t7”向節(jié)點I通告A: [4,3,2;D]。于是,節(jié)點I從其選路表刪除路由[3,2; D],但在時刻t8在其選路表中添加路由[4,3,2;D]。進一步地,在時刻t9,通告UPDATE消息A: [1,4,3,2; D]由節(jié)點I發(fā)送到其對端。將顯而易見,所述路徑探測導致非常低的會聚。換句話說,盡管有這一事實通常包括在去往特定目的前綴的AS_路徑中的節(jié)點是相關的,但BGP更新未在空間上被協(xié)調。就去往同一目的地的不同々3_路徑之間的節(jié)點來說的拓撲相關性由典型互聯(lián)網AS拓撲的網格化產生。耦合于不同路徑之間的拓撲相關性的該在空間層次上的協(xié)調缺失,導致這樣的瞬態(tài)階段,在該瞬態(tài)階段期間,去往同一目的地的每個路徑在拓撲改變時被探測。路徑探測可以當目的地第一次被通告和當目的地被撤回這兩個時候發(fā)生-在目的地通告時,跨節(jié)點拓撲的不同傳播/處理延遲可以導致,直到最優(yōu)路徑被接收之前的次優(yōu)選擇。-在目的地撤回時,如在圖1A-1C中所示,首先在發(fā)出BGP撤回UPDATE消息的BGP路由器與本地BGP路由器之間選擇許多瞬態(tài)路徑,直到沒有任何其它瞬態(tài)路徑存在為止。在這兩種情況下,對于給定目的地,時刻t(i)時的第一次通告/撤回與時刻t(i+j) (j>0)時同一目的地的新選擇路徑之間的依賴性可能導致,直到達到下一個最佳優(yōu)選路徑之前對全部中間路徑的瞬態(tài)探測。如將在下面詳細闡述的,本發(fā)明的方法的實施例提供一種技術,所述技術用于路徑探測序列檢測,以便對不利于選路系統(tǒng)會聚的域間BGP選路更新序列施加抑制。特別地,根據本發(fā)明的一個實施例,本地BGP會聚時間被從t_convergence減少到概率時間t_prob,其中t_convergence=(Max_AS_Path - Min_AS_Path)x MRAI其中,MRAI是最小路由通告間隔,即由節(jié)點發(fā)送的通告UPDATE消息之間的間隔;以及t_prob=檢測時間+交替最佳路徑選擇時間。根據本發(fā)明的一個實施例,檢測BGP_UPDATE序列中的路徑探測現象。特別地,應當確定,到來AS_Path序列是否與路徑探測事件相關聯(lián)。本發(fā)明方法的該實施例的進一步優(yōu)選步驟包括進行學習步驟,其中,識別到達路徑探測事件結束之前與該事件相關聯(lián)的最長連續(xù)AS_路徑子序列,以便預期最小化對應BGP更新對下游鄰居的影響。在圖IA的示例 性拓撲中,在學習階段期間,確定對于對每個中間狀態(tài)觀察到撤回的“最短路徑” [2;D]和“最長路徑”[4,3,2;D]。最長差別子序列因此是[4,3]。在執(zhí)行期間,在學習階段之后,當觀察到子序列[4,3]的第一個元素時,路由選擇過程將移除用于到達目的地D的任何與該序列相關的路徑。應當指出,也在執(zhí)行期間,學習可以繼續(xù),并且選擇過程可以被進一步優(yōu)化。根據所述方法的該實施例的進一步展開,基于路徑探測事件檢測和識別(特征描述),預期路由選擇過程的BGP判定。這將通常涉及用于抑制對下游節(jié)點的擾動的動作,例如,選擇交替最佳AS_路徑被通告到BGP對端。導致產生本發(fā)明的基礎觀點中的一個是基于這一現實在路徑探測事件期間,BGP選路系統(tǒng)在不同狀態(tài)之間轉移,以及,此在不同狀態(tài)之間的轉移通過馬爾可夫鏈來管理。然而,該馬爾可夫鏈不是直接可觀察的,即,其是隱式的,因為路徑探測事件由未被通知的BGP更新過程產生。盡管如此,接收的AS_路徑序列提供概率信息,所述概率信息是關于BGP選路系統(tǒng)或感興趣網絡的至少上游部分的當前狀態(tài)。根據本發(fā)明的一個實施例,使用了隱馬爾可夫模型(HMM),其中,是對BGP選路系統(tǒng)狀態(tài)做出使用,所述BGP選路系統(tǒng)狀態(tài)代表全部BGP更新消息交換對到來BGP通信信道并且因此對本地BGP決策過程的影響。本地路由器決策過程不直接訪問或知道全局選路系統(tǒng)狀態(tài),并且因此,選路系統(tǒng)狀態(tài)模型是隱式變量。該隱式變量可以僅由本地路由器通過由BGP通信信道產生的觀察序列來感知,其中,所述BGP通信信道的順序輸出代表由本地路由選擇過程從到來BGP更新消息中接收到的AS_路徑的序列。為包括這樣的情況,其中,觀察是狀態(tài)的隨機函數,S卩,產生的模型是具有底層隨機過程的雙重嵌入隨機過程,所述底層隨機過程不可觀察(其是隱式的),但可以僅通過產生觀察序列的另一組隨機過程來觀察,所述模型被擴展為隱馬爾可夫模型(HMM)。所述模型代表作為馬爾可夫鏈的隨機序列,其中,狀態(tài)不被直接地觀察,而與概率密度函數(Pdf)相關聯(lián)。隨機序列的生成然后是在鏈中隨機游走的結果(即,對狀態(tài)的隨機序列和在狀態(tài)的每個訪問處的拖畫(稱為發(fā)出)的瀏覽)。作為感興趣的量的狀態(tài)序列可以通過定義到每個狀態(tài)中的隨機過程來觀察(即,通常,在能夠將狀態(tài)序列Q與觀察序列0相關聯(lián)之前,每個狀態(tài)的Pdf的參數必須已知)。狀態(tài)的真實序列因此被第一層隨機過程隱藏。根據本發(fā)明的一個優(yōu)選實施例,隱馬爾可夫模型(HMM)被用于路徑探測事件的檢測。在詳細闡述HMM如何在本發(fā)明中被使用之前,為更好地理解本發(fā)明,將簡要回顧離散馬爾可夫鏈的原理。進一步參考由R. Rabiner所著的命名為“A Tutorial on Hidden MarkovModels and Selected Applications in Speech Recognition”的文章,IEEE會議錄,第 77卷,第2號,1989年2月。離散馬爾可夫鏈考慮這樣的系統(tǒng),該系統(tǒng)可以在任意時刻被描述為是一組N個相異狀態(tài)(S1, S2,…,Sn)中的一個。在規(guī)律地隔開的離散時刻,系統(tǒng)根據關聯(lián)于狀態(tài)的一組概率經歷狀態(tài)改變。通常,所述系統(tǒng)的特征由一組狀態(tài)轉移概率來描述Aij=Pf;在時刻 t+1 處 qj I 在時刻 t 處 qikP^t+i I qi,t)(公式 I)其中,I≥i,j≥N,并且使得%,以及其中,時刻t+1處q」是指時刻t+1處實際狀態(tài)等于S」,以及其中,時刻t處Qi是指時刻t處在先實際狀態(tài)為S”該隨機過程可以稱為可觀察的馬爾可夫模型,因為該過程的輸出是每個時刻處的狀態(tài)集合,其中,每個狀態(tài)對應于物理的(可觀察的)事件。隱馬爾可夫模型具有N個隱式狀態(tài)和對應于被建模系統(tǒng)的物理輸出的每狀態(tài)M個相異觀察符號的隱馬爾可夫模型(HMM)由三個概率分布來定義-(狀態(tài))轉移概率分布A=匕」},其中,從狀態(tài)i(qj走到狀態(tài)j (q」)的概率Bij由P(在時刻t+1處q」I在時刻t處qi)=P(qi,t+1|qi,t)給出,其中,I彡i,j彡N ;-觀察概率分布B={bj (0)},其中,bj (0) =P (時刻t處的0 I時刻t處的qj) =P (OJqjjt),S卩,bj是在狀態(tài)j下發(fā)出觀察向量0的概率分布。在離散情況下,每個觀察Ot從對應于被建模系統(tǒng)的物理輸出的M個觀察符號的庫中取其值。發(fā)出概率是由每個狀態(tài)Qj描述其特征的pdf。-初始狀態(tài)分布TI={TI J,其中,TIi=P (在t=l處qi) =PQu)給出初始概率。對于將在現實世界應用中有用的模型入=(A,B,TI),必須解決三個基礎問題。問題I :給定觀察序列0 = O1, 02,. . .,Ot,以及模型X = (A,B,TI ),問題是計算P(0入),給定模型入情況下,觀察序列0的概率。該問題通常通過向前和向后算法來解決。問題2:給定觀察序列O = O1, O2, , Ot,以及模型\ = (A,3,TI),找出與給定觀察序列相關聯(lián)的最優(yōu)狀態(tài)序列Q = qi,q2,. . .,qT。一種用于找出單一最佳狀態(tài)序列(給定模型X,使P(QlO)最大)的正式技術存在于動態(tài)編程方法,稱為Viterbi算法。問題3 :確定一種方法,所述方法用于將模型參數A、B和TI調整為使給定模型的觀察序列0的概率最大。不存在任何已知的用于分析地解出最大化觀察序列的概率的模型的方法。實際上,給定任意有限觀察序列作為訓練數據,不存在任何估計模型參數的最優(yōu)方法。然而,可以使用例如Baum-Welch方法的迭代過程選擇使得P (01 X )本地最大化的入=(A, B, TI ) o用在本發(fā)明的一個實施例中的HMMHMM對觀察0和選路系統(tǒng)事件Q同時出現的概率進行建模,即,其是聯(lián)合分布P(0,Q)的代表。問題包括,以路徑探測序列的加速的生成和隨后在路徑探測命中的最小數量已被達到之后對充足AS-路徑的選擇(或生成)為目的,對觀察到的AS-路徑序列進行分類。BGP選路系統(tǒng)的每個狀態(tài)被建模為HMM狀態(tài)。對于HMM定義四或五個隱式狀態(tài)。HMM的輸出填充Loc-RIB。應當指出,可以每目的前綴或前綴集群地應用該模型。觀察0被建模為由BGP路由選擇過程因此在BGP路由選擇過程執(zhí)行之前接收到的AS路徑。應當指出,基于每目的前綴提取出AS路徑屬性信息。如果定義-A :前綴的通告(AS路徑或屬性沒有任何改變);
-A+ :具有增加的AS路徑長度的前綴的通告(更新為更長的AS路徑);_A%具有同一 AS路徑但不同屬性的前綴的通告(屬性的更新);-A0 :具有相同長度的不同路徑的前綴的通告(對相同長度的不同AS路徑的更新);-W⑷對于給定前綴的AS路徑A的撤回。因此,一種普遍形式的路徑探測是增加的AS路徑長度(對于已通告的前綴)的序列,其后跟隨撤回W,那些觀察在時間上緊密耦合:A、{A+,A°,A*}、W。A+、A°和A*更新是代表瞬態(tài)選路狀態(tài)的中間更新。感興趣的即描述路徑探測事件的特征的一般通告/撤回序列可以被表示如下A0, W (A0),{A+,A0jAl1KA1),{A+,A0,A *}2,W(A2),…通常,該序列可以以撤回或穩(wěn)定化到新優(yōu)選最佳路徑而終止,所述新優(yōu)選最佳路徑被定義為A,{A+,A°,A*K,其中,c是指示取自集合{A+,A°,A*}的事件中的一個的重復的正整數值,以及其中,整數c的最小值是1,并且整數c的最大值是n-1。實際上,在路徑探測現象期間,本地AS可以探測來自長度為C2 (Min_AS-Path+l)到Cn : (Max_AS_Path)的循環(huán)的全部狀態(tài)。此時應當指出,所述AS-路徑序列是填充Loc-RIB的BGP路由選擇過程的結果。在Adj-RIB-In中維護的到來BGP選路更新的實際序列例如是如下形式的Adj-RI3-In A0, {A+, A0, A * } 1 . . .,{A+, A0, A * }m, W(A0), W(A1), . . . ,W(Am2)jW(Am)對于圖IA-C的示例,在連續(xù)的時刻處,以下觀察被放入用于目的D的Adj-RIB-In中,如在圖2和3中所不Adj-RIB-In [2],[3,2], ff[2], [4,3,2],W [3,2],ff[4, 3,2]由根據當前技術的BGP路由選擇過程選擇的對應AS路徑為Loc-RIB A0, (A0} ^ . . . , {A0}m, A1, A2,…,Am,沒有任何一個對于圖IA-C的示例,在連續(xù)時刻對于目的地D選擇的路徑在圖2中示出Loc-RIB [2],[2],[3,2],[3,2],[4,3,2],沒有任何一個由本地BGP路由器通告到其下游鄰居的通告/撤回為(其中K1=IkH I1,...,Am = {A+,A0, A*}m) Adj-RI3-0ut A0, {A0} 1, ,{A丄,W(A0),A1, W (A1), ,W(Aml), Am,W (Affl) 對于圖IA-C的示例,對于目的地D通告的路徑在圖2中示出Adj-RIB-Out :[I,2],[I,2], W [I, 2], [1,3,2], [1,3,2],W[l,3,2],[1,4,3,2],W[l,4,3,2]根據本發(fā)明的一個實施例,一旦Adj-RIB-In模式已知,則目的是作為到來BGP更新流程的一部分檢測將導致流出BGP更新的所述模式的AS-路徑(序列)。換句話說,期望在給定特定觀察序列0:P(q|0)的情況下確定用于到達“路徑探測命中”的最可能狀態(tài)序列。然后從BGP路由選擇過程移除對應觀察序列,從而直接導致不暴露瞬態(tài)本地判定的BGP更新。在Adj-RIB-In中維護的到來BGP選路更新的實際序列可以與當前技術的相同A0, {A+,A0, A * I1, , {A+,A0, A*}m,ff (A0),W (A1), . . . ,ff(Am :), W(Am)。通過檢測到觀察子序列{A+,A0,A* }!,…,{A+,A0, A*}ffl,W (A0),…,W (Affl)是探測序列的一部分,由BGP路由選擇過程選擇的對應AS-路徑是由以下通告序列給出的那個 LOc-RIB A0, {A。} :, ,{A0}m,沒有任何一個對于圖IA-C的示例,當使用本發(fā)明方法的實施例時,在連續(xù)時刻對于目的地D選擇的路徑在圖3中不出Loc-RIB [2],[2],沒有任何一個由本地BGP路由器通告到其下游鄰居的通告/撤回序列因此將變?yōu)锳dj-RIB-Out A0, (AcJ1, . . . , {A0}m, W (A0)對于圖IA-C的示例,當使用本發(fā)明方法的實施例時,對于目的地D通告的路徑在圖2中示出Adj-RIB-Out : [I,2],[1,2],W[1,2]圖4A示出了當與圖IA-C的示例相比時包括許多額外節(jié)點(節(jié)點5-9)的另一示例性拓撲。在該示例中,在圖4B中所示的學習階段期間,識別出子序列[5,4,3]。在圖4C中所示的正常執(zhí)行期間,選擇將以下路徑放入Loc-RIB: [2],[3,2], [6,7,8,9];Adj-RIB-Out [l,2],ff[l,2], [1,3,2],W[l,3,2],[6,7,8,9]應當指出,此處,路徑[3,2]不是如圖3的示例中那種情況的立即撤回。取決于學習階段,可以是(為減少錯誤誤報),當探測事件發(fā)生時,這不是立即特定的(所述情況通常由于策略改變不與拓撲改變相關而發(fā)生)。在所述情況下,可以選擇例如圖4A-C的示例中的路徑[3,2]的路徑,盡管該路徑實際上不再可用。然而,如從[4,3,2]和[5,4,3,2]被移除立即會聚為[6,7,8,9]的事實顯而易見的,路徑探測的不利影響被極大地減小。用于對選路系統(tǒng)進行建模的HMM的實施例根據本發(fā)明的一個實施例,提出的用于每目的前綴或每目的前綴集合地對選路系統(tǒng)狀態(tài)進行建模的HMM的特征如下,其中,所述目的前綴集合經歷相同的狀態(tài)轉移-N(模型中隱式狀態(tài)的數量)4或5這四個狀態(tài)被定義如下,同樣見圖5 狀態(tài)_1 (SI):沒有任何AS_路徑改變,狀態(tài)_2 (S2):重新初始化,狀態(tài)_3 (S3) :AS_路徑增加,狀態(tài)_4 (S4):路徑探測命中。這些狀態(tài)實際代表在本地BGP路由器處不可直接觀察的隱式全局選路狀態(tài)的特征。術語“全局”在這里應當理解為,關于在路徑探測事件中所涉及的AS,在本地路由器“上游”的選路系統(tǒng)的部分。
為進一步改進模型,第五狀態(tài)S5可以被添加,以說明“無探測”撤回通常,不是所有撤回應當被認為是導致路徑探測命中的狀態(tài)序列的一部分。實際上,HMM應當通常認為,僅W(Atl)是探測命中的觸發(fā)器,在W(Atl)之前出現的與通告A1,. . . ,Ani相關聯(lián)的中間狀態(tài)不應當被認為是探測序列的一部分。考慮該影響將導致在我們的模型中引入第五狀態(tài)。-M (每狀態(tài)的相異觀察符號的數量)這些符號對應于在BGP更新消息中被接收、被存儲在Adj-RIB-In中并且被填充Loc-RIB的BGP路由選擇過程處理的AS序列。-A :其中I < = i, j < = N的狀態(tài)轉移概率分布= P (q」,t+1 t )對應于選路系統(tǒng)狀態(tài)的各個狀態(tài)轉移。-B :狀態(tài)j下的觀察概率分布,bi (0) = P (Ot I qj, t)。
-n :初始狀態(tài)分布A、B和n的初始參數可以使用技術人員熟知的技術來確定。A和n通常被統(tǒng)一地選擇,而對于B,最大似然和k均值是使用最多的技術。學習模型和對AS-路徑序列進行分類分類器是將觀察到的AS路徑(0)映射到BGP狀態(tài)事件類的函數h。學習過程的目標是找出正確預測新AS-路徑的類h(0)的函數h。用于該學習過程的一個訓練示例是對(0,q),其中,q是指狀態(tài),并且與標簽相關聯(lián)。將參考一組N個所述示例作為訓練數據。訓練數據實際上由(0,q)對的序列組成。這些序列展示順序相關,其中,順序相關是路徑探測現象的特征。即,0和q值附近的很可能彼此相關。例如,在拓撲改變發(fā)生之前,q標簽值的全部將是“沒有任何AS-路徑改變”。其后,q標簽值的全部將是“AS-路徑增加”。所述模式可以被用于提高分類器的預測精度。在當前的情況下,有可能通過查找典型(合法)序列的分布以及然后察看當BGP選路狀態(tài)改變時該分布改變來探測序列。目標是構建在給定輸入序列0的情況下可以正確預測新標簽序列q=h (0)的分類器h。假設代價函數L(i,j)給出將狀態(tài)標簽值i指派給其真實標簽值為j的示例的代價。目標是找出最小化預期代價的分類器h。代價函數評估與包含(部分)路徑探測序列的BGP路由選擇相關聯(lián)的損失丟失的路徑探測事件,錯誤的肯定判定(當實際上不存在任何一個時,分類聲明路徑探測事件;所述錯誤可能通常在太迅速地做出判定時發(fā)生)以及錯誤的否定判定(當實際上其是時,分類不將事件聲明為路徑探測事件;所述錯誤通常在太慢做出判定時發(fā)生)。由于HMM是聯(lián)合概率密度估計器P (0,Q)的代表,所以其可以被用于使用條件概率密度估計器P (Q I 0)計算給定任意特定觀察序列0情況下任意特定狀態(tài)q的概率。對新的觀察序列0進行分類然后通過選擇具有最小預期代價的分類來實施,該最小預期代價由在給定觀測0的情況下預測最優(yōu)值q’的公式(也見上面在關于HMM的小節(jié)中定義的問題2)提供q' -arg minqi E qjP(QjlO)Uqi, qj將代價函數并入AS-路徑序列的分類任務由此包括預測輸出序列中的(狀態(tài))標簽的全部的(條件)聯(lián)合分布P O)。如果可以精確地預測該聯(lián)合分布,則可以評估代價函數,以及可以對于觀察序列0選擇最優(yōu)判定。實際上,由于序列的長度T可以非常長,對該等式的直接評估要求O(Nt)概率的評估(其中N是標簽的數量),該評估可能是不切實際的。然而,當代價函數取決于整個序列時,即,代價函數僅與對整個序列進行分類相關,則該計算可以在O(N2L)時間內實施,其中L是觀察序列O的長度。在此情況下,找出具有最大概率的q’包括計算q' = argmaxai P (qj | O)該表達式可以借助于對應于第二 HMM問題的Viterbi算法來計算。計算(通過應用Bellman的動態(tài)編程算法)包括為 每個類和時間間隔
的每個時間步長指派最可能狀態(tài)轉移序列的概率。當算法到達序列結尾時,其已計算了從時刻O到時刻t的最可能路徑及其概率。換句話說,通過確定給定特定觀察序列O情況下的最可能狀態(tài)序列,可以隔離對應于“路徑探測命中”的觀察序列并從BGP路由選擇過程移除其差異。本發(fā)明的路由器系統(tǒng)的簡化實施例最后,圖6示出了根據本發(fā)明的路由器系統(tǒng)的一個實施例,其中,已示出僅與本發(fā)明相關的部分。該路由器系統(tǒng)使用RIB 11,所述RIB 11由處理裝置12使用特別來自狀態(tài)數據庫14和策略信息庫15的信息進行更新。處理裝置12包括HMM功能13,HMM功能13用于確定路徑是否與路徑探測事件相關聯(lián),以便能夠對將被放入Loc-RIB和Adj-RIB-Out中的路徑做出合適的選擇。這由包括選擇功能的判定裝置16來完成。盡管上面已結合特定實施例闡述了本發(fā)明的原理,但應當清楚地理解,本說明書僅作為示例并且不作為對保護范圍的限制給出,所述保護范圍由所附權利要求確定。
權利要求
1.一種用于更新多個路由器中的路由器的選路表的方法,所述選路表包括將被用于至少ー個目的地的路由,其中,在典型為BGP路由器的所述多個路由器之間發(fā)送具有選路信息的更新消息,其中,在所述路由器處實施以下步驟 -接收包含用于目的地的路徑或路徑撤回的更新消息; -確定所述(撤回)路徑是否與路徑探測事件相關聯(lián); -考慮所述確定的結果,對所述選路表的更新做出判定。
2.根據權利要求I的方法,其中,所述確定使用生成式隨機信號模型。
3.根據權利要求2的方法,其中,所述確定使用隱馬爾可夫模型(HMM)。
4.根據權利要求I的方法,其中,所述路徑探測事件與許多非最優(yōu)瞬態(tài)路徑相關聯(lián),以及其中,識別出所述瞬態(tài)路徑的最長連續(xù)路徑序列,以及其中,對所述選路表的更新做出判定還考慮所述識別的序列,以便確定包含在更新消息中的路徑是否應當被選擇。
5.根據權利要求I的方法,其中,如果所述更新消息通告新路徑,并且確定該新路徑與路徑探測事件相關聯(lián),則所述判定包括不把所述新路徑包括在所述選路表中。
6.根據權利要求I的方法,其進ー步包括步驟 考慮所述確定的結果,對將被包括在將發(fā)送給其它路由器的更新消息中的選路信息做出判定。
7.根據權利要求5和6的方法,其中,所述判定包括,不把所述新路徑包括在將被發(fā)送給其它路由器的更新消息中。
8.根據權利要求2的方法,其中,所述模型使用多個狀態(tài)來對多個通信信道進行建摸,所述多個通信信道具有這樣的輸出,所述輸出被用于選擇將被用于所述目的地的路徑;以及其中,接收的更新消息和所述選路表中的信息被用于提供關于所述狀態(tài)的概率數據。
9.根據權利要求I的方法,其中,所述路由器是具有許多對端和選路信息庫的BGP路由器,所述選路信息庫包括 -Adj-RIBs-In部分,存儲來自入站更新消息的選路信息; -Loc-RIB部分,存儲所述選路表,即選擇的路由,以及 -Adj-RIBs-Out部分,存儲將被包括在將發(fā)送給其BGP對端的更新消息中的選路信息; 其中,接收的更新消息的路徑序列被存儲在所述Adj-RIBs-In部分中; 其中,考慮該確定的結果,對所述Loc-RIB部分和所述Adj-RIBs-Out部分進行更新。
10.根據權利要求3的方法,其中,所述HMM使用 -優(yōu)選至少4個的N個隱式狀態(tài)Si,其中,I < i < N,所述數量的隱式狀態(tài)描述所述路由器上游的ー組路由器的選路狀態(tài)的特征,所述組與路徑探測事件相關聯(lián); -每隱式狀態(tài)的M個觀察符號0,所述觀察符號對應于在所述更新消息中接收的所述路徑序列; -狀態(tài)轉移概率分布au=P (qj,t+1|qi,t),其中,I彡是在時刻t+Ι的實際狀態(tài)等于も并且時刻t的在先實際狀態(tài)在時刻t為Si的概率; -狀態(tài)j下的觀察概率分布,bj (O) =P (Ot I q^),其中,I彡j彡N,P (Ot | qJjt)是在時刻t的實際狀態(tài)qj下在時刻t發(fā)出觀察O的概率; -初始狀態(tài)分布L = PQiil),其中,I < i ^ N, P(qia)是具有初始狀態(tài)Si的概率。
11.根據權利要求10的方法,其中,所述許多狀態(tài)包括-第一狀態(tài)S1,指示不存在任何所述路徑的改變; -第二狀態(tài)S2,指示重新初始化; -第三狀態(tài)S3,指示路徑長度的増加; -第四狀態(tài)S4,指示路徑探測事件的出現; -以及可選的第五狀態(tài),指示不導致路徑探測事件的路徑撤回。
12.根據權利要求10的方法,其中,更新消息可以包括對包含許多路徑屬性的路徑和/或路徑撤回的通告,以及其中,所述觀察符號包括 -對目的地沒有任何路徑或路徑屬性改變的通告A ; -對目的地具有增長的路徑長度的路徑的通告A+ ; -對目的地具有相同路徑但不同路徑屬性的通告A* ; -對目的地具有同一長度的不同路徑的通告A° ; -用于給定目的地的路徑A的撤回W (A)0
13.ー種典型為BGP路由器的路由器,具有包括將被用于至少ー個目的地的路由的選路表,其中,所述路由器適于發(fā)送和接收具有選路信息的更新消息,所述路由器包括 -接收裝置,用于接收更新消息,所述更新消息包含用于目的地的路徑或路徑撤回; -確定裝置,用于確定所述(撤回)路徑是否與路徑探測事件相關聯(lián); -與所述確定裝置進行通信的判定裝置,用于考慮所述確定的結果對所述選路表的更新做出判定。
14.根據權利要求13的路由器,其中,所述確定裝置包括優(yōu)選為HMM建模裝置的隨機建模裝置,適于按照根據權利要求10-12中任ー個的方法運轉。
15.根據權利要求14的路由器,其中,所述選路表(Loc-RIB)是RIB的一部分,所述RIB進ー步包括,用于存儲所述接收的用于所述目的地的(撤回)路徑的Adj-RIB-In,以及Adj-RIB-Out ; 其中,所述判定裝置適于,如果新路徑或撤回與路徑探測事件相關聯(lián),則不將該新路徑或路徑撤回存儲在所述Loc-RIB和所述Adj-RIB-Out中。
全文摘要
用于更新多個路由器中一個路由器的選路表的方法,所述選路表包括將被用于至少一個目的地的路由,其中,在典型為BGP路由器的所述多個路由器之間發(fā)送具有選路信息的更新消息,其中,在所述路由器處實施以下步驟接收包含用于目的地的路徑或路徑撤回的更新消息;確定所述(撤回)路徑是否與路徑探測事件相關聯(lián);考慮所述確定的結果,對所述選路表的更新做出判定。
文檔編號H04L12/56GK102714622SQ201080060530
公開日2012年10月3日 申請日期2010年12月20日 優(yōu)先權日2010年1月4日
發(fā)明者D·帕帕季米特里烏 申請人:阿爾卡特朗訊公司