本發(fā)明涉及通信領域,具體而言,涉及一種邊界網關協(xié)議BGP路由源處理方法及裝置。
背景技術:
邊界網關協(xié)議(Border Gateway Protocol,簡稱為BGP)常用來組建基于策略的網絡架構,BGP既可以通過自身提供的屬性來設置策略,還可以使用公共路由策略進行過濾和匹配路由、匹配和設置路由屬性。當內部網關協(xié)議(Interior Gateway Protocol,簡稱為IGP)路由注入到BGP中生成BGP路由源時,使得BGP路由依賴于IGP路由。為了減少BGP路由表信息量,降低其對IGP路由依賴性,可使用路由策略來控制注入的路由條目數(shù)量和路由屬性等。如果IGP路由注入BGP時使用了路由策略,路由產生、通告和路由屬性可能會發(fā)生相應的變化。此時需要根據(jù)選路規(guī)則重新進行路由擇優(yōu),選出最優(yōu)路由進行路由通告、下發(fā)轉發(fā)層面,并最終影響流量轉發(fā)。在復雜的網絡配置中,如果管理者誤用路由策略,需要將IGP注入配置或者路由策略配置信息反復刪除、再配置。這樣就可能導致最優(yōu)路由產生抖動flapping,并通過下一級路由器將UPDATE和WITHDRAW震蕩信息傳播給其他對等體,產生級聯(lián)效應,降低了網路的穩(wěn)定性。此外,路由收斂的重復計算和路由屬性變更會增加下游路由器額外的處理開銷。
當前已實現(xiàn)路由策略預覽方法僅針對BGP對等體peer接收和通告路由的預覽,不能解決上述問題,且無法預覽到IGP路由應用路由策略注入BGP后路由表擇優(yōu)、路由排序、路由全表信息和具體路由條目屬性等,不能精確地控制路由注入。
針對相關技術中,由于誤用路由策略導致IGP不能準確注入BGP中,造成路由震蕩,需要將IGP注入配置或路由策略配置信息反復刪除、再配置的問題,及無法預覽到IGP路由注入BGP后路由表擇優(yōu)、路由全表信息的問題,還未提出有效的解決方案。
技術實現(xiàn)要素:
本發(fā)明提供了一種邊界網關協(xié)議BGP路由源處理方法及裝置,以至少解決相關技術中由于誤用路由策略導致IGP不能準確注入BGP中,造成路由震蕩,需要將IGP注入配置或路由策略配置信息反復刪除、再配置的問題,及無法預覽到IGP路由注入BGP后路由表擇優(yōu)、路由全表信息和具體路由條目屬性的問題。
根據(jù)本發(fā)明的一個方面,提供了一種邊界網關協(xié)議BGP路由源處理方法,包括:獲取將內部網關協(xié)議IGP路由信息注入BGP時所使用的路由策略;獲取依據(jù)所述路由 策略生成的預覽信息;在確定生成的所述預覽信息與預定預覽信息一致的情況下,依據(jù)所述路由策略將所述IGP路由信息注入所述BGP。
可選地,所述方法還包括:在所述預覽信息與所述預定預覽信息不一致的情況下,調整所述路由策略的配置信息和/或調整所述路由策略的應用信息直至所述預覽信息與所述預期定預覽信息一致。
可選地,獲取依據(jù)所述路由策略生成的預覽信息包括:將所述路由策略同步至所述BGP;從所述BGP中獲取所述BGP通過以下至少之一的操作生成的所述預覽信息:過濾路由前綴、匹配路由前綴、匹配路由屬性、設置路由屬性。
可選地,生成的所述預覽信息包括以下至少之一:用于顯示整個路由表信息的路由表全局預覽信息、用于顯示指定路由條目信息的路由條目預覽信息。
可選地,獲取依據(jù)所述路由策略生成的預覽信息之后包括:釋放所述預覽信息。
根據(jù)本發(fā)明的另一方面,提供了一種邊界網關協(xié)議BGP路由源處理裝置,包括:第一獲取模塊,用于獲取將內部網關協(xié)議IGP路由信息注入BGP時所使用的路由策略;第二獲取模塊,用于獲取依據(jù)所述路由策略生成的預覽信息;注入模塊,用于在確定生成的所述預覽信息與預定預覽信息一致的情況下,依據(jù)所述路由策略將所述IGP路由信息注入所述BGP。
可選地,所述裝置還包括:調整模塊,用于在所述預覽信息與所述預定預覽信息不一致的情況下,調整所述路由策略的配置信息和/或調整所述路由策略的應用信息直至所述預覽信息與所述預定預覽信息一致。
可選地,所述第二獲取模塊包括:同步單元,用于將所述路由策略同步至所述BGP;生成單元,用于從所述BGP中獲取所述BGP通過以下至少之一的操作生成的所述預覽信息:過濾路由前綴、匹配路由前綴、匹配路由屬性、設置路由屬性。
可選地,生成的所述預覽信息包括以下至少之一:用于顯示整個路由表信息的路由表全局預覽信息、用于顯示指定路由條目信息的路由條目預覽信息。
可選地,所述裝置還包括:釋放模塊,用于釋放所述預覽信息。
通過本發(fā)明,采用獲取將內部網關協(xié)議IGP路由信息注入BGP時所使用的路由策略;獲取依據(jù)路由策略生成的預覽信息;在確定生成的預覽信息與預定預覽信息一致的情況下,依據(jù)該路由策略將IGP路由信息注入BGP,解決了相關技術中由于誤用路由策略導致IGP不能準確注入BGP中,造成路由震蕩,需要將IGP注入配置或路由策略配置信息反復刪除、再配置的問題,及無法預覽到IGP路由注入BGP后路由表擇優(yōu)、路由全表信息和具體路由條目屬性的問題,進而實現(xiàn)了從源頭減少路由的抖動,降低路由器的處理開銷,提高網絡穩(wěn)定性的技術效果。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
圖1是根據(jù)本發(fā)明實施例的邊界網關協(xié)議BGP路由源處理的流程圖;
圖2是根據(jù)本發(fā)明實施例的邊界網關協(xié)議BGP路由源處理裝置的結構框圖;
圖3是根據(jù)本發(fā)明實施例的邊界網關協(xié)議BGP路由源處理裝置的結構框圖(一);
圖4是根據(jù)本發(fā)明實施例的邊界網關協(xié)議BGP路由源處理裝置的結構框圖(二);
圖5是根據(jù)本發(fā)明實施例的邊界網關協(xié)議BGP路由源處理裝置的結構框圖(三);
圖6是根據(jù)本發(fā)明實施例的邊界網關協(xié)議BGP路由源處理方法的網絡拓撲示意圖。
具體實施方式
下文中將參考附圖并結合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
需要說明的是,本發(fā)明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。
在本實施例中提供了一種邊界網關協(xié)議BGP路由源處理方法,圖1是根據(jù)本發(fā)明實施例的邊界網關協(xié)議BGP路由源處理的流程圖,如圖1所示,該流程包括如下步驟:
步驟S102,獲取將內部網關協(xié)議IGP路由信息注入BGP時所使用的路由策略;
步驟S104,獲取依據(jù)路由策略生成的預覽信息;
步驟S106,在確定生成的該預覽信息與預定預覽信息一致的情況下,依據(jù)該路由策略將IGP路由信息注入BGP。
通過上述步驟,將依據(jù)路由策略生成的預覽信息與預定預覽信息進行比較,在比較結果一致的情況下,管理者可以在IGP路由注入BGP時實際應用上述路由策略,準確生成BGP路由源。相比于現(xiàn)有技術中,管理者無任何參考信息直接使用路由策略,由于誤用路由策略將IGP錯誤注入BGP中,需要將IGP注入配置或路由策略配置信息反復刪除、再配置,造成路由震蕩等問題,上述步驟解決了由于誤用路由策略導致IGP不能準確注入BGP中,造成路由震蕩,需要將IGP注入配置或路由策略配置信息反復刪除、再配置的問題,及無法預覽到IGP路由注入BGP后路由表擇優(yōu)、路由全表信息和具體路由條目屬性的問題,實現(xiàn)了從源頭減少路由的抖動,降低路由器的處理開銷,提高網絡穩(wěn)定性的技術效果。
在一個可選的實施例中,在預覽信息與預定預覽信息不一致的情況下,調整路由策略的配置信息和/或調整路由策略的應用信息直至該預覽信息與該預定預覽信息一致。通過該方法,可以最大限度的避免了因為重復誤用路由策略導致IGP多次抖動注入BGP,造成網絡不穩(wěn)定。
上述步驟S104涉及到獲取依據(jù)路由策略生成的預覽信息,在一個可選的實施例中,通過將路由策略同步至BGP,從該BGP中獲取該BGP通過以下至少之一的操作生成的該預覽信息:過濾路由前綴、匹配路由前綴、匹配路由屬性、設置路由屬性,實現(xiàn)獲取依據(jù)路由策略生成的預覽信息。
生成的預覽信息可以包括多種形式的信息,下面對此進行舉例說明。在一個可選實施例中,預覽信息可以是用于顯示臨時路由擇優(yōu)和路由排序后的整個路由表的全局預覽信息,在另一個可選實施例中,預覽信息也可以是用于顯示指定路由條目信息的路由條目預覽信息。通過路由表全局預覽可以假設應用路由策略后,根據(jù)路由條目的變化和路由屬性的更新,進行臨時路由擇優(yōu),顯示整個路由表信息(包含IGP注入BGP后的路由源條目)。如果指定了路由條目,可以分別預覽到該路由真實路由信息、假如應用路由策略后的路由信息,如:通告或接收的鄰居、源(origin)、下一跳(nexthop)、度量(metric)、權重(weight)、路由最優(yōu)、本地優(yōu)先、權重、路徑屬性(AS_PATH)、團體屬性、擴展團體屬性、聚合屬性、起源標簽(originator id)、集群標簽(clust id)等。
在一個可選的實施例中,獲取依據(jù)該路由策略生成的預覽信息之后,釋放該預覽信息。通過該方法不影響實際的路由通告接收、路由屬性和路由表,不對網絡產生真實的作用,僅提供一種臨時預覽,并在預覽結束后釋放。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品存儲在一個存儲介質(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
在本實施例中還提供了一種邊界網關協(xié)議BGP路由源處理裝置,該裝置用于實現(xiàn)上述實施例及優(yōu)選實施方式,已經進行過說明的不再贅述。如以下所使用的,術語“模塊”可以實現(xiàn)預定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構想的。
圖2是根據(jù)本發(fā)明實施例的邊界網關協(xié)議BGP路由源處理裝置的結構框圖,如圖2所示,該裝置包括:第一獲取模塊22,用于獲取將內部網關協(xié)議IGP路由信息注入BGP時所使用的路由策略;第二獲取模塊24,用于獲取依據(jù)該路由策略生成的預覽信息;生成模塊26,用于在確定生成的該預覽信息與預定預覽信息一致的情況下,為管理者依據(jù) 該路由策略將該IGP路由信息注入該BGP,準確生成BGP路由源提供依據(jù)。
圖3是根據(jù)本發(fā)明實施例的邊界網關協(xié)議BGP路由源處理裝置的結構框圖(一),如圖3所示,該裝置除包括圖2所示的所有模塊外,還包括:調整模塊32,用于在該預覽信息與該預定預覽信息不一致的情況下,調整該路由策略的配置信息和/或調整路由策略的應用信息直至該預覽信息與該預定預覽信息一致。
圖4是根據(jù)本發(fā)明實施例的邊界網關協(xié)議BGP路由源處理裝置的結構框圖(二),如圖4所示,第二獲取模塊24包括:同步單元242,用于將該路由策略同步至該BGP;生成單元244,用于從該BGP中獲取該BGP通過以下至少之一的操作生成的該預覽信息:過濾路由前綴、匹配路由前綴、匹配路由屬性、設置路由屬性。
在一個可選的實施例中,上述第二獲取模塊24生成的該預覽信息包括以下至少之一:用于顯示臨時路由擇優(yōu)和路由排序后的整個路由表的全局預覽信息、用于顯示指定路由條目的預覽信息。
圖5是根據(jù)本發(fā)明實施例的邊界網關協(xié)議BGP路由源處理裝置的結構框圖(三),如圖5所示,在一個可選的實施例中,該裝置還包括:釋放模塊52,用于釋放該預覽信息。
需要說明的是,上述各個模塊是可以通過軟件或硬件來實現(xiàn)的,對于后者,可以通過以下方式實現(xiàn),但不限于此:上述模塊均位于同一處理器中;或者,上述模塊分別位于多個處理器中。
本發(fā)明的實施例還提供了一種存儲介質??蛇x地,在本實施例中,上述存儲介質可以被設置為存儲用于執(zhí)行以下步驟的程序代碼:
S1,獲取將內部網關協(xié)議IGP路由信息注入BGP時所使用的路由策略;
S2,獲取依據(jù)路由策略生成的預覽信息;
S3,在確定生成的該預覽信息與預定預覽信息一致的情況下,依據(jù)該路由策略將IGP路由信息注入BGP。
可選地,在本實施例中,上述存儲介質可以包括但不限于:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質。
可選地,在本實施例中,處理器根據(jù)存儲介質中已存儲的程序代碼執(zhí)行上述S1、S2和S3。
可選地,本實施例中的具體示例可以參考上述實施例及可選實施方式中所描述的示例,本實施例在此不再贅述。
針對相關技術中存在的上述問題,下面結合具體的可選實施例進行說明,在下述可選實施例中結合了上述可選實施例及其可選實施方式。
本發(fā)明可選實施例中提供了一種邊界網關協(xié)議BGP路由源處理方法,即:IGP路由注入BGP時應用路由策略之前,通過預覽命令預測路由策略邏輯的正確性,如:錯誤的路由信息漏入BGP中、注入的路由屬性不正確、有用路由條目被過濾掉、路由擇優(yōu)是否正確等。如果預覽信息和預期不一致,可重新調整方案,直到符合組網要求,最后再實際應用路由策略。根據(jù)配置可分為2種預覽:(1)應用路由策略后的臨時路由全表信息;(2)指定具體路由條目后的路由詳細信息。具體方案如下:
1、管理者根據(jù)設計方案配置路由策略,BGP協(xié)議應用路由策略之前或之后配置均可。
2、IGP路由通過動態(tài)或靜態(tài)方式注入BGP生成BGP路由源。在實際注入之前,使用BGP路由源應用路由策略預覽功能查看策略應用效果。預覽時BGP先要注冊路由策略,路由策略將具體策略信息同步給BGP后,預覽功能才能生效。路由策略可以通過預先定義的條件來過濾和匹配路由前綴,設置和匹配路由屬性等。如:可以基于路由前綴、路徑屬性(AS_PATH)、團體、度量med、下一跳、源(ORIGIN)、本地優(yōu)先、權重等屬性來過濾更新。
3、BGP根據(jù)同步過來的路由策略信息,分別進行相應的路由前綴列表過濾和匹配、路由屬性設置和匹配等操作。根據(jù)預覽時是否指定了具體路由條目,可分為:(1)路由表全局預覽:使用預覽功能時不指定具體路由條目,注入路由時假設應用路由策略,根據(jù)路由條目的變化和路由屬性的更新,進行臨時路由擇優(yōu),顯示整個路由表信息(包含注入的路由條目);(2)具體路由條目信息預覽:使用預覽功能時如果指定了路由條目,可以分別預覽到該路由當前真實路由信息、假如應用路由策略后的路由信息,如:通告或接收的鄰居、源(origin)、下一跳(nexthop)、度量(metric)、權重(weight)、路由最優(yōu)、本地優(yōu)先、權重、路徑屬性(AS_PATH)、團體屬性、擴展團體屬性、聚合屬性、起源標簽(originator id)、集群標簽(clust id)等。
4、管理者可根據(jù)上述預覽信息,判斷實際應用此路由策略能否達到設計要求,如:路由過濾和路由擇優(yōu)是否正確,路由屬性設置是否合理等。依據(jù)預覽信息多次調整路由策略配置信息和應用,直至達到預期方案,避免了因為重復操作導致IGP多次抖動注入BGP,造成網絡不穩(wěn)定,從根源上減少了網絡震蕩。
5、BGP路由源生成時應用路由策略預覽方法不影響實際的路由通告接收、路由屬性、路由擇優(yōu)和路由表。它僅提供一種臨時預覽方法,用來預測實際應用指定策略后對路由的影響,并不對網絡產生真實的作用。因此,路由策略預覽信息需要單獨臨時創(chuàng)建,并于預覽結束后釋放。
本發(fā)明可選實施例適用于各種支持BGP協(xié)議的設備,包括路由器和交換機等。
圖6是根據(jù)本發(fā)明實施例的邊界網關協(xié)議BGP路由源處理方法的網絡拓撲示意圖。如圖6所示,源于R1路由器上分別有10.1.1.0/24和20.1.1.0/24等多條OSPF路由,管理者想通過BGP協(xié)議將路由10.1.1.0/24通告給網絡中其他路由器,而其他路由不通告。管理者可以使用路由映射route-map控制路由條目的注入,如:配置訪問列表ACL,僅僅permit路由10.1.1.0/24而deny其他路由,然后設置route-map匹配該ACL。重分發(fā)OSPF路由注入到BGP時,使用配置的route-map,就可以實現(xiàn)僅僅將路由10.1.1.0/24注入到BGP中。如果管理者誤用了ACL導致其他路由注入到了BGP中,而10.1.1.0/24沒有導入,錯誤的路由信息將通過R2傳遞R3,再級聯(lián)至整個網絡。此時需要將錯誤配置刪除并重配,這無疑增加了網絡的信息量和下級路由器的處理開銷,并造成網絡震蕩。為了避免此種情況發(fā)生,管理者可以使用BGP源路由生成時應用路由策略預覽功能,預先查看到應用策略后路由條目的變更、路由屬性變化,及路由擇優(yōu)狀況。根據(jù)預覽信息重新設計方案,有選擇性的應用路由策略,這就使得路由策略的應用效果更為直觀明了,有效降低了網絡震蕩和路由器負載。
綜上所述,本發(fā)明提供了一種邊界網關協(xié)議BGP路由源處理方法及裝置,其中該方法采用獲取將內部網關協(xié)議IGP路由信息注入BGP時所使用的路由策略;獲取依據(jù)路由策略生成的預覽信息;在確定生成的預覽信息與預定預覽信息一致的情況下,依據(jù)該路由策略將IGP路由信息注入BGP,為準確生成BGP路由源提供依據(jù)。
IGP路由注入BGP更準確和直觀,較為精確的將IGP路由注入到BGP中,減少了BGP無用路由的數(shù)量,使路由策略的應用更為準確有效。降低了路由器的負載,BGP路由策略預覽功能不會真正的進行路由表的更新,也不會影響實際的路由通告和接收,減少了由于錯誤配置導致的額外BGP路由計算、路由抖動信息傳遞和轉發(fā)表的波動,降低了路由器的處理開銷。優(yōu)化了BGP網絡性能,由于IGP協(xié)議注入BGP更為準確,從源頭減少了路由的抖動,提高了網絡穩(wěn)定性。
顯然,本領域的技術人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結合。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。