一種基于多角色主機的報文傳輸方法和設備的制作方法
【專利摘要】本發明公開了一種基于多角色主機的報文傳輸方法和設備,該方法包括:當在第一PE上為第一主機配置靜態路由時,第一PE確定對應的虛擬映射IP地址,并記錄所述虛擬映射IP地址、目的IP地址、出接口之間的對應關系;第一PE以所述虛擬映射IP地址發布靜態路由給第二PE,由所述第二PE學習所述虛擬映射IP地址;第一PE在收到來自第一主機的第一報文時,利用所述對應關系,將所述第一報文的源IP地址修改為對應的虛擬映射IP地址,并發送所述第一報文;第一PE在收到目的IP地址為虛擬映射IP地址的第二報文時,將所述第二報文的目的IP地址修改為對應的目的IP地址,并利用對應的出接口發送所述第二報文。本發明實施例中,可以避免報文傳輸錯誤。
【專利說明】一種基于多角色主機的報文傳輸方法和設備
【技術領域】
[0001]本發明涉及通信【技術領域】,尤其是涉及一種基于多角色主機的報文傳輸方法和設備,特別是一種基于MPLS L3VPN技術的報文傳輸方法和設備。
【背景技術】
[0002]MPLS (Mult1-Protocol Label Switching,多協議標簽交換)L3VPN(Layer3Virtual Private Network,三層虛擬專用網絡)是三層VPN技術,使用BGP(Border Gateway Protocol,邊界網關協議)在服務提供商骨干網上發布用戶主機的私網路由,使用MPLS在服務提供商骨干網上轉發用戶主機的私網報文,以通過服務提供商骨干網連接屬于同一個VPN、位于不同地理位置的用戶主機。在MPLS L3VPN中,不同VPN之間的路由隔離通過VPN實例實現,每個VPN實例都有相對獨立的IP路由表、LFIB (LabelForwarding Informat1n Base,標簽轉發信息庫)、與VPN實例關聯的接口、以及VPN實例的管理信息等內容。
[0003]在一般情況下,一個VPN下的主機只能訪問該VPN下的其它主機,而無法訪問其它VPN下的主機。但是,基于實際需要,多角色主機需要能夠訪問多個VPN下的主機。如圖1所示,為基于多角色主機的MPLS L3VPN的組網示意圖。假設VPN2下的主機C(即多角色主機)需要訪問VPNl下的主機A,則需要在PE2上進行相關配置,以使VPN2與VPNl之間能夠互訪,VPN2與VPN3之間無法互訪,VPN2與VPN4之間無法互訪,即主機C可以訪問主機A,但是無法訪問主機B和主機D。主機C在訪問主機A時,采用地址為120.2.1.2。
[0004]為了實現多角色主機的訪問過程,則相應的處理流程包括以下步驟:
[0005]步驟1、在CEl (Customer Edge,用戶網絡邊緣設備)上配置靜態默認路由,其出接口為S/2/1/0,在CE2上配置靜態默認路由,其出接口為S/2/1/0,在CE3上配置靜態默認路由,其出接口為S/2/1/1,在CE4上配置靜態默認路由,其出接口為S/3/1/1。進一步的,在PEl (Provider Edge,服務提供商網絡邊緣設備)上創建VPNl,在PE2上創建VPNl,VPN2,VPN3, VPN4。
[0006]步驟2、CEl將主機A的路由發送給PEI,PEl通過BGP將主機A的路由作為VPNl的私網路由發布給PE2,并分配私網標簽1000。PE2在VPNl對應的路由表內學習到主機A的私網路由為100.1.1.2,其私網出標簽為1000。
[0007]步驟3、在PE2上為VPNl對應的路由表配置靜態路由,該靜態路由的目的地址為主機C的IP地址120.2.1.2,且該靜態路由的下一跳為VPN2下的3.1.1.1。進一步的,PE2通過BGP將靜態路由作為VPNl的私網路由發布給PE1,并分配私網標簽2000。之后,PEl在VPNl對應的路由表內學習到靜態路由120.2.1.2,其私網出標簽為2000。
[0008]步驟4、為PE2上連接CE2的接口配置策略路由,該策略路由用于使PE2在VPN2對應的路由表內無法查找到報文對應的路由時,在VPNl對應的路由表內查找報文對應的路由。進一步的,在PE2上為該策略路由進行源IP地址限制,以使得只允許源IP地址為120.2.1.2的報文使用該策略路由。
[0009]基于上述處理,PEl在收到來自主機A的報文時,基于VPNl對應的路由表內學習到的靜態路由120.2.1.2,PEl將報文發送給PE2。PE2在收到報文后,通過下一跳(VPN2下的3.1.1.1)發送報文,使報文發送給主機C。PE2在收到主機C發送給主機A的報文時,由于源IP地址為120.2.1.2,VPN2對應的路由表內無法查找到報文對應的路由,因此,PE2在VPNl對應的路由表內查找報文對應的路由,基于VPNl對應的路由表內學習到的主機A的私網路由為100.1.1.2,PE2將報文發送給PEI。PEl在收到報文后,通過CEl將報文發送給主機A。
[0010]經過上述處理,可以使VPN2下的多角色主機訪問VPNl下的主機。
[0011 ] 在實際應用中,假設主機B (主機D)的IP地址與主機C的IP地址相同,且VPN4下的主機B (即多角色主機)也需要訪問VPNl下的主機A。則PE2上將在VPNl對應的路由表內配置兩條靜態路由,這兩條靜態路由的目的地址均為120.2.1.2,一條靜態路由的下一跳為VPN2下的3.1.1.1,另一條靜態路由的下一跳為VPN4下的5.1.1.1。在此情況下,這兩條靜態路由將形成等價路由。進一步的,針對主機B和主機C,PEl在VPNl對應的路由表內只學習到靜態路由120.2.1.2,其私網出標簽為2000。對于主機A發送給主機B或主機C的報文,在VPNl對應的路由表將對應于相同的路由。PE2在收到報文后,通過查詢VPNl對應的路由表,PE2不知道將該報文發送給主機B,還是發送給主機C。
【發明內容】
[0012]本發明實施例提供一種基于多角色主機的報文傳輸方法,所述方法包括:
[0013]當在第一服務提供商網絡邊緣設備PE上配置第二虛擬專用網絡VPN下以第一 VPN中第一主機IP地址為目地IP地址的靜態路由時,所述第一 PE確定對應的虛擬映射IP地址,并記錄該目的IP地址、所述虛擬映射IP地址、所述第一主機在所述第一 PE上的第一VPN下的出接口之間的對應關系;
[0014]所述第一PE以所述虛擬映射IP地址發布該靜態路由給第二PE,由所述第二PE在第二主機對應的第二 VPN的路由表內學習所述虛擬映射IP地址;
[0015]所述第一 PE在收到來自所述第一主機的第一報文,在所述第二 VPN的路由表內查找對應的路由時,利用所述對應關系,將所述第一報文的源IP地址修改為對應的虛擬映射IP地址,并發送所述第一報文;
[0016]所述第一 PE在收到來自第二 PE的目的IP地址為虛擬映射IP地址的第二報文時,利用所述對應關系,將所述第二報文的目的IP地址修改為所述虛擬映射IP地址對應的目的IP地址,并通過對應的出接口發送所述第二報文。
[0017]所述方法進一步包括:所述第一 PE接收所述第二 PE向本第一 PE發布的所述第二主機的路由,并在所述第二 VPN的路由表內學習所述第二主機的路由;所述第一 PE為所述出接口配置策略路由,所述策略路由用于使第一 PE在從所述出接口收到報文時,如果所述第一 VPN的路由表內沒有所述報文對應的路由,則在所述第二 VPN的路由表內查找所述報文對應的路由。
[0018]所述第一 PE在確定對應的虛擬映射IP地址的過程中,所述方法進一步包括:所述第一 PE從IP地址段內選擇可用的IP地址作為所述目的IP地址對應的虛擬映射IP地址,并將所述虛擬映射IP地址標記為不可用的IP地址。
[0019]所述方法進一步包括:所述第一 PE在以所述虛擬映射IP地址發布該靜態路由給所述第二 PE之后,如果發現所述虛擬映射IP地址發生沖突,則所述第一 PE重新確定所述目的IP地址對應的虛擬映射IP地址,并撤銷之前以所述虛擬映射IP地址向所述第二 PE發布的靜態路由,并重新以當前重新確定的虛擬映射IP地址向所述第二 PE發布靜態路由。
[0020]所述方法應用于多協議標簽交換三層虛擬專用網絡MPLS L3VPN中;
[0021]所述第一 PE上分別配置第二 VPN下以多個主機IP地址為目地IP地址的靜態路由;其中,所述多個主機的VPN為第二 VPN之外的其它VPN,所述多個主機的VPN各不相同,且所述多個主機的IP地址相同。
[0022]本發明實施例提供一種服務提供商網絡邊緣設備PE,作為第一 PE應用于包括所述第一 PE和第二 PE的網絡中,所述第一 PE具體包括:
[0023]維護模塊,用于在所述第一 PE上配置第二虛擬專用網絡VPN下以第一 VPN中第一主機IP地址為目地IP地址的靜態路由時,確定對應的虛擬映射IP地址,并記錄該目的IP地址、所述虛擬映射IP地址、所述第一主機在所述第一 PE上的第一 VPN下的出接口之間的對應關系;
[0024]路由處理模塊,用于以所述虛擬映射IP地址發布該靜態路由給第二 PE,由第二 PE在第二主機對應的第二 VPN的路由表內學習所述虛擬映射IP地址;
[0025]報文處理模塊,用于在收到來自所述第一主機的第一報文,在所述第二 VPN的路由表內查找對應的路由時,利用所述對應關系,將所述第一報文的源IP地址修改為對應的虛擬映射IP地址,并發送所述第一報文;
[0026]在收到來自第二 PE的目的IP地址為虛擬映射IP地址的第二報文時,利用所述對應關系,將所述第二報文的目的IP地址修改為所述虛擬映射IP地址對應的目的IP地址,并通過對應的出接口發送所述第二報文。
[0027]所述路由處理模塊,還用于接收所述第二 PE向所述第一 PE發布的所述第二主機的路由,并在所述第二 VPN的路由表內學習所述第二主機的路由;
[0028]為所述出接口配置策略路由,所述策略路由用于使所述第一 PE在從所述出接口收到報文時,如果所述第一 VPN的路由表內沒有所述報文對應的路由,則在所述第二 VPN的路由表內查找所述報文對應的路由。
[0029]所述維護模塊,具體用于在確定對應的虛擬映射IP地址的過程中,從IP地址段內選擇可用的IP地址作為所述目的IP地址對應的虛擬映射IP地址,并將所述虛擬映射IP地址標記為不可用的IP地址。
[0030]所述路由處理模塊,還用于在以所述虛擬映射IP地址發布該靜態路由給所述第二 PE之后,如果發現所述虛擬映射IP地址發生沖突,則重新確定所述目的IP地址對應的虛擬映射IP地址,并撤銷之前以所述虛擬映射IP地址向所述第二 PE發布的靜態路由,并重新以當前重新確定的虛擬映射IP地址向所述第二 PE發布靜態路由。
[0031 ] 所述第一 PE應用于多協議標簽交換三層虛擬專用網絡MPLS L3VPN中;
[0032]所述第一 PE上分別配置第二 VPN下以多個主機IP地址為目地IP地址的靜態路由;其中,所述多個主機的VPN為第二 VPN之外的其它VPN,所述多個主機的VPN各不相同,且所述多個主機的IP地址相同。
[0033]基于上述技術方案,本發明實施例中,通過在PE上維護虛擬映射IP地址、目的IP地址和出接口之間的對應關系,從而在多個具有相同IP地址的多角色主機均需要訪問某主機時,能夠區分這多個具有相同IP地址的多角色主機,使這多個具有相同IP地址的多角色主機的訪問互不干擾,互相隔離,并保證PE能夠準確的將報文發送給相應的多角色主機,避免報文傳輸錯誤。
【專利附圖】
【附圖說明】
[0034]圖1是一種基于多角色主機的MPLS L3VPN的組網示意圖;
[0035]圖2是本發明實施例提供的一種基于多角色主機的報文傳輸方法流程圖;
[0036]圖3是本發明實施例提供的一種服務提供商網絡邊緣設備PE的結構圖。
【具體實施方式】
[0037]針對現有技術中存在的問題,本發明實施例提供一種基于多角色主機的報文傳輸方法,該方法應用于包括第一 PE和第二 PE的MPLS L3VPN中,第一 PE下的第一主機需要訪問第二 PE下的第二主機,且第一主機對應的第一 VPN與第二主機對應的第二 VPN不同。以圖1為本發明實施例的應用場景示意圖,PE2為第一 PE,PE1為第二 PE。PE2下的主機C為第一主機,主機C對應的第一 VPN為VPN2,PEl下的主機A為第二主機,主機A對應的第二VPN為VPN1,且VPN2與VPNl之間能夠互訪。PE2下的主機B為第一主機,主機B對應的第一 VPN為VPN4,PEl下的主機A為第二主機,主機A對應的第二 VPN為VPNl,且VPN4與VPNl之間能夠互訪。PE2下的主機D為第一主機,主機D對應的第一 VPN為VPN3,PE1下的主機A為第二主機,主機A對應的第二 VPN為VPN1,且VPN3與VPNl之間能夠互訪。
[0038]本發明實施例中,假設主機B、主機C和主機D具有相同的IP地址(如120.2.1.2),且主機B (即多角色主機)需要訪問主機A、主機C (即多角色主機)需要訪問主機A、主機D(即多角色主機)需要訪問主機A。
[0039]在上述圖1所示的應用場景下,本發明實施例中,如圖2所示,上述基于多角色主機的報文傳輸方法,具體可以包括以下步驟:
[0040]步驟201,在第一 PE上配置第二 VPN下以第一 VPN中第一主機IP地址為目地IP地址的靜態路由。例如,在PE2上為VPNl對應的路由表配置靜態路由,該靜態路由的目的地址為主機C的IP地址120.2.1.2。
[0041]本發明實施例中,需要在第一 PE上分別配置第二 VPN下以多個主機IP地址為目地IP地址的靜態路由;其中,這多個主機的IP地址相同,且這多個主機對應的VPN各不相同,并且這多個主機對應的VPN與第二 VPN不同,即多個主機的VPN為第二 VPN之外的其它VPN0例如,在PE2上為VPNl對應的路由表配置靜態路由,該靜態路由的目的地址為主機C的IP地址120.2.1.2,下一跳為VPN2的3.1.1.1。在PE2上為VPNl對應的路由表配置靜態路由,該靜態路由的目的地址為主機B的IP地址120.2.1.2,下一跳為VPN4的5.1.1.1。在PE2上為VPNl對應的路由表配置靜態路由,該靜態路由的目的地址為主機D的IP地址120.2.1.2,下一跳為 VPN3 的 4.1.1.1。
[0042]基于此,VPNl對應的路由表中有目的地址為120.2.1.2的三條靜態路由,且這三條靜態路由的下一跳分別為3.1.1.1,4.1.1.1,5.1.1.1。
[0043]本發明實施例中,第一 PE還會接收第二 PE向本第一 PE發布的第二主機的路由,并在第二主機對應的第二 VPN的路由表內學習第二主機的路由。
[0044]在本步驟201之前,在PE1上創建VPN1,在PE2上創建VPN1,VPN2,VPN3,VPN4。進一步的,在CEl上配置靜態默認路由,其出接口為S/2/1/0,在CE2上配置靜態默認路由,其出接口為S/2/1/0,在CE3上配置靜態默認路由,其出接口為S/2/1/1,在CE4上配置靜態默認路由,其出接口為S/3/1/1。之后,CEl將主機A的路由發送給PEl,PEl通過BGP將主機A的路由作為VPNl的私網路由發布給PE2,并分配私網標簽1000。之后,PE2在VPNl對應的路由表內學習到主機A的私網路由為100.1.1.2,其私網出標簽為1000。
[0045]步驟202,在配置第二 VPN下以第一 VPN中第一主機IP地址為目地IP地址的靜態路由時,第一 PE確定對應的虛擬映射IP地址,并記錄虛擬映射IP地址、目的IP地址、第一主機在第一 PE上的第一 VPN下的出接口之間的對應關系。
[0046]本發明實施例中,第一 PE上會提供可以作為虛擬映射IP地址的IP地址段。基于此IP地址段,第一 PE在確定對應的虛擬映射IP地址的過程中,第一 PE從該IP地址段內選擇可用的IP地址作為目的IP地址對應的虛擬映射IP地址,并將當前選擇的虛擬映射IP地址標記為不可用的IP地址。
[0047]例如,PE2上提供作為虛擬映射IP地址的IP地址段200.0.0.0/32。在配置第二 VPN下以第一 VPN中第一主機IP地址(主機C的IP地址120.2.1.2)為目地IP地址的靜態路由時,PE2確定虛擬映射IP地址為200.0.0.0/32,并在關聯組中記錄200.0.0.0/32、120.2.1.2和主機C在PE2上的出接口 S2/1/1之間的對應關系,即關聯組為{200.0.0.0/32,120.2.1.2,S2/1/1}。在配置第二 VPN 下以第一 VPN 中第一主機 IP地址(主機B的IP地址120.2.1.2)為目地IP地址的靜態路由時,PE2確定虛擬映射IP地址為200.0.0.1/32,并在關聯組中記錄200.0.0.1/32,120.2.1.2 和主機B在PE2上的出接口 S2/1/3之間的對應關系,即關聯組為{200.0.0.1/32,120.2.1.2, S2/1/3}。在配置第二 VPN下以第一 VPN中第一主機IP地址(主機D的IP地址120.2.1.2)為目地IP地址的靜態路由時,PE2確定虛擬映射IP地址為200.0.0.2/32,并在關聯組中記錄200.0.0.2/32、120.2.1.2和主機D在PE2上的出接口 S2/1/2之間的對應關系,即關聯組為{200.0.0.2/32,120.2.1.2,S2/1/2}。
[0048]本發明實施例中,在引入靜態路由的VPN內配置虛擬IP映射能力,即在第二 VPN內配置虛擬IP映射能力。基于此,在虛擬IP映射能力被使能的情況下,當配置第二 VPN下以第一 VPN中第一主機IP地址為目地IP地址的靜態路由時,第一 PE會去確定對應的虛擬映射IP地址。其中,第一 PE確定虛擬映射IP地址的方式可以為動態方式或者靜態方式。在動態方式下,由第一 PE從IP地址段內動態選擇可用的IP地址作為虛擬映射IP地址,并保證第一 PE選擇出無沖突的虛擬映射IP地址。之后,第一 PE記錄虛擬映射IP地址、目的IP地址、出接口之間的對應關系。在靜態方式下,由用戶在第一 PE上手工配置虛擬映射IP地址,并由第一 PE接收用戶配置的虛擬映射IP地址。之后,第一 PE記錄虛擬映射IP地址、目的IP地址、出接口之間的對應關系。
[0049]步驟203,第一 PE以虛擬映射IP地址發布靜態路由給第二 PE,由第二 PE在第二主機對應的第二 VPN的路由表內學習虛擬映射IP地址。
[0050]例如,PE2通過BGP將虛擬映射IP地址200.0.0.0/32作為VPNl的私網路由(即上述靜態路由)發布給PE1,并分配私網標簽為2000 ;之后,PEl在VPNl對應的路由表內學習到虛擬映射IP地址200.0.0.0/32,其私網出標簽為2000。PE2通過BGP將虛擬映射IP地址200.0.0.1/32作為VPNl的私網路由(即上述靜態路由)發布給PE1,并分配私網標簽為2001 ;之后,PEI在VPNl對應的路由表內學習到虛擬映射IP地址200.0.0.1/32,其私網出標簽為2001。PE2通過BGP將虛擬映射IP地址200.0.0.2/32作為VPNl的私網路由(即上述靜態路由)發布給PEl,并分配私網標簽為2002 ;之后,PEl在VPNl對應的路由表內學習到虛擬映射IP地址200.0.0.2/32,其私網出標簽為2002。
[0051]本發明實施例中,第一 PE在以虛擬映射IP地址發布靜態路由給第二 PE之后,如果發現虛擬映射IP地址發生沖突,第一 PE重新確定目的IP地址對應的虛擬映射IP地址,并撤銷之前以該虛擬映射IP地址向第二 PE發布的靜態路由器,并重新以當前重新確定的虛擬映射IP地址向第二 PE發布靜態路由。例如,PE2將虛擬映射IP地址200.0.0.0/32作為VPNl的私網路由發布給PEl之后,如果發現200.0.0.0/32發生沖突,則PE2重新確定虛擬映射IP地址為200.0.0.3/32,并撤銷之前以該虛擬映射IP地址200.0.0.0/32向PEl發布的VPNl的私網路由,并通過BGP將虛擬映射IP地址200.0.0.3/32作為VPNl的私網路由發布給PEl,并分配私網標簽為2000。
[0052]其中,虛擬映射IP地址發生沖突的情況包括但不限于:第一 PE從IP地址段內選擇可用的IP地址作為目的IP地址對應的虛擬映射IP地址后,如果選擇的虛擬映射IP地址被其它主機使用,則說明該虛擬映射IP地址發生沖突。
[0053]步驟204,第一 PE在收到來自第一主機的第一報文,在第二 VPN的路由表內查找對應的路由時,利用對應關系(即虛擬映射IP地址、目的IP地址、出接口之間的對應關系),將第一報文的源IP地址修改為對應的虛擬映射IP地址,并發送第一報文。其中,第一 PE在收到來自第一主機的第一報文時,首先在第一主機對應的第一 VPN的路由表內查找對應的路由,如果第一 VPN的路由表內沒有對應的路由,則在第二 VPN的路由表內查找對應的路由,并利用第二 VPN的路由表內查找到的路由發送第一報文。
[0054]為了實現上述過程,本發明實施例中,第一 PE為出接口配置策略路由,該策略路由用于使第一 PE在從出接口收到報文時,如果第一 VPN的路由表內沒有報文對應的路由,則在第二 VPN的路由表內查找報文對應的路由。例如,為PE2上連接CE2的接口配置策略路由,該策略路由用于使PE2在VPN2對應的路由表內無法查找到報文對應的路由時,在VPNl對應的路由表內查找報文對應的路由;在PE2上為該策略路由進行源IP地址限制,以使得只允許源IP地址為120.2.1.2的報文使用該策略路由。為PE2上連接CE4的接口配置策略路由,該策略路由用于使PE2在VPN4對應的路由表內無法查找到報文對應的路由時,在VPNl對應的路由表內查找報文對應的路由;在PE2上為該策略路由進行源IP地址限制,以使得只允許源IP地址為120.2.1.2的報文使用該策略路由。為PE2上連接CE3的接口配置策略路由,該策略路由用于使PE2在VPN3對應的路由表內無法查找到報文對應的路由時,在VPNl對應的路由表內查找報文對應的路由;在PE2上為該策略路由進行源IP地址限制,以使得只允許源IP地址為120.2.1.2的報文使用該策略路由。
[0055]PE2在接收到主機C發送給主機A的報文(目的地址為100.1.1.2,源IP地址為120.2.1.2)時,PE2首先在VPN2對應的路由表內查找目的地址為100.1.1.2的路由,由于VPN2對應的路由表內沒有目的地址為100.1.1.2的路由,因此,PE2在VPNl對應的路由表內查找目的地址為100.1.1.2的路由,由于VPNl對應的路由表內存在目的地址為100.1.1.2的路由,因此,PE2將基于VPNl對應的路由表內學習到的主機A的私網路由為100.1.1.2發送報文。進一步的,由于源IP地址為120.2.1.2,且PE2從接口 S2/1/1上接收到該報文,因此,基于關聯組{200.0.0.0/32,120.2.1.2,S2/1/1}記錄的對應關系,PE2確定虛擬映射IP地址為200.0.0.0/32,并將報文的源IP地址由120.2.1.2修改為虛擬映射IP地址200.0.0.0/32。之后,PE2將報文發送給PE1,該報文的源IP地址為200.0.0.0/32,該報文的目的地址為100.1.1.2,且私網標簽為1000。PEl在接收到報文后,彈出私網標簽1000,并通過CEl將報文發送給主機A。
[0056]步驟205,第一 PE在接收到來自第二 PE的目的IP地址為虛擬映射IP地址的第二報文時,利用對應關系(即虛擬映射IP地址、目的IP地址、出接口之間的對應關系),將第二報文的目的IP地址修改為虛擬映射IP地址對應的目的IP地址,并通過對應的出接口發送第二報文。其中,步驟204與步驟205之間沒有順序關系,步驟205也可以在步驟204之前執行。
[0057]PEl在接收到來自主機A的報文(目的地址為200.0.0.0,源IP地址為100.1.1.2)時,基于VPNl對應的路由表內學習到的虛擬映射IP地址200.0.0.0/32,PEI將報文發送給PE2,其私網標簽2000。PE2在接收到報文后,彈出私網標簽2000,基于關聯組{200.0.0.0/32,120.2.1.2,S2/1/1}記錄的對應關系,PE2將報文的目的IP地址由虛擬映射IP地址200.0.0.0/32修改為虛擬映射IP地址200.0.0.0/32對應的目的地址120.2.1.2,并通過虛擬映射IP地址200.0.0.0/32對應的出接口 S2/1/1發送該報文,使報文發送給主機C。
[0058]基于上述處理,可以實現主機A與主機C(多角色主機)的互訪。基于同樣的處理方式,可以實現主機A與主機B (多角色主機)的互訪,可以實現主機A與主機D (多角色主機)的互訪,本發明實施例對此不再詳加贅述。
[0059]基于上述技術方案,本發明實施例中,通過在PE上維護虛擬映射IP地址、目的IP地址和出接口之間的對應關系,從而在多個具有相同IP地址的多角色主機均需要訪問某主機時,能夠區分這多個具有相同IP地址的多角色主機,使這多個具有相同IP地址的多角色主機的訪問互不干擾,互相隔離,并保證PE能夠準確的將報文發送給相應的多角色主機,避免報文傳輸錯誤。
[0060]如圖1所示,對于主機A發送給主機C的報文,PE2可以通過關聯組{200.0.0.0/32,120.2.1.2,S2/1/1},將報文準確的發送給主機C。對于主機A發送給主機B的報文,PE2可以通過關聯組{200.0.0.1/32,120.2.1.2,S2/1/3},將報文準確的發送給主機B。對于主機A發送給主機D的報文,PE2可以通過關聯組{200.0.0.2/32,120.2.1.2,S2/1/2},將報文準確的發送給主機D。
[0061]基于與上述方法同樣的發明構思,本發明實施例中還提供了一種服務提供商網絡邊緣設備PE,作為第一 PE應用于包括所述第一 PE和第二 PE的網絡中,如圖3所示,所述第一 PE具體包括:
[0062]維護模塊11,用于在所述第一 PE上配置第二虛擬專用網絡VPN下以第一 VPN中第一主機IP地址為目地IP地址的靜態路由時,確定對應的虛擬映射IP地址,并記錄該目的IP地址、所述虛擬映射IP地址、所述第一主機在所述第一 PE上的第一 VPN下的出接口之間的對應關系;
[0063]路由處理模塊12,用于以所述虛擬映射IP地址發布該靜態路由給第二PE,由第二PE在第二主機對應的第二 VPN的路由表內學習所述虛擬映射IP地址;
[0064]報文處理模塊13,用于在收到來自所述第一主機的第一報文,在所述第二 VPN的路由表內查找對應的路由時,利用所述對應關系,將所述第一報文的源IP地址修改為對應的虛擬映射IP地址,并發送所述第一報文;
[0065]在收到來自第二 PE的目的IP地址為虛擬映射IP地址的第二報文時,利用所述對應關系,將所述第二報文的目的IP地址修改為所述虛擬映射IP地址對應的目的IP地址,并通過對應的出接口發送所述第二報文。
[0066]所述路由處理模塊12,還用于接收所述第二 PE向所述第一 PE發布的所述第二主機的路由,并在所述第二 VPN的路由表內學習所述第二主機的路由;
[0067]為所述出接口配置策略路由,所述策略路由用于使所述第一 PE在從所述出接口收到報文時,如果所述第一 VPN的路由表內沒有所述報文對應的路由,則在所述第二 VPN的路由表內查找所述報文對應的路由。
[0068]所述維護模塊11,具體用于在確定對應的虛擬映射IP地址的過程中,從IP地址段內選擇可用的IP地址作為所述目的IP地址對應的虛擬映射IP地址,并將所述虛擬映射IP地址標記為不可用的IP地址。
[0069]所述路由處理模塊12,還用于在以所述虛擬映射IP地址發布該靜態路由給所述第二 PE之后,如果發現所述虛擬映射IP地址發生沖突,則重新確定所述目的IP地址對應的虛擬映射IP地址,并撤銷之前以所述虛擬映射IP地址向所述第二 PE發布的靜態路由,并重新以當前重新確定的虛擬映射IP地址向所述第二 PE發布靜態路由。
[0070]本發明實施例中,所述第一 PE應用于多協議標簽交換三層虛擬專用網絡MPLSL3VPN中;所述第一 PE上分別配置第二 VPN下以多個主機IP地址為目地IP地址的靜態路由;其中,所述多個主機的VPN為第二 VPN之外的其它VPN,所述多個主機的VPN各不相同,且所述多個主機的IP地址相同。
[0071]其中,本發明裝置的各個模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
[0072]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發明可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述的方法。本領域技術人員可以理解附圖只是一個優選實施例的示意圖,附圖中的模塊或流程并不一定是實施本發明所必須的。本領域技術人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分布于實施例的裝置中,也可以進行相應變化位于不同于本實施例的一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。以上公開的僅為本發明的幾個具體實施例,但是,本發明并非局限于此,任何本領域的技術人員能思之的變化都應落入本發明的保護范圍。
【權利要求】
1.一種基于多角色主機的報文傳輸方法,其特征在于,所述方法包括: 當在第一服務提供商網絡邊緣設備PE上配置第二虛擬專用網絡VPN下以第一 VPN中第一主機IP地址為目地IP地址的靜態路由時,所述第一 PE確定對應的虛擬映射IP地址,并記錄該目的IP地址、所述虛擬映射IP地址、所述第一主機在所述第一 PE上的第一 VPN下的出接口之間的對應關系; 所述第一PE以所述虛擬映射IP地址發布該靜態路由給第二PE,由所述第二PE在第二主機對應的第二 VPN的路由表內學習所述虛擬映射IP地址; 所述第一 PE在收到來自所述第一主機的第一報文,在所述第二 VPN的路由表內查找對應的路由時,利用所述對應關系,將所述第一報文的源IP地址修改為對應的虛擬映射IP地址,并發送所述第一報文; 所述第一 PE在收到來自第二 PE的目的IP地址為虛擬映射IP地址的第二報文時,利用所述對應關系,將所述第二報文的目的IP地址修改為所述虛擬映射IP地址對應的目的IP地址,并通過對應的出接口發送所述第二報文。
2.如權利要求1所述的方法,其特征在于,所述方法進一步包括: 所述第一 PE接收所述第二 PE向本第一 PE發布的所述第二主機的路由,并在所述第二VPN的路由表內學習所述第二主機的路由; 所述第一 PE為所述出接口配置策略路由,所述策略路由用于使第一 PE在從所述出接口收到報文時,如果所述第一 VPN的路由表內沒有所述報文對應的路由,則在所述第二 VPN的路由表內查找所述報文對應的路由。
3.如權利要求1所述的方法,其特征在于,所述第一PE在確定對應的虛擬映射IP地址的過程中,所述方法進一步包括: 所述第一 PE從IP地址段內選擇可用的IP地址作為所述目的IP地址對應的虛擬映射IP地址,并將所述虛擬映射IP地址標記為不可用的IP地址。
4.如權利要求1所述的方法,其特征在于,所述方法進一步包括: 所述第一 PE在以所述虛擬映射IP地址發布該靜態路由給所述第二 PE之后,如果發現所述虛擬映射IP地址發生沖突,則所述第一 PE重新確定所述目的IP地址對應的虛擬映射IP地址,并撤銷之前以所述虛擬映射IP地址向所述第二PE發布的靜態路由,并重新以當前重新確定的虛擬映射IP地址向所述第二 PE發布靜態路由。
5.如權利要求1-4任一項所述的方法,其特征在于,所述方法應用于多協議標簽交換三層虛擬專用網絡MPLS L3VPN中; 所述第一 PE上分別配置第二 VPN下以多個主機IP地址為目地IP地址的靜態路由;其中,所述多個主機的VPN為第二 VPN之外的其它VPN,所述多個主機的VPN各不相同,且所述多個主機的IP地址相同。
6.一種服務提供商網絡邊緣設備PE,作為第一 PE應用于包括所述第一 PE和第二 PE的網絡中,其特征在于,所述第一 PE具體包括: 維護模塊,用于在所述第一 PE上配置第二虛擬專用網絡VPN下以第一 VPN中第一主機IP地址為目地IP地址的靜態路由時,確定對應的虛擬映射IP地址,并記錄該目的IP地址、所述虛擬映射IP地址、所述第一主機在所述第一 PE上的第一 VPN下的出接口之間的對應關系; 路由處理模塊,用于以所述虛擬映射IP地址發布該靜態路由給第二PE,由第二PE在第二主機對應的第二 VPN的路由表內學習所述虛擬映射IP地址; 報文處理模塊,用于在收到來自所述第一主機的第一報文,在所述第二 VPN的路由表內查找對應的路由時,利用所述對應關系,將所述第一報文的源IP地址修改為對應的虛擬映射IP地址,并發送所述第一報文; 在收到來自第二 PE的目的IP地址為虛擬映射IP地址的第二報文時,利用所述對應關系,將所述第二報文的目的IP地址修改為所述虛擬映射IP地址對應的目的IP地址,并通過對應的出接口發送所述第二報文。
7.如權利要求6所述的PE,其特征在于, 所述路由處理模塊,還用于接收所述第二 PE向所述第一 PE發布的所述第二主機的路由,并在所述第二 VPN的路由表內學習所述第二主機的路由; 為所述出接口配置策略路由,所述策略路由用于使所述第一 PE在從所述出接口收到報文時,如果所述第一 VPN的路由表內沒有所述報文對應的路由,則在所述第二 VPN的路由表內查找所述報文對應的路由。
8.如權利要求6所述的PE,其特征在于, 所述維護模塊,具體用于在確定對應的虛擬映射IP地址的過程中,從IP地址段內選擇可用的IP地址作為所述目的IP地址對應的虛擬映射IP地址,并將所述虛擬映射IP地址標記為不可用的IP地址。
9.如權利要求6所述的PE,其特征在于, 所述路由處理模塊,還用于在以所述虛擬映射IP地址發布該靜態路由給所述第二 PE之后,如果發現所述虛擬映射IP地址發生沖突,則重新確定所述目的IP地址對應的虛擬映射IP地址,并撤銷之前以所述虛擬映射IP地址向所述第二 PE發布的靜態路由,并重新以當前重新確定的虛擬映射IP地址向所述第二 PE發布靜態路由。
10.如權利要求6-9任一項所述的PE,其特征在于,所述第一PE應用于多協議標簽交換三層虛擬專用網絡MPLS L3VPN中; 所述第一 PE上分別配置第二 VPN下以多個主機IP地址為目地IP地址的靜態路由;其中,所述多個主機的VPN為第二 VPN之外的其它VPN,所述多個主機的VPN各不相同,且所述多個主機的IP地址相同。
【文檔編號】H04L12/723GK104253751SQ201410448834
【公開日】2014年12月31日 申請日期:2014年9月4日 優先權日:2014年9月4日
【發明者】郭威 申請人:杭州華三通信技術有限公司