CN107003860A - 一种软件定义网络控制器及其创建方法 - Google Patents
一种软件定义网络控制器及其创建方法 Download PDFInfo
- Publication number
- CN107003860A CN107003860A CN201480081321.7A CN201480081321A CN107003860A CN 107003860 A CN107003860 A CN 107003860A CN 201480081321 A CN201480081321 A CN 201480081321A CN 107003860 A CN107003860 A CN 107003860A
- Authority
- CN
- China
- Prior art keywords
- network
- sdn controllers
- sdn
- network equipment
- classification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0233—Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
- H04L41/0897—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
Abstract
本发明提供了一种SDN控制器100及其创建方法。SDN控制器100用于完全替换OpenStack网络业务中的Neutron服务器。SDN控制器100设置有网络中所有网络设备的统一数据模型300。在统一数据模型300中,所有网络设备都是抽象化的,例如包括FE、FW和/或LB。为此目的,所述统一数据模型300至少包括根元类别301,其定义了所有网络设备共享的多个基本属性和/或操作305。所述统一数据模型300还包括多个设备类别302、303和304,每个设备类别表示网络设备的一个类别。所述根元类别301由每个所述设备类别302、303和304继承。
Description
技术领域
本发明涉及一种软件定义网络(software defined network,简称SDN)控制器以及创建这种SDN控制器的方法。特别地,本发明展示了基于SDN控制器的Neutron服务器,即,用于替换OpenStack网络业务的Neutron服务器的SDN控制器。
背景技术
OpenStack是一个免费的开源软件云计算平台。OpenStack网络业务是标准业务,通常涉及若干程序在多个网络节点中的部署。OpenStack网络业务的主要程序是所谓的Neutron服务器,其是一种Python后台程序,将OpenStack网络应用编程接口(applicationprogramming interface,简称API)提供给网络业务的租户,并将租户请求传递给一系列插件进行额外处理。
OpenStack网络业务通常包含图8所示的组件。Neutron服务器(原来称为Quantum)在控制器节点上运行,以服务组网API及其扩展。Neutron服务器也用于执行网络模型以及每个端口的IP寻址。Neutron服务器通常包括至少一个(Neutron)插件。Neutron服务器要求接入数据库进行永久存储,要求接入消息队列进行内部通信。
插件代理(Neutron代理)通常在计算节点上运行,以管理和配置本地虚拟交换机。插件代理也要求接入消息队列。
插件/代理集合是运行在neutron基础设施之上的应用。这些应用包括动态主机配置协议(dynamic host configuration protocol,简称DHCP)代理,其向租户网络提供业务,也要求接入消息队列。或者,为租户网络上的虚拟机的外网接入提供L3/NAT转发的L3代理也要求接入消息队列。这些代理在网络节点上运行。
现有技术中的Neutron服务器具有若干问题和缺点。例如,Neutron服务器仅是API转换层,该层不部署任意应用逻辑,也不向,例如,SDN应用提供任意其他业务。通过插件基础设施是唯一增加应用或业务的方式。然而,这造成了以下问题:由于不存在Neutron服务器提供的业务,应用需要封装所有的业务。即,封装需要分别由每个应用进行。
此外,现有技术的Neutron服务器也不为应用链接提供基础设施,因此,可能互相干扰或交互的应用间不互相协作。而且,只有应用通过Neutron调度器业务在“无共享”模式下运行,才可以分割应用。无论如何,应用均不会像在SDN中那样控制数据路径,因此需要所有处理的流量通过网络节点,这可能会阻碍分布式虚拟路由器(distributed virtualrouter,简称DVR)等应用。
另一个缺点是应用的任意增加或更改均要求对Neutron服务器新版本的完全编译。Neutron服务器还不支持任意要求Neutron服务器高可用性(high availability,简称HA)和集群的大规模部署。
现有技术提供了一些方法用于解决上述提及问题。其中两个方法分别如图9a和图9b所示。根据如图9a所示方法,外部SDN控制器901通过OpenFlow(OpenFlow,简称OF)插件连接。虽然此方法快捷容易,能实现SDN集成,但它有以下几个缺点。即,在Neutron服务器和SDN控制器901中存在虚拟网络管理的多余功能。此外,Neutron服务器和SDN控制器901需要控制交换机,因为两者与不同应用均有重合的功能。最后,存在应用部署不一致的风险,因为Neutron服务器和SDN控制器901均可支持SDN应用。
根据图9b所示方法,外部SDN控制器902通过插件后台连接到Neutron服务器,能接入消息队列。然而,该方法与图9a所示方法具有同样的缺点。
发明内容
有鉴于上述提及的缺点和问题,本发明旨在改善现有技术。特别地,本发明的目的是提供另一种允许SDN,在无上述提及的缺点的情况下,以快捷容易的方式完全集成到OpenStack网络业务的方法。通过将SDN完全集成到OpenStack网络业务,应该就会实现对网络从管理面,到控制面,再到数据面的控制。此外,SDN控制器支持切换设备以及其他转发元件(forwarding element,简称FE)的控制和管理,且也需要负载均衡器(load balancer,简称LB)和防火墙(firewall,简称FW)等其他网元。
本发明上述提及的目标通过所附的独立权利要求提供的方案实现。本发明的优势实现方式均在各个从属权利要求部分中进一步定义。特别地,本发明的核心思想是提供一种功能全面的SDN控制器替换OpenStack网络业务中的Neutron服务器。特别地,该SDN控制器设置有统一数据模型,其允许对包含LB和FW的所有网络设备进行控制。
本发明的第一方面提供了一种软件定义网络(software defined network,简称SDN)控制器,包括:网络中所有网络设备的统一数据模型,其中,统一数据模型包括根元类别,其定义了所有网络设备共享的多个基本属性和/或操作,以及多个设备类别,每个表示网络设备的一个类别;所述根元类别由每个所述设备类别继承。
SDN控制器用于增强OpenStack网络业务中的Neutron服务器,从而在保留Neutron服务器所有能力的同时为OpenStack网络业务提供全部SDN能力。统一数据模型提供了网络中所有网络设备的唯一根代表,通过它,SDN控制器用于控制来自管理面的所有网络设备,包括LB以及FW等。特别地,通过使用多态性,SDN控制器可以轻易参考不同网络设备类别,即不同网络设备,的动作与属性。根据本发明的SDN控制器,新增的或更改的应用仅需在SDN控制器上注册,无须进行Neutron服务器的完整重新编译。
根据第一方面,在所述SDN控制器的第一种实现形式中,所述SDN控制器配置为云管理系统的网络控制器,优选为OpenStack云管理系统的网络控制器。
根据第一方面或第一方面的第一种实现形式,在所述SDN控制器的第二种实现形式中,所述统一数据模型包含在所述SDN控制器的抽象层中,是网络基础设施所有设备以及功能的统一抽象。
所有网络设备的抽象允许新的或更改的应用或设备轻松地集成到网络业务,无论它们的类型或制造商。即,通过所有网络设备的抽象,例如,确保不同制造商但同一类型的设备可以很轻松地集成到网络业务。
根据第一方面或第一方面的任一实现形式,在所述SDN控制器的第三种实现形式中,所述每个网络设备共享的基本属性和/或操作包括:主要能力;端口;用于确定将要进行操作的数据流量的匹配规则;以及在所述确定的数据流量上将要进行的动作。
特别地,通过匹配规则以及将要进行的动作,提供了用于控制在所述统一数据模型中抽象化的不同网络设备的单个接口。
根据第一方面的第三种实现形式,在所述SDN控制器的第四种实现形式中,所述每个网络设备共享的基本属性和/或操作也包括:通信协议和控制协议。
根据第一方面的第三或第四种实现形式,在所述SDN控制器的第五种实现形式中,在所述多个设备类别的每个中,赋予了所述网络设备的主要能力;包含了网络设备的具体数据模型属性和/或操作。
根据第一方面的第三至第五种实现形式,在所述SDN控制器的第六种实现形式中,所述根元类别中的匹配操作和动作操作同时参考所述多个设备类别中的所有网络设备,以使网络设备在所述确定的数据流量上至少执行其主要能力。
鉴于上述实现形式,可以同时控制管理面所有的网络设备。这意味着,若匹配规则或动作改变了,相应地以并行方式指令所有网络设备,因为所述根元类别属性传承给了每个设备类别。
根据第一方面或第一方面的任一实现形式,在所述SDN控制器的第七种实现形式中,所述多个网络设备包括FE、FW和LB中的至少一个。
本发明的SDN控制器与现有技术中的SDN控制器形成对比,现有技术的SDN控制器仅能控制转发设备。
根据第一方面或第一方面的任一实现形式,在所述SDN控制器的第八种实现形式中,所述SDN控制器包括至少一个应用编程接口(application programming interface,简称API),用于注册至少一个SDN应用。
传统OpenStack网络业务(例如,L3代理以及DHCP代理等)中存在的所有业务插件均可作为纯SDN应用重新引入,该纯SDN应用在所述SDN控制器上注册运行。因此,业务插件并未导致数据流量的瓶颈,因为它们的数据路径部分是根据SDN范式分流给数据面的。
根据第一方面或第一方面的任一实现形式,在所述SDN控制器的第九种实现形式中,所述SDN控制器还包括至少一个应用编程接口(application programming interface,简称API),用于注册业务插件。
例如,可在所述SDN控制器中注册标准SDN或OF业务插件。
根据第一方面或第一方面的任一实现形式,在所述SDN控制器的第十种实现形式中,所述SDN控制器还包括至少一个应用编程接口(application programming interface,简称API),用于注册消息队列(message queue,简称MQ)应用。
因此,提供了针对其他OpenStack元件和针对传统Neutron代理的MQ连通性(传统Neutron代理可支持非转发元件,例如FW)。MQ连通性是对传统SDN模型的显著改进。
根据第一方面或第一方面的任一实现形式,在所述SDN控制器的第十一种实现形式中,所述SDN控制器还包括驱动封装器,用于改造OpenStack厂商特定设备插件和/或驱动以供SDN应用使用。
根据第一方面或第一方面的任一实现形式,在所述SDN控制器的第十二种实现形式中,所述SDN控制器还包括核心层,包含至少包括拓扑业务、路由业务、链接业务、调度业务、集群业务以及高可用性业务之一的多个业务。
因此,OpenStack网络业务提供有全部SDN能力。额外业务大大提高了OpenStack网络业务。
本发明的第二方面提供了一种软件定义网络(software defined network,简称SDN)控制器创建方法,所述方法包括:在所述SDN控制器的抽象层创建网络中所有网络设备的统一数据模型;在统一数据模型中包括根元类别以及多个设备类别,根元类别包含了所有网络设备共享的多个基本属性和/或操作,每个设备类别表示网络设备的一个类别;将所述根元类别传承给每个所述设备类别。
根据第二方面,在所述方法的第一种实现形式中,所述SDN控制器配置为云管理系统的网络控制器,优选为OpenStack云管理系统的网络控制器。
根据第二方面或第二方面的第一种实现形式,在所述方法的第二种实现形式中,所述统一数据模型创建在所述SDN控制器的抽象层中,是网络基础设施所有设备以及功能的统一抽象。
根据第二方面或第二方面的任一实现形式,在所述方法的第三种实现形式中,所述每个网络设备共享的基本属性和/或操作包括:主要能力;端口;用于确定将要进行操作的数据流量的匹配规则;以及在所述确定的数据流量上将要进行的动作。
根据第二方面的第三种实现形式,在所述方法的第四种实现形式中,所述每个网络设备共享的基本属性和/或操作也包括:通信协议和控制协议。
根据第二方面的第三或第四种实现形式,在所述方法的第五种实现形式中,在所述多个设备类别的每个中,赋予了所述网络设备的主要能力;包括了网络设备的具体数据模型属性和/或操作。
根据第二方面的第三至第五种实现形式,在所述方法的第六种实现形式中,所述根元类别中的匹配操作和动作操作同时参考所述多个设备类别中所有网络设备,以使网络设备在所述确定的数据流量上至少执行其主要能力。
根据第二方面或第二方面的任一实现形式,在所述方法的第七种实现形式中,所述多个网络设备包括转发元件(forwarding element,简称FE)、防火墙(firewall,简称FW)和负载均衡器(load balancer,简称LB)中的至少一个。
根据第二方面或第二方面的任一实现形式,在所述方法的第八种实现形式中,所述SDN控制器中创建了至少一个应用编程接口(application programming interface,简称API),用于注册至少一个SDN应用。
根据第二方面或第二方面的任一实现形式,在所述方法的第九种实现形式中,所述SDN控制器中创建了至少一个应用编程接口(application programming interface,简称API),用于注册业务插件。
根据第二方面或第二方面的任一实现形式,在所述方法的第十种实现形式中,所述SDN控制器中创建了至少一个应用编程接口(application programming interface,简称API),用于注册消息队列(message queue,简称MQ)应用。
根据第二方面或第二方面的任一实现形式,在所述方法的第十一种实现形式中,所述SDN控制器中创建了驱动封装器,用于改造OpenStack厂商特定设备插件和/或驱动以供SDN应用使用。
根据第二方面或第二方面的任一实现形式,在所述方法的第十二种实现形式中,所述SDN控制器中创建了核心层,包含至少包括拓扑业务、路由业务、链接业务、调度业务、集群业务以及高可用性业务之一的多个业务。
上述第二方面及其实现形式分别实现与第一方面及其实现形式所描述的优点相同的优点。
本发明第三方面提供一种计算机程序,包括程序代码,用于当在计算机上运行时,执行根据第二方面或第二方面的任一实现形式所述的方法。
第三方面分别实现与第二方面及其实现形式所描述的优点相同的优点。
需要注意的是,本申请所描述的所有设备、元件、单元和方式均可在软件或硬件元件或它们的任意组合中实现。本申请中描述的各种实体所执行的步骤以及所描述的各种实体要执行的功能均意在指各个实体用于执行各个步骤和功能。即使在具体实施例的下述描述中,完全由外部实体形成的具体功能或步骤未在执行该具体步骤或功能的该实体的具体细节元件的描述中反映,技术人员应清楚可以在各个软件或硬件元件或它们的任意组合中实现这些方法和功能。
附图说明
结合所附附图,下面具体实施例的描述将阐述上述本发明的各方面及其实现形式,其中:
图1示出了本发明实施例中OpenStack网络业务中的SDN控制器;
图2示出了本发明实施例中在OpenStack云管理系统中与云控制器节点、消息队列以及Neutron插件代理交互的SDN控制器;
图3示出了本发明实施例的SDN控制器;
图4示意性地示出了本发明实施例中SDN控制器所使用的统一数据模型;
图5示出了本发明实施例中SDN控制器所使用的具体统一数据模型;
图6示出了本发明实施例的SDN控制器的具体配置;
图7示出了本发明实施例的SDN控制器的创建方法;
图8示出了现有技术中的OpenStack网络业务;
图9a/9b示出了现有技术中的OpenStack网络业务。
具体实施方式
图1示出了本发明实施例中网络内,具体是OpenStack网络业务内的SDN控制器100。SDN控制器100用于替换这种OpenStack网络业务中的Neutron服务器。或者,将传统Neutron服务器的功能增强以使其具有SDN控制器100一样的功能。图1尤其示出了OpenStack对象存储、OpenStack图像业务、OpenStack计算、OpenStack块存储以及OpenStack标识业务等OpenStack网络业务中的一些元素。OpenStack组网(即传统OpenStack网络业务的Neutron服务器)由SDN控制器100一一替换。由图1可知,有了新的基于SDN控制器100的Neutron服务器,就无须重新配置剩余的传统OpenStack网络业务。
图2示出了本发明实施例中SDN控制器100如何与OpenStack云管理系统中云控制器节点201、消息队列200以及网络节点202(例如,运行Neutron插件代理)交互。通过将SDN控制器与消息队列200进行连接来实现消息队列连通性(例如,针对OpenStack元件)。通过消息队列200,SDN控制器100可以连接至云控制器节点201。而且,SDN控制器100可连接至网络节点202上的Neutron插件。与图9b所示的现有技术方案相比,可以看出传统OpenStack网络业务(即,L3代理和DHCP等)的所有业务插件均作为SDN应用重新引入到SDN控制器100中,且不再是数据流量的瓶颈。以下将对SDN控制器100和SDN应用进行更具体的描述
图3示出了本发明如图1和图2所示的SDN控制器100的基本实施例。SDN控制器100用于完全替换OpenStack网络业务中的Neutron服务器。SDN控制器100至少设置有网络中所有网络设备的统一数据模型300。在统一数据模型300中,所有网络设备都是抽象化的,例如包括FE、FW和/或LB。为此目的,所述统一数据模型300至少包括根元类别301,其定义了所有网络设备共享的多个基本属性和/或操作305。所述统一数据模型300还包括多个设备类别302、303和304,每个设备类别表示网络设备的一个类别。所述根元类别301由每个所述设备类别302、303和304继承。
图4示意性地示出了优选包括在图3的SDN控制器100中的统一数据模型300。该统一数据模型300优选通过云实现,且适合OpenStack的Neutron。特别地,统一数据模型300抽象化了根元类别301中的FE、FW以及LB等所有网元(网络设备)的共享属性。网元的具体属性在设备类别302、303和304中进行抽象化。例如,FE是在第一设备类别302中通过流401和表402进行抽象化。进一步地,例如,FW是在第二设备类别303中通过策略403和规则404进行抽象化。统一数据模型300优选为可插拔的,即易于拓展到更多网络设备(即,在没有重新编译基于SDN控制器的Neutron服务器的情况下),且可以为各种类型的网络设备建模。这样就实现了通过SDN控制器100对所有网络设备的唯一控制,即实现了同样基础设施下的控制。
图5示出了统一数据模型300,是图4中所示统一数据模型300的更具体图示,可用于SDN控制器100中。特别地,统一数据模型300再次包括根元类别301,其对所有网元/设备有效,定义了所有网络设备共享的多个基本属性和/或操作305。根元类别301也称为网元。根元类别301可包括主要能力即网络设备主要的能力、用于获得网络数据的端口、用于确定至少要进行操作的数据流量的匹配规则以及在所述确定的数据流量上将要进行的动作以作为属性和/或操作305。根元类别301可优选还包括用于理解网络数据的通信协议以及控制协议。
对于每一种网络设备,分别由设备类别302、303和304继承根元类别301,其中,每个设备类别表示一个具体的网络设备类型。在每个设备类别302、303和304中,赋予了各个网络设备类型的主要能力,包含了各个网络设备的具体数据模型属性和/或操作502、503和504。例如,在图5中,第三设备类别304表示LB。LB的主要能力是状态L7负载均衡器。LB的具体属性504包括链路状态以及均衡算法。第二设备类别303代表FW。FW的主要能力是状态防火墙。FW的具体属性503包括规则、策略和日志。第一设备类别302代表FE。FE的主要能力是可编程帧转发。FE的具体属性502包括流和表。
因此,SDN控制器100中的统一数据模型300是所有网络设备的唯一根代表,是网络基础设施所有设备以及功能的抽象化。
统一数据模型300允许SDN控制器100使用多态性,实现了参考具有抽象操作的不同设备类别中的动作与属性。例如,所述根元类别301中抽象化的匹配操作和动作操作可同时参考所述多个设备类别302、303和304中的网络设备,从而使各个网络设备在所述确定的数据流量上至少执行其主要能力。
例如,在云环境中,两个最基础动作是定义不同虚拟机间的连通性和安全接入规则。在抽象层面上,这两种操作重合。因此,作为典型策略,只允许与其他虚拟机有连通性的虚拟机的动作。在传统云环境中,这两种操作的建模不同,在不同地点控制。因此,通常由用户同步和协调策略。
相反,本发明的方案允许在SDN控制器中对这两种动作进行建模和控制。如上所述,在本发明的统一数据模型中,匹配和动作均在根元类别层面抽象化。该匹配和动作从而可以定义上述提及的策略。例如,其可以为这样的策略:只对源自某个IP地址的数据流量进行动作。然后,每个相关网元(FE以及FW等)将在该数据流量上实现其关联的能力。可以如此使用的多态性急速降低将新功能集成入SDN控制器的需求,并使SDN控制器通过统一数据模型控制所有网元。
图6示出了本发明实施例的SDN控制器100。图6的SDN控制器100可以是图3中所示的SDN控制器100,且更为详细。SDN控制器100具有抽象层601,其统一和抽象化了网络基础设施的所有方面,包括FW和LB等功能。抽象层601优选包括所有网络设备的统一数据模型300。
现有业务插件606(例如,L3代理、DHCP代理、FWaaS代理等)优选作为SDN应用在如图6所示的SDN控制器100上运行,通过北向接口(northbound interface,简称NBI)603注册到SDN控制器100上。SDN控制器100优选在NBI 603也设置有至少一个传统API 604,例如,用于作为传统Neutron服务器的至少一个(Neutron)插件,并允许与传统业务连接。
SDN控制器100优选也具有南向接口(southbound interface,简称SBI)607,其优选配置有多个其他的插件。SBI优选包括至少一个API,用于注册业务插件,优选注册SDN业务插件。此外,SBI包含API,用于注册MQ队列应用(如图2所示)。此外,SBI上设置有驱动封装器609,用于改造OpenStack厂商特定设备插件和/或驱动,其例如可供SDN应用使用。最后,在SBI上同时设置有传统API 608,用于允许传统Neutron服务器的传统插件插入本发明的SDN服务器。
SDN服务器100优选也包括内部数据库602,例如,在数据库中,SDN服务器100可存储关于SDN应用和其上运行的业务的信息。数据库602也可存储应用链,以提供业务链接。
SDN服务器100优选还包括核心层605,包含至少包括拓扑业务、路由业务、链接业务、调度业务、集群业务以及高可用性业务之一的多个业务。
图7示出了本发明的SDN控制器100的创建方法700。在第一步骤701中,优选地在SDN控制器100的抽象层601中创建所有网络设备的统一数据模型300。在第二步骤702中,在统一数据模型300中包括根元类别301,其包含了所有网络设备共享的多个基本属性和/或操作305。在第三步骤703中,在统一数据模型300中包括多个设备类别302、303和304,每个表示网络设备的一个类别。在第四步骤704中,将所述根元类别301传承给每个所述设备类别302、303和304。
本发明可应用于具体使用情况中。例如,本发明可应用于DVR。在当前OpenStack网络业务方案中,所有穿过子网的数据流量必须经过网络节点。这使得网络节点成为不必要的瓶颈,因为其掌握的信息能更有效的分配。然而,传统方案将路由功能分配给网络节点,这会要求计算节点交换全部路由信息或存储全局路由信息。这将给传统方案中的计算节点带来不必要的负担。
采用本发明实施例的SDN控制器100完全替换Neutron服务器,数据路径可分配给计算节点,而控制部分则维持在SDN控制器层级。只有需要的转发信息库(forwardinginformation base,简称FIB)片段可以按要求发送给计算节点。因此,网络节点不再是瓶颈,因为不是所有路由的数据流量都必须经过该节点。计算节点也不必背负不必要的负担,因为它们不需要维护路由协议或大型路由数据库。
本发明也可应用于防火墙即服务(FW-as-a-Service,简称FWaaS)。传统意义上,FW运行状况与网络运行状况紧密耦合。在传统OpenStack网络业务方案中,FWaaS是独立断开的业务插件。对于组网和FW,传统Neutron服务器具有普通管理平台的益处。然而,传统SDN没有将FW作为被控制元件的概念,而是作为与转发元件关联的应用,且FW要么作为集中式FW运行,使其成为瓶颈,要么可从FW管理中断开。根据本发明的SDN控制器100,该问题可以通过合并两个模型,即合并Neutron服务器和SDN控制器100解决。
总之,本发明展示了通过提供的SDN控制器100将SDN完全集成到OpenStack网络业务中。这实现了对整个网络从管理面,到控制面,再到数据面的控制。此外,SDN控制器支持切换设备以及LB和/或FW等其他网元的控制和管理。
已经结合作为实例的不同实施例以及实施方案描述了本发明。但本领域技术人员通过实践所请发明,研究附图、本公开以及独立权项,能够理解并获得其他变体。在权利要求以及描述中,术语“包括”不排除其他元件或步骤,且“一个”并不排除复数可能。单个元件或其它单元可满足权利要求书中所叙述的若干实体或项目的功能。在仅凭某些措施被记载在相互不同的从属权利要求书中这个单纯的事实并不意味着这些措施的结合不能在有利的实现方式中使用。
Claims (15)
1.一种软件定义网络(software defined network,简称SDN)控制器(100),其特征在于,包括:
网络中所有网络设备的统一数据模型(300),
其中,统一数据模型(300)包括根元类别(301),其定义了所有网络设备共享的多个基本属性和/或操作(305),以及多个设备类别(302、303和304),每个表示网络设备的一个类别;
所述根元类别(301)由每个所述设备类别(302、303和304)继承。
2.根据权利要求1所述的SDN控制器(100),其特征在于,配置为云管理系统的网络控制器,优选为OpenStack云管理系统的网络控制器。
3.根据权利要求1或2所述的SDN控制器(100),其特征在于,所述统一数据模型(300)包含在所述SDN控制器(100)的抽象层(601)中,是网络基础设施所有设备以及功能的统一抽象。
4.根据权利要求1至3中一项所述的SDN控制器(100),其特征在于,所述每个网络设备共享的基本属性和/或操作(305)包括:
主要能力;
端口;
用于确定将要进行操作的数据流量的匹配规则;以及
在所述确定的数据流量上将要进行的动作。
5.根据权利要求4所述的SDN控制器(100),其特征在于,所述每个网络设备共享的基本属性和/或操作(305)也包括:
通信协议;和
控制协议。
6.根据权利要求4或5所述的SDN控制器(100),其特征在于,在所述多个设备类别(302、303和304)的每个中,
赋予了所述网络设备的主要能力;
包含了网络设备的具体数据模型属性和/或操作(502、503和504)。
7.根据权利要求4至6中一项所述的SDN控制器(100),其特征在于:
所述根元类别(301)中的匹配操作和动作操作同时参考所述多个设备类别(302、303和304)中的所有网络设备,以使网络设备在所述确定的数据流量上至少执行其主要能力。
8.根据权利要求1至7中一项所述的SDN控制器(100),其特征在于:
所述多个网络设备包括转发元件(forwarding element,简称FE)、防火墙(firewall,简称FW)以及负载均衡器(load balancer,简称LB)中的至少一个。
9.根据权利要求1至8中一项所述的SDN控制器(100),其特征在于,还包括:
至少一个应用编程接口(application programming interface,简称API)(603),用于注册至少一个SDN应用(606)。
10.根据权利要求1至9中一项所述的SDN控制器(100),其特征在于,还包括:
至少一个应用编程接口(application programming interface,简称API)(610),用于注册业务插件。
11.根据权利要求1至10中一项所述的SDN控制器(100),其特征在于,还包括:
至少一个应用编程接口(application programming interface,简称API)(611),用于注册消息队列(message queue,简称MQ)应用。
12.根据权利要求1至11中一项所述的SDN控制器(100),其特征在于,还包括:
驱动封装器(609),用于改造OpenStack厂商特定设备插件和/或驱动以供SDN应用使用。
13.根据权利要求1至12中一项所述的SDN控制器(100),其特征在于,还包括:
核心层(605),包含至少包括拓扑业务、路由业务、链接业务、调度业务、集群业务以及高可用性业务之一的多个业务。
14.一种软件定义网络(software defined network,简称SDN)控制器(100)创建方法(700),其特征在于,所述方法包括:
在所述SDN控制器(100)的抽象层(601)创建(701)网络中所有网络设备的统一数据模型(300);
在统一数据模型(300)中包括(702和703)根元类别(301)以及多个设备类别(302、303和304),根元类别包含了所有网络设备共享的多个基本属性和/或操作(305),每个设备类别表示网络设备的一个类别;
将所述根元类别(301)传承给每个所述设备类别(302、303和304)。
15.一种计算机程序,其特征在于,包括程序代码,用于当在计算机上运行时,执行根据权14所述的方法(700)。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2014/067641 WO2016026516A1 (en) | 2014-08-19 | 2014-08-19 | Software defined network controller and method for its creation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107003860A true CN107003860A (zh) | 2017-08-01 |
CN107003860B CN107003860B (zh) | 2020-08-14 |
Family
ID=51359399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480081321.7A Active CN107003860B (zh) | 2014-08-19 | 2014-08-19 | 一种软件定义网络控制器及其创建方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107003860B (zh) |
WO (1) | WO2016026516A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989086A (zh) * | 2018-06-20 | 2018-12-11 | 复旦大学 | OpenStack平台中的Open vSwitch违规端口操作自动发现与追溯系统 |
CN109818762A (zh) * | 2017-11-20 | 2019-05-28 | 中国电信股份有限公司 | 用于实现sdn控制器自动注册的方法、适配器和系统 |
CN109840074A (zh) * | 2017-11-24 | 2019-06-04 | 华为软件技术有限公司 | 一种业务生成方法、装置及网络设备 |
CN109962788A (zh) * | 2017-12-14 | 2019-07-02 | 中国电信股份有限公司 | 多控制器调度方法、装置和系统及计算机可读存储介质 |
CN112968879A (zh) * | 2021-02-01 | 2021-06-15 | 浪潮思科网络科技有限公司 | 一种实现防火墙管理的方法及设备 |
CN114422160A (zh) * | 2020-10-28 | 2022-04-29 | 中移(苏州)软件技术有限公司 | 一种虚拟防火墙的设置方法、装置、电子设备和存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107872479B (zh) * | 2016-09-26 | 2021-06-18 | 中国电信股份有限公司 | 云管理平台与控制器集成方法和系统以及相关模块 |
CN107370642B (zh) * | 2017-09-04 | 2020-12-08 | 赛尔网络有限公司 | 一种基于云平台多租户网络平稳度监测系统和方法 |
CN107547278B (zh) * | 2017-09-05 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 一种将OpenStack与企业虚拟化环境对接的装置及方法 |
US10841509B2 (en) | 2018-10-22 | 2020-11-17 | At&T Intellectual Property I, L.P. | Camera array orchestration |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635645A (zh) * | 2009-08-28 | 2010-01-27 | 中兴通讯股份有限公司 | 一种网络拓扑的管理方法及装置 |
CN103269282A (zh) * | 2013-04-25 | 2013-08-28 | 杭州华三通信技术有限公司 | 网络配置自动部署方法和装置 |
CN103647658A (zh) * | 2013-11-27 | 2014-03-19 | 华为技术有限公司 | 一种软件定义网络系统中网络设备的管理方法和控制器 |
US20140112190A1 (en) * | 2012-10-22 | 2014-04-24 | Futurewei Technologies, Inc. | System and Apparatus of Generalized Network Controller for a Software Defined Network (SDN) |
CN103812778A (zh) * | 2014-02-21 | 2014-05-21 | 华为技术有限公司 | 流表项生成方法以及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06103075A (ja) * | 1992-07-06 | 1994-04-15 | Internatl Business Mach Corp <Ibm> | オブジェクト指向適用業務 |
US6249291B1 (en) * | 1995-09-22 | 2001-06-19 | Next Software, Inc. | Method and apparatus for managing internet transactions |
WO2012047756A1 (en) * | 2010-10-04 | 2012-04-12 | Avocent | System and method for monitoring and managing data center resources incorporating a common data model repository |
-
2014
- 2014-08-19 WO PCT/EP2014/067641 patent/WO2016026516A1/en active Application Filing
- 2014-08-19 CN CN201480081321.7A patent/CN107003860B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635645A (zh) * | 2009-08-28 | 2010-01-27 | 中兴通讯股份有限公司 | 一种网络拓扑的管理方法及装置 |
US20140112190A1 (en) * | 2012-10-22 | 2014-04-24 | Futurewei Technologies, Inc. | System and Apparatus of Generalized Network Controller for a Software Defined Network (SDN) |
CN103269282A (zh) * | 2013-04-25 | 2013-08-28 | 杭州华三通信技术有限公司 | 网络配置自动部署方法和装置 |
CN103647658A (zh) * | 2013-11-27 | 2014-03-19 | 华为技术有限公司 | 一种软件定义网络系统中网络设备的管理方法和控制器 |
CN103812778A (zh) * | 2014-02-21 | 2014-05-21 | 华为技术有限公司 | 流表项生成方法以及装置 |
Non-Patent Citations (1)
Title |
---|
汪军: "软件定义网络关键技术及其实现", 《中兴通讯技术》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109818762A (zh) * | 2017-11-20 | 2019-05-28 | 中国电信股份有限公司 | 用于实现sdn控制器自动注册的方法、适配器和系统 |
CN109818762B (zh) * | 2017-11-20 | 2022-03-08 | 中国电信股份有限公司 | 用于实现sdn控制器自动注册的方法、适配器和系统 |
CN109840074A (zh) * | 2017-11-24 | 2019-06-04 | 华为软件技术有限公司 | 一种业务生成方法、装置及网络设备 |
CN109840074B (zh) * | 2017-11-24 | 2021-02-23 | 华为技术有限公司 | 一种业务生成方法、装置及网络设备 |
CN109962788A (zh) * | 2017-12-14 | 2019-07-02 | 中国电信股份有限公司 | 多控制器调度方法、装置和系统及计算机可读存储介质 |
CN109962788B (zh) * | 2017-12-14 | 2022-03-29 | 中国电信股份有限公司 | 多控制器调度方法、装置和系统及计算机可读存储介质 |
CN108989086A (zh) * | 2018-06-20 | 2018-12-11 | 复旦大学 | OpenStack平台中的Open vSwitch违规端口操作自动发现与追溯系统 |
CN108989086B (zh) * | 2018-06-20 | 2021-03-30 | 复旦大学 | OpenStack平台中的Open vSwitch违规端口操作自动发现与追溯系统 |
CN114422160A (zh) * | 2020-10-28 | 2022-04-29 | 中移(苏州)软件技术有限公司 | 一种虚拟防火墙的设置方法、装置、电子设备和存储介质 |
CN114422160B (zh) * | 2020-10-28 | 2024-01-30 | 中移(苏州)软件技术有限公司 | 一种虚拟防火墙的设置方法、装置、电子设备和存储介质 |
CN112968879A (zh) * | 2021-02-01 | 2021-06-15 | 浪潮思科网络科技有限公司 | 一种实现防火墙管理的方法及设备 |
CN112968879B (zh) * | 2021-02-01 | 2022-04-12 | 浪潮思科网络科技有限公司 | 一种实现防火墙管理的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107003860B (zh) | 2020-08-14 |
WO2016026516A1 (en) | 2016-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107003860A (zh) | 一种软件定义网络控制器及其创建方法 | |
CN104734931B (zh) | 一种虚拟网络功能间链路建立方法及装置 | |
US9602415B2 (en) | Flow based network service insertion | |
CN103930882B (zh) | 具有中间盒的网络架构 | |
CN107147509B (zh) | 虚拟专用网业务实现方法、装置及通信系统 | |
CN107819742B (zh) | 一种动态部署网络安全服务的系统架构及其方法 | |
TWI521437B (zh) | 用於網路的方法和系統 | |
US9253274B2 (en) | Service insertion architecture | |
Hantouti et al. | Service function chaining in 5G & beyond networks: Challenges and open research issues | |
CN104380667B (zh) | 一种数据报文的路由方法和设备 | |
CN103067245B (zh) | 一种用于网络虚拟化的流表空间隔离装置及方法 | |
CN102255903B (zh) | 一种云计算虚拟网络与物理网络隔离安全方法 | |
CN107872392A (zh) | 在网络中分配服务功能链数据和服务功能实例数据 | |
CN107005584A (zh) | 内联服务交换机 | |
CN110392999A (zh) | 分布式计算系统中的虚拟过滤平台 | |
CN109462534A (zh) | 区域互联控制器、区域互联控制方法以及计算机存储介质 | |
CN105812340B (zh) | 一种虚拟网络访问外网的方法和装置 | |
CN106712988B (zh) | 一种虚拟网络管理方法及装置 | |
CN104704772B (zh) | 通信系统、虚拟网络管理装置、虚拟网络管理方法 | |
CN106936715A (zh) | 虚拟机报文控制方法及装置 | |
CN105282191B (zh) | 负载均衡系统、控制器和方法 | |
CN108616386A (zh) | 一种sdn虚拟网络环境的构建方法及sdn虚拟网络环境 | |
CN105282043A (zh) | 全局网络负载均衡系统、设备和方法 | |
CN107534603A (zh) | 控制器、控制方法和程序 | |
CN105429870A (zh) | Sdn环境下的vxlan安全网关装置及其应用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220223 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |