基于SDN的网络虚拟化算法的选择方法及系统与流程

文档序号:12278260阅读:401来源:国知局
基于SDN的网络虚拟化算法的选择方法及系统与流程

本发明涉及网络虚拟化技术领域,特别涉及一种基于SDN的网络虚拟化算法的选择方法及系统。



背景技术:

网络虚拟化技术的核心思想是实现多个虚网在同一共享物理基础设施上的并存与互不影响,例如虚拟专用网技术(Virtual PrivateNetwork,VPN),覆盖层网络(Overlay Network, ON),可编程网络(Programmable Network, PN)都是典型的网络虚拟化技术。在虚拟网络环境中,不同的底层网络结构对虚拟网络映射算法有不同的侧重和需求。网络虚拟化的一个重要挑战就是如何提高映射的效率,高效的虚拟网络映射算法可以提高映射的效用,使服务提供商获得更高的收益,因此,需要找到合适的方法来针对不同的实际情况来选择高效可靠的虚拟映射算法,同时将虚拟映射算法计算的结果快速的部署到实际环境中去。

软件定义网络的主要目标是实现路由器/交换机数据平面和控制平面的分离,控制平面提供对新架构协议、新服务应用的支持,数据平面则实现自定义的包转发动作,这样可以实现转发自定义数据包,同时更好地保证数据平面性能,目前已经采用SDN进行网络虚拟化方面的工作。当前的基于SDN的虚拟网络映射方案能够提供基本的物理网络和虚拟网络之间的映射,但是仍然存在一些问题,例如Openvirtex等,配置过程不够智能,仍然需要复杂的人工干预,不符合SDN减少复杂网络配置,创建灵活的可编程网络的初衷。为了进一步减少网络虚拟化过程中的复杂工作,急需一个基于SDN的智能虚拟映射系统。



技术实现要素:

本发明的目的在于提供一种基于SDN的网络虚拟化算法的选择方法及系统,解决了现有技术存在的上述问题。本发明通过对现有基于SDN虚拟网络映射平台OpenVirtex的增强,能够对多种映射算法进行选择,整合主流的底层云计算平台,实现灵活的基于SDN的虚拟网络配置方案。本发明能够根据网络情况和虚拟化要求选择合适的网络虚拟化算法并在底层网络中自动实施。

本发明的上述目的通过以下技术方案实现:

基于SDN的网络虚拟化算法的选择方法,包括如下步骤:

步骤1:数据采集器获取网络资源信息,构建网络资源图;

SDN交换设备连接SDN控制器和网络节点,在支持SDN的交换设备上添加信息采集器,收集网络信息,供SDN虚拟化算法选择器分析网络工作情况,选择合适的虚拟化算法;

步骤2:虚拟化算法选择器获取虚拟化要求,并选择虚拟化算法集合,其中该算法集合包括至少两个算法;

步骤3:使用选择的算法计算虚拟化方案,并使用网络虚拟化插件将虚拟化方案部署到实际网络中。

改进现有的SDN虚拟控制器,添加路由算法选择功能 ,根据网络工作情况和虚拟化要求,实现基于SDN的虚拟化算法选择器。

通过虚拟化选择算法构建映射策略引擎从全局信息数据库中中获取数据并计算结果,算法可以手动选择也可以根据预设策略来选择;引擎中预先添加了一些现有的映射算法,也可以在后期向引擎中另外添加算法;每个算法包含自己的特征数据,包括是动态或者静态算法、可否跨域,以及根据算法运行速度、算法请求成功率、算法收益方面的排名做出的权重数据;引擎根据这些数据作为算法选择的依据。

所述的网络虚拟化插件是映射策略引擎和SDN控制器之间的接口,将计算出的虚拟映射结果翻译成SDN流表信息,让SDN交换设备执行,使映射结果能够快速转化为实际的虚拟化部署方案。

