CN111786884A - 一种路由方法及路由设备 - Google Patents
一种路由方法及路由设备 Download PDFInfo
- Publication number
- CN111786884A CN111786884A CN201910272550.1A CN201910272550A CN111786884A CN 111786884 A CN111786884 A CN 111786884A CN 201910272550 A CN201910272550 A CN 201910272550A CN 111786884 A CN111786884 A CN 111786884A
- Authority
- CN
- China
- Prior art keywords
- routing
- message
- evpn
- mac
- interface
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/34—Source routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/66—Layer 2 routing, e.g. in Ethernet based MAN's
Abstract
本发明公开了一种路由方法及路由设备,所述方法包括:第一PE接收第二PE发送的第一路由报文,所述第一路由报文的L2LA中携带L3LE的值,所述L2LA是在EVPN路由中用于携带L2LE的值的路由属性;其中,所述L2LE是MAC‑VRF实例对应的EVPN本地标签,所述L3LE是IP‑VRF实例对应的EVPN本地标签;所述第一PE在向所述第二PE转发的EVPN数据报文中添加由所述第一路由报文中的L2LA所表示的L3LE。
Description
技术领域
本申请涉及通讯技术领域,尤其涉及一种路由方法及路由设备。
背景技术
二层虚拟专用网(Layer 2 Virtual Private Network,L2VPN)和三层虚拟专用网(Layer 3 Virtual Private Network,L3VPN)作为广泛应用的虚拟专用网(VirtualPrivate Network,VPN)技术,常常是组合应用的,称为集成路由与桥(Integrated Routingand Bridge,IRB)。
以太VPN(Ethernet VPN,EVPN)技术可以提供二层EVPN(Layer 2 EVPN,L2EVPN)业务和三层EVPN(Layer 3 EVPN,L3EVPN)业务,其中,L2EVPN业务基于媒体接入控制(MediaAccess Control,MAC)地址进行转发,L3EVPN业务基于网络协议(Internet Protocol,IP)地址转发,EVPN业务在其每个运营商边缘(Provider Edge,PE)节点上通过虚拟路由转发(Virtual Routing Forwading,VRF)实例来绑定接入电路(Access Circuit,AC)接口和转发数据包,其中,L2EVPN的VRF实例称为MAC-VRF实例,L3EVPN的VRF实例称为IP-VRF实例,MAC-VRF实例和IP-VRF实例统称为EVPN实例(EVPN Instance,EVI)。
无论L2EVPN还是L3EVPN,都有MPLS封装、VXLAN封装和SRv6封装三种封装格式,其中,MPLS封装下采用MPLS标签标识所述EVI,VXLAN封装下采用VNI标识所述EVI,SRv6封装下采用SRv6 SID标识所述EVI,以上三种标识所述EVI的实体统称为EVI标签,其中,标识MAC-VRF的EVI标签称为二层EVI(Layer 2 EVI,L2EVI)标签,标识IP-VRF的EVI标签称为三层EVI(Layer 3 EVI,L3EVI)标签。
在MPLS或SRv6封装的EVPN业务中,EVI所在的节点称为该EVPN业务的PE节点,类似地,VXLAN等NVO3封装的EVPN中EVI所在的节点称为该EVPN业务的VTEP或NVE。为描述方便起见,本申请中将VTEP/NVE/PE统称为PE节点。
EVPN可以将L2EVPN和L3EVPN组合起来形成EVPN IRB业务,其方法是:将同一个接口既绑定一个MAC-VRF实例又绑定一个IP-VRF实例,此时,该接口称为所述MAC-VRF实例的IRB接口,也称为所述MAC-VRF实例和所述IP-VRF实例通过该IRB接口进行了连接。
在EVPN IRB业务中,某些情况下要经过如下转发流程:首先,在MAC-VRF实例1中查MAC表得到IRB接口1,其次,在IRB接口1所绑定的IP-VRF实例1中查询IP路由表并得到IRB接口2,再次,基于IRB接口2查ARP表封装以太头,最后,在IRB接口2对应MAC-VRF实例中查MAC表进行转发。这一套转发流程是很长的,对于转发面实现来说有很大负担,尤其在转发面采用ASIC芯片实现时,要高性能地实现这套转发流程,对于转发面的成本压力很大。
发明内容
为解决上述技术问题,本申请实施例提供了一种路由方法及路由设备。
本申请实施例提供的路由方法,包括:
第一运营商边缘设备PE接收第二PE发送的第一路由报文,所述第一路由报文的二层标签属性(L2LA)中携带三层标签实体(L3LE)的值,所述L2LA是在以太虚拟专用网(EVPN)路由中用于携带二层标签实体(L2LE)的值的路由属性;其中,所述L2LE是MAC-VRF实例对应的EVPN本地标签,所述L3LE是IP-VRF实例对应的EVPN本地标签;
所述第一PE在向所述第二PE转发的EVPN数据报文中添加由所述第一路由报文中的L2LA所表示的L3LE。
在一实施方式中,在VXLAN EVPN中,所述L2LE和所述L3LE是VNI;或者,
在MPLS EVPN中,所述L2LE和所述L3LE是MPLS标签;或者,
在SRv6 EVPN中,所述L2LE和所述L3LE是SRv6 SID。
在一实施方式中,所述方法还包括:
所述第一PE基于所述第一路由报文生成第一EVPN路由条目,所述第一EVPN路由条目的EVI标签的值为所述第一路由报文中的L2LA的值;
所述第一PE接收第一以太报文,并基于所述第一EVPN路由条目确定所述第一以太报文的接收端为所述第二PE,以及基于所述第一以太报文生成待发送给所述第二PE的第一目标报文,所述第一目标报文携带所述EVI标签;其中,所述第一以太报文承载了第一IP报文,所述第一EVPN路由条目为MAC条目;
所述第一PE将所述第一目标报文发送给所述第二PE,所述第一目标报文在所述第二PE上通过所述EVI标签确定该EVI标签所属的IP-VRF实例,并在所述IP-VRF实例中查询IP路由表转发所述第一目标报文。
在一实施方式中,当所述L3LE为SRv6 SID或MPLS标签时,所述第一目标报文中包含所述第一以太报文的以太头。
在一实施方式中,当所述L3LE为SRv6 SID或MPLS标签时,所述第一目标报文中不包含所述第一以太报文的以太头,所述第一以太报文的以太头信息承载在所述第一目标报文的外层IP区域。
在一实施方式中,所述第二PE侧配置有第一MAC-VRF实例和第一IP-VRF实例,所述第一MAC-VRF实例和所述第一IP-VRF实例之间通过第一接口连接,所述第一MAC-VRF实例与第一AC连接;所述第一路由报文中携带的L3LE为所述第一IP-VRF实例的L3LE。
在一实施方式中,所述第一路由报文中还携带所述第一接口的IP和MAC之中的至少之一,其中,所述第一接口为IRB接口。
在一实施方式中,所述方法还包括:
所述第一PE基于所述第一路由报文生成第一IP路由条目和第二IP路由条目,其中,所述第一IP路由条目中的IP键值为所述第一路由报文中的所述第一接口的IP,私网下一跳为包含所述第一路由报文中的所述第一接口的MAC地址和第一指定值的IP地址;所述第二IP路由条目的IP键值为所述第一IP路由条目的私网下一跳,私网下一跳为空,公网下一跳为所述第一路由报文的下一跳,EVI标签为所述第一路由报文中的L2LA的值。
在一实施方式中,所述方法还包括:
所述第一PE接收第二IP报文,并基于所述第二IP路由条目获取所述EVI标签;
所述第一PE在所述第二IP报文的外层添加以太头和所述EVI标签,得到第二目标报文;
所述第一PE将所述第二目标报文发送给所述第二PE,所述第二目标报文在所述第二PE上基于所述EVI签进行转发。
在一实施方式中,所述第一PE侧配置有第二MAC-VRF实例和第二IP-VRF实例,所述第二MAC-VRF实例和所述第二IP-VRF实例之间通过第二接口连接;所述方法还包括:
所述第一PE将包含所述第二接口的MAC地址与第二指定值的IP地址作为第一主机路由条目添加到所述第二IP-VRF实例中,其中,所述第二接口为IRB接口。
在一实施方式中,所述方法还包括:
所述第一PE接收第二以太报文,所述第二以太报文的目的MAC为所述第二接口的MAC;其中,所述第二以太报文承载了第三IP报文;
所述第一PE根据包含所述第二以太报文的目的MAC与所述第二指定值的IP地址在所述第二IP-VRF实例中查询IP路由表,根据所述第一主机路由条目确定继续基于所述第三IP报文的目的IP查询IP路由表,以确定所述第三IP报文的接收端为所述第二PE;
所述第一PE基于所述第二IP路由条目获取所述EVI标签,并在所述第三IP报文的外层添加以太头和所述EVI标签,得到第三目标报文;
所述第一PE将所述第三目标报文发送给所述第二PE,所述第三目标报文在所述第二PE上基于所述EVI签进行转发。
在一实施方式中,所述方法还包括:
所述第一PE将第二子网路由条目添加到所述第二IP-VRF实例中,其中,所述第二子网路由条目是一条主机部分与所述第一主机路由条目中所述第二接口的MAC所在的部分位置相同的路由。
在一实施方式中,所述方法还包括:
所述第一PE根据包含所述第二以太报文的目的MAC与所述第二指定值的IP地址在所述第二IP-VRF实例中查询IP路由表,根据所述第二子网路由条目确定在所述第二以太报文所属的BD实例中广播所述第二以太报文。
在一实施方式中,所述第一路由报文中的键值中包含全局端点标签GEPL,所述第一路由报文的L2LA为所述第一AC或所述第一接口对应的下游分配端点标签DAEPL,下一跳为所述第二PE的IP地址;其中,所述GEPL为在所述第一IP-VRF实例所在的EVPN业务中唯一标识所述第一AC或所述第一接口的标签;
所述第一PE根据所述第一路由报文生成第三IP路由条目,其中,所述第三IP路由条目中的IP键值为包含所述GEPL和第三指定值的IP地址,EVI标签为所述DAEPL,下一跳为所述第一路由报文的下一跳,GW-IP为空。
在一实施方式中,所述方法还包括:
第一PE接收所述第二PE发送的第四目标报文,所述第四目标报文是所述第二PE对通过所述第一AC或所述第一接口接收到的第一报文进行封装处理得到,所述第四目标报文携带所述第一AC对应的GEPL;
所述第一PE基于所述第四目标报文生成第四IP路由条目,所述第四IP路由条目中IP键值为所述第一报文的源IP,GW-IP为包含所述第一报文中的GEPL和所述第三指定值的IP地址,标签为空;
所述第一PE基于所述第四目标报文生成第五IP路由条目,所述第五IP路由条目中IP键值为包含所述第一报文的源MAC地址和所述第三指定值的IP地址,GW-IP为所述第三IP路由条目的IP键值,标签为空。
在一实施方式中,所述方法还包括:
所述第一PE接收第三以太报文,所述第三以太报文的目的MAC为所述第五IP路由条目的IP键值中包含的MAC;
所述第一PE根据所述第五IP路由条目的GW-IP确定所述第三IP路由条目,并根据所述第三IP路由条目转发所述第三以太报文。
在一实施方式中,所述方法还包括:
所述第一PE接收第四IP报文,所述第四IP报文的目的IP为所述第四IP路由条目的IP键值;
所述第一PE根据所述第四IP路由条目的GW-IP确定所述第三IP路由条目,并根据所述第三IP路由条目转发所述第四IP报文。
在一实施方式中,所述GEPL在数据报文中携带在EVPN标签和内层以太头之间;或者,
所述GEPL的值或GEPL进行映射得到的IP地址在数据报文中携带在IP选项中。
本申请实施例提供的路由方法,包括:
第二PE向第一PE发送第一路由报文,所述第一路由报文的L2LA中携带L3LE的值,所述L2LA是在EVPN路由中用于携带L2LE的值的路由属性;所述L2LE是MAC-VRF实例对应的EVPN本地标签,所述L3LE是IP-VRF实例对应的EVPN本地标签;其中,所述第一路由报文用于所述第一PE在向所述第二PE转发的EVPN数据报文中添加所述第一路由报文中的L2LA所表示的L3LE。
在一实施方式中,在VXLAN EVPN中,所述L2LE和所述L3LE是VNI;或者,
在MPLS EVPN中,所述L2LE和所述L3LE是MPLS标签;或者,
在SRv6 EVPN中,所述L2LE和所述L3LE是SRv6 SID。
在一实施方式中,当所述L3LE为SRv6 SID或MPLS标签时,所述第二PE接收所述第一PE发送的携带所述L3LE的数据报文,所述第二PE确定所述数据报文在所述L3LE以内包含以太头。
在一实施方式中,所述第二PE侧配置有第一MAC-VRF实例和第一IP-VRF实例,所述第一MAC-VRF实例和所述第一IP-VRF实例之间通过第一接口连接,所述第一MAC-VRF实例与第一AC连接;所述第一路由报文中携带的L3LE为所述第一IP-VRF实例的L3LE。
在一实施方式中,所述第一路由报文中还携带所述第一接口的IP和MAC之中的至少之一,其中,所述第一接口为IRB接口。
在一实施方式中,所述第一路由报文中的键值中包含GEPL,所述第一路由报文的L2LA为所述第一AC或所述第一接口对应的DAEPL,下一跳为所述第二PE的IP地址;其中,所述GEPL为在所述第一IP-VRF实例所在的EVPN业务中唯一标识所述第一AC或所述第一接口的数值。
在一实施方式中,所述方法还包括:
所述第二PE从所述第一AC或所述第一接口接收待转发给所述第一PE的第一报文;
所述第二PE在所述第一报文外层添加所述GEPL,得到第四目标报文,将所述第四目标报文发送给所述第一PE;
其中,对于所述第二PE从所述第一接口接收所述第一报文的情况,所述第一报文是从所述第一接口所属的IP-VRF实例中发往所述第一接口。
本申请实施例提供的路由设备,包括:
接收单元,用于接收第二PE发送的第一路由报文,所述第一路由报文的L2LA中携带L3LE的值,所述L2LA是在EVPN路由中用于携带L2LE的值的路由属性;其中,所述L2LE是MAC-VRF实例对应的EVPN本地标签,所述L3LE是IP-VRF实例对应的EVPN本地标签;
生成单元,用于基于所述第一路由报文生成第一EVPN路由条目,所述第一EVPN路由条目的EVI标签的值为所述第一路由报文中的L2LA的值。
在一实施方式中,所述路由设备还包括:
路由单元,用于接收第一以太报文,并基于所述第一EVPN路由条目确定所述第一以太报文的接收端为所述第二PE,以及基于所述第一以太报文生成待发送给所述第二PE的第一目标报文,所述第一目标报文携带所述EVI标签;其中,所述第一以太报文承载了第一IP报文,所述第一EVPN路由条目为MAC条目;将所述第一目标报文发送给所述第二PE,所述第一目标报文在所述第二PE上通过所述EVI标签确定该EVI标签所属的IP-VRF实例,并在所述IP-VRF实例中查询IP路由表转发所述第一目标报文。
本申请实施例提供的路由设备,包括:
发送单元,用于向第一PE发送第一路由报文,所述第一路由报文的L2LA中携带L3LE的值,所述L2LA是在EVPN路由中用于携带L2LE的值的路由属性;所述L2LE是MAC-VRF实例对应的EVPN本地标签,所述L3LE是IP-VRF实例对应的EVPN本地标签;其中,所述第一路由报文用于所述第一PE在向所述第二PE转发的EVPN数据报文中添加所述第一路由报文中的L2LA所表示的L3LE。
本申请实施例提供的路由设备,包括:处理器和存储器,该存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,执行如权利要求1至18中任一项所述的方法,或者如权利要求19至25中任一项所述的方法。
本申请实施例提供的计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行上述的路由方法。
本申请实施例的技术方案中,第一PE接收第二PE发送的第一路由报文,所述第一路由报文的L2LA中携带L3LE的值,所述L2LA是在EVPN路由中用于携带L2LE的值的路由属性;其中,所述L2LE是MAC-VRF实例对应的EVPN本地标签,所述L3LE是IP-VRF实例对应的EVPN本地标签;所述第一PE基于所述第一路由报文生成第一EVPN路由条目,所述第一EVPN路由条目的EVI标签的值为所述第一路由报文中的L2LA的值。如此,可以实现将远端MAC-VRF中发来的目的MAC为本端IRB接口的MAC的EVPN IRB报文在不经过MAC-VRF实例转发的情况下就直接进入IP-VRF实例转发,从而简化了EVPN IRB业务的转发流程,尤其是在原来需要经过两次MAC-VRF实例转发的EVPN IRB转发情况下,通过实施本申请的技术方案,最多只需要经过一次MAC-VRF实例转发。
同时,通过实施本申请的技术方案,可以删除从L2EVPN标签(包括MPLS标签、VNI和SID)进入MAC-VRF实例再进入IP-VRF实例这套转发指令序列,从而进一步减少了转发面的实现成本。
附图说明
附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。
图1是本申请应用示例6在EVPN网络层次化中的组网图;
图2为本申请实施例提供的路由方法的流程示意图一;
图3是本申请应用示例1-3的组网图
图4是本申请应用示例4、5和6的组网图;
图5是本申请应用示例2的数据报文封装格式图
图6是本申请应用示例3的数据报文封装格式图
图7是本申请应用示例4、5和6的数据报文封装格式图;
图8是本申请应用示例4、5和6的MAC映射地址的格式图;
图9是本申请应用示例6的GEPL映射地址的格式图;
图10是本申请应用示例6的GEPL的格式图;
图11是本申请应用示例8的数据报文封装的格式图;
图12是经过本申请应用示例9优化前的组网图;
图13是经过本申请应用示例9优化后的组网图;
图14是本申请实施例提供的一种路由设备的结构图;
图15为本申请实施例提供的路由方法的流程示意图二;
图16为本申请实施例提供的另一种路由设备的结构图;
图17是本申请实施例提供的又一种路由设备的结构图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
IRB可以实现同子网的通信在L2EVPN中转发,跨子网的通信在某些情况下需要先根据L2EVI标签在L2EVPN中转发,再在L3EVPN中转发,转发流程过长、性能较低。为了克服VPN技术中存在的转发流程过长、性能较低的问题,提出了本申请实施例的以下技术方案。
为描述方便起见,以下对本申请实施例中涉及到的相关概念进行说明,本申请实施例涉及到如下概念:RT-1路由、RT-2路由、RT-3路由、RT-5路由、二层标签实体(Layer 2Label Entity,L2LE),三层标签实体(Layer 3 Label Entity,L3LE),二层标签属性(Layer2 Label Atribute,L2LA),三层标签属性(Layer 3 Label Atribute,L3LA),RT-5G路由,RT-5L路由,端点(End Point,EP)、端点标签(End Point Label,EPL)、下游分配端点标签(Downstream-assigned EPL,DAEPL)、全局端点标签(Global EPL,GEPL),接入电路(AccessCircuit,AC),导出路由目标(export Route Target,eRT),广播域标识符(BroadcastDomain Identifier,BDI),虚拟路由转发边缘标识符(VRF Edge Identifier,VE-ID)。
其中,RT-1路由即EVPN路由类型(Route-Type)1,也就是第一类EVPN路由,同理,RT-2/3/5分别是第2/3/5类EVPN路由。
其中,一个IRB接口的L2LE即该IRB接口所属的广播域(Broadcast Domaing,BD)实例对应的转发标签,在VXLAN EVPN中它是一个VNI(称为L2 VNI),在MPLS EVPN中它是一个MPLS标签,在SRv6 EVPN中它是一个SRv6 SID。
其中,一个IRB接口的L3LE即该IRB接口所绑定的IP-VRF实例对应的转发标签,在VXLAN EVPN中它是一个VNI(称为L3 VNI),在MPLS EVPN中它是一个MPLS标签,在SRv6 EVPN中它是一个SRv6 SID。
其中,L2LA即是RT-1、RT-2、RT-3路由中承载L2LE的值的路由属性,在VXLAN EVPN或MPLS EVPN中它是所述EVPN路由的标签字段(其中,在RT-2路由中为MPLS Label1字段),在SRv6 EVPN中它是所述EVPN路由的SRv6 VPN SID TLV(其SID-Type字段值为2)。
其中,L3LA即是RT-2、RT-5路由中承载L3LE的值的路由属性,在VXLAN EVPN或MPLSEVPN中它是所述EVPN路由的标签字段(其中,在RT-2路由中为MPLS Label2字段),在SRv6EVPN中它是所述EVPN路由的SRv6 VPN SID TLV(其SID-Type字段值为1)。
其中,RT-5G路由就是GW-IP字段不为0且不携带L3LE的RT-5路由,RT-5L路由就是GW-IP为0且携带L3LE的RT-5路由。此外,PE节点从远端接收一条RT-5G路由会导致在IP-VRF实例的路由表中添加对应的路由条目,该RT-5G路由报文的GW-IP字段就是其对应路由条目的GW-IP字段。进一步地,IP-VRF实例中的有些路由条目的GW-IP字段并不是由RT-5G路由报文产生的,但与之具有相同的作用,此时也称为GW-IP字段。
其中,EP可以是IRB或AC,EPL即可以同时标识某个EP的EVI标签,DAEPL即下游节点分配给上游节点的EPL,GEPL即在EP所在EVPN业务的所有PE节点上都能标识该EP的EPL。
其中,本申请将MAC-VRF实例中的接入侧接口和IP-VRF实例中的接入侧接口统称为AC。
其中,BGP路由报文中的eRT用于在路由报文的接收方决定是否将其导入到某个IP-VRF实例或MAC-VRF实例。
其中,所述BDI为BD实例的满足如下条件的标识符:若一个BD实例BD1桥接到IP-VRF实例VRF1,该VRF1可以分别与若干远端PE上的某个IP-VRF实例相通,这些IP-VRF实例(包括所述VRF1)中总共包含若干个BD实例,其中,属于同一广播域的所有BD实例具有相同的BDI,属于不同广播域的任意两个BD实例具有不同的BDI。
其中,所述VE-ID为IP-VRF实例的满足如下条件的标识符:若某个IP-VRF实例VRF1可以分别与若干远端PE上的某个IP-VRF实例相通,这些IP-VRF实例(包括所述VRF1实例)的VE-ID互不相同。
图2为本申请实施例提供的路由方法的流程示意图一,如图2所示,所述路由方法包括以下步骤:
步骤201:第一PE接收第二PE发送的第一路由报文,所述第一路由报文的L2LA中携带L3LE的值,所述L2LA是在EVPN路由中用于携带L2LE的值的路由属性;其中,所述L2LE是MAC-VRF实例对应的EVPN本地标签,所述L3LE是IP-VRF实例对应的EVPN本地标签。
其中,所述第一路由报文是指路由协议报文,通常是边界网关协议(BorderGateway Protocol,BGP)路由报文。需要说明的是,当第二PE与第一PE之间存在更改下一跳的路由反射器(Route Reflector,RR)节点时,第一PE收到的第一路由报文中的L2LA的值可能是经过RR修改后的值,此时,RR作为第二PE的代理节点,RR的存在与否不影响第一PE上的处理流程。
本申请实施例中,所述第二PE侧配置有第一MAC-VRF实例和第一IP-VRF实例,所述第一MAC-VRF实例和所述第一IP-VRF实例之间通过第一接口连接,所述第一MAC-VRF实例与第一AC连接;所述第一路由报文中携带的L3LE为所述第一IP-VRF实例的L3LE。
步骤202:所述第一PE在向所述第二PE转发的EVPN数据报文中添加由所述第一路由报文中的L2LA所表示的L3LE。
上述步骤201和步骤202的方案是针对控制面的行为,上述控制面的行为决定了后续转发面的行为,通过本申请实施例的控制面的行为的实现可以在不修改转发指令的情况下自动获得新的转发面的行为。需要说明的是,本申请实施例的技术方案可以应用于VXLANEVPN中,或MPLS EVPN中,或SRv6 EVPN中。进一步,在VXLAN EVPN中,所述L2LE和所述L3LE是VNI;或者,在MPLS EVPN中,所述L2LE和所述L3LE是MPLS标签;或者,在SRv6 EVPN中,所述L2LE和所述L3LE是SRv6 SID。
下面对第一EVPN路由条目的不同实现方式,以及基于该第一EVPN路由条目如何实现转发面的行为进行描述。
方式一:所述第一路由报文还携带所述第一接口的MAC,其中,所述第一接口为IRB接口,所述第一PE基于所述第一路由报文生成第一EVPN路由条目,所述第一EVPN路由条目的EVI标签的值为所述第一路由报文中的L2LA的值,所述第一EVPN路由条目为MAC条目。
转发面的行为(参见应用示例1):1)所述第一PE接收第一以太报文,并基于所述第一EVPN路由条目确定所述第一以太报文的接收端为所述第二PE,以及基于所述第一以太报文生成待发送给所述第二PE的第一目标报文,所述第一目标报文携带所述EVI标签;其中,所述第一以太报文承载了第一IP报文,所述第一EVPN路由条目为MAC条目,所述MAC条目表示所述第一接口的MAC;2)所述第一PE将所述第一目标报文发送给所述第二PE,所述第一目标报文在所述第二PE上通过所述EVI标签确定该EVI标签所属的IP-VRF实例,并在所述IP-VRF实例中查询IP路由表转发所述第一目标报文。
在一种实施方式中,当所述L3LE为SRv6 SID(参见应用示例2)或MPLS标签(参见应用示例3)时,所述第一目标报文中包含所述第一以太报文的以太头。
在另一种实施方式(参见应用示例8)中,当所述L3LE为SRv6 SID或MPLS标签时,所述第一目标报文中不包含所述第一以太报文的以太头,所述第一以太报文的以太头信息承载在所述第一目标报文的外层IP区域。这里,所述外层IP区域包括源IP区域和/或目的IP区域。
方式二:所述第一路由报文中还携带所述第一接口的IP和MAC之中的至少之一,其中,所述第一接口为IRB接口。所述第一PE基于所述第一路由报文生成第一IP路由条目和第二IP路由条目,其中,所述第一IP路由条目中的IP键值为所述第一路由报文中的所述第一接口的IP,GW-IP为包含所述第一路由报文中的所述第一接口的MAC地址和第一指定值的IP地址;所述第二IP路由条目的IP键值为所述第一IP路由条目的GW-IP,其自身的GW-IP为空,公网下一跳为所述第一路由报文的下一跳,EVI标签为所述第一路由报文中的L2LA的值。
第一种转发面的行为(参见应用示例4):1)所述第一PE接收第二IP报文,并基于所述第二IP路由条目获取所述EVI标签;2)所述第一PE在所述第二IP报文的外层添加以太头和所述EVI标签,得到第二目标报文;3)所述第一PE将所述第二目标报文发送给所述第二PE,所述第二目标报文在所述第二PE上基于所述EVI签进行转发。
需要说明的是,所述第二目标报文可以是MPLS报文,或者是SRv6报文,或者是VXLAN报文。所述第二IP路由条目基于所述第一IP路由条目获得。
本申请实施例中,所述第一PE侧配置有第二MAC-VRF实例和第二IP-VRF实例,所述第二MAC-VRF实例和所述第二IP-VRF实例之间通过第二接口连接;进一步,所述第一PE将包含所述第二接口的MAC地址与第二指定值的IP地址作为第一主机路由条目添加到所述第二IP-VRF实例中,其中,所述第二接口为IRB接口。相应地,有如下第二种转发面的行为。在一种实现方式中,所述第二指定值与前述的第一指定值相同。
第二种转发面的行为(参见应用示例5):1)所述第一PE接收第二以太报文,所述第二以太报文的目的MAC为所述第二接口的MAC;其中,所述第二以太报文承载了第三IP报文;2)所述第一PE根据包含所述第二以太报文的目的MAC与所述第二指定值的IP地址在所述第二IP-VRF实例中查询IP路由表,根据所述第一主机路由条目确定继续基于所述第三IP报文的目的IP查询IP路由表,以确定所述第三IP报文的接收端为所述第二PE;3)所述第一PE基于所述第二IP路由条目获取所述EVI标签,并在所述第三IP报文的外层添加以太头和所述EVI标签,得到第三目标报文;4)所述第一PE将所述第三目标报文发送给所述第二PE,所述第三目标报文在所述第二PE上基于所述EVI签进行转发。
进一步,所述第一PE将第二子网路由条目添加到所述第二IP-VRF实例中(参见应用示例5),其中,所述第二子网路由条目是一条主机部分与所述第一主机路由条目中所述第二接口的MAC所在的部分位置相同的路由,也就是所述第一主机路由条目能命中所述第二子网路由条目。基于此,所述第一PE根据包含所述第二以太报文的目的MAC与所述第二指定值的IP地址在所述第二IP-VRF实例中查询IP路由表,根据所述第二子网路由条目确定在所述第二以太报文所属的BD实例中广播所述第二以太报文。
需要说明的是,对于第一种转发面的行为,所述第二MAC-VRF实例是可选的,但所述第二IP-VRF实例对于两种转发面的行为都是必须的。
方式三:所述第一路由报文中的键值中包含GEPL,所述第一路由报文的L2LA为所述第一AC或所述第一接口对应的DAEPL,下一跳为所述第二PE的IP地址;其中,所述GEPL为在所述第一IP-VRF实例所在的EVPN业务中唯一标识所述第一AC或所述第一接口的标签。所述第一PE基于所述第一路由报文生成第三IP路由条目,其中,所述第三IP路由条目中的IP键值为包含所述GEPL和第三指定值的IP地址,EVI标签为所述DAEPL,下一跳为所述第一路由报文的下一跳,GW-IP为空。
这里,可选地,所述第一路由报文中还可以携带所述第三指定值,所述GEPL和第三指定值可以是同一字段的不同部分,也可以是不同字段。
需要说明的是,所述GEPL为在所述第一IP-VRF实例所在的EVPN业务中唯一标识所述第一AC或所述第一接口的标签,是指:所述GEPL为在所述第一IP-VRF实例所在的EVPN业务的所有节点中唯一标识所述第一AC或所述第一接口的标签。
进一步,第一PE接收所述第二PE发送的第四目标报文,所述第四目标报文是所述第二PE对通过所述第一AC或所述第一接口接收到的第一报文进行封装处理得到,所述第四目标报文携带所述第一AC对应的GEPL;所述第一PE基于所述第四目标报文生成第四IP路由条目,所述第四IP路由条目中IP键值为所述第一报文的源IP,GW-IP为包含所述第一报文中的GEPL和所述第三指定值的IP地址,标签为空;所述第一PE基于所述第四目标报文生成第五IP路由条目,所述第五IP路由条目中IP键值为包含所述第一报文的源MAC地址和所述第三指定值的IP地址,GW-IP为所述第三IP路由条目的IP键值,标签为空。
这里,所述第一报文可以是以太报文、或IP报文、或ARP报文。
在一种实施方式(参见应用示例6)中,所述GEPL在数据报文中携带在EVPN标签和内层以太头之间。
在另一种实施方式(参见应用示例7)中,所述GEPL的值或GEPL进行映射得到的IP地址在数据报文中携带在IP选项中。
第一种转发面的行为:1)所述第一PE接收第三以太报文,所述第三以太报文的目的MAC为所述第五IP路由条目的IP键值中包含的MAC;2)所述第一PE根据所述第五IP路由条目的GW-IP确定所述第三IP路由条目,并根据所述第三IP路由条目转发所述第三以太报文。
第二种转发面的行为:1)所述第一PE接收第四IP报文,所述第四IP报文的目的IP为所述第四IP路由条目的IP键值;2)所述第一PE根据所述第四IP路由条目的GW-IP确定所述第三IP路由条目,并根据所述第三IP路由条目转发所述第四IP报文。
本申请实施例的技术方案混合二三层VPN实现统一查表,克服了现有VPN技术中存在的IRB功能转发流程过长、性能较低的问题,实现了在硬件成本可控的情况下IRB功能与避免MAC地址过载两个目标同时达成,提升了VPN核心节点的路由表项资源的利用效率,避免了每个主机对于VPN核心节点的路由表项资源的消耗。
以下结合具体应用示例对本申请实施例的技术方案进行举例说明,需要说明的是,以下应用示例仅用于举例作用,并不限定本申请实施例的技术方案的范围。
为描述方便起见,以下应用示例中区分路由和路由条目两个概念,其中,路由指路由报文,通常是BGP路由报文,路由条目指转发面的IP路由表或MAC地址表中的转发条目。以下应用示例中路由中的GW-IP概念与RT-5路由中的GW-IP概念同义,路由条目的GW-IP概念与RT-5路由对应的路由条目中与RT-5路由的GW-IP对应的字段具有相同的含义。
以下应用示例中的应用示例1至应用示例3的组网图如图3所示,其中,P1和P2代表两个运营商节点(Provider,P),PE1和PE2代表两个运营商边缘设备(Provider Edge,PE),CE1和CE2代表两个用户边缘设备(Customer Edge,CE),VRF1是同一条EVPN业务在不同节点上的IP-VRF实例,BD1、BD2用于区分所述EVPN业务的不同子网在同一节点上对应的MAC-VRF实例,所述MAC-VRF实例同时也是BD实例。图3所示的BD1在EVPN业务的不同PE上各有一个对应的BD实例,即PE1和PE2上各有一个BD1。所述PE节点在MPLS网络中称为PE节点,在VXLAN网络中也称为VTEP节点或NVE节点。在同一节点上,BD实例与IP-VRF实例之间以IRB接口(如图中虚线所示)相连接。所述BD实例的AC可以是物理接口上的一个子接口(如图中标注AC1、AC2、AC3或AC4的细实线所示)。其中,P1和P2节点是下层(underlay)网络中的节点,在MPLS网络中就是P设备,在VXLAN或SRv6网络中就是IP转发设备。其中,还有如下实体在图中没有画出:CE1上有两个三层接口IF1和IF4,分别与AC1和AC4连通,CE2上有两个三层接口IF2和IF3,分别与AC2和AC3连通,所述IF1、IF2、IF3、IF4的IP地址分别为H1、H2、H3、H4,MAC地址分别为M1、M2、M3、M4。其中,为描述方便起见,将PE2上连接BD1实例和VRF1实例的IRB接口记为IRB1,将PE1上连接BD1实例和VRF1实例的IRB接口记为IRB2,将IRB1和IRB2的MAC地址分别记为Mb1和Mb2,将IRB1和IRB2的IP地址分别记为I1和I2,将标识PE1节点的可路由IP地址记为N1,将标识PE2节点的可路由IP地址记为N2。其中,AC1和AC2均是BD1广播域中的接口,AC3是BD2广播域中的接口,AC4是VRF1实例中的三层接口。
以下应用示例中的应用示例4至应用示例6的组网图如图4所示,图4在图3的基础上增加了PE3和CE3,其中,图4所示的PE3上的BD3实例与PE1上的BD3实例属于同一个广播域,AC5与CE3上的三层接口IF5连通。其中,AC5是BD3实例中的接口,在PE1上BD3实例与VRF1实例通过IRB3接口相连。其中,图4在应用示例6中作为其在非层次化EVPN网络架构上的组网图。
以下应用示例中的应用示例6在层次化EVPN网络架构下的组网图如图1所示。
应用示例1
在VXLAN EVPN中,L2 EVPN和L3 EVPN数据报文采用的封装格式都是一样的,都包括内层以太头。这种情况下,只需要在控制面进行扩展,就可以实现报文在PE1节点进行二层转发到PE2节点且终结VXLAN封装后直接进行三层转发。应用示例1包括如下流程(以从IF1接口到IF3接口的通信为例进行说明):
1)PE2发布其本地BD实例BD1对应的IRB接口(记为IRB1接口)对应的RT-2路由(即第2类EVPN路由)报文(记为X1)给PE1。其中,所述X1中的L2LA的值不是填写L2LE(即BD1实例对应的L2 VNI)的值而是填写L3LE(即IP-VRF实例对应的L3 VNI)的值。
2)PE1收到所述路由报文X1,将其加入到本地的BD1实例,形成所述BD1实例中的一条MAC条目(其MAC地址为Mb1)。其中,所述Mb1条目中记录了所述L3VNI。
3)PE1从本地AC1收到以太报文EP1,其源MAC为M1,其目的MAC为Mb1,其内层为IP报文为P1,对于P1,其源IP为H1,其目的IP为H3,并查MAC地址表决定往远端PE2发送;所述PE1在所述EP1外面添加VXLAN封装,成为报文USP1,其中所述VXLAN封装的源IP为N1,目的IP为N2;PE1将所述USP1报文发送给PE2。
4)PE2收到所述USP1报文,得知其要进行VXLAN终结并且其VNI为L3 VNI,将所述USP1报文所承载的IP报文(即P1)在所述L3VNI对应的IP-VRF实例中查路由表转发,最终经过BD2实例及其IRB接口从AC3转发到CE2节点的IF3接口。
其中,步骤3)对于控制面存在如下依赖关系:
所述M1和H1分别是IF1的MAC地址和IP地址,所述Mb1是PE2上连接BD1实例和VRF1实例的IRB1接口的MAC地址,所述H3是IF3的IP地址,所述N1和N2分别是标识PE1和PE2的IP地址。
所述AC1绑定一个广播域(记为BD1),所述MAC地址表为BD1对应的MAC地址表,所述N2记录在所述Mb1对应的MAC地址表项中,所述PE1通过接收所述路由报文X1获知所述Mb1与所述N2的对应关系。
其中,步骤4)对于控制面存在如下依赖关系:
在PE2节点上,所述L3VNI绑定所述IP-VRF(图1中记为VRF1),所述L2VNI绑定所述MAC-VRF(图1中记为BD1)。所述PE2在发布IRB接口对应的RT-2路由给PE1时,携带L3VNI而不是L2VNI,所述L3VNI就是该IRB接口所绑定的IP-VRF实例所绑定的L3VNI。
值得注意的是,步骤3)中是查MAC地址表转发,而步骤4)中则是查IP路由表转发,两者是完全不同的转发流程,而按现有技术,如果在发送端是查MAC地址表转发,在接收端仍然要至少先通过目的MAC转发。此外,如果发送端是查IP路由表转发,到接收端仍然要先查IP路由表转发。
这样,当PE1从本地VRF1实例中的AC4收到一个内层IP包为P7的以太包(比如从IF4到IRB1通信的数据包),并且查IP-VRF路由走EVPN对称转发流程转发P7到PE2上的同一个VRF1实例时,所述P7在PE2中的转发与所述P1在PE2中的转发都是根据L3VNI查同一张IP路由表,但是,按现有技术,则是一个根据L3VNI查IP路由表,一个根据L2VNI走IRB流程。本申请统一了两种情况下的查表过程,因而可以删除根据L2VNI走IRB流程的转发指令,因此,可以减轻转发面的指令资源消耗,尤其在转发面采用ASIC芯片实现时,优势较为明显。
值得注意的是,虽然本示例是以从IF1到IF3的通信为例来说明本申请的技术方案的,但本示例中也是可以同时存在从IF1到IF2的通信的,这些通信依赖的仍然是现有技术中定义的EVPN流程,本示例只是对于现有EVPN流程进行了局部修改,仍然要在现有EVPN流程的基础上实施。
值得注意的是,PE2还可以将其在AC1上学到的MAC条目以RT-2路由的形式通告给PE1,PE1对于所述X1路由和这些路由,在将其导入到BD1实例中形成MAC条目时,可以采取相同的处理行为。
应用示例2
应用示例1是以VXLAN EVPN为例的,VXLAN EVPN的L2EVPN封装和L3EVPN封装具有相同的格式,因此,只需要扩展控制面就达到了减化转发面的目的。在SRv6 EVPN和MPLSEVPN中,L2EVPN封装和L3EVPN封装具有不同的格式,无法仅通过扩展控制面来实现同样的目的,因此,必须首先统一SRv6/MPLS EVPN在L2EVPN和L3EVPN中采用的封装格式,才能实现上述目的。这种统一,实际上就是去除SRv6/MPLS EVPN专门为L3EVPN定义的封装格式,在L3EVPN转发中,也采用与L2EVPN兼容的数据报文格式,下面以SRv6 EVPN为例,说明如何进行上述改造。应用示例2包括如下流程(以从IF1接口到IF3接口的通信为例进行说明):
1)PE2发布IRB1接口对应的RT-2路由报文(记为X1)给PE1。其中,所述X1中的L2LA的值不是填写L2LE(即BD1实例对应的SRv6 SID)的值而是填写L3LE(即IP-VRF实例对应的SRv6 SID)的值。
2)PE1收到所述路由报文X1,将其加入到本地的BD1实例,形成所述BD1实例中的一条MAC条目(其MAC地址为Mb1)。其中,所述Mb1条目中记录了所述IP-VRF实例在PE2上对应的SRv6 SID。
3)PE1从本地AC1收到以太报文EP2,其源MAC为M1,其目的MAC为Mb1,其内层为IP报文为P2,对于P2,其源IP为H1,其目的IP为H3,并查MAC地址表决定往远端PE2发送;所述PE1在所述EP2外面添加SRv6封装,成为报文USP2(如图5右侧所示),其中所述SRv6封装的源IP为N1,目的IP为N2;PE1将所述USP2报文发送给PE2。
4)PE2收到IP报文(比如所述USP2报文),根据其目的IP(比如所述N2)查全局路由表得到其SID类型,并根据不同的SID类型进行不同的转发。所述SID类型至少包括End.DT46E、End.DT2U。其中,所述End.DT46E的SID是本申请新定义的SRv6 SID,具体地,所述End.DT46E与End.DT46类型的SID具有相同的功能,除此之外还具有如下附加功能:其内层IP载荷对应的以太封装同样被作为End.DT46E的载荷的一部分。
若外层DIP是一个End.DT46E类型的SID(比如,对于从IF1到IF3的通信),则先剥离其内层以太头再根据内层IP在对应的IP-VRF实例中查路由表转发;若外层DIP是一个End.DT2U类型的SID(比如,对于从IF1到IF2的通信),则根据内层以太头在对应MAC-VRF实例中查MAC地址表转发。
其中,步骤1)对于控制面存在如下依赖关系:
所述AC1绑定广播域BD1,所述MAC地址表为BD1对应的MAC地址表,所述N2记录在所述Mb1对应的MAC地址条目中,所述PE1通过接收所述路由报文X1获知所述Mb1与所述N2的对应关系,其中,所述N2承载在所述USP2的源IP中。
其中,步骤2)对于控制面存在如下依赖关系:
在PE2节点上,所述End.DT46E类型的SID绑定所述IP-VRF(记为VRF1),所述End.DT2U类型的SID绑定所述MAC-VRF。所述PE2在发布IRB接口对应的RT-2路由给PE1时,携带End.DT46E类型的SID而不是End.DT2U类型的SID,所述End.DT46E类型的SID就是该IRB接口所绑定的IP-VRF实例所绑定的End.DT46E类型的SID。
值得注意的是,步骤1)中是查MAC地址表转发,而步骤2)中则是查IP路由表转发,两者是完全不同的转发流程,而按现有技术,如果在发送端是查MAC地址表转发,在接收端仍然要至少先通过目的MAC转发。此外,如果发送端是查IP路由表转发,到接收端仍然要先查IP路由表转发。
这样,现在End.DT46E类型的SID采用统一的封装同时完成了原来通过End.DT46和End.DT2U两种SID类型和两种报文封装格式才能完成的L3 EVPN转发情境和EVPN IRB转发情境,因而现在的End.DT2U类型的SID不再需要支持EVPN IRB转发流程。而且,现在的End.DT46E是通过统一的转发流程来完成所述L3 EVPN转发分工和所述EVPN IRB转发分工,因此,可以减轻转发面的指令资源消耗,尤其在转发面采用ASIC芯片实现时,优势较为明显。
值得注意的是,对于从IF1到IF3的通信,在PE2上的转发在现有技术中是经过从MAC-VRF(即BD1)到IP-VRF再到MAC-VRF(即BD2)的过程,但在本示例中,只经过从IP-VRF到MAC-VRF的过程,因此转发性能也较高。
应用示例3
应用示例2是以SRv6 EVPN为例说明如何统一L2EVPN和L3EVPN中采用的封装格式,下面以MPLS EVPN为例,说明如何进行上述改造。应用示例3包括如下流程(以从IF1接口到IF3接口的通信为例):
1)PE2发布IRB1对应的RT-2路由报文(记为X1)给PE1。其中,所述X1中的L2LA的值不是填写L2LE(即BD1实例对应的MPLS标签)的值而是填写L3LE(即IP-VRF实例对应的MPLS标签)的值。
2)PE1收到所述路由报文X1,将其加入到本地的BD1实例,形成所述BD1实例中的一条MAC条目(其MAC地址为Mb1)。其中,所述Mb1条目中记录了所述IP-VRF实例对应的MPLS标签。
3)PE1从本地AC1收到以太报文EP3,其源MAC为M1,其目的MAC为Mb1,其内层为IP报文P3,对于所述P3,其源IP为H1,其目的IP为H3,并查MAC地址表决定往远端PE2发送;所述PE1给所述EP3添加EVPN封装,成为报文USP3(如图6右侧所示)。PE1将所述USP3报文发送给PE2。
4)PE2收到所述USP3报文,根据其EVPN标签找到对应的IP-VRF,从所述USP3报文在所述EVPN标签内层承载的以太报文EP3中将所述P3报文提取出来,并以所述P3报文的目的IP(即H3)在该IP-VRF中查路由表根据路由表转发所述P3报文。
值得注意的是,在现有技术中,如果一个MPLS EVPN标签绑定的是一个IP-VRF实例,则该标签内层的IP报文是不带以太封装的,本处则需要包括以太封装,因为本处PE2从PE1通过L3EVI标签收到的报文,不一定是在PE1的L3 EVPN(IP-VRF)流程中转发过来的,也有可能是在PE1的L2 EVPN(MAC-VRF)流程中转发过来的(如步骤303所示),为了同时处理这两种情况(比如从IF1到IRB1通信和从IF4到IRB1通信两种情况),需要统一保留内层IP报文对应的以太封装。在步骤304中,PE2收到的USP3报文的栈底标签为L3EVI标签,但L3EVI标签内层却是一个以太报文。
其中,步骤3)对于控制面存在如下依赖关系:
所述AC1绑定广播域BD1,所述MAC地址表为BD1对应的MAC地址表,所述EVPN封装信息记录在Mb1对应的MAC地址表项中,所述PE1通过接收PE2发来的所述路由报文X1获得所述EVPN封装信息。
其中,步骤4)对于控制面存在如下依赖关系:
所述PE2在发布IRB接口对应的RT-2路由给PE1时,携带该IRB接口所绑定的IP-VRF的EVI标签而不是该IRB接口所绑定的MAC-VRF(即BD实例)的EVI标签。
值得注意的是,虽然本申请以一个MAC-VRF中只有一个BD的情况为例,但在MAC-VRF中有多个BD的情况下也是适用的,此时,本领域的普通技术人员知道如何在本申请提供的具体实施方式和应用示例的基础上进行相应调整。
应用示例4
在现有技术中,PE在IP-VRF实例中转发IP数据报文时可能经过“(IP-VRF)-IRB-(MAC-VRF)”这样一个转发流程,本应用示例将其缩短为只在IP-VRF中通过路由迭代就可以完成整个转发过程。需要说明的是,应用示例4是以应用示例3为基础进行举例说明,不局限于此,应用示例4还可以以应用示例1或应用示例2为基础。应用示例4包括如下流程(以从IF4接口到IRB1接口的通信为例进行说明):
1)PE2发布IRB1接口对应的RT-2路由报文(记为X1)给PE1。其中,所述X1中的L2LA的值不是填写L2LE(即BD1实例对应的MPLS标签)的值而是填写L3LE(即VRF1实例对应的MPLS标签)的值(记为Lx1)。
2)PE1收到所述路由报文X1,将其加入到本地的BD1实例,形成所述BD1实例中的一条MAC条目(其MAC地址为Mb1)。其中,所述Mb1条目中记录了所述IP-VRF实例对应的MPLS标签。进一步,PE1收到所述路由条目X1,将其加入到本地的VRF1实例,形成所述VRF1实例中的两条明细路由条目,分别记为RE4a和RE4b,其中,RE4a条目的IP键值为所述X1的键值中的IP(即I1),GW-IP为所述X1的键值中的MAC(即Mb1)对应的MAC映射地址;其中,所述RE4b条目的IP键值为所述MAC映射地址,GW-IP为空,公网下一跳为所述X1的下一跳(即N2),EVPN出标签为所述X1中的L2LA表示的标签。
3)PE1收到一个需要在VRF1实例中转发的IP报文(比如从IF4到IRB1通信的IP报文),其源IP为H4,目的IP为I1,所述PE1只通过在所述IP-VRF实例中的所述RE4a和所述RE4b就得到了所述Lx1的值,而不需要在所述BD1实例中获取所述Lx1的值;所述PE1在所述IP报文外面添加以太头以及值为Lx1的标签,成为MPLS报文USP4,并通过MPLS隧道将所述MPLS报文USP4发送给PE2。其中,所述USP4在添加MPLS隧道封装后的格式如图7所示,其中,GEPL在本具体实施方式中空缺。
4)PE2收到所述USP4报文,根据其EVPN标签找到所述VRF1实例,从所述USP4报文内层承载的IP报文的目的IP(即I1)找到所述IRB1接口。
其中,步骤3)对于控制面存在如下依赖:
PE1从PE2收到所述路由X1,所述路由X1的类型为RT-2路由,所述路由X1的键值中的IP为I1,键值中的MAC为Mb1,其BGP下一跳为N2,其MPLS Label1字段的值为Lx1,其中,所述Mb1对应的MAC映射地址为IPm1,其中,所述MAC映射地址由第一指定前缀、BDI和MAC地址组成(如图8所示),其中,所述第一指定前缀为8字节指定值,低6字节为所述Mb1地址,所述BDI为标识所述Mb1地址所属的BD实例的BDI,通过将第一指定前缀选取为特殊的值,可以保证MAC映射地址与所述IP-VRF实例中的主机IP地址不会相冲突。
于是,PE1将从PE2收到所述X1映射为从PE2收到如下两条RT-5明细路由Y1和Y2:所述Y1是一条明细RT-5路由,其键值中的IP为所述I1,其GW IP为IPm1,其标签值为空;所述Y2是一条明细RT-5路由,其键值中的IP为IPm1,其EVPN标签为所述Lx1,其Router’s MAC为Mb1,其BGP下一跳为N2,其GW IP为0。
经过映射过后,所述Y1在VRF1实例的路由表中形成路由条目RE4a,所述Y2在路由表中形成路由条目RE4b,于是,现有技术中在查询IRB1接口上的ARP得到远端MAC然后在IRB1所述的BD1中查MAC地址表的行为,就可以用在VRF1实例中从RE4a到RE4b的路由迭代的过程来取代。由于查IP路由表对于EVPN三层转发本来就是必须的,这里实际上没有增加查表次数,反而去掉了原来查ARP表和MAC地址表的流程。
值得注意的是,BD对应的RT-3路由也可以改为在该BD绑定的IRB接口所绑定的IP-VRF实例中发布,RD填IP-VRF的RD,Ethernet Tag ID填BDI,eRT填IP-VRF实例的eRT,标签填本节点为该BD分配的标签,称为该BD实例的BD标签,所述BD标签同时标识所述IP-VRF实例和所述BD实例。
应用示例5
在应用示例4中,BD1中的MAC条目和VRF1中的由BD1中的MAC映射地址形成的IP路由条目是同源的,因而是重复的信息,应用示例5在应用示例4的基础上将前者进一步统一到后者中,从而减少了重复信息。应用示例5包括如下流程(以从IF1接口到IRB1接口的通信为例进行说明):
1)PE2发布IRB1接口对应的RT-2路由条目(记为X1)给PE1。其中,所述X1中的L2LA的值不是填写L2LE(即BD1实例对应的MPLS标签)的值而是填写L3LE(即IP-VRF实例对应的MPLS标签)的值(记为Lx2)。
2)PE1收到所述路由条目X1,将其加入到本地的VRF1实例,形成所述VRF1实例中的两条明细路由条目,分别记为RE5a和RE5b,其中,RE5a条目的IP键值为所述X1的键值中的IP(即所述I1),GW-IP为所述X1的键值中的MAC(即所述Mb1)对应的MAC映射地址;其中,所述RE5b条目的IP键值为所述RE5a条目的GW-IP,GW-IP为空,公网下一跳为所述X1的下一跳,EVPN出标签为所述X1中的L2LA字段。
3)PE1本地IRB2接口的MAC地址Mb2的MAC映射地址为IPm2,IRB2所属的IP-VRF实例为VRF1,所述PE1将所述IPm2作为128位路由添加到所述VRF1实例中。
4)PE1在BD1实例中的AC1收到一个以太报文EDP5,所述PE1以所述EDP5的目的MAC对应的MAC映射地址查VRF1的路由表(其中,对于从IF1接口到IRB1接口的通信来说,所述EDP5的源MAC为M1,其目的MAC为所述Mb2,其内层IP报文为P8,对于P8,其源IP为H1,其目的IP为I1)命中所述IPm2路由条目,得知IPm2是IRB映射地址,于是以所述P8报文的目的IP(即所述I1)查VRF路由表,根据所述RE5a和RE5b路由按如下方法将报文转发给PE2:
所述PE1只通过在所述IP-VRF实例中的所述RE5a和所述RE5b就得到了所述PE2在所述X1路由中发布的MPLS Label1字段的值Lx2;所述PE1在所述IP报文外面添加以太头以及值为Lx2的标签,成为MPLS报文USP5,并通过MPLS隧道将所述MPLS报文USP5发送给PE2。其中,所述USP5在添加MPLS隧道封装后的格式如图7所示,其中,GEPL在本具体实施方式中空缺。
5)PE2收到所述USP5报文,根据其EVPN标签找到对应的IP-VRF(即VRF1),从所述USP5报文承载的以太报文中将所述P8报文提取出来,并以所述P8报文的目的IP(即I1)确定其所属的IRB接口(即IRB1),并在该IRB接口上继续处理所述P8报文。
在上述步骤的基础上,PE1就可以将BD1中从本地AC学习到的MAC条目也以MAC映射地址的形式添加到VRF1中,同时去除BD1中的MAC条目。值得注意的是,这时,对于从IF1到IF2的通信来说,也要走按目的MAC的MAC映射地址查IP-VRF路由表的流程。
值得注意的是,所有MAC映射地址的高64位均为第一指定值,可以在IP-VRF实例生成一条高64位为第一指定值的64位IPv6路由,这条路由称为BUM路由,当以MAC映射地址查IP路由表命中BUM路由时,表示要在该报文所属BD实例中广播。通过添加BUM路由,达到了两个目的,第一是通过MAC映射地址查IP路由表不会命中缺省路由,这保证了缺省路由仍然只作用于三层转发;第二是通过MAC映射地址查IP路由表不可能不命中任何路由,因为BUM路由总是符合命中条件的。可选地,BUM路由也可以每个BD实例各有一条,它们之间只有BDI字段的值不同。
值得注意的是,通过去除BD1中的MAC条目,本示例达到了剪除重复信息的效果,同时统一了二层转发和三层转发所查的路由表,使得BD1实例退化为一个没有MAC条目的实例(进一步地,本领域的普通技术人员,还可以把RT-3路由也移到VRF1实例,使得BD1实例进一步退化为一个没有转发条目的概念性实体,不再是一个MAC-VRF实例),其作为转发实例的职能被VRF1实例所取代。
值得注意的是,本申请把由IRB接口的MAC地址映射成的IP地址称为IRB映射地址,可以通过将本地IRB接口的IRB映射地址形成的IPv6路由条目的下一跳地址设置为特殊值来与其它IPv6路由条目相互区分,从而采取与其它IPv6路由条目不同的转发行为。
应用示例6
在应用示例5中,主机MAC地址需要向远端PE发布,这意味着如果PE1和PE2之间存在SPE节点,SPE节点上要存储所有主机的MAC地址信息,形成MAC地址过载的情况,为了避免这些情况发生,可以采取不通过路由发布主机MAC地址的办法,这意味着需要进行MAC地址学习,但是在MPLS封装上进行MAC地址学习存在一定困难,应用示例6在应用示例5的基础上,克服这些困难并采用在数据面进行MAC地址学习的方式来解决MAC地址过载的问题。应用示例6包括如下流程:
1)PE2在VRF1实例中为所述IRB1接口分配的MPLS-based方式的L3EVPN标签为DAEPL5,所述DAEPL5对应的GEPL为GEPL5,则PE2对PE1发布所述IRB1对应的GEPL路由,其中所述GEPL路由可以是一条明细RT-2路由,所述RT-2路由的键值中的IP地址为所述GEPL5对应的GEPL映射地址,其键值中的MAC地址为0,其路由区分符RD为所述VRF1实例的RD,其L2LA属性为所述DAEPL5标签,其下一跳为PE2的节点IP地址(即N2)。
2)PE2上BD1实例绑定AC2接口,BD1实例中为所述AC2接口分配的MPLS-based方式的L3 EVPN标签为DAEPL6,所述DAEPL6对应的GEPL为GEPL6,则PE2对PE1发布所述AC1对应的GEPL路由,其中所述GEPL路由可以是一条明细RT-2路由,所述RT-2路由的键值中的IP地址为所述GEPL6对应的GEPL映射地址,其键值中的MAC地址为0,其RD为所述VRF1实例的RD,其L2LA属性为所述DAEPL6标签,其下一跳为PE2的节点IP地址(即N2)。
需要说明的是,上述步骤1)和步骤2)是独立的,以下步骤3可以继承在步骤1)之后或者继承在步骤2)之后。
3)PE1收到步骤1)或步骤2)中所述的GEPL路由,将其加入到本地的VRF1实例,分别形成所述VRF1实例中的路由条目RE6a和RE6b,其中,RE6a和RE6b条目的IP键值均为相应GEPL路由的键值中的IP,GW-IP为空,公网下一跳为相应GEPL路由的下一跳,EVPN出标签为相应GEPL路由的L2LA属性的值。
4)当PE2从本地AC2收到报文EDP6或者当PE2从VRF1实例中从IRB1接口发送IP报文IDP7并将所述IDP7封装为以太报文EDP7时,PE2在将所述EDP6或所述IDP7发给PE1时,首先将其封装为报文MEDP5,所述MEDP5中包括所述AC2或IRB1对应的GEPL(即所述GEPL5或GEPL6),其中,为描述方便起见,所述EDP6或IDP7在所述MEDP5中的源MAC记为Mx,源IP记为IPx,所述GEPL记为GEPLx。
5)当PE1从PE2收到所述MEDP5并发现其携带了GEPL时,所述PE1如同收到两条如下形式的RT-5G路由(记为G6a和G6b):所述G6a的键值中的IP为所述IPx,GW-IP为所述GEPLx的GEPL映射地址,标签为空;所述G6b的键值中的IP为所述Mx的MAC映射地址,GW-IP为所述GEPLx的GEPL映射地址,标签为空。
6)当PE1从本地AC1收到以太报文EDP8,其目的MAC为所述G6b的键值中的MAC(即Mx),所述PE1根据所述G6b的GW-IP确定对应的RE6a或RE6b,并根据所述RE6a或RE6b封装和转发所述EDP8报文。
7)当PE1在AC4接口上收到IP报文IDP8,其目的IP为所述G6a的键值中的IP(即IPx),所述PE1根据所述G6a的GW-IP确定对应的RE6a或RE6b,并根据所述RE6a或RE6b封装和转发所述IDP8报文。其中,封装所述IDP8报文包括为其添加以太头。
8)PE2收到所述EDP8或IDP8报文,根据其EVPN标签找到对应的IRB接口或AC接口,然后在IRB接口所属的IP-VRF实例中转发,或者将报文从AC接口转发出去。其中,根据所述DAEPL5标签(即所述RE6a中的标签)可以找到IRB1接口,根据所述DAEPL6标签(即所述RE6b中的标签)可以找到AC2接口。
除特殊说明之处以外,应用示例6与应用示例4对于控制面存在的依赖相同。
与应用示例4不同,应用示例6不采用EVPN路由发布主机MAC地址,但仍然采用与应用示例4中步骤1)类似的EVPN路由发布IRB/AC接口对应的L3LE。
与应用示例4不同,应用示例6从由远端MAC地址映射得到的IP路由条目(比如所述G6b)中,能够获得如下信息:其GW-IP地址为该MAC地址对应的全局EP标签映射地址(其一种可能格式如图9所示),该MAC地址所属的BD实例的BDI,该MAC地址所属BD所绑定的IRB接口的MAC地址。
其中,所述EP标签映射地址为由GEPL映射而成的地址,具体地,所述EP标签映射地址为由GEPL和第二指定前缀映射而成的IP地址。其中,所述GEPL是由虚拟路由转发边缘标识符VE-ID与DAEPL映射而成的标签,其格式如图10所示。
其中,所述VE-ID是IP-VRF实例所在PE节点在该IP-VRF业务的所有节点上唯一的标识符,所述DAEPL是由AC/IRB所在PE节点在每平台标签空间中分配的标识该AC/IRB的本地唯一标签。其中,所述AC为将所述MAC映射地址对应的MAC地址作为本地MAC条目学到时的报文入接口。
除VE-ID和DAEPL之外,可选地,GEPL中还可以包括4字节的版本号,本实施例中版本号取值为第八指定值。除Ver可选之外,VE-ID和DAEPL还可以压缩,以使两者位宽之和不超过20位,此时,DAEPL只能使用每平台标签池中的一段区间。
值得注意的是,为了将DAEPL映射为GEPL,需要给每个IP-VRF实例事先配置一个VE-ID,方法是,同一VPN中的所有(分别位于不同PE节点)IP-VRF实例必须配置不同的VE-ID。
值得注意的是,所述入口GEPL只用于MAC/ARP条目的数据面学习,不用于转发当前的数据报文,而且,它是在出口EP标签内层的,因此,它可以不是一个标准的MPLS标签,比如,它可以是一种新的控制字。当然,在VE-ID与DAEPL两个字段的位宽之和不超过20位的情况下,它也可以是一层MPLS标签。或者,也可以将VE-ID和DAEPL分别作为一层MPLS标签。此时,可以让VE-ID对应的标签在外,DAEPL的标签在内,此时,VE-ID和DAEPL对于其外层的出口EP标签的出口(Egress)节点来说其实就是一种上游分配标签,而所述出口EP标签就是它们的上下文标签,VE-ID对应的标签是在一种新的上下文标签空间中的标签,这种标签空间是与每个VPN对应的,可以称为每VPN标签空间。
值得注意的是,GEPL本身不一定要DAEPL作为它的组成部分,由DAEPL构建GEPL是本示例的一种特殊方法,不用于限定GEPL的格式,只要符合本申请中定义的GEPL概念,均可以作为GEPL的具体格式。
值得注意的是,EVPN技术可以提供L2VPN业务和L3VPN业务,当其提供L2VPN业务时,由于L2VPN业务的MAC地址路由条目(以下简称为MAC条目)对应于主机的MAC地址,而MAC地址是不具备汇聚性的,因此,MAC条目的数量与主机数量成正比,这会造成VPN核心节点MAC地址路由过载。如图1所示,其中,SPE是指接入UPE并位于网络内部的设备,称为上层PE(Superstratum PE)或运营商侧PE(Service Provider-end PE),SPE主要完成VPN路由的管理和发布。UPE是指直接连接用户的设备,称为下层PE(Underlayer PE)或用户侧PE(User-end PE),UPE主要完成用户接入功能。图1是以两个SPE(分别为SPE1和SPE2)和两个UPE(分别为UPE1和UPE2)为例,在SPE1和SPE2上需要存储所有主机的MAC条目,主机数量过多时,会导致MAC条目过载。PBB EVPN不需要对VPN核心节点发布主机的MAC地址,只需要发布与ESI或PE对应的B-MAC地址,从而解决了MAC条目过载的问题。但是,PBB EVPN只能单独作为纯L2VPN使用,而无法与L3VPN组合用于IRB场景,原因在于其协议栈过于复杂,转发流程过长,查表次数过多,无法高效率地实现,业界目前的ASIC芯片基本都不支持,微码实现也基本上需要以牺牲1/2甚至3/4的吞吐量的代价才能实现。也就是说,IRB功能和避免MAC地址过载,两者是难以同时实现的。为了克服VPN技术中存在的转发流程过长、性能较低的问题,提出了本申请实施例与本应用示例对应的技术方案。值得注意的是,该技术方案尤其对于现有技术中从IF5到IF2的通信在PE1上的转发流程(其特点是经过从MAC-VRF到IP-VRF再到MAC-VRF),实现了大幅度的简化,即使叠加避免MAC地址过载的功能(如本应用示例所示),简化后的转发流程仍然可以只在VRF1实例中完成,因为BD1和BD2中的转发表项都已经合并到了VRF1实例中。
值得注意的是,应用示例5中的第“3)”步中的内容也可以与本示例相叠加,此时,对于从IF1到IF5的通信来说,从AC1将收到目的MAC为Mb2的以太报文,该以太报文将按照应用示例5中第“4)”步中的方法来转发。
值得注意的是,当二层AC具有ESI属性时,同一ESI在同一L2EVI的不同PE上的相互对应的二层AC对应的GEPL标签还需要保证一致性,本领域的普通技术人员应当知道如何保证这种一致性,比如,可以采用静态配置的方式。此时,所述GEPL标签还可以用于ESI过滤(破除同一ES内跨PE形成的环路)。
应用示例7
除特殊说明之处以外,应用示例7与应用示例6完全相同。
与应用示例6不同,应用示例7不在EVPN标签和内层以太头之间携带GEPL,而是直接在IP选项中携带GEPL的值或GEPL映射地址。除了GEPL在数据报文封装中所处的位置之外,应用示例7的控制面以及转发流程与具体应用示例6完全相同。
应用示例8
除特殊说明之处以外,应用示例8与应用示例2完全相同。
与应用示例2不同,应用示例8不携带内层以太头,取而代之的是,将原始以太头信息内置在外层源IP和目的IP的低64位,此时,本申请将外层源IP或外层目的IP的低64位称为ARG.ETH,所述ARG.ETH的位置如图11所示。比如,可以将源MAC和Ethertype信息内置在外层源IP的低64位,将目的MAC和VLAN信息内置在外层源IP的低64位。
除了存取SMAC/DMAC和VLAN、Ethertype信息并据以恢复出内层以太头之外,应用示例8的控制面以及转发流程与应用示例2完全相同。
应用示例9
应用示例9可以在应用示例1、应用示例2、应用示例3中任何一个应用示例的基础上进行修改得到,当选择其中一种应用示例(记为基础应用示例)作为基础时,除特殊说明之处以外,应用示例9与基础应用示例完全相同。
以图12所示数据中心集中式网关组网中的数据中心网关(DGW,Data CenterGateway)为例,三种基础应用示例的共同点是在DGW节点上都存在广播域BD实例(即MAC-VRF实例)。所述DGW节点可以由基础应用示例中的PE1节点修改得到。
与基础实施例不同,应用示例9在数据中心集中式网关组网中的DGW节点上,如图13所示,应用示例9不部署BD实例(需要首先参考应用示例9中使BD实例退化为概念性实体的方法进行改造),只部署IRB接口作为集中式网关接口,该IRB接口的MAC地址通过RT-2路由发布给VTEP节点。
其中,去掉BD实例后,在发布IRB接口的MAC的RT-2路由时,直接携带IP-VRF的标签作为RT-2路由的Label1字段(VXLAN和MPLS封装)或取代Label1字段功能的SRv6 SID。其中,所述IP-VRF的标签可以是VNI标签、MPLS标签和SRv6 SID。
为实现上述路由方法,本申请实施例还提供了一种路由设备,如图14所示,所述路由设备包括:
接收单元1401,用于接收第二PE发送的第一路由报文,所述第一路由报文的L2LA中携带L3LE的值,所述L2LA是在EVPN路由中用于携带L2LE的值的路由属性;其中,所述L2LE是MAC-VRF实例对应的EVPN本地标签,所述L3LE是IP-VRF实例对应的EVPN本地标签;
生成单元1402,用于基于所述第一路由报文生成第一EVPN路由条目,所述第一EVPN路由条目的EVI标签的值为所述第一路由报文中的L2LA的值。
进一步,所述路由设备还包括:路由单元1403,用于接收第一以太报文,并基于所述第一EVPN路由条目确定所述第一以太报文的接收端为所述第二PE,以及基于所述第一以太报文生成待发送给所述第二PE的第一目标报文,所述第一目标报文携带所述EVI标签;其中,所述第一以太报文承载了第一IP报文,所述第一EVPN路由条目为MAC条目;将所述第一目标报文发送给所述第二PE,所述第一目标报文在所述第二PE上通过所述EVI标签确定该EVI标签所属的IP-VRF实例,并在所述IP-VRF实例中查询IP路由表转发所述第一目标报文。
本领域技术人员应当理解,图14所示的路由设备中的各单元的实现功能可参照前述路由方法的相关描述而理解。图14所示的路由设备中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
图15为本申请实施例提供的路由方法的流程示意图二,如图15所示,所述路由方法包括以下步骤:
步骤1501:第二PE向第一PE发送第一路由报文,所述第一路由报文的L2LA中携带L3LE的值,所述L2LA是在EVPN路由中用于携带L2LE的值的路由属性;所述L2LE是MAC-VRF实例对应的EVPN本地标签,所述L3LE是IP-VRF实例对应的EVPN本地标签;其中,所述第一路由报文用于所述第一PE在向所述第二PE转发的EVPN数据报文中添加所述第一路由报文中的L2LA所表示的L3LE。
上述步骤1501的方案是针对控制面的行为,上述控制面的行为决定了后续转发面的行为,通过本申请实施例的控制面的行为的实现可以在不修改转发指令的情况下自动获得新的转发面的行为。需要说明的是,本申请实施例的技术方案可以应用于VXLAN EVPN中,或MPLS EVPN中,或SRv6 EVPN中。进一步,在VXLAN EVPN中,所述L2LE和所述L3LE是VNI;或者,在MPLS EVPN中,所述L2LE和所述L3LE是MPLS标签;或者,在SRv6 EVPN中,所述L2LE和所述L3LE是SRv6 SID。
本申请实施例中,当所述L3LE为SRv6 SID或MPLS标签时,所述第二PE接收所述第一PE发送的携带所述L3LE的数据报文,所述第二PE确定所述数据报文在所述L3LE以内包含以太头。这里,所述数据报文指所述第一PE发来的包含该L3LE的所有目标报文。
本申请实施例中,所述第二PE侧配置有第一MAC-VRF实例和第一IP-VRF实例,所述第一MAC-VRF实例和所述第一IP-VRF实例之间通过第一接口连接,所述第一MAC-VRF实例与第一AC连接;所述第一路由报文中携带的L3LE为所述第一IP-VRF实例的L3LE。
进一步,在一实施方式中,所述第一路由报文中还携带所述第一接口的IP和MAC之中的至少之一,其中,所述第一接口为IRB接口。
进一步,在另一实施方式中,所述第一路由报文中的键值中包含GEPL,所述第一路由报文的L2LA为所述第一AC或所述第一接口对应的DAEPL,下一跳为所述第二PE的IP地址;其中,所述GEPL为在所述第一IP-VRF实例所在的EVPN业务中唯一标识所述第一AC或所述第一接口的数值。
基于此,所述第二PE从所述第一AC或所述第一接口接收待转发给所述第一PE的第一报文;所述第二PE在所述第一报文外层添加所述GEPL,得到第四目标报文,将所述第四目标报文发送给所述第一PE;其中,对于所述第二PE从所述第一接口接收所述第一报文的情况,所述第一报文是从所述第一接口所属的IP-VRF实例中发往所述第一接口。
需要说明的是,上述图15中的技术方案是从第二PE侧来描述的,第一PE侧的行为可以参照图2中的技术方案来理解,此处不再赘述。
为实现上述路由方法,本申请实施例还提供了一种路由设备,如图16所示,所述路由设备包括:
发送单元1601,用于向第一PE发送第一路由报文,所述第一路由报文的L2LA中携带L3LE的值,所述L2LA是在EVPN路由中用于携带L2LE的值的路由属性;所述L2LE是MAC-VRF实例对应的EVPN本地标签,所述L3LE是IP-VRF实例对应的EVPN本地标签;其中,所述第一路由报文用于所述第一PE在向所述第二PE转发的EVPN数据报文中添加所述第一路由报文中的L2LA所表示的L3LE。
本领域技术人员应当理解,图16所示的路由设备中的各单元的实现功能可参照前述路由方法的相关描述而理解。图16所示的路由设备中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
图17是本申请实施例提供的另一种路由设备的结构图。图17所示的路由设备1700包括处理器1710,处理器1710可以从存储器中调用并运行计算机程序,以实现本申请实施例中的方法。
可选地,如图17所示,路由设备1700还可以包括存储器1720。其中,处理器1710可以从存储器1720中调用并运行计算机程序,以实现本申请实施例中的方法。
其中,存储器1720可以是独立于处理器1710的一个单独的器件,也可以集成在处理器1710中。
可选地,如图17所示,路由设备1700还可以包括收发器1730,处理器1710可以控制该收发器1730与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。
其中,收发器1730可以包括发射机和接收机。收发器1730还可以进一步包括天线,天线的数量可以为一个或多个。
本申请实施例还提供了一种计算机可读存储介质,用于存储计算机程序。
可选的,该计算机可读存储介质可应用于本申请实施例中的网络设备,并且该计算机程序使得计算机执行本申请实施例的各个方法中由网络设备实现的相应流程,为了简洁,在此不再赘述。
可选地,该计算机可读存储介质可应用于本申请实施例中的移动终端/终端设备,并且该计算机程序使得计算机执行本申请实施例的各个方法中由移动终端/终端设备实现的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种计算机程序产品,包括计算机程序指令。
可选的,该计算机程序产品可应用于本申请实施例中的网络设备,并且该计算机程序指令使得计算机执行本申请实施例的各个方法中由网络设备实现的相应流程,为了简洁,在此不再赘述。
可选地,该计算机程序产品可应用于本申请实施例中的移动终端/终端设备,并且该计算机程序指令使得计算机执行本申请实施例的各个方法中由移动终端/终端设备实现的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种计算机程序。
可选的,该计算机程序可应用于本申请实施例中的网络设备,当该计算机程序在计算机上运行时,使得计算机执行本申请实施例的各个方法中由网络设备实现的相应流程,为了简洁,在此不再赘述。
可选地,该计算机程序可应用于本申请实施例中的移动终端/终端设备,当该计算机程序在计算机上运行时,使得计算机执行本申请实施例的各个方法中由移动终端/终端设备实现的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,)ROM、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (17)
1.一种路由方法,其特征在于,所述方法包括:
第一运营商边缘设备PE接收第二PE发送的第一路由报文,所述第一路由报文的二层标签属性L2LA中携带三层标签实体L3LE的值,所述L2LA是在以太虚拟专用网EVPN路由中用于携带二层标签实体L2LE的值的路由属性;其中,所述L2LE是MAC-VRF实例对应的EVPN本地标签,所述L3LE是IP-VRF实例对应的EVPN本地标签;
所述第一PE在向所述第二PE转发的EVPN数据报文中添加由所述第一路由报文中的L2LA所表示的L3LE。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一PE基于所述第一路由报文生成第一IP路由条目和第二IP路由条目,其中,所述第一IP路由条目中的IP键值为所述第一路由报文中的第一接口的IP,私网下一跳为包含所述第一路由报文中的第一接口的MAC地址和第一指定值的IP地址;所述第二IP路由条目的IP键值为所述第一IP路由条目的私网下一跳,私网下一跳为空,公网下一跳为所述第一路由报文的下一跳,EVI标签为所述第一路由报文中的L2LA的值。
3.根据权利要求2所述的方法,其特征在于,所述第一PE侧配置有第二MAC-VRF实例和第二IP-VRF实例,所述第二MAC-VRF实例和所述第二IP-VRF实例之间通过第二接口连接;所述方法还包括:
所述第一PE将包含所述第二接口的MAC地址与第二指定值的IP地址作为第一主机路由条目添加到所述第二IP-VRF实例中,其中,所述第二接口为IRB接口。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
所述第一PE将第二子网路由条目添加到所述第二IP-VRF实例中,其中,所述第二子网路由条目是一条主机部分与所述第一主机路由条目中所述第二接口的MAC所在的部分位置相同的路由。
5.根据权利要求1所述的方法,其特征在于,所述第一路由报文中的键值中包含全局端点标签GEPL,所述第一路由报文的L2LA为第一AC或第一接口对应的下游分配端点标签DAEPL,下一跳为所述第二PE的IP地址;其中,所述GEPL为在第一IP-VRF实例所在的EVPN业务中唯一标识第一AC或第一接口的标签;
所述第一PE根据所述第一路由报文生成第三IP路由条目,其中,所述第三IP路由条目中的IP键值为包含所述GEPL和第三指定值的IP地址,EVI标签为所述DAEPL,下一跳为所述第一路由报文的下一跳,GW-IP为空。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
第一PE接收所述第二PE发送的第四目标报文,所述第四目标报文是所述第二PE对通过所述第一AC或所述第一接口接收到的第一报文进行封装处理得到,所述第四目标报文携带所述第一AC对应的GEPL;
所述第一PE基于所述第四目标报文生成第四IP路由条目,所述第四IP路由条目中IP键值为所述第一报文的源IP,GW-IP为包含所述第一报文中的GEPL和所述第三指定值的IP地址,标签为空;
所述第一PE基于所述第四目标报文生成第五IP路由条目,所述第五IP路由条目中IP键值为包含所述第一报文的源MAC地址和所述第三指定值的IP地址,GW-IP为所述第三IP路由条目的IP键值,标签为空。
7.一种路由方法,其特征在于,所述方法包括:
第二PE向第一PE发送第一路由报文,所述第一路由报文的L2LA中携带L3LE的值,所述L2LA是在EVPN路由中用于携带L2LE的值的路由属性;所述L2LE是MAC-VRF实例对应的EVPN本地标签,所述L3LE是IP-VRF实例对应的EVPN本地标签;其中,所述第一路由报文用于所述第一PE在向所述第二PE转发的EVPN数据报文中添加所述第一路由报文中的L2LA所表示的L3LE。
8.根据权利要求7所述的方法,其特征在于,
在VXLAN EVPN中,所述L2LE和所述L3LE是VNI;或者,
在MPLS EVPN中,所述L2LE和所述L3LE是MPLS标签;或者,
在SRv6EVPN中,所述L2LE和所述L3LE是SRv6SID。
9.根据权利要求7所述的方法,其特征在于,当所述L3LE为SRv6SID或MPLS标签时,所述第二PE接收所述第一PE发送的携带所述L3LE的数据报文,所述第二PE确定所述数据报文在所述L3LE以内包含以太头。
10.根据权利要求7至9中任一项所述的方法,其特征在于,所述第二PE侧配置有第一MAC-VRF实例和第一IP-VRF实例,所述第一MAC-VRF实例和所述第一IP-VRF实例之间通过第一接口连接,所述第一MAC-VRF实例与第一AC连接;所述第一路由报文中携带的L3LE为所述第一IP-VRF实例的L3LE。
11.根据权利要求10所述的方法,其特征在于,所述第一路由报文中还携带所述第一接口的IP和MAC之中的至少之一,其中,所述第一接口为IRB接口。
12.根据权利要求10所述的方法,其特征在于,所述第一路由报文中的键值中包含GEPL,所述第一路由报文的L2LA为所述第一AC或所述第一接口对应的DAEPL,下一跳为所述第二PE的IP地址;其中,所述GEPL为在所述第一IP-VRF实例所在的EVPN业务中唯一标识所述第一AC或所述第一接口的数值。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
所述第二PE从所述第一AC或所述第一接口接收待转发给所述第一PE的第一报文;
所述第二PE在所述第一报文外层添加所述GEPL,得到第四目标报文,将所述第四目标报文发送给所述第一PE;
其中,对于所述第二PE从所述第一接口接收所述第一报文的情况,所述第一报文是从所述第一接口所属的IP-VRF实例中发往所述第一接口。
14.一种路由设备,其特征在于,所述路由设备包括:
接收单元,用于接收第二PE发送的第一路由报文,所述第一路由报文的L2LA中携带L3LE的值,所述L2LA是在EVPN路由中用于携带L2LE的值的路由属性;其中,所述L2LE是MAC-VRF实例对应的EVPN本地标签,所述L3LE是IP-VRF实例对应的EVPN本地标签;
生成单元,用于基于所述第一路由报文生成第一EVPN路由条目,所述第一EVPN路由条目的EVI标签的值为所述第一路由报文中的L2LA的值。
15.一种路由设备,其特征在于,所述路由设备包括:
发送单元,用于向第一PE发送第一路由报文,所述第一路由报文的L2LA中携带L3LE的值,所述L2LA是在EVPN路由中用于携带L2LE的值的路由属性;所述L2LE是MAC-VRF实例对应的EVPN本地标签,所述L3LE是IP-VRF实例对应的EVPN本地标签;其中,所述第一路由报文用于所述第一PE在向所述第二PE转发的EVPN数据报文中添加所述第一路由报文中的L2LA所表示的L3LE。
16.一种路由设备,其特征在于,所述路由设备包括:处理器和存储器,该存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,执行如权利要求1至6中任一项所述的方法,或者如权利要求7至13中任一项所述的方法。
17.一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至6中任一项所述的方法,,或者如权利要求7至13中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910272550.1A CN111786884B (zh) | 2019-04-04 | 2019-04-04 | 一种路由方法及路由设备 |
PCT/CN2020/082437 WO2020200200A1 (zh) | 2019-04-04 | 2020-03-31 | 路由方法及路由设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910272550.1A CN111786884B (zh) | 2019-04-04 | 2019-04-04 | 一种路由方法及路由设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111786884A true CN111786884A (zh) | 2020-10-16 |
CN111786884B CN111786884B (zh) | 2022-08-02 |
Family
ID=72664419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910272550.1A Active CN111786884B (zh) | 2019-04-04 | 2019-04-04 | 一种路由方法及路由设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111786884B (zh) |
WO (1) | WO2020200200A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827023A (zh) * | 2021-01-28 | 2022-07-29 | 中国电信股份有限公司 | 端到端业务保障方法和系统 |
WO2023011149A1 (zh) * | 2021-07-31 | 2023-02-09 | 华为技术有限公司 | 一种基于第6版互联网协议的段路由SRv6的通信方法 |
WO2023024768A1 (zh) * | 2021-08-25 | 2023-03-02 | 中兴通讯股份有限公司 | Rt-5g路由报文的发布方法、装置、存储介质和电子装置 |
WO2024001553A1 (zh) * | 2022-06-30 | 2024-01-04 | 中兴通讯股份有限公司 | 路由发布方法、电子设备和计算机可读存储介质 |
WO2024032636A1 (zh) * | 2022-08-11 | 2024-02-15 | 中国电信股份有限公司 | 实现SRV6 policy网络H-VPN分层管理的方法、装置及相关设备 |
EP4311192A3 (en) * | 2022-07-21 | 2024-04-10 | Huawei Technologies Co., Ltd. | Communication method and apparatus |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10958570B2 (en) * | 2019-04-04 | 2021-03-23 | Cisco Technology, Inc. | Interoperability between symmetric and asymmetric EVPN IRB modes |
CN114827057B (zh) * | 2021-01-11 | 2024-04-16 | 中国电信股份有限公司 | 通信方法以及通信系统 |
CN113472665B (zh) * | 2021-06-17 | 2022-11-18 | 新华三信息安全技术有限公司 | Evpn下不同组网对接的实现方法及装置 |
CN113992565B (zh) * | 2021-09-29 | 2023-11-07 | 新华三大数据技术有限公司 | 一种组播报文处理方法及装置 |
CN115190100A (zh) * | 2022-07-04 | 2022-10-14 | 中国联合网络通信集团有限公司 | 数据转发方法、vtep网关、电子设备及可读存储介质 |
CN115334045B (zh) * | 2022-08-12 | 2023-12-19 | 迈普通信技术股份有限公司 | 报文转发方法、装置、网关设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180006995A1 (en) * | 2016-06-30 | 2018-01-04 | Juniper Networks, Inc. | Layer 3 convergence for evpn link failure |
US20180091445A1 (en) * | 2016-09-29 | 2018-03-29 | Juniper Networks, Inc. | Evpn designated forwarder state propagation to customer edge devices using connectivity fault management |
CN108092890A (zh) * | 2017-12-26 | 2018-05-29 | 新华三技术有限公司 | 路由建立方法和装置 |
CN108199963A (zh) * | 2017-12-27 | 2018-06-22 | 新华三技术有限公司 | 报文转发方法和装置 |
CN108696414A (zh) * | 2017-04-05 | 2018-10-23 | 中兴通讯股份有限公司 | 多归接入方法、装置及多归属节点 |
US10142129B1 (en) * | 2016-09-27 | 2018-11-27 | Juniper Networks, Inc. | Bum packet filtering in multi-homed EVPN overlay networks |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103067279B (zh) * | 2011-10-24 | 2017-10-10 | 中兴通讯股份有限公司 | Vpn互联方法及系统 |
CN112929273A (zh) * | 2017-03-14 | 2021-06-08 | 华为技术有限公司 | 一种处理路由的方法、设备及系统 |
US10506083B2 (en) * | 2017-06-27 | 2019-12-10 | Cisco Technology, Inc. | Segment routing gateway storing segment routing encapsulating header used in encapsulating and forwarding of returned native packet |
-
2019
- 2019-04-04 CN CN201910272550.1A patent/CN111786884B/zh active Active
-
2020
- 2020-03-31 WO PCT/CN2020/082437 patent/WO2020200200A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180006995A1 (en) * | 2016-06-30 | 2018-01-04 | Juniper Networks, Inc. | Layer 3 convergence for evpn link failure |
US10142129B1 (en) * | 2016-09-27 | 2018-11-27 | Juniper Networks, Inc. | Bum packet filtering in multi-homed EVPN overlay networks |
US20180091445A1 (en) * | 2016-09-29 | 2018-03-29 | Juniper Networks, Inc. | Evpn designated forwarder state propagation to customer edge devices using connectivity fault management |
CN108696414A (zh) * | 2017-04-05 | 2018-10-23 | 中兴通讯股份有限公司 | 多归接入方法、装置及多归属节点 |
CN108092890A (zh) * | 2017-12-26 | 2018-05-29 | 新华三技术有限公司 | 路由建立方法和装置 |
CN108199963A (zh) * | 2017-12-27 | 2018-06-22 | 新华三技术有限公司 | 报文转发方法和装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827023A (zh) * | 2021-01-28 | 2022-07-29 | 中国电信股份有限公司 | 端到端业务保障方法和系统 |
CN114827023B (zh) * | 2021-01-28 | 2023-06-02 | 中国电信股份有限公司 | 端到端业务保障方法和系统 |
WO2023011149A1 (zh) * | 2021-07-31 | 2023-02-09 | 华为技术有限公司 | 一种基于第6版互联网协议的段路由SRv6的通信方法 |
WO2023024768A1 (zh) * | 2021-08-25 | 2023-03-02 | 中兴通讯股份有限公司 | Rt-5g路由报文的发布方法、装置、存储介质和电子装置 |
WO2024001553A1 (zh) * | 2022-06-30 | 2024-01-04 | 中兴通讯股份有限公司 | 路由发布方法、电子设备和计算机可读存储介质 |
EP4311192A3 (en) * | 2022-07-21 | 2024-04-10 | Huawei Technologies Co., Ltd. | Communication method and apparatus |
WO2024032636A1 (zh) * | 2022-08-11 | 2024-02-15 | 中国电信股份有限公司 | 实现SRV6 policy网络H-VPN分层管理的方法、装置及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2020200200A1 (zh) | 2020-10-08 |
CN111786884B (zh) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111786884B (zh) | 一种路由方法及路由设备 | |
CN109861926B (zh) | 报文的发送、处理方法、装置、节点、处理系统和介质 | |
EP3780545B1 (en) | Flow specification protocol-based communications method, and device | |
CN109861924B (zh) | 报文的发送、处理方法及装置,pe节点,节点 | |
US10484203B2 (en) | Method for implementing communication between NVO3 network and MPLS network, and apparatus | |
WO2020029976A1 (zh) | Vpn跨域的实现方法、装置和边界节点 | |
EP2320611B1 (en) | Number automatic routing method, updating method, withdrawing method, router and device | |
CN110417655B (zh) | 一种数据报文转发的方法及装置 | |
CN110391951B (zh) | 以太网段标识邻接检测处理方法及装置、存储介质 | |
CN112511444A (zh) | 一种组播流量传输方法、装置、通信节点及存储介质 | |
US20230300070A1 (en) | Packet Sending Method, Device, and System | |
WO2022121466A1 (zh) | 以太虚拟专用网的数据处理方法、设备及存储介质 | |
CN107070789A (zh) | 主动‑主动pbb‑evpn冗余的流量黑洞避免和快速融合 | |
CN113132235A (zh) | 基于虚电路的数据报文处理方法、转发表项的构建方法 | |
CN113904981B (zh) | 一种路由信息处理方法、装置、电子设备和存储介质 | |
CN108718275B (zh) | 报文转发方法及装置 | |
WO2021051935A1 (zh) | 一种防止流量绕行的方法及装置 | |
WO2021052381A1 (zh) | 报文的发送方法和装置 | |
EP2832055B1 (en) | Pseudowire groups in a packet switched network | |
WO2020244304A1 (zh) | 路由信息发送的方法、路由选路的方法和装置 | |
US8817648B2 (en) | Pseudowire extended group messaging in a packet switched network | |
US20230081052A1 (en) | Method and apparatus for sending multicast packet | |
WO2024032636A9 (zh) | 实现SRV6 policy网络H-VPN分层管理的方法、装置及相关设备 | |
WO2021259271A1 (zh) | 信息处理方法、节点及存储介质 | |
WO2023050981A1 (zh) | 虚拟专用网络业务标识的分配方法、报文处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |