CN115914093A - 虚拟专用网络业务标识的分配方法、报文处理方法及装置 - Google Patents

虚拟专用网络业务标识的分配方法、报文处理方法及装置 Download PDF

Info

Publication number
CN115914093A
CN115914093A CN202111163051.2A CN202111163051A CN115914093A CN 115914093 A CN115914093 A CN 115914093A CN 202111163051 A CN202111163051 A CN 202111163051A CN 115914093 A CN115914093 A CN 115914093A
Authority
CN
China
Prior art keywords
private network
virtual private
domain
service identifier
routing
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
Application number
CN202111163051.2A
Other languages
English (en)
Inventor
刘尧
彭少富
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN202111163051.2A priority Critical patent/CN115914093A/zh
Priority to PCT/CN2022/107003 priority patent/WO2023050981A1/zh
Publication of CN115914093A publication Critical patent/CN115914093A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering

Abstract

本发明实施例提供了一种虚拟专用网络业务标识的分配方法、报文处理方法及装置,该分配方法应用于预定边界设备,该方法包括:接收第一域中的供应商边缘设备通告的第一虚拟专用网络路由;根据所述路由区分符分配对应于第二域的第二虚拟专用网络业务标识,其中,所述第二虚拟专用网络业务标识和所述路由区分符之间一一对应;根据所述第一虚拟专用网络路由生成对应于所述路由区分符的路由区分符空间表项,并生成业务标识表项,所述业务标识表项包括所述第二虚拟专用网络业务标识对应的预定动作,所述预定动作包括:查询所述路由区分符空间表项。该方法分配的VPN业务标识的数量大大减少,从而有效节约了VPN业务标识。

Description