本发明的另一目的在于提供一种基于SDN的网络虚拟化算法的选择系统,包括物理网络101,与物理网络101相连的网络信息收集器102,用于获取网络资源图;虚拟化算法选择器103,获取网络信息收集器102的虚拟化算法集合,并分别与节点虚拟化插件105、网络虚拟化插件104相连,节点虚拟化插件105与物理网络101相连;网络虚拟化插件104通过SDN控制器106与物理网络101相连;根据虚拟化要求选择相应的虚拟化评价指标,进行计算,选择合适的虚拟化算法;通过虚拟化算法选择器103选择的网络虚拟化算法,根据网络资源图和网络虚拟化要求,计算网络虚拟化方案;通过网络虚拟化插件104,将计算出的网络虚拟化方案快速部署到物理网络101中。

所述的虚拟化算法选择器103从预先准备的多个网络虚拟化算法中,根据底层SDN网络工作情况和虚拟化要求选择合适的网络虚拟化算法;预先为算法添加期待值,根据网络使用情况和网络虚拟化需求计算需要选择的网络虚拟化算法。

所述的网络虚拟化插件104根据虚拟化算法计算出的网络虚拟化映射方案,对底层SDN网络进行网络虚拟化映射。

所述的网络信息收集器102收集网络工作情况信息,并存储在网络信息数据库中;所述网络工作情况信息包括网络使用情况和计算资源使用情况,用以选择合适的网络虚拟化算法。

本发明的有益效果在于:可以根据网络的实际工作情况和虚拟化要求进行虚拟化工作,虚拟化的过程自动化,减少了手工操作的复杂流程。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1为本发明的基于SDN的网络虚拟化映射结构示意图;

图2为本发明的基于SDN的网络虚拟化算法选择器流程示意图。

具体实施方式

下面结合附图进一步说明本发明的详细内容及其具体实施方式。

参见图1及图2所示,本发明的基于SDN的网络虚拟化算法的选择方法,包括如下步骤:

步骤1:数据采集器获取网络资源信息,构建网络资源图;SDN交换设备连接SDN控制器和网络节点,在支持SDN的交换设备上添加信息采集器,收集网络信息,供SDN虚拟化算法选择器分析网络工作情况,选择合适的虚拟化算法;

步骤2:虚拟化算法选择器获取虚拟化要求,并选择虚拟化算法集合,其中该算法集合包括至少两个算法;

步骤3:使用选择的算法计算虚拟化方案,并使用网络虚拟化插件将虚拟化方案部署到实际网络中。

通过虚拟化选择算法构建映射策略引擎从全局信息数据库中中获取数据并计算结果,算法可以手动选择也可以根据预设策略来选择;引擎中预先添加了一些现有的映射算法,也可以在后期向引擎中另外添加算法;每个算法包含自己的特征数据,包括是动态或者静态算法、可否跨域,以及根据算法运行速度、算法请求成功率、算法收益方面的排名做出的权重数据;引擎根据这些数据作为算法选择的依据。

所述的网络虚拟化插件是映射策略引擎和SDN控制器之间的接口,将计算出的虚拟映射结果翻译成SDN流表信息,让SDN交换设备执行,使映射结果能够快速转化为实际的虚拟化部署方案。

本发明的另一目的在于提供一种基于SDN的网络虚拟化算法的选择系统,包括物理网络101,与物理网络101相连的网络信息收集器102,用于获取网络资源图;虚拟化算法选择器103,获取网络信息收集器102的虚拟化算法集合,并分别与节点虚拟化插件105、网络虚拟化插件104相连,节点虚拟化插件105与物理网络101相连;网络虚拟化插件104通过SDN控制器106与物理网络101相连;根据虚拟化要求选择相应的虚拟化评价指标,进行计算,选择合适的虚拟化算法;通过虚拟化算法选择器103选择的网络虚拟化算法,根据网络资源图和网络虚拟化要求,计算网络虚拟化方案;通过网络虚拟化插件104,将计算出的网络虚拟化方案快速部署到物理网络101中。

