一种用于广域网长距离通信的SDN网络控制平面的部署架构的制作方法

文档序号:15683950发布日期:2018-10-16 20:51阅读:165来源:国知局

本申请涉及通信技术领域,具体涉及一种用于广域网长距离通信的sdn网络控制平面的部署架构。



背景技术:

目前比较有代表性的集群式网路控制平面架构主要是odl和onos。

在介绍odl和onos之前必须先介绍master选举技术,因为所述master选举技术是整个集群式控制平面架构的以正常运行服务的核心问题。master负责管理控制器的正常运行。如果没有master,则整个集群不可用。

master选举技术,比较典型的是raft方法。

raft方法详细介绍如下:

在服务集群中,每个服务器有三个状态:leader状态,follower状态,candidate状态:

如果服务器处于leader则表示服务器赢得了选举,是服务集群中的master.如果服务器处于follower状态,则表示服务器不会主动发送request消息,而只会回复leader状态的服务器发送的request和candidate状态的服务器发送的request。

如果服务器处于candidate状态,则表示服务器是leader服务器的的候选人服务器。

raft方法把系统时间分为多个terms.每一个term开始时进行一次选举。每一个term里最多有一个leader,或者没有leader。即以term为周期进行master的选举。

如果一个follower在electiontimeout的时间里没有收到leader的信息,就进入新的term,转成candidate,给自己投票,发起选举请求,这个状态持续到发生下面三个中的任意事件:

第一,本服务器赢得选举,则将本服务器状态由follower状态变更为leader状态;

第二,另外有其他服务器获得选举;

第三,1个term过去了,还是任何服务器赢得选举;

之所以会出现上述这3种情况,是由于,当所有服务器同时发起选举时,每个服务器都会投给自己。如果出现这种情况,导致的结果就是没有服务器能够得到多数选票了,即没有服务器能赢得选举。在这种情况下,系统就要进入下一个term,再进行一次选举。为了避免这个情况持续发生,每个服务器的electiontime被随机的设成不同的值,所以先timeout的服务器就可以先发起下一次选举。

重复上述选举的过程,直至某个服务器赢得选举,即master产生。

master选举技术是非常重要的一项技术,对于目前的sdn控制器框架都也会依赖master选举技术。

odl即opendaylight,是一种网络控制器的开源架构。是目前较为典型的一种架构。图1是odl框架master-slave结构示意图。

如图1所示,odl框架中单master多slave的集群模式,不论集群中有多少控制器结点,只有一个作为master存在。master是根据raft选举方法产生。master选举完成后,会执行如下流程:

控制器集群的所有结点间通过实现raft选举协议选举出master:控制器controller-1;

controller-1通过openflow的rolereq请求,向所有ne设置自己的角色为master控制器;ne通过openflow收到rolereq请求后,将controller-1角色设置为master控制器,至此,ne只接受从controller-1发出的管理请求消息,不接受其他controller发出的管理请求消息;

controller-2、controller-3同样会通过openflow通道发送rolereq请求,向ne宣布自己的角色为slave,作为slave的controller-2和controller-3虽然和ne保持tcp连接,但是ne不接受controller-2和controller-3的控制请求;

controller-1通过openflow协议的flowmod消息尝试去控制ne-1时,可以正常处理;

当controller-2通过openflow协议的flowmod消息尝试去控制ne-1时,因为controller-2角色是slave,请求被拒绝。

onos即opennetworkoperationsystem,是一种开发网络操作系统,同时也是一种控制器架构。

图2是onos的“多master”集群化架构示意图。

onos中也是以“master-slave”方式组织控制器节点,只不过不同的ne可以拥有不同的master,从而一方面分散请求,另一方面避免一点故障导致所有ne的master进行变更。

如图2所示,controller-1作为ne-1的master控制器,而同时作为ne-2的slave控制器结点;ne-2的master控制器是controller-3。

图3是分布式集群式控制器架构(集群式控制器架构)示意图。

不论是odl还是onos,控制器是作为一套分布式系统cluster的形态存在,在这套分布式系统中,有明确的master角色,当master缺失时,必须通过选举策略产生新的master,当集群中没有master存在时,整个控制器集群处于“无控制能力”状态,为了解决这个问题,必须依赖整个控制集群通过选举直到master产生。

当用户需要管理某个ne时,管理请求必须从master下发,即使用户请求在slave的机器上,仍会在集群内部转发到master,再由master实际执行。

图4为局域采用集群式控制器架构全局通过传统路由协议实现网络互通的网络架构示意图。

多cluster之间跑传统网络协议。

因此,现有技术存在以下问题:无法全局sdn,只能在独立的cluster中使用sdn技术,跨cluster的网络配置依然是传统方式,做不到按需分配、自动化。

局域使用集群控制器,集群之间通过网络协议实现互通。

以odl、onos为代表的【集群式控制器架构】中存在的问题:

master选举是整个控制器集群得以正常服务的最核心问题。为了保证选举的正常进行,一个控制集群中,控制器的数量至少为3个结点,并且它们为了进行选举的正常进行,必须进行高频的rpc通讯来维持集群中master的存在。无master,则整个集群不可用,因此集群化架构,一般部署在控制器结点之间网络通讯质量高、延时低的前提下(如同一个数据中心中、同一个城市中通过专线通讯);

跨长距离传输中,无法完成选举,因此无法直接使用集群化控制器集群,而采取局域使用sdn、广域使用传统协议的方式,又陷入了传统网络的不灵活境地。

在跨地域网络中,通过网元设备,将城市和城市连通是最普遍和基础的需求,基于此前提才可以将国家与国家、大洲与大洲进行互联。在传统网络方案里,往往通过众多的分布式协议进行路由信息同步,完成这一需求。

在sdn网络中,控制器是整网的大脑,负责管控所有网络设备和配置下发,因此控制器的核心控制地位决定了,控制器如何解决长距离管理问题将是sdn能否广泛应用在大范围网络环境中的重要问题。



技术实现要素:

本发明提供一种用于广域网长距离通信的sdn网络控制平面的部署架构,以形成的一套能够在局域范围及时响应,又能在全局范围灵活自动化的sdn系统架构。

本发明提供一种用于广域网长距离通信的sdn网络控制平面的部署架构,所述网络控制平面包括全局控制器集群、边缘控制器集群和控制器;其中,

所述广域网被划分成多个可控的区域,每个区域的控制平面由一个边缘控制器集群负责;所有边缘控制器集群的管理和协调由全局控制器集群负责;每个边缘控制器集群内部包含多个控制器;每个控制器独立完成对网络功能实体的管理;

当收到所述全局控制器集群的业务请求时,所述边缘控制器集群将所述业务请求分发给该边缘控制器集群内部的不同的所述控制器进行处理。

可选的,各个所述边缘控制器集群相互之间不可见。

可选的,所述全局控制器集群在初始化过程中获取所述边缘控制器集群的服务列表;通过分析所述边缘控制器集群的服务列表,获取每个区域的拓扑;并将所有区域的拓扑合并为全局拓扑。

可选的,所述边缘控制器集群提供应用层协议形式的所述区域拓扑获取接口,全局控制器集群调用该接口,获取所述区域内的所有网络功能实体信息和连接信息,并将其保存到自己的数据库中;待所有区域的拓扑获取并合并完毕后,全局控制器集群的数据库中即保存了全局拓扑信息;全局控制器集群用于为用户提供全局拓扑获取请求服务。

可选的,当所述区域内的局部拓扑发生变化时,所述边缘控制器集群将该变化上报给所述全局控制器集群,所述全局控制器集群根据该变化来更新所述全局拓扑的数据。

可选的,所述全局控制器集群根据全局网络拓扑信息,通过对多个所述边缘控制器集群的内部链路进行控制,完成广域网跨区域业务创建;包括:

通过服务调用,创建各个区域中的每一条通路子业务;

在确定多个区域的每一条通路均创建成功后,全局控制器集群建立跨区域的整条通路的业务开通。

可选的,所述全局控制器集群与各个所述边缘控制器集群之间通过服务化的应用层协议进行交互。

可选的,所述边缘控制器集群在所述区域内,配置所述网络功能实体与所述边缘控制器集群内部的每个所述控制器建立连接,所述网络功能实体由多个控制器进行管理;每个所述控制器通过openflow的rolereq请求,在所述网络功能实体上设置自己的状态均是equal;用户请求通过前置负载均衡装置,将访问分发到任意一台控制器,都能够完成管理操作。

可选的,所述边缘控制器集群采用webservice应用架构。

可选的,当一条跨多个区域的业务进行操作时,只有当所有区域的所述边缘控制器集群均反馈正确的信息,才表示该业务正常处理;当任何一个区域发生异常时,所述全局控制器集群还用于根据业务逻辑,将关联的其他区域的子业务完成回收。

与现有技术相比,本发明具有以下优点:

本发明提供了一种可以将地理跨度的影响降低到较小的sdn控制器部署架构,同时提供高可用、可扩展、轻量级的特点:

基于region概念,将广域网络划分为一个个范围可控的单元。region内,由采用webservice结构的edgecontroller管理,达到region中sdn网络的高可用管理,并区别于既有的集群化部署的master-salve模式,用前置负载、后端controller应用无状态化的方式,使edgecontroller可以横向扩展,而且只要集群中有存活的controller结点,就能够提供全量的控制器服务。

整个广域网的全局管理,用globalcontroller管理诸多edgecontroller,globalcontroller和edgecontroller之间通过应用层协议完成,即使在延时超过100ms的跨国环境下,仍可以稳定通信。

globalcontroller+edgecontroller通过纯sdn方式,实现广域网管理。

本发明通过软件架构技术,提供了sdn在全球化控制平面的软件架构和部署方案,实际解决了在管理一张全国、全球网络时使用sdn需要面临的最大问题。

附图说明

图1是背景技术提供的odl框架master-slave结构示意图;

图2是背景技术提供的onos的“多master”集群化架构示意图;

图3是背景技术提供的分布式集群式控制器架构示意图;

图4是背景技术提供的局域采用集群式控制器架构全局通过传统路由协议的网络架构示意图;

图5是本发明实施例提供的一种用于sdn网络的长距离分布式软件架构系统实施例的结构示意图;

图6是本发明实施例提供的region内的edgecontroller架构示意图;

图7是本发明实施例提供的edgecontroller管理region中的ne设备请求流程示意图;

图8是本发明实施例提供的多region间的全局控制平台结构示意图;

图9是本发明实施例提供的搜集全网拓扑流程示意图;

图10是本发明实施例提供的globalcontroller全网拓扑示意图;

图11是本发明实施例提供的region中拓扑变化影响全局拓扑的结构示意图;

图12是本发明实施例提供的edgecontroller上报局部拓扑变化globalcontroller更新全网拓扑数据的流程示意图;

图13是本发明实施例提供的globalcontroller建立跨region业务的结构示意图;

图14是本发明实施例提供的globalcontroller管理多个edgecontroller创建跨region业务的流程图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。

下面是本发明相关的一些专业术语:

控制平面:所述控制平面是指相对数据转发平面而言的,控制平面主要负责数据转发的控制、网络管理等控制功能。控制平面可以由单个或多个控制器组成;

控制器:所述控制器是指与网元进行交互的控制单元,单个或多个控制器可以组成控制平面;

控制集群:所谓控制集群式指由多个控制器组成的控制平面集合。在一个控制集群中,每个控制器的能力范围一样的;

sdn:softwaredefinednetworking,软件定义网络;是网络虚拟化的一种实现方式,其核心技术openflow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能。odl:opendaylight,一种网络控制器实现的开源框架旨在推动创新实施以及sdn透明化。opendaylight拥有一套模块化、可插拔且极为灵活的控制器。这款控制器中还包含一套模块合集,能够执行需要快速完成的网络任务。

onos:opennetworkoperatingsystem,一种用于开放网络的操作系统,也是一种控制器架构;

