CN117692384A - 一种实现虚拟专用网vpn本地互访的方法以及相关装置 - Google Patents
一种实现虚拟专用网vpn本地互访的方法以及相关装置 Download PDFInfo
- Publication number
- CN117692384A CN117692384A CN202211101948.7A CN202211101948A CN117692384A CN 117692384 A CN117692384 A CN 117692384A CN 202211101948 A CN202211101948 A CN 202211101948A CN 117692384 A CN117692384 A CN 117692384A
- Authority
- CN
- China
- Prior art keywords
- route
- communication device
- vpn
- vrf table
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 95
- 238000004891 communication Methods 0.000 claims abstract description 342
- 230000008676 import Effects 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 11
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 4
- 238000002955 isolation Methods 0.000 description 3
- 208000033748 Device issues Diseases 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提出一种实现虚拟专用网VPN本地互访的方法以及相关装置,该方法包括:第一虚拟路由转发VRF表的第一VPN路由包括路由前缀和第一下一跳,第一下一跳指向第一通信装置的第一接口。第一通信装置在本地实现第一VRF表和第二VRF表的路由交叉,生成的第二VPN路由存储至第二VRF表中,第二VPN路由包括与第一VPN路由相同的路由前缀,第二VPN路由包括的第二下一跳指向第一VRF表。通过上述方法,实现VPN本地互访。在占用较小存储空间的情况下,实现第二VRF表继承第一VRF表的路由属性,有效解决路由传递失真的问题,提升了方案的适用范围。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种实现虚拟专用网VPN本地互访的方法以及相关装置。
背景技术
虚拟路由转发(virtual routing and forwarding,VRF)通过在一台网络设备上创建多张路由表实现数据或业务的隔离,常用于多协议标签交换虚拟专用网(multi-protocol label switching virtual private network,MPLS VPN)或者防火墙等一些需要实现隔离的应用场景。具体的,在网络设备上创建一个或多个VRF,VRF又称VPN实例(VPNInstance),每个VRF拥有独立的接口、路由表以及路由协议进程等信息。VRF中的路由表又称为VRF表。
在VPN的本地互访场景下,不同的用户边缘设备(customer edge,CE)可以通过边界网关协议(Border Gateway Protocol Route Target,BGP)实现业务互访。示例性的,在服务商边缘设备(provider edge,PE)中,为CE1创建VRF1表,为CE2创建VRF2表。VRF1表中记录PE从CE1学习的路由,VRF2表中记录PE从CE2中学习的路由。当VRF1表的路由目标属性(route target,RT)指示VRF1表的导出路由目标(export route target,ERT)与VRF2表的导入路由目标(import route target,IRT)匹配时,PE将VRF1表拷贝到VRF2表中。通过上述方式,实现CE1与CE2的业务互访。
申请人研究发现,PE将VRF1表拷贝到VRF2表中,存在工作量巨大,无法实现的问题。目前常用的方法是,PE将VRF1表中的一条路由,拷贝到VRF2表中,以节省工作量。而这种方法带来新的问题,受限于仅拷贝一条路由至VRF2表,当VRF1表支持负载分担时,无法在VRF2表中实现VRF1表的负载分担。
发明内容
第一方面,本申请实施例提出一种实现虚拟专用网VPN本地互访的方法,包括:
在所述第一通信装置的第一虚拟路由转发VRF表中保存到达第二通信装置的第一VPN路由,所述第一VPN路由包括路由前缀和第一下一跳,所述第一下一跳指向所述第一通信装置的第一接口,其中,所述第一通信装置通过所述第一接口与所述第二通信装置通信连接;
根据所述第一VRF表关联的导出路由目标Export RT和第二VRF表关联的导入路由目标Import RT的匹配关系,将第二VPN路由保存到所述第一通信装置的第二VRF表中,其中,所述第二VPN路由包括所述路由前缀和第二下一跳,所述第二下一跳指向所述第一VRF表。
需要说明的是,第一VRF表也可以称为第一VRF表中的路由表。由于VRF等价于VPN实例(VPN instance),因此,第一VRF表也可以称为第一VPN实例中的路由表。第一VRF表可以是第一VRF表中的任一个或多个路由表,也可以是第一VRF表中的所有路由表。类似的,第二VRF表也可以称为第二VRF表中的路由表,或者,第二VPN实例中的路由表。本申请实施例对此不作限制。
本申请实施例中,第一VRF表的第一VPN路由包括路由前缀和第一下一跳,第一下一跳指向第一通信装置的第一接口。第一通信装置在本地实现第一VRF表和第二VRF表的路由交叉,生成的第二VPN路由存储至第二VRF表中,第二VPN路由包括与第一VPN路由相同的路由前缀,第二VPN路由包括的第二下一跳指向第一VRF表。通过上述方法,实现VPN本地互访。在占用较小存储空间的情况下,实现第二VRF表继承第一VRF表的路由属性,有效解决路由传递失真的问题,提升了方案的适用范围。
结合第一方面,在第一方面的一种可能的实现方式中,所述路由前缀包括:互联网协议(Internet Protocol,IP)地址,或者,媒体访问控制(Media Access Control,MAC)地址。换言之,本申请实施例提出的实现虚拟专用网(Virtual Private Network,VPN)本地互访的方法,除了可以应用于VPN技术的网络中,还可以应用于以太网虚拟专用网络(Ethernet Virtual Private Network,EVPN)技术的网络中,本申请实施例对此不作限制。
结合第一方面,在第一方面的一种可能实现方式中,所述第二VRF表继承所述第一VRF表的路由属性。具体的,由于第二VRF表中的第二VPN路由包括的第二下一跳指向第一VRF表,因此,第二VRF表可以继承第一VRF表具有的路由属性。路由属性包括以下任意一项或多项:负载分担、负载均衡、快速重路由,或者,表项关联。例如:第一VRF表包括多个VPN路由(第一VRF表),该多个VPN路由(第一VRF表)的路由前缀与第二VPN路由的路由前缀相同,则第二VPN路由的流量可以通过该多个VPN路由(第一VRF表)实现负载分担。换言之,第二VPN路由的流量通过该多个VPN路由(第一VRF表)转发。
结合第一方面,在第一方面的一种可能实现方式中,所述第二VRF表包括多个VPN路由,所述多个VPN路由包括相同的所述路由前缀,所述多个VPN路由中包括所述第二VPN路由。具体的,第二VRF表还可以包括具有相同路由前缀的多个VPN路由,该多个VPN路由中包括下一跳指向第一VRF表的第二VPN路由,该多个VPN路由中还可以包括指向其他VRF表的VPN路由,例如指向第三VRF表的第三VPN路由。通过上述方法,实现第二VRF表继承多个不同VRF表的路由属性。
结合第一方面,在第一方面的一种可能实现方式中,所述第二VRF表与所述第一通信装置的第二接口绑定,所述第二接口与所述第二VPN路由对应,所述第一通信装置通过所述第二接口与第三通信装置连接。具体的,第一通信装置为服务商边缘设备(provideredge,PE),第一通信装置与至少两个用户边缘设备(customer edge,CE)连接。第一通信装置(PE)通过第一VRF表和第二VRF表实现两个CE(例如CE1和CE2)的业务互联。例如:第一VRF表与第二通信装置(CE1)对应,第二VRF表与第三通信装置(CE2)对应。
结合第一方面,在第一方面的一种可能实现方式中,所述第一通信装置从所述第二接口中接收流量;所述第一通信装置根据所述第二接口,从所述第二VRF表中确定所述第二VPN路由;所述第一通信装置根据所述第二VPN路由,从所述第一VRF表中查找与所述流量匹配的所述第一VPN路由;所述第一通信装置根据所述第一VPN路由,通过所述第一接口转发所述流量。示例性的,若该第一VPN路由包括多个VPN路由时,通过负载分担的方式转发上述流量。
结合第一方面,在第一方面的一种可能实现方式中,所述第二下一跳包括所述第一VRF表的标识信息。具体的,第一通信装置将第二VRF表中第二VPN路由包括的第二下一跳设置为所述第一VRF表的标识信息。例如:第一VRF表的标识信息为“VRF1”,第二VPN路由的格式:“prefix/mask,nexthop:VRF1”。
结合第一方面,在第一方面的一种可能实现方式中,所述第一通信装置获取第二通信装置的第一路由信息;所述第一通信装置生成第一VPN路由,所述第一VPN路由包括所述第一路由信息和第一路由区分属性RD,所述第一RD用于标识所述第一路由信息,所述第一RD为所述第一通信装置向所述第一路由信息分配的路由区分属性;所述第一通信装置将所述第一VPN路由和第一路由目标属性RT关联,存储至所述第一VRF表。
关于路由区分属性RD,RD具有全局唯一性。示例性的,通过将8比特(byte)的RD作为IPv4地址前缀的扩展,使不唯一的IPv4地址(例如第一路由信息)转化为唯一的VPNv4地址(例如第一VPN路由)。
关于路由目标属性RT,RT使用了BGP中扩展团体属性,用于路由的分发,具有全局唯一性。同一个RT只能被一个VPN使用,RT包括导入路由目标属性(import route target,IRT)和导出路由目标属性(export route target,ERT),分别用于路由信息的导入和导出策略。每个VRF都有IRT和ERT。当PE从VRF中导出路由时,需要ERT对该路由进行标记;当PE接收路由时,只有路由的ERT和本地VRF的IRT相匹配时,才能将接收的路由导入本地VRF中。
结合第一方面,在第一方面的一种可能实现方式中,所述第一通信装置生成所述第一VPN路由,包括:所述第一通信装置通过边界网关协议网络BGP network方式导入所述第一路由信息,或者,所述第一通信装置通过边界网关协议导入BGP import方式导入所述第一路由信息;所述第一通信装置根据所述第一路由信息和所述第一RD生成所述第一VPN路由。本申请实施例中第一通信装置可以导入单条路由信息,也可以导入多条路由信息,提升了方案的实现灵活性。
结合第一方面,在第一方面的一种可能实现方式中,所述第一通信装置获取第三通信装置的第二路由信息;所述第一通信装置生成第二VPN路由,所述第二VPN路由包括所述第二路由信息和第二路由区分属性RD,所述第二RD用于标识所述第二路由信息,所述第二RD为所述第一通信装置向所述第二路由信息分配的路由区分属性;所述第一通信装置将所述第二VPN路由和第二路由目标属性RT关联,存储至所述第二VRF表。
结合第一方面,在第一方面的一种可能实现方式中,所述第一通信装置生成所述第二VPN路由,包括:所述第一通信装置通过边界网关协议网络BGP network方式导入所述第二路由信息,或者,所述第一通信装置通过边界网关协议导入BGP import方式导入所述第二路由信息;所述第一通信装置根据所述第二路由信息和所述第二RD生成所述第二VPN路由。
结合第一方面,在第一方面的一种可能实现方式中,所述第一通信装置获取所述第二通信装置的所述第一路由信息,包括:所述第一通信装置通过以下任意一项方法,获取所述第二通信装置的所述第一路由信息:所述第一通信装置静态配置所述第一路由信息;或者,所述第一通信装置通过开放式最短路径优先OSPF协议从所述第二通信装置学习所述第一路由信息;或者,所述第一通信装置通过边界网关协议BGP从所述第二通信装置学习所述第一路由信息;或者,所述第一通信装置通过路由信息协议RIP从所述第二通信装置学习所述第一路由信息;或者,所述第一通信装置通过内部网关协议IGP从所述第二通信装置学习所述第一路由信息。
本申请实施例中,第一通信装置可以通过多张方式获取第二通信装置的第一路由信息,提升了方案的实现灵活性。
结合第一方面,在第一方面的一种可能实现方式中,所述第一通信装置获取所述第三通信装置的所述第二路由信息,包括:所述第一通信装置通过以下任意一项方法,获取所述第三通信装置的所述第二路由信息:所述第一通信装置静态配置所述第二路由信息;或者,所述第一通信装置通过开放式最短路径优先OSPF协议从所述第三通信装置学习所述第二路由信息;或者,所述第一通信装置通过边界网关协议BGP从所述第三通信装置学习所述第二路由信息;或者,所述第一通信装置通过路由信息协议RIP从所述第三通信装置学习所述第二路由信息;或者,所述第一通信装置通过内部网关协议IGP从所述第三通信装置学习所述第二路由信息。
本申请实施例中,第一通信装置可以通过多张方式获取第三通信装置的第二路由信息,提升了方案的实现灵活性。
第二方面,本申请实施例提出一种通信装置,包括:
处理模块,用于在所述第一通信装置的第一虚拟路由转发VRF表中保存到达第二通信装置的第一VPN路由,所述第一VPN路由包括路由前缀和第一下一跳,所述第一下一跳指向所述第一通信装置的第一接口,其中,所述第一通信装置通过所述第一接口与所述第二通信装置通信连接;
所述处理模块,还用于根据所述第一VRF表关联的导出路由目标Export RT和第二VRF表关联的导入路由目标Import RT的匹配关系,将第二VPN路由保存到所述第一通信装置的第二VRF表中,其中,所述第二VPN路由包括所述路由前缀和第二下一跳,所述第二下一跳指向所述第一VRF表。
一种可能实现方式中,所述路由前缀包括:互联网协议IP地址,或者,媒体访问控制MAC地址。
一种可能实现方式中,所述第二VRF表继承所述第一VRF表的路由属性。
一种可能实现方式中,所述第二VRF表包括多个VPN路由,所述多个VPN路由包括相同的所述路由前缀,所述多个VPN路由中包括所述第二VPN路由。
一种可能实现方式中,所述第二VRF表与所述第一通信装置的第二接口绑定,所述第二接口与所述第二VPN路由对应,所述第一通信装置通过所述第二接口与第三通信装置连接。
一种可能实现方式中,收发模块,用于从所述第二接口中接收流量;
所述处理模块,还用于根据所述第二接口,从所述第二VRF表中确定所述第二VPN路由;
所述处理模块,还用于根据所述第二VPN路由,从所述第一VRF表中查找与所述流量匹配的所述第一VPN路由;
所述收发模块,还用于根据所述第一VPN路由,通过所述第一接口转发所述流量。
一种可能实现方式中,所述第一VPN路由包括多个VPN路由时,所述第一VPN路由用于所述流量的负载分担。
一种可能实现方式中,所述第二下一跳包括所述第一VRF表的标识信息。
第三方面,本申请实施例提出一种通信装置,包括:通信接口;
与所述通信接口连接的处理器;
处理器,用于在所述第一通信装置的第一虚拟路由转发VRF表中保存到达第二通信装置的第一VPN路由,所述第一VPN路由包括路由前缀和第一下一跳,所述第一下一跳指向所述第一通信装置的第一接口,其中,所述第一通信装置通过所述第一接口与所述第二通信装置通信连接;
所述处理器,还用于根据所述第一VRF表关联的导出路由目标Export RT和第二VRF表关联的导入路由目标Import RT的匹配关系,将第二VPN路由保存到所述第一通信装置的第二VRF表中,其中,所述第二VPN路由包括所述路由前缀和第二下一跳,所述第二下一跳指向所述第一VRF表。
一种可能实现方式中,所述路由前缀包括:互联网协议IP地址,或者,媒体访问控制MAC地址。
一种可能实现方式中,所述第二VRF表继承所述第一VRF表的路由属性。
一种可能实现方式中,所述第二VRF表包括多个VPN路由,所述多个VPN路由包括相同的所述路由前缀,所述多个VPN路由中包括所述第二VPN路由。
一种可能实现方式中,所述第二VRF表与所述第一通信装置的第二接口绑定,所述第二接口与所述第二VPN路由对应,所述第一通信装置通过所述第二接口与第三通信装置连接。
一种可能实现方式中,通信接口,用于从所述第二接口中接收流量;
所述处理器,还用于根据所述第二接口,从所述第二VRF表中确定所述第二VPN路由;
所述处理器,还用于根据所述第二VPN路由,从所述第一VRF表中查找与所述流量匹配的所述第一VPN路由;
所述通信接口,还用于根据所述第一VPN路由,通过所述第一接口转发所述流量。
一种可能实现方式中,所述第一VPN路由包括多个VPN路由时,所述第一VPN路由用于所述流量的负载分担。
一种可能实现方式中,所述第二下一跳包括所述第一VRF表的标识信息。
第四方面,提供了一种通信系统,通信系统包括如第二方面或第三方面的通信装置。
本申请第五方面提供一种计算机存储介质,该计算机存储介质可以是非易失性的;该计算机存储介质中存储有计算机可读指令,当该计算机可读指令被处理器执行时实现第一方面中任意一种实现方式中的方法。
本申请第六方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面中任意一种实现方式中的方法。
本申请第七方面提供一种芯片系统,该芯片系统包括处理器和接口电路,用于支持网络设备实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,芯片系统还包括存储器,存储器,用于保存网络设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
本申请第八方面提供一种通信装置,包括:通信接口;
与通信接口连接的处理器,基于通信接口和处理器,使得通信装置执行如前述第一方面中的方法。
附图说明
图1为一种VPN本地互访示意图;
图2为本申请实施例中一种通信场景示意图;
图3为本申请实施例中一种实现虚拟专用网VPN本地互访的方法的实施例示意图;
图4为本申请实施例中第一VRF表的示意图;
图5为本申请实施例中第二VRF表的示意图;
图6为申请实施例中第二VRF表示意图;
图7为本申请实施例中一种应用场景的控制面流程示意图;
图8为本申请实施例中一种应用场景的转发面流程示意图;
图9为本申请实施例提供的一种通信装置900的结构示意图;
图10为本申请实施例提供的一种通信装置1000的结构示意图;
图11为本申请实施例提供的一种通信装置1100的结构示意图;
图12为本申请实施例提出的一种网络系统1200示意图。
具体实施方式
本申请实施例进行描述。显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的描述在适当情况下可以互换,以便使实施例能够以除了在本申请图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行顺序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的单元的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个单元可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的单元或子单元可以是也可以不是物理上的分离,可以是也可以不是物理单元,或者可以分布到多个电路单元中,可以根据实际的需要选择其中的部分或全部单元来实现本申请方案的目的。
首先,介绍本申请实施例涉及的一些技术概念。
1、边界网关协议(border gateway protocol,BGP)。
网络中任意两个节点可以通过BGP建立邻居关系,该邻居关系也称为BGP邻居关系,或者BGP对等体(BGP peer)关系。A和B之间的BGP peer关系表示:A是B的BGP peer,并且B是A的BGP peer。具体的建立过程,请参阅请求评论(request for comments,RFC)7432协议的约定,此处不作赘述。
BGP作为事实上的互联网外部路由协议标准,被广泛应用于因特网服务提供商(Internet Service Provider,ISP)之间。传统的BGP-4只能管理互联网协议第四版(Internet Protocol version 4,IPv4)的单播路由信息,对于使用其它网络层协议(例如互联网协议第六版(Internet Protocol version 6,IPv6)、组播等)的应用就受到一定限制。为了提供对多种网络层协议的支持,国际互联网工程任务组(Internet EngineeringTask Force,IETF)对BGP-4进行了扩展,形成BGP多协议扩展(MultiprotocolExtensionsfor Border Gateway Protocol,MP-BGP)。
为保证内部边界网关协议(Internal Border Gateway Protocol,IBGP)对等体之间的连通性,需要在IBGP对等体之间建立全网状(英文名称:Full-mesh)关系。假设在一个AS内部有n台路由器,那么应该建立的IBGP连接数就为n(n-1)/2,n为自然数。当IBGP对等体数目很多时,对网络资源和中央处理器(central processing unit,CPU)资源的消耗都很大,利用路由反射可以解决这一问题。在一个AS内,其中一台路由器作为路由反射器(RouteReflector,RR),其它路由器作为客户机(英文名称:Client)。客户机与路由反射器之间建立IBGP连接。
2、虚拟专用网络(virtual private network,VPN)。
下面,以BGP/多协议标签交换(Multiple Protocol Label Switch,MPLS)IP VPN为例进行说明。BGP/MPLS IP VPN是一种三层(Layer3,L3)VPN,使用BGP在服务提供商骨干网上发布VPN路由,使用MPLS在服务提供商的骨干网上转发VPN报文。这里的IP是指VPN承载的互联网协议(Internet Protocol,IP)报文。BGP/MPLS IP VPN的基本模型由三部分组成:用户边缘设备(customer edge,CE)、服务商边缘设备(provider edge,PE)和提供商(Provider,P)设备。
VPN中的站点(site),指的是相互之间具备IP连通性的一组IP系统,并且这组IP系统的IP连通性不需要通过服务提供商网络实现。一个site中的设备可以属于多个VPN。site通过CE设备连接到服务提供商网络,一个site可以包含多个CE设备,但一个CE设备只属于一个site。对于多个连接到同一服务提供商网络的site,通过制定策略,可以将它们划分为不同的集合(set),只有属于相同集合的site之间才能通过服务提供商网络进行相互访问,这种集合称为VPN。
VPN是一种私有网络,不同的VPN独立管理自己的地址范围,也称为地址空间(address space)。不同VPN的地址空间可能会在一定范围内重合,例如,VPN1和VPN2都使用10.110.10.0/24网段地址,这就发生了地址空间的重叠(Address Spaces Over lapping)。
CE设备属于用户设备,无需感知到公网和其他私网的存在,因此CE设备只需要将本地私网路由传输给PE设备即可。运营商的PE设备一般会与多个不同私网的CE设备相连,所以PE设备会收到来自不同私网的路由。由于各个私网可能会使用重叠的地址空间,导致这些私网路由会携带相同的目的地址。如果PE设备只维护一张路由转发表,将使这些地址重叠的路由相互覆盖造成路由丢失。因此为了避免这种情况发生,VPN技术中产生了VPN实例(英文名称:VPN-instance)。
3、虚拟路由转发(virtual routing and forwarding,VRF)。
VPN实例又称为VRF,通过在一台网络设备上创建多张路由表实现数据或业务的隔离,常用于多协议标签交换虚拟专用网(multi-protocol label switching virtualprivate network,MPLS VPN)或者防火墙等一些需要实现隔离的应用场景。具体的,在网络设备上创建一个或多个VRF,每个VRF拥有独立的接口、路由表以及路由协议进程等信息。
VRF表也可以称为VRF表中的路由表。由于VRF等价于VPN实例(VPN instance),因此,VRF表也可以称为VPN实例中的路由表。VRF表可以是VRF表中的任一个或多个路由表,也可以是VRF表中的所有路由表。
MP-BGP在邻居间传递VPN的路由信息时,为路由信息增加路由区分属性(RouteDistinguish,RD)和路由目标属性(route target,RT),并匹配不同VRF的路由信息,实现不同的CE通过VRF的路由交叉,实现业务互联。
具体如下,请参阅图1,图1为一种VPN本地互访示意图。当前,以PE1节点的VPN本地互访为例进行说明。
首先,PE1从CE1学习路由信息#1;PE1从CE2学习路由信息#2,具体的学习方式包括但不限于:IGP、BGP或者静态路由。
然后,PE1从CE1获取路由信息#1后,在该路由信息#1的IPv4地址增加RD前缀(即增加RD#1),使得路由信息#1从IPv4路由转变为VPNv4路由。然后,PE将增加了RD#1的路由信息#1和RT#1存储至CE1对应的VRF1表中。该RT#1是PE1为CE1的VRF1表分配的。RT具体包括导入路由目标属性(import route target,IRT)和导出路由目标属性(export routetarget,ERT)。
类似的,PE1从CE2获取路由信息#2后,在该路由信息#2的IPv4地址增加RD前缀(即增加RD#2),使得路由信息#2从IPv4路由转变为VPNv4路由。然后,PE将增加了RD#2的路由信息#2和RT#2存储至CE2对应的VRF2表中。
然后,PE1根据VRF1表中为路由信息#1分配的RT#1,和VRF2表中为路由信息#2分配的RT#2,检测RT#1中的ERT与RT#2中的IRT是否匹配。若匹配,则PE1将VRF1表(即路由信息#1)拷贝至VRF2表中。通过上述方式,实现CE1与CE2的业务互访。
申请人研究发现,PE将VRF1表拷贝到VRF2表中,存在工作量巨大,无法实现的问题。目前常用的方法是,PE将VRF1表中的一条路由,拷贝到VRF2表中,以节省工作量。而这种方法带来新的问题,受限于仅拷贝一条路由至VRF2表,当VRF1表支持负载分担时,无法在VRF2表中实现VRF1表的负载分担。对于VRF1表的路由存在其他额外转发关联关系时,例如VRF1表包括:QinQ(802.1Q-in-802.1Q)终结子接口或者用户网络路由(user networkroute,UNR)时,无法在VRF2表中直接实现路由转发。
基于此,本申请实施例提出一种实现虚拟专用网VPN本地互访的方法。第一VRF表的第一VPN路由包括路由前缀和第一下一跳,第一下一跳指向第一通信装置的第一接口。第一通信装置在本地实现第一VRF表和第二VRF表的路由交叉,生成的第二VPN路由存储至第二VRF表中,第二VPN路由包括与第一VPN路由相同的路由前缀,第二VPN路由包括的第二下一跳指向第一VRF表。通过上述方法,实现VPN本地互访。在占用较小存储空间的情况下,实现第二VRF表继承第一VRF表的路由属性,有效解决路由传递失真的问题。
下面,结合附图介绍本申请实施例。首先,介绍本申请实施例所应用的通信场景。请参阅图2,图2为本申请实施例中一种通信场景示意图。通信场景具体包括:CE1、CE2和PE1。其中,在PE1上部署VRF1表和VRF2表,VRF1表包括CE1的路由信息,VRF2表包括CE2的路由信息。PE1根据VRF1表和VRF2表,生成VRF2表,其中,VRF2表中第二VPN路由的第二下一跳包括第一VRF表的标识信息,第二VPN路由指向第一VRF表。
在一些可能的实现方式中,本申请实施例中的第一通信装置可以是图2示意的PE1。
本申请实施例中的第一通信装置、第二通信装置和/或第三通信装置可以是计算机、路由器、交换机或网关等物理设备,也可以是支持路由发布和报文转发的虚拟设备(或者虚拟化设备)等。虚拟化设备可以是运行有用于发送报文功能的程序的虚拟机(virtualmachine,VM),虚拟路由器或虚拟交换机。虚拟化设备部署在硬件设备上(例如,物理服务器)。例如,可以基于通用的物理服务器结合网络功能虚拟化(network functionsvirtualization,NFV)技术来实现网络设备。
可以理解的是,图2示意的通信场景,还可以包括其他通信装置,例如与PE1连接的PE2,与PE1连接的CE3等。本申请实施例对此不作限制。
请参阅图3,图3为本申请实施例中一种实现虚拟专用网VPN本地互访的方法的实施例示意图。本申请实施例提出的一种实现虚拟专用网VPN本地互访的方法,包括:
301、在第一通信装置的第一虚拟路由转发VRF表中保存到达第二通信装置的第一VPN路由,第一VPN路由包括路由前缀和第一下一跳,第一下一跳指向第一通信装置的第一接口,其中,第一通信装置通过第一接口与第二通信装置通信连接。
本实施例中,第一通信装置从第二通信装置学习第一路由信息。然后,第一通信装置根据第一路由信息生成第一VPN路由。最后,第一通信装置在第一通信装置的第一VRF表中保存第一VPN路由,第一VPN路由包括路由前缀和第一下一跳,第一下一跳指向第一接口,第一通信装置通过第一接口与第二通信装置连接。
具体如下:首先,第一通信装置通过IGP、BGP或者静态路由配置的方式,学习第二通信装置的第一路由信息。示例性的,第一通信装置通过开放的最短路径优先协议(OpenShortest Path First,OSPF)、中间系统到中间系统(Intermediate system tointermediate system,IS-IS)协议、路由信息协议(Routing Information Protocol,RIP)或者其他三层接入协议与第二通信装置建立连接,并学习第二通信装置的第一路由信息。
需要说明的是,静态路由配置时,可以配置第一下一跳的下一跳信息,也可以配置第一下一跳的下一跳信息和出接口信息,本申请实施例对此不作限制。
进一步的,第一通信装置可以通过边界网关协议网络BGP network方式导入所述第一路由信息,第一通信装置也可以通过边界网关协议导入BGP import方式导入所述第一路由信息。换言之,第一通信装置可以一次导单条路由信息,也可以一次导入多条路由信息,本申请实施例对此不作限制。
其次,第一通信装置为第一路由信息分配路由区分属性(route distinguish,RD),该路由区分属性也可以称为主路由标识符(router distinguisher,RD)。为了便于区分,将第一通信装置为第一路由信息分配的RD称为第一路由区分属性RD。第一RD用于标识第一路由信息。示例性的,RD具有全局唯一性,通过将8比特(byte)的RD作为IPv4地址前缀的扩展,使不唯一的IPv4地址(例如第一路由信息)转化为唯一的VPNv4地址(例如第一VPN路由)。本申请实施例中,VPN路由也可以简称为路由。
再次,第一通信装置将第一VPN路由和第一路由目标属性(route target,RT)关联,并存储至第一VRF表。具体的,RT使用了BGP中扩展团体属性,用于路由的分发,具有全局唯一性。同一个RT只能被一个VPN实例使用,RT包括导入路由目标属性(import routetarget,IRT)和导出路由目标属性(export route target,ERT),分别用于路由信息的导入和导出策略。每个VRF表都有IRT和ERT。当PE从VRF表中导出路由时,需要ERT对该路由进行标记;当PE接收路由时,只有路由的ERT和本地VRF的IRT相匹配时,才能将接收的路由导入本地VRF中。
进一步的,第一VRF表可以包括一个或多个VPN路由。为了便于理解,将第一VRF表简称为VRF1表。请参阅图4,图4为本申请实施例中第一VRF表的示意图。示例性的,VRF1表包括第一VPN路由#1~第一VPN路由n,合计n个第一VPN路由,n为自然数。第一通信装置为每个路由信息分配一个路由区分属性,因此每个第一VPN路由包括第一路由信息和第一路由区分属性,例如,第一VPN路由#1包括第一路由信息#1和第一路由区分属性#1。第一VPN路由可以是VPNv4路由,也可以是VPNv6路由,本申请实施例对此不作限制。第一通信装置为VRF1表分配一个路由目标属性RT,为VRF1表分配的RT称为第一RT。第一通信装置将第一VPN路由#1~第一VPN路由#n,与第一RT关联并存储至第一VRF表中。
第一通信装置获取第一VRF表的相关信息,例如第一VRF表的标识信息。示例性的,第一VRF表的标识信息可以是第一VRF表的索引,或者第一VRF表的名称,或者第一VRF表的标识(identity document,ID)等。本申请实施例对第一VRF表的标识信息不作限制。
类似的,第一通信装置在本地部署第二VRF表。第二VRF表中存储第三通信装置(例如CE2)的路由信息。具体如下:首先,第一通信装置通过IGP、BGP或者静态路由配置的方式,学习第三通信装置的第二路由信息。示例性的,第一通信装置通过OSPF、IS-IS、RIP或者其他三层接入协议与第三通信装置建立连接,并学习第三通信装置的第二路由信息。
进一步的,第一通信装置可以通过边界网关协议网络BGP network方式导入所述第二路由信息,第一通信装置也可以通过边界网关协议导入BGP import方式导入所述第二路由信息,本申请实施例对此不作限制。
其次,第一通信装置为第二路由信息分配RD。为了便于区分,将第一通信装置为第二路由信息分配的RD称为第二路由区分属性RD。第二RD用于标识第二路由信息。
再次,第一通信装置将第二VPN路由和第二路由目标属性RT关联,并存储至第二VRF表。
进一步的,第二VRF表可以包括多个路由。为了便于理解,将第二VRF表称为VRF2表。请参阅图5,图5为本申请实施例中第二VRF表的示意图。示例性的,VRF1表包括第二VPN路由#1~第二VPN路由m,合计m个第二VPN路由,m为自然数。第一通信装置为每个路由信息分配一个路由区分属性,因此每个第二VPN路由包括第二路由信息和第二路由区分属性,例如,第二VPN路由#1包括第二路由信息#1和第二路由区分属性#1。第二VPN路由可以是VPNv4路由,也可以是VPNv6路由,本申请实施例对此不作限制。第一通信装置为VRF1表分配一个路由目标属性RT,为VRF2表分配的RT称为第二RT。第一通信装置将第二VPN路由#1~第二VPN路由#m,与第二RT关联并存储至第二VRF表中。
302、将第二VPN路由保存到第一通信装置的第二VRF表中,其中,第二VPN路由包括路由前缀和第二下一跳,第二下一跳指向第一VRF表。
本实施例中,第一通信装置通过BGP执行第一VRF表和第二VRF表的路由交叉,实现VPN本地互访,进而实现第二通信装置和第三通信装置之间的业务互访。
根据所述第一VRF表关联的导出路由目标Export RT和第二VRF表关联的导入路由目标Import RT的匹配关系,将第二VPN路由保存到第一通信装置的第二VRF表中。具体的,第一通信装置根据第一VRF表,获取第一VRF表的第一RT,进而确定第一VRF表的导出路由目标属性ERT。第一通信装置根据第二VRF表,获取第二VRF表的第二RT,进而确定第二VRF表的入口路由属性IRT。当第一通信装置确定第一VRF表的ERT与第二VRF表的IRT匹配时,第一通信装置将第二VPN路由保存到第一通信装置的第二VRF表中,其中,所述第二VPN路由包括所述路由前缀和第二下一跳,所述第二下一跳指向所述第一VRF表。
一种可能的实现方式中,第一通信装置将第二VPN路由包括的第二下一跳设置为第一VRF表的标识信息。例如:第一VRF表的标识信息为“VRF1”,第二VPN路由格式为:“prefix/mask,nexthop:VRF1”。
由于第二VPN路由包括的第二下一跳设置为第一VRF表的标识信息,因此第二VPN路由下一跳指向第一VRF表。进而,第二VRF表继承第一VRF表的路由属性。本申请实施例中对路由属性不做限制,具体的,本申请实施例中的路由属性包括但不限于:负载分担、负载均衡、快速重路由,或者表项关联等。
例如:当第一VRF表包括多条路由时,第一VRF表的多条路由可执行负载分担。第三通信装置的流量通过第二VRF表和第一VRF表,在第一VRF表中实现以负载分担的方式访问第二通信装置。
一种可能的实现方式中,所述第二VRF表包括多个VPN路由,所述多个VPN路由包括相同的所述路由前缀,所述多个VPN路由中包括所述第二VPN路由。具体的,第二VRF表还可以包括具有相同路由前缀的多个VPN路由,该多个VPN路由中包括下一跳指向第一VRF表的第二VPN路由,该多个VPN路由中还可以包括指向其他VRF表的VPN路由,例如指向第三VRF表的第三VPN路由。通过上述方法,实现第二VRF表继承多个不同VRF表的路由属性。
进一步的,第二VRF表包括多个VPN路由,该多个VPN路由的路由前缀可以不同。该多个不同路由前缀的VPN路由的下一跳,可以指向同一个VRF表,也可以指向不同的VRF表,实现灵活配置。例如图6所示,图6为申请实施例中第二VRF表示意图。其中,“x.x.x.xnexthop:VRF1”示意的是路由前缀为“x.x.x.x”的VPN路由的下一跳为“VRF1”,“y.y.y.ynexthop:VRF1”示意的是路由前缀为“y.y.y.y”的VPN路由的下一跳为“VRF1”,“z.z.z.znexthop:VRF3”示意的是路由前缀为“z.z.z.z”的VPN路由的下一跳为“VRF3”。换言之,表1示意的第二VRF表包括的多个下一跳可以指向第一VRF表,也可以指向第三VRF(VRF3)表等其他的VRF表,本申请实施例对此不作限制。
在第二VRF表中,不同VPN路由的下一跳可以指向同一个VRF表(例如路由前缀“y.y.y.y”的VPN路由和路由前缀“x.x.x.x”的VPN路由,两个VPN路由的下一跳同为“VRF1”),不同VPN路由的下一跳也可以指向不同的VRF表(例如路由前缀“y.y.y.y”的VPN路由的下一跳为“VRF1”,路由前缀“z.z.z.z”的VPN路由的下一跳为“VRF3”),本申请实施例对此不作限制。
第一通信装置将主控板生成的VRF2表下发至第一通信装置的路由板。第一通信装置根据第二VRF表转发流量。具体的,所述第二VRF表与所述第一通信装置的第二接口绑定,所述第二接口与所述第二VPN路由对应,所述第一通信装置通过所述第二接口与第三通信装置连接。
所述第一通信装置从所述第二接口中接收流量。然后,所述第一通信装置根据所述第二接口,从所述第二VRF表中确定所述第二VPN路由。所述第一通信装置根据所述第二VPN路由,从所述第一VRF表中查找与所述流量匹配的所述第一VPN路由。所述第一通信装置根据所述第一VPN路由,通过所述第一接口转发所述流量。示例性的,若该第一VPN路由包括多个VPN路由时,通过负载分担的方式转发上述流量。
本申请实施例中,第一VRF表的第一VPN路由包括路由前缀和第一下一跳,第一下一跳指向第一通信装置的第一接口。第一通信装置在本地实现第一VRF表和第二VRF表的路由交叉,生成的第二VPN路由存储至第二VRF表中,第二VPN路由包括与第一VPN路由相同的路由前缀,第二VPN路由包括的第二下一跳指向第一VRF表。通过上述方法,实现VPN本地互访。在占用较小存储空间的情况下,实现第二VRF表继承第一VRF表的路由属性,有效解决路由传递失真的问题,提升了方案的适用范围。此外,本申请实施例在占用较小存储空间的情况下,实现第二VRF表继承第一VRF表的路由属性,提升了方案的适用范围。
结合前述实施例,下面介绍本申请实施例提出的一种应用场景。分别以控制面和转发面介绍本申请实施例的应用场景。
A、控制面。请参阅图7,图7为本申请实施例中一种应用场景的控制面流程示意图。第一通信装置中按照功能划分可以分为主控板和接口板两部分。主控板用于对第一通信装置中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板可以包括中央处理器和存储器。接口板用于提供各种业务接口并实现数据包的转发。
A1、第一通信装置通过OSPF学习路由信息后,为路由信息分配RD后生成VPN路由(第一VPN路由),然后将第一VPN路由和RT然后存储至VRF1表中。第一通信装置将VRF1表下发到对应的接口板。例如接口板的“VRF1:x.x.x.x interface:if1 ospf”。
A2、在第一通信装置的BGP进程中,通过BGP import或者BGP network方式将VRF1表的路由引入BGP路由表。
A3、BGP路由表中通过BGP import或者BGP network方式引入了VRF2表的路由。通过VRF1的ERT与VRF2的IRT匹配,可以将第二VPN路由的下一跳设置为VRF1表,第二VPN路由保存到VRF2表中。例如图7示意的“x.x.x.x nexthop:VRF1”,“y.y.y.y nexthop:VRF1”
A4、第一通信装置的BGP进程将设置后的路由“x.x.x.x nexthop:VRF1”,下发至接口板中。例如图7示意的“VRF2:x.x.x.x nexthop:VRF1 bgp”。
B、转发面。请参阅图8,图8为本申请实施例中一种应用场景的转发面流程示意图。
B1、当流量从接口板1的接口中进入第一通信装置后,由于该接口绑定VRF2表,因此第一通信装置根据接口的相关信息,找到对应的VRF2表。
B2、一次查表:第一通信装置在VRF2表中找到该流量对应的VPN路由“VRF2:x.x.x.x nexthop:VRF1”。由于该VPN路由的下一跳指向VRF1表,因此第一通信装置需要在VRF1表中进行二次查表。
B3、二次查表:步骤B2后,第一通信装置根据路由“VRF2:x.x.x.x nexthop:VRF1”,找到VRF1表中对应的路由“VRF1:x.x.x.x interface:if1 ospf”和“VRF1:x.x.x.xinterface:if2 ospf”。
B4、第一通信装置在接口板2(即与VRF1表对应的接口板)继续查询VRF1表的OSPF路由,从对应的出接口中将流量转发出去。例如:“VRF1:interface:if1 ospf”和“VRF1:interface:if2 ospf”转发流量。
上述主要以方法的角度对本申请实施例提供的方案进行了介绍。可以理解的是,第一通信装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对第一通信装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
以下介绍本申请实施例的通信装置,以下介绍的通信装置具有上述方法实施例中的第一通信装置的任意功能。
图9为本申请实施例提供的一种通信装置900的结构示意图,如图9所示,通信装置900包括:收发模块901,用于执行步骤301和302;处理模块902,用于执行步骤303。
通信装置900可以对应于上述方法实施例中的第一通信装置,通信装置900中的各单元和上述其他操作和/或功能分别为了实现方法实施例中的第一通信装置所实施的各种步骤和方法,具体细节可参见上述方法实施例,为了简洁,在此不再赘述。
通信装置900执行上述方法实施例时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将通信装置900的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的通信装置900与上述图3对应的实施例方法属于同一构思,其具体实现过程详见上述方法实施例,这里不再赘述。
为了实现上述实施例,本申请还提供了一种通信装置。可以参阅图10,图10为本申请实施例提供的一种通信装置1000的结构示意图。
图10所示的通信装置1000尽管示出了某些特定特征,但是本领域的技术人员将从本申请实施例中意识到,为了简洁起见,图10未示出各种其他特征,以免混淆本申请实施例所公开的实施方式的更多相关方面。为此,作为示例,在一些实现方式中,通信装置1000包括一个或多个处理单元(如,CPU)1001、网络接口1002、编程接口1003、存储器1004和一个或多个通信总线1005,用于将各种组件互连。在另一些实现方式中,通信装置1000也可以在上述示例基础上省略或增加部分功能部件或单元。
在一些实现方式中,网络接口1002用于在网络系统中和一个或多个其他的通信装置/服务器连接。在一些实现方式中,通信总线1005包括互连和控制系统组件之间的通信的电路。存储器1004可以包括非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器1004也可以包括易失性存储器,易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。
在一些实现中,存储器1004或存储器1004的非暂时性计算机可读存储介质存储以下程序、模块和数据结构,或其子集,例如包括收发单元(图中未示出)、获取单元10041和处理单元10042。
在一个可能的实施例中,该通信装置1000可以具有上述图3对应的方法实施例中的第一通信装置中的任意功能。
应理解,通信装置1000对应于上述方法实施例中的第一通信装置或控制管理装置,通信装置1000中的各模块和上述其他操作和/或功能分别为了实现上述方法实施例中的第一通信装置或控制管理装置所实施的各种步骤和方法,具体细节可参见上述图3对应的方法实施例,为了简洁,在此不再赘述。
应理解,本申请可以是由通信装置1000上的网络接口1002来完成数据的收发操作,也可以是由处理器调用存储器中的程序代码,并在需要时配合网络接口1002来实现收发单元的功能。
在各种实现中,通信装置1000用于执行本申请实施例提供的实现虚拟专用网VPN本地互访的方法,例如是执行上述图3所示的实施例所对应的实现虚拟专用网VPN本地互访的方法。
本申请图10所述的通信装置具体结构可以为图11所示。
图11为本申请实施例提供的一种通信装置1100的结构示意图,通信装置1100包括:主控板1111和接口板1130。
主控板1111也称为主处理单元(main processing unit,MPU)或路由处理器(route processor),主控板1111用于对通信装置1100中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板1111包括:中央处理器1111和存储器1112。
接口板1130也称为线路处理单元(line processing unit,LPU)、线卡(linecard)或业务板。接口板1130用于提供各种业务接口并实现数据包的转发。业务接口包括但不限于以太网接口、POS(Packet over SONET/SDH)接口等。接口板1130包括:中央处理器1131、网络处理器1132、转发表项存储器1134和物理接口卡(physical interface card,PIC)1133。
接口板1130上的中央处理器1131用于对接口板1130进行控制管理并与主控板1111上的中央处理器1111通信。
网络处理器1132用于实现报文的转发处理。网络处理器1132的形态可以是转发芯片。
物理接口卡1133用于实现物理层的对接功能,原始的流量由此进入接口板1130,以及处理后的报文从该物理接口卡1133发出。物理接口卡1133包括至少一个物理接口,物理接口也称物理口,物理接口可以为灵活以太(Flexible Ethernet,FlexE)物理接口。物理接口卡1133也称为子卡,可安装在接口板1130上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器1132处理。在一些实施例中,接口板1130的中央处理器1131也可执行网络处理器1132的功能,比如基于通用CPU实现软件转发,从而接口板1130中不需要网络处理器1132。
可选的,通信装置1100包括多个接口板,例如通信装置1100还包括接口板1140,接口板1140包括:中央处理器1141、网络处理器1142、转发表项存储器1144和物理接口卡1143。
可选的,通信装置1100还包括交换网板1120。交换网板1120也可以称为交换网板单元(switch fabric unit,SFU)。在通信装置有多个接口板1130的情况下,交换网板1120用于完成各接口板之间的数据交换。例如,接口板1130和接口板1140之间可以通过交换网板1120通信。
主控板1111和接口板耦合。例如,主控板1111、接口板1130和接口板1140,以及交换网板1120之间通过系统总线和/或系统背板相连实现互通。在一种可能的实现方式中,主控板1111和接口板1130之间建立进程间通信协议(inter-process communication,IPC)通道,主控板1111和接口板1130之间通过IPC通道进行通信。
在逻辑上,通信装置1100包括控制面和转发面,控制面包括主控板1111和中央处理器1131,转发面包括执行转发的各个组件,比如转发表项存储器1134、物理接口卡1133和网络处理器1132。控制面执行发布路由、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器1132基于控制面下发的转发表对物理接口卡1133收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器1134中。在有些实施例中,控制面和转发面可以完全分离,不在同一设备上。
应理解,通信装置1000中的收发单元可以相当于通信装置1100中的物理接口卡1133或物理接口卡1143;通信装置1000中的获取单元10041和处理单元10042可以相当于通信装置1100中的中央处理器1111或中央处理器1131,也可以相当于存储器1112中存储的程序代码或指令。
应理解,本申请实施例中接口板1140上的操作与接口板1130的操作一致,为了简洁,不再赘述。应理解,本实施例的通信装置1100可对应于上述各个方法实施例中的第一通信装置,该通信装置1100中的主控板1111、接口板1130和/或接口板1140可以实现上述各个方法实施例中的第一通信装置所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,通信装置的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,通信装置可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,通信装置可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。可选的,通信装置的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能。具体采用哪种架构,取决于具体的组网部署场景,此处不做唯一限定。
在一些可能的实施例中,上述第一通信装置、第二通信装置和/或第三通信装置可以实现为虚拟化设备。虚拟化设备可以是运行有用于发送报文功能的程序的虚拟机(virtual machine,VM),虚拟路由器或虚拟交换机。虚拟化设备部署在硬件设备上(例如,物理服务器)。例如,可以基于通用的物理服务器结合网络功能虚拟化(network functionsvirtualization,NFV)技术来实现第一通信装置、第二通信装置和/或第三通信装置。
应理解,上述各种产品形态的通信装置,分别具有上述方法实施例中第一通信装置的任意功能,此处不再赘述。
本申请实施例还提供的一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机控制网络装置执行如前述方法实施例所示任一项实现方式。
本申请实施例还提供的一种计算机程序产品,计算机程序产品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行如前述方法实施例所示任一项实现方式。
进一步地,本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在通信装置上运行时,使得通信装置执行上述图3对应的方法实施例中第一通信装置或控制管理装置执行的方法。
本申请实施例还提供了一种芯片系统,包括处理器和接口电路,接口电路,用于接收指令并传输至处理器。其中,所述处理器用于实现上述任一方法实施例中的方法。
可选的,该芯片系统还包括存储器,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现上述任一方法实施例中的方法。
可选的,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
请参阅图12,图12为本申请实施例提出的一种网络系统1200示意图。该网络系统1200包括:第一通信装置1201、第二通信装置1202和第三通信装置1203。第一通信装置1201、第二通信装置1202和第三通信装置1203例如可以为路由器、交换机或网关等物理设备,也可以是支持路由发布和报文转发的虚拟设备等。本实施例对第一通信装置1201、第二通信装置1202和第三通信装置1203的具体类型不做限定。
一种可能的示例中,第一通信装置1201在第一VRF表中保存到达第二通信装置1202的第一VPN路由,第一VRF表中保存的路由信息来自第一通信装置1201;
第一通信装置1201根据所述第一VRF表关联的导出路由目标Export RT和第二VRF表关联的导入路由目标Import RT的匹配关系,将第二VPN路由保存到所述第一通信装置1201的所述第二VRF表中,第二VRF表中保存的路由信息来自第三通信装置1203;
通过第一VRF表和第二VRF表实现第二通信装置1202和第三通信装置1203的业务互访。
可选的,该网络系统1200还包括控制管理通信装置1204,控制管理通信装置1204可以是管理上述第一通信装置1201、第二通信装置1202和第三通信装置1203的服务器。可选的,第一通信装置1201可以是通信装置900、通信装置1000或者通信装置1100。可选的,第二通信装置1202可以是通信装置900、通信装置1000或者通信装置1100。可选的,第三通信装置1203可以是通信装置900、通信装置1000或者通信装置1100。
上述各种产品形态的通信装置,分别具有上述方法实施例中网络设备的任意功能,此处不再赘述。
以上对本申请实施例进行了详细介绍,本申请实施例方法中的步骤可以根据实际需要进行顺序调度、合并或删减;本申请实施例装置中的模块可以根据实际需要进行划分、合并或删减。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
Claims (20)
1.一种实现虚拟专用网VPN本地互访的方法,由第一通信装置执行,其特征在于,包括:
在所述第一通信装置的第一虚拟路由转发VRF表中保存到达第二通信装置的第一VPN路由,所述第一VPN路由包括路由前缀和第一下一跳,所述第一下一跳指向所述第一通信装置的第一接口,其中,所述第一通信装置通过所述第一接口与所述第二通信装置通信连接;
根据所述第一VRF表关联的导出路由目标Export RT和第二VRF表关联的导入路由目标Import RT的匹配关系,将第二VPN路由保存到所述第一通信装置的所述第二VRF表中,其中,所述第二VPN路由包括所述路由前缀和第二下一跳,所述第二下一跳指向所述第一VRF表。
2.根据权利要求1所述的方法,其特征在于,所述路由前缀包括:互联网协议IP地址,或者,媒体访问控制MAC地址。
3.根据权利要求1或2所述的方法,其特征在于,所述第二VRF表继承所述第一VRF表的路由属性。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述第二VRF表包括多个VPN路由,所述多个VPN路由包括相同的所述路由前缀,所述多个VPN路由中包括所述第二VPN路由。
5.根据权利要求1-4中任一项所述的方法,其特征在于,
所述第二VRF表与所述第一通信装置的第二接口绑定,所述第二接口与所述第二VPN路由对应,所述第一通信装置通过所述第二接口与第三通信装置连接。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述第一通信装置从所述第二接口中接收流量;
所述第一通信装置根据所述第二接口,从所述第二VRF表中确定所述第二VPN路由;
所述第一通信装置根据所述第二VPN路由,从所述第一VRF表中查找与所述流量匹配的所述第一VPN路由;
所述第一通信装置根据所述第一VPN路由,通过所述第一接口转发所述流量。
7.根据权利要求6所述的方法,其特征在于,所述第一VPN路由包括多个VPN路由时,所述第一VPN路由用于所述流量的负载分担。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述第二下一跳包括所述第一VRF表的标识信息。
9.一种通信装置,其特征在于,所述通信装置作用于第一通信装置,包括:
处理模块,用于在所述第一通信装置的第一虚拟路由转发VRF表中保存到达第二通信装置的第一VPN路由,所述第一VPN路由包括路由前缀和第一下一跳,所述第一下一跳指向所述第一通信装置的第一接口,其中,所述第一通信装置通过所述第一接口与所述第二通信装置通信连接;
所述处理模块,还用于根据所述第一VRF表关联的导出路由目标Export RT和第二VRF表关联的导入路由目标Import RT的匹配关系,将第二VPN路由保存到所述第一通信装置的第二VRF表中,其中,所述第二VPN路由包括所述路由前缀和第二下一跳,所述第二下一跳指向所述第一VRF表。
10.根据权利要求9所述的通信装置,其特征在于,所述路由前缀包括:互联网协议IP地址,或者,媒体访问控制MAC地址。
11.根据权利要求9或10所述的通信装置,其特征在于,所述第二VRF表继承所述第一VRF表的路由属性。
12.根据权利要求9-11中任一项所述的通信装置,其特征在于,所述第二VRF表包括多个VPN路由,所述多个VPN路由包括相同的所述路由前缀,所述多个VPN路由中包括所述第二VPN路由。
13.根据权利要求9-12中任一项所述的通信装置,其特征在于,
所述第二VRF表与所述第一通信装置的第二接口绑定,所述第二接口与所述第二VPN路由对应,所述第一通信装置通过所述第二接口与第三通信装置连接。
14.根据权利要求13任一项所述的通信装置,其特征在于,
收发模块,用于从所述第二接口中接收流量;
所述处理模块,还用于根据所述第二接口,从所述第二VRF表中确定所述第二VPN路由;
所述处理模块,还用于根据所述第二VPN路由,从所述第一VRF表中查找与所述流量匹配的所述第一VPN路由;
所述收发模块,还用于根据所述第一VPN路由,通过所述第一接口转发所述流量。
15.根据权利要求14所述的通信装置,其特征在于,所述第一VPN路由包括多个VPN路由时,所述第一VPN路由用于所述流量的负载分担。
16.根据权利要求13-15中任一项所述的通信装置,其特征在于,所述第二下一跳包括所述第一VRF表的标识信息。
17.一种通信装置,其特征在于,包括;
通信接口;
与所述通信接口连接的处理器,基于所述通信接口和所述处理器,使得所述通信装置执行如权利要求1-8任一项所述的方法。
18.一种通信系统,其特征在于,所述通信系统包括通信装置,所述通信装置用于执行权利要求1-8任一项所述的方法。
19.一种计算机可读存储介质,包括指令,其特征在于,当所述指令被处理器执行时,实现权利要求1-8任一项所述的方法。
20.一种计算机程序产品,包括程序,其特征在于,当所述程序被处理器执行时,实现权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211101948.7A CN117692384A (zh) | 2022-09-09 | 2022-09-09 | 一种实现虚拟专用网vpn本地互访的方法以及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211101948.7A CN117692384A (zh) | 2022-09-09 | 2022-09-09 | 一种实现虚拟专用网vpn本地互访的方法以及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117692384A true CN117692384A (zh) | 2024-03-12 |
Family
ID=90127113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211101948.7A Pending CN117692384A (zh) | 2022-09-09 | 2022-09-09 | 一种实现虚拟专用网vpn本地互访的方法以及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117692384A (zh) |
-
2022
- 2022-09-09 CN CN202211101948.7A patent/CN117692384A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110784411B (zh) | 建立bier转发表项的方法、装置和系统 | |
US11303515B2 (en) | IP MPLS PoP virtualization and fault tolerant virtual router | |
CN108574639B (zh) | Evpn报文处理方法、设备及系统 | |
CN108574630B (zh) | Evpn报文处理方法、设备及系统 | |
US10333836B2 (en) | Convergence for EVPN multi-homed networks | |
CN107040463B (zh) | 用于避免由于非对称mac获悉的流量泛洪的系统 | |
US8787149B1 (en) | MAC address synchronization for multi-homing with multichassis link aggregation | |
US9100213B1 (en) | Synchronizing VPLS gateway MAC addresses | |
EP3188422B1 (en) | Traffic black holing avoidance and fast convergence for active-active pbb-evpn redundancy | |
CN102137024B (zh) | 报文处理方法、出口路由设备及边界路由设备 | |
CN112468398B (zh) | 一种vpn的处理方法和pe设备以及系统 | |
CN108141392A (zh) | 伪线负载分担的方法和设备 | |
WO2023011149A1 (zh) | 一种基于第6版互联网协议的段路由SRv6的通信方法 | |
CN113726653B (zh) | 报文处理方法及装置 | |
CN112822097A (zh) | 报文转发的方法、第一网络设备以及第一设备组 | |
US20230081052A1 (en) | Method and apparatus for sending multicast packet | |
CN113923162B (zh) | 一种报文转发方法、装置、设备及存储介质 | |
CN117692384A (zh) | 一种实现虚拟专用网vpn本地互访的方法以及相关装置 | |
WO2022133646A1 (zh) | 一种路由传输方法及装置 | |
CN115695293A (zh) | 一种报文处理方法以及网络设备 | |
CN117240769A (zh) | 一种报文控制方法以及相关装置 | |
CN116886663A (zh) | 基于rfc 8317的e-tree实现方式、装置和通信设备 | |
CN117411819A (zh) | 一种路由发布方法、通信方法及装置 | |
CN117997561A (zh) | 通信方法及装置 | |
CN114338518A (zh) | 一种路由处理方法及网络设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |