使用底层任播VTEPIP的边缘节点集群网络冗余和快速收敛的制作方法

文档序号:17441497发布日期:2019-04-17 04:49阅读:547来源:国知局
使用底层任播VTEP IP的边缘节点集群网络冗余和快速收敛的制作方法

网络在服务节点处提供服务。服务节点的集群常常用于提供冗余,以便在单个服务节点发生故障时不会中断服务。在故障转移过程,即从故障节点切换到冗余节点的过程期间,发往故障节点的分组可能被丢弃或者可能不被提供服务。因此,需要用于在最小化故障转移时间的同时提供冗余的方法。



技术实现要素:

一些实施例提供了一种用于向在边缘节点中执行的模块(例如,服务路由器)提供冗余和快速收敛的方法。在一些实施例中,该方法由集中管理网络的管理平面(例如,在网络控制器中实现)执行。在一些实施例中,该方法将在边缘节点中执行的服务路由器集合配置为使用相同的任播内部互联网协议(ip)地址和相同的任播内部媒体访问控制(mac)地址。在一些实施例中,该方法将该服务路由器集合正在其上执行的边缘节点配置为使用相同的任播虚拟可扩展局域网隧道端点(vtep)ip地址集合。在一些实施例中,该方法将边缘节点配置为将任播内部ip和任播内部mac地址通告为通过至少一个任播vtepip地址可达。

在一些实施例中,该方法将服务路由器配置为以活动-待机模式操作,其中一个服务路由器充当活动服务路由器,而其它服务路由器充当待机服务路由器,以防活动服务路由器不再可访问(例如,活动服务路由器发生故障或与活动服务路由器的连接发生故障)。在一些实施例中,该方法通过将活动服务路由器在其上执行的边缘节点配置为以更高的本地优先权通告任播vtepip地址来实现这一点。在这些实施例中,当边缘节点发生故障时,连接到边缘节点的交换机通告在边缘节点处不再可以到达任播vtepip地址。在其它实施例中,该方法通过将所有边缘节点配置为以相同的本地优先权通告任播vtepip地址来将模块配置为活动-活动模式。

在一些实施例中,该方法利用底层网络的收敛来减少冗余模块的故障转移时间。在一些实施例中,底层网络中的收敛时间基于物理交换机和模块在其上执行的机器(例如,边缘节点或边缘节点在其上执行的主机)之间的链路故障检测协议(例如,双向转发检测(bfd))。在大多数情况下,这种底层网络故障检测将比在模块之间操作的基于软件的方法快得多(50ms对1秒)。硬件的更快检测和快速收敛时间允许减少模块的故障转移时间。

前面的发明内容旨在用作针对本发明的一些实施例的简要介绍。它并不意味着是本文档中所公开的所有发明性主题的介绍或概述。以下的具体实施方式和参考具体实施方式的附图说明将进一步描述在发明内容以及其它实施例中所描述的实施例。因此,为了理解本文档所描述的所有实施例,需要对发明内容、具体实施方式和附图说明进行全面地审阅。此外,所要求保护的主题不受在发明内容、具体实施方式和附图说明中的说明性细节的限制,而是要由所附权利要求来定义,这是因为所要求保护的主题可以在不脱离本主题的精神的情况下以其它特定形式来体现。

附图说明

本发明的新颖特征在所附权利要求中阐述。但是,为了解释的目的,本发明的几种实施例在以下图中阐述。

图1图示了包括本发明在其中操作的服务模块、边缘节点、叶子交换机和主干(spine)交换机的网络。

图2图示了在如图1中那样配置的系统中使用相同的任播地址集合的服务模块集合。

图3图示了使用两个任播vtepip地址在活动-待机模式下实现多对服务路由器的边缘节点集合。

图4概念性地图示了用于配置服务模块以实现本发明的一些实施例的过程。

图5概念性地图示了用于在服务路由器故障的情况下实现冗余的一些实施例的过程。

图6概念性地图示了当服务路由器重新联机(online)时用于实现冗余的一些实施例的过程。

图7概念性地图示了用于实现本发明的一些实施例的电子系统。

具体实施方式

在以下描述中,为于解释的目的阐述了许多细节。但是,本领域普通技术人员将认识到,本发明可以在不使用这些具体细节的情况下进行实践。在其它情况下,众所周知的结构和设备以框图的形式示出,以便防止用不必要的细节模糊本发明的描述。

一些实施例提供了一种用于向在边缘节点中执行的模块(例如,服务路由器)提供冗余和快速收敛的方法。在一些实施例中,该方法由集中管理网络的管理平面(例如,在网络控制器中实现)执行。在一些实施例中,该方法将在边缘节点中执行的服务路由器集合配置为使用相同的任播内部互联网协议(ip)地址和相同的任播内部媒体访问控制(mac)地址。在一些实施例中,该方法将该服务路由器集合正在其上执行的边缘节点配置为使用相同的任播虚拟可扩展局域网隧道端点(vtep)ip地址集合。在一些实施例中,该方法将边缘节点配置为将任播内部ip和任播内部mac地址通告为通过至少一个任播vtepip地址可达。

图1图示了网络系统100,其中实现了本发明的一些实施例。图1包括多个主机101a-e、虚拟可扩展局域网隧道端点(vtep)102a-c、边缘节点105a-d、服务路由器106、叶子交换机110a-d、管理程序115a、主干交换机120a-n、数据中心架构130以及外部网络140。为简单起见,图1仅示出了具有内部部件的主机101a和b以及边缘节点105d,但是本领域普通技术人员将理解其它主机和边缘机器可以包含类似的、附加的或替代性的元件。

边缘节点105a-d连接到外部网络140,并通过托管服务路由器(例如,服务路由器106)为连接到数据中心架构130的虚拟机或其它数据计算节点提供对外部网络140的访问。服务路由器(sr)在不同的实施例中可以在命名空间、虚拟机中实现,或者实现为虚拟路由和转发(vrf)模块。服务路由器提供路由服务并且,在一些实施例中,提供多个有状态(例如,防火墙、nat等)或无状态服务(例如,访问控制列表(acl))。在不同的实施例中,边缘节点105a-d可以被实现为虚拟机(有时称为边缘vm),在其它类型的数据计算节点(例如,命名空间、物理主机等)中实现,或者通过使用基于linux的数据路径开发工具包(dpdk)分组处理软件来实现(例如,作为基于dpdk的数据路径中的vrf)。

在一些实施例中,边缘节点(例如,边缘节点105d)终止隧道(例如,由网络管理器定义的隧道)。在一些实施例中,一些边缘节点(例如,边缘节点105c)利用它们在其上执行的主机的vtep,而其它边缘节点在边缘节点在专用服务器中执行时实现它们自己的vtep。在一些实施例中,边缘节点可以在裸机上运行(例如,直接在服务器或主机上运行),或者作为在管理程序之上运行的虚拟机形状因子(formfactor)运行。本领域普通技术人员将理解的是,网络可以包括以上述模式的任意组合操作的多个边缘节点。

在一些实施例中,叶子物理交换机110c和110d是数据中心架构130的一部分,并且向在主机101b-e上执行的vm提供对主干交换机120a-n的访问,并且通过叶子物理交换机110a和110b以及边缘节点105a-d提供对外部网络140的访问。在一些实施例中,叶子交换机可以被实现为机架交换机的物理顶部。在一些实施例中,叶子交换机和主干交换机运行内部网关协议(igp)(例如,开放最短路径优先(ospf)、路由信息协议(rip)、中间系统到中间系统(is-is)等)以引导分组沿着最短路径到达分组目的地。

在一些实施例中,主机101b-e托管使用边缘节点和服务路由器访问外部网络140的多个vm。可以在执行受管理的交换元件(未示出)的管理程序之上运行vm或其它dcn,其中受管理的交换元件实现vtep和虚拟分布式路由器(vdr)以允许覆盖网络和逻辑分组处理。

本领域普通技术人员将理解的是,可以以与本发明的精神一致的任何数量的方式来实现底层网络结构。特定网络结构不应当被解释为限制本发明,而是仅用于说明目的。

图2图示了在边缘节点205a-b上执行的服务路由器206a-b的集合的实例。图2还图示了跨越边缘节点205a-b和管理程序215的分布式路由器(dr)。管理程序215还运行虚拟机216并在vtep202c处终止隧道。图2还示出了配置用于管理程序215上的dr201的缺省路由的中央控制器250,并将服务路由器206a-b配置为使用任播内部ip、mac和vtep(外部)ip地址。在一些实施例中,dr跨越直接耦合到vm或其它数据计算节点的受管理的转发元件(mfe),其中vm或其它数据计算节点直接或间接地逻辑连接到逻辑路由器。一些实施例的dr还跨越逻辑路由器所绑定的网关(例如,边缘节点205a-b)。dr负责逻辑交换机和/或逻辑上连接到该逻辑路由器的其它逻辑路由器之间的第一跳分布式路由。一些实施例的sr负责递送不以分布式方式实现的服务(例如,一些有状态服务)。

服务路由器206a-b被示为连接到逻辑交换机1。在一些实施例中,服务路由器206a-b是提供对外部网络的访问的sr集合的子集。分布式路由器201连接到多个逻辑交换机(例如,逻辑交换机1-n)。逻辑交换机2-n可以连接到在任何数量的主机上执行的vm。在一些实施例中,vm通过服务路由器206a-b或不同的sr集合将流量路由到外部网络。可能的配置的进一步细节可以在作为美国专利公开2016/0226754公布的美国非临时专利申请14/814,473中找到,该申请通过引用并入本文。

如图所示,sr206a-b被配置为使用相同的任播内部ip地址、任播vtep(外部)地址和任播媒体访问控制(mac)地址。任播寻址允许相同的地址被用于多个目的地(在本发明的一些实施例中,多个目的地是冗余目的地)。发送到任播地址的分组根据igp(例如,ospf、rip、is-is等)被转发到最近的节点(也称为最靠近的节点或沿着最短路径)。在一些实施例中,沿着路线的这种最近的节点是基于用于确定优先权的管理距离值来计算的,越大的值指示越低优先权的路线类型。

服务路由器206a-b可以以活动-活动模式或活动-待机模式实现。在活动-活动中,将sr视为对于路由目的是平等的(即,以相同的优先权或管理距离进行通告)。活动-活动模式下的分组流基于某个标准集合(例如,负载平衡标准、等成本多路径(ecmp)、任播路由协议等)被引导到特定sr。在一些实施例中,活动-活动模式下sr的故障通过在sr在其上执行的边缘节点和该边缘节点连接到的交换机之间运行的双向转发检测(bfd)会话来检测。在检测到故障之后,交换机不再在连接发生故障的边缘节点处通告服务路由器的可用性,并且底层网络在剩余的sr上收敛,作为到任播ip地址的最短或最低成本路径。因此,通过对所有sr使用igp和相同的任播地址,系统实现了冗余和快速收敛。关于图4-6进一步讨论具体的步骤。

在本发明的一些实施例中,sr206a-b以活动-待机模式实现。在活动-待机模式下,服务路由器集合中的一个服务路由器被配置为充当活动服务路由器,目的地为该服务路由器集合的流量被引导到该活动服务路由器。当服务路由器提供需要单个服务路由器为每个分组流提供服务集合的有状态服务时,这种活动-待机模式会是有用的。在一些情况下,处于这种活动-待机模式的活动服务路由器维护所有流的状态。在一些实施例中,如果活动服务路由器发生故障,那么周期性地将状态信息推送到待机服务路由器(或由其拉出)以提供该服务集合。在活动-待机模式下,托管活动sr的边缘节点以比托管待机sr的边缘节点更高的优先权(例如,更低的管理距离)通告其任播vtepip地址,使得当两个sr都可用时,活动sr始终是“最近的”sr。

为了提供冗余及快速收敛,一些实施例使用双向转发检测(bfd)或类似协议来监视叶子交换机和边缘节点之间(以及最终到服务路由器)的连接是否起作用。此类协议可以具有非常短的检测时间(例如,50ms)。如果与托管活动sr的边缘节点的连接发生故障,那么由活动(发生故障的)sr和底层网络使用的任播地址的路由信息可以以与底层网络收敛相同的速率收敛在待机sr(作为具有任播地址的可用sr)的使用上,在一些实施例中,这种收敛比依赖sr之间的通信的方法快得多。在一些实施例中,更新基于来自bfd会话的通知。

这种快速收敛可以与依赖于在sr之间运行的bfd会话的过程形成对比。在sr之间运行以在活动-活动和活动-待机模式下都检测sr故障的bfd会话不太主动地发送分组,以避免基于随后在可接受的时间内被校正的底层网络的链路故障的误报(即,检测到未发生的故障)。即使在bfd会话检测到实际故障之后,sr也必须执行软件过程以确定要采取的适当操作,然后必须发出无偿地址解析协议(garp)分组,该分组警告所有服务器和管理程序发生故障的sr的mac地址与替代性sr的ip地址的新关联。与使用底层网络收敛的仅依赖将更新后的任播地址可用性通告给dc架构中的物理交换机的方法相反,这个过程可以花费十秒或更长时间,因为大量(数百甚至数千)服务器附连到特定的叶子物理交换机。

本领域普通技术人员将理解的是,这个方法可以用于向其它类型的模块集群提供冗余及快速收敛时间,其中其它类型的模块集群提供有状态或无状态服务并且不限于边缘节点中的服务路由器。

分布式路由器201被示为跨越边缘节点205a-b并且被示为管理程序215的元件,但是如上所述,dr(或虚拟dr(vdr))是由图2中未示出的在主机上执行的受管理的转发元件实现的逻辑路由器。在一些实施例中,dr201被配置为使用服务路由器206a-b的任播内部ip地址作为其缺省网关。在这些实施例中,任播内部ip地址与任播mac地址相关联,并且任播mac地址与任播vtep(外部)ip地址相关联。将dr201配置为将分组发送到任播vtep允许底层网络一旦分组到达叶子交换机210c就计算最近的节点,如上面所讨论的。

vtep202a-b被描绘为分别是pnic203a-b的一部分,因为vtep在用于主机的pnic的ip地址上通告它们的可用性。但是,应当理解的是,实际上vtep是由管理程序或管理程序上的受管理转发元件提供的功能。此外,vtep被描绘为连接到逻辑交换机1,以证明目的地为逻辑交换机1上的服务路由器的分组是通过作用于同一机器的vtep可达的,并且vtep还逻辑地连接到任何逻辑交换机,其中dcn在同一个机器或管理程序上运行。

图3图示了在其上执行多对sr的边缘节点305a-b的配置。在一些实施例中使用两个任播vtep地址允许单个边缘节点执行一些sr作为活动的而其它sr是待机sr。如上例中所示,处于活动-待机模式的sr对共享任播内部ip和mac地址(为sr1和sr3示出)以及任播vtepip地址。如图所示,在边缘节点305a上具有活动sr的sr对共享vtep1作为其任播vtepip,而在边缘节点305b上具有活动sr的sr对共享vtep2作为其任播vtepip。这种配置允许边缘节点305a以更高的优先权通告vtep1并允许边缘节点305b以更高的优先权通告vtep2,使得活动sr在两个边缘节点上都接收流量。

图4概念性地图示了实现本发明一些实施例的新颖方法的过程400。在一些实施例中,过程400由管理不同主机上的转发元件以实现逻辑网络和分布式路由器的中央控制器或中央控制器集群执行。在一些实施例中,控制器在服务路由器的初始配置时执行这个过程,并且在其它实施例中,响应于网络设置的改变而执行这个过程。

如图所示,当控制器将服务路由器集合配置(在410)为使用相同的任播内部ip地址时,过程400开始。任播内部ip地址在根据隧穿协议(例如,gre、vxlan等)封装的内部分组报头中找到。然后,过程400配置(在420)该服务路由器集合以使用相同的任播mac地址。

过程400通过将边缘节点集合配置(在430)为使用相同的任播vtep(外部)ip地址而继续。本领域普通技术人员将认识到的是,vtepip地址仅仅是可以在隧穿协议中使用的外部ip地址的一个示例,并且其它外部ip地址将以类似的方式起作用。应当理解的是,步骤410-430可以以任何次序执行,并且单独的步骤不相互依赖。

该过程确定(在440)要将服务路由器配置为活动-待机模式还是活动-活动模式。如果要将服务路由器配置为活动-待机模式,那么该过程将活动服务路由器在其上执行的边缘路由器配置(在450)为以更高的优先权(例如,更低的管理成本)通告vtepip地址。如果该过程确定(在440)服务路由器应当被配置为活动-活动模式,那么该过程(在455)将边缘节点配置为以相同的优先权(例如,相同的管理成本)通告vtepip地址。

在活动-活动和活动-待机模式下,该过程都将分布式路由器配置(在460)为使用任播vtepip地址来发送出站分组。如上面在图2的讨论中所指出的,在一些实施例中,该过程通过将任播内部ip地址与由服务路由器使用的任播mac地址和任播vtepip地址相关联来配置dr的缺省路由,以将分组引导到任播内部ip地址。

图5概念性地图示了实现本发明一些实施例的新颖方法的过程500。在一些实施例中,过程500由叶子交换机实现,叶子交换机连接到活动服务路由器正在其上执行的边缘节点。该过程允许快速检测服务路由器不可用性(例如,叶子交换机和边缘节点之间的链路故障、边缘节点的故障等)。过程500假设已经建立了用于监视叶子交换机和托管一个或多个服务路由器的边缘节点之间的连接状态的双向转发检测(bfd)或类似协议。

过程500通过检测(在510)交换机和边缘节点之间的连接已经发生故障而开始。在一些实施例中,连接在叶子交换机和执行活动服务路由器的边缘节点之间。本领域普通技术人员将认识到的是,可以沿着将使服务路由器对网络上的其它机器不可用的任何链路进行检测。

过程500通过使交换机从交换机的转发表中移除(在520)边缘节点和任播vtepip地址之间的关联(例如,基于路由协议)而继续。交换机不再将具有任播vtepip地址的分组转发到边缘节点,并且处理前进到步骤530。

然后,过程500确定(在530)是否仍然可以在连接到交换机的其它机器(边缘节点)上访问任播vtepip。如果没有连接到交换机的其它边缘节点通告任播vtepip的可用性,那么该过程通告(在540)任播vtepip不再通过交换机可用。一旦使用动态路由协议通过dc架构传播了这个信息,底层网络就开始向下一个可用的服务路由器(例如,待机路由器)发送分组,并且该过程结束。如果仍有连接到交换机的边缘节点通告任播vtepip的可用性,那么交换机不需要通告任播vtepip不再通过交换机可用并且该过程结束。

图6概念性地图示了允许先前活动的服务路由器在恢复可用性时作为活动服务路由器返回联机的过程600。在一些实施例中,过程600由连接到先前活动的服务路由器在其上执行的边缘节点的叶子交换机实现。

过程600通过检测(在610)交换机和边缘节点之间的连接已经恢复而开始。在一些实施例中,连接在叶子交换机和执行先前活动的服务路由器的边缘节点之间。本领域普通技术人员将认识到的是,可以沿着将使服务路由器对网络上的其它机器不可用的任何链路进行检测。

过程600通过使交换机将边缘节点和任播vtepip地址之间的关联添加(在620)到交换机的转发表(例如,基于路由协议)来继续。在一些实施例中,该添加基于从边缘节点接收到任播vtepip在恢复的链路上可用的通告。在一些实施例中,交换机现在将具有任播vtepip地址的分组转发到恢复的边缘节点,并且该过程前进到步骤630。

然后,过程600确定(在630)在恢复连接之前在连接到交换机的其它机器(边缘节点)上是否可访问任播vtepip。如果没有连接到交换机的其它边缘节点通告任播vtepip的可用性,那么该过程通告(在640)任播vtepip现在通过交换机可用。一旦使用动态路由协议通过dc架构传播了这个信息,底层网络就开始向恢复的服务路由器(例如,发生故障并恢复的活动服务路由器)发送分组,并且该过程结束。如果仍有连接到交换机的边缘节点通告任播vtepip的可用性,那么交换机不需要通告任播vtepip地址现在通过交换机可用,并且该过程结束。在一些实施例中,具有恢复的连接的边缘节点以更高的优先权通告任播vtepip地址,如同在发生故障和恢复之前所做的那样。

电子系统

上述许多特征和应用被实现为软件过程,这些软件过程被指定为记录在计算机可读存储介质(也被称为计算机可读介质)上的指令集合。当这些指令被一个或多个处理单元(例如,一个或多个处理器、处理器核心、或其它处理单元)执行时,它们使得该(一个或多个)处理单元执行在指令中指示的动作。计算机可读介质的示例包括,但不限于,cd-rom、闪存驱动器、ram芯片、硬盘驱动器、eprom等。计算机可读介质不包括无线或通过有线连接传递的载波和电子信号。

在本说明书中,术语“软件”是指包括驻留在只读存储器中的固件或者存储在磁存储设备中的应用,其可以被读入到存储器中用于被处理器处理。此外,在一些实施例中,多个软件发明可以被实现为更大程序的子部分,同时保持独特的软件发明。在一些实施例中,多个软件发明也可以被实现为单独的程序。最后,一起实现本文所描述的软件发明的单独程序的任意组合在本发明的范围内。在一些实施例中,当软件程序被安装以在一个或多个电子系统上操作时,软件程序定义运行并执行软件程序的操作的一个或多个特定的机器实现。

图7概念性地图示了实现本发明的一些实施例的电子系统700。电子系统700可以用于执行上述任何控制、虚拟化或操作系统应用。电子系统700可以是计算机(例如,台式计算机、个人计算机、平板计算机、服务器计算机、大型机、刀片计算机等)、电话、pda或任何其它类型的电子设备。这样的电子系统包括用于各种其它类型的计算机可读介质的各种类型的计算机可读介质和接口。电子系统700包括总线705、(一个或多个)处理单元710、系统存储器725、只读存储器730、永久性存储设备735、输入设备740和输出设备745。

总线705统一地表示通信地连接电子系统700的许多内部设备的所有系统、外围设备和芯片组总线。例如,总线705将(一个或多个)处理单元710与只读存储器730、系统存储器725和永久性存储设备735通信地连接。

(一个或多个)处理单元710从这些各种存储器单元中检索要执行的指令和要处理的数据,以便执行本发明的过程。(一个或多个)处理单元在不同实施例中可以是单个处理器或多核处理器。

只读存储器(rom)730存储由(一个或多个)处理单元710和电子系统的其它模块所需的静态数据和指令。另一方面,永久性存储设备735是读写存储器设备。这个设备是即使当电子系统700关闭时也存储指令和数据的非易失性存储器单元。本发明的一些实施例使用大容量存储设备(诸如磁盘或光盘及其对应的盘驱动器)作为永久性存储设备735。

其它实施例使用可移除存储设备(诸如软盘、闪存驱动器等)作为永久性存储设备。与永久性存储设备735一样,系统存储器725是读写存储器设备。但是,与存储设备735不同的是,系统存储器是易失性读写存储器,诸如随机存取存储器。系统存储器存储处理器在运行时所需的一些指令和数据。在一些实施例中,本发明的过程被存储在系统存储器725、永久性存储设备735和/或只读存储器730中。(一个或多个)处理单元710从这些各种存储器单元中检索要执行的指令和要处理的数据,以便执行一些实施例的过程。

总线705还连接到输入和输出设备740和745。输入设备使用户能够向电子系统传达信息和选择给电子系统的命令。输入设备740包括字母数字键盘和定点设备(也称为“光标控制设备”)。输出设备745显示由电子系统生成的图像。输出设备包括打印机和显示设备,诸如阴极射线管(crt)或液晶显示器(lcd)。一些实施例包括用作输入和输出设备两者的设备,诸如触摸屏。

最后,如图7所示,总线705还通过网络适配器(未示出)将电子系统700耦合到网络765。以这种方式,计算机可以是计算机的网络(诸如局域网(“lan”)、广域网(“wan”)、或内联网、或网络的网络,诸如互联网)的一部分。电子系统700的任何或全部组件可以与本发明结合使用。

一些实施例包括电子组件,诸如微处理器、在机器可读或计算机可读介质(可替代地称为计算机可读存储介质、机器可读介质或机器可读存储介质)中存储计算机程序指令的存储设备和存储器。这种计算机可读介质的一些示例包括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更轻巧。

在一些实施例中,管理程序内核网络接口模块是包括具有管理程序内核网络接口和接收/传送线程的网络堆栈的非-vmdcn。管理程序内核网络接口模块的一个示例是作为vmware公司的esxitm管理程序的一部分的vmknic模块。

应当理解的是,虽然本说明书提到vm,但是给出的示例可以是任何类型的dcn,包括物理主机、vm、非-vm容器和管理程序内核网络接口模块。事实上,在一些实施例中,示例网络可以包括不同类型的dcn的组合。

虽然本发明已经参考许多特定细节进行了描述,但是本领域普通技术人员将认识到,在不脱离本发明的精神的情况下,本发明可以以其它特定形式体现。此外,多个图(包括图4-6)概念性地示出了过程。这些过程的特定操作可能没有以与所示出和描述的确切顺序执行。特定操作可能没有在一系列连续的操作中执行,并且不同的特定操作可能在不同的实施例中执行。此外,过程可以利用若干子过程来实现,或者作为较大的宏过程的一部分来实现。因此,本领域普通技术人员将理解,本发明不受上述说明性细节的限制,而是由所附权利要求来限定。

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