虚拟专用网络业务标识的分配方法、报文处理方法及装置
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种虚拟专用网络业务标识的分配方法、报文处理方法及装置。
背景技术
段路由(Segment Routing,SR)是一种基于源地址的路由的方法,通过在多协议标签交换(Multi-Protocol Label Switching,MPLS)网络的报文头或者互联网协议第6版(Internet Protocol Version 6,IPv6)报文头中携带段路由报文头(Segment RoutingHeader,SRH),在SRH中携带有一系列的指示操作(也称为段操作)用于数据在网络中的路由和传输。
SRv6中引入了网络编程能的概念,SRv6 SID是一种网络指令(instruction),它由定位(locator)和功能(function)以及可选的参数(argument)部分组成。Locator主要承担路由功能,function可以标识设备的任何功能,如转发、表项查询等,argument携带的是参数部分。
虚拟专用网络(Virtual Private Network,VPN)是一种重要的网络业务。不管是在MPLS网络还是在基于IPv6转发平面的段路由(Segment Routing over IPv6 dataplane,SRv6)网络中都需要提供。相关技术中提供了SRv6网络中如何实现提供VPN服务,与MPLS网络中MPLS标签与VPN业务关联类似,采用SRv6段标识(SRv6 Segment Identifier,SRv6SID)与VPN业务关联,并随边界网关协议(Border Gateway Protocol,BGP)VPN路由通告。MPLS网络中使用的MPLS标签以及SRv6网络中使用的SRv6 SID,因其均用于与各自对应的VPN业务进行关联,可以统称为VPN业务标识。
当前不少供应商的网络,是基于MPLS/SR-MPLS进行部署的,供应商网络的逐渐升级改造到SRv6的过程中,部分设备短时间内无法升级,必然会存在MPLS/SR-MPLS和SRv6共存的场景,这样就面临MPLS VPN和SRv6 VPN之间互通的场景,鉴于MPLS标签空间远小于SRv6 Service SID数量,存在MPLS VPN标签耗尽也不能满足互通需求的风险。除此之外,其他的VPN互通场景,例如,MPLS VPN之间互通的场景,也同样涉及到因标签空间的大小不匹配导致的不能满足互通需求的问题。
综上可以看出,VPN业务互通时,由于网络间的VPN业务标识的空间尺寸或者说标识数量不匹配可能导致不能满足互通需求,是目前亟待解决的问题。
发明内容
本发明实施例提供了一种虚拟专用网络业务标识的分配方法、报文处理方法及装置,以至少解决相关技术中VPN业务互通时,由于网络间的VPN业务标识的空间尺寸或者说标识数量不匹配可能导致不能满足互通需求的问题。
根据本发明的实施例,提供了一种虚拟专用网络业务标识的分配方法,应用于预定边界设备,其中所述预定边界设备包括:第一域的边界设备或第一域和第二域之间的边界设备,所述方法包括:接收所述第一域中的供应商边缘设备通告的第一虚拟专用网络路由,其中,所述第一虚拟专用网络路由中包括路由区分符和报文特征;根据所述路由区分符分配对应于所述第二域的第二虚拟专用网络业务标识,其中,所述第二虚拟专用网络业务标识和所述路由区分符之间一一对应;根据所述第一虚拟专用网络路由生成对应于所述路由区分符的路由区分符空间表项,并生成业务标识表项,其中,所述路由区分符空间表项包括对携带所述报文特征的报文执行的封装和转发动作,所述业务标识表项包括所述第二虚拟专用网络业务标识对应的预定动作,所述预定动作包括:查询所述路由区分符空间表项。
根据本发明的实施例,还提供了一种报文处理方法,应用于预定边界设备,其中所述预定边界设备包括:第一域的边界设备或第一域和第二域之间的边界设备,所述方法包括:接收来自所述第二域的报文,其中,所述报文携带报文特征和对应于所述第二域的第二虚拟专用网络业务标识,所述第二虚拟专用网络业务标识和所述报文对应的路由区分符之间一一对应;查询业务标识表项以确定所述第二虚拟专用网络业务标识对应的预定动作,其中,所述预定动作包括:查询路由区分符空间表项;根据所述报文特征查询所述路由区分符空间表项以确定封装和转发动作,并基于确定的封装和转发动作对所述报文进行封装和转发,其中,所述路由区分符空间表项包括对携带所述报文特征的报文执行的封装和转发动作。
根据本发明的实施例,还提供了一种虚拟专用网络虚拟专用网络业务标识的分配装置,位于预定边界设备,其中所述预定边界设备包括:第一域的边界设备或第一域和第二域之间的边界设备,所述装置包括:第一接收模块,设置为接收所述第一域中的供应商边缘设备通告的第一虚拟专用网络路由,其中,所述第一虚拟专用网络路由中包括路由区分符和报文特征;分配模块,设置为根据所述路由区分符分配对应于所述第二域的第二虚拟专用网络业务标识,其中,所述第二虚拟专用网络业务标识和所述路由区分符之间一一对应;生成模块,设置为根据所述第一虚拟专用网络路由生成对应于所述路由区分符的路由区分符空间表项,并生成业务标识表项,其中,所述路由区分符空间表项包括对携带所述报文特征的报文执行的封装和转发动作,所述业务标识表项包括所述第二虚拟专用网络业务标识对应的预定动作,所述预定动作包括:查询所述路由区分符空间表项。
根据本发明的实施例,提供了一种报文处理装置,位于预定边界设备,其中所述预定边界设备包括:第一域的边界设备或第一域和第二域之间的边界设备,所述装置包括:第二接收模块,设置为接收来自所述第二域的报文,其中,所述报文携带报文特征和对应于所述第二域的第二虚拟专用网络业务标识,所述第二虚拟专用网络业务标识和所述报文对应的路由区分符之间一一对应;第一查询模块,设置为查询业务标识表项以确定所述第二虚拟专用网络业务标识对应的预定动作,其中,所述预定动作包括:查询路由区分符空间表项;第二查询模块,设置为根据所述报文特征查询所述路由区分符空间表项以确定封装和转发动作,其中,所述路由区分符空间表项包括对携带所述报文特征的报文执行的封装和转发动作;封装转发模块,设置为基于确定的封装和转发动作对所述报文进行封装和转发。
根据本发明的实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现前述虚拟专用网络业务标识的分配方法的步骤,或者实现前述报文处理方法的步骤。
根据本发明的实施例,还提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述虚拟专用网络业务标识的分配方法的步骤,或者实现前述报文处理方法的步骤。
附图说明
图1是根据本发明实施例的MPLS VPN跨AS互通组网示意图;
图2是本发明实施例的一种虚拟专用网络业务标识的分配方法和报文处理方法的边界设备的硬件结构框图;
图3是根据本发明实施例的VPN业务标识的分配方法的流程图;
图4是根据本发明实施例的VPN业务标识的分配方法的示例性流程图;
图5是根据本发明实施例的VPN业务标识的分配方法的又一示例性流程图;
图6是根据本发明实施例的报文处理方法的流程图;
图7是根据本发明实施例的VPN业务标识的分配装置的结构框图;
图8是根据本发明实施例的报文处理装置的结构框图;
图9是根据本发明实例1的边界设备分配MPLS标签/SRv6 SID流程的示意图;
图10是根据本发明实例1的边界设备接收报文处理流程的示意图;
图11是根据本发明实例2的BGP扩展团体属性的通用格式的示意图;
图12是根据本发明实例2的标签/SID分配扩展团体属性的第一种扩展形式的示意图;
图13是根据本发明实例3的标签/SID分配扩展团体属性的第二种扩展形式的示意图;
图14是根据本发明实例2的BGP能力可选参数的示意图;
图15是根据本发明实例3的MPLS VPN与SRv6 VPN互通的网络架构图;
图16是根据本发明实例3的一级表项的示意图;
图17是根据本发明实例3的RD空间表项的一种形式的示意图;
图18是根据本发明实例3的RD空间表项的另一种形式的示意图;
图19是根据本发明实例4的一级表项的示意图;
图20是根据本发明实例4的RD空间表项的示意图;
图21是根据本发明实例5的MPLS VPN跨AS互通的架构示意图;
图22是根据本发明实例5的一级表项的示意图;
图23是根据本发明实例5的RD空间表项的示意图。
具体实施方式
在SRv6与MPLS的混合网络中,一种场景是是MPLS VPN和SRv6 VPN同时存在,并且要求VPN业务能够在SRv6和MPLS之间互通。一种实现方案是,网络中存在边界设备,负责对SRv6 VPN和MPLS VPN进行转换和通告。
RFC4364中最早提出了在MPLS的网络中不同自治系统(Autonomour System,AS)的MPLS VPN之间进行互通的方式,分为三种方式,分别是option A\B\C。图1是根据本发明实施例的MPLS VPN跨AS互通组网示意图,如图1所示,用户边缘设备(Customer Edge,CE),例如,CE1与CE2需要进行互通。
如果采用option B方式,一般来说,则PE1与边界设备(例如,图1中所示为自治系统边界路由器(Autonomour System Border Router,ASBR))ASBR1之间、PE2与ASBR2之间建立边界网络协议(例如,内部边界网络协议(Internal Border Gateway Protocol,IBGP))邻居,传递VPN路由。ASBR1与ASBR2之间建立边界网络协议(例如,外部边界网络协议(External Border Gateway Protocol,EBGP))邻居。ASBR1与ASBR2在接收到的AS内的VPN路由后,将其中的VPN标签转换为一个新的MPLS标签,重新通告VPN路由给对端ASBR,携带新的MPLS标签,下一跳为自身,相应的转发表项为交换标签并进行转发。
类似optionB中将MPLS VPN标签进行转换的思想,可以应用到MPLS VPN和SRv6VPN互通的场景中,即在一个边界设备上,将MPLS VPN标签和SRv6 Service SID进行转换,然后向对端ASBR通告相应的MPLS VPN或者SRv6 VPN路由,携带转换过后的MPLS VPN标签或者SRv6 Service SID。
相关技术中,有在MPLS VPN和SRv6 VPN互通时采用将MPLS VPN标签和SRv6Service SID互相转换/翻译的思想,但没有对ASBR上具体的标签分配和转发表项构建方式进行说明。
在MPLS VPN和SRv6 VPN互通时,需要考虑的一个方面是,由于SRv6 SID的长度有128bit,因此当用SRv6 SID作为VPN标识时,VPN标识的空间是远远大于MPLS VPN中的20bit的空间的。这就意味着,在SRv6侧,可以允许海量的站点接入,一个PE上就可能存在海量的业务前缀和VPN实例。而MPLS标签空间与之相比是有限的,因此在标签分配时,需要考虑如何才能更好的节省MPLS标签。同时一旦SRv6 VPN中某个PE失效,路由撤销或者切换的规模也可能远大于原有MPLS VPN场景,这也是标签分配方案需要考虑的。
在MPLS VPN option B中,ASBR上的标签分配方式主要包括以下几种:
1、按收到路由的VPN标签/路由区分符(Route Distinguisher,RD)+下一跳分配。在与SRv6 VPN互通时为每SRv6 Service SID+下一跳。该方式的缺点在于,在双归保护的场景下,对于同一个VPN路由前缀,会存在两个下一跳不同的路由。ASBR上首先会对路由进行择优,针对该高优先级的路由的SID和下一跳分配一个MPLS标签,并对外通告,如果该路由失效,则低优先级路由生效,需要释放原有分配的MPLS标签、撤销相应的路由,重新分配标签和通告路由。在路由量很大的情况下,另外还有可能叠加拓扑震荡即下一跳反复切换的场景,会引起标签分配和路由的震荡,不利于网络的稳定运行。
2、按VPN标签(在SRv6中则为SRv6 Service SID)/RD+前缀分配,如前所述,SRv6侧能够接入的前缀数量远大于MPLS,ASBR上MPLS标签的数量可能会被耗尽,方案可扩展性不佳。
3、按VPN标签/RD+前缀+下一跳分配,即每路由每标签,该方式ASBR上需要消耗极大的标签资源,在MPLS VPN网络中已存在规模性问题,更不利于与SRv6 VPN的互通。
可以看出,在MPLS VPN与SRv6 VPN互通时,需要一个能够节约MPLS标签以及相对稳定的标签分配方案。此外,以L3 VPN为例,不同域的MPLS VPN的标签空间的大小可能不同,在进行MPLS VPN之间的VPN互通时,同样可能存在节约MPLS标签以及相对稳定的标签分配的需求。
考虑到上述需求,本发明实施例提供了虚拟专用网络业务标识的分配方法、报文处理方法及装置,以及相关的存储介质和电子装置。下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在网络的边界设备中执行,边界设备可以是域中的边界设备,也可以是域间的边界设备,具体而言,边界设备可以包括ABSR或区域边界路由器(Area Border Routers,ABR)。图2是本发明实施例的一种虚拟专用网络业务标识的分配方法和报文处理方法的边界设备的硬件结构框图。如图2所示,边界设备可以包括一个或多个(图2中仅示出一个)处理器202(处理器202可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器204,其中,上述边界设备还可以包括用于通信功能的传输设备206以及输入输出设备208。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述边界设备的结构造成限定。例如,边界设备还可包括比图1中所示更多或者更少的组件,或者具有与图2所示不同的配置。
存储器204可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的虚拟专用网络业务标识的分配方法和报文处理方法对应的计算机程序,处理器202通过运行存储在存储器204内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器204可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器204可进一步包括相对于处理器202远程设置的存储器,这些远程存储器可以通过网络连接至边界设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
在本实施例中提供了一种运行于边界设备的VPN业务标识的分配方法,该方法应用于预定边界设备,其中所述预定边界设备包括:第一域的边界设备或第一域和第二域之间的边界设备。本实施例的方法适用于VPN互通的场景,包括MPLS VPN互通场景,以及MPLSVPN和SRv6 VPN互通的场景。因此,在一些示例性实施方式中,所述第一域为MPLS域,所述第二域为SRv6域;或者所述第一域为SRv6域,所述第二域为MPLS域;或者所述第一域为MPLS域,所述第二域为MPLS域。
图3是根据本发明实施例的VPN业务标识的分配方法的流程图,如图3所示,该流程包括如下步骤:
步骤S302,接收所述第一域中的PE通告的第一VPN路由,其中,所述第一VPN路由中包括RD和报文特征。
在实际网络应用中,第一域中可以包括多个PE,它们可以分别通告各自的第一VPN路由。
在一些示例性实施方式中,第一VPN路由还可以包括以下至少之一:下一跳信息和对应于所述第一域的第一VPN业务标识。举例而言,在SRv6 VPN场景中,第一VPN路由可以为以下形式:RD:RD1,prefix:prefix2,next hop:PE2,service SID:SID21,其中,RD即为路由区分符,prefix为用户边缘设备的前缀(也称为地址),next hop即为下一跳信息,serviceSID即为当前场景下的第一VPN业务标识。需要说明的是,以上举例仅为便于理解,不应当认为是对本发明的限定,本发明实施例的方案并不限于某种具体的VPN路由形式。
在该步骤中,在所述第一域为MPLS域,所述第二域为SRv6域的情况下,所述第一VPN业务标识为MPLS标签。在所述第一域为SRv6域,所述第二域为MPLS域的情况下,所述第一VPN业务标识为SRv6 SID。在所述第一域和所述第二域为MPLS域的情况下,所述第一VPN业务标识为MPLS标签。
步骤S304,根据所述RD分配对应于所述第二域的第二VPN业务标识,其中,所述第二VPN业务标识和所述RD之间一一对应。
该步骤中,在所述第一域为MPLS域,所述第二域为SRv6域的情况下,所述第二VPN业务标识为SRv6 SID。在所述第一域为SRv6域,所述第二域为MPLS域的情况下,所述第二VPN业务标识为MPLS标签。在所述第一域和所述第二域为MPLS域的情况下,所述第二VPN业务标识为MPLS标签。
根据步骤S304可知,在该方法中,为实现VPN互通,分配了与RD一一对应的第二VPN业务标识。相对于按收到路由的VPN标签+下一跳分配、按VPN标签/RD+前缀分配、按VPN标签+前缀+下一跳分配的VPN业务标识分配方案,该方法分配的VPN业务标识的数量大大减少,从而有效节约了VPN业务标识。
在一些示例性实施方式中,在L3 VPN的情况下,所述第一域中的所述PE创建的虚拟路由转发(Virtual Routing Forwarding,VRF)实例建议与所述RD一一对应,也就是说,网络中可以将RD规划为与VRF实例一一对应。由于RD和VRF实例之间的这种一一对应的关联相对较为稳定,不会频繁变换,所以,步骤S304采用按RD分配第二VPN业务标识的方式,在FRR/ECMP场景,对于同一个VPN业务存在多个下一跳的场景下,不管哪一个下一跳的路由生效,按RD分配的第二VPN业务标识都不会改变,变化的只是RD空间表项中具体的OutgoingAction,因此是一种更为稳定的标签分配方案。
在实际应用中,考虑到标签分配的方式有多种,不同设备支持的标签分配方式也有所不同,所以对于当前的根据所述RD分配对应于所述第二域的第二VPN业务标识的分配方式,预定边界设备可以上报其对该分配方式是否支持,从而配置端可以根据该上报来配置预定边界设备采取的分配方式(配置的分配方式需要是该预定边界设备支持的)。
基于该考虑,在一些示例性实施方式中,所述方法还可以包括:将所述预定边界设备支持的分配方式上报给配置端,其中,所述分配方式包括:根据RD分配VPN业务标识;接收所述配置端根据所述预定边界设备支持的分配方式配置的分配方式。
在一些示例性实施方式中,所述预定边界设备可以通过以下方式之一将所述预定边界设备支持的分配方式上报给所述配置端:通过路径计算单元通信协议(PathComputation Element Communication Protocol,PCEP)上报;通过路径计算单元中央控制器(Path Computation Element Central Controller,PCECC)协议上报;通过网络配置协议(Network Configuration Protocol,NETCONF)接口上报;通过BGP协议通告。
在一些示例性实施方式中,所述预定边界设备可以接收所述配置端根据所述预定边界设备支持的分配方式通过以下方式之一配置的分配方式:通过人工命令行配置;通过PCEP配置;通过PCECC协议配置;通过NETCONF接口配置;通过扩展BGP协议随VPN路由通告来配置。
步骤S306,根据所述第一VPN路由生成对应于所述RD的RD空间表项,并生成业务标识表项,其中,所述RD空间表项包括对携带所述报文特征的报文执行的封装和转发动作,所述业务标识表项包括所述第二VPN业务标识对应的预定动作,所述预定动作包括:查询所述RD空间表项(实质由行为和对象两部分构成,行为是指查询操作,查询的对象是所述RD空间表项,也就是步骤S306这里生成的这一个表项)。
在某些示例性实施方式中,所述预定动作还可以包括以下至少之一:剥离所述第二VPN业务标识的剥离动作;解除IPv6及扩展头的封装的解封装动作。
由前述分析,步骤S304中分配了与RD一一对应的第二VPN业务标识,该方法分配的VPN业务标识的数量大大减少,从而有效节约了VPN业务标识。但是,需要考虑预定边界设备接收到报文后,如何基于该第二VPN业务标识对应到第一VPN业务标识并确定下一步的封装和转发动作,从而完成报文的转发。在步骤S306中,通过生成业务标识表项(下文也称为一级表项,因为在接收到报文时首先查找该表项)和RD空间表项(下文也称为二级表项,因为在接收到报文时首先查找一级表项后,根据一级表项中匹配到的动作定位到当前的RD空间表项,进而继续查询该RD空间表项),可以保证收到报文时,正确找到对应的RD空间表项并基于RD空间表项的指示完成对应的封装和转发操作。
业务标识表项的形式多样,比较便于实施的方式有两种,方式一是根据RD及根据RD分配的VPN标识直接生成,匹配项直接是VPN标识,动作为查询特定的RD空间表项;方式二是仅在SRv6的情况下,根据RD分配了一个VPN标识即SRv6 SID,该SID具备网络编程功能。该表项匹配的是网络编程功能。但无论哪种形式,表项的核心内容是一样的,即根据VPN标识,查询RD空间表项,该表项生成的源头(或称基础)也是一样的,就是根据RD分配了VPN标识,二者的一一对应关系。基于此,在一些示例性实施例中,生成所述业务标识表项可以包括以下之一:
生成并在所述预定边界设备中存储所述业务标识表项,其中,所述业务标识表项中以所述第二VPN业务标识为索引,记录所述第二VPN业务标识对应的所述预定动作,该过程对应于方式一;
在所述第二VPN业务标识为SRv6 SID的情况下,通过所述第二VPN业务标识的网络编程功能指示所述预定动作,该过程对应于方式二。
在实际实施中,通过所述第二VPN业务标识的网络编程功能指示所述预定动作可以包括以下之一:
在所述第二VPN业务标识的功能(Function)部分指示所述预定动作,并在所述第二VPN业务标识的参数(Argument)部分携带所述RD,这样,通过Function部分指示所述预定动作,对于查询所述RD空间表项的动作,具体要查询哪个RD空间表项可以通过读取Argument部分携带的RD来确定,RD和RD空间表项具有对应关系,基于RD可以查询到对应的RD空间表项;或者,
在所述第二VPN业务标识的功能(Function)部分指示所述预定动作,并在所述第二VPN业务标识的参数(Argument)部分携带所述RD空间表项对应的标识号(例如,RD空间表项编号/表号/索引号),这样,通过Function部分指示所述预定动作,对于查询所述RD空间表项的动作,具体要查询哪个RD空间表项可以通过读取Argument部分携带的RD空间表项对应的标识号来确定,直接查询该标识号所标识的RD空间表项;或者,
在所述第二VPN业务标识的功能(Function)部分指示所述预定动作,并在所述第二VPN业务标识的功能(Function)部分携带所述RD,一种实现方式是定义一个指示所述预定动作的取值范围(例如定义取值范围100-400对应着去除IPv6及其所有扩展头封装,然后本地查询RD空间表项),通过读取Function部分的具体取值(例如200),确定其所落入的取值范围(即落入了100-400的范围)即可确定当前Function部分指示的是什么动作,进一步Function部分的具体取值(200)还指示了对应的RD值,其能够唯一对应一个RD,并进一步对应到具体的RD空间选项,这样基于RD就可以查询到对应的RD空间表项;或者,
在所述第二VPN业务标识的功能(Function)部分指示所述预定动作,并在所述第二VPN业务标识的功能(Function)部分携带所述RD空间表项对应的标识号(例如,RD空间表项编号/表号/索引号),一种实现方式是定义一个指示所述预定动作的取值范围(例如定义取值范围100-400对应着去除IPv6及其所有扩展头封装,然后本地查询RD空间表项),通过读取Function部分的具体取值(例如200),确定其所落入的取值范围(即落入了100-400的范围)即可确定当前Function部分指示的是什么动作,进一步Function部分的具体取值(200)还指示了RD空间表项对应的标识号,其能够唯一标识一个RD空间表项,这样基于该标识号就可以查询到对应的RD空间表项。
步骤S306中的根据所述第一VPN路由生成对应于所述RD的RD空间表项的操作,以及生成业务标识表项的操作,二者之间的执行顺序是可以互换的,其先后顺序没有特定的限制。
图4是根据本发明实施例的VPN业务标识的分配方法的示例性流程图,如图4所示,所述第一VPN路由中还可以包括对应于所述第一域的第一VPN业务标识,在此情况下,在步骤S304根据所述RD分配对应于所述第二域的第二VPN业务标识之后,所述方法还包括:
步骤S402,对所述第一VPN路由执行第一预定处理以得到第二VPN路由,其中,所述第一预定处理包括:将所述第一VPN业务标识替换为所述第二VPN业务标识。
在一些示例性实施例中,所述第一VPN路由中还可以包括下一跳信息,所述第一预定处理还包括:将所述下一跳信息修改为所述预定边界设备。
在所述第一域为MPLS域,所述第二域为SRv6域的情况下,所述第一VPN业务标识为MPLS标签。
在所述第一域为SRv6域,所述第二域为MPLS域的情况下,所述第一VPN业务标识为SRv6SID。
在所述第一域和所述第二域为MPLS域的情况下,所述第二VPN业务标识为MPLS标签。
步骤S404,向所述第二域通告所述第二VPN路由。
在一些示例性实施例中,所述预定边界设备包括所述第一域和所述第二域之间的边界设备,此时向所述第二域通告所述第二VPN路由包括:向所述第二域中的PE通告所述第二VPN路由。
在另一些示例性实施例中,所述预定边界设备包括所述第一域的边界设备,此时向所述第二域通告所述第二VPN路由包括:向所述第二域的边界设备通告所述第二VPN路由。
作为一个对称的网络架构,在所述预定边界设备包括所述第一域的边界设备的情况下,所述预定边界设备也可能会从第二域的边界设备接收到VPN路由的通告,此时,也会涉及到VPN业务标识的分配。需要说明的是,此时,所述预定边界设备采用的VPN业务标识的分配方式可以包括上述按RD分配VPN业务标识的方式,也可以采用其他的分配方式。图5是根据本发明实施例的VPN业务标识的分配方法的又一示例性流程图,如图5所示,基于这种场景,本方法还包括以下步骤:
步骤S502,接收所述第二域的边界设备通告的第三VPN路由,其中,所述第三VPN路由中包括对应于所述第一域的第三VPN业务标识;
步骤S504,根据配置的分配方式分配对应于所述第一域的第四VPN业务标识;
步骤S506,对所述第三VPN路由执行第二预定处理以得到第四VPN路由,其中,所述第二预定处理包括:将所述第三VPN业务标识替换为所述第四VPN业务标识,以及将所述下一跳信息修改为所述预定边界设备;
步骤S508,向所述第一域中的PE通告所述第四VPN路由。
在一些示例性实施例中,所述分配方式可以包括以下之一:
根据所述第三VPN路由中的RD分配;
根据所述第三VPN路由中的RD和报文特征分配;
根据所述第三VPN路由中的所述第三VPN业务标识和报文特征分配;
根据所述第三VPN路由中的所述第三VPN业务标识、报文特征和下一跳信息分配。
需要说明的是,图5所示的VPN业务标识的分配方法,可以与图3和图4所示的VPN业务标识的分配方法一同使用,此时,针对第一域的PE方向的VPN路由可以采用图3和图4所示的VPN业务标识的分配方法进行处理,针对第二域的边界设备方向的VPN路由可以采用图5所示的VPN业务标识的分配方法。图5所示的VPN业务标识的分配方法,也可以独立于图3和图4所示的VPN业务标识的分配方法使用,此时,针对第二域的边界设备方向的VPN路由可以采用图5所示的VPN业务标识的分配方法,针对第一域的PE方向的VPN路由可以采任意的VPN业务标识的分配方法进行处理。当然,图3和图4所示的VPN业务标识的分配方法,也可以独立于图5所示的VPN业务标识的分配方法使用,此时,针对第一域的PE方向的VPN路由可以采用图3和图4所示的VPN业务标识的分配方法,针对第二域的边界设备方向的VPN路由可以采任意的VPN业务标识的分配方法进行处理。
在本实施例中提供了一种运行于边界设备的报文处理方法,该方法应用于预定边界设备,其中所述预定边界设备包括:第一域的边界设备或第一域和第二域之间的边界设备。本实施例的方法适用于VPN互通的场景,包括MPLS VPN互通场景,以及MPLS VPN和SRv6VPN互通的场景。因此,在一些示例性实施方式中,所述第一域为MPLS域,所述第二域为SRv6域;或者所述第一域为SRv6域,所述第二域为MPLS域;或者所述第一域为MPLS域,所述第二域为MPLS域。
图6是根据本发明实施例的报文处理方法的流程图,如图6所示,该流程包括如下步骤:
步骤S602,接收来自所述第二域的报文,其中,所述报文携带报文特征和对应于所述第二域的第二VPN业务标识,所述第二VPN业务标识和所述报文对应的RD之间一一对应;
步骤S604,查询业务标识表项以确定所述第二VPN业务标识对应的预定动作,其中,所述预定动作包括:查询RD空间表项;
步骤S606,根据所述报文特征查询所述RD空间表项以确定封装和转发动作,并基于确定的封装和转发动作对所述报文进行封装和转发,其中,所述RD空间表项包括对携带所述报文特征的报文执行的封装和转发动作。
在一些示例性实施方式中,所述预定动作还可以包括以下至少之一:剥离所述第二VPN业务标识的剥离动作;解除IPv6及扩展头的封装的解封装动作。
在步骤S602查询业务标识表项以确定所述第二VPN业务标识对应的预定动作之后,还包括至少之一:基于所述剥离动作对所述报文进行处理;基于所述解封装动作对所述报文进行处理。
通过上述方法,在分配的VPN业务标识(第二VPN业务标识)的数量大大减少的情况下,边界设备接收到携带第二VPN业务标识的报文后,能够基于该第二VPN业务标识对应到第一VPN业务标识并确定下一步的封装和转发动作,从而完成报文的正确转发。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种VPN业务标识的分配装置,该装置位于预定边界设备,其中所述预定边界设备包括:第一域的边界设备或第一域和第二域之间的边界设备该装置。该VPN业务标识的分配装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本发明实施例的VPN业务标识的分配装置的结构框图,如图7所示,该装置包括:
第一接收模块72,设置为接收所述第一域中的供应商边缘设备PE通告的第一VPN路由,其中,所述第一VPN路由中包括路由区分符RD和报文特征;
分配模块74,设置为根据所述RD分配对应于所述第二域的第二VPN业务标识,其中,所述第二VPN业务标识和所述RD之间一一对应;
生成模块76,设置为根据所述第一VPN路由生成对应于所述RD的RD空间表项,并生成业务标识表项,其中,所述RD空间表项包括对携带所述报文特征的报文执行的封装和转发动作,所述业务标识表项包括所述第二VPN业务标识对应的预定动作,所述预定动作包括:查询所述RD空间表项。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
在本实施例中还提供了一种报文处理装置,该装置位于预定边界设备,其中所述预定边界设备包括:第一域的边界设备或第一域和第二域之间的边界设备该装置。该报文处理装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图8是根据本发明实施例的报文处理装置的结构框图,如图8所示,该装置包括:
第二接收模块82,设置为接收来自所述第二域的报文,其中,所述报文携带报文特征和对应于所述第二域的第二VPN业务标识,所述第二VPN业务标识和所述报文对应的RD之间一一对应;
第一查询模块84,设置为查询业务标识表项以确定所述第二VPN业务标识对应的预定动作,其中,所述预定动作包括:查询RD空间表项;
第二查询模块86,设置为根据所述报文特征查询所述RD空间表项以确定封装和转发动作,其中,所述RD空间表项包括对携带所述报文特征的报文执行的封装和转发动作;
封装转发模块88,设置为基于确定的封装和转发动作对所述报文进行封装和转发。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
以下通过一些实例,对前述实施例中提供的虚拟专用网络业务标识的分配方案、报文处理方案进行举例说明,需要说明的是,以下实例不应当被理解为是对前述方案的限定。
实例1
该实例一种分配MPLS标签/SRv6 SID的方法,应用于两个域(可以是两个不同属性的区域,这样的不同的域可能是基于AS划分,也可能是基于数据面采用的不同的技术来划分)之间的边界设备,或称中间设备,该方法用于VPN业务之间的互通,互通包括MPLS VPN之间互通,SRv6 VPN与MPLS VPN之间的互通。
其中,边界设备是网络中的一个/一组设备,负责接收本域内的VPN路由,对其进行处理后,向其他域通告通过处理该VPN路由生成的新的VPN路由,对VPN路由的处理主要包括,替换路由中的MPLS标签/SRv6 SID,修改路由下一跳。边界设备包括自治系统边界路由器ASBR,区域边界路由器ABR等。
图9是根据本发明实例1的边界设备分配MPLS标签/SRv6 SID流程的示意图,如图9所示,包括以下步骤:
步骤S902,边界设备接收到VPN路由,其中VPN路由包括MPLS VPN路由和SRv6 VPN路由。
步骤S904,边界设备根据接收到的VPN路由中的RD信息,分配一个MPLS标签/SRv6SID,RD与其是一一对应的关系。
步骤S906,根据分配的结果及接收到的VPN路由,边界设备上生成两级表项。
第一级表项为MPLS标签/SRv6 SID表项,以新分配的MPLS标签/SRv6 SID为索引,匹配后动作为查询相应的RD空间表项,还可能包含的动作有,剥离MPLS VPN标签/解除IPv6封装等。
第二级表项为RD空间表项,根据收到的VPN路由生成,匹配项为收到的VPN路由中携带的报文特征,例如,L3 VPN/EVPN中的IP前缀,L2VPN/EVPN VPLS中VC标签等,匹配后执行相应的动作,包括对报文的封装和转发行为,其中,报文封装动作包括,压入MPLS标签或标签栈、将报文封装为IPv6或SRv6报文等,转发行为包括,将报文向指定端口/链路/邻居/下一跳转发等。
步骤S908,边界设备对外通告VPN路由,携带新分配的MPLS标签/SRv6 SID。
图10是根据本发明实例1的边界设备接收报文处理流程的示意图,如图10所示,边界设备在从收到报文后,根据S906中生成的表项,进行以下处理步骤:
步骤S1002,根据报文中携带的MPLS标签/SRv6 SID信息,匹配基于MPLS标签/SRv6SID的一级表项,查找对应的RD空间表项;
步骤S1004,在RD空间表项中,根据报文特征,匹配对应表项条目,根据条目内容对报文进行处理和转发。
由于接收到的报文除VPN标签/SRv6 Service SID外,还能包括到达边界设备的隧道/路径对应的MPLS标签/标签栈或者SRv6 SID/SID List信息,因此在S1002之前,还可能包括的步骤有,剥离MPLS标签或处理SRH报文头等,该对报文处理的操作为现有机制。
实例2
在边界设备上,可以通过配置的方式指定标签/SID分配方式,例如通过人工CLI(命令行)配置,或者通过PCEP/PCECC/NETCONF等协议配置,也可以通过扩展BGP协议随VPN路由通告来实现。
其中一种方式为扩展BGP扩展团体属性(BGP Extended CommunitiesAttribute)。
图11是根据本发明实例2的BGP扩展团体属性的通用格式的示意图。Type字段分为高8bit和低8bit位,一种使用方式是,高8bit可以说明扩展属性的大类,低8bit进一步说明子类型。
图12是根据本发明实例2的标签/SID分配扩展团体属性的第一种扩展形式的示意图,如图12所示,基于目前的大类(以高8bit为0x03对应的Opaque Extended Community为例),扩展一个子类型TBD1,对应Label/SID Allocation Extended Community,说明该扩展属性指明了标签/SID分配类型。
Allocation Type字段,说明具体的分配类型,例如:
取值为0x01时,代表分配类型为按RD分配;
取值为0x02时,代表分配类型为按RD+前缀分配;
取值为0x03时,代表每路由分配等。
图13是根据本发明实例3的标签/SID分配扩展团体属性的第二种扩展形式的示意图,如图13所示,通过高8bit,定义一个全新类型的扩展团体属性,通过低8bit作为子类型或者Allocation Type中携带类型值,说明具体的分配类型。
扩展团体属性随VPN路由携带,边界设备收到后,针对该条路由,按RD进行标签/SID的分配。
在指定边界设备标签/SID分配方式之前,可能的步骤还包括,获取边界设备支持按何种方式分配标签/SID,可能的方式包括PCEP/PCECC协议上报给配置端,或者通过NETCONF接口上报,或者通过BGP协议通告等。
在BGP中,可能采取扩展BGP能力可选参数(Capabilities Optional Parameter)对边界设备的支持标签/SID分配的能力进行说明。图14是根据本发明实例2的BGP能力可选参数的示意图,如RFC5492定义,在BGP能力可选参数在BGP OPEN消息中携带,包含Capability Code,Capability Length,Capability Value三个字段。
通过一个新的Capability Code,TBD3,说明通告端支持指定标签/SID分配方式,具体的分配方式通过在Capability Value中携带类型值说明。例如,取值为0x01时,代表分配类型为按RD分配;取值为0x02时,代表分配类型为按RD+前缀分配;取值为0x03时,代表每路由分配等。
通过该参数,PE设备可以获取设备的支持按何种方式分配标签/SID。从而PE在向边界设备通告VPN路由时,可以指定采用对应的边界设备支持的分配方式。
实例3
本实例以L3VPN为例,具体说明MPLS VPN与SRv6 VPN互通的流程。
图15是根据本发明实例3的MPLS VPN与SRv6 VPN互通的网络架构图,如图15所示,PE1只支持MPLS VPN,PE2、PE3支持SRv6 VPN,ABR1和ABR2为边界设备,同时支持MPLS VPN和SRv6 VPN。PE1与ABR1之间建立IBGP邻居,ASBR2与PE2、PE3之间建立IBGP邻居(在路由反射器RR存在的情况下,PE、ABR不直接建立BGP邻居,而是各自和RR建立BGP邻居),ABR1与ABR2之间,建立EBGP邻居。
CE1、CE2、CE3、CE4、CE5对应的前缀分别为prefix1、prefix2、prefix3、prefix2、prefix5。
PE上创建相应的VRF实例,其中CE1、CE2与CE5属于VRF1,CE3与CE4属于VRF2。
PE上按VRF为VPN实例分配VPN标签/SID。PE1上为VRF1分配VPN标签label1,为VRF2分配label2;PE2上为VRF1分配SRv6 Service SID21;PE3上为VRF1分配SRv6 ServiceSID31,为VRF2配SRv6 Service SID32。
网络中,RD规划为与VRF一一对应,例如RD1对应VRF1,RD2对应VRF2。
PE2向ABR2通告SRv6 VPN路由:
RD:RD1,prefix:prefix2,next hop:PE2,service SID:SID21;
RD:RD1,prefix:prefix5,next hop:PE2,service SID:SID21。
PE3向ABR2通告SRv6 VPN路由:
RD:RD1,prefix:prefix2,next hop:PE3,service SID:SID31;
RD:RD2,prefix:prefix2,next hop:PE3,service SID:SID32。
ABR2作为边界设备,在收到SRv6 VPN路由后,按RD分配MPLS标签,RD1分配标签1001,RD2分配标签1002,并构建相应的表项。
对于同一个前缀,VRF1 prefix2,ASBR2收到的两条路由,下一跳分别为PE2和PE3,假设来自PE2的路由优先级较高,为优选路径,来自PE3的路由为备选路径。
图16是根据本发明实例3的一级表项的示意图,如图16所示,匹配到标签后,动作为剥离该标签,查找对应的RD空间表项。
RD空间表项根据收到的VPN路由生成,根据VPN路由迭代结果的不同,表项中的出向动作可能不一样。
图17是根据本发明实例3的RD空间表项的一种形式的示意图,如果ABR2到PE2/PE3之间的路径是SRv6-BE(best effort)路径,即没有SR Policy的情况,则转发表的形式可能如图17所示。直接将报文封装为IPv6包,将目的地址设置为SRv6 Service SID。图17中的转发到相应PE仅为示意,说明报文的转发目的地,实际出端口/链路/邻居可能根据路由表项中的下一跳迭代,例如对于prefix5,下一跳为PE2,而PE2的可达性由IGP通告,下一跳为与ABR2直连的P2,则Outgoing Action中的动作为将报文转发至P2。可以看出,采用按RD分配标签/SID的方式,在FRR/ECMP场景,对于同一个VPN业务存在多个下一跳的场景下,不管哪一个下一跳的路由生效,按RD分配的标签/SID都不会改变,变化的只是RD空间表项中具体的OutgoingAction,因此是一种更为稳定的方案。
图18是根据本发明实例3的RD空间表项的另一种形式的示意图,如果ABR2到PE之间的路径是SR-TE(Traffic Engineering)路径,即需要路径需要依据指定SRPolicy的情况。例如ABR2到PE3需要沿segment list<SIDA,SIDB,SIDC>转发,则转发表形式可能如图18所示,将报文封装为携带SRH的IPv6包,SRH中携带SRPolicy中的segment list,相应的Service SID作为最后一个待处理segment携带在SRH中,然后遵循常规SRH处理流程,将报文转发到segmentlist中第一个segment对应的节点/链路。图18中的转发动作与前文类似,仅为示意,实际可能是一个进一步迭代后的结果。
ABR2在分配完标签和生成相应表项后,ABR2向ABR1通告新生成的MPLS VPN路由,携带分配的MPLS标签,下一跳为ABR2自身。
RD:RD1,prefix:prefix2,next hop:ASBR2,VPN Label:1001;
RD:RD1,prefix:prefix5,next hop:ASBR2,VPN Label:1001;
RD:RD2,prefix:prefix2,next hop:ASBR2,VPN Label:1002。
ABR1收到后,可以采用原有option B中的处理方式,即按RD+前缀分配新的MPLS标签,然后向PE1通告MPLS VPN路由,携带新的MPLS标签。
RD:RD1,prefix:prefix2,next hop:ASBR1,VPN Label:1011;
RD:RD1,prefix:prefix5,next hop:ASBR1,VPN Label:3021;
RD:RD2,prefix:prefix2,next hop:ASBR1,VPN Label:1012。
PE1收到MPLS VPN路由后,生成相应的路由表项。假设PE1与MPLS之间还存在LDP建立的MPLS隧道,对应的标签为1111。
CE1与CE2需要互通,数据面流程如下:
CE1发出报文,目的地址的前缀为prefix2;
PE1查询路由表项,封装MPLS报文转发给ABR1,MPLS标签栈为<1111,1011>;
ABR1首先剥离隧道标签1111,然后根据VPN标签查询标签转发表项,将1011交换为1001转发给ABR2;
ASBR2收到报文后,根据标签1001查询一级表项,动作为剥离MPLS标签,继续查询RD1空间表项,以RD空间表项采用图17所示形式为例。
由于payload的目的地址对应的前缀为prefix2,则命中table.RD1中prefix2对应条目,选择优先级高的条目转发,即,将payload封装在IPv6报文中,IPv6目的地址设置为SID21,转发至PE2。
如果PE2故障,引发优先级高的条目失效,则备选路径生效,将payload封装在IPv6报文中,IPv6目的地址设置为SID31,转发至PE3。
以上仅以ASBR1采用option B中的改变下一跳方式为例进行说明,采用option B的不改变下一跳方式同样适用,ASBR1上除了可以采用现有option B中的任何标签分配方式之外,也可以采用本发明实施例中的按RD分配标签并二次查表的方式。实例5说明了MPLSVPN到MPLS VPN的具体流程。
需要说明的是,在本实例及其后所有的实例中,ABR1/ASBR1和ABR2/ASBR2可能是同一个设备也可能是不同的设备。在是同一个设备的情况下,除了不需要在两个边界设备之间建立BGP邻居外(另外,相比于ABR1/ASBR1和ABR2/ASBR2是不同的设备时分别进行VPN业务标识的分配的方案,ABR1/ASBR1和ABR2/ASBR2是同一个设备时其可以只进行一次VPN业务标识的分配,无需进行两次VPN业务标识的分配),其他流程没有变化,合一的边界设备需要注意区分不同方向的RD空间表项。
实例4
实例4中说明了在MPLS VPN与SRv6 VPN互通场景下,SRv6 VPN向MPLS设备方向通告时,边界设备将SRv6 SID转换为MPLS标签,构建转发表项,并向MPLS方向通告转换后的MPLS VPN路由的流程。在MPLS VPN向SRv6方向通告时,同样可以采用类似的方式。
组网及配置与实例3一致,不再详述。
PE1向ABR1通告MPLS VPN路由:
RD:RD1,prefix:prefix1,next hop:PE1,Label:label 1;
RD:RD2,prefix:prefix3,next hop:PE1,Label:label 2。
ASBR1按RD分配SRv6 Service SID,为RD1分配SIDa,为RD2分配SIDb。
图19是根据本发明实例4的一级表项的示意图,如图19所示,匹配项为目的地址,动作为去除IPv6及其所有扩展头封装,查询相应的RD空间表项。
基于IPv6转发平面的段路由(Segment Routing over IPv6 dataplane,SRv6)Segment是一个128位的IPv6地址,通常也可以称为SRv6段标识(SRv6 SegmentIdentifier,简称为SRv6 SID或者SID)。SRv6 SID是一种网络指令(Instruction),它由定位(Locator)和功能(Function)以及可选的参数段(Argument)这几部分组成,Locator主要承担路由功能,所以要在SR域内唯一,Function可以标示设备的任何功能,比如某种转发行为,或者某种业务等。Argument携带的是参数部分。SRv6中引入了网络编程(networkprogramming)的概念。SRv6 SID的结构更有利于对网络进行编程。需要说明的是,目的地址为SID对应的行为,除了可以通过生成本地表项外,还可以通过定义新的网络编程功能实现。定义新的网络编程功能END.DR,对应的行为为去除IPv6及其所有扩展头封装,然后本地查询与该SID关联的RD对应的RD空间表项,为了指示具体查询的RD空间表项,可以将RD空间表项对应的RD携带在该网络编程功能的功能部分,或者将对应的RD空间表项编号/表号/索引号携带在该网络编程功能的功能部分;或者将对应的RD携带为该网络编程功能的参数,从参数中获取与该SID关联的RD,然后去查询RD对应的RD空间表项;或者将对应的RD空间表项编号/表号/索引号携带为该网络编程功能的参数,直接从参数获取到相应的RD空间表项。
图20是根据本发明实例4的RD空间表项的示意图。应当注意的是,对于针对不同方向的VPN路由,对应的RD空间的标识(如编号、索引、名称等等)建议予以区分,以实现正确的数据包转发查表,例如,图13中的RD空间表项通过将其命名为RD1’、RD2’区别于RD1、RD2空间表项。
动作为压入相应的MPLS VPN标签,转发到PE1。如果PE1与ASBR1非直连,存在MPLS转发路径,则需要压入转发路径对应的MPLS标签/标签列表,VPN标签位于标签栈底,将报文发送至路径的下一跳。
随后ABR1向ABR2通告SRv6 VPN路由,携带新分配的SRv6 SID,下一跳为ASBR1自身。
ABR2收到SRv6 VPN路由后,可以重新分配SRv6 SID,并继续向本域内PE通告新生成的路由,分配方式可以选择本发明中的按RD分配并构建二级表项,也可以选择现有的各种分配方式。或者不重新分配SRv6 SID,ABR2继续携带收到的ABR1中的SRv6 SID向本域内通告,下一跳为ABR1或者修改为ABR2自身。
实例5
实例5说明了MPLS VPN到MPLS VPN的具体流程。不同的AS之间的MPLS VPN进行互通时,同样也可以采用该种方案。RD空间表项中的动作会有所不同。图21是根据本发明实例5的MPLS VPN跨AS互通的架构示意图,如图21所示,PE1上为VRF1分配VPN标签label 11,为VRF2分配label 12;PE2上为VRF1分配VPN标签label21;为VRF2分配label22。PE1与ASBR1之间起IBGP,ASBR2与PE2、PE3之间起IBGP(在路由反射器RR存在的情况下,PE、ASBR分别和RR起IBGP),ASBR1与ASBR2之间,建立EBGP邻居。不同AS之间的MPLS VPN业务需要进行互通。
PE2向ASBR2通告L3VPN路由:
RD:RD1,prefix:prefix2,next hop:PE2,Label:label 21;
RD:RD2,prefix:prefix2,next hop:PE2,Label:label 22。
ASBR2按RD分配新的MPLS VPN标签,为RD1分配labela,为RD2分配labelb。
图22是根据本发明实例5的一级表项的示意图,如图22所示,动作为剥离MPLS标签,查询空间表项。
图23是根据本发明实例5的RD空间表项的示意图,如图23所示,压入对应的新分配的MPLS标签,向相应PE转发。
ASBR1收到VPN路由后,可以采用类似的方式按RD分配标签,并构建两级表项,也可以采用原有inter-as optionB的方案,不再重复说明。
综上,本发明实施例总体上提供了一种采用边界设备进行VPN互通的方案,包括边界设备按RD分配标签/SRv6 SID,根据分配结果和VPN路由生成两级表项,将本域内收到的VPN路由进行处理后,生成新的VPN路由对外通告。边界设备数据面收到报文后,通过二次查表的方式对报文进行转发。该方案分配的VPN业务标识的数量大大减少,从而有效节约了VPN业务标识。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (23)

1.一种虚拟专用网络业务标识的分配方法,其特征在于,应用于预定边界设备,其中所述预定边界设备包括:第一域的边界设备或第一域和第二域之间的边界设备,所述方法包括:
接收所述第一域中的供应商边缘设备通告的第一虚拟专用网络路由,其中,所述第一虚拟专用网络路由中包括路由区分符和报文特征;
根据所述路由区分符分配对应于所述第二域的第二虚拟专用网络业务标识,其中,所述第二虚拟专用网络业务标识和所述路由区分符之间一一对应;
根据所述第一虚拟专用网络路由生成对应于所述路由区分符的路由区分符空间表项,并生成业务标识表项,其中,所述路由区分符空间表项包括对携带所述报文特征的报文执行的封装和转发动作,所述业务标识表项包括所述第二虚拟专用网络业务标识对应的预定动作,所述预定动作包括:查询所述路由区分符空间表项。
2.根据权利要求1所述的方法,其特征在于,所述第一虚拟专用网络路由中还包括对应于所述第一域的第一虚拟专用网络业务标识,在根据所述路由区分符分配对应于所述第二域的第二虚拟专用网络业务标识之后,所述方法还包括:
对所述第一虚拟专用网络路由执行第一预定处理以得到第二虚拟专用网络路由,其中,所述第一预定处理包括:将所述第一虚拟专用网络业务标识替换为所述第二虚拟专用网络业务标识;
向所述第二域通告所述第二虚拟专用网络路由。
3.根据权利要求2所述的方法,其特征在于,所述第一虚拟专用网络路由中还包括下一跳信息,所述第一预定处理还包括以下之一:保留所述下一跳信息不变;将所述下一跳信息修改为所述预定边界设备。
4.根据权利要求2所述的方法,其特征在于,在所述预定边界设备包括所述第一域和所述第二域之间的边界设备的情况下,向所述第二域通告所述第二虚拟专用网络路由包括:
向所述第二域中的供应商边缘设备通告所述第二虚拟专用网络路由。
5.根据权利要求2所述的方法,其特征在于,在所述预定边界设备包括所述第一域的边界设备的情况下,向所述第二域通告所述第二虚拟专用网络路由包括:
向所述第二域的边界设备通告所述第二虚拟专用网络路由。
6.根据权利要求1所述的方法,其特征在于,在所述预定边界设备包括所述第一域的边界设备的情况下,还包括:
接收所述第二域的边界设备通告的第三虚拟专用网络路由,其中,所述第三虚拟专用网络路由中包括对应于所述第一域的第三虚拟专用网络业务标识;
根据配置的分配方式分配对应于所述第一域的第四虚拟专用网络业务标识;
对所述第三虚拟专用网络路由执行第二预定处理以得到第四虚拟专用网络路由,其中,所述第二预定处理包括:将所述第三虚拟专用网络业务标识替换为所述第四虚拟专用网络业务标识,以及将所述下一跳信息修改为所述预定边界设备;
向所述第一域中的供应商边缘设备通告所述第四虚拟专用网络路由。
7.根据权利要求6所述的方法,其特征在于,所述分配方式包括以下之一:
根据所述第三虚拟专用网络路由中的路由区分符分配;
根据所述第三虚拟专用网络路由中的路由区分符和报文特征分配;
根据所述第三虚拟专用网络路由中的所述第三虚拟专用网络业务标识和报文特征分配;
根据所述第三虚拟专用网络路由中的所述第三虚拟专用网络业务标识、报文特征和下一跳信息分配。
8.根据权利要求1-7中任一项所述的方法,其特征在于,还包括:
将所述预定边界设备支持的分配方式上报给配置端,其中,所述分配方式包括:根据路由区分符分配虚拟专用网络业务标识;
接收所述配置端根据所述预定边界设备支持的分配方式配置的分配方式。
9.根据权利要求8所述的方法,其特征在于,通过以下方式之一将所述预定边界设备支持的分配方式上报给所述配置端:
通过路径计算单元通信协议上报;
通过路径计算单元中央控制器协议上报;
通过网络配置协议接口上报;
通过边界网关协议通告。
10.根据权利要求8所述的方法,其特征在于,接收所述配置端根据所述预定边界设备支持的分配方式通过以下方式之一配置的分配方式:
通过人工命令行配置;
通过路径计算单元通信协议配置;
通过路径计算单元中央控制器协议配置;
通过网络配置协议接口配置;
通过扩展边界网关协议随虚拟专用网络路由通告来配置。
11.根据权利要求1所述的方法,其特征在于,所述预定动作还包括以下至少之一:
剥离所述第二虚拟专用网络业务标识的剥离动作;
解除互联网协议第6版及扩展头的封装的解封装动作。
12.根据权利要求1或11所述的方法,其特征在于,生成所述业务标识表项包括以下之一:
生成并在所述预定边界设备中存储所述业务标识表项,其中,所述业务标识表项中以所述第二虚拟专用网络业务标识为索引,记录所述第二虚拟专用网络业务标识对应的所述预定动作;
在所述第二虚拟专用网络业务标识为基于IPv6转发平面的段路由的段标识的情况下,通过所述第二虚拟专用网络业务标识的网络编程功能指示所述预定动作。
13.根据权利要求12所述的方法,其特征在于,通过所述第二虚拟专用网络业务标识的网络编程功能指示所述预定动作包括以下之一:
在所述第二虚拟专用网络业务标识的功能部分指示所述预定动作,并在所述第二虚拟专用网络业务标识的参数部分携带所述路由区分符;或者,
在所述第二虚拟专用网络业务标识的功能部分指示所述预定动作,并在所述第二虚拟专用网络业务标识的参数部分携带所述路由区分符空间表项对应的标识号;或者,
在所述第二虚拟专用网络业务标识的功能部分指示所述预定动作,并在所述第二虚拟专用网络业务标识的功能部分携带所述路由区分符;或者,
在所述第二虚拟专用网络业务标识的功能部分指示所述预定动作,并在所述第二虚拟专用网络业务标识的功能部分携带所述路由区分符空间表项对应的标识号。
14.根据权利要求1所述的方法,其特征在于,在L3虚拟专用网络的情况下,所述第一域中的所述供应商边缘设备创建的虚拟路由转发实例与所述路由区分符一一对应。
15.根据权利要求1-14中任一项所述的方法,其特征在于,
所述第一域为多协议标签交换域,所述第二域为基于IPv6转发平面的段路由域,所述第二虚拟专用网络业务标识为基于IPv6转发平面的段路由的段标识;或者,
所述第一域为基于IPv6转发平面的段路由域,所述第二域为多协议标签交换域,所述第二虚拟专用网络业务标识为多协议标签交换标签;或者,
所述第一域和所述第二域为多协议标签交换域,所述第二虚拟专用网络业务标识为多协议标签交换标签。
16.根据权利要求2所述的方法,其特征在于,
所述第一域为多协议标签交换域,所述第二域为基于IPv6转发平面的段路由域,所述第一虚拟专用网络业务标识为多协议标签交换标签;或者,
所述第一域为基于IPv6转发平面的段路由域,所述第二域为多协议标签交换域,所述第一虚拟专用网络业务标识为基于IPv6转发平面的段路由的段标识;或者,
所述第一域和所述第二域为多协议标签交换域,所述第二虚拟专用网络业务标识为多协议标签交换标签。
17.一种报文处理方法,其特征在于,应用于预定边界设备,其中所述预定边界设备包括:第一域的边界设备或第一域和第二域之间的边界设备,所述方法包括:
接收来自所述第二域的报文,其中,所述报文携带报文特征和对应于所述第二域的第二虚拟专用网络业务标识,所述第二虚拟专用网络业务标识和所述报文对应的路由区分符之间一一对应;
查询业务标识表项以确定所述第二虚拟专用网络业务标识对应的预定动作,其中,所述预定动作包括:查询路由区分符空间表项;
根据所述报文特征查询所述路由区分符空间表项以确定封装和转发动作,并基于确定的封装和转发动作对所述报文进行封装和转发,其中,所述路由区分符空间表项包括对携带所述报文特征的报文执行的封装和转发动作。
18.根据权利要求17所述的方法,其特征在于,所述预定动作还包括以下至少之一:
剥离所述第二虚拟专用网络业务标识的剥离动作;
解除IPv6及扩展头的封装的解封装动作。
19.根据权利要求18所述的方法,其特征在于,在查询业务标识表项以确定所述第二VPN业务标识对应的预定动作之后,还包括至少之一:
基于所述剥离动作对所述报文进行处理;
基于所述解封装动作对所述报文进行处理。
20.一种虚拟专用网络虚拟专用网络业务标识的分配装置,其特征在于,位于预定边界设备,其中所述预定边界设备包括:第一域的边界设备或第一域和第二域之间的边界设备,所述装置包括:
第一接收模块,设置为接收所述第一域中的供应商边缘设备通告的第一虚拟专用网络路由,其中,所述第一虚拟专用网络路由中包括路由区分符和报文特征;
分配模块,设置为根据所述路由区分符分配对应于所述第二域的第二虚拟专用网络业务标识,其中,所述第二虚拟专用网络业务标识和所述路由区分符之间一一对应;
生成模块,设置为根据所述第一虚拟专用网络路由生成对应于所述路由区分符的路由区分符空间表项,并生成业务标识表项,其中,所述路由区分符空间表项包括对携带所述报文特征的报文执行的封装和转发动作,所述业务标识表项包括所述第二虚拟专用网络业务标识对应的预定动作,所述预定动作包括:查询所述路由区分符空间表项。
21.一种报文处理装置,其特征在于,位于预定边界设备,其中所述预定边界设备包括:第一域的边界设备或第一域和第二域之间的边界设备,所述装置包括:
第二接收模块,设置为接收来自所述第二域的报文,其中,所述报文携带报文特征和对应于所述第二域的第二虚拟专用网络业务标识,所述第二虚拟专用网络业务标识和所述报文对应的路由区分符之间一一对应;
第一查询模块,设置为查询业务标识表项以确定所述第二虚拟专用网络业务标识对应的预定动作,其中,所述预定动作包括:查询路由区分符空间表项;;
第二查询模块,设置为根据所述报文特征查询所述路由区分符空间表项以确定封装和转发动作,其中,所述路由区分符空间表项包括对携带所述报文特征的报文执行的封装和转发动作;
封装转发模块,设置为基于确定的封装和转发动作对所述报文进行封装和转发。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至16任一项中所述的方法的步骤,或者实现权利要求17-19任一项中所述的方法的步骤。
23.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至16任一项中所述的方法的步骤,或者实现权利要求17-19任一项中所述的方法的步骤。
CN202111163051.2A 2021-09-30 2021-09-30 虚拟专用网络业务标识的分配方法、报文处理方法及装置 Pending CN115914093A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111163051.2A CN115914093A (zh) 2021-09-30 2021-09-30 虚拟专用网络业务标识的分配方法、报文处理方法及装置
PCT/CN2022/107003 WO2023050981A1 (zh) 2021-09-30 2022-07-21 虚拟专用网络业务标识的分配方法、报文处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111163051.2A CN115914093A (zh) 2021-09-30 2021-09-30 虚拟专用网络业务标识的分配方法、报文处理方法及装置

Publications (1)

Publication Number Publication Date
CN115914093A true CN115914093A (zh) 2023-04-04

Family

ID=85730674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111163051.2A Pending CN115914093A (zh) 2021-09-30 2021-09-30 虚拟专用网络业务标识的分配方法、报文处理方法及装置

Country Status (2)

Country Link
CN (1) CN115914093A (zh)
WO (1) WO2023050981A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109861926B (zh) * 2017-11-30 2023-02-07 中兴通讯股份有限公司 报文的发送、处理方法、装置、节点、处理系统和介质
CN110830352B (zh) * 2018-08-07 2022-09-23 中兴通讯股份有限公司 一种vpn跨域的实现方法、装置和边界节点
CN112511423A (zh) * 2020-09-03 2021-03-16 中兴通讯股份有限公司 报文处理方法、边界设备和计算机可读介质

Also Published As

Publication number Publication date
WO2023050981A1 (zh) 2023-04-06

Similar Documents

Publication Publication Date Title
CN111865898B (zh) 基于流规则协议的通信方法、设备和系统
CN110912795B (zh) 一种传输控制方法、节点、网络系统及存储介质
CN109995634B (zh) 一种组播虚拟专用网络的承载方法和设备
CN107026791B (zh) 虚拟专用网络vpn业务优化方法和设备
US11290386B2 (en) FlowSpec message processing method and system, and apparatus
CN109417508B (zh) 一种分层路径计算单元pce网络拓扑构建方法及装置
EP2252011A1 (en) Scalable routing policy construction using dynamic redefinition of routing preference value
CN112511444A (zh) 一种组播流量传输方法、装置、通信节点及存储介质
CN110896379B (zh) 报文的发送方法、绑定关系的通告方法、装置及存储介质
US20230300070A1 (en) Packet Sending Method, Device, and System
CN106936714B (zh) 一种vpn的处理方法和pe设备以及系统
CN110417655B (zh) 一种数据报文转发的方法及装置
CN112511423A (zh) 报文处理方法、边界设备和计算机可读介质
CN115102900A (zh) 报文转发方法、系统、存储介质及电子装置
CN113904981B (zh) 一种路由信息处理方法、装置、电子设备和存储介质
US20230081052A1 (en) Method and apparatus for sending multicast packet
CN106034075B (zh) 一种为vpn路由分配标签的方法及装置
WO2023050981A1 (zh) 虚拟专用网络业务标识的分配方法、报文处理方法及装置
CN112838985B (zh) 一种异构网络通信方法、系统和控制器
CN116112416A (zh) 报文转发方法、电子设备及存储介质
WO2024007762A1 (zh) 一种路由发布方法、通信方法及装置
CN114650248B (zh) 路由信息的处理方法、系统和自治系统边界路由器
WO2024098731A1 (zh) 算力资源通告方法、算力流量处理方法、通信设备及介质
CN117640505A (zh) 一种数据报文处理方法、装置、存储介质及电子装置
CN116708288A (zh) 网络调度方法及网络设备、可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication