基于SFC的业务数据转发方法以及Overlay系统与流程

文档序号:17985351发布日期:2019-06-22 00:22阅读:382来源:国知局
基于SFC的业务数据转发方法以及Overlay系统与流程

本发明涉及sdn技术领域,尤其涉及一种基于服务功能链的业务数据转发方法以及overlay网络系统。



背景技术:

随着sdn(softwaredefinednetwork,软件定义网络)技术的发展,数据中心采用overlay技术使虚拟网络与物理网络分离,因此vdc(virtualdatacenter,虚拟数据中心)内的sfc(servicefunctionchaining,服务功能链)应用部署也发生了根本性变化。overlaynetwork(覆盖网络)是面向应用层的,不考虑或很少考虑网络层、物理层的问题。

传统sfc需要手工配置且与网络拓扑紧密耦合,如防火墙/负载均衡器等都是控制层根据服务数据报文转发的路径和网络拓扑来部署的。在sdn/nfv(networkfunctionvirtualization,网络功能虚拟化)技术的驱动下,云资源池逐步使用虚拟化技术,具有高流动性、易变化、多租户等特点,传统的服务链部署方式无法满足需求。vxlan控制平面与sfc域分离,业务流量不能正确依据sfcpath路径转发,存在sfc域和vxlan转发协同问题。在overlay网络中的nve(网络边缘设备)节点与sff分离场景下,nve无法根据sfpid去选择对应的隧道转发,不能实现业务动态性处理。



技术实现要素:

本发明的一个或多个实施例提供一种基于服务功能链的业务数据转发方法以及overlay网络系统。

根据本发明的一个方面,提供一种基于服务功能链的业务数据转发方法,应用于overlay网络中,包括:分类器接收到业务报文,基于所述业务报文生成sfc控制报文;所述分类器根据所述业务报文的转发路径信息生成网络服务报头nsh,并将所述nsh封装在所述sfc控制报文中;所述分类器基于所述nsh将所述sfc控制报文转发给服务功能转发器sff或网络边缘设备nve;其中,所述nve与所述sff物理分离。

可选地,所述分类器根据所述业务报文的转发路径信息生成nsh包括:所述分类器确定与所述业务报文相匹配的业务功能路径,并获取所述业务功能路径的业务功能路径标识sfpid;所述分类器生成与所述业务报文对应的所述nsh,并将所述sfpid封装在所述nsh中。

可选地,所述分类器基于所述nsh将所述sfc控制报文转发给sff包括:所述分类器根据所述nsh中的所述sfpid确定转发所述sfc控制报文的第一个sff,并将所述sfc控制报文转发给所述第一个sff。

可选地,所述分类器基于所述nsh将所述sfc控制报文转发给nve包括:如果需要将所述sfc控制报文转发到所述nve,所述分类器基于所述sfpid确定sfc域中的需要转发的下一个服务功能sf;所述分类器将所述sfc控制报文中的转发目的地址替换为所述下一个sf的地址,将所述业务报文的目标地址作为元数据存储在所述nsh中,并将所述sfc控制报文转发到所述nve。

可选地,所述sff接收到sf转发的所述sfc控制报文,如果所述sff需要将所述sfc控制报文转发到所述nve,则根据所述nsh中的所述sfpid确定sfc域中的下一跳节点的地址,将所述sfc控制报文中的转发目的地址替换为所述下一跳节点的地址,并存储实际目的地址。

可选地,所述sff接收到所述nve发送的所述sfc控制报文,将存储的所述实际目的地址替换所述sfc控制报文中的转发目的地址,并基于所述nsh中的所述sfpid将所述sfc控制报文转发给所述sf。

可选地,当所述sff基于所述nsh中的所述sfpid确定下一跳节点的地址为存储的所述实际目的地址,则将存储的所述实际目的地址替换所述sfc控制报文中的转发目的地址。

可选地,所述nve接收到所述分类器或所述sff发送的所述sfc控制报文,对所述sfc控制报文进行封装,生成vxlan报文,其中,在所述vxlan报文中封装有所述nsh;所述nve通过vxlan隧道将所述vxlan报文发送给下一跳nve;所述下一跳nve根据所述nsh中的所述sfpid确定下一跳sff,将所述vxlan报文转换为所述sfc控制报文并发送给所述下一跳sff。

可选地,所述vxlan报文携带的信息包括:目的地址、vxlan-gpe、nsh。

可选地,所述nsh包括:基本头部字段、sfpid标识字段。

