网络功能虚拟化环境中实现网元级并行化服务功能的方法技术

技术编号:18086845 阅读:86 留言:0更新日期:2018-05-31 15:59
本发明专利技术公开了网络功能虚拟化环境中实现网元级并行化服务功能的方法,包括:遍历服务功能链,运行服务功能分解分析算法,将各服务功能分解为基本的报文处理单元称之为网元,分析、综合服务功能中的网元特性,确定各服务功能对报文的操作及操作域信息并保存。利用得到的各服务功能的操作及操作域信息,先运行可并行判定算法,确定服务功能链中可进行并行优化的服务功能组合,再执行并行优化算法,并行化服务功能组合。结合不可并行的服务功能和并行优化后的服务功能,按照原服务功能顺序编排组合,创建生成新服务功能链,新服务功能链有效地缩短原服务功能链长度,提高各服务功能之间的并行度,显著地减少报文通过服务功能链时的延时开销。

【技术实现步骤摘要】
网络功能虚拟化环境中实现网元级并行化服务功能的方法
本专利技术涉及网络功能虚拟化(NFV)和服务功能能链(SFC)领域,尤其涉及网络功能虚拟化环境中实现网元级并行化服务功能的方法。
技术介绍
在数据中心中,一般都部署了多个以物理专用设备或虚拟机形式存在的、覆盖第4层到第7层的网络功能,主要包括防火墙、网络地址转换NAT等。在数据中心的流量从产生、传输到终止都需要经过多种服务功能的处理。而目前这些网络功能主要基于专用设备实现,这就带来了可扩展性差、灵活性差、更新周期长、购买及运行开销大等问题。为了解决这些问题,一个新的概念——网络功能虚拟化(NFV,NetworkFunctionVirtualization)因此产生。NFV利用虚拟化技术提供设计、部署和管理网络服务的新方法来解决传统专有设备带来的诸多问题。NFV的主要思想是物理的网络设备与其上运行的功能的分离。这意味着网络功能(NF,NetworkFunction)可以作为普通软件的实例运行在网络服务提供商(ISP,InternetServiceProvider)设备中。这允许将许多网络功能整合到大容量服务器、交换机和存储器上,这些设备可以位于数据中心中、分布式网络节点上或者是终端用户设施中。这样,一个给定的服务可以分解成一组虚拟网络功能,然后可以在一个或多个商用物理服务器上运行的软件中得以实现。此外,虚拟网络功能(VNF,VirtualizedNetworkFunction)实例可以在不同的网络位置进行重定位和实例化,而不必要求购买和安装新硬件。NFV具有巨大的灵活性,可以进一步向用户和其他服务开放网络功能和服务,以及更快、更便宜地部署或支持新的网络服务的能力。为了实现这些优势,与现在传统的专有物理设备的实现方式相比,NFV有如下这些差异:(1)软硬件解耦。由于网络元素不再是专有硬件和专有软件实体集成的组合,因此两者的演进是相互独立的。这允许单独的开发时间表和对软、硬件的单独维护。(2)灵活的网络功能部署。软件与硬件的分离有助于重新分配和共享基础设施资源,因此硬件和软件可以在不同时间执行不同的功能。这有助于服务提供商在同一物理平台上更快地部署新的网络服务。因此,可以在网络中的任何启用NFV的设备上实例化服务组件,并且可以以灵活的方式设置其连接。(3)动态缩放。将网络功能分解为可实例化的软件服务组件提供了更大的灵活性,以更动态的方式、更细粒度扩展实际的VNF性能。基于NFV技术的兴起,服务功能链(SFC,ServiceFunctionChain)的概念也孕育而生。SFC定义并实例化了这样一个链式、有序的服务功能(SF,ServiceFunction,等价于NFV中的NF)集合,它负责SF之间的流量分发(数据平面)、控制和监控(控制平面)特定服务/应用程序。SFC是一种支撑技术,可以灵活管理特定服务/应用流,为流分类提供解决方案,并根据服务要求和网络的可用性状态伴随流的路由实施适当的策略。最近,在利用网络功能虚拟化技术NFV实现VNF灵活部署、弹性扩展和减少成本的基础上,SFC还利用软件定义网络(SDN,SoftwareDefinedNetwork)优化了SFC网络传输的灵活性与可扩展性。从本质上看,利用NFV实现由传统专有设备SF向虚拟网络功能(VNF)的转变,提供更有效和高效的SF部署与编排;利用SDN解耦控制和数据平面,并引入了适用于SFC中的编程抽象,用于对SFC拓扑结构的动态控制以及跨越SF的流路由。
技术实现思路
针对现有技术的不足,本专利技术公开了网络功能虚拟化环境中实现网元级并行化服务功能的方法,包括以下步骤:步骤1,获取并遍历服务功能链,运行服务功能分解分析算法,将各服务功能分解为基本报文处理单元,称之为网元,分析、综合各服务功能中的网元特性,确定各服务功能对报文的操作以及操作域信息并保存;步骤2,根据步骤1中得到的各服务功能的操作及操作域信息,运行可并行化判定算法,确定服务功能链中能够进行并行优化的服务功能组合;步骤3,对于步骤2中得到的可并行服务功能队列,执行并行优化算法,生成新的服务功能,并加入新服务功能链队列;对于非可并行服务功能,将其加入新服务功能链队列中;步骤4,结合步骤3中生成的新服务功能以及非可并行化的服务功能,按照原服务功能顺序编排组合,输出即为并行优化后的新服务功能链。步骤1包括以下步骤:步骤1-1,获取管理员输入的服务功能链;步骤1-2,读取服务功能链中第一个服务功能,并创建被命名为SFHM(ServiceFunctionHashMap,服务功能哈希映射表)的哈希映射表HashMap<key,values>(唯一的键key对应其值values),用于存储各服务功能key的操作和操作域信息values,操作域信息values包括写操作域和读操作域;步骤1-3,判断下一个服务功能是否在服务功能链中,如果是,则进入步骤1-4;否则进入步骤1-5;步骤1-4,运行服务功能分解分析算法:首先将当前服务功能分解为网元,然后按照规则分析、综合各网元对报文的操作以及操作域信息,确定该服务功能对报文的操作及操作域。对于服务功能分解分析算法,分解过程主要根据服务功能中各部分对报文的操作,包括获取、输出、读、写(修改或增/删报文域)、丢弃报文等,并将这些基本报文处理单元作为网元,从而组合成能实现特定服务功能的有向无环图。分析与综合:分析、综合过程需要综合考虑组成服务功能的各网元的操作及操作域信息从而确定服务功能的可能操作和操作域,而网元的操作、操作域信息与各网元特性以及用户规则相关,如FW的按照用户设定规则和报文报头信息进行分类(读)网元需要根据用户的设定确定需要读取的报文域。因此,分析、综合时需要对除获取报文网元、输出报文网元、丢弃网元外的所有网元,采取的规则是:当存在网元执行读操作时,该服务功能所有网元的读操作域求并集;当存在网元执行写操作时,该服务功能所有网元的写操作域求并集。按上述规则实现的服务功能分解分析算法,可利用各网元的操作与操作域信息,确定服务功能对报文的可能操作和操作域信息并保存到SFHM中;步骤1-5创建可并行服务功能队列PQ(ParallelQueue,可并行队列)和新服务功能链队列NC(NewChain,新服务功能链),可并行服务功能队列PQ用于存储可并行服务功能组合,新服务功能链队列NC用于存储并行优化后的新服务功能链;读取服务功能链中第一个服务功能及其操作、操作域信息,将其加入可并行服务功能队列,并标记为队头和队尾;服务功能链末尾标志置End为0,进入步骤2。步骤2包括以下步骤:步骤2-1,判断可并行服务功能队列PQ是否为空时,如果不为空,进入步骤2-2;否则进入步骤2-3;步骤2-2,将当前读取的服务功能加入可并行服务功能队列PQ,并将队头、队尾指向当前服务功能;步骤2-3,读取服务功能链中下一个服务功能及其操作、操作域信息;步骤2-4,运行可并行判定算法,主要内容是:当且仅当当前读取的服务功能与可并行服务功能队列PQ中所有服务功能,在不考虑报文丢弃的情况下,各服务功能的报文操作域无交集,或者各服务功能按照其在PQ中的顺序(当前服务功能顺序为末尾)对同一报文域(即操作域有交集)本文档来自技高网
...
网络功能虚拟化环境中实现网元级并行化服务功能的方法

