CN107646103B - 对容器的逻辑处理 - Google Patents
对容器的逻辑处理 Download PDFInfo
- Publication number
- CN107646103B CN107646103B CN201680027855.0A CN201680027855A CN107646103B CN 107646103 B CN107646103 B CN 107646103B CN 201680027855 A CN201680027855 A CN 201680027855A CN 107646103 B CN107646103 B CN 107646103B
- Authority
- CN
- China
- Prior art keywords
- logical
- container
- mfe
- data message
- local
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Logic Circuits (AREA)
Abstract
一些实施例提供了用于第一受管理的转发元件(MFE)的方法。该方法接收数据消息,数据消息包括识别特定逻辑转发元件的逻辑端口的逻辑上下文标签。基于逻辑上下文标签,该方法将本地标签添加到数据消息。本地标签与特定逻辑转发元件相关联,逻辑转发元件是在容器虚拟机(VM)上运行的一个或多个容器所属的几个逻辑转发元件之一。容器VM连接到第一MFE。该方法在没有任何逻辑上下文的情况下将数据消息递送给容器VM。在容器VM上运行的第二MFE使用本地标签将数据消息转发到在容器VM上运行的几个容器中的正确容器。
Description
背景技术
越来越多的应用被部署到虚拟机(VM)中,其中许多应用消耗网络和安全服务(例如,防火墙、访问控制列表(ACL)、服务质量(QoS)等)。在虚拟化网络中,虚拟化系统可以进一步虚拟化其它系统,从而增加了在虚拟接口背后创建一层虚拟接口的系统的复杂性和深度。例如,在VM上运行的Linux容器可以创建几个接口共享VM的单个接口(也被称为容器VM)。共享容器VM的单个接口的容器接口可能使得难以提供普遍适用的网络虚拟化平台,该平台为非容器VM以及为在系统中的容器VM内执行的容器提供网络和安全服务。
发明内容
本发明的一些实施例提供了一种网络控制系统,用于定义连接在网络中的主机机器上运行的虚拟机(VM)以及在网络的主机机器之一上运行的另一个VM(即,容器VM)内运行的容器(例如,Linux容器、VM等)的逻辑网络。一些实施例的网络控制系统定义在逻辑上连接主机机器上的VM和在容器VM上运行的容器的逻辑网络的逻辑数据路径。在一些实施例中,网络控制系统包括管理在主机机器上且在容器VM内的转发元件以实现逻辑网络的控制器集合。
在一些实施例中,网络中的每个主机机器包括用于虚拟化主机机器的物理资源的虚拟化软件(例如,管理程序)和用于将网络流量(例如,数据消息)转发到虚拟机和从虚拟机转发网络流量的主机受管理的转发元件(managed forwarding element,MFE)。在一些实施例中,主机MFE在虚拟化软件内运行。此外,一些主机机器包括连接到主机MFE的一个或多个VM,其中一些VM可以是托管容器集合的容器VM。在一些实施例中,本地MFE在每个容器VM内运行,以便将数据消息转发到容器VM内托管的容器和从容器VM内托管的容器转发数据消息。
一些实施例的网络控制系统包括用于管理主机MFE和本地MFE的控制器集合。在一些实施例中,控制器集合配置主机MFE和本地MFE,以根据由网络的管理员配置的逻辑转发元件(例如,逻辑交换机、逻辑路由器),在逻辑上转发容器和VM的数据消息。一些实施例的控制器集合包括用于管理容器VM的本地MFE的本地VM控制器(LVC)集合、用于管理主机机器的主机MFE的本地主机控制器(LHC)集合、以及用于管理LHC和/或LVC以实现逻辑网络的逻辑转发元件(LFE)的集中式网络控制器(CNC)集合。
不同的控制器可以以不同的方式跨不同的机器分布,从而在与它们管理的元件相同的机器或分离的机器上运行。例如,一些实施例的LHC在具有主机MFE的主机机器上(例如,在虚拟化软件内)运行,而在其它实施例中,LHC在与主机机器分离的机器上运行并且通过网络与主机MFE通信。在一些实施例中,网络控制系统配置MFE(主机MFE和本地MFE两者),以便将容器VM的容器以及非容器VM附连到一个或多个LFE。
为了将容器附连到特定的LFE,一些实施例的LHC从在容器VM上运行的LVC接收关于容器VM的容器的容器信息。在一些实施例中,容器信息包括地址信息(例如,MAC地址、IP地址)以及在容器中运行的应用的应用状态数据。一些实施例的容器信息识别容器的本地标签值(例如,VLAN ID)到逻辑数据(例如,逻辑端口、LFE等)的映射。
在一些实施例中,映射向由容器VM的MFE实现的每个LFE(即,在容器VM中运行的容器之一所连接到的每个LFE)提供不同的本地标签值。在其它实施例中,不是向每个LFE分配本地标签值,而是本地控制器向容器VM上的每个容器分配不同的本地标签值,而与容器所关联的LFE无关。
基于接收到的容器信息,一些实施例的LHC将每个容器映射到特定LFE的逻辑端口。LHC使用本地标签值到LFE的逻辑端口的映射来配置主机MFE,以处理去往容器和来自容器的网络流量,并向发送到容器和从容器发送的网络流量应用逻辑策略,从而移除从本地MFE应用此类策略的责任。
对于发送到容器的数据消息,主机MFE基于与网络流量相关联的逻辑端口用本地标签值来标记网络流量。例如,当主机MFE接收去往特定逻辑端口的数据消息时,主机MFE基于来自LHC的映射数据确定特定逻辑端口与特定本地标签值相关联,并且在将数据消息发送到容器VM之前用特定本地标签值来标记数据消息。容器VM上的本地MFE被配置成基于本地标签值将数据消息转发到正确的目的地容器。
对于从容器接收到的数据消息,一些实施例的本地MFE(即,在容器VM上运行的MFE)被配置成用本地标签值标记数据消息,并将数据消息转发到主机MFE。主机MFE接收数据消息,并且基于本地标签值和/或唯一地址(例如,源MAC地址)识别与数据消息相关联的逻辑端口。主机MFE然后在通过逻辑网络转发数据消息之前向数据消息应用逻辑网络策略(例如,经由CNC从LHC接收到的策略)集合。一些实施例的逻辑网络策略(例如,防火墙策略、服务质量(QoS)策略、负载平衡等)在逻辑网络的多个级别(例如逻辑交换机端口、逻辑交换机、逻辑路由器端口等)处定义。
在一些实施例中,不是在主机MFE处应用所有逻辑网络策略,而是网络控制系统在主机MFE和本地MFE之间分发一些逻辑处理。例如,一些实施例的本地MFE被配置成应用专用于容器VM上的容器之间的本地流量的逻辑网络策略。
在一些实施例中,LHC还实例化要添加到逻辑网络的新容器。一些实施例的LHC确定主机机器上是否有可用的合适的容器VM,如果没有,那么创建新的容器VM并初始化用于容器VM的本地MFE。在一些实施例中,LHC配置本地MFE以将来自容器的所有流量转发到主机MFE。
前面的发明内容旨在用作对本发明的一些实施例的简要介绍。这并不意味着是对本文档中公开的所有创造性主题的介绍或概述。以下的具体实施方式和在具体实施方式中提及的附图将进一步描述在本发明内容中描述的实施例以及其它实施例。因此,为了理解由本文档描述的所有实施例,需要对发明内容、具体实施方式、附图和权利要求书进行全面审阅。而且,所要求保护的主题不受发明内容、具体实施方式和附图中的说明性细节的限制。
附图说明
本发明的新颖特征在所附权利要求中阐述。但是,为了解释的目的,在以下图中阐述了本发明的几种实施例。
图1图示了具有在物理网络上实现的容器的逻辑网络的示例。
图2图示了具有在物理网络上实现的容器的逻辑网络中的控制器的示例。
图3概念性地图示了用于在容器VM级别将容器添加到逻辑网络的过程。
图4图示了将容器添加到逻辑网络的逻辑转发元件的示例。
图5概念性地图示了用于在主机机器级别将容器添加到逻辑网络的过程。
图6图示了将容器添加到逻辑网络的逻辑转发元件的示例。
图7图示了为不同的逻辑转发元件添加容器的示例。
图8图示了逻辑网络和物理网络之间的映射的示例。
图9概念性地图示了用于处理通过逻辑网络来自容器的数据消息的过程。
图10图示了通过逻辑网络转发来自容器的数据消息的示例。
图11图示了通过逻辑网络转发来自容器的数据消息的另一个示例。
图12概念性地图示了用于处理通过逻辑网络去往容器的数据消息的过程。
图13图示了通过逻辑网络接收用于容器的数据消息的示例。
图14概念性地图示了实现本发明的一些实施例的计算机系统。
具体实施方式
在本发明的以下详细描述中,阐述和描述了本发明的许多细节、示例和实施例。但是,对本领域技术人员来说将清楚和显而易见的是,本发明不限于所阐述的实施例,并且本发明可以在没有所讨论的一些具体细节和示例的情况下实践。
当容器在容器VM内的客户系统上运行时,网络虚拟化系统必须将容器VM与物理容器主机相同对待。所有的网络转发和服务必须由客户系统在容器VM内部进行。网络虚拟化系统在每个容器VM中安装和控制数据平面组件、控制平面组件和管理平面组件,以便实现虚拟化网络服务、进行L2/L3流量转发、向容器接口应用配置的策略、以及甚至为虚拟化网络设置隧道(例如VXLAN隧道)。
在许多情况下,配置客户系统来执行网络转发和服务是低效的并且使用于虚拟环境中的所有应用的统一联网解决方案的实现复杂化,因为联网解决方案需要在客户系统和管理程序两者中复制和管理相同的功能。在VM和管理程序两者中管理服务和组件不必要地使网络虚拟化系统复杂化,并且在一些情况下需要容器VM中的转发元件的特殊支持(例如,对在容器VM中终止的VXLAN隧道的支持)。当大量容器VM被部署在单个管理程序上时,可能在这些VM中的每一个VM中复制相同的功能(例如,设置相同的VXLAN隧道),并且网络虚拟化系统无法在硬件卸载的情况下利用管理程序的优化,从而导致不必要地消耗了更多的物理(计算、存储器、网络带宽等)资源。
为了向虚拟机(VM)以及在另一个VM内执行的容器(例如,Linux容器,VM等)提供普遍适用的网络虚拟化平台,本发明的一些实施例提供了一种网络控制系统,用于定义连接在网络中的主机机器上运行的虚拟机(VM)以及在网络的主机机器之一上运行的另一个VM(即,容器VM)内运行的容器(例如,Linux容器、VM等)的逻辑网络。一些实施例的网络控制系统定义在逻辑上连接主机机器上的VM和在容器VM上运行的容器的逻辑网络的逻辑数据路径。在一些实施例中,网络控制系统包括管理在主机机器上且在容器VM内的转发元件以实现逻辑网络的控制器集合。
在一些实施例中,网络中的每个主机机器包括用于虚拟化主机机器的物理资源的虚拟化软件(例如,管理程序)和用于将网络流量(例如,数据消息)转发到虚拟机和从虚拟机转发网络流量的主机受管理的转发元件(MFE)。在一些实施例中,主机MFE在虚拟化软件内运行。此外,一些主机机器包括连接到主机MFE的一个或多个VM,其中一些VM可以是托管容器集合的容器VM。在一些实施例中,本地MFE在每个容器VM内运行,以便将数据消息转发到容器VM内托管的容器和从容器VM内托管的容器转发数据消息。
一些实施例的网络控制系统包括用于管理主机MFE和本地MFE的控制器集合。在一些实施例中,控制器集合配置主机MFE和本地MFE,以根据由网络的管理员配置的逻辑转发元件(例如,逻辑交换机、逻辑路由器),在逻辑上转发容器和VM的数据消息。一些实施例的控制器集合包括用于管理容器VM的本地MFE的本地VM控制器(LVC)集合、用于管理主机机器的主机MFE的本地主机控制器(LHC)集合、以及用于管理LHC和/或LVC以实现逻辑网络的逻辑转发元件(LFE)的集中式网络控制器(CNC)集合。
不同的控制器可以以不同的方式跨不同的机器分布,从而在与它们管理的元件相同的机器或分离的机器上运行。例如,一些实施例的LHC在具有主机MFE的主机机器上(例如,在虚拟化软件内)运行,而在其它实施例中,LHC在与主机机器分离的机器上运行并且通过网络与主机MFE通信。在一些实施例中,网络控制系统配置MFE(主机MFE和本地MFE两者),以便将容器VM的容器以及非容器VM附连到一个或多个LFE。
为了将容器附连到特定的LFE,一些实施例的LHC从在容器VM上运行的LVC接收关于容器VM的容器的容器信息。在一些实施例中,容器信息包括地址信息(例如,MAC地址、IP地址)以及在容器中运行的应用的应用状态数据。一些实施例的容器信息识别容器的本地标签值(例如,VLAN ID)到逻辑数据(例如,逻辑端口、LFE等)的映射。
在一些实施例中,映射向由容器VM的MFE实现的每个LFE(即,在容器VM中运行的容器之一所连接到的每个LFE)提供不同的本地标签值。在其它实施例中,不是向每个LFE分配本地标签值,而是本地控制器向容器VM上的每个容器分配不同的本地标签值,而与容器所关联的LFE无关。
基于接收到的容器信息,一些实施例的LHC将每个容器映射到特定LFE的逻辑端口。LHC使用本地标签值到LFE的逻辑端口的映射来配置主机MFE,以处理去往容器和来自容器的网络流量,并向发送到容器和从容器发送的网络流量应用逻辑策略,从而移除从本地MFE应用此类策略的责任。
对于发送到容器的数据消息,主机MFE基于与网络流量相关联的逻辑端口用本地标签值标记网络流量。例如,当主机MFE接收去往特定逻辑端口的数据消息时,主机MFE基于来自LHC的映射数据确定特定逻辑端口与特定本地标签值相关联,并且在将数据消息发送到容器VM之前用特定本地标签值标记数据消息。容器VM上的本地MFE被配置成基于本地标签值将数据消息转发到正确的目的地容器。
对于从容器接收到的数据消息,一些实施例的本地MFE(即,在容器VM上运行的MFE)被配置成用本地标签值标记数据消息,并将数据消息转发到主机MFE。主机MFE接收数据消息,并且基于本地标签值和/或唯一地址(例如,源MAC地址)识别与数据消息相关联的逻辑端口。主机MFE然后在通过逻辑网络转发数据消息之前向数据消息应用逻辑网络策略(例如,经由CNC从LHC接收到的策略)集合。一些实施例的逻辑网络策略(例如,防火墙策略、服务质量(QoS)策略、负载平衡等)在逻辑网络的多个级别(例如逻辑交换机端口、逻辑交换机、逻辑路由器端口等)处定义。应当理解的是,如本文所使用的术语“数据消息”可以指可以跨网络发送的各种格式化的比特的集合,诸如以太网帧、IP分组、TCP段、UDP数据报等。
在一些实施例中,不是在主机MFE处应用所有逻辑网络策略,而是网络控制系统在主机MFE和本地MFE之间分发一些逻辑处理。例如,一些实施例的本地MFE被配置成应用专用于容器VM上的容器之间的本地流量的逻辑网络策略。
在一些实施例中,LHC还实例化要添加到逻辑网络的新容器。一些实施例的LHC确定主机机器上是否有可用的合适的容器VM,如果没有,那么创建新的容器VM并初始化用于容器VM的本地MFE。在一些实施例中,LHC配置本地MFE以将来自容器的所有流量转发到主机MFE。
以上描述介绍了用于将容器添加到逻辑网络的系统。下面描述几个更详细的实施例。第I部分描述了用于实现容器并将容器添加到逻辑网络的网络控制系统的示例。第II部分描述了将容器添加到逻辑网络的示例。第III部分描述了在网络中转发用于容器的网络流量的示例。最后,第IV部分描述了实现本发明的一些实施例的电子系统。
I.网络控制系统
图1图示了包括作为终端机器运行的VM和容器两者的逻辑转发元件以及该逻辑网络的物理实现的示例。特别地,该图概念性地图示了具有逻辑转发元件的物理实现102的示例的两个逻辑转发元件105和110。这些逻辑转发元件可以是相同逻辑网络(例如,由该图中未示出的逻辑路由器连接的两个逻辑交换机)或完全不同的逻辑网络(例如,由两个不同租户拥有的逻辑网络)的一部分,
逻辑配置100示出了耦合到虚拟机VM1、VM2和VM7以及耦合到容器C1-C3的逻辑转发元件(LFE)A 105。逻辑配置100还示出了耦合到虚拟机VM3、VM4和VM8以及容器C4-C5的LFE B110。一些实施例的LFE A和B属于容纳物理网络102的数据中心的不同租户。在其它实施例中,LFE A和B可以是用于单个租户的逻辑上分离的转发元件。每个LFE允许不同的VM和容器运行,就好像它们都附连到单个转发元件一样,而与底层物理网络102的实际连接和拓扑无关。
物理实现102包括提供各种容器和VM以实现LFE 105和110的三个主机机器120、123和126。主机机器120、123和126分别包括虚拟化软件(未示出)和主机受管理的转发元件(MFE)140、143和146,主机受管理的转发元件在一些实施例中在相应主机的虚拟化软件内运行。主机MFE中的每一个(例如,经由通过物理网络基础设施的隧道)连接到其它主机机器的MFE以及连接到在相应主机机器上托管的VM。
一些实施例的主机MFE 140、143和146可以包括以不同方式(例如,流条目、配置指令等)管理的几种不同类型的受管理的转发元件(例如,基于流的软件转发元件(诸如OpenvSwitch(OVS))、基于特征的软件转发元件(诸如VMWareTM ESX Server)等)。此外,一些实施例包括在主机机器之外运行但是(以基于流的方式或者基于特征的方式)执行主机MFE的操作的硬件受管理的转发元件。一些实施例的流条目存储在MFE的转发表中,以定义用于通过MFE转发数据消息(例如,以太网帧、IP分组、TCP段、UDP数据报等)的规则。流条目包括要由数据消息报头匹配的条件集合以及要对与该条件集合匹配的数据消息执行的动作(例如,丢弃、转发、修改等)集合。一些实施例的主机MFE还可以连接到网关(未示出)和用于将逻辑网络连接到其它外部物理网络(例如,互联网、内联网等)的其它网络元件。
主机机器120、123和126还包括在其相应的主机机器的虚拟化软件之上运行的几个VM。VM1和VM5在主机机器120上运行,VM2和VM6在主机机器123上运行,并且VM7和VM8在主机机器126上运行。如图所示,一些VM直接连接到物理和逻辑转发元件两者(例如,作为逻辑转发元件的终端机器的VM1、VM2、VM7和VM8),而其它VM(例如,VM5和VM6)附连到物理网络102的主机MFE,但没有直接在逻辑转发元件105和110中表示。
VM5和VM6是容器VM的示例,其将容器(例如,虚拟机、应用等)集合虚拟化。例如,VM5托管容器C1-C5,容器C1-C5提供在VM5的内核上运行但除此以外彼此隔离的环境。VM6托管VM3和VM4,它们提供可以各自在VM6内虚拟化的其自己的操作系统上运行的环境。在该申请中,这些虚拟化环境将被称为容器,但是对本领域技术人员应当清楚的是,容器可以指许多不同类型的虚拟化环境中的任何一种。不同实施例的主机机器可以托管容器VM、非容器VM(即,不将容器虚拟化并且通常作为逻辑网络的终端机器运行的VM)、或者两者的某种组合。
在一些实施例中,容器被配置在逻辑转发元件中,而不引用其托管容器VM。即,容器VM的接口在逻辑网络中没有对应物,而是作为该容器VM的物理实现的一部分。相反,容器通过其连接到它的逻辑转发元件的所配置的逻辑接口映射到到其本地MFE的物理容器的物理(例如,虚拟)接口。直接在其主机的虚拟化软件上托管的每个VM(例如,VM1、容器VM6)具有到其主机MFE的主要接口(例如,VM6到主机MFE 143的连接),而在容器VM内托管的容器(例如,VM3、C1)具有到其容器VM内的本地MFE的次要接口。在容器VM5和VM6的情况下,它们的主要接口也分别连接到本地MFE 150和155的端口。
容器VM5和VM6的本地MFE 150和155与主机MFE一起工作,以执行发送到容器和来自容器的网络流量的逻辑处理。在不同的实施例中,本地MFE可以是桥接器、软件虚拟交换机(例如,Open vSwitch(OVS))、或者可以标记和转发网络数据的其他简单转发元件。一些实施例在主机MFE和本地MFE之间分发逻辑处理,从而允许本地MFE处理数据消息的一些处理和转发。由于容器中存在隔离和安全性的潜在问题,因此在一些情况下,容器VM上的本地MFE不能被完全信任。特别地,可能难以保护在容器VM上运行的容器的安全,因此本地MFE有可能被损坏。但是,由于VM的安全性已经被长期建立和测试,因此容器VM中的受损容器将不太可能会影响主机机器上的其它VM。为了提高网络控制系统中的安全性,网络控制系统的一些实施例将每个不同的VM或主机视为单独的安全域,使得仅属于单个租户(例如,单个逻辑网络)的容器在给定的VM内运行。
通过为每个容器VM识别单独的安全域,系统能够将由受损容器引起的问题隔离到容器VM和单个租户。在一些这样的实施例中,主机MFE强制执行用于隔离不同租户的所有网络策略,而本地MFE主要用于在逻辑上划分单个租户的网络(例如,在租户逻辑网络的终端机器之间,在逻辑网络的不同逻辑转发元件之间),以向单个租户提供隔离。
在主机MFE和本地MFE之间分发逻辑处理的优点之一是避免传回(hairpinning)的能力,其中,当源容器和目的地容器两者都在本地MFE上的数据消息被发出到主机MFE、被处理、并且然后被向下发送回到本地MFE以被发送到目的地容器时,发生传回。传回可以在本地MFE和主机MFE之间的网络上产生额外的拥塞。但是,在主机MFE和本地MFE之间分发逻辑处理可能需要在每个容器VM上安装更强大且可配置的MFE(例如,支持将在容器VM中终止的VXLAN隧道的MFE)。
在一些实施例(例如,VEPA、VN-Tag等)中,在容器VM内部不执行流量转发,并且主要在主机MFE处维护逻辑处理。本地MFE仅负责用本地标签值来标记来自容器的所有数据消息以识别用于源容器的LFE,并将数据消息传递到主机MFE进行逻辑处理。一些这样的实施例的本地MFE是简单地标记来自容器的所有网络流量并将其转发到主机MFE的简单桥接器。
在主机MFE中维护逻辑处理的另一个优点是它减少了冗余和资源浪费。随着处理能力和虚拟化使用的增加,单个主机可能具有几个容器VM,每个容器VM都具有其自己的本地MFE。当在每个本地MFE中执行逻辑处理时,一些这样的实施例的网络控制系统需要在每个容器VM中安装和控制数据平面组件、控制平面组件和管理平面组件,从而不必要地消耗了更多的物理(计算、存储器、网络带宽等)资源。
如所提到的,在一些实施例中,网络控制器集合管理MFE,以使MFE实现逻辑网络的逻辑转发元件。图2图示了一些实施例的网络控制系统202中的不同网络控制器的示例。如图所示,网络控制系统202管理物理网络实现102的MFE集合。该网络控制系统202包括集中式网络控制器(CNC)210、本地主机控制器(LHC)220、223和226、以及本地VM控制器(LVC)230和235。
CNC 210维护一个或多个逻辑网络的高层抽象,并且在高层表达式中计算策略和转发表。在一些实施例中,CNC的责任可以分布在控制器集群上。高层抽象然后被分布到本地控制器(例如,LHC 220、223和226、以及LVC 230和235),从而用受管理的转发元件卸载编程到在主机上运行的本地控制器的低层数据平面。高层计算和低层计算的分离在一些实施例中通过将复杂度分布到本地控制器来提高可扩展性。在一些实施例中,CNC 210管理主机120、123和126的LHC 220、223和226,以向LHC提供逻辑网络数据。
一些实施例的LHC 220、223和226管理主机MFE 140、143和146,以基于从CNC 210接收到的逻辑网络数据来实现逻辑网络策略(例如,L2/L3流量转发、隧道建立、ACL策略等)。例如,在一些实施例中,LHC或主机MFE设置与远程管理程序的隧道(例如,VXLAN或STT),该远程管理程序托管连接到相同LFE(例如,连接主机MFE 140、143和146的隧道)的主机VM或容器。一些实施例的LHC 220、223和226还与容器VM5和VM6的LVC 230和235通信,以管理本地MFE并且接收关于在容器VM5和VM6上托管的容器的信息。
在一些实施例中,LVC是与LHC一起工作以对VM中的容器启用网络虚拟化的轻量级本地控制器。一些实施例的LVC 230和235配置本地MFE 150和155,以标记和转发在容器VM上运行的容器的数据消息。在一些实施例中,LVC 230和235还基于从LHC 220和223接收到的配置数据配置本地MFE 150和155,以对容器VM的容器之间的数据消息执行一些逻辑处理。
在不同的实施例中,网络控制系统的各种控制器可以以不同的方式彼此通信。在一些实施例中,CNC直接与LHC和LBC两者通信,而在其它实施例中,CNC仅与LHC通信,LHC然后与其本地LVC通信。在一些实施例中,LVC使用虚拟化软件和容器VM之间的专用通信接口(例如,虚拟机通信接口(VMCI))与LHC通信。可替代地或结合地,网络控制系统的不同控制器可以使用控制平面协议进行通信,以通过MFE或通过控制器之间的其它信道发送控制平面数据消息。
控制器也可能需要在它们自身之间传递不同类型的信息。例如,一些实施例的LVC将来自容器VM的映射信息传递到LHC,以使得LHC能够配置主机MFE,以解释来自容器VM上的容器的数据消息标签中的上下文。在一些实施例中,LVC向CNC、LHC或向其它主机机器的LHC提供应用运行时状态(例如,用户ID、应用类型等)或容器运行时状态(例如,容器接口链路状态、MAC等),以便计算应该被更新到MFE和网络的其它元件(例如,网关)的网络策略(例如防火墙规则)和转发表(例如VXLAN MAC-VTEP映射)。在一些实施例中,CNC用本地容器运行时状态填充主机MFE上的LFE的转发表以及远程管理程序上的其它主机MFE的转发表。
在图1和图2的示例中,LHC中的每一个用于管理耦合到VM集合(其中每个VM在特定主机上执行)的软件主机MFE。但是,在一些实施例中,这些元件中的一些或全部是在单独的计算设备上执行的硬件元件或软件元件。例如,在一些实施例中,LHC作为在与主机MFE和VM相同的计算设备上的应用运行,而在其它实施例中,LHC在与MFE和VM分离的计算设备上运行。在一些实施例中,MFE耦合到物理主机集合而不是VM集合,其中每个物理主机在单独的计算设备上运行。一些实施例的MFE是专用的硬件转发元件(例如,顶架式(top of rack,ToR)交换机)、或者硬件MFE与软件MFE的组合。
II.将容器添加到逻辑网络
当被配置用于逻辑网络的容器被添加到物理网络时,MFE也需要被配置成处理去往这些容器和来自这些容器的逻辑网络流量。图3概念性地图示了用于在容器VM级别将容器添加到逻辑网络的一些实施例的过程。在一些实施例中,过程300由托管要添加到逻辑网络的容器集合的容器VM上的LVC执行。
如图所示,过程300通过识别(在305处)与新容器相关联的LFE开始。在一些实施例中,基于从CNC或LHC(用作CNC和LVC之间的中介)接收到的用于容器的联网配置来识别LFE。在一些实施例中,新容器由单独的计算控制器进程或由LVC本身在容器VM上实例化。可以在物理网络(例如,物理数据中心)中实现的新逻辑网络的初始启动期间创建新容器,或者在不同的实施例中,新容器可以是对已经运行的逻辑网络的新的添加。
然后,过程300发送(在310处)对用于识别出的新容器的LFE的标签值的请求,并且在响应中接收(在320处)用于LFE的标签值。在一些实施例中,LVC向外部标签分配控制器发送对用于LFE的标签值的请求。在不同的实施例中,标签分配控制器可以是维护可用标签(例如,VLAN标签)池并按需分配标签的单独的控制器、可以在与CNC相同的机器中运行、或者可以在主机机器上运行(每个主机机器都具有单独的标签分配控制器)。在一些情况下,标签分配控制器为每个容器VM维护单独的标签值集合;即,不同的LFE可以在不同容器VM上接收不同的标签值,因为标签的使用被本地化到容器VM上的本地MFE与主机MFE之间的连接。此外,相同的LFE可能在不同的容器VM上映射到不同的标签值。
在一些实施例中,在接收到对标签值的请求时,标签分配控制器确定LFE是否已经被分配标签值,并且如果需要,那么分配新的标签。在一些实施例中,如果LVC已经处理了用于相同LFE上的容器的数据消息,那么不向标签分配控制器发送请求。相反,LVC对现有的LFE重用相同的标签值。
在识别了用于新添加的容器的LFE的标签值之后,过程300然后将LFE和本地标签值之间的映射发送(在325处)到LHC。在一些实施例中,LVC直接与CNC通信,并且将映射发送到CNC而不是LHC,或者除LHC之外还发送到CNC。CNC和LHC使用映射来通过网络对用于容器的数据消息执行逻辑处理和网络转发,如下所述。
最后,过程300配置(在330处)容器VM的本地MFE以使用识别出的标签。具体而言,如以下部分更详细示出的,LVC将本地MFE配置成(1)在将数据消息发送到主机MFE之前,用识别出的标签值标记从新添加的容器接收到的数据消息,以及(2)将从主机MFE接收到的、具有识别出的标签值(以及新添加的容器的目的地地址)的传入数据消息分发到新添加的容器。
虽然在一些实施例中被示为单个本地MFE 150,但是一些实施例的容器VM将包括用于容器VM的每个LFE的单独的桥接器。每个桥接器连接到容器VM的网络接口(或被绑定以在容器VM的多个MFE端口上支持负载平衡的接口)和用于对应LFE的容器的容器接口。例如,在一些实施例中,LVC将本地MFE配置成通过为容器VM的每个LFE创建桥接器来标记数据消息,使得对于附连到每个桥接器的容器的网络流量用用于LFE的适当的标签值进行标记。在一些这样的实施例中,来自容器的所有流量都被发送到主机MFE进行处理。
在一些实施例中,LVC还将本地MFE配置成将从容器接收到的所有数据消息转发到主机MFE以用于进一步处理。在其它实施例中,LVC将本地MFE配置成针对对于容器VM保持本地(即,源容器和目的地容器都在容器VM内)的网络流量处理逻辑处理和网络转发的至少一部分,同时将所有其它流量转发到主机MFE以进行处理。
图4图示了在四个阶段401-404中将逻辑上连接到第一逻辑转发元件的容器添加到第一容器VM的示例。第一阶段401示出了包括本地主机控制器(LHC)220、主机MFE 140和容器VM 460的主机机器120。容器VM 460包括本地MFE 150、本地VM控制器(LVC)230和容器C1-C3。容器C1-C3被新添加到容器VM 460,并连接到逻辑网络的LFE A。
第二阶段402示出了LVC 230向标签分配控制器405发送对标签值的请求410。在一些实施例中,LVC检测新容器C1-C3的添加,或者由LHC、CNC或计算控制器通知新的添加。在一些实施例中,请求410包括与容器C1-C3相关联的LFE(LFE A)(即,表示LFE的UUID)。第二阶段402还示出了标签分配控制器405用新映射415来响应于请求410,新映射415将LFE A映射到标签值T1。
一些实施例的标签分配控制器405为在容器VM中运行的不同LFE中的每一个LFE分配不同的标签值(例如,VLAN ID)。在一些实施例中,标签分配控制器405为每个容器分配不同的标签值,而与容器连接到哪个LFE无关。例如,一些实施例的标签分配模块不是为所有容器C1-C3分配单个标签(即,标签1),而是为每个容器C1-C3分配不同的标签,即使它们在相同的LFE上。在一些这样的实施例中,LVC 230为三个容器C1-C3中的每一个向标签分配控制器405发送单独的标签请求。
一些实施例的标签分配控制器405是在与主机机器分离的机器上运行的外部控制器,而在其它实施例中,标签分配控制器是在容器VM 460内在主机机器120上执行的模块。例如,在一些实施例中,标签分配控制器是CNC的一部分,或者在与CNC(或分布式系统中的CNC之一)相同的物理机器上运行。
第三阶段403示出了一旦LVC 230接收到用于LFE A的标签值T1,LVC就向其LHC220发送LFE A与标签1的映射420。LHC使用映射420将主机MFE配置成执行对于去往容器C1-C3和来自容器C1-C3的网络流量的网络转发和逻辑处理。在一些实施例中,LVC还传送关于容器的其它信息(例如,MAC地址、父(或共享)VIF的名称(或任何唯一ID(例如,UUID))等)。在一些实施例中,LHC将映射和其它容器信息传送到CNC(未示出),使得CNC可以计算集成有容器信息的逻辑网络的状态。然后,CNC将逻辑网络状态数据分发到LHC,以管理主机机器上的主机MFE。
最后,第四阶段404示出了LVC 230然后配置在其容器VM中运行的本地MFE 150。在一些实施例中,LVC从LHC或CNC接收用于配置本地MFE以执行标记和逻辑处理的配置信息。由LVC 230进行的本地MFE 150的配置包括将本地MFE 150配置成:在将数据消息发送到主机MFE 140之前用标签T1标记从容器C1-C3中的任何一个接收到的数据消息,以及使用标签来识别从主机MFE 140接收到的分组属于LFE A。
图3和图4描述了从容器VM上的LVC的角度添加容器的过程。图5和图6随后从在主机机器(例如,图4中的主机机器120)的虚拟化软件内运行的LHC的角度来图示这些相同的操作。
图5概念性地图示了在主机控制器级别将容器添加到逻辑网络的一些实施例的过程。在一些实施例中,过程500由在主机机器上运行的LHC执行,以管理包含新添加的容器的容器VM所连接到的主机MFE。将参考图6描述过程500,图6示出了在三个阶段601-603中将容器添加到第一逻辑转发元件的示例。
过程500通过接收(在505处)用于已经在特定容器VM上(在本地主机机器上)被实例化的容器的网络配置开始,该特定容器VM具有在VM上运行的本地MFE。在一些实施例中,过程500从向物理网络中的LHC提供逻辑网络数据以实现逻辑网络的CNC接收用于容器的网络配置。在图6的第一阶段601中,LHC 220(主机机器上的控制器)从CNC 210接收用于容器C1-C3的网络配置620。一些实施例的网络配置数据包括在逻辑网络的上下文中用于容器C1-C3的逻辑网络策略(例如,防火墙、QoS、ACL等)、逻辑转发规则等。
在一些实施例中,接收到的网络配置是从数据中心中的租户接收到的向租户的逻辑网络添加新容器的指令的结果。基于从LVC接收到的容器信息,网络配置还可能来自物理网络中的变化(例如,当VM被添加到物理网络和被从物理网络移除时)。一些实施例的网络配置包括LFE信息(例如,与容器相关联的逻辑端口和LFE)以及用于容器的配置信息。如果容器C1-C3是在主机机器120上运行的逻辑网络的第一终端机器,那么网络配置数据可以包括用于配置主机MFE 140以实现该逻辑网络的所有必要信息(例如,用于逻辑网络中的其它终端机器的转发信息等)。
返回参考图5,过程500然后接收(在510处)LFE标签映射,该映射将逻辑网络的逻辑元件(例如,逻辑交换机、逻辑端口、LFE等)与分配给在托管新添加的容器的容器VM处的逻辑元件的标签值相关联。图6的第二阶段602图示了LHC 220从LVC 230接收映射620。映射620识别与容器C1-C3所连接到的LFE A相关联的标签值T1。在一些实施例中,LHC从管理容器VM的本地MFE的LVC接收用于容器的LFE标签映射,而在其它实施例中,连同网络配置一起,LHC从CNC接收LFE标签映射(例如,在CNC从LHC接收到映射之后)。
然后,过程500将主机MFE配置(在515处)成基于接收到的网络配置和映射对发送到容器和从容器发送的数据消息执行网络转发和其它逻辑处理。在一些实施例中,LHC通过基于接收到的网络配置和LFE标签映射生成被存储在主机MFE的转发表中的流条目以修改主机MFE的转发行为来配置主机MFE。在其它实施例中,LHC通过配置主机MFE的各种模块来配置主机MFE。
更具体而言,LHC将主机MFE配置成在将数据消息发送到容器VM的本地MFE之前,用适当的标签值标记去往容器的数据消息。LHC还将主机MFE配置成基于与容器相关联的逻辑元件对来自容器的数据消息执行逻辑处理。在一些实施例中,基于从LVC接收到的LFE标签映射,识别与容器相关联的逻辑元件。在下面的部分中更详细地描述数据消息的这种处理。
图6的第三阶段603示出了LHC 220配置主机MFE 140。LHC将主机MFE配置成用适当的标签值标记去往容器的数据消息,并基于与容器相关联的逻辑元件对来自容器的数据消息执行逻辑处理,如先前段落所描述的。
在一些实施例中,LHC 220基于从LVC 230和CNC 210接收到的要发送到LVC 230的LFE标签映射和逻辑网络信息生成本地MFE数据625。一些实施例的LVC 230使用本地MFE数据来配置本地MFE 150。在一些实施例中,所生成的本地MFE数据625包括由LVC 230存储在本地MFE 150的转发表中以控制本地MFE 150的转发行为的流条目集合。
图7图示了在四个阶段701-704中将逻辑上连接到第二逻辑转发元件的容器添加到相同容器VM 460的示例。第二逻辑转发元件可以是与第一逻辑转发元件相同的逻辑网络的一部分(例如,如果特定容器VM上的所有容器由于隔离原因而被要求是相同逻辑网络的一部分),或者可以是不同逻辑网络的一部分。第一阶段701类似于图6的第一阶段601,并且示出了具有LHC 220、主机MFE 140和容器VM 460的主机机器120。第一阶段701还示出了新容器C4和C5已被添加到本地MFE。但是,与附连到LFE A的容器C1-C3不同,容器C4和C5被附连到不同的LFE B。
在第二阶段702中,容器VM5的LVC 230与标签分配控制器605通信,以了解用于容器C4和C5的LFE的相关联的标签。由于容器4和5被附连到LFE B,因此标签分配控制器识别要与LFE B的容器C4和C5相关联的新标签T2。第三阶段703示出了LVC 230然后将LFE B与标签2的映射传送到LHC 220。LHC 220(和/或CNC(未示出))使用映射来使主机和本地MFE创建并实现逻辑网络策略。
在第四阶段704中,LHC 220修改主机MFE 140,并且基于接收到的映射向LVC 230提供本地MFE规则730。LVC 230基于本地MFE规则730修改本地MFE。一旦主机MFE和本地MFE已基于LFE标签映射被配置,主机MFE就基于标签值识别用于从容器VM460接收到的数据消息的相关联的逻辑元件,并相应地对数据消息执行逻辑处理。
除了将现有容器添加到逻辑网络之外,一些实施例的LHC还负责在物理网络中实例化新容器并将容器与逻辑网络的逻辑元件相关联。这些实施例中的一些实施例的LHC确定容器VM在主机机器上是否可用。当容器VM不可用时,一些实施例的LHC与VM生成模块(例如,Nova)通信以创建新容器VM。一些实施例的LHC然后与用于创建新容器的容器编排系统(例如Docker)通信,并将新容器连接到本地MFE。
在一些实施例中,LHC还与网络端口模块(例如,中子(Neutron))通信,以识别用于容器的新逻辑端口。一些实施例的LHC向网络端口模块发送创建端口请求,该创建端口请求具有标签名称、虚拟接口(VIF)名称(例如,VIF UUID)以及要向其添加容器的逻辑转发元件。然后,网络端口模块向逻辑转发元件分配逻辑端口。一旦容器被实例化并且与逻辑元件相关联,LHC就将容器添加到逻辑网络,如上所述。
如上所述,LHC(或CNC)使用逻辑元件(例如,逻辑端口、逻辑转发元件等)与标签值的映射来修改主机MFE和本地MFE。主机MFE基于相关联的标签值和接收到数据消息的主机MFE的物理端口,使用映射来识别入口数据消息的源LFE和逻辑端口。在一些实施例中,主机MFE使用主机MFE的物理端口和相关联的标签值来识别LFE,并且使用源容器的唯一地址(例如,MAC地址)来识别LFE内的逻辑端口。
图8图示了逻辑网络和物理网络之间的映射的示例。该图图示了图1的一对逻辑转发元件(例如,逻辑交换机)105和110以及实现这两个逻辑转发元件的物理网络802。LFE还示出了第一LFE 105的各种逻辑端口A1-A6和第二LFE 110的各种逻辑端口B1-B5。类似地,物理网络802的表示示出了用于主机MFE 140、143和146中的每一个的物理端口(例如,虚拟NIC、隧道端口)1-4、用于容器VM5上的本地MFE 150的物理端口1-6、以及用于容器VM6上的本地MFE 155的物理端口1-4。该图还图示了LFE和物理网络之间的映射850和855。
具体而言,映射表850示出了用于LFE A的逻辑端口和物理端口之间的映射。LFE A具有六个端口A1-A6,其分别连接到VM1、VM2、容器C1-C3和VM7。映射表850示出VM1、VM2和VM7分别通过物理端口MFE1:1、MFE2:2和MFE3:1直接连接到主机MFE 140、143和146。由于这些不具有本地MFE,因此没有与这些VM相关联的标签值。但是,容器C1-C3都连接到通过主机MFE140的端口2连接的本地MFE 150。这些容器中的每一个的流量与标签值T1相关联。
类似地,映射表855示出了LFE B的逻辑端口和物理端口之间的映射。LFE B具有分别连接到VM3、VM4、容器C4和C5以及VM8的五个端口B1-B5。映射表855示出VM8通过MFE3的物理端口1直接连接到主机MFE 146。容器C4和C5像容器C1-C3一样连接到本地MFE 150,本地MFE 150通过端口2连接到主机MFE140。但是,当容器C4和C5与LFE B相关联时,这些容器中的每一个的流量与不同的标签值T2相关联。此外,VM3和VM4在容器VM6内被虚拟化。VM3和VM4连接到本地MFE 155,本地MFE155通过端口3连接到主机MFE 143。像容器C4和C5一样,VM3和VM4的流量与标签值T2相关联。即,在一些实施例中,相同的标签值用于不同容器VM上的特定逻辑转发元件。但是,在其它实施例中,可能使用与用于容器C4和C5的标签值不同的标签值来用于去往VM3和VM4的流量和来自VM3和VM4的流量。
III.转发容器网络流量
一旦容器已被映射到逻辑网络中的逻辑端口,一些实施例的CNC就生成用于通过受管理的转发元件实现逻辑网络的逻辑网络状态数据。本地控制器(例如,LHC和LVC)接收逻辑网络状态数据并修改其受管理的转发元件的转发行为。这时,MFE可以处理发送到容器和来自容器的逻辑网络流量。
图9概念性地图示了用于转发由容器通过逻辑网络发送的网络流量的过程。一些实施例的过程900由已被LHC配置成根据逻辑网络策略转发容器流量的主机MFE执行。将参考图10描述过程900,图10图示了通过逻辑网络转发来自容器的数据消息的示例。如第一阶段1001中所示,这些阶段中的每个阶段图示连接到网络1050(即,通过其在主机MFE 140和其它MFE之间维护隧道的数据中心的物理基础设施)和容器VM 460的主机MFE 140。容器VM460包括本地MFE 150和容器C1-C5。在这个示例中,C1-C3被附连到LFE A,而C4和C5被附连到LFE B(如先前部分的示例中一样)。
返回参考图9,过程900从本地MFE接收(在905处)具有本地标签的数据消息。图10的第一阶段1001图示了本地MFE 150从容器C1接收数据消息1010。数据消息包括有效载荷、目的地MAC地址和源MAC地址(潜在地在其它报头字段当中)。有效载荷表示发送到目的地的数据,可能包括较高层(例如IP、TCP、应用层等)报头。源MAC地址(C1)是发送方容器C1的地址,而目的地MAC地址(99)识别数据消息1010所寻址到的机器(例如,逻辑路由器端口、相同逻辑交换机上的其他机器)。本地MFE 150基于例如容器C1所附连到的本地MFE 150的端口,用本地标签值T1标记数据消息1010。
第二阶段1002示出了本地MFE 150将现在包括标签值T1(其可以是例如在层2报头中的VLAN标签)的数据消息发送到主机MFE 140。主机MFE 140接收数据消息1010。第三阶段1003示出了主机MFE 140已接收到数据消息1010。在一些实施例中,主机MFE 140通过在数据消息对象1020的元数据和/或寄存器字段中存储信息(例如,逻辑端口、MAC地址、其它报头数据等)来处理接收到的数据消息。
过程900接下来基于本地标签来识别(在910处)数据消息所属的LFE。在第三阶段1003中,主机MFE 140已基于数据消息的标签(T1)识别出LFE A的源逻辑端口(A3)。在一些实施例中,主机MFE基于LFE标签映射来识别用于数据消息的LFE,并且基于{LFE,入口端口,源MAC}与逻辑端口映射来识别用于数据消息的逻辑端口。在一些实施例中,映射各自特定于MFE的特定端口。例如,主机MFE基于(1)接收到数据消息的主机MFE的物理端口、(2)逻辑转发元件(基于本地标签值确定的)、以及(3)数据消息的源MAC地址来识别用于数据消息的逻辑端口。一些实施例的主机MFE 140基于包括本地标签值和逻辑实体之间的各种映射的映射表集合来识别逻辑数据。如第三阶段中所示,主机MFE 140将逻辑入口端口(A3)存储在数据消息对象1020的字段中。虽然数据消息对象1020仅显示用于数据消息1010的逻辑入口端口,但是一些实施例的数据消息对象1020的寄存器/元数据字段存储关于数据消息1010的各种其它信息(例如,分组处理的当前阶段、中间逻辑处理上下文信息等)。
在过程900识别用于数据消息的LFE之后,过程900基于识别出的LFE来应用(在915处)策略,并且通过逻辑网络转发(在920处)数据消息。在一些实施例中,在主机MFE 140处执行的策略和逻辑转发由LHC基于从CNC接收到的逻辑网络数据生成。在一些实施例中,按照逻辑实体(例如,逻辑交换机端口、逻辑交换机、逻辑路由器端口等)定义逻辑处理,以便主机MFE通过逻辑网络处理分组(例如,识别LFE的入口端口,然后将分组转发到逻辑出口端口(其可以对应于其他逻辑转发元件)),主机MFE应用适当的逻辑网络策略。图10的第三阶段1003图示了主机MFE基于识别出用于消息的逻辑入口端口A3在入口端口级别应用逻辑策略。
除了在逻辑上转发数据消息之外,一些实施例的主机MFE还基于逻辑处理将数据消息物理地转发到其目的地。除非目的地位于相同的主机机器上,否则主机MFE将数据消息发出到物理基础设施(例如,经由隧道)。这可能需要将数据消息发送到其他主机机器或网关(该网关连接到其上实现逻辑网络的物理基础设施之外的外部物理网络)。在第四阶段1004中,主机MFE 140已移除本地标签并将数据消息1010转发到网络。替代本地标签,MFE已添加逻辑上下文信息(具体而言,基于逻辑处理确定的逻辑出口端口)。
在一些情况下,来自一个容器的数据消息去往相同容器VM上的其他容器。图11图示了在四个阶段1101-1104中通过逻辑网络将来自容器的数据消息转发到相同容器VM上的其他容器的示例。除了数据消息1110被寻址到相同容器VM 460上的其他容器(C3),而不是在主机之外实现的其他机器之外,第一阶段1101类似于图10的第一阶段1001。在这个示例中,即使数据消息的目的地在容器VM 460上,数据消息1110仍然被转发到主机MFE。在一些其它实施例中,根本不将数据消息转发到主机MFE,而是网络控制系统将逻辑处理的部分分布到容器VM的本地MFE,使得本地MFE可以在每个容器VM的容器之间转发所有本地流量。
第二阶段1102示出了主机MFE 140已接收到(用LFE A的T1标记的)标记数据消息,并且在数据消息对象1120中存储用于数据消息1110的数据消息信息(源逻辑端口A3)。主机MFE 140基于通过其接收到数据消息的端口、附连到数据消息的本地标签以及数据消息的源MAC地址来识别逻辑入口端口(A3)。第二阶段还示出了主机MFE 140执行逻辑处理(例如,逻辑转发),并对数据消息1110应用策略。
第三阶段1103图示了主机MFE已通过对数据消息执行逻辑转发来识别用于数据消息的逻辑出口端口(A5)。即,目的地MAC地址C3映射到数据消息在逻辑上所转发到的逻辑端口A5。由此,在第三阶段1103处,主机MFE 140基于该逻辑端口信息向数据消息应用出口策略。
第四阶段1104示出了由于逻辑出口端口A5也在该相同逻辑转发元件上,因此主机MFE 140已用标签值T1重新标记数据消息1110。另一方面,如果数据消息通过到其他逻辑转发元件(例如,LFE B)的逻辑路由器被处理,那么数据消息将用不同的标签值进行标记。由于目的地容器在容器VM 460上,因此主机MFE 140将数据消息1110向下发送回本地MFE150。本地MFE 150然后基于标签T2和目的地MAC识别要将数据消息1110转发到的容器,并将数据消息递送给适当的容器C3。将参考图12和图13更详细地描述向下到容器的数据消息的逻辑处理和转发。
图12概念性地图示了用于对去往容器的数据消息执行逻辑处理的一些实施例的过程1200。一些实施例的过程1200由具有在容器VM上运行的容器的主机机器的主机MFE执行。将参考图13描述过程1200,图13图示了在主机处接收并寻址到在该主机上运行的容器的数据消息的示例。
如图所示,过程1200通过接收(在1205处)具有逻辑上下文标签的数据消息开始。在一些实施例中,该逻辑上下文标签识别与在连接到主机MFE的容器VM上运行的容器对应的(逻辑转发元件)的逻辑出口端口。在一些实施例中,该逻辑出口端口可能已由第一主机MFE确定以处理数据消息(例如,图10中的主机MFE)。图13的第一阶段1301示出了主机MFE140从其与物理基础设施1050的连接(例如,经由隧道从网关或其他主机MFE)接收数据消息1310。数据消息1310包括有效载荷(PLD)、源MAC地址和目的地MAC地址。此外,数据消息包括指定由第一跳MFE确定的逻辑出口端口的逻辑上下文数据(如果分组源自容器,那么不算本地MFE)。
过程1200基于存储在数据消息中的逻辑上下文向数据消息应用(在1210处)策略。图13的第二阶段1302示出了主机MFE 140已接收到具有逻辑上下文信息的数据消息1310,并且将逻辑上下文信息中的一些(即,目的地逻辑端口A3)存储在数据消息对象1320中,数据消息对象1320是为在数据消息的处理期间的使用而创建的。第二阶段还示出了主机MFE140执行逻辑处理并对数据消息1310应用策略。在这种情况下,逻辑处理主要需要识别指定的逻辑出口端口映射到与本地MFE连接的主机MFE的物理端口。
过程1200从数据消息中移除(在1215处)逻辑上下文标签,从而从数据消息中移除所有逻辑网络信息。这允许逻辑网络对接收分组的容器和本地MFE是透明的。
过程1200还将本地标签添加(在1220处)到数据消息。一些实施例的主机MFE基于存储在数据消息对象1320中的逻辑上下文来识别本地标签(例如,通过将逻辑出口端口所属的逻辑转发元件映射到特定本地标签)。最后,过程1200将数据消息递送(在1225处)给容器VM。在一些实施例中,容器VM上的本地MFE然后将数据消息转发到目的地容器。
图13的第三阶段1303示出了主机MFE 140已在将分组发送到容器VM 460上的本地MFE 150之前从分组中移除了逻辑上下文,并且添加了本地标签T1(其映射到逻辑出口端口所属的LFE A)。在第四阶段1304中,本地MFE 150接收数据消息1310、移除本地标签T1、并且基于本地标签T1和目的地MAC地址C1将分组转发到目的地容器C1。
IV.电子系统
许多上述特征和应用被实现为软件过程,该软件过程被指定为记录在计算机可读存储介质(也被称为计算机可读介质)上的指令集合。当这些指令由一个或多个处理单元(例如,一个或多个处理器、处理器的核心、或其它处理单元)执行时,它们使该(一个或多个)处理单元执行指令中指示的动作。计算机可读介质的示例包括,但不限于,CD-ROM、闪存驱动器、RAM芯片、硬盘驱动器、EPROM等。计算机可读介质不包括无线地或通过有线连接传递的载波和电子信号。
在本说明书中,术语“软件”是指包括驻留在只读存储器中的固件或者可以被读入到存储器中以由处理器处理的存储在磁贮存器中的应用。此外,在一些实施例中,多个软件发明可以被实现为更大程序的子部分,同时保持明显的软件发明。在一些实施例中,多个软件发明也可以被实现为单独的程序。最后,一起实现本文所描述的软件发明的单独程序的任意组合是在本发明的范围之内。在一些实施例中,当软件程序被安装以在一个或多个电子系统上运行时,该软件程序定义执行该软件程序的操作的一个或多个特定的机器实现。
图14概念性地图示了实现本发明的一些实施例的计算机系统1400。计算机系统1400可以用于实现任何上述主机、控制器和管理器。因此,它可以用于执行任何上述过程。该计算机系统包括各种类型的非瞬态机器可读介质和用于各种其它类型的机器可读介质的接口。计算机系统1400包括总线1405、(一个或多个)处理单元1410、系统存储器1425、只读存储器1430、永久存储机器1435、输入机器1440和输出机器1445。
总线1405共同地表示通信地连接计算机系统1400的众多内部机器的所有系统、外围设备和芯片组总线。例如,总线1405将(一个或多个)处理单元1410与只读存储器1430、系统存储器1425和永久存储机器1435通信地连接。
从这些各种存储器单元中,(一个或多个)处理单元1410检索要执行的指令和要处理的数据,以便执行本发明的过程。(一个或多个)处理单元在不同实施例中可以是单个处理器或多核心处理器。只读存储器(ROM)1430存储由(一个或多个)处理单元1410和计算机系统的其它模块所需的静态数据和指令。另一方面,永久存储机器1435是读和写存储器机器。这种机器是即使当计算机系统1400关闭时也存储指令和数据的非易失性存储器单元。本发明的一些实施例使用大容量存储机器(诸如磁盘或光盘及其对应的盘驱动器)作为永久存储机器1435。
其它实施例使用可移除存储机器(诸如软盘、闪存驱动器等)作为永久存储机器。与永久存储机器1435一样,系统存储器1425是读和写存储器机器。但是,与存储机器1435不同,系统存储器是易失性的读和写存储器,诸如随机存取存储器。系统存储器存储处理器在运行时需要的一些指令和数据。在一些实施例中,本发明的过程被存储在系统存储器1425、永久存储机器1435和/或只读存储器1430中。从这些各种存储器单元中,(一个或多个)处理单元1410检索要执行的指令和要处理的数据,以便执行一些实施例的过程。
总线1405还连接到输入和输出机器1440和1445。输入机器使用户能够向计算机系统传送信息和选择命令。输入机器1440包括字母数字键盘和指点机器(也被称为“光标控制机器”)。输出机器1445显示由计算机系统生成的图像。输出机器包括打印机和显示机器,诸如阴极射线管(CRT)或液晶显示器(LCD)。一些实施例包括诸如用作输入机器和输出机器两者的触摸屏的机器。
最后,如图14所示,总线1405还通过网络适配器(未示出)将计算机系统1400耦合到网络1465。以这种方式,计算机可以是计算机的网络(诸如局域网(“LAN”)、广域网(“WAN”)、或内联网、或网络的网络(诸如互联网))的一部分。计算机系统1400的任何或所有组件可以与本发明结合使用。
一些实施例包括电子组件,诸如微处理器、在机器可读或计算机可读介质(可替代地称为计算机可读存储介质、机器可读介质或机器可读存储介质)中存储计算机程序指令的贮存器和存储器。这种计算机可读介质的一些示例包括RAM、ROM、只读压缩盘(CD-ROM)、可记录压缩盘(CD-R)、可重写压缩盘(CD-RW)、只读数字多功能盘(例如,DVD-ROM,双层DVD-ROM)、各种可记录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪存存储器(例如,SD卡、小型SD卡、微型SD卡等)、磁和/或固态硬盘驱动器、只读和可记录盘、超密度光盘、任何其它光或磁介质、以及软盘。计算机可读介质可以存储可由至少一个处理单元执行的并且包括用于执行各种操作的指令集合的计算机程序。计算机程序或计算机代码的示例包括诸如由编译器产生的机器代码,以及包括由计算机、电子组件、或利用解释器的微处理器执行的更高级代码的文件。
虽然以上讨论主要指执行软件的微处理器或多核心处理器,但是一些实施例由一个或多个集成电路来执行,诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。在一些实施例中,这种集成电路执行在该电路自身上存储的指令。
如在本说明书中所使用的,术语“计算机”、“服务器”、“处理器”、以及“存储器”都是指电子或其它技术机器。这些术语不包括人或人群。为了本说明书的目的,术语“显示”或“正在显示”意味着在电子机器上显示。如本说明书中所使用的,术语“计算机可读介质”、“多个计算机可读介质”和“机器可读介质”被完全限制为以由计算机可读的形式存储信息的、有形的、物理的对象。这些术语不包括任何无线信号、有线下载信号、以及任何其它短暂或瞬态信号。
虽然本发明已经参考许多特定细节进行了描述,但是本领域普通技术人员将认识到的是,在不脱离本发明的精神的情况下,本发明可以以其它特定形式体现。例如,本说明书贯穿全文参考包括虚拟机(VM)的计算和网络环境。但是,虚拟机仅仅是数据计算节点(DCN)或数据计算终端节点(也被称为可寻址节点)的一个示例。DCN可以包括非虚拟化物理主机、虚拟机、在主机操作系统之上运行而不需要管理程序或单独的操作系统的容器、以及管理程序内核网络接口模块。
在一些实施例中,VM使用由虚拟化软件(例如,管理程序、虚拟机监视器等)虚拟化的主机的资源,与主机上其自己的客户操作系统一起运行。租户(即VM的所有者)可以选择在客户操作系统之上要运行哪些应用。另一方面,一些容器是在主机操作系统之上运行而不需要管理程序或单独的客户操作系统的结构。在一些实施例中,主机操作系统使用名称空间将容器彼此隔离,并且因此提供在不同容器内运行的不同应用组的操作系统级别隔离。这种隔离类似于在将系统硬件虚拟化的管理程序虚拟化环境中提供的VM隔离,并且因此可以被视为隔离在不同容器中运行的不同应用组的一种虚拟化形式。这种容器比VM更轻巧。
在一些实施例中,管理程序内核网络接口模块是包括具有管理程序内核网络接口和接收/发送线程的网络堆栈的非-VM DCN。管理程序内核网络接口模块的一个示例是作为VMware公司的ESXiTM管理程序的一部分的vmknic模块。
本领域普通技术人员将认识到,虽然本说明书提到VM,但是给出的示例可以是任何类型的DCN,包括物理主机、VM、非-VM容器和管理程序内核网络接口模块。事实上,在一些实施例中,示例网络可以包括不同类型的DCN的组合。
许多图(例如,图3、图5、图9和图12)概念性地示出了过程。这些过程的具体操作可能没有以所示出和描述的确切顺序执行。具体操作可能没有在一系列连续的操作中执行,并且不同的具体操作可能在不同的实施例中执行。此外,过程可以使用若干子过程来实现,或者作为更大的宏过程的一部分来实现。鉴于上述,本领域普通技术人员将理解,本发明不受上述说明性细节的限制,而是由所附权利要求来限定。
Claims (17)
1.一种用于在主机计算机上执行的第一受管理的转发元件MFE的方法,所述方法包括:
接收数据消息,所述数据消息包括识别特定逻辑转发元件的逻辑端口的逻辑上下文标签,所述特定逻辑转发元件由在多个主机计算机上执行的多个MFE实现;
基于所述逻辑上下文标签,将本地标签添加到所述数据消息,所述本地标签与特定容器相关联,所述特定容器属于所述特定逻辑转发元件,其中所述特定容器是在连接到第一MFE的第一虚拟机上执行的多个容器中的一个容器;以及
在没有任何逻辑上下文的情况下,将所述数据消息连同所述本地标签递送给第一虚拟机,其中在第一虚拟机上运行的第二MFE使用所述本地标签将所述数据消息转发到在第一虚拟机上运行的所述多个容器中的所述特定容器。
2.如权利要求1所述的方法,其中所述数据消息是以太网帧、IP分组、TCP段和UDP数据报之一。
3.如权利要求1所述的方法,其中所述本地标签包括VLAN标签。
4.如权利要求1所述的方法,其中所述本地标签包括MPLS标签。
5.如权利要求1所述的方法,其中所述容器用于隔离在每个容器内运行的服务或应用。
6.如权利要求1所述的方法,其中在没有任何逻辑上下文的情况下将所述数据消息递送给所述第一虚拟机包括:移除所述逻辑上下文标签。
7.如权利要求1所述的方法,其中所述数据消息是第一数据消息,所述本地标签是第一本地标签,所述逻辑上下文标签是第一逻辑上下文标签,以及所述特定逻辑转发元件是第一逻辑转发元件,所述方法还包括:
接收第二数据消息,第二数据消息包括识别第二逻辑转发元件的逻辑端口的第二逻辑上下文标签;
基于第二逻辑上下文标签,将第二本地标签添加到第二数据消息,第二本地标签与第二逻辑转发元件相关联,其中第二逻辑转发元件是在第一虚拟机上运行的一个或多个容器所属的多个逻辑转发元件之一;以及
在没有任何逻辑上下文的情况下,将第二数据消息递送给第一虚拟机。
8.如权利要求1所述的方法,其中未托管容器的至少第二虚拟机也连接到第一MFE。
9.一种用于在主机计算机上执行的第一受管理的转发元件MFE的方法,所述方法包括:
在主机计算机上,从第一虚拟机上运行的第二MFE接收数据消息,其中多个容器在容器虚拟机上执行,所述第一虚拟机连接到第一MFE的接口,所接收的数据消息包括由第二MFE添加到所接收的数据消息的本地标签;
将所述本地标签映射到逻辑转发元件LFE,以处理一个或多个容器的所接收的数据消息,所述LFE由在多个主机计算机上执行的多个MFE实现,其中所接收的数据消息的源是在第一虚拟机上执行、所述逻辑转发元件为其处理所述数据消息的容器;
根据所述逻辑转发元件的配置,向所接收的数据消息应用策略集合;以及
通过所述逻辑转发元件所属的逻辑网络转发所接收的数据消息。
10.如权利要求9所述的方法,其中第一虚拟机用作多个容器的主机。
11.如权利要求10所述的方法,其中所接收的数据消息是第一数据消息,并且第一MFE耦合到不用作任何容器的主机的其他虚拟机的集合,所述方法还包括:从所述其他虚拟机的集合中的第二虚拟机接收第二数据消息,并且根据所述逻辑转发元件的配置,向第二数据消息应用所述策略集合。
12.如权利要求9所述的方法,还包括:从网络控制器接收所述逻辑转发元件的配置,其中根据所述配置修改第一MFE的转发行为。
13.如权利要求12所述的方法,其中,根据第一MFE和耦合到所述逻辑转发元件的其它终端机器的第三MFE之间的配置建立隧道。
14.如权利要求12所述的方法,其中第一MFE是在主机计算机上执行的软件虚拟转发元件,并且所述网络控制器在同一主机计算机上执行。
15.一种存储程序的机器可读介质,当所述程序由至少一个处理单元执行时,执行如权利要求1-14中任何一项所述的方法。
16.一种电子设备,包括:
处理单元集合;以及
存储程序的机器可读介质,当所述程序由处理单元中的至少一个处理单元执行时,实现如权利要求1-14中任何一项所述的方法。
17.一种用于第一受管理的转发元件MFE的系统,包括用于实现如权利要求1-14中任何一项所述的方法的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110629170.6A CN113360247A (zh) | 2015-05-17 | 2016-05-16 | 对容器的逻辑处理 |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562162774P | 2015-05-17 | 2015-05-17 | |
US62/162,774 | 2015-05-17 | ||
US14/839,746 US9558029B2 (en) | 2015-05-17 | 2015-08-28 | Logical processing for containers |
US14/839,746 | 2015-08-28 | ||
US14/839,754 | 2015-08-28 | ||
US14/839,754 US9971624B2 (en) | 2015-05-17 | 2015-08-28 | Logical processing for containers |
PCT/US2016/032802 WO2016187168A1 (en) | 2015-05-17 | 2016-05-16 | Logical processing for containers |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110629170.6A Division CN113360247A (zh) | 2015-05-17 | 2016-05-16 | 对容器的逻辑处理 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107646103A CN107646103A (zh) | 2018-01-30 |
CN107646103B true CN107646103B (zh) | 2021-06-15 |
Family
ID=57276022
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110629170.6A Pending CN113360247A (zh) | 2015-05-17 | 2016-05-16 | 对容器的逻辑处理 |
CN201680027855.0A Active CN107646103B (zh) | 2015-05-17 | 2016-05-16 | 对容器的逻辑处理 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110629170.6A Pending CN113360247A (zh) | 2015-05-17 | 2016-05-16 | 对容器的逻辑处理 |
Country Status (4)
Country | Link |
---|---|
US (6) | US9558029B2 (zh) |
EP (2) | EP4336805A3 (zh) |
CN (2) | CN113360247A (zh) |
WO (1) | WO2016187168A1 (zh) |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9571331B1 (en) * | 2012-11-21 | 2017-02-14 | Amazon Technologies, Inc. | Techniques for accessing local networks via a virtualized gateway |
US9794379B2 (en) | 2013-04-26 | 2017-10-17 | Cisco Technology, Inc. | High-efficiency service chaining with agentless service nodes |
US9660909B2 (en) | 2014-12-11 | 2017-05-23 | Cisco Technology, Inc. | Network service header metadata for load balancing |
USRE48131E1 (en) | 2014-12-11 | 2020-07-28 | Cisco Technology, Inc. | Metadata augmentation in a service function chain |
US11350254B1 (en) | 2015-05-05 | 2022-05-31 | F5, Inc. | Methods for enforcing compliance policies and devices thereof |
US9558029B2 (en) * | 2015-05-17 | 2017-01-31 | Nicira, Inc. | Logical processing for containers |
US9722948B2 (en) * | 2015-06-26 | 2017-08-01 | Nicira, Inc. | Providing quality of service for containers in a virtualized computing environment |
US10476845B2 (en) | 2015-06-26 | 2019-11-12 | Nicira, Inc. | Traffic handling for containers in a virtualized computing environment |
US9667725B1 (en) * | 2015-08-06 | 2017-05-30 | EMC IP Holding Company LLC | Provisioning isolated storage resource portions for respective containers in multi-tenant environments |
US10871981B2 (en) | 2015-11-01 | 2020-12-22 | Nicira, Inc. | Performing logical network functionality within data compute nodes |
US10063469B2 (en) | 2015-12-16 | 2018-08-28 | Nicira, Inc. | Forwarding element implementation for containers |
US9998371B2 (en) * | 2015-12-16 | 2018-06-12 | Nicira, Inc. | Packet communication between container data compute nodes and a managed forwarding element |
US11757946B1 (en) * | 2015-12-22 | 2023-09-12 | F5, Inc. | Methods for analyzing network traffic and enforcing network policies and devices thereof |
US10824463B1 (en) * | 2016-03-05 | 2020-11-03 | Virtuozzo International Gmbh | Hybrid storage for virtual machines and containers |
US10187306B2 (en) | 2016-03-24 | 2019-01-22 | Cisco Technology, Inc. | System and method for improved service chaining |
US10931793B2 (en) | 2016-04-26 | 2021-02-23 | Cisco Technology, Inc. | System and method for automated rendering of service chaining |
US10419550B2 (en) | 2016-07-06 | 2019-09-17 | Cisco Technology, Inc. | Automatic service function validation in a virtual network environment |
US10382597B2 (en) * | 2016-07-20 | 2019-08-13 | Cisco Technology, Inc. | System and method for transport-layer level identification and isolation of container traffic |
US10218616B2 (en) | 2016-07-21 | 2019-02-26 | Cisco Technology, Inc. | Link selection for communication with a service function cluster |
US10320664B2 (en) | 2016-07-21 | 2019-06-11 | Cisco Technology, Inc. | Cloud overlay for operations administration and management |
US10225270B2 (en) | 2016-08-02 | 2019-03-05 | Cisco Technology, Inc. | Steering of cloned traffic in a service function chain |
US10218593B2 (en) | 2016-08-23 | 2019-02-26 | Cisco Technology, Inc. | Identifying sources of packet drops in a service function chain environment |
US10742746B2 (en) | 2016-12-21 | 2020-08-11 | Nicira, Inc. | Bypassing a load balancer in a return path of network traffic |
CN107070691B (zh) * | 2017-01-12 | 2020-01-21 | 阿里巴巴集团控股有限公司 | Docker容器的跨主机通信方法和系统 |
US10530747B2 (en) * | 2017-01-13 | 2020-01-07 | Citrix Systems, Inc. | Systems and methods to run user space network stack inside docker container while bypassing container Linux network stack |
US10356048B2 (en) * | 2017-03-17 | 2019-07-16 | Verizon Patent And Licensing Inc. | Container deployment for a network |
EP3379413A1 (en) * | 2017-03-21 | 2018-09-26 | Nokia Solutions and Networks Oy | Optimization of a software image layer stack |
US10225187B2 (en) | 2017-03-22 | 2019-03-05 | Cisco Technology, Inc. | System and method for providing a bit indexed service chain |
US10678935B2 (en) * | 2017-04-11 | 2020-06-09 | Nicira, Inc. | Identifying container file events for providing container security |
US10884807B2 (en) | 2017-04-12 | 2021-01-05 | Cisco Technology, Inc. | Serverless computing and task scheduling |
US10257033B2 (en) | 2017-04-12 | 2019-04-09 | Cisco Technology, Inc. | Virtualized network functions and service chaining in serverless computing infrastructure |
US10333855B2 (en) | 2017-04-19 | 2019-06-25 | Cisco Technology, Inc. | Latency reduction in service function paths |
US10554689B2 (en) | 2017-04-28 | 2020-02-04 | Cisco Technology, Inc. | Secure communication session resumption in a service function chain |
US11343237B1 (en) | 2017-05-12 | 2022-05-24 | F5, Inc. | Methods for managing a federated identity environment using security and access control data and devices thereof |
US10439987B2 (en) * | 2017-06-12 | 2019-10-08 | Ca, Inc. | Systems and methods for securing network traffic flow in a multi-service containerized application |
US10735275B2 (en) | 2017-06-16 | 2020-08-04 | Cisco Technology, Inc. | Releasing and retaining resources for use in a NFV environment |
US10798187B2 (en) | 2017-06-19 | 2020-10-06 | Cisco Technology, Inc. | Secure service chaining |
US10505758B2 (en) * | 2017-07-06 | 2019-12-10 | Huawei Technologies Co., Ltd. | Systems and methods for sharing network interfaces between containers in an embedded computing device |
US10397271B2 (en) | 2017-07-11 | 2019-08-27 | Cisco Technology, Inc. | Distributed denial of service mitigation for web conferencing |
US10673698B2 (en) | 2017-07-21 | 2020-06-02 | Cisco Technology, Inc. | Service function chain optimization using live testing |
US11063856B2 (en) | 2017-08-24 | 2021-07-13 | Cisco Technology, Inc. | Virtual network function monitoring in a network function virtualization deployment |
US10791065B2 (en) | 2017-09-19 | 2020-09-29 | Cisco Technology, Inc. | Systems and methods for providing container attributes as part of OAM techniques |
US11018981B2 (en) | 2017-10-13 | 2021-05-25 | Cisco Technology, Inc. | System and method for replication container performance and policy validation using real time network traffic |
US10541893B2 (en) | 2017-10-25 | 2020-01-21 | Cisco Technology, Inc. | System and method for obtaining micro-service telemetry data |
CN109922001A (zh) * | 2017-12-12 | 2019-06-21 | 中国移动通信集团公司 | 一种流量处理方法、设备、装置及计算机可读存储介质 |
US10666612B2 (en) | 2018-06-06 | 2020-05-26 | Cisco Technology, Inc. | Service chains for inter-cloud traffic |
US10942788B2 (en) | 2018-06-15 | 2021-03-09 | Vmware, Inc. | Policy constraint framework for an sddc |
US10812337B2 (en) | 2018-06-15 | 2020-10-20 | Vmware, Inc. | Hierarchical API for a SDDC |
US10904342B2 (en) | 2018-07-30 | 2021-01-26 | Cisco Technology, Inc. | Container networking using communication tunnels |
US10996972B2 (en) | 2018-09-25 | 2021-05-04 | Microsoft Technology Licensing, Llc | Multi-tenant support on virtual machines in cloud computing networks |
US11252192B1 (en) | 2018-09-28 | 2022-02-15 | Palo Alto Networks, Inc. | Dynamic security scaling |
US11467934B2 (en) * | 2018-12-31 | 2022-10-11 | Lenovo (Singapore) Pte. Ltd. | Diagnostic scan |
US11146964B2 (en) | 2019-02-22 | 2021-10-12 | Vmware, Inc. | Hierarchical network slice selection |
US11483762B2 (en) | 2019-02-22 | 2022-10-25 | Vmware, Inc. | Virtual service networks |
US11246087B2 (en) | 2019-02-22 | 2022-02-08 | Vmware, Inc. | Stateful network slice selection using slice selector as connection termination proxy |
US11108643B2 (en) | 2019-08-26 | 2021-08-31 | Vmware, Inc. | Performing ingress side control through egress side limits on forwarding elements |
CN110727653B (zh) * | 2019-10-12 | 2023-06-16 | 广州华多网络科技有限公司 | 多项目负载均衡方法和装置 |
WO2021196080A1 (en) | 2020-04-01 | 2021-10-07 | Vmware Information Technology (China) Co., Ltd. | Auto deploying network elements for heterogeneous compute elements |
JP7434039B2 (ja) * | 2020-04-08 | 2024-02-20 | キヤノン株式会社 | 情報処理装置、及び情報処理装置におけるコンテナとプロセスとの間の通信を制御する制御方法 |
US11915025B2 (en) * | 2020-07-10 | 2024-02-27 | Vmware, Inc. | System and method to support port mapping for virtual machine based container |
EP4183119A1 (en) | 2020-07-14 | 2023-05-24 | Oracle International Corporation | Virtual layer-2 network |
US11606294B2 (en) | 2020-07-16 | 2023-03-14 | Vmware, Inc. | Host computer configured to facilitate distributed SNAT service |
US11616755B2 (en) | 2020-07-16 | 2023-03-28 | Vmware, Inc. | Facilitating distributed SNAT service |
US11263041B2 (en) * | 2020-07-20 | 2022-03-01 | Vmware, Inc. | Managing configuration and sensitive data for workloads in a virtualized computing system |
US11611613B2 (en) | 2020-07-24 | 2023-03-21 | Vmware, Inc. | Policy-based forwarding to a load balancer of a load balancing cluster |
US11902050B2 (en) | 2020-07-28 | 2024-02-13 | VMware LLC | Method for providing distributed gateway service at host computer |
US11451413B2 (en) * | 2020-07-28 | 2022-09-20 | Vmware, Inc. | Method for advertising availability of distributed gateway service and machines at host computer |
US11803408B2 (en) | 2020-07-29 | 2023-10-31 | Vmware, Inc. | Distributed network plugin agents for container networking |
US11863352B2 (en) | 2020-07-30 | 2024-01-02 | Vmware, Inc. | Hierarchical networking for nested container clusters |
US11652743B2 (en) | 2020-12-30 | 2023-05-16 | Oracle International Corporation | Internet group management protocol (IGMP) of a layer-2 network in a virtualized cloud environment |
US11836551B2 (en) | 2021-03-05 | 2023-12-05 | Vmware, Inc. | Active and standby RICs |
US20220283839A1 (en) | 2021-03-05 | 2022-09-08 | Vmware, Inc. | Direct access to hardware accelerator in an o-ran system |
US11606254B2 (en) | 2021-06-11 | 2023-03-14 | Vmware, Inc. | Automatic configuring of VLAN and overlay logical switches for container secondary interfaces |
CN113285843B (zh) * | 2021-07-23 | 2021-10-22 | 中航金网(北京)电子商务有限公司 | 容器网络配置方法、装置、计算机可读介质及电子设备 |
US20230231741A1 (en) | 2022-01-14 | 2023-07-20 | Vmware, Inc. | Per-namespace ip address management method for container networks |
US11848910B1 (en) | 2022-11-11 | 2023-12-19 | Vmware, Inc. | Assigning stateful pods fixed IP addresses depending on unique pod identity |
US11838176B1 (en) | 2022-12-19 | 2023-12-05 | Vmware, Inc. | Provisioning and deploying RAN applications in a RAN system |
US11831511B1 (en) | 2023-01-17 | 2023-11-28 | Vmware, Inc. | Enforcing network policies in heterogeneous systems |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101809943A (zh) * | 2007-09-24 | 2010-08-18 | 英特尔公司 | 用于虚拟端口通信的方法和系统 |
US20130044636A1 (en) * | 2011-08-17 | 2013-02-21 | Teemu Koponen | Distributed logical l3 routing |
US20130263118A1 (en) * | 2012-03-29 | 2013-10-03 | International Business Machines Corporation | Emulating a data center network on a single physical host with support for virtual machine mobility |
US20150016469A1 (en) * | 2013-07-12 | 2015-01-15 | Nicira, Inc. | Maintaining Data Stored with a Packet |
Family Cites Families (112)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE504085C2 (sv) | 1995-02-01 | 1996-11-04 | Greg Benson | Sätt och system för att hantera dataobjekt i enlighet med förutbestämda villkor för användare |
US7555562B2 (en) * | 2002-06-27 | 2009-06-30 | Alcatel Lucent | Method and apparatus for mirroring traffic over a network |
US7516487B1 (en) | 2003-05-21 | 2009-04-07 | Foundry Networks, Inc. | System and method for source IP anti-spoofing security |
US7392543B2 (en) | 2003-06-30 | 2008-06-24 | Symantec Corporation | Signature extraction system and method |
US7436775B2 (en) | 2003-07-24 | 2008-10-14 | Alcatel Lucent | Software configurable cluster-based router using stock personal computers as cluster nodes |
JP2008523769A (ja) | 2004-12-13 | 2008-07-03 | テルコーディア テクノロジーズ インコーポレイテッド | アドホックネットワークのための軽いパケット廃棄検出 |
JP4713902B2 (ja) | 2005-03-01 | 2011-06-29 | 株式会社日立製作所 | ストレージシステム |
CN1881916B (zh) | 2005-06-17 | 2012-07-04 | 腾讯科技(深圳)有限公司 | 一种在通信设备间实现通信的方法及装置 |
US7499719B2 (en) * | 2005-06-22 | 2009-03-03 | Mototola, Inc. | Method and apparatus for mixed mode multimedia conferencing |
US7971256B2 (en) | 2005-10-20 | 2011-06-28 | Cisco Technology, Inc. | Mechanism to correlate the presence of worms in a network |
JP4622835B2 (ja) | 2005-12-07 | 2011-02-02 | 株式会社日立製作所 | 仮想計算機システム及びそのネットワーク通信方法 |
US7890755B2 (en) * | 2006-02-28 | 2011-02-15 | The Boeing Company | High-assurance web-based configuration of secure network server |
WO2008052291A2 (en) | 2006-11-03 | 2008-05-08 | Intelliguard I.T. Pty Ltd | System and process for detecting anomalous network traffic |
US8250645B2 (en) | 2008-06-25 | 2012-08-21 | Alcatel Lucent | Malware detection methods and systems for multiple users sharing common access switch |
US8112801B2 (en) | 2007-01-23 | 2012-02-07 | Alcatel Lucent | Method and apparatus for detecting malware |
US8190778B2 (en) | 2007-03-06 | 2012-05-29 | Intel Corporation | Method and apparatus for network filtering and firewall protection on a secure partition |
US8055789B2 (en) | 2007-03-27 | 2011-11-08 | Amazon Technologies, Inc. | Configuring intercommunications between computing nodes |
US8204955B2 (en) * | 2007-04-25 | 2012-06-19 | Miovision Technologies Incorporated | Method and system for analyzing multimedia content |
US8984504B2 (en) | 2007-06-22 | 2015-03-17 | Red Hat, Inc. | Method and system for determining a host machine by a virtual machine |
US7983265B1 (en) | 2008-01-17 | 2011-07-19 | Qlogic, Corporation | Method and system for processing a network packet |
CA2661398C (en) | 2008-04-05 | 2016-05-17 | Third Brigade Inc. | System and method for intelligent coordination of host and guest intrusion prevention in virtualized environment |
US8577845B2 (en) * | 2008-06-13 | 2013-11-05 | Symantec Operating Corporation | Remote, granular restore from full virtual machine backup |
US8031612B2 (en) | 2008-09-11 | 2011-10-04 | Intel Corporation | Altering operation of a network interface controller based on network traffic |
US7991016B2 (en) | 2009-01-06 | 2011-08-02 | Alcatel-Lucent Usa Inc. | High availability clock synchronization and distribution for mobile backhaul networks |
US8893009B2 (en) | 2009-01-28 | 2014-11-18 | Headwater Partners I Llc | End user device that secures an association of application to service policy with an application certificate check |
CA3204215A1 (en) * | 2009-04-01 | 2010-10-07 | Nicira, Inc. | Method and apparatus for implementing and managing virtual switches |
US10419722B2 (en) * | 2009-04-28 | 2019-09-17 | Whp Workflow Solutions, Inc. | Correlated media source management and response control |
US8254261B2 (en) | 2009-10-16 | 2012-08-28 | Oracle America, Inc. | Method and system for intra-host communication |
US8635632B2 (en) * | 2009-10-21 | 2014-01-21 | International Business Machines Corporation | High performance and resource efficient communications between partitions in a logically partitioned system |
US9836466B1 (en) * | 2009-10-29 | 2017-12-05 | Amazon Technologies, Inc. | Managing objects using tags |
CN102158386B (zh) | 2010-02-11 | 2015-06-03 | 威睿公司 | 系统管理程序级的分布式负载平衡 |
US9141580B2 (en) | 2010-03-23 | 2015-09-22 | Citrix Systems, Inc. | Systems and methods for monitoring and maintaining consistency of a configuration |
US9680750B2 (en) | 2010-07-06 | 2017-06-13 | Nicira, Inc. | Use of tunnels to hide network addresses |
US8798077B2 (en) | 2010-12-29 | 2014-08-05 | Juniper Networks, Inc. | Methods and apparatus for standard protocol validation mechanisms deployed over a switch fabric system |
JP5614293B2 (ja) | 2011-01-12 | 2014-10-29 | 富士通株式会社 | 通信制御装置、通信システム、情報処理装置および通信制御方法 |
US8725898B1 (en) | 2011-03-17 | 2014-05-13 | Amazon Technologies, Inc. | Scalable port address translations |
US8683466B2 (en) | 2011-05-24 | 2014-03-25 | Vmware, Inc. | System and method for generating a virtual desktop |
US9450873B2 (en) | 2011-06-28 | 2016-09-20 | Microsoft Technology Licensing, Llc | Performance isolation for clouds |
US8908507B2 (en) * | 2011-07-21 | 2014-12-09 | Movik Networks | RAN analytics, control and tuning via multi-protocol, multi-domain, and multi-RAT analysis |
US20130034094A1 (en) | 2011-08-05 | 2013-02-07 | International Business Machines Corporation | Virtual Switch Data Control In A Distributed Overlay Network |
US8856518B2 (en) | 2011-09-07 | 2014-10-07 | Microsoft Corporation | Secure and efficient offloading of network policies to network interface cards |
US9178833B2 (en) | 2011-10-25 | 2015-11-03 | Nicira, Inc. | Chassis controller |
WO2013074855A1 (en) | 2011-11-15 | 2013-05-23 | Nicira, Inc. | Control plane interface for logical middlebox services |
US8863129B2 (en) * | 2011-12-06 | 2014-10-14 | International Business Machines Corporation | Automated caching and mirroring of immutable data in distributed virtual machines via native interface components |
US8966479B2 (en) * | 2012-02-10 | 2015-02-24 | Vmware, Inc. | Application-specific data in-flight services along a communication path selected based on a DIF services policy associated with a VM |
EP2955886B1 (en) | 2012-04-18 | 2020-05-06 | Nicira Inc. | Using transactions to compute and propagate network forwarding state |
US8565718B1 (en) * | 2012-05-16 | 2013-10-22 | Alcatel Lucent | Method and apparatus for classifying mobile network usage patterns |
EP3451587B1 (en) * | 2012-06-06 | 2021-04-28 | Juniper Networks, Inc. | Creating searchable and global database of user visible process traces |
US9898317B2 (en) | 2012-06-06 | 2018-02-20 | Juniper Networks, Inc. | Physical path determination for virtual network packet flows |
US9100289B2 (en) | 2012-11-02 | 2015-08-04 | Juniper Networks, Inc. | Creating searchable and global database of user visible process traces |
US20140007087A1 (en) | 2012-06-29 | 2014-01-02 | Mark Scott-Nash | Virtual trusted platform module |
PL2896159T3 (pl) * | 2012-09-17 | 2020-06-29 | Netsweeper (Barbados) Inc. | Mapowanie adresu sieciowego oraz nazwy hosta w usługach zasad |
US9454392B2 (en) | 2012-11-27 | 2016-09-27 | Red Hat Israel, Ltd. | Routing data packets between virtual machines using shared memory without copying the data packet |
US9417922B2 (en) | 2012-12-03 | 2016-08-16 | Cutting Edge Consulting Associates, Inc. | Systems and methods for protecting an identity in network communications |
KR20140088340A (ko) | 2013-01-02 | 2014-07-10 | 한국전자통신연구원 | 오픈플로우 스위치에서의 디도스 공격 처리 장치 및 방법 |
WO2014130807A1 (en) * | 2013-02-21 | 2014-08-28 | Fastly Inc. | Dynamic secure packet block sizing |
US9350657B2 (en) | 2013-07-08 | 2016-05-24 | Nicira, Inc. | Encapsulating data packets using an adaptive tunnelling protocol |
US9571386B2 (en) | 2013-07-08 | 2017-02-14 | Nicira, Inc. | Hybrid packet processing |
US9197529B2 (en) | 2013-07-12 | 2015-11-24 | Nicira, Inc. | Tracing network packets through logical and physical networks |
US9952885B2 (en) * | 2013-08-14 | 2018-04-24 | Nicira, Inc. | Generation of configuration files for a DHCP module executing within a virtualized container |
US9548965B2 (en) * | 2013-08-26 | 2017-01-17 | Nicira, Inc. | Proxy methods for suppressing broadcast traffic in a network |
US9503371B2 (en) * | 2013-09-04 | 2016-11-22 | Nicira, Inc. | High availability L3 gateways for logical networks |
US9577845B2 (en) * | 2013-09-04 | 2017-02-21 | Nicira, Inc. | Multiple active L3 gateways for logical networks |
US20150100560A1 (en) | 2013-10-04 | 2015-04-09 | Nicira, Inc. | Network Controller for Managing Software and Hardware Forwarding Elements |
US9575782B2 (en) | 2013-10-13 | 2017-02-21 | Nicira, Inc. | ARP for logical router |
US9686180B2 (en) | 2013-11-05 | 2017-06-20 | Cisco Technology, Inc. | Managing routing information for tunnel endpoints in overlay networks |
US9397946B1 (en) | 2013-11-05 | 2016-07-19 | Cisco Technology, Inc. | Forwarding to clusters of service nodes |
US9124536B2 (en) | 2013-12-12 | 2015-09-01 | International Business Machines Corporation | Managing data flows in overlay networks |
US9813474B2 (en) * | 2014-03-07 | 2017-11-07 | Ericsson Ab | ABR video white spot coverage system and method |
US9225597B2 (en) * | 2014-03-14 | 2015-12-29 | Nicira, Inc. | Managed gateways peering with external router to attract ingress packets |
US9313129B2 (en) * | 2014-03-14 | 2016-04-12 | Nicira, Inc. | Logical router processing by network controller |
US9419855B2 (en) * | 2014-03-14 | 2016-08-16 | Nicira, Inc. | Static routes for logical routers |
US9590901B2 (en) | 2014-03-14 | 2017-03-07 | Nicira, Inc. | Route advertisement by managed gateways |
JP2015177071A (ja) * | 2014-03-14 | 2015-10-05 | 株式会社東芝 | 半導体装置の製造方法 |
US9647883B2 (en) * | 2014-03-21 | 2017-05-09 | Nicria, Inc. | Multiple levels of logical routers |
US9893988B2 (en) | 2014-03-27 | 2018-02-13 | Nicira, Inc. | Address resolution using multiple designated instances of a logical router |
US10516740B2 (en) * | 2014-05-30 | 2019-12-24 | Apple Inc. | Dynamic transport switching in inter-device communication |
US10261814B2 (en) * | 2014-06-23 | 2019-04-16 | Intel Corporation | Local service chaining with virtual machines and virtualized containers in software defined networking |
US9692698B2 (en) | 2014-06-30 | 2017-06-27 | Nicira, Inc. | Methods and systems to offload overlay network packet encapsulation to hardware |
US9454497B2 (en) | 2014-08-15 | 2016-09-27 | Intel Corporation | Technologies for secure inter-virtual-machine shared memory communication |
US10481933B2 (en) | 2014-08-22 | 2019-11-19 | Nicira, Inc. | Enabling virtual machines access to switches configured by different management entities |
US9723009B2 (en) | 2014-09-09 | 2017-08-01 | Oracle International Corporation | System and method for providing for secure network communication in a multi-tenant environment |
US9495192B2 (en) | 2014-09-30 | 2016-11-15 | Vmware, Inc. | NUMA I/O aware network queue assignments |
US11178051B2 (en) | 2014-09-30 | 2021-11-16 | Vmware, Inc. | Packet key parser for flow-based forwarding elements |
US11347637B2 (en) * | 2014-10-30 | 2022-05-31 | Kioxia Corporation | Memory system and non-transitory computer readable recording medium |
US9961105B2 (en) | 2014-12-31 | 2018-05-01 | Symantec Corporation | Systems and methods for monitoring virtual networks |
US10129180B2 (en) * | 2015-01-30 | 2018-11-13 | Nicira, Inc. | Transit logical switch within logical router |
US9930010B2 (en) | 2015-04-06 | 2018-03-27 | Nicira, Inc. | Security agent for distributed network security system |
US9558029B2 (en) | 2015-05-17 | 2017-01-31 | Nicira, Inc. | Logical processing for containers |
US10142204B2 (en) | 2015-07-27 | 2018-11-27 | Datagrid Systems, Inc. | Techniques for evaluating server system reliability, vulnerability and component compatibility using crowdsourced server and vulnerability data |
US9819581B2 (en) | 2015-07-31 | 2017-11-14 | Nicira, Inc. | Configuring a hardware switch as an edge node for a logical router |
US9847938B2 (en) | 2015-07-31 | 2017-12-19 | Nicira, Inc. | Configuring logical routers on hardware switches |
US10841268B2 (en) * | 2015-08-04 | 2020-11-17 | Vmware, Inc. | Methods and apparatus to generate virtual war rooms via social media in enterprise network environments |
US20170093677A1 (en) | 2015-09-25 | 2017-03-30 | Intel Corporation | Method and apparatus to securely measure quality of service end to end in a network |
US9998324B2 (en) | 2015-09-30 | 2018-06-12 | Nicira, Inc. | Logical L3 processing for L2 hardware switches |
US10230576B2 (en) | 2015-09-30 | 2019-03-12 | Nicira, Inc. | Managing administrative statuses of hardware VTEPs |
US10871981B2 (en) | 2015-11-01 | 2020-12-22 | Nicira, Inc. | Performing logical network functionality within data compute nodes |
US10129201B2 (en) | 2015-12-09 | 2018-11-13 | Bluedata Software, Inc. | Management of domain name systems in a large-scale processing environment |
US10063469B2 (en) | 2015-12-16 | 2018-08-28 | Nicira, Inc. | Forwarding element implementation for containers |
US9998371B2 (en) | 2015-12-16 | 2018-06-12 | Nicira, Inc. | Packet communication between container data compute nodes and a managed forwarding element |
WO2017117195A1 (en) * | 2015-12-28 | 2017-07-06 | Ephesus Lighting, Inc. | System and method for control of an illumination device |
US10506022B2 (en) * | 2016-04-20 | 2019-12-10 | Nicira, Inc. | Configuration change realization assessment and timeline builder |
US9532004B1 (en) * | 2016-05-12 | 2016-12-27 | Google Inc. | Animated user identifiers |
US10423790B2 (en) * | 2016-08-09 | 2019-09-24 | Nicira, Inc. | Intelligent identification of stressed machines for data security management |
US9805595B1 (en) * | 2016-10-27 | 2017-10-31 | International Business Machines Corporation | Vehicle and non-vehicle traffic flow control |
US10127943B1 (en) * | 2017-03-02 | 2018-11-13 | Gopro, Inc. | Systems and methods for modifying videos based on music |
JP6859898B2 (ja) * | 2017-08-25 | 2021-04-14 | 株式会社島津製作所 | 移動型放射線撮影装置 |
US10848461B2 (en) * | 2018-01-26 | 2020-11-24 | Nicira, Inc. | Unified security policies across virtual private clouds with overlapping IP address blocks |
US10897453B2 (en) * | 2018-01-26 | 2021-01-19 | Nicira, Inc. | Providing networking and security to workloads via a control virtual private cloud shared across multiple virtual private clouds |
KR101922928B1 (ko) * | 2018-02-21 | 2018-11-28 | 유지씨 주식회사 | 지식재산권을 기반으로 하는 공사 업체 연결시스템 |
US10454824B2 (en) * | 2018-03-01 | 2019-10-22 | Nicira, Inc. | Generic communication channel for information exchange between a hypervisor and a virtual machine |
US11431781B1 (en) * | 2021-05-10 | 2022-08-30 | Cisco Technology, Inc. | User-defined quality of experience (QoE) prioritizations |
-
2015
- 2015-08-28 US US14/839,746 patent/US9558029B2/en active Active
- 2015-08-28 US US14/839,754 patent/US9971624B2/en active Active
-
2016
- 2016-05-16 CN CN202110629170.6A patent/CN113360247A/zh active Pending
- 2016-05-16 CN CN201680027855.0A patent/CN107646103B/zh active Active
- 2016-05-16 WO PCT/US2016/032802 patent/WO2016187168A1/en active Application Filing
- 2016-05-16 EP EP24152805.8A patent/EP4336805A3/en active Pending
- 2016-05-16 EP EP16728142.7A patent/EP3298487B1/en active Active
-
2018
- 2018-04-22 US US15/959,252 patent/US10671424B2/en active Active
-
2020
- 2020-05-18 US US16/877,264 patent/US11347537B2/en active Active
-
2022
- 2022-05-30 US US17/827,925 patent/US11748148B2/en active Active
-
2023
- 2023-07-27 US US18/226,773 patent/US20230367622A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101809943A (zh) * | 2007-09-24 | 2010-08-18 | 英特尔公司 | 用于虚拟端口通信的方法和系统 |
US20130044636A1 (en) * | 2011-08-17 | 2013-02-21 | Teemu Koponen | Distributed logical l3 routing |
US20130263118A1 (en) * | 2012-03-29 | 2013-10-03 | International Business Machines Corporation | Emulating a data center network on a single physical host with support for virtual machine mobility |
US20150016469A1 (en) * | 2013-07-12 | 2015-01-15 | Nicira, Inc. | Maintaining Data Stored with a Packet |
Also Published As
Publication number | Publication date |
---|---|
US11748148B2 (en) | 2023-09-05 |
EP3298487A1 (en) | 2018-03-28 |
EP4336805A3 (en) | 2024-05-08 |
EP4336805A2 (en) | 2024-03-13 |
US20220291943A1 (en) | 2022-09-15 |
US20160335107A1 (en) | 2016-11-17 |
US20160335129A1 (en) | 2016-11-17 |
WO2016187168A1 (en) | 2016-11-24 |
US9971624B2 (en) | 2018-05-15 |
US20200278879A1 (en) | 2020-09-03 |
US20180239631A1 (en) | 2018-08-23 |
CN107646103A (zh) | 2018-01-30 |
US10671424B2 (en) | 2020-06-02 |
US9558029B2 (en) | 2017-01-31 |
US11347537B2 (en) | 2022-05-31 |
US20230367622A1 (en) | 2023-11-16 |
EP3298487B1 (en) | 2024-01-24 |
CN113360247A (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107646103B (zh) | 对容器的逻辑处理 | |
US10601705B2 (en) | Failover of centralized routers in public cloud logical networks | |
US10491516B2 (en) | Packet communication between logical networks and public cloud service providers native networks using a single network interface and a single routing table | |
US10862753B2 (en) | High availability for stateful services in public cloud logical networks | |
US11115465B2 (en) | Accessing endpoints in logical networks and public cloud service providers native networks using a single network interface and a single routing table | |
US20240039791A1 (en) | Managed switch architectures: software managed switches, hardware managed switches, and heterogeneous managed switches | |
CN112929219B (zh) | 多数据中心环境中的逻辑路由器和交换机 | |
US11736391B2 (en) | Defining routing domain for distributed packet processing | |
EP3228060B1 (en) | Context-aware distributed firewall | |
EP3669504B1 (en) | High availability for stateful services in public cloud logical networks | |
US10511459B2 (en) | Selection of managed forwarding element for bridge spanning multiple datacenters | |
US10374827B2 (en) | Identifier that maps to different networks at different datacenters | |
WO2019040720A1 (en) | ACCESS TO END POINTS IN LOGIC NETWORKS AND NATIVE NETWORKS OF PUBLIC CLOUD SERVICE PROVIDERS USING ONLY ONE NETWORK INTERFACE AND ONE ROUTING TABLE | |
CN108432189B (zh) | 多个隧道端点上的负载平衡 |
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 |