网络控制系统中的控制器技术方案

技术编号:16105537 阅读:69 留言:0更新日期:2017-08-30 00:06
描述了一种用于生成用于管理第一和第二管理转发元件的物理控制平面数据的网络控制系统,第一和第二管理转发元件实现与第一逻辑数据路径集合相关联的转发操作。该系统包括用于将第一逻辑数据路径集合的逻辑控制平面数据转换为通用物理控制平面(UPCP)数据的第一控制器实例。该系统还包括用于将UPCP数据转换为第一管理转发元件而不是第二管理转发元件的自定义物理控制平面(CPCP)数据的第二控制器实例。该系统还包括用于接收由第一控制器实例所生成的UPCP数据、将第二控制器实例标识为负责生成第一管理转发元件的CPCP数据的控制器实例、以及将接收到的UPCP数据提供到第二控制器实例的第三控制器实例。

【技术实现步骤摘要】
网络控制系统中的控制器本申请是申请日为2012年10月25日、申请号为201280052475.4、名称为“用于转换通用流的机箱控制器”的专利技术专利申请的分案申请。
技术介绍
许多当前企业具有支持各种连接、应用和系统的包括交换机、中枢节点、路由器、服务器、工作站及其他网络设备的大型并且复杂的网络。计算机联网的增加的复杂化,包括虚拟机迁移、动态工作负荷、多租期,以及特定于客户的服务质量和安全配置,要求网络控制的更好的范例。网络传统上是通过单个组件的低级别的配置来管理的。网络配置常常取决于基础网络:例如,利用访问控制列表(“ACL”)条目阻止用户的访问要求知道用户的当前IP地址。更复杂的任务要求更加详尽的网络知识:强制来宾用户的端口80流量遍历HTTP代理要求知道当前网络拓扑和每一个来宾的位置。在网络交换元件跨多个用户共享的情况下,此过程增大了困难。作为响应,存在朝着被称为“软件定义的联网”(SDN)的新的网络控制范例的日益增长的移动。在SDN范例中,在网络中的一个或多个服务器上运行的网络控制器控制、维护,并实现控制逻辑,该控制逻辑在每个用户的基础上管辖共享的网络交换元件的转发行为。做出网络管理决策常常要求了解网络状态。为促进管理决策做出,网络控制器创建并维护网络状态的视图,并提供应用编程接口,管理应用可以通过应用编程接口访问网络状态的视图。维护大型网络(包括数据中心和企业网络两者)的一些主要目标是可缩放性、迁移性、以及多租期。为满足这些目标中的一个所采取的许多方法导致妨碍其他目标中的至少一个。例如,可以轻松地为L2域内的虚拟机提供网络迁移性,但是L2域不能缩放到大型尺寸。此外,保持用户的隔离也大大地使迁移性复杂化。如此,需要可以满足可缩放性、迁移性以及多租期目标的改善的解决方案。
技术实现思路
本专利技术的一些实施例提供了允许通过一个或多个共享的转发元件为若干不同的用户指定若干不同的逻辑数据路径(LDP)集合而不允许不同的用户控制或者甚至查看彼此的转发逻辑的网络控制系统。这些共享的转发元件在下面被称为管理交换元件或管理转发元件,因为它们是由网络控制系统管理的,以便实现LDP集合。在一些实施例中,网络控制系统包括允许系统从用户接受LDP集合并配置交换元件以实现这些LDP集合的一个或多个控制器(在下面也被称为“控制器实例”)。这些控制器允许系统以在共享相同的管理交换元件的同时防止不同的用户查看或控制彼此的LDP集合和逻辑网络的方式虚拟化对共享的交换元件以及由这些共享的交换元件之间的连接所定义的逻辑网络的控制。在一些实施例中,每一个控制器实例是执行一个或多个模块的设备(例如,通用计算机),这一个或多个模块将用户输入从逻辑控制平面(LCP)转换为逻辑转发平面(LFP)数据,然后将LFP数据转换为物理控制平面(PCP)数据。在一些实施例中,这些模块包括控制模块和虚拟化模块。控制模块允许用户指定并填充逻辑数据路径集合(LDPS),而虚拟化模块通过将LDPS映射到物理交换基础结构来实现指定的LDPS。在一些实施例中,控制模块和虚拟化模块是两个单独的应用,而在其他实施例中,它们是同一个应用的一部分。在一些实施例中,控制器的控制模块从用户或另一个源接收描述LDPS的LCP数据(例如,描述与逻辑交换元件相关联的连接的数据)。然后,控制模块将此数据转换为LFP数据,然后LFP数据被提供给虚拟化模块。然后,虚拟化模块从LFP数据生成PCP数据。PCP数据被传播到管理交换元件。在一些实施例中,控制模块和虚拟化模块使用nLog引擎从LCP数据生成LFP数据以及从LFP数据生成PCP数据。一些实施例的网络控制系统使用不同的控制器来执行不同的任务。例如,在一些实施例中,网络控制系统使用三种类型的控制器。第一控制器类型是应用协议接口(API)控制器。API控制器负责通过API调用从用户接收配置数据和用户查询并对用户查询做出响应。API控制器还将接收到的配置数据传播到其他控制器。如此,一些实施例的API控制器充当用户和网络控制系统之间的接口。第二类型的控制器是负责通过计算通用流条目来实现LDP集合的逻辑控制器,其中,通用流条目是实现LDP集合的管理交换元件的流条目的通用表示。在一些实施例中,逻辑控制器不直接与管理交换元件进行交互,而是将通用流条目推送到第三类型的控制器(物理控制器)。不同实施例中的物理控制器具有不同的职责。在一些实施例中,物理控制器从通用流条目生成自定义流条目,并将这些自定义流条目下推送到管理交换元件。在其他实施例中,物理控制器对于特定的管理物理交换元件标识负责为特定的交换元件生成自定义流条目的第四类型的控制器(机箱控制器),并将物理控制器从逻辑控制器接收到的通用流条目转发到机箱控制器。然后,机箱控制器从通用流条目生成自定义流条目,并将这些自定义流条目推送到管理交换元件。在另一些其他实施例中,物理控制器为一些管理交换元件生成自定义流条目,同时指示机箱控制器为其他管理交换元件生成这样的流条目。前面的“
技术实现思路
”旨在充当本专利技术的一些实施例的简介。它不是本文中所公开的所有独创性的主题的介绍或概览。随后的“具体实施方式”以及在“具体实施方式”中参考的附图将进一步描述在“
技术实现思路
”中所描述的实施例以及其他实施例。相应地,为理解由此文档所描述的所有实施例,需要完整地阅读“
技术实现思路
”、“具体实施方式”以及“附图”。此外,所要求保护的主题将不受“
技术实现思路
”、“具体实施方式”以及“附图”中的说明性细节限制,而是将由所附权利要求书来定义,因为在不偏离主题的精神的情况下,所要求保护的主题可以以其他具体形式来实现。附图说明在所附的权利要求中阐述了本专利技术的新颖的特征。然而,为了说明的目的,在下面的附图中阐述了本专利技术的若干实施例。图1示出了本专利技术的一些实施例的虚拟化网络系统。图2示出了多用户服务器托管系统的交换机基础结构。图3示出了管理边缘交换元件的网络控制器。图4示出了跨一组交换元件实现的多个逻辑交换元件的示例。图5示出了控制管理交换元件的指令通过控制器实例的各种处理层的传播。图6示出了一些实施例的多实例、分布式网络控制系统。图7示出了为交换元件指定主控控制器实例的示例。图8示出了多个控制器实例的示例操作。图9在概念上示出了输入转换应用的软件体系结构。图10示出了本专利技术的一些实施例的控制应用。图11示出了本专利技术的一些实施例的虚拟化应用。图12在概念上示出了RE输出表中的不同的表。图13示出了本专利技术的一些实施例的控制应用和虚拟化应用的表映射操作的简化视图。图14示出了集成的应用的示例。图15示出了集成的应用的另一示例。图16在概念上示出了网络控制系统的示例体系结构。图17在概念上示出了网络控制系统的示例体系结构。图18示出了机箱控制应用的示例体系结构。图19示出了基于通用物理控制平面数据在两个管理交换元件之间的隧道的示例创建。图20在概念上示出了一些实施例所执行的从通用物理控制平面数据生成自定义物理控制平面数据的处理。图21在概念上示出了一些实施例所执行的生成自定义隧道流指令并向管理交换元件发送自定义指令的处理。图22在概念上以七个不同的阶段示出了将通用隧道流指令转换为自定义指令的机箱控制器的示例操作。图23在概念上示出了用来实现本专利技术的一些实施例的电本文档来自技高网
...
网络控制系统中的控制器