根据本发明的另一方面,提供一种overlay网络系统,包括:分类器、sff、sf和nve;其中,所述nve与所述sff物理分离;所述分类器,用于接收业务报文,基于所述业务报文生成sfc控制报文;根据所述业务报文的转发路径信息生成网络服务报头nsh,并将所述nsh封装在所述sfc控制报文中;基于所述nsh将所述sfc控制报文转发给服务功能转发器sff或网络边缘设备nve。

可选地,所述分类器,用于确定与所述业务报文相匹配的业务功能路径,并获取所述业务功能路径的业务功能路径标识sfpid;生成与所述业务报文对应的所述nsh,并将所述sfpid封装在所述nsh中。

可选地,所述分类器,用于根据所述nsh中的所述sfpid确定转发所述sfc控制报文的第一个sff,并将所述sfc控制报文转发给所述第一个sff。

可选地,所述分类器,用于如果需要将所述sfc控制报文转发到所述nve,基于所述sfpid确定sfc域中的需要转发的下一个服务功能sf;将所述sfc控制报文中的转发目的地址替换为所述下一个sf的地址,将所述业务报文的目标地址作为元数据存储在所述nsh中,并将所述sfc控制报文转发到所述nve。

可选地,所述sff,用于接收到sf转发的所述sfc控制报文,如果需要将所述sfc控制报文转发到所述nve,则根据所述nsh中的所述sfpid确定sfc域中的下一跳节点的地址,将所述sfc控制报文中的转发目的地址替换为所述下一跳节点的地址,并存储实际目的地址。

可选地,所述sff,用于接收到所述nve发送的所述sfc控制报文,将存储的所述实际目的地址替换所述sfc控制报文中的转发目的地址,并基于所述nsh中的所述sfpid将所述sfc控制报文转发给所述sf。

可选地,所述sff,用于当基于所述nsh中的所述sfpid确定下一跳节点的地址为存储的所述实际目的地址,则将存储的所述实际目的地址替换所述sfc控制报文中的转发目的地址。

可选地,所述nve,用于接收到所述分类器或所述sff发送的所述sfc控制报文,对所述sfc控制报文进行封装,生成vxlan报文,其中,在所述vxlan报文中封装有所述nsh;通过vxlan隧道将所述vxlan报文发送给下一跳nve;其中,所述下一跳nve根据所述nsh中的所述sfpid确定下一跳sff,将所述vxlan报文转换为所述sfc控制报文并发送给所述下一跳sff。

可选地,所述vxlan报文携带的信息包括:目的地址、vxlan-gpe、nsh。

可选地,所述nsh包括:基本头部字段、sfpid标识字段。

根据本发明的又一方面,提供一种overlay网络系统af,包括:

存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上所述的基于服务功能链的业务数据转发方法。

根据本公开的再一方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该指令被一个或多个处理器执行时实现如上所述的方法的步骤。

本发明的基于服务功能链的业务数据转发方法以及overlay网络系统,分类器根据业务报文的转发路径信息生成nsh,并将nsh封装在sfc控制报文中,基于nsh在sfc域内转发sfc控制报文;nve对接收到的sfc控制报文进行封装,生成vxlan报文,在vxlan报文中封装有nsh,通过vxlan隧道将vxlan报文发送给下一跳nve;在nve节点与sff分离的场景下提供vdc业务的sfc服务提供方法,实现sfc流量转发处理不依赖于网络结构和拓扑,满足数据中心服务功能节点动态部署迁移;对分类器、sff和nve定义新的处理机制,满足在设备与服务链解耦情况下,能正确转发sfc业务。

附图说明

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为根据本公开的基于服务功能链的业务数据转发方法的一个实施例的流程示意图;

图2为根据本公开的基于服务功能链的业务数据转发方法的一个实施例的业务数据转发示意图;

图3为根据本公开的基于服务功能链的业务数据转发方法的一个实施例中的nsh的报文格式示意图;

图4为根据本公开的基于服务功能链的业务数据转发方法的一个实施例中的vxlan报文的报文格式示意图;

图5为根据本公开的overlay网络系统的一个实施例的模块示意图;

图6为根据本公开的overlay网络系统的另一个实施例的模块示意图。

具体实施方式

下面参照附图对本公开进行更全面的描述,其中说明本公开的示例性实施例。下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

下文中的“第一”、“第二”等仅用于描述上相区别,并没有其它特殊的含义。

图1为根据本公开的基于服务功能链的业务数据转发方法的一个实施例的流程示意图,业务数据转发方法应用于overlay网络中,如图1所示:

步骤101,分类器接收到业务报文,基于业务报文生成sfc控制报文。

