CN102739501A - 二三层虚拟私有网络中的报文转发方法和系统 - Google Patents
二三层虚拟私有网络中的报文转发方法和系统 Download PDFInfo
- Publication number
- CN102739501A CN102739501A CN2011100822661A CN201110082266A CN102739501A CN 102739501 A CN102739501 A CN 102739501A CN 2011100822661 A CN2011100822661 A CN 2011100822661A CN 201110082266 A CN201110082266 A CN 201110082266A CN 102739501 A CN102739501 A CN 102739501A
- Authority
- CN
- China
- Prior art keywords
- message
- vrf
- vpn
- vsi
- type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种二三层VPN中的报文转发方法和系统。该方法中的二三层VPN包括:对等节点PE、客户设备CE和连接各个PE的广域网,其中,由CE组成的不同子网以及由CE组成的相同子网间互联;该方法包括:PE接收报文;PE确定报文的目的地子网类型;PE根据确定的目的地子网类型将报文转发至二三层VPN对应的相同子网或者不同子网。通过本发明,解决了二三层组合组网的VPN不能同时提供二层和三层VPN业务的问题,满足了用户的实际需要,增强了系统的性能。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种二三层虚拟私有网络(Virtual Private Network,VPN)中的报文转发方法和系统。
背景技术
在现有的虚拟私有网络技术中,主要有两种实现方法,分别为基于二层交换的二层VPN和基于三层交换的三层VPN。二层VPN提供了各个站点的二层连接,VPN提供了基于MAC地址转发的二层交换。简单来说,MPLS(Multi-Protocol Label Switching,多协议标记交换)L2VPN就是在MPLS网络上透明传递用户的二层数据。从用户的角度来看,这个MPLS网络就是一个二层的交换网络。以ATM(Asynchronous Trunk Module,异步中继模块)为例,每一个用户设备(CE,也称为客户设备)配置一个ATM虚电路,通过MPLS网络与远端的另一个CE设备相连,与通过ATM网络实现互联是完全一样的。
三层VPN提供了各个站点的三层连接,VPN提供了基于IP地址转发的三层交换。在MPLS/BGP(Border Gateway Protocol,边界网关协议)VPN中,属于同一的VPN的两个站点(site)之间转发报文使用两层标签,在入口PE(Peer Entity,对等实体)上,根据IP路由找到出口信息,包括为报文打上的两层标签信息,外层标签在骨干网内部进行交换,代表了从PE到对端PE的一条隧道,VPN报文打上这层标签,就可以沿着LSP(Label Switched Path,标签交换路径)到达对端PE,然后再使用内层标签决定报文应该转发到哪个站点(site)上。
将二层VPN作为三层VPN的接入技术,即二层VPN在接入三层VPN的PE设备上时,所有二层进行终结处理,进行三层转发,这是目前普遍实现二三层组合组网的方法,但是这种实现方式把二层VPN作为接入方式而在本地站点终结,各个站点的二层网络并不能够互通。
在现有数据中心互联的网络中,可以为企业用户提供私有云服务。在拥有大量虚拟机的私有云中,需要通过三层的互联,才能形成一个具有良好扩展性的网络,从而需要使用三层VPN来完成各个数据中心的互联。然而当前虚拟机的迁移需求,又要求VPN能够同时提供二层互联,这给当前的三层VPN功能提出了挑战。
在通过三层VPN互联的各个站点,拥有各自独立的IP子网,而不会使各个站点处于相同的子网中。而虚拟机的迁移,要求某几个站点能够处于相同的子网中。同时,在向企业用户提供私有云服务的时候,其企业用户可能之前已经通过此运营商,有了三层VPN业务,这个时候就面临着将私有云VPN整合到现有三层VPN业务中,也就需要将私有云VPN所需要的二层VPN和三层VPN整合到一个VPN中,从而提出了一个能够既提供三层VPN,也能提供二层VPN业务的新型VPN需求。而由上述二三层组合组网方式可知,相关技术中的二三层组合组网的VPN不能同时提供二层和三层VPN业务。
针对相关技术中二三层组合组网的VPN不能同时提供二层和三层VPN业务的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种二三层VPN中的报文转发方法和系统,以至少解决上述二三层组合组网的VPN不能同时提供二层和三层VPN业务的问题。
根据本发明的一个方面,提供了一种二三层VPN中的报文转发方法,该二三层VPN包括:PE、CE和连接各个PE的广域网,其中,由CE组成的不同子网以及由CE组成的相同子网间互联;该方法包括:PE接收报文;PE确定报文的目的地子网类型;PE根据确定的目的地子网类型将报文转发至二三层VPN对应的相同子网或者不同子网。
根据本发明的另一方面,提供了一种二三层VPN中的报文转发系统,系统包括:PE、CE和连接各个PE的广域网,其中,由CE组成的不同子网以及由CE组成的相同子网间互联;该PE包括:接收模块,用于接收报文;目的地子网类型确定模块,用于确定接收模块接收的报文的目的地子网类型;报文转发模块,用于根据目的地子网类型确定模块确定的目的地子网类型将报文转发至二三层VPN对应的相同子网或者不同子网。
通过本发明,采用由CE组成的不同子网以及由CE组成的相同子网间互联,并在对报文转发时,根据报文的目的地子网类型进行转发,实现了对二层和三层VPN业务的融合处理,解决了二三层组合组网的VPN不能同时提供二层和三层VPN业务的问题,满足了用户的实际需要,增强了系统的性能。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例1的二三层VPN网络示意图;
图2是根据本发明实施例1的二三层VPN中的报文转发方法流程图;
图3是根据本发明实施例1的VPN实例的结构示意图;
图4是根据本发明实施例1的二三层VPN的数据封装图;
图5是根据本发明实施例1的二三层VPN组网示意图;
图6是根据本发明实施例2的PE的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明实施例为了提供各个站点不同子网互联的同时,也能提供某几个站点相同子网下的互联,提供了一种二三层VPN中的报文转发方法和系统。
实施例1
本实施例提供了一种二三层VPN中的报文转发方法,参见图1,该二三层VPN包括:PE、CE和连接各个PE的广域网,其中,由CE组成的不同子网以及由CE组成的相同子网间互联;参见图2,该报文转发方法包括以下步骤(步骤S202至步骤S206):
步骤S202,PE接收报文;其中,PE接收的报文可以是来自广域网中其它PE发送的报文,也可以是来自CE的报文;
步骤S204,上述PE确定该报文的目的地子网类型;本实施例中的报文目的地子网类型包括:与该报文的源地址相同子网类型和与该报文的源地址不同子网类型;
步骤S206,上述PE根据确定的目的地子网类型将该报文转发至二三层VPN对应的相同子网或者不同子网。
本实施例通过由CE组成的不同子网以及由CE组成的相同子网间互联,并在对报文转发时,根据报文的目的地子网类型进行转发,能够实现对二层和三层VPN业务融合处理,解决了二三层组合组网的VPN不能同时提供二层和三层VPN业务的问题,满足了用户的实际需要,增强了系统的性能。
本实施例由各个PE节点通过一定的功能实现,PE上的功能可以看作是虚拟成一台同时能提供二层和三层交换的设备,通过这个虚拟设备,将各个CE站点连接起来,从而完成各个CE站点不同子网互联的同时,也能提供某几个CE站点相同子网下的互联。
其中,PE节点提供的功能包括:PE节点为每一个二三层VPN,提供一个二三层VPN实例。而此二三层VPN实例,有一个VRF(Virtual Routing Forwarding,即虚拟路由转发实例)和若干个VSI(Virtual Switching Instance,虚拟交换实例)组成;VSI的数量取决于需要相同子网互联的子网数量。
基于此,上述由CE组成的不同子网以及由CE组成的相同子网间互联包括:PE上配置有VPN实例(也可以称为二三层VPN实例,本发明实施例中,简称为VPN实例),每个VPN实例对应一个VPN标识符,VPN实例包括一个VRF和指定个(例如,一个或多个,也可以是0个)VSI,PE间具有相同VPN标识符的VPN实例互联。从而使各个VPN实例处于同一VPN。这种方式下,PE转发报文可以包括:如果该报文的目的地子网类型为相同子网类型,PE通过对应的VSI转发报文到相同子网内;如果该报文的目的地子网类型为不同子网类型,PE通过VRF转发该报文到不同子网内。
其中,PE间具有相同VPN标识符的VPN实例互联包括:PE间相同的VRF通过隧道相连,PE间相同的VSI通过伪线相连。本实施例中,VRF与广域网相连的隧道可以为MPLS隧道或IP隧道,该连接方式符合三层VPN的标准。每一个VSI可以通过一个内部的虚接口与VRF相连接,并且此虚接口作为对应子网的网关接口;此虚接口需要配置MAC地址和IP地址。
参见图3所示的PE上的VPN实例示意图,该PE上有一个VRF和两个VSI,VRF用于处理三层VPN业务,VSI用于处理二层VPN业务,因此,VRF也可以表示为VRF(L3),VSI也可以表示为VSI(L2)。图3在的两个VSI分别通过内部虚接口(子网A的网关虚接口和子网B的网关接口)与VRF相连,并且,该虚接口配置有MAC地址和IP地址。依据VPLS的标准,各个PE上处于一个二三层VPN所对应相同子网的VSI,通过伪线进行互联。
本实施例中,PE为每一个二三层VPN生成VSI转发表,PE进行标准的MAC地址学习和转发,依据[802.1D-ORIG],[802.1D-REV]和[802.1Q],形成VSI的转发条目;PE为每一个二三层VPN生成VRF转发表,通过MP-BGP(Multipath Propagation Border Gateway Protocol,多径传播-边界网关协议)交换PE上VRF之间的路由信息;在本地接口运行路由协议学习客户站点路由;对于虚接口仅仅生成直连路由(该虚接口处理的报文的IP地址属于一个指定范围段);基于上述生成的路由条目生成路由转发表。
基于上述PE上配置的VPN实例,PE确定报文的目的地子网类型包括:PE上的VSI接收到来自CE的报文,如果该报文的目的MAC地址和虚拟接口配置的MAC地址不匹配,PE确定该报文的目的地子网类型为相同子网类型;如果该报文目的MAC地址和虚拟接口配置的MAC地址匹配,PE确定报文的目的地子网类型为不同子网类型。
在二三层VPN的所有PE中,连接相同子网的VSI,要有一个或多个VSI需要具有虚拟接口和本地的VRF进行连接;在特殊情况下,这种二三层VPN的连接,也可以由客户网络完成。在VSI中,通过MAC地址转发报文,若这些未匹配上的报文是从与CE相连的接口接收的,本实施例的VSI将通过上述虚接口把报文转发给VRF进行IP的转发。在VRF中,通过IP地址查表转发,所有出接口为虚拟接口的报文,都将源MAC地址设为该虚接口的MAC地址。
本实施例在实现上述方法时,PE通过对应的VSI实例转发报文可以包括:PE在VSI中查找与报文匹配的MAC转发条目,根据MAC转发条目将报文转发到对应的出接口;
PE通过VRF实例转发报文可以包括:PE在VRF中查找与报文匹配的路由条目,根据路由条目将报文转发到对应的出接口。
其中,PE通过对应的VSI实例转发报文包括:PE在VSI中发现该报文目的地子网类型为上述不同子网类型,或者PE发现该报文为广播或组播报文,如果报文来自CE侧或广域网,VSI通过虚接口将报文转发给VRF。
如果两个PE上的VRF连接相同的子网,只有一个PE上的VRF路由条目会生效,从而发往目标PE上的VRF的数据,会首先经过生效的PE上的VRF,然后再转发到目标PE上的VRF所在的PE节点,从而造成局部数据转发效率的下降。为了提高在VRF之间数据的转发效率,VRF可以通过学习主机发出的ARP报文,学习主机IP地址,生成32位的主机路由条目;将学习到的主机路由条目分发给其他VRF。从而其他VRF可以根据主机路由条目进行数据转发,可以精确定位到目标VRF。基于此,本实施例中的PE通过VRF实例转发报文之前,上述方法还包括:二三层VPN中的各个PE上的VRF通过学习CE发出的ARP(AddressResolution Protocol,地址解析协议)报文,学习CE的IP地址,生成主机路由条目;各个PE上的VRF相互转发生成的主机路由条目,并保存接收到的主机路由条目;基于此,上述PE在VRF中查找与报文匹配的路由条目包括:PE根据保存的上述主机路由条目在VRF中查找的与报文匹配的路由条目。
从CE站点收到的报文,发送到VSI进行转发,如果某个单播报文在VSI中找到匹配MAC转发条目,则将报文转发到对应的出接口;如果某个单播报文在VSI中未找到匹配转发条目,则将报文复制给所有远端PE,以及本地连接VRF的虚拟接口进行处理。对于广播/组播报文,同样将报文复制给所有远端PE,以及本地连接VRF的虚拟接口进行处理。
从CE站点收到的报文,直接发送到VRF进行转发,则其转发过程和普通三层VPN的转发过程相同。
图4给出了二三层VPN在网络中的数据封装图,VRF和VSI之间是数据封装继承现有三层和二层VPN的封装,不做更改,即VRF之间数据封装中,包括:净荷(Payload)、IP头(IPHeader)、三层VPN标签(VPN label for L3)、隧道头(Tunnel Header)和数据链路(Data link);VSI之间数据封装中,包括:净荷(Payload)、IP头(IP Header)、以太网头(Ethernet Header)、二层VPN标签(VPN label for L2)、隧道头(Tunnel Header)和数据链路(Data link)。
为了提供各个站点不同子网互联的同时,也能提供某几个站点相同子网下的互联,也即能提供一个二层和三层混合的VPN,以满足现有网络产生的新需求。下面将结合图5对上述方法进行详细描述,本实施例包括二三层VPN网络的配置、数据平面的建立、控制平面的建立以及数据转发过程。具体过程如下:
501,二三层VPN由若干个PE和CE以及连接PE的广域网组成。用户需要在每一个PE上配置二三层VPN实例,配置全网唯一的VPN实例标识符;
502,用户需要在PE上配置需要接入VPN的三层接口和对应的IP地址,此接口为连接CE设备的接口;PE生成二三层VPN所需要的VRF实例,并把此三层接口和VRF关联;
503,用户需要在PE上配置需要接入VPN的二层接口,此接口为连接CE设备的接口;PE生成二三层VPN所需要的VSI实例,并把此二层接口和VSI关联;每一个VSI实例需要生成一个VPN域内唯一的标识符,代表该VSI所连接的子网;
504,在二三层VPN的所有PE中,连接相同子网的VSI,至少有一个VSI需要具有虚拟接口(即上述虚接口)和本地的VRF进行连接。本实施例中,每一个PE为VSI生成虚拟接口,并且和本地的VRF进行连接;虚拟接口上需要配置IP地址,作为所连接的二层网络的网关地址;
505,具有相同二三层VPN标识符的VRF,数据平面通过穿越广域网的隧道进行互联,隧道可以为MPLS或者IP等各种类型;控制平面通过MP-BGP的信令进行互联,交互VRF的路由和标签信息,形成VRF路由转发条目;此信令和数据转发过程和标准三层VPN的过程相同;
506,所对应的VRF为虚拟接口生成直连路由,并且将此路由通过MP-BGP信令分发给其他VPN成员PE上的VRF;当两个或者两个以上VRF连接同一子网的VSI时,只有一个VRF分发的路由将会被选择,具体取决于BGP路由的选择算法;
507,具有相同二三层VPN标识符,以及相同VSI实例标识符的VSI,数据平面通过穿越广域网的伪线进行互联;控制平面可以通过MP-BGP或者LDP进行互联,交换VSI的实例信息和伪线的标签信息,形成VSI的MAC转发条目;此信令和数据转发过程和标准二层VPN的过程相同;
508,从CE站点收到的报文,发送到VSI进行转发。如果某个单播报文在VSI中找到匹配的MAC转发条目,则直接将报文转发给对应的出接口;如果某个单播报文在VSI中未找到匹配转发条目,则将报文通过伪线复制给所有远端PE和本地CE,以及本地连接VRF的虚拟接口进行处理。对于广播/组播报文,同样将报文通过伪线复制给所有远端PE和本地CE,以及本地连接VRF的虚拟接口进行处理。
509,从VSI连接的伪线收到的报文,如果此报文在VSI中找到匹配的MAC转发条目,则直接将报文转发给对应的出接口;如果某个单播报文在VSI中未找到匹配转发条目,则将报文复制给所有本地CE,以及本地连接VRF的虚拟接口进行处理。对于广播/组播报文,同样将报文复制给所有本地CE,以及本地连接VRF的虚拟接口进行处理。
510,从本地虚拟接口收到的报文,如果此报文在VSI中找到匹配的MAC转发条目,则直接将报文转发给对应的出接口;如果某个单播报文在VSI中未找到匹配转发条目,则将报文通过伪线复制给所有远端PE和本地CE。对于广播/组播报文,同样将报文通过伪线复制给所有远端PE和本地CE。
511,从CE站点收到的报文,如果直接发送到VRF进行转发,则其转发过程和普通三层VPN的转发过程相同。如果报文的目的IP地址根据VRF的路由查找,指向连接VSI的虚接口,则将报文进一步交给VSI进行处理。
如图5所示,服务器A和B都处于子网A中,从而PE1和PE3上的VRF都有子网A的路由,从而PE2将会选择一个PE所发送的路由作为有效路由。假设PE1发送的子网A路由为有效路由,那么在服务器C需要访问服务器B时,数据报文将先通过VRF发送给PE1,然后PE1将报文发送给本地VSI,PE1的本地VSI将报文转发给PE3上的VSI,最后PE3的VSI将报文转发给服务器B。
上述实施例中,如果两个PE上的VRF连接相同的子网,只有一个PE上的VRF路由条目会生效,从而发往目标PE上的VRF的数据,会首先经过生效的PE上的VRF,然后再转发到目标PE上的VRF所在的PE节点,从而造成局部数据转发效率的下降。下面将结合一个实施例和图5,通过一定的路由分发方法,优化数据的转发效率,本实施例包括二三层VPN网络的配置、数据平面的建立、控制平面的建立以及数据转发过程。具体过程如下:
601,二三层VPN由若干个PE和CE以及连接PE的广域网组成。用户需要在每一个PE上配置二三层VPN实例,配置全网唯一的VPN实例标识符;
602,用户需要在PE上配置需要接入VPN的三层接口和对应的IP地址,此接口为连接CE设备的接口;PE生成二三层VPN所需要的VRF实例,并把此三层接口和VRF关联;
603,用户需要在PE上配置需要接入VPN的二层接口,此接口为连接CE设备的接口;PE生成二三层VPN所需要的VSI实例,并把此二层接口和VSI关联;每一个VSI实例需要生成一个VPN域内唯一的标识符,代表该VSI所连接的子网;
604,在二三层VPN的所有PE中,连接相同子网的VSI,至少有一个VSI需要具有虚拟接口和本地的VRF进行连接。本实施例中,每一个PE为VSI生成虚拟接口,并且和本地的VRF进行连接;虚拟接口上需要配置IP地址,作为所连接的二层网络的网关地址;
605,具有相同二三层VPN标识符的VRF,数据平面通过穿越广域网的隧道进行互联,隧道可以为MPLS或者IP等各种类型;控制平面通过MP-BGP的信令进行互联,交互VRF的路由和标签信息,形成VRF路由转发条目;此信令和数据转发过程和标准三层VPN的过程相同;
606,所对应的VRF为虚拟接口生成直连路由,并且将此路由通过MP-BGP信令分发给其他VPN成员PE上的VRF;为了提高在VRF之间数据的转发效率,VRF可以通过学习主机发出的ARP报文,学习主机IP地址,生成主机路由条目;将学习到的主机路由条目分发给其他VRF。从而其他VRF可以根据主机路由条目进行数据转发,可以精确定位到目标VRF。如图5,PE1将通过ARP学习到服务器A的主机路由,并把此路由分发给PE2上的VRF;PE3将通过ARP学习到服务器B的主机路由,并把此路由分发给PE2上的VRF;这时在PE2上将会有两条主机路由,分别为:到达服务器A的路由,下一跳为PE1;到达服务器B的路由,下一跳为PE3;
607,具有相同二三层VPN标识符,以及相同VSI实例标识符的VSI,数据平面通过穿越广域网的伪线进行互联;控制平面可以通过MP-BGP或者LDP进行互联,交换VSI的实例信息和伪线的标签信息,形成VSI的MAC转发条目;此信令和数据转发过程和标准二层VPN的过程相同;
608,在服务器C需要访问服务器B时,数据报文将先通过在PE2上的VRF进行路由查找,找到到达服务器B的主机路由,其下一跳为PE3;于是PE2可以通过VRF将报文直接发送给PE3的VRF;在PE3上的VRF收到报文后,将报文转发给本地VSI,最后PE3的VSI将报文转发给服务器B。
609,在服务器C需要访问服务器A时,数据报文将先通过在PE2上的VRF进行路由查找,找到到达服务器A的主机路由,其下一跳为PE1;于是PE2可以通过VRF将报文直接发送给PE1的VRF;在PE1上的VRF收到报文后,将报文转发给本地VSI,最后PE1的VSI将报文转发给服务器A。
本实施例通过上述二三层VPN的方法,可以同时把二层和三层VPN融合到一个VPN中,从而可以同时提供各个站点不同子网互联的同时,也能提供某几个站点相同子网下的互联。其中,需要进行相同子网互联的站点,与PE节点直接连接,这样就能够形成和其他PE节点连接的相同子网的互联。
实施例2
本实施例提供了一种二三层VPN中的报文转发系统,该系统包括:PE、CE和连接各个PE的广域网,其中,由CE组成的不同子网以及由CE组成的相同子网间互联;参见图6所示的PE的结构框图,该PE包括:
接收模块62,用于接收报文;
目的地子网类型确定模块64,与接收模块62相连,用于确定接收模块62接收的报文的目的地子网类型;其中,目的地子网类型包括:与该报文的源地址相同子网类型和与该报文的源地址不同子网类型;
报文转发模块66,与目的地子网类型确定模块64相连,用于根据目的地子网类型确定模块64确定的目的地子网类型将报文转发至二三层VPN对应的相同子网或者不同子网。
本实施例中的PE具有上述实施例1中的配置功能,基于此,该PE还包括:VPN实例配置模块,用于配置VPN实例,每个VPN实例对应一个VPN标识符,VPN实例包括一个VRF和指定个(例如一个或多个,也可以为0个)VSI;互联模块,用于将PE间具有相同VPN标识符的VPN实例互联。
其中,互联模块包括:隧道连接单元,用于将PE间相同的VRF通过隧道相连;伪线连接单元,用于将PE间相同的VSI通过伪线相连。
优选地,报文转发模块66包括:第一报文转发单元,用于如果目的地子网类型确定模块确定报文的目的地子网类型为相同子网类型,通过对应的VSI转发该报文到上述相同子网内;第二报文转发单元,用于如果目的地子网类型确定模块确定报文的目的地子网类型为不相同子网类型,通过VRF转发该报文到上述不同子网内。
为了优化报文转发的路由,上述PE还包括:路由学习模块,用于VRF通过学习CE发出的地址解析协议ARP报文,学习CE的IP地址,生成主机路由条目;路由转发模块,用于将路由学习模块生成的主机路由条目转发给其它PE上的VRF;路由保存模块,用于接收并保存来自其它PE转发的主机路由条目;相应地,上述第二报文转发单元包括:第二报文转发子单元,用于根据路由保存模块保存的主机路由条目在VRF中查找的与报文匹配的路由条目,根据查找到的路由条目转发报文。
本实施例中,PE上配置有VPN实例,且该VPN实例配置有全网唯一的VPN实例标识符;在PE上配置有接入VPN的三层接口和对应的IP地址,此接口为连接CE设备的接口;PE生成二三层VPN所需要的VRF实例,并把此三层接口和VRF关联;在PE上配置有需要接入VPN的二层接口,此接口为连接CE设备的接口;PE生成二三层VPN所需要的VSI实例,并把此二层接口和VSI关联;每一个VSI实例需要生成一个VPN域内唯一的标识符,代表该VSI所连接的子网;
在二三层VPN的所有PE中,连接相同子网的VSI,至少有一个VSI需要具有虚拟接口(即上述虚接口)和本地的VRF进行连接。本实施例中,每一个PE为VSI生成虚拟接口,并且和本地的VRF进行连接;虚拟接口上需要配置IP地址,作为所连接的二层网络的网关地址;
具有相同二三层VPN标识符的VRF,数据平面通过穿越广域网的隧道进行互联,隧道可以为MPLS或者IP等各种类型;控制平面通过MP-BGP的信令进行互联,交互VRF的路由和标签信息,形成VRF路由转发条目;此信令和数据转发过程和标准三层VPN的过程相同;
本实施例中,在VRF中,为上述虚拟接口生成直连路由,并且将此路由通过MP-BGP信令分发给其他VPN成员PE上的VRF;当两个或者两个以上VRF连接同一子网的VSI时,只有一个VRF分发的路由将会被选择,具体取决于BGP路由的选择算法;
具有相同二三层VPN标识符,以及相同VSI实例标识符的VSI,数据平面通过穿越广域网的伪线进行互联;控制平面可以通过MP-BGP或者LDP进行互联,交换VSI的实例信息和伪线的标签信息,形成VSI的MAC转发条目;此信令和数据转发过程和标准二层VPN的过程相同;
应用本实施例提供的上述系统,可以实现二层和三层VPN业务。该系统中的PE可以接收来自广域网和CE侧的报文,如果从CE站点收到的报文,发送到VSI进行转发,VSI将会确定该报文的类型(单播、组播或广播报文),如果某个单播报文在VSI中找到匹配的MAC转发条目,则直接将报文转发给对应的出接口;如果某个单播报文在VSI中未找到匹配转发条目,则将报文通过伪线复制给所有远端PE和本地CE,以及本地连接VRF的虚拟接口进行处理。对于广播/组播报文,同样将报文通过伪线复制给所有远端PE和本地CE,以及本地连接VRF的虚拟接口进行处理。
从VSI连接的伪线收到的报文(即该报文来自广域网),如果此报文在VSI中找到匹配的MAC转发条目,则直接将报文转发给对应的出接口;如果某个单播报文在VSI中未找到匹配转发条目,则将报文复制给所有本地CE,以及本地连接VRF的虚拟接口进行处理。对于广播/组播报文,同样将报文复制给所有本地CE,以及本地连接VRF的虚拟接口进行处理。
若VSI是从本地虚拟接口收到的报文,当此报文在VSI中找到匹配的MAC转发条目,则直接将报文转发给对应的出接口;当此报文为单播报文,且该单播报文在VSI中未找到匹配转发条目,则将该报文通过伪线复制给所有远端PE和本地CE。当该报文为广播/组播报文,同样将该报文通过伪线复制给所有远端PE和本地CE。
从CE站点收到的报文,如果直接发送到VRF进行转发,则其转发过程和普通三层VPN的转发过程相同。如果报文的目的IP地址根据VRF的路由查找,指向连接VSI的虚接口,则将报文进一步交给VSI进行处理。
本实施例系统中,由CE组成的不同子网以及由CE组成的相同子网间互联,并在对报文转发时,PE根据报文的目的地子网类型进行转发,能够实现对二层和三层VPN业务融合处理,解决了二三层组合组网的VPN不能同时提供二层和三层VPN业务的问题,满足了用户的实际需要,增强了系统的性能。
从以上的描述中可以看出,本发明实现了如下技术效果:上述实施例可以同时把二层和三层VPN业务融合到一个VPN中,从而可以同时提供各个站点不同子网互联的同时,也能提供某几个站点相同子网下的互联。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种二三层虚拟私有网络VPN中的报文转发方法,其特征在于,所述二三层VPN包括:对等节点PE、客户设备CE和连接各个PE的广域网,其中,由CE组成的不同子网以及由CE组成的相同子网间互联;所述方法包括:
所述PE接收报文;
所述PE确定所述报文的目的地子网类型;所述PE根据确定的目的地子网类型类型将所述报文转发至所述二三层VPN对应的相同子网或者不同子网。
2.根据权利要求1所述的方法,其特征在于,所述由CE组成的不同子网以及由CE组成的相同子网间互联包括:所述PE上配置有VPN实例,每个VPN实例对应一个VPN标识符,所述VPN实例包括一个虚拟路由转发实例VRF和指定个虚拟交换实例VSI,PE间具有相同VPN标识符的VPN实例互联。
3.根据权利要求2所述的方法,其特征在于,所述多个VSI通过内部虚接口与所述VRF相连,所述虚接口配置有媒体接入控制MAC地址和IP地址。
4.根据权利要求2所述的方法,其特征在于,所述PE间具有相同VPN标识符的二三层VPN实例互联包括:PE间相同的VRF通过隧道相连,PE间相同的VSI通过伪线相连。
5.根据权利要求4所述的方法,其特征在于,所述隧道为多协议标记交换MPLS隧道或IP隧道。
6.根据权利要求3所述的方法,其特征在于,所述报文的目的地子网类型包括:与所述报文的源地址相同子网类型和与所述报文的源地址不同子网类型;
所述PE根据确定的目的地子网类型将所述报文转发至所述二三层VPN对应的相同子网或者不同子网包括:如果所述报文的目的地子网类型为所述相同子网类型,所述PE通过对应的所述VSI转发所述报文到所述相同子网内;如果所述报文的目的地子网类型为所述不同子网类型,所述PE通过所述VRF转发所述报文到所述不同子网内。
7.根据权利要求6所述的方法,其特征在于,所述PE确定所述报文的目的地子网类型包括:
所述PE上的所述VSI接收到来自所述CE的报文,如果在所述报文目的MAC地址和所述虚拟接口配置的MAC地址不匹配,所述PE确定所述报文的目的地子网类型为相同子网类型;如果在所述报文目的MAC地址和所述虚拟接口配置的MAC地址匹配,所述PE确定所述报文的目的地子网类型为不同子网类型。
8.根据权利要求6所述的方法,其特征在于,
所述PE通过对应的所述VSI转发所述报文包括:所述PE在所述VSI中查找与所述报文匹配的MAC转发条目,根据所述MAC转发条目将所述报文转发到对应的出接口;
所述PE通过所述VRF转发所述报文包括:所述PE在VRF中查找与所述报文匹配的路由条目,根据所述路由条目将所述报文转发到对应的出接口。
9.根据权利要求8所述的方法,其特征在于,所述PE通过对应的所述VSI转发所述报文包括:
所述PE在所述VSI中发现所述报文目的地子网类型为所述不同子网类型,或者所述PE发现所述报文为广播或组播报文,如果所述报文来自CE侧或所述广域网,所述VSI通过所述虚接口将所述报文转发给所述VRF。
10.根据权利要求8所述的方法,其特征在于,
所述PE通过所述VRF转发所述报文之前,所述方法还包括:所述二三层VPN中的各个PE上的VRF通过学习CE发出的地址解析协议ARP报文,学习所述CE的IP地址,生成主机路由条目;所述各个PE上的VRF相互转发生成的主机路由条目,并保存接收到的主机路由条目;
所述PE在VRF中查找与所述报文匹配的路由条目包括:所述PE根据保存的所述主机路由条目在VRF中查找的与所述报文匹配的路由条目。
11.一种二三层虚拟私有网络VPN中的报文转发系统,其特征在于,所述系统包括:对等节点PE、客户设备CE和连接各个PE的广域网,其中,由CE组成的不同子网以及由CE组成的相同子网间互联;所述PE包括:
接收模块,用于接收报文;
目的地子网类型确定模块,用于确定所述接收模块接收的报文的目的地子网类型;
报文转发模块,用于根据所述目的地子网类型确定模块确定的目的地子网类型将所述报文转发至所述二三层VPN对应的相同子网或者不同子网。
12.根据权利要求11所述的系统,其特征在于,所述PE包括:
VPN实例配置模块,用于配置VPN实例,每个VPN实例对应一个VPN标识符,所述VPN实例包括一个虚拟路由转发实例VRF和指定个虚拟交换实例VSI;
互联模块,用于将PE间具有相同VPN标识符的VPN实例互联。
13.根据权利要求12所述的系统,其特征在于,所述互联模块包括:
隧道连接单元,用于将所述PE间相同的VRF通过隧道相连;
伪线连接单元,用于将所述PE间相同的VSI通过伪线相连。
14.根据权利要求12所述的系统,其特征在于,所述目的地子网类型确定模块确定的目的地子网类型包括:与所述报文的源地址相同子网类型和与所述报文的源地址不同子网类型;
所述报文转发模块包括:第一报文转发单元,用于如果所述目的地子网类型确定模块确定所述报文的子网类型为相同子网类型,通过对应的所述VSI转发所述报文到所述相同子网内;第二报文转发单元,用于如果所述目的地子网类型确定模块确定所述报文的子网类型为所述不同子网类型,通过所述VRF转发所述报文到所述不同子网内。
15.根据权利要求14所述的系统,其特征在于,
所述PE还包括:路由学习模块,用于所述VRF通过学习CE发出的地址解析协议ARP报文,学习所述CE的IP地址,生成主机路由条目;路由转发模块,用于将所述路由学习模块生成的主机路由条目转发给其它PE上的VRF;路由保存模块,用于接收并保存来自所述其它PE转发的主机路由条目;
所述第二报文转发单元包括:第二报文转发子单元,用于根据所述路由保存模块保存的所述主机路由条目在VRF中查找的与所述报文匹配的路由条目,根据查找到的所述路由条目转发所述报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110082266.1A CN102739501B (zh) | 2011-04-01 | 2011-04-01 | 二三层虚拟私有网络中的报文转发方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110082266.1A CN102739501B (zh) | 2011-04-01 | 2011-04-01 | 二三层虚拟私有网络中的报文转发方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102739501A true CN102739501A (zh) | 2012-10-17 |
CN102739501B CN102739501B (zh) | 2017-12-12 |
Family
ID=46994321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110082266.1A Expired - Fee Related CN102739501B (zh) | 2011-04-01 | 2011-04-01 | 二三层虚拟私有网络中的报文转发方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102739501B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065549A (zh) * | 2013-03-18 | 2014-09-24 | 杭州华三通信技术有限公司 | 一种发现pe设备的接入ce设备的方法及其装置 |
CN105337865A (zh) * | 2014-06-03 | 2016-02-17 | 华为技术有限公司 | 一种建立转发表项的方法、装置和系统 |
CN106209485A (zh) * | 2015-04-30 | 2016-12-07 | 中国南方电网有限责任公司 | 一种vpn私网链路检测方法及装置 |
CN107204907A (zh) * | 2016-03-16 | 2017-09-26 | 中兴通讯股份有限公司 | 云数据中心互联方法及装置 |
WO2018041135A1 (zh) * | 2016-08-30 | 2018-03-08 | 新华三技术有限公司 | 报文转发 |
CN108092890A (zh) * | 2017-12-26 | 2018-05-29 | 新华三技术有限公司 | 路由建立方法和装置 |
CN108768857A (zh) * | 2018-08-30 | 2018-11-06 | 中国联合网络通信集团有限公司 | 一种虚拟路由转发方法、装置及系统 |
CN109660441A (zh) * | 2015-09-28 | 2019-04-19 | 杭州数梦工场科技有限公司 | Overlay网络中组播复制的方法及装置 |
CN109756409A (zh) * | 2017-11-01 | 2019-05-14 | 中兴通讯股份有限公司 | 桥接转发方法 |
CN109768909A (zh) * | 2019-03-26 | 2019-05-17 | 杭州迪普科技股份有限公司 | 报文转发方法和装置 |
CN115118655A (zh) * | 2022-06-21 | 2022-09-27 | 阿里巴巴(中国)有限公司 | 跨网络报文转发方法、装置、电子设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1980176A (zh) * | 2006-11-15 | 2007-06-13 | 杭州华为三康技术有限公司 | 混合型虚拟私有网络系统和骨干网边缘设备及其配置方法 |
CN101072238A (zh) * | 2007-07-09 | 2007-11-14 | 中兴通讯股份有限公司 | 在mpls三层虚拟专用网中实现同一子网通信的方法 |
CN101110745A (zh) * | 2007-08-14 | 2008-01-23 | 华为技术有限公司 | 衔接二层网络和三层网络的方法、装置和系统 |
CN101848161A (zh) * | 2010-05-31 | 2010-09-29 | 杭州华三通信技术有限公司 | 一种mpls l2vpn和mpls l3vpn的通信方法和设备 |
CN101902397A (zh) * | 2010-06-23 | 2010-12-01 | 中兴通讯股份有限公司 | 一种报文的转发方法及交换芯片 |
-
2011
- 2011-04-01 CN CN201110082266.1A patent/CN102739501B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1980176A (zh) * | 2006-11-15 | 2007-06-13 | 杭州华为三康技术有限公司 | 混合型虚拟私有网络系统和骨干网边缘设备及其配置方法 |
CN101072238A (zh) * | 2007-07-09 | 2007-11-14 | 中兴通讯股份有限公司 | 在mpls三层虚拟专用网中实现同一子网通信的方法 |
CN101110745A (zh) * | 2007-08-14 | 2008-01-23 | 华为技术有限公司 | 衔接二层网络和三层网络的方法、装置和系统 |
CN101848161A (zh) * | 2010-05-31 | 2010-09-29 | 杭州华三通信技术有限公司 | 一种mpls l2vpn和mpls l3vpn的通信方法和设备 |
CN101902397A (zh) * | 2010-06-23 | 2010-12-01 | 中兴通讯股份有限公司 | 一种报文的转发方法及交换芯片 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2976857A4 (en) * | 2013-03-18 | 2016-11-16 | Hangzhou H3C Tech Co Ltd | DETECTION OF A CUSTOMER-EDGE ACCESSORIES DEVICE OF A PROVIDER-EDGE DEVICE |
WO2014146452A1 (en) * | 2013-03-18 | 2014-09-25 | Hangzhou H3C Technologies Co., Ltd. | Detecting an access customer edge device of a provider edge device |
CN104065549A (zh) * | 2013-03-18 | 2014-09-24 | 杭州华三通信技术有限公司 | 一种发现pe设备的接入ce设备的方法及其装置 |
CN105337865B (zh) * | 2014-06-03 | 2018-09-21 | 华为技术有限公司 | 一种建立转发表项的方法、装置和系统 |
CN105337865A (zh) * | 2014-06-03 | 2016-02-17 | 华为技术有限公司 | 一种建立转发表项的方法、装置和系统 |
CN106209485A (zh) * | 2015-04-30 | 2016-12-07 | 中国南方电网有限责任公司 | 一种vpn私网链路检测方法及装置 |
CN106209485B (zh) * | 2015-04-30 | 2019-05-24 | 中国南方电网有限责任公司 | 一种vpn私网链路检测方法及装置 |
CN109660441B (zh) * | 2015-09-28 | 2021-05-28 | 杭州数梦工场科技有限公司 | Overlay网络中组播复制的方法及装置 |
CN109660441A (zh) * | 2015-09-28 | 2019-04-19 | 杭州数梦工场科技有限公司 | Overlay网络中组播复制的方法及装置 |
CN107204907A (zh) * | 2016-03-16 | 2017-09-26 | 中兴通讯股份有限公司 | 云数据中心互联方法及装置 |
CN107204907B (zh) * | 2016-03-16 | 2021-03-26 | 中兴通讯股份有限公司 | 云数据中心互联方法及装置 |
WO2018041135A1 (zh) * | 2016-08-30 | 2018-03-08 | 新华三技术有限公司 | 报文转发 |
CN107800549A (zh) * | 2016-08-30 | 2018-03-13 | 新华三技术有限公司 | 基于交换设备的端口实现多租户设备环境mdc的方法和装置 |
US10911356B2 (en) | 2016-08-30 | 2021-02-02 | New H3C Technologies Co., Ltd. | Forwarding packet |
CN109756409A (zh) * | 2017-11-01 | 2019-05-14 | 中兴通讯股份有限公司 | 桥接转发方法 |
CN109756409B (zh) * | 2017-11-01 | 2021-10-26 | 中兴通讯股份有限公司 | 桥接转发方法 |
CN108092890B (zh) * | 2017-12-26 | 2020-01-07 | 新华三技术有限公司 | 路由建立方法和装置 |
CN108092890A (zh) * | 2017-12-26 | 2018-05-29 | 新华三技术有限公司 | 路由建立方法和装置 |
CN108768857A (zh) * | 2018-08-30 | 2018-11-06 | 中国联合网络通信集团有限公司 | 一种虚拟路由转发方法、装置及系统 |
CN108768857B (zh) * | 2018-08-30 | 2021-04-02 | 中国联合网络通信集团有限公司 | 一种虚拟路由转发方法、装置及系统 |
CN109768909A (zh) * | 2019-03-26 | 2019-05-17 | 杭州迪普科技股份有限公司 | 报文转发方法和装置 |
CN109768909B (zh) * | 2019-03-26 | 2021-04-27 | 杭州迪普科技股份有限公司 | 报文转发方法和装置 |
CN115118655A (zh) * | 2022-06-21 | 2022-09-27 | 阿里巴巴(中国)有限公司 | 跨网络报文转发方法、装置、电子设备及可读存储介质 |
CN115118655B (zh) * | 2022-06-21 | 2023-12-12 | 阿里巴巴(中国)有限公司 | 跨网络报文转发方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102739501B (zh) | 2017-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11616656B2 (en) | Multicast data transmission method, related apparatus, and system | |
CN110086714B (zh) | 在以太网vpn中通过多归属设备处理多播连接消息 | |
CN102739501A (zh) | 二三层虚拟私有网络中的报文转发方法和系统 | |
CN105379197B (zh) | 建立隧道的方法、分配标签的方法、设备及网络系统 | |
EP1713197B1 (en) | A method for implementing the virtual leased line | |
EP1563644B1 (en) | System and method for interconnecting heterogeneous layer 2 vpn applications | |
US8166205B2 (en) | Overlay transport virtualization | |
US8151000B1 (en) | Transparently providing layer two (L2) services across intermediate computer networks | |
US7733876B2 (en) | Inter-autonomous-system virtual private network with autodiscovery and connection signaling | |
US7266124B2 (en) | Method for setting up QoS supported bi-directional tunnel and distributing L2VPN membership information for L2VPN using extended LDP | |
CN101160902B (zh) | 数据转发方法及交换设备 | |
US20070147372A1 (en) | Method for Implementing Multicast in Virtual Router-Based Virtual Private Network | |
EP2466807A1 (en) | IP Forwarding across a Link State Protocol Controlled Ethernet Network | |
CN100442770C (zh) | 一种在bgp/mpls vpn实现组播的方法 | |
US20050083949A1 (en) | Distributed connection-oriented services for switched communication networks | |
WO2006101823A2 (en) | System and method for routing isis traffic through unidirectional links of a computer network | |
KR20100113540A (ko) | 링크 상태 프로토콜 제어형 이더넷 네트워크를 이용한 mpls p 노드 교체 | |
CN102035729A (zh) | 一种组播数据转发方法及其装置 | |
US8902794B2 (en) | System and method for providing N-way link-state routing redundancy without peer links in a network environment | |
CN101800691A (zh) | 一种建立网络中数据转发路径的方法、设备和系统 | |
US20140294003A1 (en) | Optimizing otv multicast traffic flow for site local receivers | |
CN100450065C (zh) | 一种提供虚拟专用网站点之间通信的方法 | |
CN103634210B (zh) | 发现vpls实例的对端pe设备的方法及设备 | |
CN102487351A (zh) | 端到端组播标签交换路径的建立方法、装置及系统 | |
US20190132243A1 (en) | Methods and apparatuses for routing data packets in a network topology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171212 Termination date: 20210401 |
|
CF01 | Termination of patent right due to non-payment of annual fee |