【技术保护点】
一种用于在托管系统的主机机器中执行的控制器应用的用于控制也在所述主机机器上执行的受管理的转发元件(MFE)的转发行为的方法,所述方法包括:接收定义逻辑网络的逻辑转发元件(LFE)的转发行为的数据,其中所述逻辑网络将在所述主机机器上执行的末端机器集合逻辑连接到在多个其他主机机器上执行的多个其他末端机器;基于接收到的数据,生成用于定义所述MFE的转发行为的数据以实现所述LFE;以及将所生成的数据分发给所述MFE以连同在所述多个其他主机机器上执行的多个其他MFE实现所述LFE。

【技术特征摘要】
2011.10.25 US 61/551,425;2011.10.25 US 61/551,427;1.一种用于在托管系统的主机机器中执行的控制器应用的用于控制也在所述主机机器上执行的受管理的转发元件(MFE)的转发行为的方法,所述方法包括:接收定义逻辑网络的逻辑转发元件(LFE)的转发行为的数据,其中所述逻辑网络将在所述主机机器上执行的末端机器集合逻辑连接到在多个其他主机机器上执行的多个其他末端机器;基于接收到的数据,生成用于定义所述MFE的转发行为的数据以实现所述LFE;以及将所生成的数据分发给所述MFE以连同在所述多个其他主机机器上执行的多个其他MFE实现所述LFE。2.如权利要求1所述的方法,其中所述MFE通过将所述LFE的一个或多个逻辑端口映射到所述MFE的所述末端机器集合被耦接到的一个或多个物理端口来实现所述LFE。3.如权利要求1所述的方法,还包括从所述MFE接收MFE特定的数据,其中定义所述MFE的转发行为的数据基于(i)接收到的定义所述LFE的转发行为的数据以及(ii)接收到的MFE特定的数据来生成。4.如权利要求3所述的方法,其中所述接收到的MFE特定的数据包括所述LFE的逻辑端口被映射到的所述MFE的物理端口号。5.如权利要求3所述的方法,其中所述接收到的MFE特定的数据包括关于在所述末端机器集合中已经停止在所述主机机器上操作的末端机器的转发数据。6.如权利要求1所述的方法,其中定义所述LFE的转发行为的数据是从与所述主机机器分开的控制器计算机接收的,其中所述控制器计算机将数据分发到在所述主机机器上执行的所述控制器应用以及在所述其它主机机器的集合上执行的多个其它控制器应用。7.如权利要求6所述的方法,其中所述其它控制器应用中的每个控制器应用(i)基于来自所述控制器计算机的数据来生成定义在所述其它控制器应用在其上执行的所述主机机器上执行的对应的MFE的转发行为的定制数据,以及(ii)将所生成的定制数据分发到所述对应的MFE以实现所述LFE。8.如权利要求1所述的方法,其中所述MFE连同所述多个其他MFE通过与所述其他MFE交换网络数据来实现所述LFE,其中所述网络数据由被逻辑连接到所述LFE的所述末端机器发送到所述MFE或者从所述MFE接收。9.如权利要求1所述的方法,其中所述LFE是第一LFE,所述末端机器集合是第一末端机器集合,所述多个其他末端机器是第一多个其他末端机器,并且所述逻辑网络是第一逻辑网络,所述方法还包括:接收定义第二逻辑网络的第二LFE的转发行为的数据,其中所述第二逻辑网络将在所述主机机器上执行的第二末端机器集合逻辑连接到在所述多个其他主机机器上执行的第二多个其他末端机器;基于所接收到的数据,生成用于定义所述MFE的转发行为的数据以还实现所述第二LFE;以及将所生成的数据分发给所述MFE以连同在所述多个其他主机机器上执行的所述多个其他MFE实现所述第二LFE。10.如权利要求9所述的方法,其中所述第一逻辑网络属于托管系统的第一租户,而所述第...

【专利技术属性】
技术研发人员:T·考珀内恩P·萨卡尔
申请(专利权)人:NICIRA股份有限公司
类型:发明
国别省市:美国,US

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

1