步骤102,分类器根据业务报文的转发路径信息生成网络服务报头nsh,并将nsh封装在sfc控制报文中。nsh(networkserviceheader,网络服务报头)是为服务链设计的封装格式。

步骤103,分类器基于nsh将sfc控制报文转发给sff(servicefunctionforwarder,服务功能转发器)或网络边缘设备nve(networkvirtualizationedge,网络边缘设备),其中,nve与sff物理分离。

上述实施例中的业务数据转发方法,在nve节点与sff分离的场景下提供vdc业务的sfc服务提供方法,实现sfc流量转发处理不依赖于网络结构和拓扑,满足数据中心服务功能节点动态部署迁移。

当网络nve节点与sff物理分离以及vxlan网络的控制平面与sfc域不相关时,业务数据无法按预定sfcpath路径进行业务流量转发,nve无法根据sfpid进行动业务态性处理。本公开在分类器重定义了sfc控制报文的nsh控制字段以及vxlan扩展转发机制,满足sff节点准确将流量调配到sf(servicefunction,服务功能)节点处理,可以提高sdn服务链的灵活部署,满足在vdc网络nve节点与sff解耦时提高sfc流量转发的正确性,保证安全、快速、稳定的网络服务,提高sdn服务链的灵活部署。

在一个实施例中,分类器确定与业务报文相匹配的业务功能路径,并获取业务功能路径的业务功能路径标识sfpid。分类器生成与业务报文对应的nsh,并将sfpid封装在nsh中。nsh包括基本头部字段、sfpid标识字段等如图3所示。通过nsh实现云资源池服务链节点准确匹配sfpid属性,将流量调配到sf上进行处理。

分类器根据nsh中的sfpid确定转发sfc控制报文的第一个sff,并将sfc控制报文转发给第一个sff。如果需要将sfc控制报文转发到nve,分类器基于sfpid确定sfc域中的需要转发的下一个目标sf,将sfc控制报文中的转发目的地址替换为下一个sf的地址,将业务报文的目标地址作为元数据存储在nsh中,并将sfc控制报文转发到nve。

在一个实施例中,本公开的方法定义了sff、nve转发处理流程,满足sfc业务数据的正确转发。sff接收到sf转发的sfc控制报文,如果sff需要将sfc控制报文转发到nve,则根据nsh中的sfpid确定sfc域中的下一跳节点的地址,将sfc控制报文中的转发目的地址替换为下一跳节点的地址,并存储实际目的地址。sff接收到nve发送的sfc控制报文,将存储的实际目的地址替换sfc控制报文中的转发目的地址,并基于nsh中的sfpid将sfc控制报文转发给sf。当sff基于nsh中的sfpid确定下一跳节点的地址为存储的实际目的地址,则将存储的实际目的地址替换sfc控制报文中的转发目的地址。

nve接收到分类器或sff发送的sfc控制报文,对sfc控制报文进行封装,生成vxlan(virtualextensiblelan,可扩展虚拟局域网)报文,其中,在vxlan报文中封装有nsh。nve通过vxlan隧道将vxlan报文发送给下一跳nve,下一跳nve根据nsh中的sfpid确定下一跳sff,将vxlan报文转换为sfc控制报文并发送给下一跳sff。vxlan报文携带的信息包括目的地址、vxlan-gpe、nsh等,如图4所示。

图2为根据本公开的基于服务功能链的业务数据转发方法的一个实施例的数据转发示意图,如图2所示:分类器从数据源设备获得业务报文,确定与业务报文相匹配的业务功能路径的sfpid,将业务报文打上特定的sfc包头生成sfc控制报文,将sfpid封装在nsh中,并将nsh封装在sfc控制报文中。其中,nsh可以封装在sfc包头中。

分类器根据sfc控制报文中的nsh携带的sfpid标识,将业务转发给sff1,同时获取下一跳节点。分类器在流量转发到nve4之前,分类器将sfc控制报文中的转发目的地址替换改成下一跳(sf1)的地址,将业务报文的目标地址作为元数据存储在nsh中。

当sff接收到的sfc业务流量来自sf,直连的sff在流量转发到nve前,需要根据nve中封装的sfpid寻找下一跳地址,并替换下一跳地址,同时将实际目的地址存储在sfcheader元数据库中。当sff接收的sfc流量来自nve,在根据nve中封装的sfpid转发给sf处理前,sff会将存储在sfcheader的元数据的目标地址重新填充实际目的地址。当sff根据sfc检测发现下一跳就是元数据存储的实际目地址,则sff将目标地址恢复成实际目的地址,最终完成sfc报文转发。

