一种软件定义网络的控制平面构架以及控制方法技术

技术编号:16177692 阅读:22 留言:0更新日期:2017-09-09 05:09
本申请提供了一种软件定义网络的控制平面构架,包括控制功能模块和数据功能模块;所述控制功能模块,用于控制、管理和执行网络和应用业务,包括至少一个以上的软件定义网络控制器;每个所述控制器在所述控制功能模块中的角色和地位都是相同的并且都具备独立控制、管理和执行所述网络和应用业务的能力;所述数据功能模块,独立于所述控制功能模块之外,用于存储所述控制功能模块的公共数据并保证所述公共数据在所述数据功能模块中的数据一致性,包括至少一个以上的数据存储系统;每个所述数据存储系统都向每个所述控制器提供所述公共数据的读取和更新服务。本申请构架保证了网络的扩展性和可靠性。本申请还提供了一种软件定义网络的控制方法。

【技术实现步骤摘要】
一种软件定义网络的控制平面构架以及控制方法
本申请涉及计算机网络领域,具体涉及一种软件定义网络的控制平面构架。本申请同时涉及一种软件定义网络的控制方法。
技术介绍
软件定义网络的核心理念是使网络软件化并充分开放,从而使得网络能够像软件一样便捷、灵活,以此提高网络的创新能力。软件定义网络分离了网络设备,网络使用、管理和控制以及上层应用,相应形成了转发平面、控制平面以及应用平面。其中,控制平面的控制器是软件定义网络的控制中心,其具体负责维护全局网络视图,向上层的应用提供用于实现网络服务的可编程接口(通常也称为“北向接口”),以及提供同下层网络设备相交互的转发抽象(通常称为“南向接口”)。控制平面的构架设计是决定软件定义网络网络性能的核心技术关键之一,但当前的流行的控制平面构架方案都在扩展性和可靠性方面存在缺点。在OpenDayLight的控制平面的构架方案中,控制平面设计有多个控制器,主控制器将数据同步给其他控制器,在一个控制平面只设计有一个控制器作为主控制器,在某一时刻,只有主控制器承担数据完整性和功能下发的全部职责,其他控制器无法为其分担压力。当主控制器发生故障时,根据设定的主控制器策略,网络可以自动切换到下一个控制器,并将其设置为主控制器继续提供服务。由于整个网络只有一个主控制器存在,会导致主控制器压力较大,也限制了网络的规模性扩展。OpenNetworkOperatingSystem的控制平面采用另一种的架构设计,其在一个控制平面设计多个主控制器,将一个区域内的网络单元分别归属到不同的主控制器,从而解决了因为整个网络只有单个主控制器带来的性能瓶颈问题,支持了网络单元的良好扩展。但是,上述两种流行的软件定义网络的控制平面构架设计,都存在主控制器和备控制器的区分;不论单个主控制器、还是多个主控制器,在主控制器出现故障或者主控制器的通信通道出现中断时,需要找出下一个主控制器。通常找出下一个主控制器的做法是应用主控制器的选举策略,选举产生新的主控制器。而主控制器的选举策略的设计本身就容易出现问题,而且主控制器选举的过程也会对网络业务的持续性和可靠性产生影响,特别是在网络处于高负荷苛刻占用的情况下,在主控制器的选举过程中可能出现主控制器不明确的状态,导致网络业务处于停滞状态和网络可靠性的严重下降。
技术实现思路
本申请提供一种软件定义网络的控制平面构架,将所有的控制器均设计为具有实现全部网络和应用业务的能力、在控制平面中角色和地位相同的控制器,增强了控制平面的可扩展性,可以支持横向任意数量规模控制器的扩展;去除了主、备控制器的区分,避免了因确定主控制器的过程造成的网络可靠性降低的问题;同时本申请将控制器与数据存储相分离,在控制器端专注实现业务服务,在数据存储端专注实现数据的一致性,提高了控制功能模块的公共数据同步的效率,也增加了控制平面构架的部署的灵活性和使用的便利性。本申请另外提供一种应用于所述控制平面构架之上的软件定义网络的控制方法。本申请提供一种软件定义网络的控制平面构架,包括:控制功能模块和数据功能模块;其中,所述控制功能模块,用于控制、管理和执行网络和应用业务,包括至少一个以上的软件定义网络控制器;每个所述控制器在所述控制功能模块中的角色和地位都是相同的并且都具备独立控制、管理和执行所述网络和应用业务的能力;所述数据功能模块,独立于所述控制功能模块之外,用于存储所述控制功能模块的公共数据并保证所述公共数据在所述数据功能模块中的数据一致性,包括至少一个以上的数据存储系统;每个所述数据存储系统都向每个所述控制器提供所述公共数据的读取和更新服务。可选的,所述网络和应用业务,包括:与网络设备相关的网络业务和与上层应用相关的应用业务。可选的,所述控制功能模块的公共数据,具体为:由所述控制器提交和共享的、构建和应用所述软件定义网络的相关数据,包括:网络设备数据,业务数据和管控数据。可选的,所述控制器,包括本地存储单元,用于在本地存储仅为所述控制器所使用的临时数据。可选的,所述控制器,用于按照设定的数据分类策略将所述控制器处理的数据分类为所述控制功能模块的公共数据和所述控制器的临时数据。可选的,所述数据存储系统为分布式的。可选的,所述数据功能模块包括至少两个以上的所述数据存储系统。可选的,所述控制功能模块,包括:虚拟通道控制器;所述虚拟通道控制器具体为:南向虚拟通道控制器和北向虚拟通道控制器;其中,所述南向虚拟通道控制器提供所述控制平面与所述软件定义网络的转发平面之间实现所述网络业务的南向接口;所述北向虚拟通道控制器提供所述控制平面与所述软件定义网络的应用平面之间实现所述应用业务的北向接口。可选的,所述虚拟通道控制器是按照设定的负载均衡策略与每一个所述控制器相连接的。本申请还提供一种软件定义网络的控制方法,应用于所述软件定义网络的控制平面构架;所述方法包括如下步骤:控制功能模块中的软件定义网络控制器接收业务请求的数据;所述控制器判断是否需要获取与执行所述业务请求相关的控制功能模块的公共数据;若是,则从数据功能模块中读取所述控制功能模块的公共数据;所述控制器执行所述业务请求;并在执行所述业务请求完毕时,判断是否需要更新所述控制功能模块的公共数据;若是,则在所述数据功能模块中更新所述控制功能模块的公共数据。可选的,所述方法应用于所述软件定义网络的控制平面构架;在执行所述控制器判断是否需要获取与执行所述业务请求相关的控制功能模块的公共数据;若是,则从数据功能模块中读取所述控制功能模块的公共数据的步骤之前,执行下述步骤:所述控制器判断是否需要获取与执行所述业务请求相关的控制器的临时数据;若是,则从控制器的本地存储单元中读取所述控制器的临时数据。可选的,所述方法应用于所述的软件定义网络的控制平面构架;所述在执行所述从数据功能模块中读取所述控制功能模块的公共数据或所述在所述数据功能模块中更新所述控制功能模块的公共数据的步骤之前,执行下述步骤:按照设定的存储运行选择策略,在数据功能模块中选择一个数据存储系统;检查选择的所述数据存储系统是否正常工作;若是,则执行从选择的所述数据存储系统中读取所述控制功能模块的公共数据或在选择的所述数据存储系统中更新所述控制功能模块的公共数据的步骤;若否,则返回执行所述按照设定的存储运行选择策略,在数据功能模块中选择一个数据存储系统的步骤。可选的,所述方法应用于所述的软件定义网络的控制平面构架;所述从数据功能模块中读取所述控制功能模块的公共数据或所述在所述数据功能模块中更新所述控制功能模块的公共数据,包括:按照设定的存储负载选择策略,在数据功能模块中选择一个当前负载最小的数据存储系统;从选择的所述数据存储系统中读取所述控制功能模块的公共数据或在选择的所述数据存储系统中更新所述控制功能模块的公共数据。可选的,所述方法应用于所述的软件定义网络的控制平面构架;所述从数据功能模块中读取所述控制功能模块的公共数据或所述在所述数据功能模块中更新所述控制功能模块的公共数据,包括:按照设定的存储属性选择策略,在数据功能模块中选择专属读操作数据存储系统和专属写操作数据存储系统;从选择的所述专属读操作数据存储系统中读取所述控制功能模块的公共数据或在选择的所述专属写操作数据存储系统中更新所述控制功能本文档来自技高网
...
一种软件定义网络的控制平面构架以及控制方法

