一種通過邊界網關協議實施路由策略的方法
2023-08-08 13:35:06 1
專利名稱:一種通過邊界網關協議實施路由策略的方法
技術領域:
本發明涉及邊界網關協議,尤指一種通過邊界網關協議(BGP)實施路由策略的方法。
背景技術:
邊界網關協議(BGP)是在RFC 1163、1267、1654、1655和1771中定義的一個IETF標準。BGP為自治系統(AS)提供一個無環的路由環境,不同AS採用不同的系統號碼來區分。自治系統一般定義為在單一技術管理下,採用同一種內部網關協議和統一度量值在AS內轉發數據包,並採用一種外部網關協議將數據包轉發到其它AS的一組路由器。每一個AS能夠潛在地使用多個內部網關協議(IGP)在AS內部交換路由表,並使用一個外部網關協議(EGP)將報文發送到AS外。實現BGP有兩種類型的BGP會晤(BGPSession)方式,即外部BGP會晤(EBGP Session)和內部BGP會晤(IBGPSession)。
圖1是現有技術EBGP會晤和IBGP會晤拓撲結構示意圖,EBGP Session在兩個唯一AS網絡之間建立;而在同一個AS中的路由器之間建立的是IBGP Session。圖1中,AS100中的路由器RTA與AS200中的RTB建立EBGPSession;AS300中的RTD與AS200中的RTC建立EBGP Session;AS200中的RTB與RTC建立IBGP Session。對於每個路由器,只有通過定義鄰居,BGP進程才能獲知哪些BGP路由器將與本地路由器對等,將與本地路由器對等的路由器稱為本地路由器的BGP對等體(BGP Peer)。一旦定義了鄰居,BGP進程就會建立與所定義的鄰居之間的一條BGP對等連接,然後在建立一條成功的TCP對等連接之後,才能在建立好連接的BGP路由器間發送路由信息,並通過BGP實施路由策略。
圖2是現有技術通過BGP實施路由策略的流程圖,從圖2可見,現有技術方法包括以下步驟步驟200在發布路由信息的路由器中建立匹配路由信息的訪問控制列表(access list)及路由圖(route-map),並在route-map中設置不同access list對應路由信息的團體(community)屬性值。
community屬性值用於對路由信息進行分類,即對應相同community屬性值的路由信息屬於同一類路由信息。Community屬性在BGP路由信息中佔用4個字節長度即32位,目前community屬性的格式為AA:NN,其中AA一般表示AS的系統號碼,NN一般採用統一規劃的取值,比如網絡地址等,A和N各佔一個字節,詳細定義可參見RFC1998,這裡不再重述。
不同的access list表示允許或拒絕到達指定網絡的所有路由。
本步驟中,在RTA中建立了路由信息與不同access list的對應關係即訪問控制列表,同時在建立的route-map中設置了不同access list與community屬性值的對應關係。
步驟201在發布路由信息的路由器的BGP對等體中建立匹配不同community屬性值的團體屬性列表(community list)及route-map,並在route-map中設置不同community list對應的服務策略。
在服務質量(QoS)模型中,IP報文頭的ToS字節的取值用來表示該IP報文在網絡傳輸過程中所享受的服務等級。取值有兩種表達方式符合RFC791的IP優先級(IP Preference);或者符合RFC2474、RFC2475的區分服務代碼點(DSCP)值。
在RFC791中,IP報文頭中保留了長度為8位的ToS字域,其中ToS字域中的高3位用來標識IP優先級,IP優先級的取值即IP Perference為0、1、2、3、4、5、6或7,詳細定義可參見RFC791,這裡不再重述。
在RFC2474、RFC2475中,使用IP報文頭中用於存儲DSCP值的區分服務(DS)欄位的高6位來標識DSCP,其中在Diffsev模型中DS欄位替代了IP ToS字節,詳細信息見RFC2474、RFC2475。目前對IP報文的服務策略,DSCP定義了3種類型即當DSCP值為EF時,表示對IP報文加速轉發;當DSCP值為AF時,表示對IP報文確保轉發;當DSCP值為BF時,表示對IP報文盡力轉發。其中當DSCP值為AF時,又分為1、2、3和4四個級別,數值越大優先權越高,而每個AF級別又分為1、2、3三個組,每個組代表相同級別中IP報文被丟棄的優先權,數值越大表示IP報文被丟棄的概率越優先。關於DSCP的詳細定義可參見RFC2474、RFC2475,這裡不再重述。
這裡提到的服務策略可以包括IP Perference,DSCP值等。
本步驟中,在RTB中建立了community屬性值與不同community list的對應關係即團體屬性列表,同時在建立的route-map中設置了匹配不同community list的路由信息與服務策略的對應關係。建立route-map的目的就是為了將符合某一類路由信息的IP報文頭中ToS字域的取值更改為route-map中對應該類路由信息的IP Perference或DCSP值,對該IP報文採取與更改後的IP Perference或DCSP值對應的處理。
步驟202當需要發送路由信息時,發布路由信息的路由器在路由信息中設置community屬性值,並將該路由信息發布給該路由器的BGP對等體,BGP對等體根據接收到的community屬性值及自身設置的route-map和community list獲取服務策略,並對符合該路由信息的IP報文進行相應處理。
本步驟所說的相應處理包括設置符合所述路由信息的IP報文的IP優先級/DSCP值、設置符合所述路由信息的IP報文的下一跳、對符合所述路由信息的IP報文進行限速、或對符合所述路由信息的IP報文進行統計等。
下面結合圖1假設RTB將傳遞路由信息10.1.1.0網絡、20.1.1.0網絡、30.1.1.0網絡至RTC,且需要將到達上述三個網絡的路由的IP報文頭的ToS字域的DSCP取值設為EF。
按照圖2所示的方法,在發布路由信息的RTA上需要完成如下步驟1)可以使用network命令將上述三個路由信息發布到BGP中,如下network 10.1.1.0 mask 255.255.255.0;
network 20.1.1.0 mask 255.255.255.0;network 30.1.1.0 mask 255.255.255.0;2)可以使用access-list命令在RTA中建立匹配上述路由信息的access-list,如下access-list 1 permit ip 10.1.1.0 0.0.0.255;access-list 2 permit ip 20.1.1.0 0.0.0.255;access-list 3 permit ip 30.1.1.0 0.0.0.255;其中,access-list 1表示匹配到達10.1.1.0網絡的所有路由;access-list 2表示匹配到達20.1.1.0網絡的所有路由;access-list 3表示匹配到達30.1.1.0網絡的所有路由。
3)可以使用route-map命令在RTA中建立route-map,如下route-map name permit 10match ip access-list 1 2 3set community 100∶1如果路由信息中的網絡地址與access-list 1、2、3匹配,則認為該匹配的路由信息的community取值為100∶1。
而在RTA的對等體RTB上需要完成如下步驟1)可以使用community-list命令在RTB中建立匹配community屬性值為100∶1的community屬性列表,如下ip community-list 1 permit 100∶1,表示若RTB接收到的路由信息中攜帶的community屬性值與community-list1中的community屬性值為100∶1匹配,並繼續根據RTB中的route-map對符合來自RTA的三條路由信息的IP報文進行處理。
2)可以使用route-map命令在RTB中建立route-map,如下route-map name permit 10match ip community-list 1set DSCP EF該route-map命令表示,對符合來自RTA的三條路由信息的IP報文,將該IP報文頭的ToS字域的取值設置為DCSP值即EF。
從現有技術通過BGP實施路由策略的方法來看,在路由信息中僅攜帶community屬性值,community屬性相對IP優先級或者DSCP值來說是獨立的即路由信息和IP報文頭中的ToS字域是沒有相關性的。這樣,必須預先在每個路由器上建立route-map,才能對符合不同路由信息的IP報文進行相應處理。
現有通過BGP實施路由策略的方法的最大缺點為需要在路由器上進行繁瑣的建立工作,降低了工作效率;在網絡複雜路由信息多的情況下,建立工作容易出錯,從而造成對IP報文的相應處理不合理。
發明內容
有鑑於此,本發明的主要目的在於提供一種通過邊界網關協議(BGP)實施路由策略的方法,簡化了在路由器上進行繁瑣的建立工作,提高了工作效率,同時避免了由於建立工作出錯而造成的對IP報文的相應不合理處理。
為達到上述目的,本發明的技術方案具體是這樣實現的一種通過邊界網關協議BGP實施路由策略的方法,該方法包括當需要發送路由信息時,發布路由信息的路由器在路由信息中攜帶用於對路由信息進行分類的路由信息分類屬性值和IP報文的服務策略映射值,並將該路由信息發布給自身的BGP對等體,所述BGP對等體根據所述路由信息分類屬性值和服務策略映射值,對符合所述路由信息的IP報文進行相應處理。
所述對符合所述路由信息的IP報文進行相應處理的方法為所述BGP對等體用所述IP報文的報文頭中的ToS字域承載對應路由信息中攜帶的服務策略映射值。
所述路由信息分類屬性值和服務策略映射值攜帶在所述路由信息的團體屬性或擴展團體屬性中。
當所述路由信息分類屬性值和服務策略映射值攜帶在所述路由信息的擴展團體屬性中時,所述擴展團體屬性包括類型域、用於攜帶服務策略映射值的服務策略映射域和路由聚合類標識域;所述類型域用於預留網際網路地址指派機構IANA的註冊信息、確定所述擴展團體屬性中用於存儲路由信息分類屬性值的管理子域和指派子域的取值格式、確定所述擴展團體屬性的次高字節為存儲服務策略映射值的服務策略映射域;所述路由聚合類標識域包括管理子域和指派子域。
所述類型域還用於確定所述團體屬性傳遞的自治系統AS範圍。
所述服務策略映射值為IP優先級IP Perference或區分服務代碼點DSCP值。
所述服務策略映射域包括用於存儲IP Perference或DSCP值的區分服務DS欄位,以及預留CU欄位。
當所述路由信息分類屬性值和服務策略映射值攜帶在所述路由信息的團體屬性時,所述團體屬性包括類型域、用於攜帶服務策略映射值的服務策略映射域和路由聚合類標識域。
所述對符合所述路由信息的IP報文進行相應處理的方法還包括根據路由信息中攜帶的路由信息分類屬性值,對符合不同類路由信息的數據流進行限速或流量統計處理。
由上述技術方案可見,本發明在ExtCommunity屬性中新增用於攜帶服務策略的服務策略映射域,當需要發送路由信息時,發布路由信息的路由器將ExtCommunity屬性攜帶在路由信息中,ExtCommunity屬性包含了用於對路由信息進行分類的路由信息分類屬性值和IP報文的服務策略映射值,並將該路由信息發送給自身的BGP對等體,所述BGP對等體則直接根據路由信息中攜帶的ExtCommunity屬性中的路由信息分類屬性值和IP報文的服務策略映射值,對符合該路由信息的IP報文進行相應處理。
ExtCommunity屬性採用路由區分符(RD)格式,ExtCommunity屬性共佔八個字節,設置ExtCommunity屬性的最高字節為類型域,類型域包括的作用如下預留網際網路地址指派機構(IANA,Internet Assigned NumbersAuthority)的註冊信息,確定次高字節為存儲服務策略的服務策略映射域、確定ExtCommunity屬性的後六個字節中用於存儲路由信息分類屬性值的管理子域和指派子域的取值格式,還可以確定該團體屬性傳遞的AS範圍等;設置ExtCommunity屬性的次高字節為用於存儲服務策略映射值的服務策略映射域;設置ExtCommunity屬性的後六個字節為路由聚合類標識域,其中路由聚合類標識域包括管理子域和指派子域兩部分。
本發明方法通過對ExtCommunity屬性的重新設置,新增用於攜帶服務策略映射值的服務策略映射域,並在需要發布的路由信息中攜帶的ExtCommunity屬性中攜帶路由信息分類屬性值和服務策略映射值,使得路由器直接採用路由信息中攜帶的服務策略映射值對符合不同路由信息的IP報文進行相應處理如採取相應的服務策略,簡化了在路由器上進行繁瑣的建立工作,提高了工作效率,同時避免了由於建立工作出錯而造成的對IP報文的相應不合理處理。同時,也可以根據路由信息中攜帶的用於路由信息分類的屬性值,對符合不同類路由信息的數據流進行限速或流量統計等處理。
另外,路由信息中是否攜帶ExtCommunity屬性是可選的,當路由信息中未攜帶ExtCommunity屬性時,採用現有方法實施路由策略。
除此之外,本發明還可以通過在community屬性中新增用於攜帶服務策略的服務策略映射域,而在發布的路由信息中攜帶community屬性,這樣就能通過在community屬性中包含路由信息分類屬性值和IP報文的服務策略映射值來實現本發明目的。
圖1是現有技術EBGP會晤和IBGP會晤拓撲結構示意圖;圖2是現有技術通過BGP實施路由策略的流程圖;圖3是本發明通過BGP實施路由策略的流程圖;圖4是ExtCommunity屬性格式示意圖;圖5是本發明對ExtCommunity屬性中類型域的設置方式之一。
具體實施例方式
為使本發明的目的、技術方案及優點更加清楚明白,以下參照附圖並舉較佳實施例,對本發明進一步詳細說明。
本發明方法的核心思想為當需要發送路由信息時,發布路由信息的路由器在路由信息中攜帶用於對路由信息進行分類的路由信息分類屬性值和IP報文的服務策略映射值,並將該路由信息發送給自身的BGP對等體,所述BGP對等體則直接根據路由信息中攜帶的路由信息分類屬性值和服務策略映射值,對符合該路由信息的IP報文進行相應處理。其中,路由信息分類屬性值和服務策略映射值可以攜帶在新增的用於攜帶服務策略的服務策略映射域的團體屬性或擴展團體屬性中。下面具體說明本發明方法。
圖3是本發明通過BGP實施路由策略的流程圖,假設使用ExtCommunity屬性來攜帶路由信息分類屬性值和服務策略應設置,從圖3可見,本發明方法包括以下步驟步驟300在ExtCommunity屬性中新增用於攜帶服務策略的服務策略映射域。
圖4是ExtCommunity屬性採用路由區分符(RD)格式的示意圖,從圖4可見ExtCommunity屬性共佔八個字節,現有技術中,ExtCommunity屬性的最高字節和次高字節設置為類型域,現有類型域的作用如下預留IANA的註冊信息,確定ExtCommunity屬性的後六個字節中用於存儲對路由信息進行分類的路由信息分類屬性值的管理子域和指派子域的取值格式;ExtCommunity屬性的後六個字節設置為路由聚合類標識域,其中路由聚合類標識域包括管理子域和指派子域兩部分。比如當類型域取值為十六進位值FF時,路由聚合類標識域中的管理子域為ExtCommunity屬性的後六個字節的高兩個字節,聚合類標識域中的指派子域為ExtCommunity屬性的後六個字節的後四個字節,可將這種ExtCommunity屬性的後六個字節的格式稱為2∶4格式;當類型域取值為十六進位值FE時,路由聚合類標識域中的管理子域為ExtCommunity屬性的後六個字節的高四個字節,聚合類標識域中的指派子域為ExtCommunity屬性的後六個字節的後兩個字節,可將這種ExtCommunity屬性的後六個字節的格式稱為4∶2格式。
本發明中,圖4中ExtCommunity屬性的最高字節設置為類型域,本發明類型域的作用如下預留IANA的註冊信息,確定ExtCommunity屬性的後六個字節中用於存儲路由信息屬性值的管理子域和指派子域的取值格式,之外,本發明的類型域還用於確定ExtCommunity屬性的次高字節為存儲服務策略映射值的服務策略映射域(參見圖5);ExtCommunity屬性的次高字節設置為用於存儲服務策略映射值的服務策略映射域;ExtCommunity屬性的後六個字節設置為路由聚合類標識域,其中路由聚合類標識域包括管理子域和指派子域兩部分。
其中,本發明類型域的格式如圖5所示,圖5是本發明對ExtCommunity屬性中類型域的設置方式之一,從圖5可見,類型域的第0位用於IANA註冊使用,默認值為0;第1位用於表示是否設置ExtCommunity屬性的次高字節為服務策略映射域的服務策略標識,比如當該服務策略標識設置為1時,表示ExtCommunity屬性的次高字節為服務策略映射域,而該服務策略標識為默認值0時,表示ExtCommunity屬性的次高字節不被設置為服務策略映射域;第2位到第6位為預留位,該預留位的取值可以定義靈活用於ExtCommunity屬性的傳遞性比如確定該團體屬性傳遞的AS範圍等;第7位用於規定路由聚合類域的取值格式,比如當第7位為1時,ExtCommunity屬性的後六個字節的格式為2∶4格式,當第7位為0時,ExtCommunity屬性的後六個字節的格式為4∶2格式。
本發明中,比如當類型域取值為十六進位值0x41時,ExtCommunity屬性中,服務策略映射域存儲IP Perference或DSCP值,其中次高字節的高六位為用於存儲IP Perference或DSCP值的DS欄位,後兩位為保留(CU)欄位;路由聚合類標識域中的管理子域為ExtCommunity屬性的後六個字節的高兩個字節,聚合類標識域中的指派子域為ExtCommunity屬性的後六個字節的後四個字節即2∶4格式;當類型域取值為十六進位值0x40時,ExtCommunity屬性中,服務策略映射域存儲IP Perference或DSCP值,其中次高字節的高六位用於存儲IPPerference或DSCP值的DS欄位,後兩位為CU欄位;路由聚合類標識域中的管理子域為ExtCommunity屬性的後六個字節的高四個字節,聚合類標識域中的指派子域為ExtCommunity屬性的後六個字節的後兩個字節即4∶2格式。
其中,IP Perference或DSCP值與DS欄位中服務策略映射值的對應關係可參見相關協議,這裡不再贅述,這裡強調的是,在ExtCommunity屬性中新增一服務策略映射域來存儲與路由信息分類屬性值對應的服務策略映射值。另外CU欄位可以用於標識擁塞避免指示等。
步驟301當需要發送路由信息時,發布路由信息的路由器在路由信息中設置ExtCommunity屬性,並在ExtCommunity屬性中攜帶路由信息分類屬性值和服務策略映射值,並將該路由信息發布給自身的BGP對等體,所述BGP對等體則直接根據路由信息中攜帶的路由信息分類屬性值和服務策略映射值,對符合該路由信息的IP報文進行相應處理。
本步驟中,BGP對等體只需對符合來自發布路由信息的路由器的路由信息的IP報文進行相應處理,用所述IP報文的報文頭中的ToS字域承載對應路由信息中攜帶的服務策略映射值即將所述IP報文頭中的ToS字域的取值設置為對應路由信息中攜帶的服務策略映射值即IP Perference或DCSP值即可。另外,也可以根據路由信息中攜帶的用於路由信息分類的屬性值,對符合不同類路由信息的數據流進行限速或流量統計等處理,具體如何處理屬於現有技術,這裡不再詳述。
除此之外,本發明還可以通過在community屬性中新增用於攜帶服務策略的服務策略映射域,而在發布的路由信息中攜帶的community屬性中包含路由信息分類屬性值和IP報文的服務策略映射值來實現本發明目的。community屬性格式的設置與ExtCommunity屬性相似,只要劃分出一個字節作為服務策略映射域即可,本領域技術很容易理解,這裡不再詳述。
下面結合圖1假設RTB將傳遞路由信息10.1.1.0網絡、20.1.1.0網絡、30.1.1.0網絡至RTC,且需要將到達上述三個網絡的路由的IP報文頭的ToS字域的DSCP取值設為EF。
按照圖3所示的方法,在發布路由信息的RTA上需要完成如下步驟可以使用network命令將上述三個路由信息發布到BGP中,並且可以在發布路由信息時直接攜帶ExtCommunity屬性,如下network 10.1.1.0 ExtCommunity ExtCom-EF100∶1network 20.1.1.0 ExtCommunity ExtCom-EF100∶1network 30.1.1.0 ExtCommunity ExtCom-EF100∶1其中ExtCommunity屬性包括兩個內容採用ExtCom-EF表示DSCP的取值,即設置DSCP值為EF;100∶1為路由信息分類屬性值,也可稱為ExtCommunity屬性值。
在RTB中不需要再建立route-map了,因為在RTB中建立route-map的目的就是為了對某一類路由信息進行操作,從而使符合該路由的IP報文頭的ToS字域的取值設置為DCSP所定義的取值。而在本發明方法中,在上述路由信息中攜帶的ExtCommunity屬性中已經包含了將IP的ToS字域映射為DCSP所定義EF值的信息。因此,RTB只需對符合來自RTA的三條路由信息的IP報文的報文頭中的ToS字域的取值設置為對應路由信息中攜帶的DCSP值即可。
需要說明的是,發布的路由信息中是否攜帶ExtCommunity屬性是可選的,當路由信息中未攜帶ExtCommunity屬性時,仍然需要如現有技術分別在RTA和RTB中建立route-map。
從上述實施例可見,本發明方法使得路由器直接採用路由信息中攜帶的服務策略映射值對符合該路由信息的IP報文進行相應處理如採取相應的服務策略,簡化了在路由器上進行繁瑣的建立工作,提高了工作效率,同時避免了由於建立工作出錯而造成的對IP報文的相應不合理處理。
以上所述,僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。
權利要求
1.一種通過邊界網關協議BGP實施路由策略的方法,其特徵在於,該方法包括當需要發送路由信息時,發布路由信息的路由器在路由信息中攜帶用於對路由信息進行分類的路由信息分類屬性值和IP報文的服務策略映射值,並將該路由信息發布給自身的BGP對等體,所述BGP對等體根據所述路由信息分類屬性值和服務策略映射值,對符合所述路由信息的IP報文進行相應處理。
2.根據權利要求1所示的方法,其特徵在於,所述對符合所述路由信息的IP報文進行相應處理的方法為所述BGP對等體用所述IP報文的報文頭中的ToS字域承載對應路由信息中攜帶的服務策略映射值。
3.根據權利要求1所述的方法,其特徵在於,所述路由信息分類屬性值和服務策略映射值攜帶在所述路由信息的團體屬性或擴展團體屬性中。
4.根據權利要求1所述的方法,其特徵在於,當所述路由信息分類屬性值和服務策略映射值攜帶在所述路由信息的擴展團體屬性中時,所述擴展團體屬性包括類型域、用於攜帶服務策略映射值的服務策略映射域和路由聚合類標識域;所述類型域用於預留網際網路地址指派機構IANA的註冊信息、確定所述擴展團體屬性中用於存儲路由信息分類屬性值的管理子域和指派子域的取值格式、確定所述擴展團體屬性的次高字節為存儲服務策略映射值的服務策略映射域;所述路由聚合類標識域包括管理子域和指派子域。
5.根據權利要求4所述的方法,其特徵在於,所述類型域還用於確定所述團體屬性傳遞的自治系統AS範圍。
6.根據權利要求2、4或5所述的方法,其特徵在於,所述服務策略映射值為IP優先級IP Perference或區分服務代碼點DSCP值。
7.根據權利要求4所述的方法,其特徵在於,所述服務策略映射域包括用於存儲IP Perference或DSCP值的區分服務DS欄位,以及預留CU欄位。
8.根據權利要求7所述的方法,其特徵在於,所述CU欄位用於標識擁塞避免指示。
9.根據權利要求1所述的方法,其特徵在於,當所述路由信息分類屬性值和服務策略映射值攜帶在所述路由信息的團體屬性時,所述團體屬性包括類型域、用於攜帶服務策略映射值的服務策略映射域和路由聚合類標識域。
10.根據權利要求2所述的方法,其特徵在於,所述對符合所述路由信息的IP報文進行相應處理的方法還包括根據路由信息中攜帶的路由信息分類屬性值,對符合不同類路由信息的數據流進行限速或流量統計處理。
全文摘要
本發明公開了一種通過邊界網關協議(BGP)實施路由策略的方法,當需要發送路由信息時,發布路由信息的路由器在路由信息中同時攜帶用於對路由信息進行分類的路由信息分類屬性值和服務策略映射值,並將該路由信息發送給自身的BGP對等體,所述BGP對等體則直接根據路由信息中攜帶的路由信息分類屬性值和服務策略映射值,對符合該路由信息的IP報文進行相應處理。本發明簡化了在路由器上進行繁瑣的建立工作,提高了工作效率,同時避免了由於建立工作出錯而造成的對IP報文的相應不合理處理。
文檔編號H04L29/06GK1852239SQ200510112778
公開日2006年10月25日 申請日期2005年10月12日 優先權日2005年10月12日
發明者張志峰 申請人:華為技術有限公司