配置计算机节点之间的通信制造技术

技术编号:9254952 阅读:120 留言:0更新日期:2013-10-16 21:23
本发明专利技术描述了一种对多个计算节点(如,被一个或多个物理网络分开的计算节点)之间的通信进行配置的技术。在一些情况下,这种技术可以用于在被一个或多个中间物理网络分开的多个计算节点之间提供虚拟网络,如,通过修改进入和/或离开中间物理网络的通信,从一个或多个中间物理网络的边缘提供。

【技术实现步骤摘要】
配置计算机节点之间的通信本申请是申请号为200980119944.8(“配置计算机节点之间的通信”)的中国专利申请的分案申请。
技术介绍
许多公司和其它组织操作计算机网络,计算机网络使多个计算系统互连以支持这些计算系统的功能,这些计算系统备选地位于同一位置(例如,作为私有本地网络的一部分)或位于多个不同的地理位置(例如经由一个或多个专用或共享中间网络相连)。例如,容纳了大量互连计算系统的数据中心变得很平常,如,由单个组织操作并代表该组织的私有数据中心,以及由商业实体来操作的公共数据中心。一些公共数据中心运营商为不同客户所拥有的硬件提供访问、权限和安全安装设施,而其它公共数据中心运营商提供“全服务”设施,所述“全服务”设施还包括可供这些运营商的用户使用的硬件资源。然而,随着典型数据中心和计算机网络的规模和范围的增大,提供、执行和管理相关物理计算资源的任务变得越来越复杂。商品硬件的虚拟化技术的出现有益于为具有不同需求的客户管理大规模计算资源,从而允许在多个客户之间高效且安全地共享各种计算资源。例如,虚拟化技术(如,WMVare、XEN或User-ModeLinux提供的虚拟技术)可以通过为每个用户提供由单个物理计算机掌控的一个或多个虚拟机同时还在不同虚拟机之间提供应用隔离和安全性,来允许在多个用户之间共享单个物理计算机,其中每个这样的虚拟机是用作相异的逻辑计算系统的软件仿真,该逻辑计算系统为用户给出他们是给定的计算资源的唯一操作者和管理员的假象。此外,一些虚拟化技术还能够提供跨过一个或多个物理资源的虚拟资源,如,具有多个虚拟处理器的单个虚拟机,该单个虚拟机实际上跨过多个相异的物理计算系统。尽管数据中心和虚拟化技术的可用性提供了多种优点,然而仍然存在多种问题,包括与管理虚拟机和/或物理计算系统之间的通信有关的问题。附图说明图1是示出了对属于虚拟网络的计算节点之间的通信进行配置的示例实施例。图2A和2B示出了对计算节点之间经由覆盖网络而发生的通信进行管理的示例。图2C示出了对基础底层网络地址进行配置以使得可以为覆盖网络嵌入虚拟网络地址的示例。图3是示出了计算系统的框图,所述计算系统适于实现用于对计算节点之间的通信进行管理的系统的实施例。图4示出了系统管理器例程的示例实施例的流程图。图5示出了通信管理器例程的示例实施例的流程图。具体实施方式描述了用于对多个计算节点(如,被一个或多个物理网络分开的计算节点)之间的通信进行管理的技术。在一些实施例中,这些技术用于在被一个或多个中间物理网络分开的多个计算节点(如,由单个实体执行或代表单个实体的多个计算节点)之间提供虚拟网络的技术。如以下将更详细讨论的,在不同实施例中可以以不同方式来提供这样的虚拟网络,如,通过修改进入和/或离开中间物理网络的通信以便提供覆盖网络,来从一个或多个物理网络的边缘提供虚拟网络。在至少一些实施例中,上述实施例中的一些或全部由通信管理器模块的实施例自动执行。在至少一些实施例中,通过在分离多个计算节点的一个或多个中间物理网络上创建覆盖网络,来提供多个远程计算节点之间的虚拟本地网络或其它虚拟网络。在不同实施例中可以以不同方式来实现覆盖网络,如,通过在用于一个或多个物理网络的网络协议的较大物理网络地址空间中嵌入虚拟网络的虚拟网络地址信息,在不封装通信的情况下实现覆盖网络。作为一个说明性示例,可以使用32比特IPv4(“互联网协议版本4”)网络地址来实现虚拟网络,这些32比特虚拟网络地址可以作为由一个或多个中间物理网络使用的128比特IPv6(“互联网协议版本6”)的一部分而嵌入,如,通过对通信分组或其它数据传输重新加首部(例如,使用无状态IP/ICMP变换,或SIIT)或修改这样的数据传输以将这些数据传输从这些数据传输所配置用于的第一网络协议变换到相异的第二网络协议,来嵌入32比特虚拟网络地址。更一般地,在一些实施例中,根据第一网络寻址协议指定的N比特网络地址可以被嵌入为根据第二网络寻址协议指定的另一M比特网络地址的一部分,其中,“N”和“M”是与网络寻址协议相对应的任何整数。此外,在至少一些实施例中,可以使用另一网络地址的多于或少于N比特将N比特网络地址嵌入另一网络地址中,如在可以使用更少的比特来表示感兴趣的N比特网络地址组(例如,L比特标记或标识符映射到具体N比特网络地址并且嵌入另一网络地址中,其中“L”小于“N”)的情况下一样。与SIIT有关的其它细节参见“RequestForComments2765-StatelessIP/ICMPTranslationAlgorithm”,February2000,attools<dot>ietf<dot>org<slash>html<slash>rfc2765(其中,<dot>和<slash>被具有这些名称的相应字符替换),其全部公开一并在此作为参考。如以下更详细描述的,通过在基础物理底层网络的物理网络地址中嵌入虚拟网络地址可以获得许多好处,包括使得可以在物理底层网络上实现虚拟网络的覆盖,而不用封装通信或配置物理底层网络的连网设备。此外,在至少一些实施例和情况下,对于计算节点之间的通信,可以将其它信息类似地嵌入更大的物理网络地址空间中,如,特定于包括这些计算节点的具体虚拟网络(例如,用于实体的虚拟网络,其中这些计算节点代表所述实体来进行操作)的标识符。以下包括了与利用覆盖网络提供这种虚拟网络有关的另外的细节。此外,在至少一些实施例中,彼此之间通信的计算节点可以是物理计算系统和/或可以是一个或多个物理计算系统上分别受掌控的虚拟机,通信可以包括各种格式的数据(例如,消息、分组、帧、流、等等)的传输。此外,在至少一些实施例中,至少一些计算节点可以是程序执行服务(或“PES”)的一部分,所述程序执行服务代表服务的多个客户或其它用户执行多个程序,如,在多个物理网络(例如,数据中心内的多个物理计算系统和网络)上使用多个计算系统的程序执行服务。在至少一些这样的实施例中,如以下更详细讨论的,程序执行服务的一个或多个系统管理器模块可以对哪些计算节点属于哪些虚拟网络进行跟踪和/或管理,如,基于代表客户或其它实体执行程序的计算节点来进行跟踪和/或管理。上述技术的使用可以在多种情况下提供多种好处,如,限制从具体虚拟网络的计算节点向属于虚拟网络的其它计算节点的通信和/或从所述其它计算节点向所述具体虚拟网络的计算节点的通信。以这种方式,属于多个虚拟网络的计算节点可以共享一个或多个中间物理网络的一部分,同时仍然保持具体网络的计算节点的网络隔离。此外,上述技术的使用允许利用覆盖网络根据需要来物理地移动或定位虚拟网络的计算节点,所述覆盖网络管理具体虚拟网络地址向对应实际物理网络地址的通信的路由(例如,通过更新映射,所述映射使具体虚拟网络的具体虚拟网络地址与分派了这些虚拟网络地址的计算节点的具体物理位置相关联)。例如,如以下更详细描述的,例如基于相关联通信管理器模块分派给计算节点的伪硬件地址的管理,可以在不同物理网络之间物理地移动虚拟网络的计算节点,同时来消除或最小本文档来自技高网...
配置计算机节点之间的通信