所述的虚拟化算法选择器103从预先准备的多个网络虚拟化算法中,根据底层SDN网络工作情况和虚拟化要求选择合适的网络虚拟化算法;预先为算法添加期待值,根据网络使用情况和网络虚拟化需求计算需要选择的网络虚拟化算法。

所述的网络虚拟化插件104根据虚拟化算法计算出的网络虚拟化映射方案,对底层SDN网络进行网络虚拟化映射。

所述的网络信息收集器102收集网络工作情况信息,并存储在网络信息数据库中;所述网络工作情况信息包括网络使用情况和计算资源使用情况,用以选择合适的网络虚拟化算法。

本发明可在部署了SDN交换设备的通信网和数据中心中使用,下面结合本发明实施例中的附图对本发明实施例中的技术方案进行描述,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本发明保护的范围。

本发明的前提为,物理网络全面部署了SDN交换设备以及控制器,系统包含多种可选的网络虚拟化算法,基于以上条件,本发明的关键是根据网络虚拟化算法评价指标,选择合适的虚拟化算法计算虚拟化方案,然后通过网络虚拟化插件将虚拟化方案快速的部署在物理网络上。

参见图1所示,为本发明实例提供的SDN智能网络虚拟化方案包括物理网络和SDN控制器,物理网络全面部署SDN交换设备,还包括网络信息收集器收集物理网络上的信息。还包括虚拟化算法选择器、网络虚拟化插件、节点虚拟化插件。虚拟化算法选择器根据虚拟化算法评价指标选择合适的网络虚拟化算法,根据网络虚拟化请求计算网络虚拟化方案,通过网络虚拟化插件和节点虚拟化插件将虚拟网络部署在物理网络上。

所述网络虚拟化插件,将链路映射方案翻译成流表下发给所述控制器,由控制器构建虚拟网络。

所述节点虚拟化插件,将节点映射方案翻译成相关虚拟机生成请求,发送给虚拟机控制器(VMM),由VMM构建虚拟网络。

参见图2所示,本发明的基于SDN的网络虚拟化算法的选择方法,包括如下步骤:

步骤1:数据采集器获取网络资源信息,构建网络资源图;

步骤2:算法选择器获取虚拟化要求,并选择虚拟化算法集合,其中该算法集合包括至少两个算法;

步骤3:使用选择的算法计算虚拟化方案,并使用网络虚拟化插件将虚拟化方案部署到实际网络中;

本发明中的网络虚拟化算法选择器适用于部署了SDN交换设备的数据中心或云平台内部,根据特定应用对网络虚拟化的要求,评估并选择合适的虚拟化算法,并通过网络虚拟化映射插件对网络进行虚拟化。

信息采集器从底层物理设施汇总采集带宽资源信息和计算资源信息,这些信息存储在全局数据库中。计算资源信息包含主机ip,mac,全部cpu资源,存储资源和已经使用的cpu资源和存储资源。网络资源包含链路两端的ip地址和mac地址,链路总带宽和以占用的带宽。收集到的数据存储在全局信息数据库中,通过锁机制保证数据库中的数据一致性。

通过虚拟化选择算法构建映射策略引擎从全局信息数据库中中获取数据并计算结果,算法可以手动选择也可以根据预设策略来选择。引擎中预先添加了一些现有的映射算法,也可以在后期向引擎中另外添加算法。每个算法包含自己的特征数据,包括是动态或者静态算法、可否跨域,以及根据算法运行速度、算法请求成功率、算法收益方面的排名做出的权重数据。引擎可以根据这些数据作为算法选择的依据。

网络虚拟化插件是映射策略引擎和SDN控制器之间的接口,将计算出的虚拟映射结果翻译成SDN流表信息,让SDN交换设备执行,使映射结果能够快速转化为实际的虚拟化部署方案。

以上所述仅为本发明的优选实例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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