nve从分类器或者sff获取sfc控制报文后,对其进行vxlan封装,如图4所示,扩展vxlan报文封装支持nsh的封装,并由vxlan隧道转发给下一跳。当sfc控制报文到达下一跳nve时,对vxlan报文解封装,然后根据nsh中封装的sfpid检测下一跳,并将sfc控制报文通过sff转发给sf处理。

上述实施例中的业务数据转发方法,对分类器、sff和nve定义新的处理机制,满足在设备与服务链解耦情况下,能正确转发sfc业务;在sfc服务中增加nsh报文处理,定义vxlan的封装格式,实现简单,无需硬件改动,只需硬件支持sdn网络功能虚拟化能力。

在一个实施例中,如图5所示,根据本公开提供一种overlay网络系统,包括:分类器51、sff52,53、sf54,55和nve56,57。nve56,57分别与sff52,53物理分离。下文中以sff52、sf54和nve56等为例进行说明。

分类器51接收业务报文,基于业务报文生成sfc控制报文。分类器51根据业务报文的转发路径信息生成网络服务报头nsh,并将nsh封装在sfc控制报文中。分类器51基于nsh将sfc控制报文转发给服务功能转发器sff52或网络边缘设备nve56。

分类器51确定与业务报文相匹配的业务功能路径,并获取业务功能路径的业务功能路径标识sfpid。分类器51生成与业务报文对应的nsh,并将sfpid封装在nsh中。分类器51根据nsh中的sfpid确定转发sfc控制报文的第一个sff52,并将sfc控制报文转发给第一个sff52。

分类器51如果需要将sfc控制报文转发到nve56,则基于sfpid确定sfc域中的需要转发的下一个服务功能sf54,将sfc控制报文中的转发目的地址替换为下一个sf54的地址,将业务报文的目标地址作为元数据存储在nsh中,并将sfc控制报文转发到nve56。

sff52接收到sf54转发的sfc控制报文,如果需要将sfc控制报文转发到nve56,则根据nsh中的sfpid确定sfc域中的下一跳节点的地址(sff53的地址),将sfc控制报文中的转发目的地址替换为下一跳节点的地址,并存储实际目的地址。

sff53接收到nve56发送的sfc控制报文,将存储的实际目的地址替换sfc控制报文中的转发目的地址,并基于nsh中的sfpid将sfc控制报文转发给sf54。当sff53基于nsh中的sfpid确定下一跳节点的地址为存储的实际目的地址,则将存储的实际目的地址替换sfc控制报文中的转发目的地址。

nve56接收到分类器51或sff54发送的sfc控制报文,对sfc控制报文进行封装,生成vxlan报文,在vxlan报文中封装有nsh。通过vxlan隧道将vxlan报文发送给下一跳nve57,下一跳nve57根据nsh中的sfpid确定下一跳sff53,将vxlan报文转换为sfc控制报文并发送给下一跳sff53。

图6为根据本公开公开的overlay网络系统af的另一个实施例的模块示意图。如图6所示,该装置可包括存储器61、处理器62、通信接口63以及总线64。存储器61用于存储指令,处理器62耦合到存储器61,处理器62被配置为基于存储器61存储的指令执行实现上述的业务数据转发方法。

存储器61可以为高速ram存储器、非易失性存储器(non-volatilememory)等,存储器61也可以是存储器阵列。存储器61还可能被分块,并且块可按一定的规则组合成虚拟卷。处理器62可以为中央处理器cpu,或专用集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本公开公开的业务数据转发方法的一个或多个集成电路。

在一个实施例中,本公开还提供一种计算机可读存储介质,其中计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上任一实施例涉及的业务数据转发方法。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

上述实施例中的业务数据转发方法以及overlay网络系统,分类器根据业务报文的转发路径信息生成nsh,并将nsh封装在sfc控制报文中,基于nsh在sfc域内转发sfc控制报文;nve对接收到的sfc控制报文进行封装,生成vxlan报文,在vxlan报文中封装有nsh,通过vxlan隧道将vxlan报文发送给下一跳nve;在nve节点与sff分离的场景下提供vdc业务的sfc服务提供方法,实现sfc流量转发处理不依赖于网络结构和拓扑,满足数据中心服务功能节点动态部署迁移;对分类器、sff和nve定义新的处理机制,满足在设备与服务链解耦情况下,能正确转发sfc业务;在sfc服务中增加nsh报文处理,定义vxlan的封装格式,实现简单,无需硬件改动,只需硬件支持sdn网络功能虚拟化能力。

可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1