一种数据处理方法、装置、存储介质及电子装置与流程

    专利2022-07-07  115

    本发明实施例涉及通信领域,具体而言,涉及一种数据处理方法、装置、存储介质及电子装置。
    背景技术
    ::业务功能链(servicefunctionchaining,简称为sfc)是网络功能虚拟化场景中对数据报文按需进行业务处理的重要手段,端到端的数据报文传递一般要按照一定的顺序,经过多个不同的业务功能节点,才能保证网络能够根据用户的业务需求,提供用户需要的服务,如传统网络中常见的防火墙,负载均衡,以及新型网络中的其他服务等。组播技术除了传统的pim(protocolindependentmulticast)(rfc7761)技术,还有新型位索引显式复制(bitindexedexplicitreplication,简称为bier)(rfc8279)技术,bier技术依据特定的位索引转发表(bitindexforwardingtable,简称为bift)进行转发,网络中不需要保存组播流状态。组播在互联网上正得到越来越多的应用,比如多方会议,远程教育,远程医疗,网络直播等。对于这些需要组播的数据报文,也可能需要根据需要,进行一系列业务功能的保障,才能最终发送给用户。另外在网络服务提供存在多台备份情况时,如何能达到自动优化选路,也是目前需要解决的重要问题。这些将直接影响组播业务的保障功能与效果。将sfc基于与组播技术相结合时,有几个应用场景,第一个场景是sfc基于云技术实现,相同sf的部署不需要底层转发技术参与,组播报文先进行sfc技术处理后,再进行组播转发;第二个场景是sfc的部署与底层转发技术有关联,相同sf的部署与组播转发结合起来,实现最优的转发效果。目前技术中,两个场景目前有一些研究,但仅是传统组播技术,不能与新型bier组播技术结合,技术算法太过于复杂,应用部署的难度太大。这些缺点都阻止sfc与组播技术结合使用,对sfc技术部署产生极大的限制,对组播技术不能起到sfc的保障效果。图1是相关技术中的网络数据传输的示意图,如图1所示,这是一个网络,rx表示路由器或者交换机等用于转发的节点,r1承担业务功能链中的分类器(classifier)角色,r2和r4同时是业务功能转发设备(servicefunctionforwarder,简称为sff)角色,rcvx表示流量的接收者,rcv1与r6节点相连,rcv2和rcv3与r5节点相连,rcv4与r7节点相连;sfx表示不同的业务功能(servicefunction)。假设现在有一条(s1,g1)组播报文(s表示源地址,g表示组地址),这条组播报文需要到达rcv1-rcv4几个接收者,假设想对这条组播流进行sf1,sf3的保障处理后,再到达几个接收者,目前的处理流程一般是:流量进入r1分类器处理后,确定业务功能路径是sf1,sf3,则该流量的传输路径是,先到r2进行sf1处理,再发到r4进行sf3处理,进行sfc保障后,该流量需要发送回r1节点,再次根据该流量的组播树进行转发,途径r3到达r5,r5发送给相连的2个接收者rcv2和rcv3,r5转发给r7后,r7转发给接收者rcv4,r7转发给r6后,r6再转发给接收者rcv1。从以上转发流程可以看出,因为传统组播树由pim等协议生成,每条组播报文都会有一颗组播树,组播树与sff的分布并非一致的关系,sff极可能不在组播树上,因此对流量经过sfc处理后,通常只能发回入口节点按照组播树进行转发,流量的迂回处理对网络资源造成极大的浪费。针对相关技术中通过组播树的方式转发组播报文,流量迂回处理对网络资源造成极大的浪费的问题,尚未提出解决方案。技术实现要素:本发明实施例提供了一种数据处理方法、装置、存储介质及电子装置,以至少解决相关技术中通过组播树的方式转发组播报文,流量迂回处理对网络资源造成极大的浪费的问题。根据本发明的一个实施例,提供了一种数据处理方法,应用于入口设备,包括:接收待进行业务功能链sfc处理的组播报文;对所述组播报文进行封装,得到封装后的目标报文,其中,所述目标报文包括sfc路径指示与基于出口设备的位索引显式复制bier头;根据所述sfc路径指示将所述目标报文发送给业务功能转发设备,其中,最后一跳所述业务功能转发设备用于根据所述基于出口设备的bier头将所述组播报文发送给所述出口设备。在一实施例中,对所述组播报文进行封装,得到封装后的目标报文包括:为所述组播报文封装内层bier报文,其中,所述内层bier报文中携带所述出口设备的位转发路由器标识bfr-id,组播报文作为负载封装在所述基于出口设备的bier头之后;将封装所述内层bier报文后的所述组播报文与所述sfc路径指示一起封装,得到所述目标报文。在一实施例中,将封装所述内层bier报文后的所述组播报文与所述sfc路径指示一起封装,得到所述目标报文包括:将封装所述内层bier报文后的所述组播报文与网络业务头nsh一起封装,得到所述目标报文,其中,所述nsh中携带有所述sfc路径指示;通过ipv6将封装所述内层bier报文后的所述组播报文进行封装,得到所述目标报文,ipv6头中包含srh,其中,所述srh中携带有所述sfc路径指示;通过mpls将封装所述内层bier报文后的所述组播报文进行封装,得到所述目标报文,其中,所述mpls协议栈携带有所述sfc路径指示。在一实施例中,所述方法还包括:通过所述nsh的nextproto指示所述内层bier报文的类型;或者通过ipv6的nextheader指示所述内层bier报文的类型;或者通过mpls标签指示所述内层bier报文的类型。在一实施例中,所述方法还包括:通过所述内层bier报文的bitstring指示所述接收设备的标识。在一实施例中,在将封装所述bier头后的所述组播报文与所述sfc路径指示一起封装,得到所述目标报文之后,所述方法还包括:建立基于业务功能转发设备sff的bier头;在所述目标报文的外层封装外层bier报文,其中,所述外层bier报文中携带所述基于sff的bier头。在一实施例中,所述方法还包括:通过所述外层bier报文的bitstring指示所述基于sff的bfr-id。根据本发明的另一个实施例,还提供了一种数据处理方法,应用于业务功能转发设备,包括:接收入口设备根据业务功能链sfc路径指示发送的所述目标报文,其中,所述目标报文是所述入口设备对接收到的待进行sfc处理的组播报文进行封装,得到的报文,其中,所述目标报文包括所述sfc路径指示与基于出口设备的位索引显式复制bier头;根据所述基于出口设备的bier头将所述组播报文发送给所述出口设备。在一实施例中,根据所述基于出口设备的bier头将所述组播报文发送给所述出口设备包括:去除所述目标报文的外部封装,得到所述sfc路径指示;根据所述sfc路径指示将所述目标报文发送给业务功能设备,其中,所述业务功能设备用于对所述目标报文进行业务功能处理;当业务功能转发设备是业务功能链的最后一跳时,解封装所述目标报文的所述sfc路径指示,得到封装所述组播报文的内层bier报文;根据所述内层bier报文将所述组播报文发送给所述出口设备。在一实施例中,根据所述内层bier报文将所述组播报文发送给所述出口设备包括:根据外层bier报文的proto指示确定所述目标报文后续为网络业务头nsh报文,根据所述nsh报文中的nextproto确定所述目标报文为内层bier报文;或者根据ipv6的nextproto或者mpls标签指示确定所述目标报文为内层bier报文;根据所述内层bier报文将所述组播报文发送给所述出口设备。在一实施例中,根据所述sfc路径指示将所述目标报文发送给所述业务功能设备包括:根据所述sfc路径指示将所述报文再次封装外层bier报文,将所述外层bier报文的bier头的目的bitstring设置为下一跳sff的bfr-id;根据预先建立的bier转发表项将所述目标报文发送给业务功能设备。在一实施例中,根据所述内层bier报文将所述组播报文发送给所述出口设备包括:当所述业务功能转发设备是所述sfc路径指示的最后一跳时,去掉所述目标报文的封装直至剩下所述内层bier报文及携带的组播报文,根据所述预先生成的bier转发表项与所述内层bier报文中的目的bitstring将所述组播报文发送给所述目标出口设备。在一实施例中,所述方法还包括:根据所述sfc路径指示在所述bier转发表项中确定下一跳sff为多个时,根据最短路径确定下一跳sff并进行转发;或根据预先生成的基于sff的转发附加表项进行转发,且同步修改所述内层bier报文中的目的bitstring。在一实施例中,所述方法还包括:对于有备份的目标sff,确定到达各个出口设备的路径;根据最短路径原则建立所述目标sff到达各个出口设备的所述转发附加表项。根据本发明的另一个实施例,还提供了一种数据处理装置,应用于入口设备,包括:第一接收模块,用于接收待进行业务功能链sfc处理的组播报文;封装模块,用于对所述组播报文进行封装,得到封装后的目标报文,其中,所述目标报文包括所述sfc路径指示与基于出口设备的位索引显式复制bier头;第一发送模块,用于根据所述sfc路径指示将所述目标报文发送给业务功能转发设备,其中,最后一跳所述业务功能转发设备用于根据所述基于出口设备的bier头将所述组播报文发送给所述出口设备。在一实施例中,所述封装模块包括:第一封装子模块,用于为所述组播报文封装内层bier报文,其中,所述内层bier报文中携带所述出口设备的位转发路由器标识bfr-id,组播报文作为负载封装在所述基于出口设备的bier头之后;第二封装子模块,用于将封装所述内层bier报文后的所述组播报文与所述sfc路径指示一起封装,得到所述目标报文。在一实施例中,所述第二封装子模块包括:第一封装单元,用于将封装所述内层bier报文后的所述组播报文与网络业务头nsh一起封装,得到所述目标报文,其中,所述nsh中携带有所述sfc路径指示;第二封装单元,用于通过ipv6将封装所述内层bier报文后的所述组播报文进行封装,得到所述目标报文,ipv6头中包含srh,其中,所述srh中携带有所述sfc路径指示;第三封装单元,用于通过mpls将封装所述内层bier报文后的所述组播报文进行封装,得到所述目标报文,其中,所述mpls协议栈携带有所述sfc路径指示。在一实施例中,所述装置还包括:第一指示单元,用于通过所述nsh的nextproto指示所述内层bier报文的类型;或者第二指示单元,用于通过ipv6的nextheader指示所述内层bier报文的类型;或者第三指示单元,用于通过mpls标签指示所述内层bier报文的类型。在一实施例中,所述装置法还包括:第一指示子模块,用于通过所述内层bier报文的bitstring指示所述接收设备的标识。在一实施例中,所述装置还包括:建立子模块,用于建立基于业务功能转发设备sff的bier头;第三封装子模块,用于在所述目标报文的外层封装外层bier报文,其中,所述外层bier报文中携带所述基于sff的bier头。在一实施例中,所述装置还包括:第二指示子模块,用于通过所述外层bier报文的bitstring指示所述基于sff的bfr-id。根据本发明的另一个实施例,还提供了一种数据处理装置,应用于业务功能转发设备,包括:第二接收模块,用于接收入口设备根据业务功能链sfc路径指示发送的所述目标报文,其中,所述目标报文是所述入口设备对接收到的待进行sfc处理的组播报文进行封装,得到的报文,其中,所述目标报文包括所述sfc路径指示与基于出口设备的位索引显式复制bier头;第二发送模块,用于根据所述基于出口设备的bier头将所述组播报文发送给所述出口设备。在一实施例中,所述第二发送模块包括:去除子模块,用于去除所述目标报文的外部封装,得到所述sfc路径指示;第一发送子模块,用于根据所述sfc路径指示将所述目标报文发送给业务功能设备,其中,所述业务功能设备用于对所述目标报文进行业务功能处理;解封装子模块,用于当业务功能转发设备是业务功能链的最后一跳时,解封装所述目标报文的所述sfc路径指示,得到封装所述组播报文的内层bier报文;第二发送子模块,用于根据所述内层bier报文将所述组播报文发送给所述出口设备。在一实施例中,所述第二发送子模块包括:第一确定单元,用于根据外层bier报文的proto指示确定所述目标报文后续为网络业务头nsh报文,根据所述nsh报文中的nextproto确定所述目标报文为内层bier报文;或者根据ipv6的nextproto或者mpls标签指示确定所述目标报文为内层bier报文;第一发送单元,用于根据所述内层bier报文将所述组播报文发送给所述出口设备。在一实施例中,所述第一发送子模块包括:第四封装封装单元,用于根据所述sfc路径指示将所述报文再次封装外层bier报文,将所述外层bier报文的bier头的目的bitstring设置为下一跳sff的bfr-id;第二发送单元,用于根据预先建立的bier转发表项将所述目标报文发送给业务功能设备。在一实施例中,所述第一发送单元,还用于当所述业务功能转发设备是所述sfc路径指示的最后一跳时,去掉所述目标报文的封装直至剩下所述内层bier报文及携带的组播报文,根据所述预先生成的bier转发表项与所述内层bier报文中的目的bitstring将所述组播报文发送给所述目标出口设备。在一实施例中,所述装置还包括:第二确定单元,用于根据所述sfc路径指示在所述bier转发表项中确定下一跳sff为多个时,根据最短路径确定下一跳sff并进行转发;或转发单元,用于根据预先生成的基于sff的转发附加表项进行转发,且同步修改所述内层bier报文中的目的bitstring。在一实施例中,所述装置还包括:第三确定单元,用于对于有备份的目标sff,确定到达各个出口设备的路径;建立单元,用于根据最短路径原则建立所述目标sff到达各个出口设备的所述转发附加表项。根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。通过本发明,对需要进行sfc业务保障的组播报文,将sfc路径指示与基于出口设备的bier头封装到组播报文中,得到目标报文,目标报文通过sfc处理完毕后,最后一跳业务功能转发设备通过基于出口设备的bier头进行组播报文转发,从而让目标报文到达出口设备,可以解决相关技术中通过组播树的方式转发组播报文,流量迂回处理对网络资源造成极大的浪费的问题,不必迂回处理,大大降低了网络资源的浪费。附图说明图1是相关技术中的网络数据传输的示意图;图2是本发明实施例的数据处理方法的移动终端的硬件结构框图;图3是根据本发明实施例的数据处理方法的流程图一;图4是根据本发明实施例的数据处理方法的流程图二;图5是根据本实施例的网络通过bier传输技术传输数据的示意图一;图6是根据本实施例的报文封装结构的示意图一;图7是根据本实施例的报文封装结构的示意图二;图8是根据本实施例的报文封装结构的示意图三;图9是根据本实施例的网络通过bier传输技术传输数据的示意图二;图10是根据本实施例的网络通过bier传输技术传输数据的示意图三;图11是根据本实施例的报文封装结构的示意图三;图12是根据本实施例的网络通过bier传输技术传输数据的示意图四;图13是根据本实施例的数据处理装置的框图一;图14是根据本实施例的数据处理装置的框图二。具体实施方式下文中将参考附图并结合实施例来详细说明本发明的实施例。需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图2是本发明实施例的数据处理方法的移动终端的硬件结构框图,如图2所示,移动终端可以包括一个或多个(图2中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的数据处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。在本实施例中提供了一种运行于上述移动终端或网络架构的数据处理方法,图3是根据本发明实施例的数据处理方法的流程图一,如图3所示,应用于入口设备,该流程包括如下步骤:步骤s302,接收待进行业务功能链sfc处理的组播报文;步骤s304,对所述组播报文进行封装,得到封装后的目标报文,其中,所述目标报文包括sfc路径指示与基于出口设备的位索引显式复制bier头;步骤s306,根据所述sfc路径指示将所述目标报文发送给业务功能转发设备,其中,最后一跳所述业务功能转发设备用于根据所述基于出口设备的bier头将所述组播报文发送给所述出口设备。通过上述步骤302至s306,对需要进行sfc业务保障的组播报文,将sfc路径指示与基于出口设备的bier头封装到组播报文中,得到目标报文,目标报文通过sfc处理完毕后,最后一跳业务功能转发设备通过基于出口设备的bier头进行组播报文转发,从而让目标报文到达出口设备,可以解决相关技术中通过组播树的方式转发组播报文,流量迂回处理对网络资源造成极大的浪费的问题,不必迂回处理,大大降低了网络资源的浪费。在一实施例中,上述步骤s304具体可以包括:s3041,为所述组播报文封装内层bier报文,其中,所述内层bier报文中携带所述出口设备的位转发路由器标识bfr-id,组播报文作为负载封装在所述基于出口设备的bier头之后;s3042,将封装所述内层bier报文后的所述组播报文与所述sfc路径指示一起封装,得到所述目标报文。在一实施例中,上述步骤s3042具体可以包括:将封装所述内层bier报文后的所述组播报文与网络业务头nsh一起封装,得到所述目标报文,其中,所述nsh中携带有所述sfc路径指示;通过ipv6将封装所述内层bier报文后的所述组播报文进行封装,得到所述目标报文,ipv6头中包含srh,其中,所述srh中携带有所述sfc路径指示;通过mpls将封装所述内层bier报文后的所述组播报文进行封装,得到所述目标报文,其中,所述mpls协议栈携带有所述sfc路径指示。在一实施例中,通过所述nsh的nextproto指示所述内层bier报文的类型;或者通过ipv6的nextheader指示所述内层bier报文的类型;或者通过mpls标签指示所述内层bier报文的类型。在一实施例中,通过所述内层bier报文的bitstring指示所述接收设备的标识。在一实施例中,在将封装所述bier头后的所述组播报文与所述sfc路径指示一起封装,得到所述目标报文之后,建立基于业务功能转发设备sff的bier头;在所述目标报文的外层封装外层bier报文,其中,所述外层bier报文中携带所述基于sff的bier头。在另一实施例中,通过所述外层bier报文的bitstring指示所述基于sff的bfr-id。根据本发明的另一个实施例,还提供了一种数据处理方法,图4是根据本发明实施例的数据处理方法的流程图二,如图4所示,应用于业务功能转发设备,包括:步骤s402,接收入口设备根据业务功能链sfc路径指示发送的所述目标报文,其中,所述目标报文是所述入口设备对接收到的待进行sfc处理的组播报文进行封装,得到的报文,其中,所述目标报文包括所述sfc路径指示与基于出口设备的位索引显式复制bier头;步骤s404,根据所述基于出口设备的bier头将所述组播报文发送给所述出口设备。通过上述步骤402至s404,对需要进行sfc业务保障的组播报文,将sfc路径指示与基于出口设备的bier头封装到组播报文中,得到目标报文,目标报文通过sfc处理完毕后,最后一跳业务功能转发设备通过基于出口设备的bier头进行组播报文转发,从而让目标报文到达出口设备,可以解决相关技术中通过组播树的方式转发组播报文,流量迂回处理对网络资源造成极大的浪费的问题,不必迂回处理,大大降低了网络资源的浪费。在一实施例中,上述步骤s404具体可以包括:s4041,去除所述目标报文的外部封装,得到所述sfc路径指示;s4042,根据所述sfc路径指示将所述目标报文发送给业务功能设备,其中,所述业务功能设备用于对所述目标报文进行业务功能处理,进一步的,可以根据所述sfc路径指示将所述报文再次封装外层bier报文,将所述外层bier报文的bier头的目的bitstring设置为下一跳sff的bfr-id,根据预先建立的bier转发表项将所述目标报文发送给业务功能设备;s4043,当业务功能转发设备是业务功能链的最后一跳时,解封装所述目标报文的所述sfc路径指示,得到封装所述组播报文的内层bier报文;s4044,根据所述内层bier报文将所述组播报文发送给所述出口设备,进一步的,根据外层bier报文的proto指示确定所述目标报文后续为网络业务头nsh报文,根据所述nsh报文中的nextproto确定所述目标报文为内层bier报文;或者根据ipv6的nextproto或者mpls标签指示确定所述目标报文为内层bier报文;根据所述内层bier报文将所述组播报文发送给所述出口设备。在一实施例中,根据所述内层bier报文将所述组播报文发送给所述出口设备具体可以包括:当所述业务功能转发设备是所述sfc路径指示的最后一跳时,去掉所述目标报文的封装直至剩下所述内层bier报文及携带的组播报文,根据所述预先生成的bier转发表项与所述内层bier报文中的目的bitstring将所述组播报文发送给所述目标出口设备。在一实施例中,根据所述sfc路径指示在所述bier转发表项中确定下一跳sff为多个时,根据最短路径确定下一跳sff并进行转发;或根据预先生成的基于sff的转发附加表项进行转发,且同步修改所述内层bier报文中的目的bitstring。在另一实施例中,对于有备份的目标sff,确定到达各个出口设备的路径;根据最短路径原则建立所述目标sff到达各个出口设备的所述转发附加表项。本实施例将bier技术与sfc业务功能链技术结合使用,在sfc的nsh的nextprotocol增加bier类型,bier的proto字段也增加指示nsh业务功能链类型;或者其他能被设备辨识的,增加或者修改其他字段标识,或者通过新tlv扩展等方式实现。实现对组播报文的sfc功能包括:分类器/入口设备对需要进行sfc业务保障的组播报文,先封装bier头,并在其bitstring中指明所有的出口设备bfr-id;再封装nsh头,nsh的nextprotocol指明后续是bier类型。报文通过sfc处理完毕后,由最后的sff去除外部封装,使用nsh后的bier头进行组播转发,从而让报文到达出口设备。其中,在nsh头不显式封装,而是采用sr-mpls或者srv6手段实现sfc路径的时候,同样与后续的bier报文结合实现该功能。另外,bier技术还可以用于实现sfc本身的备份功能,也就是相同sf可以部署多台,由bier技术实现sff自动选路包括:sff,尤其是存在备份情况的sff,要分配bfr-id并参与bier转发表项。其中,在有备份情况的sff上,对于所有出口设备进行bier转发附加表项的生成,其原则可以为根据路径最短原则进行,或者其他考虑原则。该步骤为优化步骤,在备份sff数量不多的情况下,也可以不进行此步骤。分类器/入口设备如前面的方法对报文进行封装后,再在nsh的外层封装bier头,bier头的proto字段增加nsh类型。根据sfc路径转发时,在下一跳sff存在备份的情况下,由bier自动实现选路转发,在附加表项存在的情况下,对内层bier头也进行正常的bier转发处理。sfc路径处理完毕后,使用nsh头后的bier头进行组播转发,从而让报文到达出口设备。其中,nsh头也可以不显式存在,而是利用sr-mpls和srv6手段实现sfc功能,本实施例也同样适用。图5是根据本实施例的网络通过bier传输技术传输数据的示意图一,如图5所示,rx表示路由器或者交换机等用于转发的节点,r1还承担业务功能链中的分类器(classifier)角色,r2和r4同时是sff(servicefunctionforwarder)角色,rcvx表示流量的接收者,rcv1与r6节点相连,rcv2和rcv3与r5节点相连,rcv4与r7节点相连;sfx表示不同的业务功能(servicefunction)。这里每两台设备之间也可能会经过若干设备中转,这里的图示仅为了简化起见。r1-rn建立起bier域,在该域中预先建立起bier转发层面,可以根据bier转发表进行转发。示例1如图5所示,网络里除了部署sfc功能,还部署了bier域,bier域的设备包括r1到r7,其中假设r1作为bfir,r2/r3/r4/r5/r6/r7作为bfer。假设有组播报文同样需要达到rcv1到rcv4的4个接收者,并且该组播报文希望得到sfc的处理,假设其希望处理的业务功能同样为sf1和sf3we。接收者对应的bier域出口设备为r5/r6/r7,r1获知该流量需要发送到r5/r6/r7,获知的方法可以通过bieroverlay的协议实现,该部分内容不在本发明范围内,则该流量在r1上进行处理时,为该组播报文先封装bier头,其中的目的bitstring指向r5/r6/r7。然后再在此报文之外封装业务功能链的nsh(networkserviceheader)头,其格式采用rfc8300所定义的,并且将nsh的nextprotocol字段类型,设置为表示后续为bier的类型,例如nextprotocol值为100表示后续是bier头,nsh头的承载可以根据已有标准中的定义,采用以太,mpls,ipv4或者ipv6封装等等。假设ipv6封装被使用,图6是根据本实施例的报文封装结构的示意图一,如图6所示,封装后的报文,组播报文作为payload被封装在bier头之后,bier头封装在nsh头之后。这样该组播报文处理转发流向如图6所示,r1将报文封装好,转发给r2时,r2经过sf1的处理后,再发给r4,r4经过sf3的处理后,发现业务功能链的处理路径已经结束,则可将nsh头去除,直接按照内层的bier头进行转发,在这个网络中r4将组播报文发送给r5/r6,r5再经过bier转发给r7,最终完成组播报文到达rcv1/2/3/4。可以看出,应用bier与sfc的有效结合方式后,能够去除流量在网络中的迂回处理。具体的处理步骤包括:步骤101,r1(分类器)设备收到组播报文,发现该流量的接收者是rcv1-rcv4,获知该对应的bfer设备为r5/r6/r7,则为该组播报文封装bier头,其目的bitstring指明需要到达r5/r6/r7;步骤102,r1根据配置或其他指示,发现该流量需要进行sf1-sf3的业务功能链处理,则r1在报文外层,封装nsh头,并将nextprotocol的值设置为表示bier类型。再进行外层,如ipv6例行封装后,将报文根据业务功能链的指示将报文发给r2。步骤103,r2设备收到报文,发现需要进行sf1处理,则转发给sf1进行处理后,再转发给sfc路径上的下一跳设备r4。步骤104,r4设备收到报文时,发现需要进行sf3处理,则转发给sf3处理后,发现sfc已经处理完毕,则进行内层报文的处理。步骤105,r4报文根据nsh头中的nextprotocol指示,发现后续跟的是bier报文,则r4剥掉nsh后,处理bier头,将bitstring字段根据bier转发表进行转发。这里的bier转发表是在一开始建立bier转发平面时生成的,从r4的角度来看,其到达r5/r6/r7的最短路径是直接发送给r5,r6,以及通过r5到达r7。步骤106,r5收到报文时,处理bier头中的bitstring发现存在下一跳设备r7,r5根据bier转发表将报文转发给r7。同时r5发现bitstring中有自己,剥除掉bier头后,根据内层组播报文发现有本地接收者rcv2和rcv3,r5将组播报文转发给rcv2和rcv3。步骤107,r6和r7收到报文时,处理流程类似,处理bier头中的bitstring发现有自己,不需要再转发给其他设备,剥除bier头后,根据内层的组播报文将报文转发给rcv1和rcv4。示例2在某些应用场景中,可能不会封装独立的nsh头,而是会利用已有的网络技术达到同样的目的,比如网络中可能还启用了srv6功能,因为srv6携带的srh可能会将nsh的路径携带,那么报文中就不再需要封装独立的nsh头,这样可以利用srv6将sfc的路径走完后,再利用bier进行组播转发。用sr-mpls替代srv6的实现流程也是同样的。同样如示例1中的要求,组播报文的目的同样是rcv1-rcv4,需要经过业务sf1,sf3的保障处理。入口设备在将报文作为bier头的payload进行bier封装,设置目的bitstring为r5/r6/r7后,再进行srv6或者sr-mpls的外层路径封装,将从r1到r2,r2到r4的srv6路径封装到srv6的路径中,路径中还可以封装sf1和sf3的ipv6地址或者标签,用以指示需要进行sf1和sf3的处理,图7是根据本实施例的报文封装结构的示意图二,如图7所示,封装后的报文,组播报文作为payload被封装在bier头之后,bier头封装在ipv6之后,ipv6中携带srh。图8是根据本实施例的报文封装结构的示意图三,如图8所示,封装后的报文,组播报文作为payload被封装在bier头之后,bier头封装在mplslablestack之后。这样报文在通过srv6的指示将报文发送给r2,r4并由sf1,sf3处理完成后,r4再将报文进行bier组播转发到目的地。具体步骤包括:步骤201,r1(分类器)设备收到组播报文,发现该流量的接收者是rcv1-rcv4,则为该组播报文封装bier头,其目的bitstring指明需要到达r5/r6/r7;步骤202,r1根据配置或其他指示,发现该流量还需要进行sf1-sf3的业务功能链处理,业务功能链可以通过srv6或者sr-mpls实现,则r1在报文外层,封装srh头或者mpls标签栈,在ipv6的nextheader字段指明后续是bier头;mpls标签指示后续是bier头。将报文根据业务路径的指示将报文发给r2。步骤203,r2设备收到报文,发现需要进行sf1处理,则转发给sf1进行处理后,再根据srv6或者sr-mpls的指示转发给下一跳设备r4。步骤204,r4设备收到报文时,发现需要进行sf3处理,则转发给sf3处理后,发现sr路径已经处理完毕,则进行内层报文的处理。步骤205,r4报文根据ipv6头中的nextheader,或者mpls标签指示,发现后续跟的是bier头,则r4剥除外层封装,根据bier头中的bitstring发现目的r5/r6/r7,查找事先建立的bier转发表进行转发。步骤206,r5收到报文时,根据bier头中的bitstring发现存在自己和下一跳设备r7,r5根据bier转发表将报文转发给r7。同时r5剥掉bier头,根据内层组播报文将报文发送给本地接收者rcv2和rcv3。步骤207,r6和r7收到报文时,处理流程类似,根据bier头中的bitstring发现自己,且不需要再转发给其他设备,剥除bier头后,根据内层组播报文将报文转发给rcv1和rcv4。示例3在网络部署中,相同的sf存在多台的情况,目的是可以很好的实现负载均衡,图9是根据本实施例的网络通过bier传输技术传输数据的示意图二,如图9所示,假设sf3部署了多台设备,分别链接到sffr3和r7上,普通应用时,会选择一台应用到业务功能链上,比如上面的例子中,为了进行sf1和sf3的处理,可以选择r2,r7作为sfc的路径,也可以选择r2,r4作为sfc的路径。结合示例1或2中的步骤,同样可以完成组播报文的业务功能链处理。但路径在分类器上就确定了,不能充分利用网络中的组播特性实现自动选路。假设选择的是r2,r7作为sfc的路径,则如图9所示,流量在经过r2的sf1处理后,将直接发送到r7给sf3处理,再根据r7上的bier转发表发送到各接收者,路径并非最优,可以看到这流量从r2发给r7时实际经过r5,但r5并不知道要处理,只是单纯转发给r7,等r7处理后剥掉业务路径封装后,转发bier报文给r5时r5才能处理,网络中存在绕路现象。流量经过r2,r4的sfc路径实际优于经过r2,r7的路径。但网络中的任何一台设备都有可能作为入口设备,任意组合的设备也可能是出口设备,要确定哪条路径最优并没有简便的算法。图10是根据本实施例的网络通过bier传输技术传输数据的示意图三,如图10所示,在网络中部署了bier的情况下,可以用新的方法来实现sfc路径的自动选路和优化,该方法首先对sff也进行bfr-id的分配,这样网络的bier转发表项里会有到各个sff的bier转发路径。而在上述示例1、2中,并不强制要求sff进行bfr-id的分配,除非连接有接收者。分类器/入口设备在对报文进行处理,进行sfc路径的封装后(封装方式参照上述示例1或2),再在外层封装bier头,将bier路径的转发与sfc的转发相结合,在出现sfc的下一跳(假设为sf3)对应的实际下一跳有多个(r4、r7)的情况时,将根据最优路径自动选择合适的下一跳;进一步的,还可以结合内层的bier实际转发表项,判断是否要同时发给多个下一跳,在发给多个下一跳的情况下,同步修改内层bier头中的目的bitstring,这样报文可以自动选择最优的下一跳sf,或者通过多条路径上的sf进行处理,再转发给真正的接收者,达到充分利用组播转发优势,达到报文正确通过多台备份的sf,到达目的设备的目的。具体步骤包括:步骤301,建立基于sff的bier转发表项,为网络中的sff分配bfr-id,通过通用的bier转发平面建立过程,建立到达sff的bier转发表项;类似基础的bier转发表建立过程,bier转发表中除了可达r5/r6/r7,还可达r2/r4。步骤302,入口设备收到组播报文时,采用示例1或2的方式进行内层bier报文封装后,再封装sfc路径,比如封装nsh头;步骤303,分类器/入口设备再进行外层封装时,根据sfc路径指示,外层使用bier封装,这里将r2的bfr-id填入目的bitstring,图11是根据本实施例的报文封装结构的示意图三,如图11所示,封装后报文的外层bier的proto字段需要设置为表示后面是nsh类型的值,比如设置为20表示后续是nsh。r1将报文按照bier转发方式转发给r2。步骤304,r2收到报文,根据外层bier头的指示,发现后面是nsh头,根据nsh的指示进行sf1处理,准备转sf3处理时,发现sf3的下一跳存在两个r4和r7,r2根据本地的最短路径,发现到达r4的路径最短,因此r2重新封装外层bier头,并将r4封装到bier报文的目的bitstring中。步骤305,r4收到报文,依据外层bier头的指示,发现后面的nsh头,进行sf3处理后,发现sfc处理完成,则剥掉外层报文头,直接使用内层bier头,根据bitstring进行转发。步骤306,r5,r6,r7依次收到报文后,处理类似示例2中的步骤206/207,最终将组播报文转发给接收者rcv1-rcv4。进一步的,以上的下一跳自动选择方式还可以进一步优化,优化方式如下:在步骤302后,接下来的步骤为:步骤321,有备份情况的sff,建立到达各个bfer出口设备的转发附加表项:建立方法可以是分别计算有备份的sff到达各bfer的路径,保留最短的。如图10中的sf3存在备份情况(r4和r7),则bier域内的各sff,会基于r4和r7分别再计算出一个附加表项,如在r1/r2上,以r4为下一跳计算时,可计算出到达r5/r6/r7的最短路径是r4。步骤322,分类器/入口设备在对报文进行处理,采用示例1或者示例2的方式进行内层bier报文封装后,封装sfc路径,假设封装nsh头(或nsh报文);步骤323,分类器/入口设备r1在nsh头外层再进行封装时,根据sfc路径指示,外层使用bier封装,这里将r2的bfr-id填入bitstring,r1报文封装外层bier头后,可能的封装方式如图11所示,这时最外层bier头的proto字段需要设置为表示后面是nsh的值。r1将报文按照bier转发表转发给r2。步骤324,r2收到报文,根据外层bier头的proto字段指示,发现后面是nsh头,根据nsh头的指示进行sf1处理,准备转sf3处理时,发现sf3的下一跳存在两个r4和r7,r2根据步骤321中计算出来的附加表项,发现根据内层报文指示到达r5/r6/r7,最优下一跳是r4,因此r2重新封装最外层bier头,将r4的bfr-id封入bitstring,进行bier转发给r4。步骤325,r4收到报文,依据最外层bier头的指示,发现后面的nsh头,根据nsh头的指示进行sf3处理后,发现sfc处理完成,则剥掉最外层bier头和nsh,使用内层bier头,根据bitstring进行转发。步骤326,r5,r6,r7依次收到报文后,同步骤306的处理,去掉bier头后,将组播报文转发给接收者rcv1-rcv4。图12是根据本实施例的网络通过bier传输技术传输数据的示意图四,如图12所示,其他组网环境中,比如也可能存在r1/r2计算出到达r6的最优路径下一跳是r4,到r5/r7的最优路径下一跳是r7的情况。假设是如图12所示的情况,那么在步骤324中,r2发现nsh后的bier报文目的bitstring为r5/r6/r7,根据附加表项,sfc路径上的下一跳sf3对应候选有r4和r7,其中r4是可达r6的最优下一跳,r7是到达r5/r7的最优下一跳。r2将根据r4的表项,将nsh后的内层bier报文的bier头(即内层bier报文头)也进行bier表项操作,也就是将目的r5/r6/r7与r4所指示的r6相与之后,只剩下r6,因此内层bier头的目的bitstring被修改为只包含r6,然后再重新封装nsh的外层bier头,将r4的bfr-id封装到bitstring,进行bier转发给r4;r2再根据r7的表项,将nsh后的内层bier头也进行bier表项操作,也就是将目的r5/r7(r6已在r4的附加表项操作后去除)与r7所指示的r5/r7相与之后,剩下r5/r7,因此内层bier头的目的bitstring被修改为包含r5/r7,然后再重新封装nsh之外的外层bier头,将r7的bfr-id封装到bitstring,根据bier转发表转发给r7。r4和r7收到报文后的处理同步骤325,r5/r6/r7处理同步骤326。由此在完成bier自动选路的情况下,可以自动实现同类型sf的负载均衡。在以上实施例中,如果分类器与流量入口设备bfir不在同一台设备上,则可由bfir进行bier报文封装后,单独发送给分类器设备,再由分类器设备进行nsh的封装处理。需要说明的是,上述步骤321的附加表项计算,是为了去除多个sf处理后可能出现重复流量的情况,在网络中没有对同一功能的sf部署多个,或者部署量并不大的情况下,也可以不计算附加表项,这时虽然会有重复流量,但接收者能够判断重复并丢弃重复流量即可,重复流量并不会对网络造成大的负担。另外,sff转发时如果下一跳仅有一个,也可以用示例1或示例2中的单播方式进行封装转发,并不一定要bier封装。随着部署方式的不同,以上各个实施例中的方法可以独立使用,也可以结合使用,从而使得bier技术与业务功能链技术的集合,可以为组播报文的sfc保障提供简便的实现方法,并能够在相同功能的sf部署多台时,自动的实现选路优化转发,可扩大业务功能链技术的应用场景,并且,该发明同样适用于bier-te技术。随着部署方式的不同,以上各个实施例中的方法可以独立使用,也可以结合使用,从而使得bier技术与业务功能链技术的集合,可以为组播报文的sfc保障提供简便的实现方法,并能够在相同功能的sf部署多台时,自动的实现选路优化转发,可扩大业务功能链技术的应用场景,并且,该发明同样适用于bier-te技术。根据本发明的另一个实施例,还提供了一种数据处理装置,应用于入口设备,图13是根据本实施例的数据处理装置的框图一,如图13所示,包括:第一接收模块132,用于接收待进行业务功能链sfc处理的组播报文;封装模块134,用于对所述组播报文进行封装,得到封装后的目标报文,其中,所述目标报文包括所述sfc路径指示与基于出口设备的位索引显式复制bier头;第一发送模块136,用于根据所述sfc路径指示将所述目标报文发送给业务功能转发设备,其中,最后一跳所述业务功能转发设备用于根据所述基于出口设备的bier头将所述组播报文发送给所述出口设备。在一实施例中,所述封装模块134包括:第一封装子模块,用于为所述组播报文封装内层bier报文,其中,所述内层bier报文中携带所述出口设备的位转发路由器标识bfr-id,组播报文作为负载封装在所述基于出口设备的bier头之后;第二封装子模块,用于将封装所述内层bier报文后的所述组播报文与所述sfc路径指示一起封装,得到所述目标报文。在一实施例中,所述第二封装子模块包括:第一封装单元,用于将封装所述内层bier报文后的所述组播报文与网络业务头nsh一起封装,得到所述目标报文,其中,所述nsh中携带有所述sfc路径指示;第二封装单元,用于通过ipv6将封装所述内层bier报文后的所述组播报文进行封装,得到所述目标报文,ipv6头中包含srh,其中,所述srh中携带有所述sfc路径指示;第三封装单元,用于通过mpls将封装所述内层bier报文后的所述组播报文进行封装,得到所述目标报文,其中,所述mpls协议栈携带有所述sfc路径指示。在一实施例中,所述装置还包括:第一指示单元,用于通过所述nsh的nextproto指示所述内层bier报文的类型;或者第二指示单元,用于通过ipv6的nextheader指示所述内层bier报文的类型;或者第三指示单元,用于通过mpls标签指示所述内层bier报文的类型。在一实施例中,所述装置法还包括:第一指示子模块,用于通过所述内层bier报文的bitstring指示所述接收设备的标识。在一实施例中,所述装置还包括:建立子模块,用于建立基于业务功能转发设备sff的bier头;第三封装子模块,用于在所述目标报文的外层封装外层bier报文,其中,所述外层bier报文中携带所述基于sff的bier头。在一实施例中,所述装置还包括:第二指示子模块,用于通过所述外层bier报文的bitstring指示所述基于sff的bfr-id。根据本发明的另一个实施例,还提供了一种数据处理装置,应用于业务功能转发设备,图14是根据本实施例的数据处理装置的框图二,如图14所示,包括:第二接收模块142,用于接收入口设备根据业务功能链sfc路径指示发送的所述目标报文,其中,所述目标报文是所述入口设备对接收到的待进行sfc处理的组播报文进行封装,得到的报文,其中,所述目标报文包括所述sfc路径指示与基于出口设备的位索引显式复制bier头;第二发送模块144,用于根据所述基于出口设备的bier头将所述组播报文发送给所述出口设备。在一实施例中,所述第二发送模块14包括:去除子模块,用于去除所述目标报文的外部封装,得到所述sfc路径指示;第一发送子模块,用于根据所述sfc路径指示将所述目标报文发送给业务功能设备,其中,所述业务功能设备用于对所述目标报文进行业务功能处理;解封装子模块,用于当业务功能转发设备是业务功能链的最后一跳时,解封装所述目标报文的所述sfc路径指示,得到封装所述组播报文的内层bier报文;第二发送子模块,用于根据所述内层bier报文将所述组播报文发送给所述出口设备。在一实施例中,所述第二发送子模块包括:第一确定单元,用于根据外层bier报文的proto指示确定所述目标报文后续为网络业务头nsh报文,根据所述nsh报文中的nextproto确定所述目标报文为内层bier报文;或者根据ipv6的nextproto或者mpls标签指示确定所述目标报文为内层bier报文;第一发送单元,用于根据所述内层bier报文将所述组播报文发送给所述出口设备。在一实施例中,所述第一发送子模块包括:第四封装封装单元,用于根据所述sfc路径指示将所述报文再次封装外层bier报文,将所述外层bier报文的bier头的目的bitstring设置为下一跳sff的bfr-id;第二发送单元,用于根据预先建立的bier转发表项将所述目标报文发送给业务功能设备。在一实施例中,所述第一发送单元,还用于当所述业务功能转发设备是所述sfc路径指示的最后一跳时,去掉所述目标报文的封装直至剩下所述内层bier报文及携带的组播报文,根据所述预先生成的bier转发表项与所述内层bier报文中的目的bitstring发送给所述目标出口设备。在一实施例中,所述装置还包括:第二确定单元,用于根据所述sfc路径指示在所述bier转发表项中确定下一跳sff为多个时,根据最短路径确定下一跳sff并进行转发;或转发单元,用于根据预先生成的基于sff的转发附加表项进行转发,且同步修改所述内层bier报文中的目的bitstring。在一实施例中,所述装置还包括:第三确定单元,用于对于有备份的目标sff,确定到达各个出口设备的路径;建立单元,用于根据最短路径原则建立所述目标sff到达各个出口设备的所述转发附加表项。需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-onlymemory,简称为rom)、随机存取存储器(randomaccessmemory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 当前第1页1 2 3 
    技术特征:

    1.一种数据处理方法,应用于入口设备,其特征在于,包括:

    接收待进行业务功能链sfc处理的组播报文;

    对所述组播报文进行封装,得到封装后的目标报文,其中,所述目标报文包括sfc路径指示与基于出口设备的位索引显式复制bier头;

    根据所述sfc路径指示将所述目标报文发送给业务功能转发设备,其中,最后一跳所述业务功能转发设备用于根据所述基于出口设备的bier头将所述组播报文发送给所述出口设备。

    2.根据权利要求1所述的方法,其特征在于,对所述组播报文进行封装,得到封装后的目标报文包括:

    为所述组播报文封装内层bier报文,其中,所述内层bier报文中携带所述出口设备的位转发路由器标识bfr-id,组播报文作为负载封装在所述基于出口设备的bier头之后;

    将封装所述内层bier报文后的所述组播报文与所述sfc路径指示一起封装,得到所述目标报文。

    3.根据权利要求2所述的方法,其特征在于,将封装所述内层bier报文后的所述组播报文与所述sfc路径指示一起封装,得到所述目标报文包括:

    将封装所述内层bier报文后的所述组播报文与网络业务头nsh一起封装,得到所述目标报文,其中,所述nsh中携带有所述sfc路径指示;

    通过ipv6将封装所述内层bier报文后的所述组播报文进行封装,得到所述目标报文,ipv6头中包含srh,其中,所述srh中携带有所述sfc路径指示;

    通过mpls将封装所述内层bier报文后的所述组播报文进行封装,得到所述目标报文,其中,所述mpls协议栈携带有所述sfc路径指示。

    4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

    通过所述nsh的nextproto指示所述内层bier报文的类型;或者

    通过ipv6的nextheader指示所述内层bier报文的类型;或者

    通过mpls标签指示所述内层bier报文的类型。

    5.根据权利要求2所述的方法,其特征在于,所述方法还包括:

    通过所述内层bier报文的bitstring指示所述接收设备的标识。

    6.根据权利要求2至5中任一项所述的方法,其特征在于,在将封装所述bier头后的所述组播报文与所述sfc路径指示一起封装,得到所述目标报文之后,所述方法还包括:

    建立基于业务功能转发设备sff的bier头;

    在所述目标报文的外层封装外层bier报文,其中,所述外层bier报文中携带所述基于sff的bier头。

    7.根据权利要求6所述的方法,其特征在于,所述方法还包括:

    通过所述外层bier报文的bitstring指示所述基于sff的bfr-id。

    8.一种数据处理方法,应用于业务功能转发设备,其特征在于,包括:

    接收入口设备根据业务功能链sfc路径指示发送的所述目标报文,其中,所述目标报文是所述入口设备对接收到的待进行sfc处理的组播报文进行封装,得到的报文,其中,所述目标报文包括所述sfc路径指示与基于出口设备的位索引显式复制bier头;

    根据所述基于出口设备的bier头将所述组播报文发送给所述出口设备。

    9.根据权利要求8所述的方法,其特征在于,根据所述基于出口设备的bier头将所述组播报文发送给所述出口设备包括:

    去除所述目标报文的外部封装,得到所述sfc路径指示;

    根据所述sfc路径指示将所述目标报文发送给业务功能设备,其中,所述业务功能设备用于对所述目标报文进行业务功能处理;

    当业务功能转发设备是业务功能链的最后一跳时,解封装所述目标报文的所述sfc路径指示,得到封装所述组播报文的内层bier报文;

    根据所述内层bier报文将所述组播报文发送给所述出口设备。

    10.根据权利要求9所述的方法,其特征在于,根据所述内层bier报文将所述组播报文发送给所述出口设备包括:

    根据外层bier报文的proto指示确定所述目标报文后续为网络业务头nsh报文,根据所述nsh报文中的nextproto确定所述目标报文为内层bier报文;或者根据ipv6的nextproto或者mpls标签指示确定所述目标报文为内层bier报文;

    根据所述内层bier报文将所述组播报文发送给所述出口设备。

    11.根据权利要求10所述的方法,其特征在于,根据所述sfc路径指示将所述目标报文发送给所述业务功能设备包括:

    根据所述sfc路径指示将所述报文再次封装外层bier报文,将所述外层bier报文的bier头的目的bitstring设置为下一跳sff的bfr-id;

    根据预先建立的bier转发表项将所述目标报文发送给业务功能设备。

    12.根据权利要求9所述的方法,其特征在于,根据所述内层bier报文将所述组播报文发送给所述出口设备包括:

    当所述业务功能转发设备是所述sfc路径指示的最后一跳时,去掉所述目标报文的封装直至剩下所述内层bier报文及携带的组播报文,根据所述预先生成的bier转发表项与所述内层bier报文中的目的bitstring将所述组播报文发送给所述目标出口设备。

    13.根据权利要求11所述的方法,其特征在于,所述方法还包括:

    根据所述sfc路径指示在所述bier转发表项中确定下一跳sff为多个时,根据最短路径确定下一跳sff并进行转发;或

    根据预先生成的基于sff的转发附加表项进行转发,且同步修改所述内层bier报文中的目的bitstring。

    14.根据权利要求13所述的方法,其特征在于,所述方法还包括:

    对于有备份的目标sff,确定到达各个出口设备的路径;

    根据最短路径原则建立所述目标sff到达各个出口设备的所述转发附加表项。

    15.一种数据处理装置,应用于入口设备,其特征在于,包括:

    第一接收模块,用于接收待进行业务功能链sfc处理的组播报文;

    封装模块,用于对所述组播报文进行封装,得到封装后的目标报文,其中,所述目标报文包括所述sfc路径指示与基于出口设备的位索引显式复制bier头;

    第一发送模块,用于根据所述sfc路径指示将所述目标报文发送给业务功能转发设备,其中,最后一跳所述业务功能转发设备用于根据所述基于出口设备的bier头将所述组播报文发送给所述出口设备。

    16.一种数据处理装置,应用于业务功能转发设备,其特征在于,包括:

    第二接收模块,用于接收入口设备根据业务功能链sfc路径指示发送的所述目标报文,其中,所述目标报文是所述入口设备对接收到的待进行sfc处理的组播报文进行封装,得到的报文,其中,所述目标报文包括所述sfc路径指示与基于出口设备的位索引显式复制bier头;

    第二发送模块,用于根据所述基于出口设备的bier头将所述组播报文发送给所述出口设备。

    17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至7、8至14任一项中所述的方法。

    18.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至7、8至14任一项中所述的方法。

    技术总结
    本发明实施例提供了一种数据处理方法、装置、存储介质及电子装置,其中,该方法包括:接收待进行业务功能链SFC处理的组播报文;对该组播报文进行封装,得到封装后的目标报文,其中,该目标报文包括SFC路径指示与基于出口设备的BIER头;根据该SFC路径指示将该目标报文发送给业务功能转发设备,其中,最后一跳该业务功能转发设备用于根据该基于出口设备的BIER头将该组播报文发送给该出口设备,从而让目标报文到达出口设备,可以解决相关技术中通过组播树的方式转发组播报文,流量迂回处理对网络资源造成极大的浪费的问题,不必迂回处理,大大降低了网络资源的浪费。

    技术研发人员:张征;肖敏;魏月华
    受保护的技术使用者:中兴通讯股份有限公司
    技术研发日:2020.09.22
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-8305.html

    最新回复(0)