【技术保护点】
一种软件定义网络的控制平面构架,其特征在于,包括,控制功能模块和数据功能模块;其中,所述控制功能模块,用于控制、管理和执行网络和应用业务,包括至少一个以上的软件定义网络控制器;每个所述控制器在所述控制功能模块中的角色和地位都是相同的并且都具备独立控制、管理和执行所述网络和应用业务的能力;所述数据功能模块,独立于所述控制功能模块之外,用于存储所述控制功能模块的公共数据并保证所述公共数据在所述数据功能模块中的数据一致性,包括至少一个以上的数据存储系统;每个所述数据存储系统都向每个所述控制器提供所述公共数据的读取和更新服务。

【技术特征摘要】
1.一种软件定义网络的控制平面构架,其特征在于,包括,控制功能模块和数据功能模块;其中,所述控制功能模块,用于控制、管理和执行网络和应用业务,包括至少一个以上的软件定义网络控制器;每个所述控制器在所述控制功能模块中的角色和地位都是相同的并且都具备独立控制、管理和执行所述网络和应用业务的能力;所述数据功能模块,独立于所述控制功能模块之外,用于存储所述控制功能模块的公共数据并保证所述公共数据在所述数据功能模块中的数据一致性,包括至少一个以上的数据存储系统;每个所述数据存储系统都向每个所述控制器提供所述公共数据的读取和更新服务。2.根据权利要求1所述的软件定义网络的控制平面构架,其特征在于,所述网络和应用业务,包括:与网络设备相关的网络业务和与上层应用相关的应用业务。3.根据权利要求1所述的软件定义网络的控制平面构架,其特征在于,所述控制功能模块的公共数据,具体为:由所述控制器提交和共享的、构建和应用所述软件定义网络的相关数据,包括:网络设备数据,业务数据和管控数据。4.根据权利要求1所述的软件定义网络的控制平面构架,其特征在于,所述控制器,包括本地存储单元,用于在本地存储仅为所述控制器所使用的临时数据。5.根据权利要求4所述的软件定义网络的控制平面构架,其特征在于,所述控制器,用于按照设定的数据分类策略将所述控制器处理的数据分类为所述控制功能模块的公共数据和所述控制器的临时数据。6.根据权利要求1所述的软件定义网络的控制平面构架,其特征在于,所述数据存储系统为分布式的。7.根据权利要求1或6所述的软件定义网络的控制平面构架,其特征在于,所述数据功能模块包括至少两个以上的所述数据存储系统。8.根据权利要求1所述的软件定义网络的控制平面构架,其特征在于,所述控制功能模块,包括:虚拟通道控制器;所述虚拟通道控制器具体为:南向虚拟通道控制器和北向虚拟通道控制器;其中,所述南向虚拟通道控制器提供所述控制平面与所述软件定义网络的转发平面之间实现所述网络业务的南向接口;所述北向虚拟通道控制器提供所述控制平面与所述软件定义网络的应用平面之间实现所述应用业务的北向接口。9.根据权利要求8所述的软件定义网络的控制平面构架,其特征在于,所述虚拟通道控制器是按照设定的负载均衡策略与每一个所述控制器相连接的。10.一种软件定义网络的控制方法,其特征在于,应用于权利要求1所述的软件定义网络的控制平面构架;所述方法包括如下步骤:控制功能模块中的软件定义网络控制器接收业务请求的数据;所述控制器判断是否需要获取与执行所述业务请求相关的控制功能模块的公共数据;若是,则从数据功能模块中读取所述控制功能模块的公共数据;所述控制器执行所述业务请求;并在执行所述业务请求完毕时,判断是否需要更新所述控制功能模块的公共数据;若是,则在所述数据功能模块中更新所述控制功能模块的公共数据。11.根据权利要求10所述的软件定义网络的控制方法,其特征在于,应用于权利要求5所述的软...

【专利技术属性】
技术研发人员:公令君翁建毅施政闫浩吕屹庞俊英
申请(专利权)人:中卫大河云联网络技术有限公司
类型:发明
国别省市:宁夏,64

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

1