ne:networkelement,网络功能实体,负责数据转发;ne及ne之间的链路组成网络的转发平面;

lb:loadbalance,负载均衡;其意思就是将任务分摊到多个操作单元上进行执行,提高网络的灵活性和可用性

region:区域,一定范围的地域总称,比城市大,比国家小;

edgecontroller:边缘控制器集群,负责管控一个region内所有ne的控制器集群;

globalcontroller:全局控制器集群,负责管控所有region协作及ne的控制器集群;

集群式控制器架构:多个控制器结点用分布式系统的思想组成一个分布式集群,集群中的结点通过选举产生master,由master行使控制职责。

本发明提供了一种用于广域网长距离通信的sdn网络控制平面的部署架构,具体包括了两个方面:

局域小范围的控制平面采用webservice的思想。webservice也叫xmlwebservicewebservice是一种可以接收从internet或者intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是通过soap在web上提供的软件服务,使用wsdl文件进行说明,并通过uddi进行注册。webservice完全基于xml(可扩展标记语言)、xsd(xmlschema)等独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。因此使用webservice跨平台的兼容性,保证高可用、自愈性和负载均衡;webservice有两层含义:1、是指封装成单个实体并发布到网络上的功能集合体;2、是指功能集合体被调用后所提供的服务。简单地讲,webservice是一个url资源,客户端可以通过编程方式请求得到它的服务,而不需要知道所请求的服务是怎样实现的,这一点与传统的分布式组件对象模型不同。

全局大范围的控制平面采用与多个局域范围的sdn网络控制器组成全局控制器平面达到用sdn的方法实现大跨度范围的管理需求;

sdn的设计理念是将网络的控制面与数据转发面进行分离,并实现可编程化控制。sdn的典型架构共分三层,最上层为应用层,包括各种不同的业务和应用;中间的控制层主要负责处理数据平面资源的编排,维护网络拓扑、状态信息等;最底层的基础设施层负责基于流表的数据处理、转发和状态收集。sdn本质上具有“控制和转发分离”、“设备资源虚拟化”和“通用硬件及软件可编程”三大特性,这带来了一系列的好处。第一,设备硬件归一化,硬件只关注转发和存储能力,与业务特性解耦,可以采用相对廉价的商用的架构来实现。第二,网络的智能性全部由软件实现,网络设备的种类及功能由软件配置而定,对网络的操作控制和运行由服务器作为网络操作系统(nos)来完成。第三,对业务响应相对更快,可以定制各种网络参数,如路由、安全、策略、qos、流量工程等,并实时配置到网络中,开通具体业务的时间将缩短。sdn的三个基本要素是,第一,转发与控制分离,这使得网络交换机的数据转发变得更加简单、快速;同时,控制变成了网络操作系统中一个相对集中的逻辑功能。第二,openflow协议,它向交换机传送转发表,交换机依此转发报文。第三,具有一致性的、全系统范围的网络操作系统可编程接口,它能让网络实现真正意义上的可编程或者软件定义。

基于以上两点,既能够灵活快速地对局部sdn网络进行管理、收敛,同时又能够满足在跨城市、跨国、跨洲环境下的网络管理需求。

本发明提供的一种用于广域网长距离通信的sdn网络控制平面的部署架构,以下为该系统的具体实施例:

如图5所示,其为本发明提供的一种用于广域网长距离通信的sdn网络控制平面的部署架构的结构示意图,该控制平面包括边缘控制器集群edgecontroller102、控制器controller103和全局控制器集群globalcontroller101。其中:

所述广域网被划分成多个可控的区域,每个区域的控制平面由一个edgecontroller102负责;所有edgecontroller102的管理和协调由globalcontroller101负责;每个edgecontroller102内部包含多个controller103;每个controller103独立完成对网络功能实体的管理;

