CN111988395B - 一种服务功能链构建系统及方法 - Google Patents
一种服务功能链构建系统及方法 Download PDFInfo
- Publication number
- CN111988395B CN111988395B CN202010833802.6A CN202010833802A CN111988395B CN 111988395 B CN111988395 B CN 111988395B CN 202010833802 A CN202010833802 A CN 202010833802A CN 111988395 B CN111988395 B CN 111988395B
- Authority
- CN
- China
- Prior art keywords
- service function
- data packet
- flow
- address
- path
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
- H04L61/5014—Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/659—Internet protocol version 6 [IPv6] addresses
Abstract
本发明提供一种服务功能链构建系统及方法,系统包括:DHCPv6服务器,接收主机的DHCP请求后,向发起请求的主机返回包含主机多重语义属性编码的IPv6地址;服务功能链控制器接收服务功能链构建请求,根据请求以及主机的多重语义属性编码的IPv6地址确定流分类策略及服务功能路径定义策略;流分类器,用于接收流分类策略并对数据包进行分类;以及接收服务功能路径定义策略,依据数据流与服务功能路径的映射关系对数据包添加IPv6源路由包头形成服务功能路径的定义;服务功能节点的服务功能交换机接收数据包并解析,控制数据流的流转路径,遍历每一个服务功能节点,并在处理完毕后剥除当前节点数据包中对应的信息。
Description
技术领域
本发明涉及IPv6协议及服务功能链技术领域,尤其涉及一种服务功能链构建系统及方法。
背景技术
近年来,随着互联网规模的不断扩大和网民数量的急骤增长,互联网用户向网络提供商(ISP)和网络内容提供商(ICP)提出了多样化、差异化的服务需求。为满足这些需求,ISP/ICP一般通过在网络中部署多种网络中间件设备(如防火墙、流量整型、Web缓存、代理服务、入侵检测系统、网络地址转换、负载均衡设备等),并组合其提供的服务功能(ServiceFunction,SF)予以实现。但是,传统的中间件设备基本都架构在网络设备厂商专属的硬件之上,一般只能提供单一的服务功能,具有封闭性和专属性,且严重依赖于网络的物理拓扑。这就导致网络管理者在增加或者调整网络服务时,极易出现配置错误,且需要付出较大的人力成本。同时,管理者无法使用上层统一的管理策略表达、动态地调整服务功能。而错误地改变一个或多个服务功能实例可能会引发错误叠加效应,引发数据流引导的环路或黑洞。这些问题不仅给网络的管理带来了巨大的成本,同时也阻碍了网络的演进和创新。
软件定义网络(Software-Defined Networking,SDN)和网络功能虚拟化(NetworkFunctions Virtualization,NFV)技术是为解决当前网络服务创新能力不足而提出的解决方案。前者将控制与转发平面分离,并将控制平面形成逻辑集中的控制器决策层,从而指导转发元素专注于数据包的转发。借助于SDN的网络编程能力和控制器提供的全局网络拓扑视图,网络管理员可以灵活制定上层网络策略,加快新协议、新功能的部署,实现网络功能创新。而后者将物理资源与逻辑功能分离,使传统必须基于硬件实现的网络功能以软件的方式实现,并可以部署于虚拟机或者普通服务器上,从而实现网络功能的快速部署与迁移,降低网络管控成本,实现网络功能的扩展性。
在SDN、NFV等新技术支持下,为更好地满足上层业务需求,减少服务功能部署和管理成本,提高服务功能、中间件的灵活组合和动态调整能力,互联网标准组织(IETF)和学术界近年来提出了服务功能链(Service Function Chaining,SFC)或网络服务功能链(Network Service Chaining,NSC)的概念,简称“服务功能链”。IETF将其定义为“数据包必须经过的一组抽象服务特定序列”,而学术界将其定义为“一种基于网络功能关联、运营商级别的持续交付服务组合”、“一组能够处理特殊应用的传输、控制、监视数据流的链序服务集合”。
在数据层面上,服务功能链主要通过数据包打标签、隧道封装、OpenFlow多级流表等方法建立数据包的转向机制,从而使数据流按序经过服务功能节点(Service FunctionNode,SFN);而在管理控制层面,管理员无须关心底层数据流分类、路由调度、数据包处理等细节,只需通过集中管控的服务功能链管理平台,将传统的中间件设备或者NFV环境下的服务功能识别为服务功能节点或服务功能实例(SF Instance),通过上层策略定义实现服务功能链的描述、构建以及动态调整,从而构建出自定义的服务功能路径。
尽管现有服务功能链的研究已取得了较多成果,但目前服务功能链的实现仍存在两大不足:
一是数据流分类粒度单一,无法满足用户多样化、多粒度服务的要求。当前数据流分类采用固定的五元组数据流分类方式,即网络设备对相同的(源IP地址、目的IP地址、源端口,目的端口,协议号)数据包归为一类,从而实施服务功能链。但这样固定的数据流分类方法,已无法适应用户移动及多变场景需求,也无法满足用户个性化、差异化的需求。
二是现有服务功能路径建立机制开销较大。现有服务功能路径建立机制有基于隧道和标签相结合的流引导技术,如SIMPLE、NSH(Network Service Header)、SFL(ServiceForwarding Label)、FlowTags等方案通过对数据包打标签,同时结合GRE/VXLAN等技术控制数据包的流转。但这种方式增加了系统开销,减少了数据包有效载荷,而且非标准化的数据包标签还可能影响其他服务的实施;还有基于OpenFlow多级流表的技术,如StEERING、OpenNF等方案通过在OpenFlow交换机中创建多级流表、协调控制SDN转发规则,并对服务功能序列进行编码完成数据流在不同服务功能实例之间的引导。但这种方法设计较为复杂,不仅要区分数据流在交换机上的端口流向,还要细致设计和识别多级流表字段和服务序列编码;还有基于多段TCP维护的技术,如Dysco方案等将端到端的TCP传输变成发送主机、服务功能实例集合以及接收端之间的多段TCP连接,从而实现服务功能链的动态调节。然而该方法需将流经的服务功能实例加载至每个数据包中,同时每个节点都要维护所在段的TCP状态。这些方案共同的不足在于数据流引导机制较为复杂,减少了数据包的有效载荷并增大了MTU,可能造成数据包分片,同时还加重了交换机标签解析负担。
以上背景技术内容的公开仅用于辅助理解本发明的构思及技术方案,其并不必然属于本专利申请的现有技术,在没有明确的证据表明上述内容在本专利申请的申请日已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。
发明内容
本发明为了解决现有的服务功能链技术存在的数据流分类粒度不足、服务功能路径建立机制开销较大的问题,提供一种服务功能链构建系统及方法。
为了解决上述问题,本发明采用的技术方案如下所述:
一种服务功能链构建系统,包括:DHCPv6服务器、服务功能链控制器、流分类器和服务功能节点,所述DHCPv6服务器,接收主机的DHCP请求后,向发起请求的主机返回包含所述主机多重语义属性编码的IPv6地址;所述服务功能链控制器,接收服务功能链构建请求,根据所述请求以及所述主机的多重语义属性编码的IPv6地址确定流分类策略及服务功能路径定义策略,下发给所述流分类器;所述流分类器,设置在数据包入口位置,用于接收所述流分类策略并对数据包进行分类;以及接收所述服务功能路径定义策略,依据所述数据流与服务功能路径的映射关系对所述数据包添加IPv6源路由包头形成服务功能路径的定义;所述服务功能节点由服务功能交换机和服务功能实例构成,服务功能交换机用于接收所述数据包并解析所述IPv6源路由包头,根据解析结果控制数据流的流转路径,遍历所述功能路径中的每一个所述服务功能节点,并在每一个所述服务功能实例处理完毕后剥除当前节点所述数据包中对应的所述IPv6源路由包头中的信息。
优选地,所述多重语义属性编码的IPv6地址包括网络前缀编码和地址语义编码,所述地址语义编码是根据发起请求的所述主机的多重属性进行编码。
优选地,所述服务功能链构建请求包括对服务功能路径及目标数据流的定义。
优选地,所述IPv6源路由包头包括按服务功能路径的逆序方向,依次将所有所述服务功能实例及所述服务功能交换机的IP地址成对地填充,形成栈的结构。
优选地,每一个所述服务功能节点实例前部署所述服务功能交换机,或多个所述服务功能节点实例共享一个所述服务功能交换机。
优选地,所述服务功能交换机接收到所述数据包后,解析所述数据包的IPv6源路由包头,若所述IPv6源路由包头中当前第一个IP地址为自身IP地址,则将所述数据包转发给所述IPv6源路由包头中第二个IP地址所指示的所述服务功能实例;若所述IPv6源路由包头中当前第一个IP地址不是自身IP地址,则丢弃所述数据包;所述服务功能交换机接收所述服务功能实例对所述数据包处理完毕转回的数据包并剥除所述数据包IPv6源路由包头中当前节点的所述服务功能交换机及所述服务功能实例的IPv6地址对数据。
优选地,在所述服务功能链控制器上添加接口,使配置信息在DHCPv6服务器、服务功能链控制器、流分类器和服务功能交换机之间共享。
优选地,所述配置信息包括地址语义编码信息、服务功能与服务功能实例之间的映射关系。
本发明还提供一种服务功能链构建方法,采用如上任一所述的系统,包括:配置所述DHCPv6服务器接收主机的DHCP请求后,向发起请求的主机返回包含所述主机多重语义属性编码的IPv6地址;配置所述服务功能链控制器接收服务功能链构建请求,根据所述请求以及所述主机的多重语义属性编码的IPv6地址确定流分类策略及服务功能路径定义策略,下发给所述流分类器;配置所述流分类器,设置在数据包入口位置,接收所述流分类策略并对数据包进行分类;以及接收所述服务功能路径定义策略,依据所述数据流与服务功能路径的映射关系对所述数据包添加IPv6源路由包头形成服务功能路径的定义;配置所述服务功能节点由服务功能交换机和服务功能实例构成,服务功能交换机接收所述数据包并解析,根据解析结果控制数据流的流转路径,遍历所述功能路径中的每一个所述服务功能节点,并在每一个所述服务功能实例处理完毕后剥除当前节点所述数据包中对应的所述IPv6源路由包头中的信息。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
本发明的有益效果为:提供一种服务功能链构建系统及方法,通过地址语义编码的数据流分类机制可使管理者根据自身的需求对数据包进行多粒度分类;同时,基于SRv6源路由的服务功能路径建立机制可使管理者不改变现在网络拓扑和网络设备情况下,动态地定义服务功能路径,灵活而动态地对任意感兴趣的数据流应用特定的服务功能链,从而实现为用户提供差异化服务的目标,且整体方法实施开销较小、实际可行。
附图说明
图1是本发明实施例中一种服务功能链构建系统的示意图。
图2是本发明实施例中流分类器对数据包添加服务功能路径源路由的处理流程示意图。
图3是本发明实施例中一种服务功能链构建方法的示意图。
图4是本发明实施例中根据某网络的业务需求构建的服务功能链示意图。
具体实施方式
为了使本发明实施例所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需要说明的是,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者间接在该另一个元件上。当一个元件被称为是“连接于”另一个元件,它可以是直接连接到另一个元件或间接连接至该另一个元件上。另外,连接既可以是用于固定作用也可以是用于电路连通作用。
需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多该特征。在本发明实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
如图1所示,本发明提供一种服务功能链构建系统,包括:DHCPv6服务器1、服务功能链控制器2、流分类器3和服务功能节点,
所述DHCPv6服务器1,接收主机的DHCP请求后,向发起请求的主机返回包含所述主机多重语义属性编码的IPv6地址;
所述服务功能链控制器2,接收服务功能链构建请求,根据所述请求以及所述主机的多重语义属性编码的IPv6地址确定流分类策略及服务功能路径定义策略,下发给所述流分类器3;
所述流分类器3,设置在数据包入口位置,用于接收所述流分类策略并对数据包进行分类;以及接收所述服务功能路径定义策略,依据所述数据流与服务功能路径的映射关系对所述数据包添加IPv6源路由包头形成服务功能路径的定义;
所述服务功能节点由服务功能交换机4和服务功能实例5构成,服务功能交换机4用于接收所述数据包并解析所述IPv6源路由包头,根据解析结果控制数据流的流转路径,遍历所述功能路径中的每一个所述服务功能节点,并在每一个所述服务功能实例5处理完毕后剥除当前节点所述数据包中对应的所述IPv6源路由包头中的信息。
本发明在服务功能网络中部署服务功能链控制器、在数据包入口位置部署数据流分类器、在各服务功能实例接入位置部署服务功能交换机、以及在用户网络中部署改进的DHCPv6服务器;之后,系统通过DHCPv6服务器将用户多重语义属性编码于分配给主机的IPv6地址中;同时,系统根据管理员在服务功能链控制器上对服务功能链及其目标数据流的定义,向流分类器下发数据包分类及服务功能链形成策略;在以上策略指导下,流分类器根据数据包IP源地址中包含的语义及其他属性对数据包进行灵活分类,并对数据包添加形成服务功能链的IPv6源路由包头;最后,服务功能交换机解析数据包的源路由包头,待当前服务功能实例处理完毕,再剥除该当前节点的源路由数据,直至该数据包被其源路由包中定义的所有节点处理完毕。本方法是一种动态灵活、且开销较低的服务功能链构建方案,可为大型企业网络提供多样化、智能化的网络服务提供解决方案。
现有技术中的DHCPv6服务器,收到主机地址获取请求后,就会从地址池中随机取一个,授予给请求主机;而不能识别请求主机的身份,从而授予其包含其语义编码的IP地址。
多重语义属性编码的IPv6地址包括网络前缀编码和地址语义编码,所述地址语义编码是根据发起请求的所述主机的多重属性进行编码。
下面详细说明本发明的系统:
1.本发明首先需要DHCPv6服务器对地址进行语义编码,使地址含有用户的多重属性;这个多重属性可以是用户所在楼宇、用户组、身份标识等,实际上各管理员根据自己网络的情况定义的,并不限于此。
在本发明的一种实施例中,网络管理者根据自身网络实际情况,将用户的多重语义属性,如用户所在楼宇、用户组、身份标识等编码于其IPv6后64位中,并结合IPv6的前64位网络前辍,形成128位IPv6地址后,通过DHCPv6等协议分配给用户,即用户128位获得的IPv6地址形如:<64位子网前辍,64位用户语义属性(用户属性1(长度L1),属性2(长度L1),…,属性n(长度Ln))>,其中L1+L2+,…,+Ln=64。
2.管理员在网络中部署服务功能链控制器,使之能够接受管理员的构建服务功能链的请求,根据所述请求以及所述主机的多重语义属性编码的IPv6地址确定流分类策略及服务功能路径定义策略,下发给所述流分类器。
服务功能链构建请求包括对服务功能路径及目标数据流的定义。在一种具体的实施例中,请求是指用户在多长的时间段内,对于指定数据流需要先后经过哪些服务功能的描述,如“属于用户组1的主机的HTTP数据包在一天内需要先经过防火墙,再经过上网加速器”。服务功能链控制器根据管理员的请求,形成流分类策略及服务功能路径定义策略,下发给流分类器。
流分类策略是指控制器根据强求,采用某一个或者多个属性来对数据包进行分类,即:Flowi=f(p1,p2,…,pn),其中pi表示语义属性,而非目前固定的flow=f(IP源地址,IP目的地址,源端口,目的端口,协议号)。
服务功能路径定义策略是指控制器根据请求,对服务功能链(SFC)先后经过的服务功能节点(SFN)进行定义,即SFCi={SFN1,SFN2,…,SFNn},而服务功能节点SFN又由服务功能交换机(SFS)和服务功能实例(SFI)构成,也即SFCi={(SFS1,SFI1),(SFS2,SFI2),…,(SFSn,SFIn)}。这样的设计考虑是当一个服务功能有多个服务功能实例时,服务功能链控制器可根据各实例的负载情况,指定负载较轻的服务功能实例进行编排。
服务功能链控制器下发给流分类器的指令,是指上述流分类策略及服务功能路径定义策略映射关系的说明文件:(Flowi,SFCi)。
服务功能链是指用户定义的使特定数据包按序经过部署的一系列服务功能组合序列;为保证服务功能的正常运行,服务功能(如防火墙、代理服务、流量整理等中间件)可能有多个服务功能实例(比如防火墙有多个),服务功能路径是指数据包按策略从第一个服务功能实例转发到最后一个服务功能实例之间流转的路径。
简单地说,服务功能链是宏观上定义某类型数据包必须流经的服务功能顺序,比如先经过防火墙,然后经过负载均衡,最后经过其他的服务功能。但是一种服务功能可能有多个实例,比如防火墙有多个,或者负载均衡设备有多个,此时数据包经过的具体服务功能实例的路径才是服务功能路径。服务功能链只是定义数据包经过服务功能的先后顺序,服务功能路径则描述了数据包经过的整个具体路径。
服务功能链控制器下发的策略会说明:什么数据流;需要经过哪些服务功能实例的先后顺序;比如某主机的HTTP数据流,先要经过防火墙实例1,再经过流量整型实例2即Policyi={Flowi,SFCi}。
此外,数据流和数据包是区别的,数据包是指网络中传输的最小单元;数据流是指一段时间内持续的同样性质的一组数据包的集合。传统的数据流分类方法是基于五元组分类方法,比如采用BT软件下载一个文件,从下载开始到结束的这段时间内,传输这个文件的所有包就是一个数据流。
在本发明的一种实施例中,流分类器对数据流按定义策略对数据流分类后,仍可采用传统方案,比如ForCES、NSH、OpenFlow多重流表,对分类后的数据流建立服务功能路径,只是开销较大(需要设备之间复杂控制),使数据包的有效载荷变小,并造成数据包分片。
3.管理员在网络服务区入口位置部署流分类器,使之能够接受服务功能链控制器下发的流分类策略及服务功能路径定义策略,能够识别多重属性并对数据包按流分类策略进行灵活分类、并添加IPv6源路由(SRv6)包头,从而形成服务功能路径的定义。
如图2所示,在本发明的一种实施例中,按服务功能链的逆序方向,依次将成对的将服务功能实例及其服务功能交换机IP地址形成服务链节点6填充至SRv6包头的源路由节点中,形成栈的结构,即服务功能链中最后的节点在栈底,而第一个节点在栈顶。
SRv6 Header={(SFS1,SFI1),(SFS2,SFI2),…,(SFSn,SFIn)}
4.服务功能交换机收到数据包后,首先解析其源路由包头,若包头中当前第一个IP地址为自身IP地址,则将数据包转发给该包头中第二个IP地址所指示的服务功能实例;若该包头中当前第一个IP地址不是自身IP地址,则丢弃该数据包。
服务功能实例对数据包处理完毕后,转交给其接入的服务功能交换机。此时,该服务功能交换机将剥除源SRv6路由包头中当前节点所对应的(服务功能实例,服务功能交换机)的地址对,并将数据包转交给网络。
SRv6 Headeri={(SFSi+1,SFIi+1),(SFSi+2,SFIi+2),…,(SFSn,SFIn)}
支持SRv6源路由技术的网络将把数据包转交给下一个服务功能交换机,重复2-4、2-5步骤,直至遍历完毕源路由中所有节点,最后一个服务功能交换机删除掉SRv6包头,直此系统完成对指定数据包在其映射的服务功能路径上的流转控制,其源路由包头节点为空。
SRv6 Headeri={}
在本发明的一种实施例中,管理员在所有服务功能实例前部署服务功能交换机,或多个服务功能实例共享一个服务功能交换机接入,采用VLAN等技术隔离各服务功能,使该交换机能够为服务功能实例提供网络接入服务的同时,还能够根据数据包的SRv6包头,控制数据包的流转路径。
本发明的系统需要增强服务功能链控制器、DHCPv6服务器、流分类器、服务功能交换机之间有机协调,在所述服务功能链控制器上添加接口,使配置信息在DHCPv6服务器、服务功能链控制器、流分类器和服务功能交换机之间共享。配置信息包括地址语义编码信息、服务功能与服务功能实例之间的映射关系。
如图3所示,本发明还提供一种服务功能链构建方法,采用如上任一所述的系统,包括:
配置所述DHCPv6服务器接收主机的DHCP请求后,向发起请求的主机返回包含所述主机多重语义属性编码的IPv6地址;
配置所述服务功能链控制器接收服务功能链构建请求,根据所述请求以及所述主机的多重语义属性编码的IPv6地址,确定流分类策略及服务功能路径定义策略,下发给所述流分类器;
配置所述流分类器,设置在数据包入口位置,接收所述流分类策略并对数据包进行分类;以及接收所述服务功能路径定义策略,依据所述数据流与服务功能路径的映射关系对所述数据包添加IPv6源路由包头形成服务功能路径的定义;
配置所述服务功能节点由服务功能交换机和服务功能实例构成,服务功能交换机接收所述数据包并解析,根据解析结果控制数据流的流转路径,遍历所述功能路径中的每一个所述服务功能节点,并在每一个所述服务功能实例处理完毕后剥除当前节点所述数据包中对应的所述IPv6源路由包头中的信息。
本发明的方法通过地址语义编码的数据流分类机制可使管理者根据自身的需求对数据包进行多粒度分类;同时,基于SRv6源路由的服务功能路径建立机制可使管理者不改变现在网络拓扑和网络设备情况下,动态地定义服务功能路径,动态地对任意感兴趣的数据流应用定制的服务功能链,从而实现为用户提供差异化服务的目标,且整体方法实施开销较小、实际可行。
如图4所示,本发明可利用软件定义网络架构,建立服务功能链控制器,进一步地,实施例包括以下步骤:
1-1)管理员在网络中部署改进的DHCPv6服务器1,使之能够接受网络中主机DHCP请求后,向请求主机返回包含其多重语义属性编码的IPv6地址;
假设某网络对用户地址语义属性定义及某主机的具体值为(用户可根据自身网络情况进行定义):
假设网络的前辍为2001:250:3C02:0001::/64,那么分配给该用户的IP地址为:
2001:250:3C02:0001:(0000 0001 0000 1001)(0000 0000 0000 0001)(00010010 0011 0100)(0101 0110 0111 2000),也即:
2001:250:3C02:0001:0109:0001:1234:5678
1-2)管理员在网络中部署所述服务功能链控制器;
1-3)管理员在网络服务区入口位置所述部署流分类器;
1-4)管理员在所有服务功能实例前部署所述服务功能交换机;
2.根据所述的服务功能链系统,形成构建地址语义驱动的服务功能链的方法步骤如下:
2-1)管理者在服务功能链控制器2上描述服务功能链的用户需求。
假设管理员的需求为“属于用户组2主机的HTTP数据包在一天内需要先经过防火墙,再经过上网加速器”。
2-2)服务功能链控制器2根据管理员需求,形成流分类策略及服务功能路径定义策略,下发给流分类器3;
如上述2-1的用户需求,最终下发的文件内容如下:
2-3)流分类器3按据下发的策略对数据包按要求进行灵活分类,并根据数据流与服务功能路径的映射关系,添加SRv6源路由包头,将该服务功能链所定义的所有服务功能实例及其服务功能交换机的IPv6地址成对地填充;
即IPv6源路由包头中的源路由节点为:
SRv6 Header={
(2001:250:3C02:0001:172.16.1.10,2001:250:3C02:0001:172.16.1.11),
(2001:250:3C02:0001:172.16.3.20,2001:250:3C02:0001:172.16.3.21)}
2-4)服务功能交换机4收到数据包后,首先解析其源路由包头,若包头中当前第一个IP地址为自身IP地址,则将数据包转发给该包头中第二个IP地址所指示的服务功能实例;若该包头中当前第一个IP地址不是自身IP地址,则丢弃该数据包。
此处的服务功能交换机是防火墙功能交换机。
2-5)服务功能实例5对数据包处理完毕后,转交给其接入的服务功能交换机4。此时,该服务功能交换机将剥除源SRv6路由包头中当前节点所对应的(服务功能实例,服务功能交换机)的地址对,并将数据包转交给网络。
此处的服务功能实例5是防火墙功能实例,即当防火墙功能实例接收到数据包并处理完毕后,其服务功能交换机将删除当前节点的源路由地址对,变成:
SRv6 Header={
(2001:250:3C02:0001:172.16.3.20,2001:250:3C02:0001:172.16.3.21)}
2-6)支持SRv6源路由技术的网络将把数据包转交给下一个服务功能交换机7,重复2-4、2-5步骤,服务功能实例8完成对数据包的处理后转交给服务功能交换机7,而后因自身为该服务功能链的最后一个服务功能节点,服务功能交换机7删除掉SRv6包头,从而使数据包完成服务功能路径上的流转。
即当广域网加速功能实例接收到数据包并处理完毕后,其服务功能交换机继续删除当前节点的源路由地址对,变成:
SRv6 Header={}
此时,该数据流对服务功能链的遍历完毕,网络按该数据包的目的地IP地址继续转发。
图4中还包括负载均衡功能交换机9和负载均衡器10。
本申请实施例还提供一种控制装置,包括处理器和用于存储计算机程序的存储介质;其中,处理器用于执行所述计算机程序时至少执行如上所述的方法。
本申请实施例还提供一种存储介质,用于存储计算机程序,该计算机程序被执行时至少执行如上所述的方法。
本申请实施例还提供一种处理器,所述处理器执行计算机程序,至少执行如上所述的方法。
所述存储介质可以由任何类型的易失性或非易失性存储设备、或者它们的组合来实现。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,ErasableProgrammable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,ElectricallyErasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,FerromagneticRandom Access Memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,SynchronousStatic Random Access Memory)、动态随机存取存储器(DRAM,DynamicRandom AccessMemory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic RandomAccessMemory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double DataRateSynchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上内容是结合具体的优选实施方式对本发明所做的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。
Claims (10)
1.一种服务功能链构建系统,其特征在于,包括:DHCPv6服务器、服务功能链控制器、流分类器和服务功能节点,
所述DHCPv6服务器,接收主机的DHCP请求后,识别发出请求的所述主机的身份向发起请求的主机返回包含所述主机多重语义属性编码的IPv6地址;
所述服务功能链控制器,接收服务功能链构建请求,根据所述请求以及所述主机的多重语义属性编码的IPv6地址确定流分类策略及服务功能路径定义策略,下发给所述流分类器;
所述流分类器,设置在数据包入口位置,用于接收所述流分类策略并对数据包进行灵活分类;以及接收所述服务功能路径定义策略,依据所述数据包 与服务功能路径的映射关系对所述数据包添加IPv6源路由包头形成服务功能路径的定义;
所述服务功能节点由服务功能交换机和服务功能实例构成,服务功能交换机用于接收所述数据包并解析所述IPv6源路由包头,根据解析结果控制数据流的流转路径,遍历所述功能路径中的每一个所述服务功能节点,并在每一个所述服务功能实例处理完毕后剥除当前节点所述数据包中对应的所述IPv6源路由包头中的信息。
2.如权利要求1所述的服务功能链构建系统,其特征在于,所述多重语义属性编码的IPv6地址包括网络前缀编码和地址语义编码,所述地址语义编码是根据发起请求的所述主机的多重属性进行编码。
3.如权利要求2所述的服务功能链构建系统,其特征在于,所述服务功能链构建请求包括对服务功能路径及目标数据流的定义。
4.如权利要求1所述的服务功能链构建系统,其特征在于,所述IPv6源路由包头包括按服务功能路径的逆序方向,依次将所有所述服务功能实例及所述服务功能交换机的IP地址成对地填充,形成栈的结构。
5.如权利要求1所述的服务功能链构建系统,其特征在于,每一个所述服务功能节点实例前部署所述服务功能交换机,或多个所述服务功能节点实例共享一个所述服务功能交换机。
6.如权利要求1所述的服务功能链构建系统,其特征在于,所述服务功能交换机接收到所述数据包后,解析所述数据包的IPv6源路由包头,若所述IPv6源路由包头中当前第一个IP地址为自身IP地址,则将所述数据包转发给所述IPv6源路由包头中第二个IP地址所指示的所述服务功能实例;若所述IPv6源路由包头中当前第一个IP地址不是自身IP地址,则丢弃所述数据包;
所述服务功能交换机接收所述服务功能实例对所述数据包处理完毕转回的数据包并剥除所述数据包IPv6源路由包头中当前节点的所述服务功能交换机及所述服务功能实例的IPv6地址对数据。
7.如权利要求1-6任一所述的服务功能链构建系统,其特征在于,在所述服务功能链控制器上添加接口,使配置信息在DHCPv6服务器、服务功能链控制器、流分类器和服务功能交换机之间共享。
8.如权利要求7所述的服务功能链构建系统,其特征在于,所述配置信息包括地址语义编码信息、服务功能与服务功能实例之间的映射关系。
9.一种服务功能链构建方法,其特征在于,采用如权利要求1-8任一所述的系统,包括:
配置所述DHCPv6服务器接收主机的DHCP请求后,向发起请求的主机返回包含所述主机多重语义属性编码的IPv6地址;
配置所述服务功能链控制器接收服务功能链构建请求,根据所述请求以及所述主机的多重语义属性编码的IPv6地址确定流分类策略及服务功能路径定义策略,下发给所述流分类器;
配置所述流分类器,设置在数据包入口位置,接收所述流分类策略并对数据包进行分类;以及接收所述服务功能路径定义策略,依据所述数据包 与服务功能路径的映射关系对所述数据包添加IPv6源路由包头形成服务功能路径的定义;
配置所述服务功能节点由服务功能交换机和服务功能实例构成,服务功能交换机接收所述数据包并解析,根据解析结果控制数据流的流转路径,遍历所述功能路径中的每一个所述服务功能节点,并在每一个所述服务功能实例处理完毕后剥除当前节点所述数据包中对应的所述IPv6源路由包头中的信息。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求9所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010833802.6A CN111988395B (zh) | 2020-08-18 | 2020-08-18 | 一种服务功能链构建系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010833802.6A CN111988395B (zh) | 2020-08-18 | 2020-08-18 | 一种服务功能链构建系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111988395A CN111988395A (zh) | 2020-11-24 |
CN111988395B true CN111988395B (zh) | 2022-05-17 |
Family
ID=73435610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010833802.6A Active CN111988395B (zh) | 2020-08-18 | 2020-08-18 | 一种服务功能链构建系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111988395B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112751826A (zh) * | 2020-12-07 | 2021-05-04 | 中兴通讯股份有限公司 | 算力应用流量转发方法及装置 |
CN113378332B (zh) * | 2021-08-16 | 2021-11-02 | 成都数联云算科技有限公司 | 生产设备组分析方法、装置、电子设备及计算机可读存储介质 |
WO2023034517A1 (en) * | 2021-09-02 | 2023-03-09 | Intel Corporation | Traffic steering for service function chaining (sec) in next generation cellular networks |
CN116418722A (zh) * | 2021-12-30 | 2023-07-11 | 中国移动通信有限公司研究院 | 分配标识的方法、装置、通信设备及可读存储介质 |
CN114629685B (zh) * | 2022-02-17 | 2022-12-16 | 华南理工大学 | 一种行业专网硬切片服务功能链部署方法、装置及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101155196A (zh) * | 2006-09-27 | 2008-04-02 | 中国电信股份有限公司 | 面向业务的IPv6地址分类与分配方法及实现该方法的终端和系统 |
CN103812954A (zh) * | 2012-11-09 | 2014-05-21 | 中国电信股份有限公司 | IPv6地址管理方法及系统 |
CN106330714A (zh) * | 2015-07-02 | 2017-01-11 | 中兴通讯股份有限公司 | 一种实现业务功能链的方法和装置 |
CN107872392A (zh) * | 2016-09-26 | 2018-04-03 | 丛林网络公司 | 在网络中分配服务功能链数据和服务功能实例数据 |
CN110958169A (zh) * | 2018-09-27 | 2020-04-03 | 瞻博网络公司 | 根据需求生成灵活、可编程且可扩展的网络隧道 |
CN111510387A (zh) * | 2019-01-30 | 2020-08-07 | 华为技术有限公司 | 数据转发方法及相关装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190140863A1 (en) * | 2017-11-06 | 2019-05-09 | Cisco Technology, Inc. | Dataplane signaled bidirectional/symmetric service chain instantiation for efficient load balancing |
-
2020
- 2020-08-18 CN CN202010833802.6A patent/CN111988395B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101155196A (zh) * | 2006-09-27 | 2008-04-02 | 中国电信股份有限公司 | 面向业务的IPv6地址分类与分配方法及实现该方法的终端和系统 |
CN103812954A (zh) * | 2012-11-09 | 2014-05-21 | 中国电信股份有限公司 | IPv6地址管理方法及系统 |
CN106330714A (zh) * | 2015-07-02 | 2017-01-11 | 中兴通讯股份有限公司 | 一种实现业务功能链的方法和装置 |
CN107872392A (zh) * | 2016-09-26 | 2018-04-03 | 丛林网络公司 | 在网络中分配服务功能链数据和服务功能实例数据 |
CN110958169A (zh) * | 2018-09-27 | 2020-04-03 | 瞻博网络公司 | 根据需求生成灵活、可编程且可扩展的网络隧道 |
CN111510387A (zh) * | 2019-01-30 | 2020-08-07 | 华为技术有限公司 | 数据转发方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111988395A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111988395B (zh) | 一种服务功能链构建系统及方法 | |
US10250502B2 (en) | Software defined network-based data processing method, node, and system | |
US11283707B2 (en) | Segment routing with fast reroute for container networking | |
CN107005472B (zh) | 一种用于提供域间服务功能链接的方法及装置 | |
WO2020135566A1 (en) | Multi-tenant isolation using programmable switch | |
US7773598B2 (en) | Arrangement and a method relating to flow of packets in communications systems | |
CN108353029B (zh) | 用于管理计算网络中的数据业务的方法和系统 | |
EP3355553A1 (en) | Reliable load-balancer using segment routing and real-time application monitoring | |
JP3717836B2 (ja) | ダイナミック・ロード・バランサ | |
KR101473783B1 (ko) | 터널링을 이용한 다이나믹 서비스 체이닝 제어 방법 및 장치 | |
CA2944566C (en) | Handling of traffic flows in a communications system | |
CN113261242B (zh) | 通信系统和由通信系统实现的方法 | |
US20170195292A1 (en) | Sequentially serving network security devices using a software defined networking (sdn) switch | |
EP3193477A1 (en) | Data plane learning of bi-directional service chains | |
EP3293935A1 (en) | Software defined network-based data processing method, and system | |
WO2020135567A1 (en) | Offload controller control of programmable switch | |
CN105850102A (zh) | 服务链的控制 | |
WO2020135568A1 (en) | Client-equipment-peering virtual route controller | |
CN113296869B (zh) | 一种虚拟机vm的迁移方法及装置 | |
US11012412B2 (en) | Method and system for network traffic steering towards a service device | |
US20210152473A1 (en) | Method and system for propagating network traffic flows between end points based on service and priority policies | |
EP3966687A1 (en) | Sharing and oversubscription of general-purpose graphical processing units in data centers | |
US11146492B2 (en) | Method and system for optimizing service device traffic management | |
CN114401222A (zh) | 一种基于策略路由的数据转发方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |