使用基于标记的底层网络转发的虚拟覆盖移动性的制作方法

文档序号:11530645阅读:159来源:国知局
使用基于标记的底层网络转发的虚拟覆盖移动性的制造方法与工艺



背景技术:

计算机网络可能具有经由有线或无线网络链路由路由器、交换机、桥接器或其他网络设备在底层网络中彼此互连的大量物理服务器。各物理服务器可以托管在由底层网络支持的一个或多个覆盖网络中彼此互连的多个虚拟化服务器、虚拟网络功能或其他合适的虚拟实体。虚拟化实体可以从一个或多个发端服务器重定位或迁移至底层网络中的一个或多个目标服务器。



技术实现要素:

本发明内容被提供为以简化形式引入下面在具体实施方式中进一步描述的概念的选择。该发明内容不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。

所公开技术的若干实施例致力于使用基于标记的底层网络来支持在底层网络上实现的覆盖网络中迁移虚拟机和/或虚拟化网络功能。基于标记的底层网络的各种转发和/或隧穿特性可以用于实现这种迁移。在具体实施例中,底层网络可以被分层划分为支持虚拟机和/或虚拟化网络功能在覆盖网络中的迁移的多个域。在另外的实施例中,底层网络可以包括其他合适的配置。

附图说明

图1是图示了根据所公开技术的实施例的计算机网络的示意图。

图2是图示了根据所公开技术的实施例的、适于图1的计算机网络的示例分层底层网络的示意图。

图3是图示了根据所公开技术的实施例的计算机网络的示例操作的示意图。为了清楚起见,省略图1中的计算机网络的特定部分。

图4是图示了根据所公开技术的实施例的、迁移虚拟实体的处理的流程图。

图5是图示了根据本技术的实施例的、具有布置在堆栈中的部分的示例底层网络地址的框图。

图6是适于图1中的计算机网络的特定组件的计算设备。

具体实施方式

下面描述用于虚拟机、虚拟网络功能或其他虚拟实体在计算机网络中的迁移的系统、设备、组件、模块、例程以及处理的特定实施例。在以下描述中,组件的具体细节被包括以提供所公开技术的特定实施例的彻底理解。相关领域技术人员还将理解技术可以具有另外的实施例。本技术还可以在没有下面参照图1至图6描述的实施例的细节中的若干的情况下实践。

如这里所用的,术语“计算机网络”通常指代具有将多个端点连接到彼此且连接到其他网络(例如,因特网)的多个网络节点的互联网络。术语“网络节点”通常指代物理和/或软件仿真的(或虚拟)网络设备。示例网络节点包括路由器、交换机、集线器、桥接器、负载平衡器、安全网关、防火墙、网络名翻译器或名称服务器。

支持虚拟或物理网络设备、网络节点以及网络端点的计算机网络可以在概念上分成在底层网络上实现的覆盖网络。“覆盖网络”通常指代在底层网络上实现且在底层网络上运行的抽象网络,该抽象网络可以包括与彼此且与物理端点互连的多个物理网络节点。例如,覆盖网络可以包括在底层网络上实现的一个或多个虚拟网络。虚拟网络使多个物理服务器或虚拟化服务器互连,这些虚拟化服务器被托管在在由底层网络中的物理网络节点互连的不同物理服务器上。覆盖网络中的虚拟网络节点可以由虚拟或逻辑链路连接到彼此,该虚拟或逻辑链路各自对应于沿着底层网络中的一个或多个物理网络节点的一个或多个路径。

“虚拟网络”通常指代底层网络在覆盖网络中的一部分的抽象。虚拟网络可以包括被称为由用户或“租户”各自用于访问虚拟网络和关联计算、存储或其他合适资源的“租户站点”。租户站点可以托管一个或多个租户端点(“tep”)(例如,虚拟机)。租户站点还可以包括包含用于在特定虚拟网络中的tep之间路由消息的可达性信息的虚拟路由表(“vrt”)。例如,可达性信息可以包括虚拟端点到虚拟端点当前驻留的底层网络中的网络节点的地址的映射。

“网络虚拟化边缘”或“nve”通常指代处于底层网络边缘处的网络实体,该网络实体将一个或多个租户站点连接到它们各自的虚拟网络。在一个示例中,基于多协议标记交换(“mpls”)网络的虚拟专用网络(“vpn”)中的网络虚拟化边缘是vpn供应商边缘。“虚拟化网络功能”或“vnf”通常指代在覆盖网络中实现且驻留在服务器或网络节点中的网络功能。示例vnf包括软件负载平衡器、虚拟防火墙以及虚拟网络名翻译器。

术语“端点”通常指代物理或软件仿真的计算设备。示例端点包括网络服务器、网络存储设备、个人计算机、移动计算设备(例如,智能电话)、网络功能虚拟化或虚拟机。各端点可以与可以在覆盖网络和/或底层网络中具有不同值的端点标识符关联。端点标识符(或网络节点标识符)的示例可以包括用于mpls网络中的标记的至少一部分、用于mpls网络中的标记的堆栈、根据因特网协议(“ip”)的一个或多个地址、一个或多个虚拟ip地址、虚拟局域网中的一个或多个标签、一个或多个媒体访问控制地址、一个或多个λ标识符、一个或多个连接路径、一个或多个物理接口标识符或一个或多个分组报头或包封。

术语“域”通常指代底层网络的物理或逻辑分区。域可以包括与彼此和/或与底层网络中的若干端点互连的所选数量的网络节点。域还可以连接到包括若干另外网络节点的一个或多个更高级域,这些另外节点将特定域连接到域的层级中处于相同或不同级的其他域。在特定实施例中,软件定义网络(“sdn”)可以用于将底层网络分成多个域。在其他实施例中,底层网络的域中的一个或多个可以至少部分为使用分布式路由和/或转发协议的分布式计算机网络。

图1是图示了根据所公开技术的实施例的计算机网络100的示意图。如图1所示,计算机网络100可以包括底层网络120和在底层网络120上实现且在底层网络120上运行的覆盖网络121。在所示实施例中,覆盖网络121为了图示目的而被示出为包括第一虚拟网络112a、第二虚拟网络112b以及第三虚拟网络112c。在其他实施例中,覆盖网络121可以包括任意其他合适数量的虚拟网络和/或虚拟网络功能(未显示)。

如图1所示,底层网络120可以包括使多个服务器102(分别被示出为第一服务器102a、第二服务器102b以及第三服务器102c)互连的多个网络节点111(为了图示目的而示出三个网络节点)。服务器102可以各自包括耦合到存储器106的处理器104和输入/输出组件108。处理器102可以包括微处理器、现场可编程门阵列和/或其他合适的逻辑设备。存储器104可以包括非瞬态易失性和/或非易失性介质(例如,rom;ram、磁盘存储介质;光存储介质;闪存设备和/或其他合适的存储介质)和/或被配置为存储从处理器102接收的数据以及用于处理器102的指令(例如,用于执行下面参照图7至图11讨论的方法的指令)的其他类型的计算机可读存储介质。输入/输出组件108可以包括显示器、触摸屏、键盘、鼠标、打印机和/或被配置为从操作员和/或自动软件控制器(未显示)接受输入和向操作员和/或自动化软件控制器提供输出的其他合适类型的输入/输出设备。虽然底层网络120在图1中被示为具有平面网络结构,但在特定实施例中,底层网络120可以如下面参照图2更详细描述的那样被组织为多个层级域。在另外的实施例中,底层网络120可以以其他合适的方式来组织。

服务器102可以各自包含存储器106中的指令,这些指令在由处理器102执行时,使得个体处理器102提供管理程序107和nve109。管理程序107可以被各自配置为生成、监测、终止和/或以其他方式管理被组织到租户站点110中的一个或多个虚拟机114。例如,如图1所示,第一服务器102a可以提供第一管理程序107a,该第一管理程序分别管理第一租户站点110a和第二租户站点110b。第二服务器102b可以提供第二管理程序107b,该第二管理程序分别管理第二和第三租户站点110b’和110c。第三服务器102c可以提供管理程序107c,该管理程序独立管理第一和第三租户站点110a’和110c’。租户站点110可以各包括一个或多个虚拟机114和/或虚拟网络功能(未示出)。管理程序107在图1中被各自示为软件组件。然而,在其他实施例中,管理程序107可以各为固件和/或硬件组件。nve109可以被配置为将一个或多个租户站点110连接到它们各自的虚拟网络122。虽然nve109在图1中被示为单独的软件组件,但在另外的实施例中,nve109可以集成到对应的管理程序107或形成该对应管理程序107的一部分。

如图1所示,不同服务器102可以各自托管包括用于特定租户101(该用户分别被标识为第一租户101a、第二租户101b以及第三租户101c)的多个虚拟机114的租户站点110。例如,第一服务器102a和第三服务器102c可以都托管用于第一租户101a的租户站点110a和110a’。第一服务器102a和第二服务器102b可以都托管用于第二租户101b的租户站点110b和110b’。第二服务器102b和第三服务器102c可以都托管用于第三租户101c的租户站点110c和110c’。各虚拟机114可以执行对应的操作系统、中间件和/或应用。

覆盖网络121可以包括跨多个服务器102使特定租户101的租户站点110互连的一个或多个虚拟网络122。例如,第一虚拟网络122a使第一服务器102a处和第三服务器102c处的第一租户站点110a和110a’互连。第二虚拟网络122b使第一服务器102a处和第二服务器102b处的第二租户站点110b和110b’互连。第三虚拟网络122c使第二服务器102b处和第三服务器102c处的第三租户站点110c和110c’互连。虽然一个虚拟网络122被示为对应于一个租户101,但在其他实施例中,多个虚拟网络122可以被分配为对应于单个租户101。

即使虚拟机114被托管在不同的服务器102上,特定虚拟网络122上的虚拟机114也可以经由虚拟网络122与彼此通信。例如,第一服务器102a上的第一租户站点110a的虚拟机114可以至少部分基于用于第一虚拟网络122a的第一vrt112a与第三服务器102c上的第一租户站点110a’的其他虚拟机114通信。在另一个示例中,第一服务器102a上的第二租户站点110b的虚拟机114可以至少部分基于用于第二虚拟网络122b的第二vrt112b与第二服务器102b上的第二租户站点110b’的其他虚拟机114通信。但各个虚拟网络122的通信可以与其他虚拟网络122隔离。在特定实施例中,可以允许通信以受控样式借助安全网关或以其他方式从一个虚拟网络122跨越到另一个虚拟网络。vrt112可以各自包含租户地址,各租户地址包括对应于特定虚拟网络122中的虚拟化端点或网络节点的虚拟网络标识符。因此,不同虚拟网络122可以使用一个或多个相同虚拟网络标识符和/或标识符值。作为结果,租户可以使用他/她自己在各虚拟网络中的地址空间,该地址空间可以与其他租户的地址空间交叠和/或与由数据中心供应商在数据中心内所使用的地址空间交叠。示例虚拟网络标识符可以包括ip地址、mac地址和/或其他合适的地址。在其他实施例中,不同虚拟网络122的通信可以以其他合适的方式来隔离。

虚拟网络122中的每一个还可以允许独立的租户101经由底层网络120和/或其他合适网络(例如,因特网)访问对应的租户站点110。例如,第一租户101a可以访问处于分别由第一服务器102a或第三服务器102c托管的第一租户站点110a或110a’二者之一处的虚拟机114中的一个。第二租户101b可以访问处于分别由第一服务器102a或第二服务器102b托管的第二租户站点110b或110b’二者之一处的虚拟机114中的一个。第三租户101c可以访问处于分别由第二服务器102b或第三服务器102c托管的第三租户站点110c或110c’二者之一处的虚拟机114中的一个。

计算机网络100还可以包括操作地耦合到服务器102的覆盖网络资源管理器126。覆盖网络资源管理器126可以被配置为向特定虚拟机113、租户站点110、虚拟网络122、前述部件的组合或其他合适实体分配计算机网络100的物理资源。例如,在一个实施例中,覆盖网络资源管理器126可以向与第一租户站点110a关联的一个或多个虚拟机114分配第一服务器102a的资源。在另一个示例中,覆盖网络资源管理器126可以向相同的一个或多个虚拟机114分配第二服务器102a的资源。

覆盖网络资源管理器126还可以被配置为与服务器102通信可达性信息。示例可达性信息例如可以包括标识物理服务器(例如,第一服务器102a)和/或上面托管虚拟机114’的底层网络120的网络设备111的底层位置标识符或底层网络地址。底层位置标识符或底层网络地址可以包括mpls标记或mpls标记的一部分、有序mpls标记的堆栈、一个或多个ipv4地址、一个或多个ipv6地址、一个或多个虚拟ip地址、一个或多个vlan标签、一个或多个mac地址、一个或多个λ标识符、通向端点的一个或多个连接路径、一个或多个物理接口标识符、一组或多组位元、一个或多个分组报头或包封、或其他合适的位置标识符中的至少一个(或组合)。下面参照图5更详细地描述示例底层网络地址。

可达性信息还可以包括第一虚拟网络122a上的虚拟机114’的虚拟网络标识符、穿过底层网络120以到达虚拟机114’的路由和/或其他合适的信息。基于可达性信息,服务器102可以以及时的样式填充和/或更新对应vrt112中的实体,由此降低通信中断和/或系统故障的风险。

在操作期间,特定租户站点110处的虚拟机114可能需要被重定位或迁移为由不同的服务器102来托管。例如,第一租户站点110a处的一个或多个虚拟机114可能由于第一服务器102a的系统维护或其他合适原因而需要被重定位到第三服务器102c。这种迁移可以经由基于标记的底层网络120中的一个或多个网络路径来实现。在重定位期间,被重定位的虚拟机114可以维持它们各自在第一虚拟网络122a中的虚拟网络标识符(例如,ip地址或mac地址)。然而,如例如由底层网络地址标识的这些虚拟机114的物理位置需要从第一服务器102a更新到第三服务器102c。下面参照图3更详细地描述计算机网络100的示例操作的若干实施例。

图2是图示了根据所公开技术的实施例的、适于图1的计算机网络100的示例分层底层网络120的示意图。虽然图2中示出了底层网络120的特定布置,但在图1的计算机网络100中迁移虚拟实体的各种技术可以应用于具有与图2中显示的网络节点和/或端点的结构不同的、网络节点和/或端点的布置的其他底层网络。

如图2所示,底层网络120可以包括具有一个或多个网络节点111的核心域131。底层网络120还可以包括一个或多个一级域133。为了图示目的,图2中显示了两个一级域133,并且这两个一级域被各自标识为域d1-1和d1-2。在所示实施例中,一级域d1-1包括两个二级域135(各自被标识为d2-1和d2-2)。一级域d1-2包括一个二级域d2-3。在其他实施例中,一级域104可以包括其他合适数量的域和/或端点。

二级域106可以各自包括一个或多个端点141(诸如服务器102)、一个或多个边缘节点137以及将端点108连接到边缘节点137的一个或多个网络节点111。在一个实施例中,网络节点111可以各自包括架顶(“tor”)路由器或交换机。在其他实施例中,网络节点111可以包括桥接器、网关或其他合适的通信设备。在所示实施例中,各个二级域135包括形成边缘节点组的两个边缘节点137(例如,边缘节点en2-1和en2-1’)。在特定实施例中,边缘节点组中的边缘节点137例如可以对于非流量工程类型的分组被随机访问。在其他实施例中,可以具体标识并指定边缘节点组中的边缘节点137中的一个,以处理例如流量工程类型分组。在另外的实施例中,边缘节点137可以基于任意其他合适准则以其他合适方式来访问。

图2中示出的层级划分可以以各种方式应用于一个或多个数据中心。例如,在特定实施例中,图2中示出的层级划分可以应用于一个数据中心,该数据中心具有包括数据中心的一个或多个t3宽带交换机的核心域131。一级域133可以包括连接到具有t1和/或tor交换机的二级域135的t2交换机。在其他实施例中,一级域133可以包括t2和t1交换机这两者,而二级域135包括tor交换机。在另一个示例中,图2中示出的层级划分还可以应用于多个数据中心。比如,核心域131可以包括使多个数据中心和t3宽带交换机互连的核心网络。在各数据中心中,一级域133可以包括t2交换机,而二级域135可以包括t1和/或tor交换机。在另外的示例中,底层网络120的划分可以包括另外和/或不同的域级。

在前述实施例中的任意一个中,边缘节点137可以被配置为沿着一个或多个网络路径或隧道143向/从更高级或更低级域路由通信。例如,从二级域d2-1中的服务器102’到二级域d2-3中的服务器102”的消息可以经由从网络节点111’开始到边缘节点en2-1或en2-1’且然后到一级域d1-1的隧道143来路由。一级域d1-1的边缘节点en1-1可以经由核心域131的网络节点111中的一个或多个向一级域d1-2转发消息。一级域d1-2然后可以经由边缘节点en1-2向二级域d2-3的边缘节点en2-3或en2-3’转发消息,边缘节点en2-3或en2-3’又经由网络节点111’向服务器102”转发消息。在特定实施例中,隧道143例如可以用网络路由而被预先建立,该网络路线基于根据例如mpls协议的底层网络120中的源地址或目的地地址中的至少一个来预计算。在其他实施例中,隧道143可以在自组织(adhoc)的基础上或以其他合适方式来计算、建立和/或以其他方式形成。在前述实施例中的任意一个中,网络节点111和/或端点141可以由底层网络地址来标识。底层网络地址的示例参照图5来描述。

图3是图示了根据所公开技术的实施例的计算机网络100的示例操作的示意图。为了简单起见,从图3省略计算机网络100的特定组件。如图3所示,覆盖网络资源管理器126可以被配置为向服务器102通信关于任意资源分配(例如,资源到虚拟机114的分配、任意虚拟机114和/或虚拟网络功能的重定位或其他合适资源分配操作)的信息。基于这种信息,个体服务器102、管理程序107、nve109和/或其他合适的组件可以建立重定位虚拟机114可以借助的网络路径或隧道。

为了用示例图示,覆盖网络资源管理器126可以被配置为通知第一服务器102a实例化新的虚拟机114’,并且将所实例化的虚拟机114’附接到第一虚拟网络122a。在一个实施例中,覆盖网络资源管理器126通过发送可达性信息132通知第一服务器102a。在其他实施例中,覆盖网络资源管理器126还可以经由应用编程接口和/或其他合适接口来通知第一服务器102a。响应于可达性信息132,第一服务器102a(该第一服务器具有图1中的第一管理程序107a)可以实例化所请求的虚拟机114’,并且将虚拟机114’附接到第一虚拟网络122a。第一服务器102a然后可以向覆盖网络资源管理器126a发送报告完成对虚拟机114’的实例化且虚拟机114’附接到第一虚拟网络122a的通知134。

覆盖网络资源管理器126然后可以向其他服务器102通信关于资源分配的合适的可达性信息。比如,在上述示例中,所实例化的虚拟机114’附接到第一虚拟网络122a,覆盖网络资源管理器126可以向第一服务器102a和第三服务器102c发送关于所实例化的虚拟机114’的可达性信息132。

基于所发送的可达性信息,第一服务器102a和第三服务器102c然后可以更新第一vrt112a和第三vrt112c,以具有用于所实例化的虚拟机114’的新的或更新的条目。比如,第一vrt112a中的条目可以包括用于第一虚拟网络122a上的所实例化的虚拟机114’的租户地址(例如,虚拟网络地址),因为虚拟机114’是本地的。第三vrt112c中的对应条目可以包括租户地址和例如标识用于虚拟机114’的第一服务器102a的关联底层位置标识符。

覆盖网络资源管理器126还可以经由基于标记的底层网络来促进一个或多个虚拟机114从一个服务器102到另一个服务器的重定位。例如,托管在第一服务器102a上的虚拟机114’(下面被称为发端虚拟机114’)可以被决定为从第一服务器102a重定位到第三服务器102c。这种重定位的原因可以包括负载平衡、系统升级和/或维护、用户请求、服务器故障和/或其他合适的原因。

作为初始操作,覆盖网络资源管理器126通过向第三服务器102c发送可达性信息132在第三服务器102c处准备目标虚拟机114”。基于可达性信息,第三服务器102c配置第一虚拟网络122a的nve109c中的vrt112c。第三服务器102c然后与第三管理程序107c(图1)通信,以设置并启动目标虚拟机114”。如果第三nve109c不包括用于第一虚拟网络122a的任何端点,则可以创建用于目标虚拟机114”的新租户站点110和vrt112。然后可以用基于由第三服务器102c从覆盖网络资源管理器126接收的信息的信息(例如,地址和/或网络路由)来填充vrt112。如果第三nve109c已经包括第一虚拟网络122a的至少一个端点,则第一租户站点110a’中的目标虚拟机114”可以附接到第一虚拟网络122a。

第三服务器102c然后可以向覆盖网络资源管理器126发送状态通知134,并且通知覆盖网络资源管理器完成了目标虚拟机114”的准备。作为响应,覆盖网络资源管理器126通知第一服务器102c开始向托管在第三服务器102c上的目标虚拟机114”迁移发端虚拟机114’。在特定实施例中,虚拟机114’的重定位可以包括从发端虚拟机114’向目标虚拟机114”发送配置、数据和/或其他合适信息。

发端虚拟机114’的重定位可以根据这里被称为热、暖或冷重定位的三个场景。在热重定位中,发端虚拟机114’在继续运行的同时且在没有被关闭并在新位置重新启动的情况下从一个服务器102重定位到另一个服务器。在暖重定位中,在关联配置被保存在存储器或磁盘文件中的情况下暂停发端虚拟机114’,并且稍后一旦完成重定位,则恢复虚拟机114。在冷重定位中,在关联配置被移动至新主机中的管理程序107的情况下关闭发端虚拟机114’,然后在新位置中重新启动虚拟机114’。

在这种重定位期间,发端虚拟机114’可以维持它的网络状态和连接信息(例如,它的租户地址(例如,第一虚拟网络122a中的ip地址)和/或它的mac地址),以防止或至少降低现有tcp会话被中断并需要重启的风险。然而,新主机(即,第三服务器102c)在底层网络120(图1)中的ip地址随着发端虚拟机114’被重定位到第三服务器102c而必须变化。

为了维持发端虚拟机114’在第一虚拟网络122a中的ip地址,从虚拟机114’在底层网络120中的地址解耦同一虚拟机114’在覆盖网络121中的地址。例如,在特定实施例中,发端虚拟机114’可以由包括租户虚拟网络标识符(“tvni”)、租户地址(“tn”)以及底层网络地址(“una”)的端点标识符标识为tvni/ta→una。tvni标识虚拟机114’附接到的虚拟网络(例如,第一虚拟网络122a)。租户地址例如可以包括标识第一虚拟网络122a上的虚拟机114’的ip地址。底层网络地址标识上面托管虚拟机114’的底层网络120(图1)中的网络节点。在其他实施例中,虚拟机114’可以以其他合适的方式来标识。

响应于重定位,可以维持虚拟机114’的端点标识符的一部分,并且可以调节另一部分。例如,在一个实施例中,可以维持虚拟机114’的tvni/ta,使得虚拟机114’具有第一虚拟网络122a上的相同地址。然而,una可以被调节为对应于托管目标虚拟机114”的第三服务器102c。由此,虚拟机114’的端点标识符可以从tvni/ta→una调节为tvni/ta→una’,其中,unv和una’分别对应于第一服务器102a和第三服务器102c的地址。

继续上述示例,响应于来自覆盖网络资源管理器126的可达性信息132,第一服务器102a可以将穿过基于标记的底层网络120(图2)的过渡隧道143的发端点配置到目标点,以便减少甚至避免重定位期间的分组丢失。目标点(例如,第三服务器102c)可以配置过渡隧道143的目标端点。过渡隧道可以包括底层网络120的一个或多个网络节点111(图10),借助所述网络节点,虚拟机114’的配置、数据和/或其他合适信息可以从发端主机(例如,第一服务器102a)发送到目标主机(例如,第三服务器102c)。在其他实施例中,过渡隧道可以由其他合适的实体来建立。

在一个实施例中,可以预先建立过渡隧道143。例如,预先建立的隧道可以包括从发端主机到在底层网络120中的网络节点中的转发表中建立的目标主机的网络路径。如果底层网络120诸如图2中示出的来层级划分,则从服务器102到任意其他服务器102的过渡隧道可以遵循例如mpls协议预先建立在底层网络120中。在这种实施例中,底层网络地址标识符可以用于标识底层网络120中的期望网络路径。所标识的网络路径可以不同于由对应路由协议计算的最短网络路径。在另一个实施例中,底层网络地址可以用于标识可以使用的网络路径。在其他实施例中,租户虚拟网络标识符、租户地址或底层网络地址中的至少一些的组合可以用于标识底层网络120中的期望网络路径。

覆盖网络资源管理器126可以确定要用于过渡隧道143的底层网络地址和/或网络路径,并且向与发端主机相关联的第一服务器102c的通信底层网络地址和/或网络路径。在特定实施例中,覆盖网络资源管理器126可以通过向发端主机发送目标主机的特定可达性信息(例如,目标主机的底层网络地址)来标识网络路径。在其他实施例中,网络路径可以以其他合适的方式来标识。

一旦确定底层网络地址和/或网络路径,则可以开始发端主机(例如,第一服务器102a)处的隧穿操作。在特定实施例中,第一服务器102a可以使用底层网络地址或标记封装与被重定位的虚拟机114’(或vnf)关联的分组,并且通过底层网络120向目标虚拟机114”转发所封装的分组。由此可见,可以减少甚至避免虚拟机重定位期间的分组丢失。

最后,因为受影响虚拟网络122(例如,第一虚拟网络122a)的vrt112全部用新的端点标识符值来独立更新,所以可能不再需要过渡隧道。由此,到被重定位的虚拟机114’的消息可以直接发送到目标虚拟机114”。过渡隧道可以包括发端nve109处的虚拟网络122的vrt112中的条目。由此,例如可以通过使用定时器消除vrt112中的条目而在选择时间段之后消除过渡隧道。

图4是图示了根据所公开技术的实施例的、经由基于标记的底层网络来迁移虚拟机的处理200的流程图。基于标记的底层网络的示例是使用mpls标记(或mpls标记堆栈)以用于从源向底层网络中的目的地转发分组的底层网络。如图4所示,处理200可以包括在阶段202在发端主机处例如从图1的覆盖网络资源管理器126接收迁移指示。在特定实施例中,所接收的迁移指示可以包括用于待迁移的虚拟机的目标主机的底层网络地址。在其他实施例中,所接收迁移指示还可以包括底层网络中的一个或多个所标识的网络路径。在另外的实施例中,所接收的迁移指示可以包括其他合适的信息。

处理200然后可以包括在阶段204在底层网络120(图1)中建立过渡隧道。在一个实施例中,过渡隧道例如可以基于目标主机的底层网络地址来预先建立。例如,目标主机的底层网络地址可以对应于根据比如mpls协议的、从发端主机到目标主机的预计算网络路径。在其他实施例中,可以至少部分基于发端和目标主机的底层网络地址在接收迁移指示之后计算过渡隧道。在另外的实施例中,过渡隧道可以以其他合适的方式来建立。

处理200然后可以包括在阶段206经由所建立的过渡隧道迁移虚拟机。在一个实施例中,迁移虚拟机可以包括虚拟机的热、暖或冷迁移。在其他实施例中,迁移可以包括其他合适的类型。处理200还可以包括在阶段208将重定位的虚拟机的可达性信息更新到其他虚拟机。在特定实施例中,更新的可达性信息由图1的覆盖网络资源管理器126、图1的服务器102、前述组件的组合或计算机网络100(图1)的其他合适组件发送到其他虚拟机。

处理200还可以包括在阶段210经由所建立的过渡隧道向目标主机转发目的地为被重定位的虚拟机的通信达至少一个时间段。时间段可以足够长,以致允许用被迁移的虚拟机的新的底层网络地址来更新其他虚拟机。在该时间段到期之后,处理200可以包括在阶段212终止转发并去除过渡隧道。在所示的实施例中,阶段206、208以及210被示为彼此并行。在其他实施例中,前述操作可以串行或以其他合适的方式来执行。

图5是图示了根据本技术的实施例的、具有布置在堆栈中的部分的示例底层网络标识符的框图。如图5所示,底层网络地址220包括底层网络地址220中的四个部分122a-122d,这四个部分被各自标识为部分id0、id1、id2以及id3,并且根据诸如图2所示的底层网络的层级来布置。例如,在所示的实施例中,各个部分id0、id1、id2以及id3可以被配置为包含分别对应于图2所示的底层网络120中的核心域d0(图2)、一级域d1(图2)、二级域d2(图2)以及端点141的值。在其他实施例中,部分id0、id1、id2以及id3中的至少一个可以对应于不同和/或另外的域。在另外的实施例中,底层网络地址220可以包括两个、三个、五个或任意其他合适数量的部分。在另外的实施例中,底层网络地址120还可以被布置在队列、列表、组或其他合适的数据结构中。在又一些实施例中,部分id0、id1、id2以及id3可以对应于与计算机网络中的端点关联的物理位置。

图6是适于图1中的计算机网络100的特定组件的计算设备600。例如,计算设备600可以适于图1的服务器102或覆盖网络资源管理器126。在非常基本的配置602中,计算设备600通常包括一个或多个处理器604和系统存储器606。存储器总线608可以用于在处理器604与系统存储器606之间通信。