所述区域(region)是指,在本发明部署架构中,用region来定义[满足一定延时条件]的地域,比如,以中国北京为中心,以网络通讯10ms为半径,可以圈画出一个东起秦皇岛西至大同、北起承德南到石家庄的一个圆形区域,在这个区域中,距离北京这个圆心,单程通讯的时耗不会超过10ms。在region内controller到ne的延时可控,因此能够高效地进行管理。

当edgecontroller102收到globalcontroller101的业务请求时,edgecontroller102将所述业务请求分发给该edgecontroller102内部的不同的controller103进行处理。

所述edgecontroller102负责管理单个区域的业务事务性,当收到所述globalcontroller101的请求时,用于通过负载均衡的方式将请求分发给该edgecontroller102内部的不同的所述controller103进行处理;

各个所述controller103之间是不可见;

所述controller103通过edgecontrolle102接收业务请求,所述controller103为无状态控制器,用于独立完成对ne104的管理。

所述globalcontroller101负责管理全局的业务事务性,将各个edgecontroller102关联起来;globalcontroller101通过应用层协议与各个所述edgecontroller102进行通信,通过获取所有所述edgecontroller102的拓扑信息,进而形成全局网络拓扑;globalcontroller101根据全局网络拓扑信息,通过对多个所述edgecontroller102的内部链路进行控制,完成广域网跨区域业务创建。

下面我们将详细介绍边缘控制器集群edgecontroller102、控制器controller和103全局控制器集群globalcontroller101。因为边缘控制器集群edgecontroller102涉及到许多基本的流程和术语,所以我们先主要介绍边缘控制器集群edgecontroller102,然后主要介绍控制器controller103,最后主要介绍全局控制器集群globalcontroller101。

所述sdn网络包括多个区域,每一个所述区域内有一个所述edgecontroller102、以及与所述edgecontroller102通信连接的多个所述controller103。

所述区域内的edgecontroller架构设计保证区域中控制平面具有很高的扩展性和可用性:

由于edgecontroller102内每个controller103都处于无状态化,每个controller103之间都是平等的关系,所以每一台controller103均能向ne发送操作控制指令,对ne设备来说,由于所有controller103都是同样的角色,所以ne可以接受所有controller103的指令,并进行相关的配置操作,这样保证了controller103对ne的控制有更大的灵活性和扩展性。

采用以webservice的思想进行部署,保证系统的控制平面具有很强的横向扩展能力。

对于系统的负载均衡策略可以更加系统需求进行灵活的定义,通过在lb层的控制,能够很方便地实现一主多备、多主同活等不同的配置。同时系统也可以选择基于请求负载或者读写分离等多种不同的负载方法,而不是仅仅局限于master-slave方式。

图6为区域(region)内的edgecontroller架构示意图。如图6所示,与传统控制器集群部署模式不同,本发明中的edgecontroller102采用webservice应用架构,edgecontroller102集群内的每个单独的controller103都是无状态的,且edgecontroller102通过负载均衡的方式将请求分发给不同的controller103进行处理,区域(region)内controller103的数据通过关系型数据库存储保持一致性,各个controller103节点间没有明显的主备关系,它们均能够独立完成对ne104的管理需求。

edgecontroller是单region的控制器,负责管控整个region内所有ne设备。图7是edgecontroller管理region中的ne设备请求流程图。流程如下所示::

所述edgecontroller102在所述区域内,配置所述ne与所述edgecontroller102内部的每个所述controller103建立连接,并受控于所有的controller103结点。所述ne由多个controller103进行管理;

每个所述controller103通过openflow的rolereq请求,在ne上设置自己的状态均是equal;

用户请求通过前置负载均衡lb装置,将访问分发到任意一台controller103,都能够完成管理操作。

由于controller103结点之间不存在选举,因此不会产生选举冲突,且当集群中可用的controller103只有一台时,仍能够正常处理业务;

globalcontroller——多region间的全局控制平台,如图8所示,

与网络路由协议不同,edgecontroller102之间不知道彼此的存在,各个edgecontroller102是不可见的。globalcontrolle101r将多个edgecontroller102的关系联系起来的,globalcontroller101的职责主要包括:globalcontroller101负责同步所有被管理的edgecontroller102的拓扑信息,进而形成整个网络的全局拓扑信息;globalcontroller101负责跨region业务的控制和管理。

