基于大数据云平台的SDN控制器的制作方法

文档序号:19871938发布日期:2020-02-08 05:57阅读:641来源:国知局
基于大数据云平台的SDN控制器的制作方法

本发明涉及一种控制器,特别是涉及一种基于大数据云平台的sdn(softwaredefinednetwork,软件定义网络)控制器。



背景技术:

传统网络设备将控制逻辑和转发数据逻辑紧密耦合在一起,以至网络控制越来越复杂,网络配置缺乏灵活性,网络架构一旦确定后再难以对其进行更改。为提升网络的灵活性,将控制平面和数据平面进行分离,这种新型的管控思想是sdn框架的核心。sdn在学术界已有多个相似项目在并行研究,如ethane,forces,4d等,ethane是安全相关的,涉及一些安全策略,ethane项目视图通过一个集中式的控制器,让网络管理员可以方便的定义基于网络流的安全控制策略,并将这些安全策略应用到各种网络设备中,从而实现对整个网络通信的安全控制。在sdn发展过程中也显示安全领域是非常适合sdn部署的,因安全领域本身强调配置管理不是动态网络协议。在ethane项目的基础上,斯坦福大学的研究人员在2008年发表了openflow技术,sdn框架得到广泛推广。openflow做为sdn框架的一种实现方式,实现的sdn思想的核心:控制平面和数据平面的分离。openflow已成为sdn事实上的南向接口标准,其在sdn中的地位类似于tcp/ip协议在互联网中的地位。2009年sdn被mit评为十大前沿技术。2011年开放式网络基金会(opennetworkingfoundation,onf)成立,其负责制定sdn相关标准。一批创业企业如bigswitch,nicira不断出现,为了抢占市场先机,传统网络设备厂商如华为、cisco、juniper推出了支持openflow的网络设备。

openflow最初诞生于斯坦福大学,它的早期发展更多是在学校的实验室内完成的。斯坦福大学的nickmckenown教授在2008年发表的论文<<openflow:enablinginnovationincampusnetworks>>提出了openflow的概念。openflow主要由控制器、openflow交换机两部分。openflow协议有一部分运行在控制器上,另一部分运行在openflow交换机上。openflow协议具体定义了交换机转发面的功能部件,控制器如何控制交换机以及交换机如何反馈信息到控制器的一系列过程,以及两者之间通信的消息类型和消息格式。

基于openflow的sdn控制器已有较快的发展,但目前无论openflow标准本身,还是sdn的总体设计架构,都存在较多未解决的问题。目前openflow主要面临的问题如下:

一,控制平面的扩展性,openflow的初始设计仅需单控制器对网络进行管控。当网络规模扩大后,必然要求控制平面可扩展,及多控制器解决方案。

二,控制器的ha热备,因openflow标准的控制器是单控制器架构,sdn网络系统存在单点故障。



技术实现要素:

本发明所要解决的技术问题是提供一种基于大数据云平台的sdn控制器,其可以实现网络快速配置、重构、动态调整,增强云数据中心的可用性,可控性。

本发明是通过下述技术方案来解决上述技术问题的:一种基于大数据云平台的sdn控制器,其特征在于,所述基于大数据云平台的sdn控制器包括:

模块管理器,用于管理各个模块;

设备管理器,发现周围网络设备,并为目标设备定义唯一id,设备管理器通过packetin请求了解设备,通过packetin消息获取信息,根据信息进行分类,使用mac地址和vlan来识别设备,这两个属性定义一个独一无二的设备;

拓扑管理器,拓扑管理器维护拓扑信息,以及在网路中寻找路由,拓扑服务基于从链路发现模块学习到的链路信息进行拓扑计算,当前的拓扑信息将被存储在拓扑实例中,当拓扑结构中有任何变化,则创建一个新的实例并且将拓扑变化通知消息发出;

restapi模块,sdn控制器通过restapi模块向上层应用apps提供服务,应用开发者可以通过调用restapi模块实现特定需求;

存储模块,sdn控制器的所有配置信息及openflow流表信息保存在nosql数据库中,sdn控制器的存储模块分为两层,热点数据保存在内存中,非热点数据保存在sas硬盘中,通过对数据进行分层处理,提升sdn控制器处理效率;

流缓存模块,流缓存模块用于记录网络中不同类型的事件,其主要作用是便于其他模块对事件的查询,其他模块根据查询的结果做出相应的处理,流缓存模块底层使用的是存储模块进行信息记录;

openflow服务模块,是处理openflow协议相关事项,负责对openflow协议的封装、解析、记录等,通过openflow流表,packein包的分析,监控当前网络运行的情况;

ha模块,由于sdn控制器在云平台中处于核心地位,若出现故障将引发云平台网络瘫痪,为了保障云平台的平稳运行,云平台sdn控制器中加入了ha模块,通过双活的模式,两台sdn控制器互为备份;

链路发现模块,及时发现链路;

分布式模块,为解决单点sdn控制器处理能力有限,可能存在单节点故障的情况,云平台sdn控制器实现的分布式的控制器,用户可以按需将sdn控制器加入sdn控制器集群,通过分布式模块可以应对运营商级的sdn需求。

优选地,所述openflow服务模块细分为交换模块、trace模块、监控模块、controllermemory模块。

优选地,所述基于大数据云平台的sdn控制器采用模块化设计。