取决于期望的配置,处理器604可以为包括但不限于微处理器(μp)、微控制器(μc)、数字信号处理器(dsp)或其任意组合的任意类型。处理器604可以包括一级或多级缓存(诸如一级缓存610和二级缓存612)、处理器核心614以及寄存器616。示例处理器核心614可以包括算术逻辑单元(alu)、浮点单元(fpu)、数字信号处理核心(dsp核心)或其任意组合。示例存储器控制器618还可以与处理器604一起使用,或者在一些实现中,存储器控制器618可以为处理器604的内部部分。

取决于期望的配置,系统存储器606可以为包括但不限于易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或其任意组合的任意类型。系统存储器606可以包括操作系统620、一个或多个应用622以及程序数据624。如图6所示,操作系统620可以包括用于管理一个或多个虚拟机114的管理程序107。图6中由内部短划线内的那些组件图示了该所述的基本配置602。

计算设备600可以具有促进基本配置602与任意其他设备和接口之间的通信的另外特征或功能和另外接口。例如,总线/接口控制器630可以用于经由存储接口总线634促进基本配置602与一个或多个数据存储设备632之间的通信。数据存储设备632可以为可移除存储设备635、非可移除存储设备638或其组合。可移除存储设备和非可移除存储设备的示例包括磁盘设备(诸如软盘驱动器和硬盘驱动器(hdd))、光谱驱动器(诸如压缩盘(cd)驱动器或数字通用光盘(dvd)驱动器)、固态驱动器(ssd)以及磁带驱动器,这里仅列举几个例子。示例计算机存储介质可以包括在用于存储信息的任一方法或技术中实现的易失性和非易失性的、可移动和不可移动的介质(诸如计算机可读指令、数据结构或程序模块或其他数据)。术语“计算机可读存储介质”或“计算机可读存储设备”不包括传播信号和通信介质。

系统存储器606、可移除存储设备636以及非可移除存储设备638是计算机可读存储介质的示例。计算机可读存储介质包括但不限于ram、rom、eeprom、闪存或其他存储技术、cd-rom、数字通用光盘(dvd)或其他光存储设备、磁带盒、磁带、磁盘储存器或其他磁存储设备或可以用于存储期望信息且可以由计算设备600访问的任意其他介质。任意这种计算机可读存储介质可以为计算设备600的一部分。术语“计算机可读存储介质”不包括传播信号和通信介质。

计算设备600还可以包括接口总线640,该接口总线用于经由总线/接口控制器630促进从各种接口设备(例如,输出设备642、外围接口644以及通信设备646)到基本配置602的通信。示例输出设备642包括图形处理单元648和音频处理单元650,该图形处理单元和音频处理单元可以被配置为经由一个或多个a/v端口652通信到各种外部设备(诸如显示器或扬声器)。示例外围接口644包括串行接口控制器654或并行接口控制器656,该串行接口控制器或并行接口控制器可以被配置为经由一个或多个i/o端口658与外部设备(诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等)或其他外围设备(例如,打印机、扫描仪等))通信。示例通信设备646包括网络控制器660,该网络控制器可以被布置为促进经由一个或多个通信端口664通过网络通信链路与一个或多个其他计算设备662进行的通信。

网络通信链路可以为通信介质的一个示例。通信介质通常可以由计算机可读指令、数据结构、程序模块或调制数据信号(诸如载波或其他传输机制)中的其他数据来具体实施,并且可以包括任意信息递送介质。“调制数据信号”可以为具有以编码信号中的信息的这种方式设置或改变的一个或多个特性的信号。通过示例而非限制的方式,通信介质可以包括有线介质(诸如有线网络或直接连线连接)和无线介质(诸如声学、射频(rf)、微波、红外以及其他无线介质)。如这里所用的术语计算机可读介质可以包括存储介质和通信介质这两者。

计算设备600可以被实现为小形状因数的便携式(或移动)电子设备(诸如移动电话、个人数据助理(pda)、个人媒体播放器设备、无线网络观看设备、个人耳机设备、专用设备或包括上述功能中的任意一个的混合设备)的一部分。计算设备600还可以被实现为包括膝上型计算机和非膝上型计算机配置这两者的个人计算机。

上面已经为了图示的目的而描述了技术的具体实施例。然而,可以在不偏离前述公开的情况下进行各种修改。另外,一个实施例的元件中的许多元件可以除了其他实施例的元件之外或代替这些元件与其他实施例组合。因此,技术仅由所附权利要求限制。

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