globalcontroller101和各个edgecontroller102之间通过服务化的应用层协议进行交互,如http,它们的通讯特点如下:

1、通讯频率不高(相对于控制器和ne之间的通讯频率和控制机集群各个结点间同步选举信息时的通讯频率);

2、多为单次交互,对keepalive要求不高。

globalcontroller101和edgecontroller102之间的通讯延时也可以放大到100ms甚至以上,因此本结构能够实现跨国、跨洋的部署需求。如果说edgecontroller102是将核心关注点集中在局部,globalcontroller101就是负责将全网核心数据(网络拓扑、资源管控)集中式管理的组件。

可选的,通过获取所有所述edgecontroller102的拓扑信息,进而形成全局网络拓扑,如图9所示,搜集全网拓扑流程及步骤如下:

globalcontroller在初始化过程中获取所述edgecontroller的服务列表;

globalcontroller通过分析所述edgecontroller的服务列表,获取每个区域的拓扑;

globalcontroller将所有区域的拓扑合并为全局拓扑。

可选的,所述edgecontroller102提供应用层协议形式的所述区域拓扑获取接口,globalcontroller101调用该接口,获取所述区域内的所有ne信息和连接信息,并将其保存到自己的数据库中;待所有区域的拓扑获取并合并完毕后,globalcontroller101的数据库中即保存了全局拓扑信息;globalcontroller101用于为用户提供全局拓扑获取请求服务,如图10所示,为globalcontroller全网拓扑示意图。

可选的,当所述区域内的局部拓扑发生变化时,edgecontroller102还用于将该变化上报给所述globalcontroller101,所述globalcontroller101还用于更新所述全局拓扑的数据。

可选的,所述globalcontroller101还用于通过配置edgecontroller102,创建各个区域中的每一条通路子业务;在确定多个区域的每一条通路均创建成功后,全局控制器集群建立跨区域的整条通路的业务开通。

可选的,所述globalcontroller101与各个所述edgecontroller102之间通过服务化的应用层协议进行交互。

可选的,当一条跨多个区域的业务进行操作时,只有当所有区域的所述edgecontroller102均反馈正确的信息,才表示该业务正常处理;当任何一个区域发生异常时,所述globalcontroller101用于根据业务逻辑,将关联的其他区域的子业务完成回收。

region中拓扑变化影响全局拓扑的结构示意图,如图11所示。在这种环境中,如果edgecontroller-3的region-3中一条链路发生中断,edgecontroller102和globalcontroller101会执行如图12所示的流程。图12是edgecontroller上报局部拓扑变化globalcontroller更新全网拓扑数据的流程示意图。

globalcontroller是全局业务事务性的把控者:

1、globalcontroller与edgecontroller之间通过应用层协议进行通信。

2、对于单region内的具体执行动作,由edgecontroller来保证处理的事务性;

3、全局的业务事务性在globalcontroller管理。一条跨多region的业务进行操作时,只有当所有region的edgecontroller反馈正确的信息时,才代表着业务的正常处理,一旦存在任何一个region异常,globalcontroller根据业务逻辑,将关联的其他region的子业务完成回收;

4、globalcontroller通过软件方法实现,这比局域范围内用sdn控制器集群,广域范围用传统路由完成互通的方式更能够灵活更自动化地完成管理。

globalcontroller101协调多个edgecontroller102进行跨地域sdn控制,下面以一个具体实例进行说明:

图13是globalcontroller建立跨region业务的结构示意图,globalcontroller对3个edgecontroller进行管理并创建一条业务。

图14是基于图13的globalcontroller管理多个edgecontroller创建跨region业务的流程图。步骤如下:

globalcontroller通过配置edgecontroller-2,创建region-2中的c-d通路子业务;

globalcontroller通过配置edgecontroller-3,创建region-3中的a-b通路子业务;

在确定2个region都创建成功后,完成a-b-c-d的业务创建。

本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。

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