【技术保护点】
一种计算机实现的方法,包括:由第一服务器设备的通信模块接收从第一虚拟网络的发送虚拟机到第一虚拟网络上的目的地虚拟机的输出通信,输出通信具有针对目的地虚拟机的指示虚拟网络地址,并且第一服务器设备具有与第二网络的连通性,第二网络包括掌控了目的地虚拟机的第二服务器设备;由第一服务器设备的通信模块根据第一虚拟网络在第二网络上的覆盖来修改输出通信,所述修改输出通信至少部分地基于针对第一虚拟网络的覆盖而保持的映射信息,并且包括向输出通信添加针对第二网络的目的地网络地址,其中目的地网络地址与第二服务器设备相关联;并且由第一服务器设备的通信模块发起基于针对第二网络的目的地网络地址经由第二网络向第二服务器设备转发修改后的输出通信。

【技术特征摘要】
2008.03.31 US 12/060,138;2008.03.31 US 12/060,0741.一种计算机实现的方法,包括:由第一服务器设备上的通信模块在第一服务器设备上存储针对第一虚拟网络的映射信息,所述第一服务器设备至少掌控了被配置为参加第一虚拟网络的第一虚拟机,所述映射信息包括至少与作为第一虚拟网络的一部分的其他虚拟机相关的信息;由所述第一服务器设备上的通信模块接收从第一服务器设备掌控的第一虚拟机发送到第一虚拟网络上并且被第二服务器设备掌控的目的地虚拟机的输出通信,输出通信具有针对目的地虚拟机并且在第一虚拟网络中使用的虚拟网络地址,并且其中第一服务器设备具有与第二网络的连通性,第二网络包括掌控了目的地虚拟机的第二服务器设备;由第一服务器设备的通信模块至少部分地基于所述存储的映射信息,根据第一虚拟网络在第二网络上的覆盖来修改所述输出通信,所述修改输出通信包括向输出通信添加在第二网络中使用的目的地网络地址,其中目的地网络地址与第二服务器设备相关联;并且由第一服务器设备的通信模块发起基于被添加到修改后的输出通信的针对第二网络的目的地网络地址经由第二网络向第二服务器设备转发修改后的输出通信。2.根据权利要求1所述的计算机实现的方法,还包括:在经由第二网络转发修改后的输出通信之后,由第二服务器设备接收修改后的输出通信;根据修改后的输出通信,确定针对目的地虚拟机的虚拟网络地址;并且使用确定的虚拟网络地址,向目的地虚拟机提供输出通信。3.根据权利要求2所述的计算机实现的方法,其中,确定针对目的地虚拟机的虚拟网络地址包括:从目的地网络地址内获取针对目的地虚拟机的虚拟网络地址的表示。4.根据权利要求1所述的计算机实现的方法,还包括:至少部分地基于被允许与目的地虚拟机通信的第一虚拟机来验证接收到的输出通信被授权。5.根据权利要求1所述的计算机实现的方法,其中,修改输出通信还包括:向输出通信添加针对第一虚拟网络的标识符,以将该输出通信与针对第二网络上覆盖的其他虚拟网络的其他输出通信相区分。6.根据权利要求1所述的计算机实现的方法,其中,所述存储映射信息包括:通过与第二网络上保持映射信息的远程服务器进行交互来获得要存储的映射信息。7.根据权利要求1所述的计算机实现的方法,还包括:向保持映射信息的映射服务器发送包括针对目的地虚拟机的虚拟网络地址在内的查询;并且响应于所述查询从映射服务器接收针对第二网络的目的地网络地址。8.根据权利要求1所述的计算机实现的方法,其中,修改输出通信还包括:构造针对第二网络的目的地网络地址,以包括与关联于第一虚拟机和目的地虚拟机的实体相对应的标识符。9.根据权利要求1所述的计算机实现的方法,其中,与第一虚拟网络相关联的第一网络寻址协议和与第二网络相关联的第二网络寻址协议分别是互联网协议版本4IPv4和互联网协议版本6IPv6中的任意一个。10...

【专利技术属性】
技术研发人员:丹尼尔·T·科恩
申请(专利权)人:亚马逊技术有限公司
类型:发明
国别省市:

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

1