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

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

【技术实现步骤摘要】
配置计算机节点之间的通信本申请是申请号为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.根据权利要求1所述的方法,其中,接收到的输出通信还包括发送节点使用第一网络寻址协议指定的发送节点的指示第一源网络地址;目的地节点使用目的地节点所属的网络的第一网络寻址协议;并且修改后的输出通信还包括具有第一源网络地址的表示的指示源地址,使得目的地节点接收输出通信的拷贝,所述输出通信的拷贝被示出为从第一源网络地址被发送至第一目的地网络地址。4.一种计算机实现的对计算节点之间的通信进行配置的方法,所述方法包括:接收由发送节点向目的地节点发送的输出通信,所述目的地节点使用根据第一网络的第一网络寻址协议指定的第一目的地网络地址,其中所述发送节点经由使用与所述第一网络寻址协议相异的第二网络寻址协议的一个或多个第二网络与目的地节点通信连接,以及其中发送节点和目的地节点是虚拟网络中的计算节点且各自都与跟实体相对应的虚拟网络的标识符相关联,其中所述虚拟网络的发送节点和目的地节点代表所述实体来操作;在使用第二网络寻址协议的所述一个或多个第二网络上向目的地节点发送输出通信之前,自动确定根据第二网络寻址协议指定并且与所述第一目的地网络地址相异的第二目的地网络地址,其中第二目的地网络地址包括基于第二网络寻址协议的目的地节点的部分目的地网络地址,第二目的地网络地址还包括第一目的地网络地址的表示,其中所述第二目的地网络地址被构造为包括所述标识符,以将所述输出通信识别为与所述虚拟网络相关联;以及修改输出通信,以便使能在所述一个或多个第二网络上覆盖第一网络,修改输出通信包括:将第一目的地网络地址改变为用于在一个或多个第二网络上将修改后的输出通信发往目的地节点的第二目的地网络地址,所述修改是在不将输出通信封装在与所述输出通信相异的任意其它通信中的情况下执行的。5.一种被构造为配置计算节点之间的通信的系统,包括:一个或多个计算系统的一个或多个存储器;以及多个通信管理器模块中的至少一个,所述多个通信管理器模块被配置为管理经由一个或多个第二网络在第一网络的多个计算节点之间的通信,使得每个通信管理器模块通过以下步骤来管理由多个计算节点中的一个或多个组成的相关联组的输出通信:在发送节点发起向目的地节点的通信之后,确定用于与根据一个或多个第二网络使用的网络寻址协议而指定的通信一起使用的目的地网络地址,其中,目的地节点是另一通信管理器模块的相关联组的一部分,发送节点是通信管理器模块的相关联组的计算节点之一,其中所确定的目的地网络地址包括与所述另一通信管理器模块相对应的部分网络地址,所述另一通信管理器模块的相关联计算节点组包括目的地节点,所确定的目的地网络地址还包括根据第一网络使用的其它网络寻址协议而由发送节点指定的目的地节点的网络地址的指示,其中发送节点和目的地节点是虚拟网络中的计算节点且各自都与跟实体相对应的虚拟网络的标识符相关联,其中所述虚拟网络的发送节点和目的地节点代表所述实体来操作,以及所确定的目的地网络地址被构造为包括所述标识符,以将所述通信识别为与所述虚拟网络相关联;修改通信,以便使能在所述一个或多个第二网络上覆盖第一网络,修改通信是在不将所述通信封装在与所述通信相异的任意其它通信中的情况下执行的,并且修改通信包括:将所确定的目的地网络地址添加到修改后的通信中,以用于在所述一个或多个第二网络上将修改后的通信发往目的地节点;以及使用所确定的目的地网络地址将修改后的的通信经由所述一个或多个第二网络转发至目的地节点。6.根据权利要求5所述的系统,其中,通信管理器模块确定用于与发送节点向目的地节点发起的通信一起使用的目的地网络地址包括与远程系统管理器模块交互,远程系统管理器模块保持与每个通信管理器模块的相关联计算节点组有关的信息,所述交互包括向系统管理器模块提供根据由发送节点使用的其它网络寻址协议而指定的目的地节点网络地址的指示,所述交互还包括从系统管理器模块接收部分网络地址的指示,所述部分网络地址与相关联计算节点组包括目的地节点的另一通信管理器模块相对应;系统还包括被配置为与多个通信管理器模块交互的一个或多个系统管理器模块。7.根据权利要求5所述的系统,还包括提供多个通信管理器模块的多个计算系统,计算系统中的一个或多个各自主持多个虚拟机,每个虚拟机提供多个计算节点之一,并且计算系统中的一个或多个各自执行作为计算系统的虚拟机管理器模块的一部分的通信管理器模块之一,使得计算系统的所主持的虚拟机所提供的计算节点是所执行的通信管理器模块的相关联计算节点组。8.一种计算机实现的管理计算节点之间的通信的方法,所述方法包括:接收与从源节点向目的地节点发送的通信有关的指示,...

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

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

1