CN104272698A - 修改虚拟机通信 - Google Patents
修改虚拟机通信 Download PDFInfo
- Publication number
- CN104272698A CN104272698A CN201280073034.2A CN201280073034A CN104272698A CN 104272698 A CN104272698 A CN 104272698A CN 201280073034 A CN201280073034 A CN 201280073034A CN 104272698 A CN104272698 A CN 104272698A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- address
- network
- equipment
- communication
- 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.)
- Pending
Links
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/542—Intercept
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
Abstract
在一个实施中,实施在托管一个或多个虚拟机的计算设备上的主机平台确定由虚拟机生成并且预期用于另一虚拟机的通信将被传输到网络设备。因此,主机平台修改由虚拟机生成的通信。
Description
背景技术
例如由云计算服务提供的虚拟化基础设施可以包括虚拟联网资源来促进在实施在虚拟化基础设施之内的不同虚拟机之间的通信。在某些情况下,可以期望在虚拟网络上部署网络设备。
附图说明
图1A-1C是在其上提供虚拟化基础设施的计算系统的示例的框图。
图2是虚拟网络的示例的示意图。
图3是图示了用于沿着虚拟网络路径传输通信的过程的示例的流程图。
图4-6是图示了用于处理由虚拟机生成的通信的不同过程的示例的流程图。
具体实施方式
图1A是在其上提供虚拟化基础设施的计算系统100的示例的框图。计算系统100包括由物理网络104通信地耦合的多个物理计算设备102(a)-102(n)(例如服务器)。
物理网络104可以提供在物理计算设备102之间的直接或间接的通信链路。物理网络104的示例包括包含无线LAN(WLAN)的局域网(LAN)、广域网(WAN)、因特网、万维网、模拟或数字有线和无线电话网络、无线电、电视、电缆、卫星和/或用于携带数据的任何其他递送机制以及上述中的任何的组合。
每个物理计算设备102可以包括一个或多个处理器用于执行存储在存储中和/或从一个或多个其他电子设备例如通过物理网络104接收的指令。而且,每个物理计算设备102可以具有内部或外部的存储部件,其存储数据和/或计算机可读指令,当由物理计算设备102的一个或多个处理器执行时所述指令使得物理计算设备102来实施某些功能性。
如在图1A中图示的那样,每个物理计算设备102被配置成实施主机平台106并且被配置成托管一个或多个虚拟机108。为了托管一个或多个虚拟机108,每个物理计算设备102可以实施管理程序(未示出)和/或虚拟机管理器(未示出)。这样的管理程序或虚拟机管理器可以被实施为存储在对物理计算设备102可访问的存储部件中的计算机可读指令。当由物理计算设备102的一个或多个处理器执行时,这些计算机可读指令可以使得物理计算设备除其他功能之外提供如下能力:控制将物理计算设备102的资源(例如存储器空间)分配到在物理计算设备102上托管的一个或多个虚拟机108、当多个虚拟机当前同时被托管在物理计算设备102上时来管理虚拟机108的并行执行和/或在当多个虚拟机被托管在物理计算设备上时的虚拟机108的执行的周期期间适当地发起上下文切换。在某些实施中,这些计算机可读指令可以在物理计算设备102的硬件上直接运行。在其他实施中,操作系统可以在物理计算设备102的硬件上直接运行,并且这些计算机可读指令可以在由操作系统提供的环境之内运行。
托管在物理计算设备102上的每个虚拟机108可以模拟单独的硬件设备(例如诸如计算机的物理计算设备;诸如交换机、路由器、防火墙和/或网关的处理设备等等)并且提供自持的操作环境。同样,托管在物理计算设备102上的单独虚拟机108可以在物理计算设备102上运行其自己的来宾操作系统(guest operating system)。因此,托管在物理计算设备102上的多个不同的虚拟机108可以运行它们自己的来宾操作系统,并且这样的来宾操作系统跨托管在物理计算设备102上的各种不同虚拟机108可以是相同或不同的。而且,在物理计算设备102上运行其自己的来宾操作系统的虚拟机108也可以执行一个或多个不同的应用。在每个物理设备102上执行的管理程序或虚拟机管理器可以将存储器的具体部分献给托管在物理设备102上的每个虚拟机并且调整到存储器的这样的专用的部分的访问,企图防止托管在物理计算设备102上的虚拟机108(至少在没有授权的情况下)访问托管在物理计算设备102上的另一虚拟机108的专用存储器部分。
主机平台106可以被实施为存储在对在其上托管主机平台106的物理计算设备102可访问的存储部件中的计算机可读指令。除其他特征之外,实施在物理计算设备102(a)-102(n)上的主机平台106可以使得联网资源对托管在物理计算设备102(a)-102(n)的虚拟机108可用,由此使得由计算系统100托管的虚拟机108中的单独一些能够交换通信而不论虚拟机108被托管在相同还是不同的物理计算设备102上。在某些实施中,主机平台106除使得联网资源可用之外还可以提供管理程序或虚拟机管理器功能性。在替代实施中,主机平台106可以不提供管理程序或虚拟机管理器功能性。例如,主机平台106可以被实施为运行在实施在物理计算设备102上的管理程序或虚拟机管理器的顶部上和/或由实施在物理计算设备102上的管理程序或虚拟机管理器运行的虚拟机。附加地或替代地,主机平台106可以被实施为在物理计算设备102上的管理程序-或虚拟机管理器-特权级处执行的软件层。
如在图1A中图示的那样,在某些实施中,每个虚拟机108可以实施虚拟网络接口(VIF)110,其向实施在与虚拟机相同的物理计算设备102上的主机平台106提供联网接口。另外,每个主机平台106可以访问物理计算设备102的网络接口卡(NIC),在所述物理计算设备102上实施所述主机平台106。在这样的实施中,单独主机平台106可以被配置成(例如从被托管在相同的物理计算设备102上的虚拟机108或者通过物理网络104从被托管在不同的物理计算设备102上的虚拟机108)接收网络包并且适当地分发它。
例如,如果主机平台106接收指定给在其上实施所述主机平台106的相同的物理计算设备102上执行的虚拟机108的包,则主机平台106可以针对所述包指定给的虚拟机108将包分派到适当的VIF 110。类似地,如果主机平台106(例如从托管在在其上实施所述主机平台106的相同的物理计算设备102上的虚拟机108)接收指定给在不同于在其上实施所述主机平台106的物理计算设备102的物理计算设备102上执行的虚拟机108的包,则主机平台106可以将包转发到物理计算设备102的NIC 112,在所述物理计算设备102上主机平台106被实施用于跨物理网络104到在其上托管目的地虚拟机108的特定物理计算设备102的分发。
在某些实施中,虚拟机的VIF 110可以模拟以太网设备并且将出站(outbound)通信从它们的虚拟机108作为以太网帧传输。在这样的实施中,主机平台106可以在将包转发到在其上所述主机平台106被实施用于跨物理网络104的分发的物理计算设备102的NIC 112之前将出站以太网帧封装在因特网协议(IP)包中(例如使用EtherIP协议)。类似地,主机平台106可以在将以太网帧分派到所述包的虚拟机108的VIF 110之前将入站(inbound)IP包解封装成以太网帧(例如根据EtherIP协议)。
在某些实施中,由计算系统100托管的相关的虚拟机108,甚至由不同物理计算设备102托管的虚拟机108可以被分组到操作为虚拟网络的网段中,其每个都模拟分离的网络结构。例如,如在图1B中图示的那样,由计算系统100托管的虚拟机108可以被分段为三个分离的虚拟网络152、154和156,其中的每个模拟其自己的分离的网络结构。相关的虚拟机108到虚拟网络的这样的分段可以使能跨网段的虚拟机108的这样的安全机制除其他之外强制执行为隔离、保密性、完整性和信息流控制。各种不同的动机可以启示由计算系统100托管的虚拟机108到虚拟网络的分段。例如,在计算系统100向多个不同顾客提供虚拟化计算基础设施的实施中,针对特定顾客的由计算系统100托管的虚拟机108可以被分段到它们自己的虚拟网络中,由此使能跨属于特定顾客的虚拟网络的虚拟机的公共安全策略的强制执行。
在某些情况下,当诸如例如在图1B中图示的虚拟网络152的虚拟网络被提供来模拟连接由计算系统100托管的相关的虚拟机108的特定组的网络结构时,可能期望将网络设备插入到虚拟网络152中。例如,参考图1C,可能期望将网关180添加到虚拟网络152来处理在虚拟网络152上的全部(或者全部的网络业务量的某些限定的子集)网络业务量。虽然网关是可以在虚拟网络上部署的网络设备的一个示例,但是许多其他类型的网络设备也可以被插入到虚拟网络中。例如,除其他之外,防火墙、入侵检测系统、路由器、交换机、IP电话网络设备、统一通信解决方案设备、WAN优化和应用加速设备、负载平衡设备、动态内容高速缓存设备、安全套接层(SSL)加速设备、应用性能监视设备、虚拟专用网(VPN)/IP安全(IPsec)设备、反恶意软件设备、反垃圾邮件设备和网络管理设备是可以在虚拟网络上部署的其他网络设备的示例。在某些实施中,这样的网络设备可以被实施为托管在计算系统100的物理计算设备102上的虚拟机。附加地或替代地,这样的网络设备可以被实施为通信地耦合到物理网络104的独立的硬件设备。
本文公开的技术可以使能在没有在虚拟网络和/或在其上执行的应用上的虚拟机的网络级信息的重新配置的情况下的在虚拟网络上的网络设备的部署,诸如例如上文结合图1C描述的在虚拟网络152上的网关180的部署。附加地或替代地,本文公开的技术可以使得这样的网络设备能够对网络业务量的源和目的地端点中的一个或两个透明地处理虚拟网络上的业务量,使得源和目的地端点中的一个或两个不察觉网络业务量已经由网络设备处理。托管这样的虚拟化基础设施并且采用这样的技术来使能在没有重新配置网络级信息的情况下的在虚拟网络上的网络设备的部署和在虚拟网络上的网络业务量的透明处理的计算系统可以被说成将网络处理提供为服务,因为可以以无缝和自动的方式并且在没有引人注意地干扰网络业务量的情况下部署网络设备。
图2是虚拟网络200的示例的示意图,并且图3是图示了用于沿着在诸如例如图2的虚拟网络200的虚拟网络中的网络路径传输通信的过程的示例的流程图300。
如在图2中图示的那样,虚拟网络200包括第一虚拟机202和相应的第一主机平台204以及第二虚拟机206和相应的第二主机平台208。如上文结合图1A-1C描述的那样,第一虚拟机202和主机平台204被实施在相同的物理计算设备(未示出)上,其具有NIC 205。类似地,第二虚拟机206和主机平台208也被实施在相同的物理计算设备(未示出)上,其具有NIC 209。在某些实施中,第一虚拟机202和第二虚拟机可以被实施在相同的物理计算设备上。在这样的实施中,第一主机平台204和第二主机平台208实际上可以代表相同的主机平台。
虚拟网络200也包括网络设备210和相应的第三主机平台212。如在图2中示出的那样,网络设备210可以被实施为在与第三主机平台212相同的物理计算设备(未示出)上的虚拟机,并且在其上实施网络设备210和第三主机平台212的物理计算设备可以具有NIC 214。在某些实施中,网络设备210可以被实施在不同于在其上实施第一虚拟机202和第二虚拟机206两者的(一个或多个)物理计算设备的物理计算设备上。在其他实施中,网络设备210可以被实施在与第一虚拟机202和第二虚拟机206中的一个或两个相同的物理计算设备上。在这样的实施中,第三主机平台212可以代表与第一主机平台204和第二主机平台208中的一个或两个相同的主机平台。
如在图2中图示的那样,物理网络216通信地连接在其上实施第一虚拟机202和第一主机平台204的物理计算设备、在其上实施网络设备210和第三主机平台212的物理计算设备以及在其上实施第二虚拟机206和第二主机平台208的物理计算设备。如在图2中进一步图示的那样,第一虚拟机202已经被分配了涉及在虚拟网络200中的其成员资格的虚拟介质访问控制(MAC)地址vMACs和IP地址IPs。类似地,第二虚拟机206已经被分配了涉及在虚拟网络200中的其成员资格的虚拟MAC地址vMACr和IP地址IPr,并且网络设备210也已经被分配了涉及在虚拟网络200中的其成员资格的虚拟MAC地址vMACa和IP地址IPa。另外,在其上实施第一虚拟机202和第一主机平台204的物理计算设备的NIC 205已经被分配了物理MAC地址pMAC1,在其上已经实施网络设备210和主机平台212的物理计算设备的NIC 214已经被分配了物理MAC地址pMAC2,并且在其上已经实施第二虚拟机206和第二主机平台208的物理计算设备的NIC 209已经被分配了物理MAC地址pMAC3。虽然在图2中未图示,但是第一主机平台204、第二主机平台208和第三主机平台212每个都可以存储,或者否则具有对其可访问的网络策略,该网络测量指定用于处理(例如重新路由)在虚拟网络200以及由在其上实施虚拟网络200的计算系统提供的一个或多个附加的虚拟网络上的业务量的一个或多个规则。
图2的示意图图示了网络包218的路径,所述网络包218最初由在第一虚拟机202上执行的应用传输到在第二虚拟机206上执行的应用。因为网络包218由在第一虚拟机202上执行的应用发送,所以第一虚拟机202可以被称为发送虚拟机202。类似地,因为网络包206由在第二虚拟机206上执行的应用接收,所以第二虚拟机206可以被称为接收虚拟机206。
再次参考图3,流程图300图示了随着网络包218从发送虚拟机202横越虚拟网络200到接收虚拟机206在网络包218上执行的处理操作的示例。虽然在图2中未图示,但是在图3中图示了在其上实施发送虚拟机202和第一主机平台204的物理计算设备302、在其上实施网络设备210和第三主机平台212的物理计算设备304以及在其上实施接收虚拟机206和第二主机平台208的物理计算设备306。
如在图2和3中图示的那样,当在发送虚拟机202上执行的应用准备好将通信发送到在接收虚拟机206上执行的应用时,发送虚拟机202编写(compose)网络包218。在某些实施中,由发送虚拟机202编写的网络包218可以是具有以太网报头的以太网帧,所述以太网报头将接收虚拟机206的虚拟MAC地址vMACr指定为网络包218的目的地并且将发送虚拟机202的虚拟MAC地址vMACs指定为网络包218的源。另外,以太网帧的净荷可以包括具有IP报头的IP包,所述IP报头将接收虚拟机206的IP地址IPr指定为网络包218的目的地并且将发送虚拟机202的IP地址IPs指定为网络包218的源。在310处,发送虚拟机202将网络包218传输到第一主机平台204。
在312处,第一主机平台204从发送虚拟机202接收网络包218。第一主机平台204然后在314处将网络包218与网络策略比较。如上文描述的那样,网络策略可以指定用于处理在虚拟网络200以及由在其上实施虚拟网络200的计算系统提供的一个或多个附加虚拟网络上的业务量的规则。
例如,在某些实施中,网络策略可以指定在虚拟网络200上的所有业务量将被通过网络设备210路由。
替代地,在其他实施中,网络策略可以指定在虚拟网络206上的某些类型的网络业务量(但未必是全部的网络业务量)将被路由到网络设备210。例如,网络策略可以指定基于网络协议的用于将网络业务量重新路由到网络设备210的规则。例如,网络策略可以指定web业务量(例如HTTP和/或HTTPs业务量)将被重新路由到网络设备210。附加地或替代地,网络策略可以指定文件下载(例如FTP)和/或IP语音业务量应该被重新路由到网络设备210(或不同的网络设备)。以该方式,在虚拟网络200上的不同类型的网络业务量可以被路由到在虚拟网络200上的不同类型的网络设备。
在其他实施中,网络策略可以指定发源于一个或多个具体虚拟机(例如发送虚拟机202)的全部网络业务量将被路由到网络设备210。附加地或替代地,网络策略可以指定指定给一个或多个具体虚拟机(例如接收虚拟机206)的全部网络业务量将被路由到网络设备210。替代地,网络策略可以指定来自一个网络指定给虚拟网络200的全部业务量将被重新路由到网络设备210。
进一步地,在某些实施中,仅符合由网络策略指定的规则的网络业务量的子集可以实际上被重新路由到网络设备218。例如,仅符合由网络策略指定的规则的网络业务量的随机样本可以实际上被转发到网络设备210。替代地,仅符合由网络策略指定的规则的连接的网络业务量的某些限定的定额(例如新连接的每个第一个包)可以实际上被转发到网络设备210。
如上文描述的那样,在某些实施中,网络包可以是以太网帧并且所述以太网帧的净荷可以包括IP包。在这样的实施中,第一主机平台204可以基于在IP包的IP报头中指定的源和/或目的地IP地址确定网络包218对应的虚拟网络、网络包218的源虚拟机和/或网络包218的目的地虚拟机。附加地或替代地,第一主机平台204可以基于TCP/UDP端口信息或者来自在网络包218中指定的较高级别的联网协议的其他信息确定网络包218对应的虚拟网络、网络包218的源虚拟机和/或网络包218的目的地虚拟机。
在任何情况下,由于将网络包218与网络策略比较,所以第一主机平台204根据网络策略确定网络包218将被重新路由到网络设备204。因此,在316处,第一主机平台204以网络设备210的IP地址IPa标记网络包218。例如,当由第一主机平台204处理网络包218时,网络设备210的IP地址IPa可以被添加到网络包218作为与网络包218相关联的元数据的形式,但是在网络包218被传输到第一主机平台204之外之后其被从网络包218解除关联(例如删除或分离)。
除以网络设备210的IP地址IPa标记网络包218之外,在318处,第一主机平台204还例如基于以其已经标记网络包218的网络设备210的IP地址IPa执行MAC地址的查找以用于将网络包218转发到网络设备210。
然后,在320处,第一主机平台204重写网络包218的以太网报头。例如,如在图2中图示的那样,第一主机平台204可以执行在其上实施网络设备210的物理计算设备304的NIC 214的物理MAC地址pMAC2的查找,并且以pMAC2重写网络包218的以太网报头的目的地地址。另外,第一主机平台204也可以以在其上实施发送虚拟机202和第一主机平台204的物理计算设备302的NIC 205的物理MAC地址pMAC1重写网络包218的以太网报头的源地址。始终,第一主机平台204可以保持在网络包218的IP报头中指定的目的地和源IP地址未修改。在322处,第一主机平台204将网络包218传输到NIC 205,其将网络包218放置到物理网络216上。在某些实施中,网络包218可以是以太网帧,并且,在将网络包218传输到NIC 205之前,第一主机平台204可以使用EtherIP协议来将以太网帧封装在IP包之内。
在324处,由实施在物理设备304上的第三主机平台212例如经由NIC 214接收网络包218,在所述物理设备304上实施网络设备210。在某些实施中,由第三主机平台212接收的网络包218可以是在其内封装以太网帧的IP包。在这样的实施中,第三主机平台可以在接收包时将以太网帧从IP包解封装。然后,在326处,第三主机平台212将接收的网络包218与网络策略比较,并且因此确定网络包218将由网络设备210处理。另外,将网络包218与网络策略比较也可以返回网络设备210的IP地址IPa。因此,在328处,第三主机平台212以网络设备210的IP地址IPa标记网络包218。
然后,在330处,第三主机平台212例如使用网络设备210的IP地址IPa执行网络设备210的虚拟MAC地址vMACa的查找。其后,在332处,第三主机平台212重写网络包218的以太网报头。例如,如在图2中图示的那样,第三主机平台212可以以vMACa重写网络包218的以太网报头的目的地MAC地址。另外,第三主机平台212也可以以发送虚拟机202的虚拟MAC地址vMACs重写网络包218的以太网报头的源MAC地址。主机平台212可以能够通过基于在网络包218的IP报头中指定的发送虚拟机202的IP地址执行发送虚拟机202的虚拟MAC地址的查找来以发送虚拟机202的虚拟MAC地址vMACs重写网络包218的以太网报头的源MAC地址。虽然第三主机平台212重写网络包218的以太网报头,但是第三主机平台212可以保持在网络包218的IP报头中指定的目的地和源IP地址未修改。最后,在334处,第三主机平台212将网络包传输到网络设备210。
在336处,网络设备210接收网络包218,并且在338处,网络设备210处理接收的网络包218。取决于网络设备210的类型,处理网络包218可以涉及任何数量的不同操作。例如,处理网络包218可以涉及日志记录网络包218、检查网络包218、确定是否丢弃(drop)网络包218和/或修改网络包218。
无论情况如何,在网络设备210传递经过处理的网络包218之后,在340处,网络设备210例如基于在网络包218的IP报头中指定的接收虚拟机的IP地址IPr,执行MAC地址的查找以用于将网络包218转发到接收虚拟机206。然后,在342处,网络设备210重写网络包218的以太网报头。例如,如在图2中图示的那样,网络设备210可以执行接收虚拟机的虚拟MAC地址vMACr的查找并且以vMACr重写网络包218的以太网报头的目的地地址。另外,网络设备210也可以以其自己的虚拟MAC地址vMACa重写网络包218的以太网报头的源地址。始终,网络设备210可以保持在网络包218的IP报头中指定的目的地和源IP地址未修改。在344处,在重写网络包218的以太网报头之后,网络设备210将网络包218传输到第三主机平台212。
在346处,第三主机平台212从网络设备210接收网络包218。然后,在348处,第三主机平台212将接收的网络包218与网络策略比较。在350处忽视(bypass)将网络设备210指定为网络包218将被重新路由到的目的地的任何网络策略规则。否则,网络包218可能被无限地循环回到网络设备210并且网络包218可能绝不会到达其最终目的地——接收虚拟机206。在某些实施中,网络设备210可以具有多于一个网络接口和/或多于一个网络地址(例如多于一个IP地址)。因此,可以在350处忽视将网络设备210的任何网络接口和/或网络地址指定为网络包218将被重新路由到的目的地的网络规则。
在352处,第三主机平台212例如基于被指定为在网络包218的IP报头中的目的地地址的接收虚拟机的IP地址IPr,执行MAC地址的查找以用于将网络包218转发到接收虚拟机206。然后,在354处,第三主机平台212重写网络包218的以太网报头。例如,如在图2中图示的那样,第三主机平台212可以执行在其上实施接收虚拟机206的物理计算设备306的NIC 209的物理MAC地址pMAC3的查找,并且以pMAC3重写网络包218的以太网报头的目的地地址。另外,第三主机平台212也可以以在其上实施网络设备210和第三主机平台208的物理计算设备304的NIC 214的物理MAC地址pMAC2重写网络包218的以太网报头的源地址。始终,第三主机平台212可以保持在网络包218的IP报头中指定的目的地和源IP地址未修改。在356处,第三主机平台212将网络包218传输到NIC 214,其将网络包218放置到物理网络216上。如上文描述的那样,在某些实施中,网络包218可以是以太网帧。在这样的实施中,在将网络包218传输到NIC 214之前,第三主机平台212可以使用EtherIP协议来将以太网帧封装在IP包之内。
在358处,由实施在物理设备306上的第二主机平台209例如经由NIC 209接收网络包218,在所述物理设备306上实施接收虚拟机206。在接收网络包218时,第二主机平台208确定接收虚拟机206被托管在与第二主机平台208相同的物理计算设备306上。另外,第二主机平台208确定网络策略指定网络包218将被重新路由到的网络设备210不被托管在与第二主机平台208相同的物理计算设备306上。例如,第二主机平台208可以基于在网络包218的IP报头中指定的目的地IP地址确定接收虚拟机206被托管在与第二主机平台208相同的物理计算设备306上。附加地或替代地,第二主机平台208可以例如基于作为将网络包218与网络策略比较的结果返回的网络设备210的IP地址,确定网络策略指定网络包218将被重新路由到网络设备210,而也确定网络设备不被实施在与第二主机平台208相同的物理计算设备306上。由于确定接收虚拟机206被实施在与第二主机平台208相同的物理计算设备306上,但是网络设备210不被实施在与第二主机平台208相同的物理计算设备306上,所以第二主机平台208可以推断网络包218早已由网络设备210处理。因此,在362处,忽视将网络设备210指定为网络包218将被重新路由到的目的地的任何网络策略规则。
然后,在364处,第二主机平台208例如使用被指定为在网络包218的IP报头中的目的地地址的网络设备210的IP地址IPr执行接收虚拟机206的虚拟MAC地址vMACr的查找,并且例如使用被指定为在网络包218的IP报头中的源地址的发送虚拟机202的IP地址IPs执行发送虚拟机202的虚拟MAC地址vMACs的查找。其后,在366处,第二主机平台208重写网络包218的以太网报头。例如,如在图2中图示的那样,第二主机平台208可以以vMACr重写网络包218的以太网报头的目的地MAC地址。另外,第二主机平台208也可以以发送虚拟机202的虚拟MAC地址vMACs重写网络包218的以太网报头的源MAC地址。虽然第二主机平台208重写网络包218的以太网报头,但是第二主机平台208可以保持在网络包218的IP报头中指定的目的地和源IP地址未修改。最后,在368处,第二主机平台208将网络包218传输到接收虚拟机206。
在370处,接收虚拟机206接收网络包218。如在图2中图示的那样,随着网络包218从发送虚拟机202横越虚拟网络200到接收虚拟机206,在网络包218的IP报头中指定的目的地和源IP地址没有改变。另外,在将网络包218传输到接收虚拟机之前,第二主机平台208以接收虚拟机206的虚拟MAC地址vMACr重写网络包218的以太网报头的目的地MAC地址,并且以发送虚拟机202的虚拟MAC地址vMACs重写网络包218的以太网帧的以太网报头的源MAC地址。因此,在最终接收网络包218的接收虚拟机206上执行的应用可能不能检测网络包218已由网络设备210处理。
如在图2和3中图示的和上文描述的那样,网络包218跨虚拟网络200从发送虚拟机202传播到网络设备210并且最终到接收虚拟机206的路径不横越多个虚拟子网。然而,在某些实施中,虚拟网络200可以包括多个虚拟子网并且网络包218跨虚拟网络200从发送虚拟机202传播到网络设备210并且最终到接收虚拟机206的路径可以横越两个或更多不同的虚拟子网。在这样的实施中,可以修改上文描述和结合图2和3图示的以太网报头重写,例如来计及位于在虚拟网络200的相关虚拟子网之间的界限处的诸如例如网关的网络设备的MAC地址。
如在图2和3中也图示的和上文描述的那样,在其上实施发送虚拟机202和第一主机平台204的物理计算设备302、在其上实施网络设备210和第三主机平台212的物理计算设备304以及在其上实施接收虚拟机206和第二主机平台208的物理计算设备306全部是不同的物理计算设备。然而,在某些实施中,可以在相同的物理计算设备上实施发送虚拟机202、网络设备210和接收虚拟机中的两个或全部三个。在这样的实施中,可以修改上文描述并且结合图2和3图示的以太网报头重写来计及网络包218可能需要进行在物理网络216上的较少的行程的事实。
图4-6是图示了用于处理由虚拟机生成的通信的不同过程的示例的流程图。在图4-6中图示的过程可以由诸如例如在图1A-1C中图示的主机平台106和在图2-3中图示的主机平台204、208和212的实施在物理计算设备上的主机平台执行。
更特别地,图4是图示了用于处理由实施在物理计算设备上的主机平台接收的来自实施在相同物理计算设备上的发送虚拟机的预期用于接收虚拟机的出站通信的过程的示例的流程图400。如在图4中图示的那样,在402处,主机平台从发送虚拟机接收通信。例如,主机平台可以从发送虚拟机接收以太网帧。以太网帧可以包括以太网报头,其将发送虚拟机的虚拟MAC地址指定为以太网帧的源和以太网帧预期用于的接收虚拟机的虚拟MAC地址(或者如果以太网帧预期用于在不同于发送虚拟机的虚拟子网上的虚拟机,则是网关或其他网络设备的MAC地址)。另外,以太网帧的净荷可以包括IP包,其具有IP报头,其将IP源地址指定为分配到发送虚拟机的IP地址,并且将IP目的地地址指定为分配到接收虚拟机的IP地址。
在404处,主机计算平台确定从发送虚拟机接收并且预期用于接收虚拟机的通信是否将被重新路由到网络设备。在某些实施中,主机计算平台可以将接收的通信与指定用于将由主机平台接收的通信重新路由到不同的网络设备的规则的网络策略比较来确定接收的通信是否将被重新路由到网络设备。继续上文介绍的示例,其中由主机平台接收的通信是具有包括IP包的净荷的以太网帧,所述主机平台可以将在IP包的IP报头中指定的源和目的地IP地址中的一个或两个与网络策略比较,来确定在网络策略之内指定的任何规则是否匹配指定的源和/或目的地IP地址。附加地或替代地,主机平台可以比较在以太网帧之内指定的TCP/UDP端口信息来确定在网络策略之内指定的任何规则是否匹配指定的TCP/UDP端口信息。
在404处,如果主机平台确定从发送虚拟机接收并且预期用于接收虚拟机的通信将被重新路由到网络设备,则在406处主机机器修改通信来包括重新路由信息。在某些实施中,当接收的通信与网络策略比较并且做出接收的通信服从由网络策略指定的网络规则的确定时,可以将诸如例如网络设备的IP地址的网络设备的网络地址信息返回到主机平台。主机平台然后可以使用网络设备的返回的网络地址来执行重新路由信息的查找,主机平台然后使用所述重新路由信息来修改通信。例如,在由主机平台接收的通信是以太网帧的实施中,当以太网帧与网络策略的比较导致以太网帧服从由网络策略指定的网络规则的确定时,可以将网络设备的IP地址返回到主机平台。其后,主机平台可以使用针对网络设备的返回的IP地址来执行MAC地址的查找,以用于将通信转发到网络设备。然后主机平台可以以将用于将通信转发到网络设备的MAC地址重写在以太网帧的以太网报头中指定的目的地以太网地址。
再次参考图4,在修改从发送虚拟机接收的通信以包括针对网络设备的重新路由信息之后,主机平台然后传输通信。
替代地,在主机平台在404处确定通信将不被重新路由到网络设备的情况下,主机平台进行到408并且在没有修改通信以包括重新路由信息的情况下传输通信。
图5是图示了用于处理由主机平台接收的通信的过程的示例的流程图500。如在图5中图示的那样,主机平台在502处接收通信。在某些情况下(例如,如果主机平台通过物理网络接收通信),通信可以是IP包,在所述IP包之内封装了由发送虚拟机最初生成并且预期用于接收虚拟机的以太网帧。在这样的情况下,主机平台可以在接收通信时将以太网帧从IP包解封装。在其他情况下(例如,如果主机平台从实施在与所述主机平台相同的物理计算设备上的虚拟机接收通信),通信可以是由发送虚拟机生成并且预期用于接收虚拟机的以太网帧。在这些情况中的任何一个情况下,以太网帧的净荷本身可以包括IP包,所述IP包具有将发送虚拟机的IP地址指定为通信的源并且将接收虚拟机的IP地址指定为通信的目的地的IP报头。
在504处,主机平台将接收的通信与指定用于重新路由由主机平台接收的不同的通信的规则的网络策略比较。然后,在506处,基于已经将接收的通信与网络策略比较,主机确定在网络策略中指定的任何规则是否应用于接收的通信。
如果在网络策略中指定的规则都不应用于通信,则在508处,主机平台仅仅例如根据在通信之内指定的路由信息传输通信。
替代地,如果主机平台确定在网络策略中指定的规则应用于通信并且因此通信将被重新路由到实施在与主机平台相同的物理计算设备中的网络设备,则在510处,主机平台以网络设备的网络层地址标记通信。例如,如果通信是以太网帧,则主机平台可以以网络设备的IP地址标记以太网帧。
然后,在512处,主机平台执行网络设备的数据链路层地址的查找。在某些实施中,主机平台可以使用网络设备的网络层地址,已经以其标记通信来执行网络设备的数据链路层地址的查找。例如,如果通信是已经以网络设备IP地址被标记的以太网帧,则主机平台可以使用已经以其标记以太网帧的网络设备的IP地址来执行网络设备的虚拟MAC地址的查找。在514处,主机平台以网络设备的标识的数据链路层地址信息重写通信的现有数据链路层地址信息。例如,如果通信是以太网帧,则主机平台可以以被标识为对应于网络设备的虚拟MAC地址重写在以太网帧的以太网报头中的目的地MAC地址。
在以网络设备的标识的数据链路层地址信息重写通信的现有数据链路层地址信息之后,在518处,主机平台将通信传输到网络设备。其后,在518处,主机平台最终接收从网络设备返回的经过处理的通信。在从网络设备接收经过处理的通信时,在520处,主机平台将经过处理的通信与网络策略比较。由于将经过处理的通信与网络策略比较,所以主机平台确定忽视指定通信将被重新路由到网络设备的在网络策略中的任何(一个或多个)规则,因为网络设备已经处理了所述通信,并且否则,通信将最终被无限地循环回到所述网络设备。
在524处,主机平台执行托管通信指定给的接收虚拟机的物理计算设备的数据链路层地址的查找。例如,如果通信是具有包括将发送虚拟机的IP地址指定为通信的源并且将接收虚拟机的IP地址指定为通信的目的地的IP包的净荷的以太网帧,则主机平台可以使用在IP包的IP报头中指定的接收虚拟机的IP地址来执行在其上实施接收虚拟机的物理计算设备的MAC地址的查找。
在标识在其上实施接收虚拟机的物理计算设备的数据链路层地址之后,在526处,主机平台以在其上实施接收虚拟机的物理计算设备的标识的数据链路层地址信息重写通信的现有数据链路层地址信息。例如,如果通信是以太网帧,则主机平台可以以针对在其上的接收虚拟机的物理计算设备标识的MAC地址重写在以太网帧的以太网报头中的目的地MAC地址。在以在其上实施接收虚拟机的物理计算设备的标识的数据链路层地址信息重写通信的现有数据链路层地址信息之后,在508处,主机平台将通信传输到在其上实施接收虚拟机的物理计算设备。
图6是图示了用于处理由主机平台从物理网络接收的通信的过程的示例的流程图600。如在图6中图示的那样,在602处,主机平台接收出物理网络的通信。在某些实施中,通信可以是IP包,在所述IP包之内封装由发送虚拟机最初生成并且预期用于接收虚拟机的以太网帧。在这样的实施中,在接收通信时主机平台可以将以太网帧从IP包解封装。解封装的以太网帧的净荷本身可以包括具有将发送虚拟机的IP地址指定为通信的源并且将接收虚拟机的IP地址指定为通信的目的地的IP报头的IP包。
在604处,主机平台将接收的通信与网络策略比较,所述网络策略指定用于重新路由由主机平台接收的不同通信的规则。然后,在606处,基于已经将接收的通信与网络策略比较,主机确定在网络策略中指定的任何规则是否应用于接收的通信。
如果主机平台确定在网络策略中的规则不应用于通信,则主机平台进行到608,其中主机平台确定通信指定给的接收虚拟机是否被本地托管在与主机平台相同的物理计算设备上。如果主机平台确定接收虚拟机不被本地托管在与主机平台相同的物理计算设备上,则在610处,主机平台丢弃通信。替代地,如果主机平台确定接收虚拟机被本地托管在与主机平台相同的物理计算设备上,则主机平台进行到624,其在下文中更详细地描述。
再次返回到606,如果主机平台确定在网络策略中的规则指定通信将被重新路由到网络设备,而不是确定在网络策略中的规则不应用于通信,则主机平台进行到612,其中主机平台确定所述规则指定通信将被重新路由到的网络设备是否被本地托管在与主机平台相同的物理计算设备上。如果主机平台确定网络设备被本地托管在与主机平台相同的物理计算设备上,则在614处,主机平台处理针对网络设备的规则。例如,主机平台可以将通信传输到网络设备。
然后,在616处,在经过处理的通信已由网络设备传递回到主机平台之后,主机平台确定通信指定给的接收虚拟机是否被本地托管在与主机平台相同的物理计算设备上。如果接收虚拟机被本地托管在与主机平台相同的物理计算设备上,则主机平台进行到624,其在下文中更详细地描述。替代地,如果接收虚拟机不被本地托管在相同的物理计算设备上,则主机平台将通信通过物理网络转发到接收虚拟机。
再次返回612,如果主机平台确定网络设备不被本地托管在与主机平台相同的物理计算设备上,则主机平台进行到620,其中主机平台确定接收虚拟机是否被本地托管在与主机平台相同的物理计算设备上。如果主机平台确定接收虚拟机不被托管在与主机平台相同的物理计算设备上,则在622处,主机平台丢弃通信。替代地,如果在620处主机平台确定接收虚拟机被托管在与主机平台相同的物理计算设备上,则过程进行到624。
在624处,主机平台执行发送虚拟机和接收虚拟机的数据链路地址的查找。例如,如果通信是具有包括将发送虚拟机的IP地址指定为通信的源并且将接收虚拟机的IP地址指定为通信的目的地的IP包的净荷的以太网帧,则主机平台可以使用在IP包的IP报头中指定的发送和接收虚拟机的IP地址来执行发送和接收虚拟机的MAC地址的查找。
在标识发送和接收虚拟机的数据链路层地址之后,在626处,主机平台以发送和接收虚拟机的标识的数据链路层地址重写通信的现有数据链路层地址信息。例如,如果通信是以太网帧,则主机平台可以以针对发送虚拟机标识的MAC地址重写在以太网帧的以太网报头中的源MAC地址并且主机平台可以以针对接收虚拟机标识的MAC地址重写在以太网帧的以太网报头中的目的地MAC地址。在以发送和接收虚拟机的标识的数据链路层地址信息重写通信的现有数据链路层地址信息之后,在628处,主机平台将通信传输到接收虚拟机。
已经描述了多个方法、技术、系统和装置。可以在数字电子电路或计算机硬件中例如通过执行存储在计算机可读存储介质中的指令实施描述的方法、技术、系统和装置。
实施这些技术的装置可以包括适当的输入和输出设备、计算机处理器和/或存储用于由处理器执行的指令的有形的计算机可读存储介质。
实施本文公开的技术的过程可以由执行存储在有形计算机可读存储介质上的用于通过对输入数据操作和生成适当输出来执行希望的功能的指令的处理器执行。适合的处理器例如可以包括通用和专用微处理器两者。用于存储可执行指令的适合的计算机可读存储设备包括全部形式的非易失性存储器,其例如包括诸如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备的半导体存储器设备;诸如固定盘、软盘和可移除盘的磁盘;包括带的其他磁介质;以及诸如压缩盘(CD)或数字视频盘(DVD)的光介质。上述中的任何内容可以由特殊设计的专用集成电路(ASIC)补充,或者并入到特殊设计的专用集成电路(ASIC)中。
虽然本文可以将公开的技术的操作描述为以某个顺序和/或以某些组合执行,但是在某些实施中,单独的操作可以被以不同的顺序重新排列、与本文描述的其他操作组合和/或被消除,并且仍可以实现希望的结果。类似的,在公开的系统中的部件可以以不同的方式被组合和/或被其他部件替换或补充,并且仍可以实现希望的结果。
Claims (15)
1. 一种系统,包括:
第一计算设备,用于:
托管第一虚拟机,以及
实施第一主机平台以:
确定由第一虚拟机生成的包括其预期用于第二虚拟机的指示的通信将被传输到网络设备,以及
由于确定由第一虚拟机生成的通信将被传输到网络设备,所以修改由第一虚拟机生成的通信来包括托管网络设备的计算设备是由第一虚拟机生成的通信的目的地的指示;以及
通信地耦合到第一计算设备的第二计算设备,用于:
托管第二虚拟机,以及
实施第二主机平台以:
确定在第二计算设备处接收的包括其预期用于第二虚拟机的指示和其是由托管网络设备的计算设备传输的指示的通信发源于第一虚拟机,以及
由于确定在第二计算设备处接收的通信发源于第一虚拟机,所以以其发源于第一虚拟机的指示覆写在第二计算设备处接收的通信中的其由托管网络设备的计算设备传输的指示。
2. 如权利要求1所述的系统,其中第一主机平台被配置成通过以下内容来确定由第一虚拟机生成的包括其预期用于第二虚拟机的指示的通信将被传输到网络设备:
将由第一虚拟机生成的通信与网络策略比较,以及
基于将由第一虚拟机生成的通信与网络策略比较的结果,确定所述通信将被传输到网络设备。
3. 如权利要求1所述的系统,其中:
第一主机平台被配置成:
基于包括在由第一虚拟机生成的通信中的网络层地址确定由第一虚拟机生成的通信将被传输到网络设备,以及
通过以托管网络设备的计算设备的数据链路层目的地地址覆写包括在由第一虚拟机生成的通信中的数据链路层目的地地址来修改由第一虚拟机生成的通信以包括托管网络设备的计算设备是通信的目的地的指示;并且
第二主机平台被配置成:
基于包括在第二计算设备处接收的通信中的网络层源地址确定在第二计算设备处接收的通信发源于第一虚拟机,以及
通过以第一虚拟机的数据链路层地址覆写包括在第二计算设备处接收的通信中的数据链路层源地址来以其发源于第一虚拟机的指示覆写在第二计算设备处接收的通信中的其是由托管网络设备的计算设备传输的指示。
4. 如权利要求1所述的系统,其中:
由第一虚拟机生成的通信是以太网帧,其包括:
具有针对第一虚拟机的源介质访问控制(MAC)地址和针对第二虚拟机的目的地MAC地址的以太网报头,
IP包,其具有IP报头,所述IP报头具有针对第一虚拟机的源IP地址和针对第二虚拟机的目的地IP地址,针对第一虚拟机的源IP地址是由第一虚拟机生成的通信预期用于第二虚拟机的指示;以及
第一主机平台被配置成:
基于由第一虚拟机生成的通信的IP报头确定由第一虚拟机生成的通信将被传输到网络设备,以及
通过以托管网络设备的计算设备的MAC地址覆写第二虚拟机的MAC地址作为在由第一虚拟机生成的通信的以太网报头中的目的地MAC地址来修改由第一虚拟机生成的通信以包括托管网络设备的计算设备是通信的目的地的指示;
在第二计算设备处接收的通信包括以太网帧,所述以太网帧具有:
以太网报头,其具有针对托管网络设备的计算设备的源MAC地址和针对第二计算设备的目的地MAC地址,以及
IP包,其具有IP报头,所述IP报头具有针对第一虚拟机的源IP地址和针对第二虚拟机的目的地IP地址,针对第二虚拟机的目的地IP地址是在第二计算设备处接收的通信预期用于第二虚拟机的指示;以及
以及
第二主机平台被配置成:
基于在第二计算设备处接收的通信的IP报头中的针对第一虚拟机的源IP地址确定在第二计算设备处接收的通信发源于第一虚拟机,以及
通过以第一虚拟机的MAC地址覆写托管网络设备的计算设备的MAC地址作为在第二计算设备处接收的通信的以太网报头中的源MAC地址,来以其发源于第一虚拟机的指示覆写在第二计算设备处接收的通信中的其是由托管网络设备的计算设备传输的指示。
5. 如权利要求4所述的系统,其中第一主机平台被配置成基于在由第一虚拟机生成的通信的IP报头中的针对第二虚拟机的目的地IP地址确定由第一虚拟机生成的通信将被传输到网络设备。
6. 如权利要求4所述的系统,其中第一主机平台被配置成基于在由第一虚拟机生成的通信的IP报头中的针对第一虚拟机的源IP地址确定由第一虚拟机生成的通信将被传输到网络设备。
7. 如权利要求1所述的系统,进一步包括托管网络设备的计算设备,所述托管网络设备的计算设备被配置成:
托管网络设备,以及
实施第三主机平台以:
确定在托管网络设备的计算设备处接收的并且包括其预期用于第二虚拟机的指示和其发源于第一虚拟机的指示的通信将被传递到网络设备,
由于确定在托管网络设备的计算设备处接收的通信将被传递到网络设备,所以将在托管网络设备的计算设备处接收的通信传递到网络设备,
确定由网络设备传递到第三主机平台的通信包括其预期用于第二虚拟机的指示,以及
由于确定由网络设备传递到第三主机平台的通信包括其预期用于第二虚拟机的指示,所以修改由网络设备传递到第三主机平台的通信来包括第二计算设备是通信的目的地的指示。
8. 如权利要求1所述的系统,其中:
第一计算设备被进一步配置成托管第三虚拟机;以及
第一主机平台被进一步配置成:
确定由第三虚拟机生成的包括其预期用于第四虚拟机的指示的不同的通信将被传输到不同的网络设备,以及
由于确定由第三虚拟机生成的通信将被传输到不同的网络设备,所以修改由第三虚拟机生成的通信来包括托管不同网络设备的计算设备是由第三虚拟机生成的通信的目的地的指示。
9. 一种方法,包括:
在执行在计算设备上的主机平台处接收网络包,所述网络包包括由执行在计算设备上的发送器虚拟机生成的IP包,所述网络包预期用于接收虚拟机;
使用执行在计算设备上的主机平台将在网络包的IP报头中的信息与网络策略比较;
基于将在IP报头中的信息与网络策略比较的结果,使用执行在计算设备上的主机平台确定所述网络包将被传输到网络设备;
由于确定网络包将被传输到网络设备,所以使用执行在计算设备上的主机平台以网络设备的IP地址标记网络包;
使用执行在计算设备上的主机平台标识对应于网络设备的IP地址的计算设备的介质访问控制(MAC)地址;以及
使用执行在计算设备上的主机平台,以标识为对应于网络设备的IP地址的MAC地址重写指定接收虚拟机的MAC地址的网络包的以太网报头的目的地地址。
10. 如权利要求9所述的方法,进一步包括在以标识为对应于网络设备的IP地址的MAC地址重写指定接收虚拟机的MAC地址的网络包的以太网报头的目的地地址之后从计算设备传输网络包。
11. 如权利要求10所述的方法,其中:
网络设备被实施为执行在另一计算设备上的另一虚拟机;
标识对应于网络设备的IP地址的计算设备的MAC地址包括标识在其上执行实施网络设备的虚拟机的另一计算设备的MAC地址;以及
以标识为对应于网络设备的IP地址的MAC地址重写指定接收虚拟机的MAC地址的网络包的以太网报头的目的地地址包括以针对在其上执行实施网络设备的虚拟机的其他计算设备标识的MAC地址重写指定接收虚拟机的MAC地址的网络包的以太网报头的目的地地址;以及
方法进一步包括:
在从计算设备传输网络包之后,在执行在其他计算设备上的另一主机平台处接收网络包,所述网络包具有在以太网报头中的目的地地址,其指定在其上执行实施网络设备的虚拟机的其他计算设备的MAC地址,
使用执行在其他计算设备上的其他主机平台将在网络包的IP报头中的信息与另一网络策略比较,
基于将在IP报头中的信息与其他网络策略比较的结果,使用执行在其他计算设备上的其他主机平台确定网络包将被传输到网络设备,
由于使用执行在其他计算设备上的其他主机平台确定网络包将被传输到网络设备,所以使用执行在计算设备上的主机平台以网络设备的IP地址标记网络包,
使用执行在其他计算设备上的其他主机平台标识网络设备的MAC地址,
使用执行在其他计算设备上的其他主机平台,以针对网络设备标识的MAC地址重写指定其他计算设备的MAC地址的网络包的以太网报头的目的地地址,
在将网络包的以太网报头的目的地地址重写到针对网络设备标识的MAC地址之后,将网络包传递到网络设备,
在由网络设备处理网络包之后,在执行在其他计算设备上的其他主机平台处并且从网络设备接收网络包、指定网络设备的MAC地址的经过处理的网络包的以太网报头的源地址和指定接收虚拟机的MAC地址的经过处理的网络包的以太网报头的目的地地址,
响应于接收经过处理的网络包,使用执行在其他计算设备上的其他主机平台标识托管接收虚拟机的不同计算设备的MAC地址,
使用执行在其他计算设备上的其他主机平台,以针对托管接收虚拟机的不同计算设备标识的MAC地址重写指定接收虚拟机的MAC地址的以太网报头的目的地地址,
在以针对托管接收虚拟机的不同计算设备标识的MAC地址重写指定接收虚拟机的MAC地址的网络包的以太网报头的目的地地址之后,从其他计算设备传输网络包,
在从其他计算设备传输网络包之后,在执行在不同的计算设备上的不同主机平台处接收网络包,所述网络包具有指定托管接收虚拟机的不同计算设备的MAC地址的在以太网报头中的目的地地址,以及
使用执行在不同计算设备上的不同主机平台以接收虚拟机的MAC地址重写指定不同计算设备的MAC地址的网络包的以太网报头的目的地地址。
12. 如权利要求11所述的方法,其中:
网络包的IP报头包括指定发送器虚拟机的IP地址的IP报头源地址和指定接收虚拟机的IP地址的IP报头目的地地址;
以针对在其上执行实施网络设备的虚拟机的其他计算设备标识的MAC地址重写指定接收虚拟机的MAC地址的网络包的以太网报头的目的地地址包括以针对在其上执行实施网络设备的虚拟机的其他计算设备标识的MAC地址重写指定接收虚拟机的MAC地址的网络包的以太网报头的目的地地址,而将IP报头源地址保持为指定发送器虚拟机的IP地址并且将IP报头目的地地址保持为指定接收虚拟机的IP地址;
使用执行在其他计算设备上的其他主机平台,以针对网络设备标识的MAC地址重写指定其他计算设备的MAC地址的网络包的以太网报头的目的地地址包括使用执行在其他计算设备上的其他主机平台,以针对网络设备标识的MAC地址重写指定其他计算设备的MAC地址的网络包的以太网报头的目的地地址,而将IP报头源地址保持为指定发送器虚拟机的IP地址,并且将IP报头目的地地址保持为接收虚拟机的IP地址;
使用执行在其他计算设备上的其他主机平台以针对托管接收虚拟机的不同计算设备标识的MAC地址重写指定接收虚拟机的MAC地址的以太网报头的目的地地址包括使用执行在其他计算设备上的其他主机平台以针对托管接收虚拟机的不同计算设备标识的MAC地址重写指定接收虚拟机的MAC地址的以太网报头的目的地地址,而将IP报头源地址保持为指定发送器虚拟机的IP地址,并且将IP报头目的地地址保持为指定接收虚拟机的IP地址;以及
使用执行在不同计算设备上的不同主机平台以接收虚拟机的MAC地址重写指定不同计算设备的MAC地址的网络包的以太网报头的目的地地址包括使用执行在不同计算设备上的不同主机平台以接收虚拟机的MAC地址重写指定不同计算设备的MAC地址的网络包的以太网报头的目的地地址,而将IP报头源地址保持为指定发送器虚拟机的IP地址,并且将IP报头目的地地址保持为指定接收虚拟机的IP地址。
13. 如权利要求9所述的方法,其中:
网络设备被实施为执行在不同计算设备上的虚拟机;
标识对应于网络设备的IP地址的计算设备的MAC地址包括标识在其上执行实施网络设备的虚拟机的不同计算设备的MAC地址;以及
以标识为对应于网络设备的IP地址的MAC地址重写指定接收虚拟机的MAC地址的网络包的以太网报头的目的地地址包括以针对在其上执行实施网络设备的虚拟机的不同计算设备标识的MAC地址重写指定接收虚拟机的MAC地址的网络包的以太网报头的目的地地址。
14. 如权利要求9所述的方法,其中:
网络设备是具有其自己的MAC地址的独立的物理网络设备;
标识对应于网络设备的IP地址的计算设备的MAC地址包括标识独立的物理网络设备的MAC地址;以及
以标识为对应于网络设备的IP地址的MAC地址重写指定接收虚拟机的MAC地址的网络包的以太网报头的目的地地址包括以独立的物理网络设备的MAC地址重写指定接收虚拟机的MAC地址的网络包的以太网报头的目的地地址。
15. 一种存储指令的非瞬时性计算机可读存储介质,当所述指令由托管虚拟机的主机计算机执行时使得计算机来实施主机平台以:
接收由被计算设备托管的虚拟机生成的通信,所述通信包括:
第一层地址信息,其将由计算设备托管的虚拟机标识为通信的源并且将接收虚拟机标识为通信的目的地,以及
第二层地址信息,其将由计算设备托管的虚拟机标识为通信的源并且将接收虚拟机标识为通信的目的地;
确定所述通信将被传输到网络设备;以及
由于确定通信将被传输到网络设备,所以以与网络设备相关联的地址信息重写将接收虚拟机标识为通信的目的地的第二层地址信息,而保持第一层地址信息。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/028268 WO2013133837A1 (en) | 2012-03-08 | 2012-03-08 | Modifying virtual machine communications |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104272698A true CN104272698A (zh) | 2015-01-07 |
Family
ID=49117159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280073034.2A Pending CN104272698A (zh) | 2012-03-08 | 2012-03-08 | 修改虚拟机通信 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150135178A1 (zh) |
EP (1) | EP2823618A4 (zh) |
CN (1) | CN104272698A (zh) |
WO (1) | WO2013133837A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9325676B2 (en) | 2012-05-24 | 2016-04-26 | Ip Ghoster, Inc. | Systems and methods for protecting communications between nodes |
US10778659B2 (en) | 2012-05-24 | 2020-09-15 | Smart Security Systems Llc | System and method for protecting communications |
US9571507B2 (en) * | 2012-10-21 | 2017-02-14 | Mcafee, Inc. | Providing a virtual security appliance architecture to a virtual cloud infrastructure |
US9785527B2 (en) * | 2013-03-27 | 2017-10-10 | Ixia | Methods, systems, and computer readable media for emulating virtualization resources |
US9524299B2 (en) | 2013-08-12 | 2016-12-20 | Ixia | Methods, systems, and computer readable media for modeling a workload |
US9634948B2 (en) * | 2013-11-07 | 2017-04-25 | International Business Machines Corporation | Management of addresses in virtual machines |
EP3100405A4 (en) * | 2014-01-29 | 2017-08-30 | Smart Security Systems LLC | Systems and methods for protecting communications |
RO130722A2 (ro) | 2014-04-10 | 2015-11-27 | Ixia, A California Corporation | Metodă şi sistem pentru implementare hardware a pachetelor de date uniform amestecate |
US10567271B2 (en) * | 2014-04-18 | 2020-02-18 | Nokia Canada Inc. | Topology-aware packet forwarding in a communication network |
US9621509B2 (en) * | 2014-05-06 | 2017-04-11 | Citrix Systems, Inc. | Systems and methods for achieving multiple tenancy using virtual media access control (VMAC) addresses |
US10282222B2 (en) * | 2014-10-13 | 2019-05-07 | Vmware, Inc. | Cloud virtual machine defragmentation for hybrid cloud infrastructure |
CN107637029B (zh) | 2015-06-10 | 2021-09-14 | 株式会社宙连 | 用于向无线终端提供对ip网络的访问的通信系统及通信方法 |
US9507616B1 (en) | 2015-06-24 | 2016-11-29 | Ixia | Methods, systems, and computer readable media for emulating computer processing usage patterns on a virtual machine |
US10341215B2 (en) | 2016-04-06 | 2019-07-02 | Keysight Technologies Singapore (Sales) Pte. Ltd. | Methods, systems, and computer readable media for emulating network traffic patterns on a virtual machine |
CN107800814B (zh) * | 2016-09-05 | 2021-08-13 | 国网江苏省电力公司信息通信分公司 | 虚拟机部署方法及装置 |
US11194930B2 (en) | 2018-04-27 | 2021-12-07 | Datatrendz, Llc | Unobtrusive systems and methods for collecting, processing and securing information transmitted over a network |
US11323354B1 (en) | 2020-10-09 | 2022-05-03 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for network testing using switch emulation |
US11483227B2 (en) | 2020-10-13 | 2022-10-25 | Keysight Technologies, Inc. | Methods, systems and computer readable media for active queue management |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080028071A1 (en) * | 2006-07-25 | 2008-01-31 | Nec Corporation | Communication load reducing method and computer system |
US20100107162A1 (en) * | 2008-03-07 | 2010-04-29 | Aled Edwards | Routing across a virtual network |
CN101924693A (zh) * | 2009-04-01 | 2010-12-22 | 威睿公司 | 用于在虚拟机间迁移进程的方法和系统 |
CN102217228A (zh) * | 2007-09-26 | 2011-10-12 | Nicira网络公司 | 管理和保护网络的网络操作系统 |
CN102246147A (zh) * | 2008-12-10 | 2011-11-16 | 亚马逊技术有限公司 | 提供到可配置专用计算机网络的访问 |
CN102334111A (zh) * | 2009-03-30 | 2012-01-25 | 亚马逊技术有限公司 | 为受管计算机网络提供逻辑联网功能 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2418326B (en) * | 2004-09-17 | 2007-04-11 | Hewlett Packard Development Co | Network vitrualization |
GB2459433B (en) * | 2008-03-07 | 2012-06-06 | Hewlett Packard Development Co | Distributed network connection policy management |
US7953865B1 (en) * | 2009-12-28 | 2011-05-31 | Amazon Technologies, Inc. | Using virtual networking devices to manage routing communications between connected computer networks |
US9350702B2 (en) * | 2010-02-17 | 2016-05-24 | Hewlett Packard Enterprise Development Lp | Virtual insertion into a network |
US8989187B2 (en) * | 2010-06-04 | 2015-03-24 | Coraid, Inc. | Method and system of scaling a cloud computing network |
US8745266B2 (en) * | 2011-06-30 | 2014-06-03 | Citrix Systems, Inc. | Transparent layer 2 redirection of request to single sign in service based on applying policy to content of request |
US8958298B2 (en) * | 2011-08-17 | 2015-02-17 | Nicira, Inc. | Centralized logical L3 routing |
-
2012
- 2012-03-08 US US14/381,453 patent/US20150135178A1/en not_active Abandoned
- 2012-03-08 CN CN201280073034.2A patent/CN104272698A/zh active Pending
- 2012-03-08 EP EP12870625.6A patent/EP2823618A4/en not_active Withdrawn
- 2012-03-08 WO PCT/US2012/028268 patent/WO2013133837A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080028071A1 (en) * | 2006-07-25 | 2008-01-31 | Nec Corporation | Communication load reducing method and computer system |
CN102217228A (zh) * | 2007-09-26 | 2011-10-12 | Nicira网络公司 | 管理和保护网络的网络操作系统 |
US20100107162A1 (en) * | 2008-03-07 | 2010-04-29 | Aled Edwards | Routing across a virtual network |
CN102246147A (zh) * | 2008-12-10 | 2011-11-16 | 亚马逊技术有限公司 | 提供到可配置专用计算机网络的访问 |
CN102334111A (zh) * | 2009-03-30 | 2012-01-25 | 亚马逊技术有限公司 | 为受管计算机网络提供逻辑联网功能 |
CN101924693A (zh) * | 2009-04-01 | 2010-12-22 | 威睿公司 | 用于在虚拟机间迁移进程的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2013133837A1 (en) | 2013-09-12 |
EP2823618A4 (en) | 2015-11-11 |
US20150135178A1 (en) | 2015-05-14 |
EP2823618A1 (en) | 2015-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104272698A (zh) | 修改虚拟机通信 | |
CN112470436B (zh) | 用于提供多云连通性的系统、方法、以及计算机可读介质 | |
US11546288B2 (en) | Techniques for managing software defined networking controller in-band communications in a data center network | |
US10142127B2 (en) | Methods and systems to offload overlay network packet encapsulation to hardware | |
US10992590B2 (en) | Path maximum transmission unit (PMTU) discovery in software-defined networking (SDN) environments | |
US10171357B2 (en) | Techniques for managing software defined networking controller in-band communications in a data center network | |
US9973445B2 (en) | Datapath with service stages | |
US9363183B2 (en) | Network address translation offload to network infrastructure for service chains in a network environment | |
US8725898B1 (en) | Scalable port address translations | |
US20180205651A1 (en) | Systems and methods for externalizing network functions via packet trunking | |
JP6426879B2 (ja) | データパケット転送 | |
CN109952746A (zh) | 在业务链网络环境中集成物理和虚拟网络功能 | |
WO2016173271A1 (zh) | 报文处理方法、设备及系统 | |
CN109937400A (zh) | 用于虚拟机的实时迁移的流状态传送 | |
EP3292661B1 (en) | Packet forwarding | |
EP3465997B1 (en) | Packet forwarding using vendor extension in a software-defined networking (sdn) system | |
EP3292659B1 (en) | Multicast data packet forwarding | |
US20200236047A1 (en) | Service insertion in public cloud environments | |
US10313275B2 (en) | Packet forwarding | |
US11032162B2 (en) | Mothod, non-transitory computer-readable storage medium, and computer system for endpoint to perform east-west service insertion in public cloud environments | |
EP4283947A1 (en) | Method to build a service function chain in an overlay network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170105 Address after: American Texas Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: American Texas Applicant before: Hewlett-Packard Development Company, L.P. |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150107 |