一种基于多角色主机的报文传输方法和设备的制作方法

文档序号:7813383阅读:127来源:国知局
一种基于多角色主机的报文传输方法和设备的制作方法
【专利摘要】本发明公开了一种基于多角色主机的报文传输方法和设备,该方法包括:当在第一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日
【发明者】郭威 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1