專利名稱:用于路由信息庫的改進(jìn)更新的方法和路由器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種在更新網(wǎng)絡(luò)節(jié)點(diǎn)的路由信息庫時(shí)使用的方法,其中,將具有路由信息的更新消息從每個(gè)節(jié)點(diǎn)發(fā)送到它的 對(duì)等體。本發(fā)明還涉及一種路由器,典型地是BGP路由器,以及一種用于在這種路由器中使用的處理裝置。
背景技術(shù):
存在通過增加路由信息傳播速度或者通過進(jìn)行原發(fā)性標(biāo)記來增加路由狀態(tài)的數(shù)量并備份AS路徑來改進(jìn)BGP收斂的多種方法。第一種方法的缺點(diǎn)是最佳通告間隔取決于可變的拓?fù)洹:笳叩牟蛔闶窃诼酚善髦芯S護(hù)的路由狀態(tài)數(shù)目會(huì)翻倍。
發(fā)明內(nèi)容
本發(fā)明的目標(biāo)是提供一種允許以改進(jìn)方式對(duì)路由信息庫進(jìn)行更新的方法、路由器和處理裝置。根據(jù)本發(fā)明的實(shí)施例,提供一種用于更新網(wǎng)絡(luò)節(jié)點(diǎn)的路由信息庫的方法,其中,將具有所選路由的更新消息從每個(gè)節(jié)點(diǎn)發(fā)送至它的對(duì)等體,更新消息包括用于所選路由的拓?fù)湫畔?。所述拓?fù)湫畔⒃试S按改進(jìn)的方式來更新路由信息庫。根據(jù)特定的實(shí)施例,本發(fā)明涉及一種用于更新網(wǎng)絡(luò)節(jié)點(diǎn)的更新路由信息庫的方法,所述路由信息庫包括用于所述網(wǎng)絡(luò)的多個(gè)目的地節(jié)點(diǎn)中的每個(gè)目的地節(jié)點(diǎn)的多個(gè)路徑。在所述網(wǎng)絡(luò)中將具有路由信息的更新消息從第一節(jié)點(diǎn)發(fā)送到其對(duì)等體,所述第一節(jié)點(diǎn)具有第一路由信息庫并且每個(gè)對(duì)等體也具有路由信息庫。更新消息包括用于所述多個(gè)目的地節(jié)點(diǎn)中的第一目的地節(jié)點(diǎn)的所選路徑,所述所選路徑包括臨近第一節(jié)點(diǎn)的下一跳節(jié)點(diǎn);以及至少一個(gè)路由拓?fù)渥兞浚瑑?yōu)選地從用于所述第一目的地的第一路由信息庫中存儲(chǔ)的多個(gè)路徑導(dǎo)出所述路由拓?fù)渥兞?。?yōu)選地,所述至少一個(gè)路由拓?fù)渥兞渴菍?duì)于與所選路徑中的瓶頸相關(guān)的風(fēng)險(xiǎn)的測量。按這種方式,當(dāng)決定路徑以選擇第一目的地時(shí),接收更新消息的節(jié)點(diǎn)能夠考慮所述至少一個(gè)拓?fù)渥兞?。根?jù)優(yōu)選的實(shí)施例,至少一個(gè)路由拓?fù)渥兞堪ǘ鄻有宰兞?diversityvariable),該變量涉及第一路由信息庫中存儲(chǔ)的用于所述第一目的地節(jié)點(diǎn)的多個(gè)路徑;和/或集中變量(concentration variable),其涉及第一路由信息庫中存儲(chǔ)的多個(gè)路徑,其與用于第一目的地節(jié)點(diǎn)的所選路徑具有相同的下一跳節(jié)點(diǎn)。這些變量可以例如表示為Rs和BC,其將在下面的圖說明中進(jìn)行進(jìn)一步詳述。根據(jù)優(yōu)選的實(shí)施例,所述方法進(jìn)一步包括考慮從第一節(jié)點(diǎn)接收的至少一個(gè)拓?fù)渥兞?,在第一?jié)點(diǎn)的對(duì)等體處決定所述對(duì)等體的路由信息庫的更新的步驟。根據(jù)本發(fā)明的優(yōu)選實(shí)施例,由邊界網(wǎng)關(guān)協(xié)議(BGP)路由器來表示多個(gè)節(jié)點(diǎn)中的每個(gè)節(jié)點(diǎn)。當(dāng)使用BGP時(shí),在BGP路由器處保持IP網(wǎng)絡(luò)的表或“地址前綴”(或簡稱為“前綴”),前綴指定了自治系統(tǒng)(AS)中的網(wǎng)絡(luò)可達(dá)性(reachability)。在BGP的情況下,路由信息庫(RIB)典型地包括第一部分(Adj-RIBs-In),存儲(chǔ)來自入站(inbound)更新消息的路由信息;第二部分(Loc-RIB),存儲(chǔ)所選擇的本地路由信息;以及第三部分(Adj-RIBs-Out),存儲(chǔ)更新消息中包括的路由信息,其中將所述更新消息發(fā)送到BGP的BGP對(duì)等體。所選擇的用于第一目的地的路徑包含在更新消息中,其中由第一節(jié)點(diǎn)將所述更新消息發(fā)送其對(duì)等體,在所述對(duì)等體的第一部分中存儲(chǔ)所述更新消息;并且考慮從第一節(jié)點(diǎn)接收的更新消息中包含的至少一個(gè)拓?fù)渥兞?,更新所述?duì)等體的第二部分和第三部分。根據(jù)優(yōu)選的實(shí)施例,多樣性的變量涉及多個(gè)路徑,該路徑存儲(chǔ)在用于所述第一目的地節(jié)點(diǎn)的第一路由信息庫的第一部分中。跟據(jù)本發(fā)明的優(yōu)選實(shí)施例,集中變量涉及第一路由信息庫的第二部分中存儲(chǔ)的多個(gè)路徑,該第一路由信息庫與用于目的地節(jié)點(diǎn)的所選路徑具有相同的下一跳節(jié)點(diǎn)。根據(jù)可替換的解決方案,第一部分還可以用于獲取集中變量。根據(jù)本發(fā)明的優(yōu)選實(shí)施例,更新消息是BGP更新消息,其包括具有所選路徑和被編碼為與AS_路徑屬性相匹配的矢量的多樣性和集中變量的AS_路徑屬性。 在本發(fā)明方法的典型實(shí)施例中,每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)將根據(jù)上述方法的一個(gè)實(shí)施例將更新消息發(fā)送給它的對(duì)等體。優(yōu)選地,每個(gè)節(jié)點(diǎn)所發(fā)送的更新消息還將包括從所選擇路徑中出現(xiàn)的節(jié)點(diǎn)接收的至少一個(gè)拓?fù)渥兞?。換句話說,第一節(jié)點(diǎn)所發(fā)送的更新消息將不僅包括至少一個(gè)從用于所述第一目的地的第一路由信息庫中存儲(chǔ)的多個(gè)路徑導(dǎo)出的拓?fù)渥兞?,還包括至少一個(gè)從所選路徑的其他節(jié)點(diǎn)導(dǎo)出的并且由第一節(jié)點(diǎn)通過其對(duì)等體接收的拓?fù)渥兞俊1景l(fā)明還涉及一種路由器。根據(jù)本發(fā)明的實(shí)施例,路由器包括路由信息庫,該路由信息庫包括用于網(wǎng)絡(luò)中多個(gè)目的地節(jié)點(diǎn)中的每個(gè)目的地節(jié)點(diǎn)的多個(gè)路徑;用于利用路由信息來構(gòu)成更新消息的構(gòu)成裝置,該路由信息包括用于所述多個(gè)目的地節(jié)點(diǎn)中的第一目的地節(jié)點(diǎn)的所選路徑,所述所選路徑包括鄰近路由器的下一跳;以及從用于所述第一目的地的多個(gè)路徑導(dǎo)出的至少一個(gè)路由拓?fù)渥兞?,?yōu)選地存儲(chǔ)在第一路由信息庫中。根據(jù)優(yōu)選的實(shí)施例,路由器進(jìn)一步包括處理裝置,用于處理路由器信息庫中的信息,所述處理裝置包括決策裝置,其適用于通過考慮所接收的更新消息中包含的至少路由拓?fù)渥兞?,來決定對(duì)路由信息庫的更新。本發(fā)明還涉及這樣的處理裝置。根據(jù)優(yōu)選的實(shí)施例,路由器是BGP路由器;并且路由信息庫包括Loc-RIB部分、Adj-RIB-In 部分和 Adj-RIB-Out 部分。將在所附的權(quán)利要求中公開本發(fā)明的方法和路由器的進(jìn)一步優(yōu)越的實(shí)施例。
附圖用于圖示本發(fā)明的優(yōu)選非限制示例性實(shí)施例。當(dāng)結(jié)合附圖閱讀下面的詳細(xì)說明時(shí),將更好地理解本發(fā)明并且本發(fā)明的上述和其它優(yōu)點(diǎn)或特征以及目標(biāo)將變得更為明顯,其中圖I是示出了 BGP路由信息處理的示意圖;圖2是示出了通過本發(fā)明實(shí)施例能夠解決的第一問題的拓?fù)鋱D;圖3是示出了通過本發(fā)明實(shí)施例能夠解決的第二問題的拓?fù)鋱D;圖4是示出了在本發(fā)明的實(shí)施例中所使用的多個(gè)定義的拓?fù)鋱D;圖5是示出了本發(fā)明方法的實(shí)施例的流程圖6是本發(fā)明路由器的實(shí)施例的示意圖;以及圖7是示出了本發(fā)明方法的示例性實(shí)施例的拓?fù)鋱D。
具體實(shí)施例方式根據(jù)本發(fā)明當(dāng)前的優(yōu)選實(shí)施例,邊界網(wǎng)關(guān)協(xié)議(BGP)用于在路由器中更新路由信息。然而,本領(lǐng)域技術(shù)人員將了解到,本發(fā)明并不限于BGP并且本發(fā)明還能夠與其他路徑矢量路由協(xié)議結(jié)合使用。在請(qǐng)求評(píng)議(RFC)4271(http: //www. ietf. org/rfc/rfc4271)中已經(jīng)討論了 BGP,將RFC 4271合并于此作為參考。BGP是互聯(lián)網(wǎng)的絡(luò)由協(xié)議,其保持IP網(wǎng)絡(luò)和前綴的表,其用于指定在自治系統(tǒng)(AS)之間的網(wǎng)絡(luò)可達(dá)性。BGP是互聯(lián)網(wǎng)域間/AS間路由協(xié)議,是一種基于策略的最短AS路徑矢量路由協(xié)議,其使用包含在BGP更新消息中的AS_路徑信息進(jìn)行 檢測來提供對(duì)環(huán)路的避免。在BGP中,將路由被定義為信息單元,其利用到達(dá)這些目的地的路徑屬性來對(duì)一組目的地進(jìn)行配對(duì)(可達(dá)性信息)。BGP路由器之間在更新消息中通告路由。去往該組目的地的實(shí)際路徑是在AS_路徑屬性中報(bào)告的信息,該屬性對(duì)已經(jīng)穿越BGP更新消息的可達(dá)性信息的自治系統(tǒng)(AS)成員的序列進(jìn)行枚舉。這種信息足以用于構(gòu)建AS連通性的圖示(AS路由拓?fù)?,從所述圖示中可以檢測出路由環(huán)路并且進(jìn)行避免,以及在AS級(jí)別,可實(shí)施一些策略決策。下面的段落提供有關(guān)BGP的更多細(xì)節(jié),其有助于獲得對(duì)本發(fā)明的更好的理解,但并不期望對(duì)本發(fā)明進(jìn)行限制。BGP路由器(或BGP揚(yáng)聲器)通過向它們的鄰居發(fā)送更新(UPDATE)消息來通告與目的地相關(guān)的網(wǎng)絡(luò)可達(dá)性信息,該更新消息包含一組目的地地址前綴宣告(可用的路由)或撤銷(不可用的路由)以及與去往這些目的地的路徑相關(guān)聯(lián)的屬性。宣告將路徑的相鄰BGP路由器通知給指定目的地。撤銷是指示之前通告目的地已經(jīng)不再可達(dá)的更新。當(dāng)本地BGP路由器對(duì)從由其對(duì)等BGP路由器中的一個(gè)所發(fā)送的更新消息學(xué)習(xí)的路由進(jìn)行傳播時(shí),所述本地BGP路由器基于BGP路由器的位置來修改路由的AS_路徑屬性,其中將包含所述路由的更新消息發(fā)送給所述BGP路由器。相反,路由撤銷僅包含目的地并且暗示地告訴接收者使發(fā)送者之前宣告的路由無效(或移除)?,F(xiàn)在將參考圖I來示出BGP路由信息處理。路由被存儲(chǔ)在路由信息庫(RIB)中。在每個(gè)BGP揚(yáng)聲器(speaker)中,RIB包含三個(gè)不同部分Adj-RIBs-In部分102,存儲(chǔ)從自其它BGP揚(yáng)聲器接收的入站更新消息100學(xué)習(xí)的路由信息。在應(yīng)用了導(dǎo)入策略規(guī)則101之后,這些路由典型地可用作到?jīng)Q策過程的輸入,進(jìn)
一步來看;Loc-RIB 104,包含本地路由信息,其中BGP揚(yáng)聲器通過將其本地策略103應(yīng)用于其Adj-RIBs-In部分102中包含的路由信息來選擇所述本地路由信息。這些是本地BGP揚(yáng)聲器將使用的路由,典型地在轉(zhuǎn)發(fā)表105之中;Adj-RIBs-out部分107,存儲(chǔ)路由信息,其中本地BGP揚(yáng)聲器選擇所述路由信息以用于向它的對(duì)等體進(jìn)行通告。這種路由信息將被攜帶在本地BGP揚(yáng)聲器的更新消息中,并且典型地,在應(yīng)用了導(dǎo)出策略規(guī)則106之后,通過本地?fù)P聲器的更新消息108將所述路由信息通告給其對(duì)等體,進(jìn)一步參見。換言之,Adj-RIBs-Inl02包含未經(jīng)處理的路由信息,其中已由其對(duì)等體將所述路由信息通告給本地BGP揚(yáng)聲器;Loc-RIB 104包含已經(jīng)由本地BGP揚(yáng)聲器的決策過程103選擇的路由;并且Adj-RIBS-outl07組織用于通告給特定對(duì)等體的路由(通過本地?fù)P聲器的更新消息)。當(dāng)路由器接收到更新消息,典型地,它將首先利用一些導(dǎo)入策略來應(yīng)用過濾過程101。從所有鄰居(外部的和內(nèi)部的)接收的路由的集合是一組候選路由(用于所述目的地)。接下來,BGP路由器根據(jù)本地定義的策略來調(diào)用路由決策過程103,以該組中選擇單個(gè)最佳的路由。如果接受,則將所選路由存儲(chǔ)在LOC-RIB104中。此后,所選的最優(yōu)路由歷經(jīng)一些導(dǎo)出策略106并且然后被宣告給所有路由器的鄰居。在AS路徑被宣告給外部鄰居,而不是宣告給相同AS中的內(nèi)部鄰居之前,在宣告中攜帶的AS路徑預(yù)先附加本地AS的AS號(hào)。當(dāng)BGP揚(yáng)聲器接收用于相同目的地前綴的可用路由的數(shù)目多于一個(gè)時(shí),BGP路由選擇規(guī)則103用于選擇將哪個(gè)路由安裝在Loc-RIB中。通常來說,在當(dāng)前所選擇的信息被撤銷或被取代的情況,保持未選擇/未處理的路由信息。典型地,BGP決策過程通過按下列順序應(yīng)用一個(gè)或多個(gè)下述標(biāo)準(zhǔn)來選擇路由最高的本地優(yōu)先級(jí)(使用本地配置的策略為每個(gè)外部路由計(jì)算該值,并且將所述值通告給內(nèi)部對(duì)等體)、最短的么5_路徑長度、最低的多出口識(shí)別(MED)值、到BGP出口的最低IGP成本以及最后是最小的BGP路由器ID。因此,基于所推斷的內(nèi)部-AS關(guān)系來對(duì)路由優(yōu)先級(jí)進(jìn)行轉(zhuǎn)換的的本地優(yōu)先級(jí)表明最短路徑不必要是最優(yōu)選路徑選擇不應(yīng)被限制為僅根據(jù)AS路徑長度的優(yōu)先級(jí)。為了防止路由表?xiàng)l目數(shù)量的指數(shù)級(jí)增長,BGP (或更通常地是任意路徑矢量路由)典型地僅向其(下游)BGP揚(yáng)聲器通告每個(gè)目的地的單個(gè)路由,其中通過其路由決策過程來選擇所述目的地。根據(jù)現(xiàn)有技術(shù),如果在故障的情況下所選擇的路由可能成為瓶頸,則遠(yuǎn)程路由器所處理的路由信息不會(huì)傳遞任何指示。依據(jù)本發(fā)明的實(shí)施例,拓?fù)湫畔⑴c所宣告的路由相關(guān)聯(lián),從而允許遠(yuǎn)程BGP路由器防止選擇相比于可替換的路由來說更可能變?yōu)椴豢捎玫穆酚?當(dāng)可替換的路由是可用的時(shí))?!?br>
直觀地,本發(fā)明所旨在解決的問題是使BGP揚(yáng)聲器能夠使用附加信息來執(zhí)行路由決策。換句話說,本發(fā)明的實(shí)施例提出通知瓶頸的路由選擇過程。為了更好的理解本發(fā)明所解決的問題,對(duì)圖2和3進(jìn)行參考。圖2是拓?fù)鋱D,其中在BGP的情況下,自治系統(tǒng)表示為抽象的節(jié)點(diǎn)。在這個(gè)例子中,路由器S能夠例如在AS_路徑[1,4],[2,6]和[3,8]中選擇去往目的地D的路徑。即使根據(jù)AS_路徑長度來看這三個(gè)路徑是相等的,但是它們還是不相等的,這是由于沿著這些路徑的每一個(gè)上的單獨(dú)AS具有不同的值(volume)d,其被定義為引入到指定AS的鏈路權(quán)重和。假設(shè)每個(gè)鏈路具有權(quán)重w=l,AS 6和AS 2的鏈路連通性或值等于2 (d=2), AS_4的鏈路連通性等于2 (d=2)并且AS I等于4 (d=4),而AS 3的值等于4 (d=4)且AS 8等于3 (d=3)。因此,S應(yīng)當(dāng)相比于AS_路徑[I,4]優(yōu)先地選擇去往目的地D的AS_路徑[3,8],并且最后AS_路徑[2,6]應(yīng)當(dāng)是最不優(yōu)選的選擇。然而,為了進(jìn)一步改善選擇,獲取附加信息是非常有利地,其中將圖3中推導(dǎo)出原因。AS鏈路連通性值是不會(huì)通知有關(guān)AS的相對(duì)“重要性”的量。實(shí)際上,如圖3所示,AS 2具有較小的鏈路連通性,并且對(duì)它的移除的效果無法通過其值來確定而是實(shí)際上通過跨越該AS的較高數(shù)量的路徑來確定(以及由穿越定義了 AS 2和AS 6的鄰近程度的鏈路),參見圖3中的粗線。節(jié)點(diǎn)“重要性”(有時(shí)稱作集中度)的良好測量因此包含全局信息,諸如其在網(wǎng)絡(luò)中任意節(jié)點(diǎn)對(duì)之間存在的m X η個(gè)路徑(在S2,...,Sm和D1,…,Dn之間)上所充當(dāng)?shù)慕巧H缓?。將相?yīng)的信息用于確定多少個(gè)路由共享去往下一跳AS的相同的外出鏈路。應(yīng)當(dāng)注意的是,這些路由不是必須共享相同的目的地(它們共享至少相同的下一跳AS)。當(dāng)路徑-矢量路由決策過程必須在兩個(gè)(或多個(gè))示出相同的連通性級(jí)別的可用鏈路上執(zhí)行它的決策時(shí),這些信息是非常有用的。為了以更加數(shù)學(xué)的方式定義本發(fā)明的實(shí)施例,首先參照附圖4來給出一些定義。使G=(V,E,ω)是具有正邊界成本ω的無向加權(quán)圖,其中V是頂點(diǎn)的集合(| V| =m)而E是邊界的集合(|E|=n)。頂點(diǎn)i的值(Ii定義為(Ii = Σ j w(i, j)頂點(diǎn)S的集合(或簇)的值vol⑶定義為
vol (S) = Σ i es (Ii對(duì)于圖G= (V, Ε,ω)的頂點(diǎn)集合V的分割(S,S,),我們定義切割d(S) = {(i, j) e E,i e S,j e S' }它的值vol (d(S)) = Σ i e s Ei es- w(i, j);并且切割δ⑶的電傳導(dǎo)率Φ (S)Φ (S) = vol (d(S)) /min {vol (S), vol (S' )}電傳導(dǎo)率是用于收斂速度的測量,參見“L. Lovasz和M. Simonovits的“Themixing rate of Markov chains, an isoperimetric inequality, andcomputing thevolume”(馬爾可夫鏈的混合比率、等周不等式以及計(jì)算量),Proceedings of 31st AnnualSymposium on Foundations of ComputerScience (計(jì)算機(jī)科學(xué)基礎(chǔ)的第31周年研討會(huì)會(huì)議)(FOCS) 1990,第I卷,第346頁至354頁,IEEE計(jì)算機(jī)學(xué)會(huì)出版社,1990年10月”。如果在拓?fù)鋱D中存在瓶頸,則進(jìn)行電傳導(dǎo)率的測量。通過選擇較高電傳導(dǎo)率的“區(qū)域”,可以獲得更快的收斂。我們還將介紹鏈路/節(jié)點(diǎn)的介數(shù)中心(BC,Betweenness Centrality)的概念。BC測量經(jīng)過節(jié)點(diǎn)或鏈路的最短路徑的數(shù)量,并且由此估計(jì)所述節(jié)點(diǎn)/路徑上的潛在負(fù)載,其中假定沿著最短路徑的統(tǒng)一分布。將du作為節(jié)點(diǎn)i和j之間的最短路徑的數(shù)量,并且將I作為節(jié)點(diǎn)或鏈路。du(l)是在i和j之間通過節(jié)點(diǎn)或鏈路I的最短路徑的數(shù)量。其介數(shù)為BC(I) = Σ ij (Iij(I)Zdij注意的是,較高的BC值還轉(zhuǎn)換(相對(duì)地)可能增加收斂時(shí)間的更高的計(jì)算負(fù)載。根據(jù)本發(fā)明的實(shí)施例,每個(gè)BGP路由更新消息攜帶了所構(gòu)成的路由度量或作為上述定義的節(jié)點(diǎn)連通性值vol (d(S))和切割d(S)的電傳導(dǎo)率Φ⑶的變量。實(shí)際上,這些拓?fù)涠攘勘蛔儞Q為用于BGP路由系統(tǒng)的度量。更特別地,選擇度量以用于路徑矢量路由鄰接數(shù)量的計(jì)數(shù),例如BGP對(duì)等會(huì)話,在其上接收到了相同目的地前綴(具有不同屬性)并且被安裝到在BGP情況中的Adj-RIB-In條目中。該度量是對(duì)在所接收的用于相同目的地前綴(切割所有這些鏈路鄰接會(huì)將所選擇的AS與目的地隔離)的路由數(shù)量和唯一地選擇的路由之間的比率Rs進(jìn)行的測量,例如,在BGP情況下,RS測量BGP對(duì)等會(huì)話的數(shù)量,其中通過這些對(duì)等會(huì)話已經(jīng)接收了相同的目的地前綴(可能具有不同屬性)。依據(jù)本發(fā)明實(shí)施例,每個(gè)BGP路由更新消息攜帶了作為(路徑矢量)路由度量的介數(shù)中心(BC)拓?fù)涠攘孔儞Q的變量。更特別地是,該變量可被選擇作為傳入指定AS的鏈路I的相對(duì)BC,BC_AS(1)。將BC_AS(1)定義為比率,該比率是經(jīng)由指定的下一跳AS穿越鏈路I去往目的地D的所選八5_路徑的數(shù)量與所有其他的跨域相同傳入鏈路I (經(jīng)由相同的下一跳AS)的所選路由的數(shù)量比值,例如,在BGP的情況下,典型地,所有Loc-RIB路由具有相同的下一跳AS (作為去往D的AS_路徑)。根據(jù)進(jìn)一步的實(shí)施例,使用附加的或可選的度量。該度量可以是比率Rb,該比率是去往目的地D的唯一所選路由(在Loc-RIB中安裝的路由)與通過其可接收去所述往目的地的BGP對(duì)等會(huì)話的總數(shù)的比值;因此,包括通過其接收了用于所述目的地的路由的所有BGP會(huì)話(Adj-RIB-Ιη的一部分),還包括這樣的會(huì)話,沒有通過所述會(huì)話接收用于所述目的地前綴的路由,但是,沒有對(duì)靜態(tài)路由進(jìn)行計(jì)數(shù)。
本領(lǐng)域技術(shù)人員將清楚的是,上述公開路徑矢量路由度量中的每一個(gè)還可以被獨(dú)立地使用,即本發(fā)明不要求強(qiáng)制他們進(jìn)行組合使用;當(dāng)然,他們的組合在其路由選擇過程期間為本地路由器提供更多信息(從Adj-RIB-In存儲(chǔ)一組路由到Loc-RIB)。根據(jù)本發(fā)明方法的優(yōu)選實(shí)施例,每個(gè)BGP路由更新消息攜帶被編碼為矢量的Rs和BC_AS (I)的值,所述矢量與AS_路徑屬性相匹配。度量值BC_AS(1)和RS受拓?fù)渥兓臀恢?前綴的附加/取消的影響。因此,優(yōu)選地引入了最小和最大門限來限制可能導(dǎo)致的更新當(dāng)超過最大門限(從較小的值往上)或當(dāng)超過最小門限(從較高的值往下),不重新通告相應(yīng)的屬性。其間,修改相應(yīng)的屬性并且重新通告路由器。而且,這些門限附近的振蕩效應(yīng)可通過指數(shù)補(bǔ)償(back-off)來進(jìn)行平抑。可以基于通用門限ARIMA(自回歸移動(dòng)平均)來使用更復(fù)雜的門限技術(shù)。注意的是,典型地通過最小路由通告間隔(MRAI)時(shí)間間隔來限定發(fā)送路由更新需愛哦系的速率,參見RFC 4271。在優(yōu)選的實(shí)施例中,所提出的解決方案不是增加BGP更新消息的數(shù)量。而是,基于RFC 4271中定義的當(dāng)前決策過程,將合并的度量加入所選的路由?,F(xiàn)在,將按數(shù)學(xué)術(shù)語來定義本發(fā)明的實(shí)施例。我們定義拓?fù)鋱DG=(V,E)中的路徑P為節(jié)點(diǎn)的序列(Vk,Vk_1;…,V1),k > Θ,使得對(duì)于每個(gè)i,k 彡 i > 1,IViU e E0 每個(gè)非空路徑 P = (Vk,Vk_1;.. · ,V1 ;D)具有朝向目的地D的方向,即從它的第一節(jié)點(diǎn)Vk到它的最后一個(gè)節(jié)點(diǎn)%。BGP路由期接收元組〈目的地;{屬性}>,其中除了現(xiàn)有屬性諸如P = (Vk,Vk_1;.. . ,V1 ;D)之外,{屬性}包括所建議的度量矢量[<Rs,BC(I) >k,...,< Rs, BC(I) >J。注意的是,每個(gè)元組< Rs,BC(I) > 1攜帶了用于構(gòu)成Rs和BC(I)度量的不同值,其取決于節(jié)點(diǎn)Vi本地拓?fù)浣Y(jié)構(gòu);事實(shí)上,與節(jié)點(diǎn)Vi相關(guān)聯(lián)的元組每個(gè)節(jié)點(diǎn)Vi中表示為< Rsi, BCi(I) >,鏈路I傳入節(jié)點(diǎn)Vi ;但是為了簡化標(biāo)記,我們使用<Rs,BC(I) >it)選擇過程優(yōu)選是從V1至Vk進(jìn)行遞歸運(yùn)算,使得沿著從V1至Vk路徑的每個(gè)BGP路由器Vi能夠使用關(guān)于元組<Rs,BC(I) > ^1,...,< Rs, BC(I) > !的決策標(biāo)準(zhǔn)來執(zhí)行路由選擇(基于它的Adj-RIB-In條目),從而避免瓶頸或鄰接失敗。更特別地是,V1將發(fā)送包含<Rs,BC (I) 的更新消息給V2,并且V2將發(fā)送包含<Rs,BC(I) > 2以及從V1接收的< Rs,BC(I) > ι的更新消息給V3 ;等等。圖7中示出了本發(fā)明的實(shí)例。這種實(shí)例描述了這種復(fù)合度量的組合使用。假設(shè)由節(jié)點(diǎn)I選擇的朝向D1的AS_路徑是[1,4],節(jié)點(diǎn)2選擇的路徑是[2,6],并且節(jié)點(diǎn)3選擇的路徑是[3,8]。S1能夠在去往目的地地D1的兩個(gè)其他可替換AS_路徑[1,4]和AS_路徑[2,6]上選擇去往目的地AS_路徑[3,8]。實(shí)際上,AS_3與AS_1兩者都從三個(gè)不同的BGP鄰居接收了去往目的地D1,而不是AS_路徑[2,6]情況下的一個(gè)BGP鄰居。換句話說,RS3 = 1/3且Rs1 = 1/3都小于Rs2 = 1/1。這留下AS_路徑[3,8]和AS_路徑[1,4]作為用于S1的可能選擇。然而,由于AS_3所選的路由數(shù)量(共享與傳入AS_3去往AS_8的鏈路相同的鏈路)小于AS_1所選的路由數(shù)量(共享與傳入ASl去往AS4的鏈路相同的鏈路),S1選擇八3_路徑[3,8]。換句話說,BQ([1,4])比BC3([3,8])大,這是因?yàn)槁窂絊2,· · ·,Sn經(jīng)由鏈路[1,4]去往 D2, . . .,Dn。當(dāng)節(jié)點(diǎn)AS_3向目的地01的其對(duì)等體(諸如S1)發(fā)送更新消息,該更新消息將包括所選擇的用于目的地D1的八5_路徑[3,8]以及<Rs,BC(l) >jP<Rs,BC(l) > 8。類似地,當(dāng)節(jié)點(diǎn)AS_1向目的地D1的其對(duì)等體發(fā)送更新消息,該更新消息將包括所選擇的用于目的地D1的AS_路徑[1,4]以及< Rs,BC(I) > ι和< Rs,BC(I) > 4?;谶@種信息,源S1 隨后選擇AS_路徑[3,8]。圖5示出了本發(fā)明的方法的實(shí)施例。在圖5的A部分中,在第一步驟500中,接收包含用于目的地D1的路徑Pk和相應(yīng)的拓?fù)湫畔< Rs,BC(I) > ]k的入站更新消息。在第二步驟501中,在用于D1的Adj-RIB-In 510中放入路徑Pk。相應(yīng)的拓?fù)湫畔⒈淮鎯?chǔ)以由決策裝置來使用,進(jìn)一步參見。典型地,為具有路徑Pk的目的地D1的更新消息的數(shù)量重復(fù)這些步驟,l〈k〈n,參見Adj-RIB-In 510中的結(jié)果。圖5的B部分示出了路由信息處理。在第一步驟502中,使用[< Rs,BC(l) > ]k選擇用于目的地D1的路徑,其中l(wèi)〈k〈n。在第二步驟503中,利用所選擇的路徑來更新Loc-RIB,并且在第三步驟504中,更新(例如,參考圖I所解釋的)Adj-RIB_0ut。接下來,在Adj-RIB-Out 520中,計(jì)算或者更新用于用于不同的目的地D1, D2的新的或更新的路徑Pa,Pb等的拓?fù)湫畔<Rs,BC(I) > ]a,b,...,參見步驟505。在最后的步驟506中,利用各自的路徑和拓?fù)湫畔?gòu)成的出站消息并且將其發(fā)送到對(duì)等體。最后,圖6示出了根據(jù)本發(fā)明的路由器系統(tǒng)的實(shí)施例,其中僅示出了與本發(fā)明相關(guān)的部分。路由器系統(tǒng)使用RIB 200,其中通過處理裝置210來更新RIB 200。RIB 200包括 Adj-RIB-In 202,Loc-RIB 204 和 Adj-RIB-Out 207。處理裝置 210 包括決策裝置 211和典型地還包含導(dǎo)入和導(dǎo)出策略應(yīng)用裝置(在圖6中沒有示出,但是在圖I中示出)。決策裝置211適用于在Adj-RIB-In 202中為每個(gè)目的地,從多個(gè)路徑中選擇用于該目的地的路徑。為了做出這個(gè)決策,決策裝置使用從進(jìn)入的更新消息導(dǎo)出的其他信息212,例如上述定義的〈Rs,BC(1)>元組,以及典型地存儲(chǔ)在策略信息庫(未示出)中的本地策略信息213。如參考圖I進(jìn)行的上述說明,然后,處理裝置210將使用所選擇的路徑214來更新Loc-RIB204,Adj-RIB-Out 207以及典型地還有其他實(shí)體,例如路由器的轉(zhuǎn)發(fā)部分的轉(zhuǎn)發(fā)表。盡管上面已經(jīng)結(jié)合特定實(shí)施例闡述了本發(fā)明的原理,應(yīng)當(dāng)清楚地了解的是,僅通過實(shí)例的方式來進(jìn)行上述說明并且上述說明不是對(duì)由所附的權(quán)利要求中所確定的保護(hù)范圍的限定。
權(quán)利要求
1.用于更新網(wǎng)絡(luò)節(jié)點(diǎn)的路由信息庫的方法,所述路由信息庫包括用于所述網(wǎng)絡(luò)的多個(gè)目的地節(jié)點(diǎn)中的每個(gè)目的地節(jié)點(diǎn)的多個(gè)路徑;其中,在所述網(wǎng)絡(luò)中將具有路由信息的更新消息從第一節(jié)點(diǎn)發(fā)送到所述第一節(jié)點(diǎn)的對(duì)等體,所述第一節(jié)點(diǎn)具有第一路由信息庫;其中所述更新消息包括用于所述多個(gè)目的地節(jié)點(diǎn)中的第一目的地節(jié)點(diǎn)的所選路徑,所述所選路徑包括鄰近所述第一節(jié)點(diǎn)的下一跳節(jié)點(diǎn);從可用于所述第一目的地的多個(gè)路徑得到至少一個(gè)路由拓?fù)渥兞?;所述至少一個(gè)路由拓?fù)渥兞渴菍?duì)于與所選擇路徑中的瓶頸相關(guān)的風(fēng)險(xiǎn)的測量。
2.根據(jù)權(quán)利要求I所述的方法,其中從可用于在第一路由信息庫中存儲(chǔ)的所述第一目的地的多個(gè)路徑得到至少一個(gè)路由拓?fù)渥兞俊?br>
3.根據(jù)權(quán)利要求I或2所述的方法,其中所述至少一個(gè)路由拓?fù)渥兞堪ǘ鄻有宰兞?,涉及用于所述第一目的地?jié)點(diǎn)的第一路由信息庫中存儲(chǔ)的多個(gè)路徑;和/或集中變量,涉及存儲(chǔ)在第一路由信息庫中的多個(gè)路徑,所述多個(gè)路徑與用于第一目的地節(jié)點(diǎn)的所選路徑具有相同的下一跳節(jié)點(diǎn)。
4.根據(jù)權(quán)利要求3所述的方法,所述第一節(jié)點(diǎn)的對(duì)等體具有路由信息庫,所述方法進(jìn)一步包括通過考慮從第一節(jié)點(diǎn)接收的至少一個(gè)拓?fù)渥兞?,在第一?jié)點(diǎn)的對(duì)等體處決定所述對(duì)等體的路由信息庫的更新。
5.根據(jù)權(quán)利要求I所述的方法,其中所述第一節(jié)點(diǎn)和它的對(duì)等體是BGP路由器,并且其中所述第一節(jié)點(diǎn)和它的對(duì)等體的路由信息庫包括第一部分(Adj-RIBs-In),存儲(chǔ)來自入站更新消息的路由信息;第二部分(Loc-RIB),存儲(chǔ)所選的本地路由信息,以及第三部分(Adj-RIBs-Out),存儲(chǔ)被包括在出站更新消息中的路由信息;其中在第一部分中存儲(chǔ)在所述第一節(jié)點(diǎn)發(fā)送的更新消息中包含的所選路徑;其中通過考慮所述更新消息中包含的至少一個(gè)拓?fù)渥兞?,更新所述第二部分和所述第三部分?br>
6.根據(jù)權(quán)利要求3和5所述的方法,其中所述多樣性變量涉及多個(gè)路徑,所述多個(gè)路徑存儲(chǔ)在用于所述第一目的地節(jié)點(diǎn)的第一路由信息庫的第一部分中。
7.根據(jù)權(quán)利要求6所述的方法,其中所述集中變量涉及多個(gè)路徑,所述多個(gè)路徑存儲(chǔ)在第一路由信息庫的第二部分中,所述多個(gè)路徑與用于目的地節(jié)點(diǎn)的所選路徑具有相同的下一跳節(jié)點(diǎn)。
8.根據(jù)權(quán)利要求3所述的方法,其中所述更新消息是BGP更新消息,其包括具有所選路徑的AS_路徑屬性和被編碼為與AS_路徑屬性相匹配的矢量的多樣性變量和集中變量。
9.根據(jù)權(quán)利要求I所述的方法,其中網(wǎng)絡(luò)的每個(gè)節(jié)點(diǎn)發(fā)送如權(quán)利要求I所定義的更新消息;其中如果所述對(duì)等體出現(xiàn)在用于所述第一目的地的所選路徑中,則每個(gè)節(jié)點(diǎn)所發(fā)送的更新消息還包括從每個(gè)節(jié)點(diǎn)的對(duì)等體接收的至少一個(gè)拓?fù)渥兞俊?br>
10.根據(jù)權(quán)利要求9所述的方法,其中每個(gè)節(jié)點(diǎn)所發(fā)送的更新消息還包括來自所選路徑中出現(xiàn)的每個(gè)節(jié)點(diǎn)的至少一個(gè)拓?fù)渥兞?,其中通過所選路徑中出現(xiàn)的每個(gè)節(jié)點(diǎn)的對(duì)等體來接收所述至少一個(gè)拓?fù)渥兞俊?br>
11.路由器,包括路由信息庫,包括用于網(wǎng)絡(luò)的多個(gè)目的地節(jié)點(diǎn)中的每個(gè)目的地節(jié)點(diǎn)的多個(gè)路徑;構(gòu)成裝置,用于構(gòu)成具有路由信息的更新消息,包括用于所述多個(gè)目的地節(jié)點(diǎn)中的第一目的地節(jié)點(diǎn)的所選路徑,所述所選路徑包括鄰近路由器的下一跳;從用于所述第一目的地的第一路由信息庫中存儲(chǔ)的所述多個(gè)路徑得到的至少一個(gè)路由拓?fù)渥兞俊?br>
12.根據(jù)權(quán)利要求11所述的路由器,其中所述至少一個(gè)路由拓?fù)渥兞堪ǘ鄻有宰兞浚婕坝糜谒龅谝荒康牡毓?jié)點(diǎn)的第一路由信息庫中存儲(chǔ)的多個(gè)路徑;和/或集中變量,涉及存儲(chǔ)在第一路由信息庫中的多個(gè)路徑,所述多個(gè)路徑與用于第一目的地節(jié)點(diǎn)的所選路徑具有相同的下一跳節(jié)點(diǎn)。
13.根據(jù)權(quán)利要求11或12所述的路由器,其中所述路由器進(jìn)一步包括用于處理路由器信息庫中的信息的處理裝置,所述處理裝置包括適用于通過考慮至少路由拓?fù)渥兞縼頉Q定對(duì)路由信息庫進(jìn)行更新的決策裝置。
14.根據(jù)權(quán)利要求11至13中任一項(xiàng)所述的路由器,其中所述路由器是BGP路由器;并且其中路由信息庫包括=Loc-RIB部分,Adj-RIB-In部分和Adj-RIB-Out部分。
15.用于在權(quán)利要求10至14的任一個(gè)的路由器中使用的處理裝置,用于處理路由器信息庫中的信息,所述處理裝置包括適用于通過考慮至少路由拓?fù)渥兞縼頉Q定對(duì)路由信息庫進(jìn)行更新的決策裝置。
全文摘要
一種用于更新網(wǎng)絡(luò)節(jié)點(diǎn)中的路由信息庫的方法,所述路由信息庫包括用于所述網(wǎng)絡(luò)的多個(gè)目的地節(jié)點(diǎn)中的每個(gè)目的地節(jié)點(diǎn)的多個(gè)路徑;其中,在所述網(wǎng)絡(luò)中將具有路由信息的更新消息從第一節(jié)點(diǎn)發(fā)送到所述第一節(jié)點(diǎn)的對(duì)等體,所述第一節(jié)點(diǎn)具有第一路由信息庫;其中所述更新消息包括用于所述多個(gè)目的地節(jié)點(diǎn)中的第一目的地節(jié)點(diǎn)的所選路徑,所述所選路徑包括鄰近所述第一節(jié)點(diǎn)的下一跳節(jié)點(diǎn);從可用于所述第一目的地的多個(gè)路徑得到至少一個(gè)路由拓?fù)渥兞浚凰鲋辽僖粋€(gè)路由拓?fù)渥兞渴菍?duì)于與所選擇路徑中的瓶頸相關(guān)的風(fēng)險(xiǎn)的測量。
文檔編號(hào)H04L12/757GK102934401SQ201180028833
公開日2013年2月13日 申請(qǐng)日期2011年6月7日 優(yōu)先權(quán)日2010年6月11日
發(fā)明者D·帕帕迪米特里奧 申請(qǐng)人:阿爾卡特朗訊公司