本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種BGP路由自治域路徑AS-PATH配置方法及裝置。
背景技術(shù):
邊界網(wǎng)關(guān)協(xié)議(Border Gateway Protocol,簡稱為BGP)路由自治域路徑(Autonomous System Path,簡稱為AS-PATH)是BGP的一種公認(rèn)必遵屬性,此屬性用AS號的順序記錄BGP自治系統(tǒng)間的路徑。當(dāng)BGP speaker發(fā)起一條路由,它將自己的AS號添加到AS_PATH中,也就是說,這條路由每經(jīng)過一個自治系統(tǒng),就會將自己的AS號添加到AS_PATH中。AS_PATH可以描述所有經(jīng)過的自治系統(tǒng),AS號疊加的越多,說明經(jīng)過的自治系統(tǒng)越多,AS號少,說明經(jīng)過的自治系統(tǒng)較少。
AS-PATH可以有效防止BGP環(huán)路。如果某個BGP speaker從其他外部對等體收到的某條路由的AS-PATH中包括自己的AS號,那么該路由器認(rèn)為該路由環(huán)路,會丟棄。同樣的,如果BGP speaker從其他外部對等體收到的路由AS_PATH,不包括對等體的AS號,會斷鏈。
AS-PATH是根據(jù)AS號的來判斷路由的優(yōu)先級,AS-PATH越短路由越優(yōu)先。傳統(tǒng)的AS-PATH策略,是通過增加AS號的長度,即AS-PATH prepend來改變路由優(yōu)先級以實現(xiàn)選路。AS-PATH prepend功能是在現(xiàn)有的AS號前增加設(shè)置的AS號,AS-PATH會越來越長。即使通過as weight來改變AS-PATH的優(yōu)先級,這也是一個相對復(fù)雜的策略應(yīng)用方式。
針對相關(guān)技術(shù)中,只能通過增加AS號的長度來改變路由優(yōu)先級實現(xiàn)選路的問題,還未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種BGP路由自治域路徑AS-PATH配置方法及裝置,以至少解決相關(guān)技術(shù)中只能通過增加AS號的長度來改變路由優(yōu)先級實現(xiàn)選路的問題。
根據(jù)本發(fā)明的一個方面,提供了一種邊界網(wǎng)關(guān)協(xié)議BGP路由自治域路徑AS-PATH配置方法,包括:獲取BGP路由對應(yīng)的AS-PATH中包括的一個或者多個AS號;其中,所述一個或者多個AS號與所述BGP路由經(jīng)過的一個或者多個BGP自治系統(tǒng)相對應(yīng);使用一個或者多個指定AS號替換所述一個或者多個AS號,改變所述AS-PATH對應(yīng)的所述BGP路由的優(yōu)先級。
可選地,使用一個或者多個指定AS號替換所述一個或者多個AS號,改變所述AS-PATH的對應(yīng)的所述BGP路由優(yōu)先級包括:使用所述一個或者多個指定AS號替換所述一個或者多個AS號之后,所述AS-PATH中包括的AS號數(shù)量減少,使得所述AS-PATH對應(yīng)的所述BGP路由的優(yōu)先級提高;或者,使用所述一個或者多個指定AS號替換所述一個或者多個AS號之后,所述AS-PATH中包括的AS號數(shù)量增多,使得所述AS-PATH對應(yīng)的所述BGP路由的優(yōu)先級降低。
可選地,提高的所述AS-PATH的對應(yīng)的所述BGP路由優(yōu)先級的級別高于指定AS-PATH對應(yīng)的BGP路由的優(yōu)先級。
可選地,使用一個或者多個指定AS號替換所述一個或者多個AS號包括:在所述AS-PATH中不包括所述一個或者多個BGP自治系統(tǒng)的對等體的AS號。
可選地,使用一個或者多個指定AS號替換所述一個或者多個AS號,改變所述AS-PATH的對應(yīng)的所述BGP路由優(yōu)先級之后包括:通過預(yù)先配置的指令,根據(jù)所述AS-PATH包括的所述一個或者多個指定AS號識別所述BGP路由。
根據(jù)本發(fā)明的另一個方面,還提供了一種邊界網(wǎng)關(guān)協(xié)議BGP路由自治域路徑AS-PATH配置裝置,所述裝置包括:獲取模塊,用于獲取BGP路由對應(yīng)的AS-PATH中包括的一個或者多個AS號;其中,所述一個或者多個AS號與所述BGP路由經(jīng)過的一個或者多個BGP自治系統(tǒng)相對應(yīng);替換模塊,用于使用一個或者多個指定AS號替換所述一個或者多個AS號,改變所述AS-PATH對應(yīng)的所述BGP路由的優(yōu)先級。
可選地,所述替換模塊還包括:第一替換單元,用于使用所述一個或者多個指定AS號替換所述一個或者多個AS號之后,所述AS-PATH中包括的AS號數(shù)量減少,使得所述AS-PATH的對應(yīng)的BGP路由優(yōu)先級提高;或者,第二替換單元,用于使用所述一個或者多個指定AS號替換所述一個或者多個AS號之后,所述AS-PATH中包括的AS號數(shù)量增多,使得所述AS-PATH對應(yīng)的BGP路由的優(yōu)先級降低。
可選地,提高的所述AS-PATH對應(yīng)的所述BGP路由的優(yōu)先級的級別高于指定AS-PATH的對應(yīng)的BGP路由優(yōu)先級。
可選地,所述替換模塊還用于在所述AS-PATH中不包括所述一個或者多個BGP自治系統(tǒng)的對等體的AS號。
可選地,所述裝置還包括:識別模塊,用于通過預(yù)先配置的指令,根據(jù)所述AS-PATH包括的所述一個或者多個指定AS號識別所述BGP路由。
通過本發(fā)明,采用獲取BGP路由對應(yīng)的AS-PATH中包括的一個或者多個AS號;其中,一個或者多個AS號與BGP路由經(jīng)過的一個或者多個BGP自治系統(tǒng)相對應(yīng);使用一個或者多個指定AS號替換該一個或者多個AS號,改變AS-PATH對應(yīng)的BGP路由的優(yōu)先級。解決了相關(guān)技術(shù)中只能通過增加AS號的長度來改變路由優(yōu)先級實現(xiàn)選路 的問題,進(jìn)而實現(xiàn)了通過多種方式改變路由優(yōu)先級進(jìn)行選路的目的。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實施例的BGP路由自治域路徑AS-PATH配置方法的流程圖;
圖2是根據(jù)本發(fā)明實施例的BGP路由自治域路徑AS-PATH配置裝置的結(jié)構(gòu)框圖;
圖3是根據(jù)本發(fā)明實施例的BGP路由自治域路徑AS-PATH配置裝置的結(jié)構(gòu)框圖(一);
圖4是根據(jù)本發(fā)明實施例的BGP路由自治域路徑AS-PATH配置裝置的結(jié)構(gòu)框圖(二);
圖5是沒有應(yīng)用AS-PATH策略的應(yīng)用場景示意圖;
圖6是應(yīng)用AS-PATH prepend的應(yīng)用場景示意圖;
圖7是本發(fā)明應(yīng)用AS-PATH replace的場景示意圖。
具體實施方式
下文中將參考附圖并結(jié)合實施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。
在本實施例中提供了一種BGP路由自治域路徑AS-PATH配置方法方法,圖1是根據(jù)本發(fā)明實施例的BGP路由自治域路徑AS-PATH配置方法的流程圖,如圖1所示,該流程包括如下步驟:
步驟S102,獲取BGP路由對應(yīng)的AS-PATH中包括的一個或者多個AS號;其中,一個或者多個AS號與BGP路由經(jīng)過的一個或者多個BGP自治系統(tǒng)相對應(yīng);
步驟S104,使用一個或者多個指定AS號替換一個或者多個AS號,改變該AS-PATH對應(yīng)的BGP路由的優(yōu)先級。
通過上述步驟,通過使用一個或者多個指定AS號替換AS-PATH中包括的一個或者多個AS號,即,經(jīng)過AS號替換之后的AS-PATH中包括的指定AS號的個數(shù)與AS-PATH原來包括的AS號的個數(shù)不同,從而可以改變AS-PATH對應(yīng)的BGP路由的優(yōu)先級,相比于相關(guān)技術(shù)中,AS-PATH策略,是通過增加AS號的長度,即AS-PATH prepend 來改變路由優(yōu)先級以實現(xiàn)選路,AS-PATH會越來越長,上述步驟解決了相關(guān)技術(shù)中只能通過增加AS號的長度來改變路由優(yōu)先級實現(xiàn)選路的問題,進(jìn)而實現(xiàn)了通過多種方式改變路由優(yōu)先級進(jìn)行選路的目的。
上述步驟S104中涉及到使用一個或者多個指定AS號替換一個或者多個AS號,改變該AS-PATH對應(yīng)的BGP路由的優(yōu)先級,在一個可選實施例中,使用一個或者多個指定AS號替換一個或者多個AS號之后,該AS-PATH中包括的AS號數(shù)量減少,使得該AS-PATH對應(yīng)的BGP路由的優(yōu)先級提高。在另一個可選實施例中,使用一個或者多個指定AS號替換一個或者多個AS號之后,該AS-PATH中包括的AS號數(shù)量增多,使得該AS-PATH對應(yīng)的BGP路由的優(yōu)先級降低。從而通過使用指定AS號對AS-PATH中的AS號進(jìn)行替換實現(xiàn)了動態(tài)調(diào)整AS-PATH對應(yīng)的BGP路由的優(yōu)先級的目的。
改變上述AS-PATH對應(yīng)的BGP路由的優(yōu)先級的目的在于進(jìn)行選路。在一個可選實施例中,提高的上述AS-PATH對應(yīng)的BGP路由的優(yōu)先級的級別高于指定AS-PATH對應(yīng)的BGP路由的優(yōu)先級。從而實現(xiàn)了選擇AS-PATH對應(yīng)的路由,而不是之前級別較高的指定AS-PATH對應(yīng)的路由。
上述步驟S104中涉及到使用一個或者多個指定AS號替換一個或者多個AS號,需要說明的是,可以通過多種方式使用一個或者多個指定AS號替換一個或者多個AS號,下面對此進(jìn)行舉例說明。在一個可選實施例中,在該AS-PATH中不包括一個或者多個BGP自治系統(tǒng)的對等體的AS號。
在一個可選實施例中,使用一個或者多個指定AS號替換一個或者多個AS號,改變該AS-PATH對應(yīng)的BGP路由的優(yōu)先級之后,通過預(yù)先配置的指令,根據(jù)該AS-PATH包括的該一個或者多個指定AS號識別該指定BGP路由。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機(jī),計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例該的方法。
在本實施例中還提供了一種BGP路由自治域路徑AS-PATH配置裝置,該裝置用于實現(xiàn)上述實施例及優(yōu)選實施方式,已經(jīng)進(jìn)行過說明的不再贅述。如以下所使用的,術(shù)語“模塊”可以實現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構(gòu)想的。
圖2是根據(jù)本發(fā)明實施例的BGP路由自治域路徑AS-PATH配置裝置的結(jié)構(gòu)框圖,如圖2所示,該裝置包括:獲取模塊22,用于獲取BGP路由對應(yīng)的AS-PATH中包括的一個或者多個AS號;其中,該一個或者多個AS號與該BGP路由經(jīng)過的一個或者多個 BGP自治系統(tǒng)相對應(yīng);替換模塊24,用于使用一個或者多個指定AS號替換該一個或者多個AS號,改變該AS-PATH對應(yīng)的BGP路由的優(yōu)先級。
圖3是根據(jù)本發(fā)明實施例的BGP路由自治域路徑AS-PATH配置裝置的結(jié)構(gòu)框圖(一),如圖3所示,替換模塊24還包括:第一替換單元242,用于使用該一個或者多個指定AS號替換該一個或者多個AS號之后,該AS-PATH中包括的AS號數(shù)量減少,使得該AS-PATH對應(yīng)的BGP路由的優(yōu)先級提高;或者,第二替換單元244,用于使用該一個或者多個指定AS號替換該一個或者多個AS號之后,該AS-PATH中包括的AS號數(shù)量增多,使得該AS-PATH對應(yīng)的BGP路由的優(yōu)先級降低。
可選地,提高的該AS-PATH對應(yīng)的BGP路由的優(yōu)先級的級別高于指定AS-PATH對應(yīng)的BGP路由的優(yōu)先級。
可選地,替換模塊24還用于在該AS-PATH中不包括該一個或者多個BGP自治系統(tǒng)的對等體的AS號。
圖4是根據(jù)本發(fā)明實施例的BGP路由自治域路徑AS-PATH配置裝置的結(jié)構(gòu)框圖(二),如圖4所示,該裝置還包括:識別模塊42,用于通過預(yù)先配置的指令,根據(jù)該AS-PATH包括的該一個或者多個指定AS號識別該指定BGP路由。
需要說明的是,上述各個模塊是可以通過軟件或硬件來實現(xiàn)的,對于后者,可以通過以下方式實現(xiàn),但不限于此:上述模塊均位于同一處理器中;或者,上述模塊分別位于多個處理器中。
本發(fā)明的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
S1,獲取BGP路由對應(yīng)的AS-PATH中包括的一個或者多個AS號;其中,一個或者多個AS號與BGP路由經(jīng)過的一個或者多個BGP自治系統(tǒng)相對應(yīng);
S2,使用一個或者多個指定AS號替換一個或者多個AS號,改變該AS-PATH對應(yīng)的BGP路由的優(yōu)先級。
可選地,在本實施例中,上述存儲介質(zhì)可以包括但不限于:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行上述步驟S1和S2。
可選地,本實施例中的具體示例可以參考上述實施例及可選實施方式中所描述的示例,本實施例在此不再贅述。
本發(fā)明可選實施例提供了一種新的BGP路由自治域路徑的替換方法,使AS-PATH 可以靈活設(shè)置,可以變長也可以變短,可以包括原來的AS-PATH,也可以不包括,策略運(yùn)用更加靈活。
ROUTE-MAP策略提供一種新的AS-PATH配置方法。set as-path增加可選參數(shù)replace,命令格式變更為set as-path{prepend|replace}<1-65535>/<1-65535>.<0-65535>,replace配置和原有的AS-PATH prepend互斥,replace為兼容變更,不影響原來命令配置。
在向外部BGP speaker通告的時候基于ROUTE-MAP配置的AS-PATH replace策略設(shè)置AS-PATH,BGP增加特殊的處理,在AS_PATH中不包括自己對等體的AS號。
對端對等體從外部BGP speaker接收的時候,檢查AS-PATH,如果沒有對等體的AS號,會斷鏈,此處增加新的設(shè)置no bgp enforce-first-as,有此設(shè)置不檢查對等體的AS號,為了兼容之前配置,默認(rèn)檢查對等體AS號。
在從外部BGP speaker接收的時候,基于ROUTE-MAP配置的AS-PATH replace策略替換從外部BGP speaker接收的AS_PATH,要避免斷鏈,配置同2,增加no bgp enforce-first-as。
圖5是沒有應(yīng)用AS-PATH策略的應(yīng)用場景示意圖,在圖5對應(yīng)的BGP組網(wǎng)中,設(shè)備R1和設(shè)備R2為EBGP鄰居,設(shè)備R2和設(shè)備R3、R4為EBGP鄰居,設(shè)備R3和設(shè)備R4為EBGP鄰居,在圖5中,設(shè)備R4收到的路由有兩個AS-PATH,從R3收到的AS-PATH路徑為{300200100},從R2收到的AS-PATH路徑為{200100},按照AS-PATH短的路徑優(yōu)選,會優(yōu)選從R2-R4的路徑。
在真實的網(wǎng)絡(luò)環(huán)境中,AS-PATH路徑短的鏈路不一定質(zhì)量就越高。這時候可以運(yùn)用AS-PATH prepend策略,在R2的出方向或者R4的入方向?qū)嵤〢S-PATH prepend策略來增加AS號的長度,從而實現(xiàn)選路的功能。圖6是應(yīng)用AS-PATH prepend的應(yīng)用場景示意圖,如圖6組網(wǎng),在R2的出方向增加AS號500600,再加上自己的AS號200,這樣R4從R2收到的AS-PATH為{200500600100},按照AS-PATH的長短進(jìn)行選路,會優(yōu)選從R2-R3-R4的路徑。這種方式可以實現(xiàn)策略,但是會造成AS_PATH長度越來越長,后面的自治系統(tǒng)要通過AS_PATH長度來改變路由優(yōu)先級,只能設(shè)置更長的AS_PATH,不利于策略的靈活應(yīng)用。
圖7是本發(fā)明應(yīng)用AS-PATH replace的場景示意圖,在圖7對應(yīng)的組網(wǎng)中,BGP路由自治域路徑替換的功能是可以替換現(xiàn)有的AS-PATH路徑,也不會附加自己的AS號。例如在R3的出方向設(shè)置AS-PATH replace策略,R3通告出去的AS-PATH就會變?yōu)?00,這樣不僅沒有增加AS-PATH的長度,還實現(xiàn)了選路,策略更加靈活了。此種應(yīng)用策略的方式,需要在R4上配置no bgp enforce-first-as。
綜上所述,通過本發(fā)明提供的一種BGP路由自治域路徑替換(AS-PATH replace) 的方法,可以根據(jù)策略指定的BGP路徑,對BGP路由的路徑進(jìn)行替換,AS-PATH設(shè)置多樣化,選路更加靈活。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。