【技术保护点】
网络功能虚拟化环境中实现网元级并行化服务功能的方法,其特征在于,包括以下步骤:步骤1,获取并遍历服务功能链,运行服务功能分解分析算法,将各服务功能分解为基本报文处理单元,称之为网元,分析、综合各服务功能中的网元特性,确定各服务功能对报文的操作以及操作域信息并保存;步骤2,根据步骤1中得到的各服务功能的操作及操作域信息,运行可并行化判定算法,确定服务功能链中能够进行并行优化的服务功能组合;步骤3,对于步骤2中得到的可并行服务功能队列,执行并行优化算法,生成新的服务功能,并加入新服务功能链队列;对于非可并行服务功能,将其加入新服务功能链队列中;步骤4,结合步骤3中生成的新服务功能以及非可并行化的服务功能,按照原服务功能顺序编排组合,输出即为并行优化后的新服务功能链。

【技术特征摘要】
1.网络功能虚拟化环境中实现网元级并行化服务功能的方法,其特征在于,包括以下步骤:步骤1,获取并遍历服务功能链,运行服务功能分解分析算法,将各服务功能分解为基本报文处理单元,称之为网元,分析、综合各服务功能中的网元特性,确定各服务功能对报文的操作以及操作域信息并保存;步骤2,根据步骤1中得到的各服务功能的操作及操作域信息,运行可并行化判定算法,确定服务功能链中能够进行并行优化的服务功能组合;步骤3,对于步骤2中得到的可并行服务功能队列,执行并行优化算法,生成新的服务功能,并加入新服务功能链队列;对于非可并行服务功能,将其加入新服务功能链队列中;步骤4,结合步骤3中生成的新服务功能以及非可并行化的服务功能,按照原服务功能顺序编排组合,输出即为并行优化后的新服务功能链。2.根据权利要求1所述的方法,其特征在于,步骤1包括以下步骤:步骤1-1,获取管理员输入的服务功能链;步骤1-2,读取服务功能链中第一个服务功能,并创建被命名为SFHM的哈希映射表HashMap<key,values>,用于存储各服务功能key的操作和操作域信息values,操作域信息values包括写操作域和读操作域;步骤1-3,判断下一个服务功能是否在服务功能链中,如果是,则进入步骤1-4;否则进入步骤1-5;步骤1-4,运行服务功能分解分析算法,包括:将当前服务功能分解为网元:根据服务功能对报文的基本操作,包括从网卡获取报文、读报文、写报文、发送报文到网卡、丢弃报文,将服务功能分解为这些基本报文处理单元即网元组合而成的有向无环图;分析与综合:在当前的服务功能被分解为网元组合而成的有向无环图后,按照一定的规则分析、综合各网元对报文的操作以及操作域信息,从而确定该服务功能对报文的操作及操作域信息并保存到SFHM中;步骤1-5创建可并行服务功能队列PQ和新服务功能链队列NC,可并行服务功能队列PQ用于存储可并行服务功能组合,新服务功能链队列NC用于存储并行优化后的新服务功能链;读取服务功能链中第一个服务功能及其操作、操作域信息,将其加入可并行服务功能队列,并标记为队头和队尾;服务功能链末尾标志置End为0,进入步骤2。3.根据权利要2所述的方法,其特征在于,步骤2包括以下步骤:步骤2-1,判断可并行服务功能队列PQ是否为空时,如果不为空,进入步骤2-2;否则进入步骤2-3;步骤2-2,将当前读取的服务功能加入可并行服务功能队列PQ,并将队头、队尾指向当前服务功能;步骤2-3,读取服务功能链中下一个服务功能及其操作、操作域信息;步骤2-4,运行可并行判定算法:当且仅当当前读取的服务功能与可并行服务功能队列PQ中所有服务功能,在不考虑报文丢弃的情况下,各服务功能的报文操作域无交集,或者各服务功能按照其在PQ中的顺序对同一报文域的操作为读后读、写,或写后写时,PQ中的服务功能可与当前读取的服务功能可并行化,判断当前读取的服务功能是否能与可并行服务功能队列PQ中的所有服务功能并行,如果是,进入步骤2-5;否则进入步骤3;步骤2-5,将当前服务功...

【专利技术属性】
技术研发人员:东方师晓敏罗军舟汪立鹤王睿李玉萍
申请(专利权)人:江苏省邮电规划设计院有限责任公司东南大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1