專利名稱:一種確定客戶邊緣路由器與虛擬私有網絡間關系的方法
技術領域:
本發明涉及虛擬私有網絡(VPN)業務領域,特別是指一種在多協議標簽交換虛擬私有網絡(BGP/MPLS VPN)中確定客戶邊緣路由器(CE)與VPN之間關系的方法。
背景技術:
目前,在國際互聯網標準定義機構(IETF)發布的RFC 2547 bis標準中定義了一種VPN模型網絡由運營商的骨干網和客戶的站點(Site)組成,一個VPN就是由若干站點組成的集合。該VPN的主要作用是可以利用公網的資源構建私網,并由公網保證虛擬私網的安全性和私有性,由于這種VPN主要使用多協議標簽交換(MPLS)或邊緣網橋協議(BGP)技術來實現,因此被稱為BGP/MPLS VPN。
參見圖1所示,在BGP/MPLS VPN中,客戶的Site通過CE接入到運營商的網絡,運營商網絡使用運營商邊緣路由器(PE)和CE進行連接,PE和CE進行路由信息的交換,CE將自身Site的路由信息發布給所連接的PE,并從該PE上獲取VPN中其它Site的路由信息。
其中,PE和CE之間的路由信息交換是通過PE上的路由/轉發表(VRF)進行的,在PE上,PE為不同的CE分配了邏輯上不同的VRF,PE把從CE獲取來的路由信息存放到該CE對應的VRF中,并將該VRF中其它的路由信息傳遞給該CE。同時,PE之間也互相交換各自VRF中的路由信息,PE將自身VRF中的路由信息傳播給其它的PE,并將其它PE傳遞來的路由信息存放到自身的VRF中。
圖1中,客戶A向運營商租用的VPN擁有兩個Site,即Site1和Site2,它們分別通過CE1和CE2接入運營商網絡,運營商網絡的接入設備分別是PE1和PE2,并且,PE1為CE1分配了VRF1,PE2為CE2分配了VRF2。那么,PE1和CE1交換路由信息時,PE1將從CE1學習的路由信息存放到VRF1中,CE1同時也從VRF1中學習路由信息;同樣的,PE2將從CE2學習的路由信息存放到VRF2中,CE2同時也從VRF2學習路由信息。PE1和PE2進行路由信息交換時,PE2將從VRF1學習來的路由信息存放到VRF2中;同時,PE1將從VRF2學習的路由信息存放到VRF1中。如此,通過運營商網絡CE2和CE1之間實現了路由的交換,進而能夠將VPN建立起來。
在實際的應用網絡中,將會有多個客戶、多個VPN,那么,就需要對VRF的路由交換進行控制。如圖2所示,應用網絡中存在客戶A和客戶B,分別租用VPN A和VPN B,VPN A的組網結構與圖1所示完全相同。對于VPN B,客戶B的Site B-1通過CE-B1接入運營商網絡,運營商網絡的接入設備是PE3,并且PE3為CE-B1分配了VRF3。在這種組網情況下,由于VRF3與VRF1、VRF2不屬于同一個VPN,因此,VRF3不應該學習從VRF1和VRF2傳遞來的路由信息。也就是說,PE和PE之間進行VRF的路由信息交換時,必須使用一種控制手段來抑制不同VPN中VRF之間的信息交換。
BGP/MPLS VPN中是使用路由目標(RT,Route Target)屬性來解決這個問題,每個VRF擁有一個或多個RT屬性,同時,相對于VRF來說,其RT屬性又分為導入(import)和導出(export)兩類,VRF可以任意指定RT屬性為import類型或export類型。VRF對外發布自己的路由信息時,會附帶自身的export RT值在網絡上進行傳播。當其它PE接收到這些路由信息時,它將查看所收到路由信息中附帶的RT屬性,如果該RT屬性的值和自身某個VRF中的import RT值相等,則PE將這個路由信息插入到該VRF中。
如圖3所示,在圖2所示的應用網絡中為VRF1分配了兩個RT,即import100∶1和export 100∶2,其中,前一個RT表示該RT的值為100∶1,類型為import;后一個RT表示該RT的值為100∶2,類型為export。PE1在發布VRF1的路由信息時,將附帶上VRF1的export RT值100∶2,當PE2接收到VRF1的路由信息時,查看到VRF1路由信息中所附帶的RT值100∶2和自身VRF2中的importRT值100∶2相等,那么,PE2就將VRF1來的路由信息插入到VRF2中。而PE3上的VRF3中沒有import RT值與該export RT值100∶2相等,所以VRF3將不能導入來自VRF1的路由信息,如此就可保證不同VPN中VRF之間不進行路由信息交換。
在以上描述中,由于CE1和CE2互相擁有對方Site的路由信息,簡單的說就是CE1和CE2擁有連接關系;同時,由于每個Site均使用屬于自己的CE接入運營商網絡,為了描述方便,下文不再區分CE和Site。
從圖3所示的方案可以看出,RT的值決定了CE之間的連接關系,根據網絡上的所有RT就能發現所有CE之間的連接關系。目前,作為BGP/MPLS VPN的網管,其重要功能就是按照VPN的網絡情況來分配RT,分配RT的作用就是要根據RT的信息來識別CE之間的連接關系,即CE屬于哪些VPN。
最簡單的RT分配策略是在添加VPN的站點時,為每一對有連接關系的CE分配不同的RT值,如圖4所示,圖4中給出了一個擁有三個Site的VPN,其中的三個CE兩兩之間具有連接關系,三個PE分別為三個CE分配擁有不同RT屬性的VRF。具體的分配方案包括以下三個部分1)在PE1上為CE1分配import 100∶1、export 100∶2;同時,在PE2上為CE2分配import 100∶2、export 100∶1,達到CE1和CE2直接連接的目的。
2)在PE1上為CE1分配import 100∶3、export 100∶4;同時,在PE2上為CE2分配import 100∶4、export 100∶3,達到CE1和CE3直接連接的目的。
3)在PE2上為CE2分配import 100∶6、export 100∶5;同時,在PE3上為CE3分配import 100∶5、export 100∶6,達到CE2和CE3直接連接的目的。
但是,采用上述簡單的RT分配策略,RT值的數量會隨著VPN站點數量的增長而不斷增加;并且,由于RT值的分配與VPN沒有很好的對應關系,網管在獲取網絡上的RT值之后,只能獲得CE之間的連接關系,而無法識別這些CE是否屬于一個VPN。比如圖4中,網管可以判斷出CE1和CE2之間有連接關系,CE2和CE3有連接關系,CE1和CE3有連接關系,但是無法判斷這三個CE是否同時屬于一個VPN。
為了避免上述問題的發生,現有技術中提出了CE路由群(CERC)的概念,通常,一個VPN可由若干個CERC組成,最簡單的情況是一個VPN中只有一個CERC。基于CERC,又提出了兩種由多個Site構成一個VPN網絡的組網形式全連接(Full Mesh)類型或星形連接(HubSpoke)類型。在FullMesh類型的CERC中,如圖5所示,每個CE之間兩兩互相具有連接關系;而在HubSpoke類型的CERC中,如圖6所示,作為軸(Hub)的CE能夠和其它所有的CE有連接關系,作為輪輻(Spoke)的CE只能和Hub CE有連接關系。因此,可以將FullMesh類型的CERC認為是HubSpoke類型CERC的一個特例,其中的所有CE均為Hub CE。
在CERC中,網管為每個CERC分配兩個不同的RT值一個Hub RT,一個SDoke RT。對于每個加入CERC的CE根據其加入的身份不同,即為Hub CE還是Spoke CE,為其分配不同的RT列表。其中,為Hub CE分配的RT是importhub RT、import spoke RT、export hub RT;為Spoke CE分配的RT是import hubRT、export spoke RT。
圖5、圖6所示均為擁有三個Site的VPN,圖5為FullMesh類型的CERC,圖6為HubSpoke類型的CERC,從圖5、圖6可以看到為每個CE分配的RT列表。這樣,通過CERC網管可以計算出為CE應該分配的RT值。
現有技術中,網管對RT列表分配的操作順序是先定義VPN;然后在VPN中定義CERC,為CERC分配兩個RT值;再通過其它手段來引導網管用戶將相應的CE加入到所定義的CERC中,即可得到為CE分配的RT列表。這種將VPN劃分為CERC,并使用CERC進行RT分配的方法,可使VPN與RT有很好的對應關系。但是,目前尚沒有產品和文獻指出,如何在已知網絡為CE分配好RT列表的情況下,逆向推導出該CE屬于哪些CERC,以及該CE在CERC中是Hub還是Spoke。
發明內容
有鑒于此,本發明的主要目的在于提供一種確定CE與VPN間關系的方法,使其能夠根據網絡上已知的RT列表,逆向推導出CE和CERC的關系以及CE在CERC中的身份,從而達到在網管上識別VPN信息的目的;并且,減少了人工的參與,大大降低了網絡維護成本。
為達到上述目的,本發明的技術方案是這樣實現的一種確定客戶邊緣路由器(CE)與虛擬私有網絡(VPN)間關系的方法,包括預先為每個CE設備分配至少一個路由目標(RT)值,形成該CE的RT列表;并為一個以上創建好的CE路由群(CERC)分配各自的軸(Hub)RT值和輪輻(Spoke)RT值,該方法還包括以下步驟a.將當前要與指定CERC進行匹配的CE中的RT列表按RT的導入導出屬性分為導入RT列表和導出RT列表;b.根據步驟a所劃分的導入和導出RT列表中RT的值以及分配給當前指定CERC的Hub RT值和Spoke RT值,確定當前要匹配CE的VPN歸屬屬性。
其中,步驟b中所述確定當前要匹配CE的VPN歸屬屬性是指確定當前要匹配CE是否屬于當前指定的CERC,并確定該CE在當前指定CERC中的身份。那么,步驟b進一步包括b1.判斷當前指定CERC的Hub RT值和Spoke RT值是否在當前要匹配CE的導入RT列表中存在,且當前指定CERC的Hub RT值是否存在于當前要匹配CE的導出RT列表中,如果是,則確定當前要匹配CE為該指定CERC的HubCE;否則,進入步驟b2;b2.判斷當前指定CERC的Hub RT值是否在當前要匹配CE的導入RT列表中存在,且當前指定CERC的Spoke RT是否在當前要匹配CE的導出RT列表中存在,如果是,則確定當前要匹配CE為該指定CERC的Spoke CE;否則,當前要匹配CE不屬于當前指定CERC。
該方法進一步包括在為CERC分配Hub RT和Spoke RT之前,網管從網絡上獲取所有CE的RT數據;然后創建虛擬私人網絡(VPN),并在已創建的VPN中劃分CERC。
因此,本發明所提供的確定CE與VPN間關系的方法,是在網絡為CE分配好RT列表的情況下,在VPN業務網管上逆向推導出CE和CERC的關系,以及CE在CERC中是Hub CE還是Spoke CE的類型,從而得到CE在VPN中的身份。由于在一般的網絡建設中,大都是采用手工方式來進行網絡的調試和業務的試運行,然后再使用網管來發放業務并管理網絡,這與定義VPN到定義CERC到將CE加入CERC的操作順序正好相反。如果按現有技術的方式,就需要按照前期手工配置的信息,在網管上重新輸入,很容易造成失誤,并且浪費時間。采用本發明后,只要按照CERC的策略來分配RT,在使用網管后,不需要在網管上輸入很多信息,就可以將網絡上已有的VPN以及CE的屬性識別出來,從而達到VPN信息發現的效果,并可減少配置出錯率、節省操作時間、降低維護成本。
圖1為VPN網絡中路由交換的一實施例示意圖;圖2為VPN網絡中路由交換的另一實施例示意圖;圖3為VPN網絡中路由交換的又一實施例示意圖;圖4為VPN網絡中簡單RT分配策略的示意圖;圖5為VPN網絡中FullMesh類型CERC的RT分配策略示意圖;圖6為VPN網絡中HubSpoke類型CERC的RT分配策略示意圖;圖7為本發明方法的實現流程圖。
具體實施例方式
下面結合附圖及具體實施例對本發明再作進一步詳細的說明。
采用本發明實現在CERC中添加CE的過程是先為每個CE設備分配一個或多個RT值;然后網管從網絡上獲取全網的所有RT數據;之后,在網管上創建VPN并在創建好的VPN中創建CERC,也就是劃分CERC;CERC在網管上創建完成后,再通過識別算法將CE加入到網管中不同的CERC中,完成VPN信息的自動識別。
在上述添加CE的過程中,對每個CE設備分配RT值的方法以及網管從網絡上獲取RT數據的方法,均使用現有技術完成,只有如何將CE添加到指定CERC的過程,即上面所說的識別算法與現有技術不同。
本發明中根據RT信息,將CE匹配到指定CERC中的具體實現過程,即網管根據已創建的CERC和已知的RT列表進行匹配,得到CE是否屬于指定CERC以及確定該CE在指定CERC中身份的過程,如圖7所示,包括以下的步驟步驟701將當前要與指定CERC進行匹配的CE中的RT列表按RT的導入導出屬性分為import RT列表和export RT列表。
步驟702~706由于對任意的CERC,都會在創建時給其分配Hub RT和Spoke RT值,因此,對于每個指定的CERC,根據步驟701所劃分的import RT列表和export RT列表中RT的值以及分配給指定CERC的Hub RT和Spoke RT的值,判斷當前要匹配的CE是否為該CERC的Hub CE或Spoke CE。具體判斷方法是這樣a.先判斷該指定CERC的Hub RT和Spoke RT的值是否在當前要匹配CE的import RT列表中存在,且該指定CERC的Hub RT值是否在當前要匹配CE的export RT列表中存在,如果是,則確定當前要匹配CE為該指定CERC的Hub CE;否則,進入步驟b;b.如果當前要匹配CE不是該指定CERC的Hub CE,再判斷該指定CERC的Hub RT是否在當前要匹配CE的import RT列表中存在,且該指定CERC的Spoke RT是否在當前要匹配CE的export RT列表中存在,如果是,則確定當前要匹配CE為該指定CERC的Spoke CE;否則,認為當前要匹配CE不屬于該指定CERC。
如此,即可得到當前要匹配CE和指定CERC之間的關系,如是否屬于指定CERC;同時,可明確當前要匹配CE在指定CERC中的身份。
以上是將一個CE添加到一個CERC的過程,只要對所有CERC列表循環執行步驟701~706,就可以得到當前要匹配CE和所有CERC之間的關系,以及當前要匹配CE在所屬CERC中的身份。或是,指定一個CERC,對每個CE循環執行步驟701~706,就可獲得不同CE與該指定CERC之間的關系。
以圖6所示CERC為例,設定當前要匹配的CE為CE3,圖中所示的CERC2即為指定CERC,當不知道CE3與CERC2的關系時,本發明的實現過程是這樣的1)預先為CE3分配類型為import的RT值100∶3和100∶4,以及類型為export的RT值100∶3,則CE3的RT列表包括三個值;預先為CE4分配類型為import的RT值100∶3,以及類型為export的RT值100∶4,則CE4的RT列表包括兩個值;預先為CE5分配類型為import的RT值100∶3,以及類型為export的RT值100∶4,則CE5的RT列表包括兩個值;為已創建的CERC2分配Hub RT值100∶3和Spoke RT值100∶4。
2)將CE3中的RT列表按RT的導入導出屬性分為導入RT列表和導出RT列表,其中,導入RT列表中包括import的RT值100∶3和100∶4,導出RT列表包括export的RT值100∶3。
3)由于CERC2的Hub RT值100∶3和Spoke RT值100∶4均存在于CE3的導入RT列表中,同時,CERC2的Hub RT值100∶3也存在于CE3的導出RT列表中,所以,CE3屬于CERC2且為CERC2的Hub CE。
這樣,從網管上就可了解到某個CE加入了哪些CERC、VPN,反之,也可以知道某個VPN中擁有哪些CE,并得到CE之間的連接關系,從而實現在VPN業務網管上發現VPN信息的過程。
權利要求
1.一種確定客戶邊緣路由器(CE)與虛擬私有網絡(VPN)間關系的方法,包括預先為每個CE設備分配至少一個路由目標(RT)值,形成該CE的RT列表;并為一個以上創建好的CE路由群(CERC)分配各自的軸(Hub)RT值和輪輻(Spoke)RT值,其特征在于該方法還包括以下步驟a.將當前要與指定CERC進行匹配的CE中的RT列表按RT的導入導出屬性分為導入RT列表和導出RT列表;b.根據步驟a所劃分的導入和導出RT列表中RT的值以及分配給當前指定CERC的Hub RT值和Spoke RT值,確定當前要匹配CE的VPN歸屬屬性。
2.根據權利要求1所述的方法,其特征在于步驟b中所述確定當前要匹配CE的VPN歸屬屬性為確定當前要匹配CE是否屬于當前指定的CERC,并確定該CE在當前指定CERC中的身份。
3.根據權利要求2所述的方法,其特征在于步驟b進一步包括b1.判斷當前指定CERC的Hub RT值和Spoke RT值是否在當前要匹配CE的導入RT列表中存在,且當前指定CERC的Hub RT值是否存在于當前要匹配CE的導出RT列表中,如果是,則確定當前要匹配CE為該指定CERC的HubCE;否則,進入步驟b2;b2.判斷當前指定CERC的Hub RT值是否在當前要匹配CE的導入RT列表中存在,且當前指定CERC的Spoke RT是否在當前要匹配CE的導出RT列表中存在,如果是,則確定當前要匹配CE為該指定CERC的Spoke CE;否則,當前要匹配CE不屬于當前指定CERC。
4.根據權利要求1所述的方法,其特征在于該方法進一步包括在為CERC分配Hub RT和Spoke RT之前,網管從網絡上獲取所有CE的RT數據;然后創建虛擬私人網絡(VPN),并在已創建的VPN中劃分CERC。
全文摘要
本發明公開了一種確定客戶邊緣路由器(CE)與虛擬私有網絡間關系的方法,包括預先為每個CE設備分配至少一個路由目標(RT)值,形成該CE的RT列表;在網管中創建CE路由群(CERC)并為其分配軸(Hub)RT和輪輻(Spoke)RT值,該方法還包括將當前要與指定CERC進行匹配的CE中的RT列表按RT的導入導出屬性分為導入RT列表和導出RT列表;然后根據所劃分的導入和導出RT列表中的RT值以及分配給指定CERC的Hub RT和Spoke RT值,判斷當前要匹配CE是否屬于當前指定的CERC,并確定該CE為指定CERC的Hub CE或Spoke CE。該方法能夠根據網絡上已知的RT列表,逆向推導出CE和CERC的關系以及CE在CERC中的身份,從而達到在網管上識別VPN信息的目的;并且,減少了人工的參與,大大降低了網絡維護成本。
文檔編號H04L12/56GK1520101SQ03100809
公開日2004年8月11日 申請日期2003年1月22日 優先權日2003年1月22日
發明者黃斌, 斌 黃 申請人:華為技術有限公司