本发明的积极进步效果在于:一,本云平台sdn控制器部署于云数据中心后,可以实现网络快速配置、重构、动态调整,增强云数据中心的可用性,可控性。二,本平台sdn控制器可以实现基于数据流的事前审查,事后追踪,综合分析等功能,可以通过流表控制、分析所有数据流,在对信息安全要求高的场景中发挥特点。三,本云平台sdn控制器解决了控制平面扩展性的问题,云平台sdn控制器通过分布式模块成功解决了多控制器各单元之间网络状态的交互和同步,以及网络状态的一致性保持。四,本云平台sdn控制器实现了ha热备,为解决单点故障,云平台sdn控制器引入ha热备模块,云平台sdn控制器一对一进行双活热备,正常运行时两台云平台sdn控制器同时提供服务,若一台出现故障则另一台自动接管服务。

附图说明

图1为本发明基于大数据云平台的sdn控制器的原理框图。

具体实施方式

下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。

云平台sdn控制器位于openflow交换机与用户应用apps之间,对用户apps而言,sdn控制器通过restapi提供服务,开发者可基于java,python,c++等应用开发语言调用restapi实现特殊需求的用户应用,对openflow交换机而言,sdn控制器通过openflow协议与openflow交换机进行交互,完成openflow交换机的注册,流表的传输等功能,实现对所有openflow交换机的同一控制,实现openflow交换机的集中管理。

如图1所示,本发明基于大数据云平台的sdn控制器包括:

模块管理器,用于管理各个模块;

设备管理器,发现周围网络设备(主要是of交换机),并为目标设备定义唯一id,设备管理器通过packetin请求了解设备,通过packetin消息获取信息,根据信息进行分类,一般使用mac地址和vlan来识别设备,这两个属性定义一个独一无二的设备;

拓扑管理器,拓扑管理器维护拓扑信息,以及在网路中寻找路由,拓扑服务基于从链路发现模块学习到的链路信息进行拓扑计算,当前的拓扑信息将被存储在拓扑实例中,当拓扑结构中有任何变化,则创建一个新的实例并且将拓扑变化通知消息发出;

restapi模块,sdn控制器通过restapi模块向上层应用apps提供服务,应用开发者可以通过调用restapi模块实现特定需求;

存储模块,sdn控制器的所有配置信息及openflow流表信息保存在nosql数据库中,sdn控制器的存储模块分为两层,热点数据保存在内存中,非热点数据保存在sas硬盘中,通过对数据进行分层处理,提升sdn控制器处理效率;

流缓存模块,流缓存模块用于记录网络中不同类型的事件,其主要作用是便于其他模块对事件的查询,其他模块根据查询的结果做出相应的处理,流缓存模块底层使用的是存储模块进行信息记录;

openflow服务模块,openflow服务模块中又细分为交换模块、trace模块、监控模块、controllermemory模块,其主要的功能是处理openflow协议相关事项,负责对openflow协议的封装、解析、记录等,通过openflow流表,packein包的分析,监控当前网络运行的情况;

ha模块,由于sdn控制器在云平台中处于核心地位,若出现故障将引发云平台网络瘫痪,为了保障云平台的平稳运行,云平台sdn控制器中加入了ha模块,通过双活的模式,两台sdn控制器互为备份;

链路发现模块,及时发现链路;

分布式模块,为解决单点sdn控制器处理能力有限,可能存在单节点故障的情况,云平台sdn控制器实现的分布式的控制器,用户可以按需将sdn控制器加入sdn控制器集群,通过分布式模块可以应对运营商级的sdn需求。

基于大数据云平台的sdn控制器采用模块化设计,用户可以按需加载所需的模块,核心模块在云平台sdn控制器启动时自动加载,附加模块按插件的方式按需加载。

云平台sdn控制器位于openflow交换机与用户应用apps之间,对用户apps而言,sdn控制器通过restapi提供服务,开发者可基于java,python,c++等应用开发语言调用restapi实现特殊需求的用户应用,对openflow交换机而言,sdn控制器通过openflow协议与openflow交换机进行交互,完成openflow交换机的注册,流表的传输等功能,实现对所有openflow交换机的同一控制,实现openflow交换机的集中管理。

将云平台sdn控制器部署于云数据中心后,可以实现网络快速配置、重构、动态调整,增强云数据中心的可用性,可控性,因sdn控制器可以通过流表控制、分析所有数据流,在对信息安全要求高的场景中,sdn控制器可以发挥特点,通过sdn控制器可以实现基于数据流的事前审查,事后追踪,综合分析等功能。

本云平台sdn控制器解决了控制平面扩展性的问题,openflow的初始设计仅需单控制器对网络进行管控。当网络规模扩大后,必然要求控制平面可扩展,及多控制器解决方案。云平台sdn控制器通过分布式模块成功解决了多控制器各单元之间网络状态的交互和同步,以及网络状态的一致性保持。

本云平台sdn控制器实现了ha热备,因openflow标准的控制器是单控制器架构,sdn网络系统存在单点故障,为解决单点故障,云平台sdn控制器引入ha热备模块,云平台sdn控制器一对一进行双活热备,正常运行时两台云平台sdn控制器同时提供服务,若一台出现故障则另一台自动接管服务。

以上所述的具体实施例,对本发明的解决的技术问题、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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