CN103812777B - 覆盖虚拟化网络中的高效数据传输方法和系统 - Google Patents

覆盖虚拟化网络中的高效数据传输方法和系统 Download PDF

Info

Publication number
CN103812777B
CN103812777B CN201310529299.5A CN201310529299A CN103812777B CN 103812777 B CN103812777 B CN 103812777B CN 201310529299 A CN201310529299 A CN 201310529299A CN 103812777 B CN103812777 B CN 103812777B
Authority
CN
China
Prior art keywords
destination
header portion
physical address
communication network
information
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.)
Expired - Fee Related
Application number
CN201310529299.5A
Other languages
English (en)
Other versions
CN103812777A (zh
Inventor
K·巴拉瓦什
T·R·帕克
L·斯克尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103812777A publication Critical patent/CN103812777A/zh
Application granted granted Critical
Publication of CN103812777B publication Critical patent/CN103812777B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Abstract

本发明涉及一种覆盖虚拟化网络中的高效数据传输方法和系统。提供用于在数据通信网络中进行数据传输的机器、系统和方法。所述方法包括:接收数据分组以便传输,所述数据分组具有第一标头部分和第二标头部分,其中所述第一标头部分包括指示不使用所述第一标头部分中的任何信息的标识符;以及根据包括在所述第二标头部分中的信息而确定目的地信息,所述目的地信息至少包括所述数据通信网络中的所述数据分组所要传输到的目的地的物理地址。

Description

覆盖虚拟化网络中的高效数据传输方法和系统
版权和商标声明
本专利文件的公开内容的一部分可能包含受版权保护的材料。拥有人并不反对复制专利文件或专利公开内容的任何一个,如其出现在专利商标局专利档案或记录中那样,否则拥有人保留对其的任何版权。
在此引用的某些标志可能是申请人、受让人或与申请人或受让人有关或无关的第三方的普通法商标或注册商标。这些标志的使用是为了通过实例方式提供授权的公开内容,不应被解释为将所公开的主题的范围专门限制为与这种标志关联的材料。
技术领域
所公开的主题一般地涉及虚拟化计算环境中的数据传输,更具体地说,涉及在具有虚拟机和系统管理程序的虚拟化计算环境中进行数据传输的系统和方法。
背景技术
在虚拟化计算网络中,可以将网络节点实现为系统管理程序托管的虚拟机(VM)。通常,执行VM以便VM不知道在其上运行VM和系统管理程序的底层物理平台。即,系统管理程序为VM提供虚拟化操作平台或接口,以便不必定制或修改VM功能以满足底层硬件和机器的要求。
参考图1,VM100不知道它在虚拟化平台上运行。因此,将数据从VM100(即,传输节点)传输到虚拟化网络190中的目的地节点的过程包括确定与目的地节点关联的物理地址(例如,数据链路(L2)层地址或MAC地址)。VM可以使用一种称为地址解析协议(ARP)的机制确定目的地节点的物理地址。如果目的地节点的对应网络地址(例如,IP地址)可用,则传输节点可以通过参考ARP查找表(未在图1中示出)查找目的地节点的物理地址,该ARP查找表包括目的地节点的网络地址与相应物理地址之间的映射。
仍参考图1,如果ARP查找表不包括目的地节点的已知网络地址与目的地节点的物理地址之间的映射,则传输节点必须将第一ARP请求广播到网络190中的所有节点。如图所示,将ARP请求从VM100经由VM以太网接口110传输到系统管理程序120(例如,通过多播),之后传输到网络190中的其余节点。如果目的地节点接收到ARP请求,则目的地节点然后沿着相反方向提交包括目的地节点的物理地址的ARP回复,如图所示。
在覆盖虚拟网络(overlay virtual network)中,虚拟节点的ARP请求/回复不直接在物理网络中广播,而是由系统管理程序处理并在封装后发送,这些系统管理程序表示物理网络中的仅有实际实体。因此,传输节点中的VM100在数据分组的以太网标头中包括目的地节点的物理地址,并且传输数据分组,该数据分组在最终封装并传送到目的地节点之前,通过系统管理程序120处理。
参考图2,在其上运行VM100的系统管理程序120接收到数据分组时,判定是否应该通过物理网络190将数据分组路由到虚拟网络上的目的地节点。通过覆盖机制在网络190上实现单独的虚拟网络,以便在虚拟节点之间传送的业务在网络190上封装,同时在虚拟网络内部路由。
在网络190中,系统管理程序120使用一种机制(例如,虚拟网络路由表)查找托管目的地节点VM的对应系统管理程序的物理地址。如果路由表(未示出)不包括物理地址,则系统管理程序120需要广播第二ARP请求,并且当接收到包括托管该目的地节点的系统管理程序的物理地址的ARP回复时,更新路由表。
在虚拟化覆盖网络中,对于每个数据分组传输,VM100提交的第一ARP请求(参见图1)和系统管理程序120提交的第二ARP请求(参见图2)在ARP查找未命中时发生。双重ARP提交和回复过程(即,VM100和系统管理程序120均参与ARP通信过程)可导致数据传输中的不必要延迟,并且还对网络190中的网络带宽的可用性产生不利影响。需要更高效的数据传输方法和系统。
发明内容
出于总结目的,在此描述了某些方面、优点和新颖特性。应该理解,根据任何一个特定实施例可能未实现所有这些优点。因此,可以以如下方式包含或执行所公开的主题:实现或优化一个优点或一组优点而不实现如在此教导或建议的所有优点。
根据一个实施例,提供用于在数据通信网络中进行数据传输的机器、系统和方法。所述方法包括:接收数据分组以便传输,所述数据分组具有第一标头部分和第二标头部分,其中所述第一标头部分包括指示不使用所述第一标头部分中的任何信息的标识符;以及根据包括在所述第二标头部分中的信息而确定目的地信息,所述目的地信息至少包括所述数据通信网络中的所述数据分组所要传输到的目的地的物理地址。
根据一个或多个实施例,提供一种包括一个或多个逻辑单元的系统。所述一个或多个逻辑单元被配置为执行与上面所公开的方法关联的功能和操作。在另一个实施例中,提供一种包括计算机可读存储介质的计算机程序产品,所述计算机可读存储介质具有计算机可读程序。当在计算机上执行时,所述计算机可读程序导致所述计算机执行与上面所公开的方法关联的功能和操作。
下面参考附图进一步详细提供了上面所公开的一个或多个实施例以及某些备选实施例。但是,所公开的主题并不限于所公开的任何特定实施例。
附图说明
通过参考下面提供的附图中的各图,可以更好地理解所公开的实施例,这些附图是:
图1和2示出在虚拟化计算网络中将数据从第一节点传输到第二节点所涉及的过程的框图;
图3示出根据一个或多个实施例的具有两个或更多虚拟节点的示例性虚拟化计算网络,其中系统管理程序在至少一个节点中托管虚拟机;
图4示出根据一个或多个实施例的用于在虚拟化计算网络中将数据从第一节点传输到第二节点的改进过程的框图;
图5是根据一个或多个实施例的用于在虚拟化计算网络中将数据从第一节点传输到第二节点的示例性方法的流程图;
图6A和6B是根据一个或多个实施例的其中可以运行所公开的系统和方法的硬件和软件环境的框图。
根据一个或多个实施例,不同图中的相同标号引用的特性、元素和方面表示相同、等效或类似的特性、元素或方面。
具体实施方式
在下面,提供了大量特定的细节以便彻底描述不同实施例。可以在没有这些特定的细节的情况下实现某些实施例,或者可以通过细节上的一些变化实现某些实施例。在某些情况下,未详细描述某些特性以避免使其它方面变得模糊不清。与每个元素或特性关联的细节级别不应被解释为证明一个特性较之其它特性的新颖性或重要性。
参考图3,示出示例性操作环境3000,其中传输网络节点370包括托管虚拟机300的系统管理程序320。根据一个方面,网络节点370通过网络190连接到目的地网络节点380,其中网络190支持虚拟化网络环境,其中网络190中的一个或多个节点是虚拟节点,以便虚拟节点托管虚拟机(VM),该VM可以与网络190中的其它虚拟节点托管的其它VM通信。值得注意的是,在例如图3中所示的覆盖虚拟网络中,虚拟节点可能不是物理网络中的已知节点。
如下面进一步详细提供的,在一种实现中,可以配置用于VM300和托管系统管理程序320的VM接口310,以便系统管理程序320(而不是VM300)执行目的地节点的网络地址到物理地址的转换过程。在该实现中,向VM300通知VM300由支持以太网卸载的系统管理程序320托管,因此VM300不再尝试解析网络地址到物理地址转换。
另外参考图4和5,根据一个实施例,当初始化网络节点370时(即,在引导时或VM实例化期间),VM300与系统管理程序320通信以便判定系统管理程序320是否被配置为管理数据分组的传输,其中所述分组不包括否则将包括目标目的地节点的物理地址的字段(例如,以太网标头)(S510)。如果系统管理程序320支持这种配置(此后称为例如但不限于以太网卸载),则系统管理程序320相应地进行响应。例如,系统管理程序320可以进行响应,指示VM接口310被配置为以太网卸载接口,以便VM300可以开始与作为以太网卸载接口的VM接口310通信。
参考图4,在一种示例性实现中,VM网络堆栈410可以被修改为半虚拟网络堆栈。半虚拟化指其中VM并非完全不知道在其上运行VM的操作平台的环境。即,半虚拟化VM对底层系统管理程序或主机具有某种程度的了解,以便VM可以以更高效的方式更改或定制VM与系统管理程序或主机的通信。因此,在一个实施例中,当数据分组(例如,TCP/IP网络中具有IP标头和数据有效负载的IP数据分组)就绪以便传输时,VM网络堆栈410将数据分组与以太网标头卸载411封装在一起。
可选地,以太网标头卸载411不包括反映网络190中的目标目的地节点380的物理目的地地址的信息。相反,可以在以太网标头卸载411中包括指示符(例如,诸如标志或类型数据之类的标识符),其中指示符将去往系统管理程序320的分组标识为以太网卸载分组。当VM以太网接口310从VM300接收到具有以太网标头卸载411的数据分组时,VM以太网接口310将数据分组发送到系统管理程序320以便传输(S520)。
例如,两个VM(例如,vA和vB)可以分别位于两个物理主机A和B上。物理主机A和B是物理网络中的已知实体,以便当主机A接收到从vA去往vB的分组时,主机A尝试查找托管vB的物理主机B。在一个或多个数据结构(例如,查找表或路由表)中执行查找,这些数据结构存储虚拟机与托管该虚拟机的物理机器之间的相应关系。如果存储在数据结构中的信息将给定虚拟IP地址映射到物理IP地址。例如,可以将包括vB的虚拟地址的请求提交到网络190中的主机,以便确定托管vB的机器的物理地址。
因此,可以使用上述数据结构在VM的虚拟IP地址与托管该VM的机器的物理地址之间进行映射。这种数据结构可以在系统管理程序的外部维护,并且可以缓存映射的各个部分。换言之,系统管理程序在接收到VM的分组时,执行位置查找以便找出在哪个物理位置上托管目的地VM。系统管理程序例如可以向外部维护的系统询问目的地VM的位置,并且接收指示在具有某个物理IP地址的物理机上托管具有某个虚拟IP地址的目的地VM的答案。可以将答案缓存在系统管理程序内部的本地位置表中。接收相关信息之后,系统管理程序封装分组并将其发送到目标目的地。
因此,在接收具有以太网标头卸载411的数据分组之后,系统管理程序320搜索数据结构(例如,路由表350)以便查找托管节点380的系统管理程序的物理地址(S530)。如果在路由表350中的搜索并未产生目的地节点380的物理地址,则系统管理程序320向机制或网络190中的多个节点发送请求(例如,ARP请求),以便接收托管节点380的目标目的地的物理地址(S540-S550)。但是,如果在路由表350中的搜索返回目的地节点的主机的物理地址,或者在接收到目的地节点的主机的物理地址时,系统管理程序430可选地使用所接收的目的地节点380的位置更新路由表350,并且封装数据分组并将其传输到托管目的地节点380的系统管理程序,如目的地节点380的物理地址标识的那样(S540-S560)。
在一个或多个实施例中,系统管理程序320可以创建以太网封装标头431(参见图4),该以太网封装标头具有物理网络中的后续节点或位置(例如,跃点)的地址。系统管理程序320可以使用以太网封装标头431封装通过VM以太网接口310从VM300传输的数据分组,并且通过物理网络发送封装后的数据分组。值得注意的是,根据上面提供的实现,VM300并不提交或参与ARP通信以便确定目的地节点380的物理地址。相反,系统管理程序被分派任务以便负责查找目标物理地址并将数据传输到网络190中的适当目的地节点。
本说明书中对“一实施例”、“一个实施例”、“一个或多个实施例”等的引用指描述的特定元素、特性、结构或特征被包括在所公开的主题的至少一个实施例中。本说明书中出现的这种短语不应被具体解释为指同一实施例,也不应将这种短语解释为指与所讨论的特性或元素相互排斥的实施例。
在不同的实施例中,所要求保护的主题可以实现为硬件和软件元素的组合,或者备选地完全以硬件形式或完全以软件形式实现。进一步,在此所公开的计算系统和程序软件可以包括受控计算环境,其可以根据执行的硬件组件或逻辑代码提供,这些硬件组件或逻辑代码用于执行实现在此构想的结果的方法和过程。当由通用计算系统或机器执行时,所述方法和过程将通用机器转换为专用机器。
参考图6A和6B,根据一个示例性实施例的计算系统环境可以包括硬件环境1110和软件环境1120。硬件环境1110可以包括逻辑单元、电路或其它机器和设备,它们为软件环境1120的组件提供执行环境。反过来,软件环境1120可以为硬件环境1110的各种组件提供执行指令,包括底层操作设置和配置。
参考图6A,在此所公开的应用软件和逻辑代码可以以机器可读代码的形式实现,机器可读代码在示例性硬件环境1110表示的一个或多个计算系统上执行。如图所示,硬件环境1110可以包括处理器1101,其通过系统总线1100耦合到一个或多个存储元件。存储元件例如可以包括本地存储器1102、存储介质1106、高速缓冲存储器1104或其它机器可用或计算机可读介质。在本公开的上下文中,机器可用或计算机可读存储介质可以包括任何可用于包含、存储、发送、传播或传输程序代码的可记录制品。
计算机可读存储介质可以是电、磁、光、电磁、红外线或半导体介质、系统、装置或器件。计算机可读存储介质还可以(但不限于)以传播介质实现,直到此类实现被视为法定主题的程度。计算机可读存储介质的实例可以包括半导体或固态存储器、磁带、可移动计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘、光盘或载波(如果适用)。光盘的当前实例包括光盘只读存储器(CD-ROM)、光盘读/写(CD-R/W)、数字视频盘(DVD)、高清晰度视频盘(HD-DVD)或Blue-rayTM盘。
在一个实施例中,处理器1101将可执行代码从存储介质1106加载到本地存储器1102。高速缓冲存储器1104通过提供临时存储优化处理时间,这种临时存储有助于减少加载代码以便执行的次数。一个或多个用户接口设备1105(例如,键盘、指点设备等)和显示屏1107例如可以直接或通过中间I/O控制器1103耦合到硬件环境1110中的其它元件。可以提供通信接口单元1108(例如网络适配器),以使硬件环境1110能够通过中间专用或公共网络(例如因特网)与本地或远程定位的计算系统、打印机和存储设备通信。有线或无线调制解调器和以太网卡是网络适配器的几种示例性类型。
值得注意的是,在某些实现中,硬件环境1110可能不包括上面的部分或全部组件,或者可能包括其它组件以提供补充功能或效用。取决于构想的使用和配置,硬件环境1110可以是诸如台式或膝上型计算机之类的机器,或者是可选地包含在嵌入式系统中的其它计算设备,例如机顶盒、个人数字助理(PDA)、个人媒体播放器、移动通信单元(例如,无线电话),或者是具有信息处理或数据存储能力的其它类似的硬件平台。
在某些实施例中,通信接口1108用作数据通信端口,以便通过发送和接收数字、电、电磁或光信号提供与一个或多个计算系统通信的装置,这些信号承载表示各种类型信息(包括程序代码)的模拟或数字数据流。通信可以通过本地或远程网络建立,或者备选地通过空气传输或其它介质传输(包括但不限于载波传播)建立。
如在此所提供的,根据示例性逻辑或功能关系定义在所示硬件元素上执行的所公开的软件元素。但是,应当指出,通过所述示例性软件元素实现的相应方法还可以例如通过配置和编程后的处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)和数字信号处理器(DSP),在所述硬件元素中编码。
参考图6B,软件环境1120通常可以分为两类,包括在一个或多个硬件环境1110上执行的系统软件1121和应用软件1122。在一个实施例中,在此所公开的方法和过程可以实现为系统软件1121、应用软件1122或它们的组合。系统软件1121可以包括诸如操作系统(OS)和信息管理系统之类的控制程序,它们指示硬件环境1110中的一个或多个处理器1101(例如,微处理器)如何运行和处理信息。应用软件1122可以包括但不限于程序代码、数据结构、固件、驻留软件、微代码,或者可以由处理器1101读取、分析或执行的任何其它形式的信息或例程。
换言之,应用软件1122可以实现为程序代码,其以机器可用或计算机可读存储介质的形式嵌入在计算机程序产品中,计算机程序产品提供程序代码以便由机器、计算机或任何指令执行系统使用或者与其结合使用。此外,应用软件1122可以包括一个或多个计算机程序,这些计算机程序在从存储介质1106加载到本地存储器1102之后,在系统软件1121上执行。在客户端-服务器体系架构中,应用软件1122可以包括客户端软件和服务器软件。例如,在一个实施例中,客户端软件可以在客户端计算系统上执行,该客户端计算系统不同于并且独立于执行服务器软件的服务器计算系统。
软件环境1120还可以包括浏览器软件1126以便访问通过本地或远程计算网络提供的数据。进一步,软件环境1120可以包括用户接口1124(例如,图形用户接口(GUI))以便接收用户命令和数据。有必要重申,上面描述的硬件和软件体系架构和环境用于示例目的。因此,可以在任何类型的系统体系架构、功能或逻辑平台或处理环境上实现一个或多个实施例。
还应当理解,逻辑代码、程序、模块、过程、方法,以及每种方法的相应过程的执行顺序完全是示例性的。取决于实现,过程或任何底层子过程和方法可以以任何顺序执行或同时执行,除非本公开中另有所指。进一步,除非明确地另有所指,否则本公开的上下文中的逻辑代码定义并不与任何特定程序设计语言相关或限于任何特定程序设计语言,并且可以包括一个或多个模块,它们可以在分布式、非分布式、单处理或多处理环境中的一个或多个处理器上执行。
所属技术领域的技术人员知道,软件实施例可以包括固件、驻留软件、微代码等。包括软件或硬件或者组合软件和硬件方面的某些组件在此可以统称为“电路”、“模块”或“系统”。此外,所公开的主题可以实现为包含在一个或多个计算机可读存储介质中的计算机程序产品,这些介质在其中包含计算机可读程序代码。可以使用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者上述的任意合适的组合。
在此文档的上下文中,计算机可读存储介质可以是任何能够包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括—但不限于—电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括—但不限于—无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行所公开的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。
所述程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
将参考根据实施例的方法、装置(系统)和计算机程序产品的流程图或框图公开某些实施例。应当理解,流程图或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用机器或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图或框图中的一个或多个方框中规定的功能或动作的装置。
也可以把这些计算机程序指令存储在计算机可读存储介质中,这些指令使得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储在计算机可读存储介质中的指令就产生出包括实现流程图或框图中的一个或多个方框中规定的功能或动作的指令的制造品(article ofmanufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机或机器实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图或框图中的一个或多个方框中规定的功能或动作的过程。
附图中的流程图和框图显示了根据不同实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能可以以任何顺序发生或不同于附图中所标注的顺序发生。
例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在此参考一个或多个特性或实施例提供了所要求保护的主题。所属技术领域的技术人员将认识到并理解,尽管在此提供了示例性实施例的详细性质,但是可以向所述实施例应用更改和修改而不会限制或偏离总体预期的范围。在此提供的实施例的这些和各种其它改变和组合,均在如权利要求及其全部等效物限定的所公开的主题的范围内。

Claims (15)

1.一种在数据通信网络中的数据传输方法,所述方法包括:
接收虚拟机的数据分组以便传输,所述数据分组具有第一标头部分和第二标头部分,其中所述第一标头部分包括指示不使用所述第一标头部分中的任何信息的标识符;以及
根据包括在所述第二标头部分中的信息而确定目的地信息,所述目的地信息至少包括所述数据通信网络中的所述数据分组所要传输到的目的地的物理地址,所述虚拟机并不参与确定所述目的地的物理地址。
2.根据权利要求1的方法,其中从用于至少存储虚拟机与所述虚拟机在其上执行的主机之间的关系的数据结构来检索所述目的地的所述物理地址。
3.根据权利要求1的方法,其中根据向所述通信网络中的多个主机提交地址解析协议ARP请求而确定所述目的地的所述物理地址。
4.根据权利要求2的方法,其中所述数据结构是路由表。
5.根据权利要求1的方法,其中所述目的地的所述物理地址是与所述数据通信网络中的下一跃点关联的物理地址。
6.根据权利要求1的方法,其中所述第一标头部分包括以太网地址。
7.根据权利要求1的方法,其中所述第二标头部分包括网际协议IP地址。
8.根据权利要求1的方法,还包括将所述数据分组传输到所述目的地。
9.根据权利要求1的方法,还包括使用至少包括所述数据通信网络中的目的地的物理地址的目的地信息来替换所述第一标头部分中的任何信息。
10.根据权利要求2的方法,其中所述主机是所述通信网络中的已知节点。
11.一种在数据通信网络中的数据传输系统,所述系统包括:
用于接收虚拟机的数据分组以便传输的逻辑单元,所述数据分组具有第一标头部分和第二标头部分,其中所述第一标头部分包括指示不使用所述第一标头部分中的任何信息的标识符;以及
用于根据包括在所述第二标头部分中的信息而确定目的地信息的逻辑单元,所述目的地信息至少包括所述数据通信网络中的所述数据分组所要传输到的目的地的物理地址,所述虚拟机并不参与确定所述目的地的物理地址。
12.根据权利要求11的系统,其中从用于至少存储虚拟机与所述虚拟机在其上执行的主机之间的关系的数据结构来检索所述目的地的所述物理地址。
13.根据权利要求11的系统,其中根据向所述通信网络中的多个主机提交地址解析协议ARP请求而确定所述目的地的所述物理地址。
14.根据权利要求12的系统,其中所述数据结构是路由表。
15.根据权利要求11的系统,其中所述目的地的所述物理地址是与所述数据通信网络中的下一跃点关联的物理地址。
CN201310529299.5A 2012-11-01 2013-10-31 覆盖虚拟化网络中的高效数据传输方法和系统 Expired - Fee Related CN103812777B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/665,944 2012-11-01
US13/665,944 US9582307B2 (en) 2012-11-01 2012-11-01 Efficient data transmission in an overlay virtualized network

Publications (2)

Publication Number Publication Date
CN103812777A CN103812777A (zh) 2014-05-21
CN103812777B true CN103812777B (zh) 2017-03-22

Family

ID=50547146

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310529299.5A Expired - Fee Related CN103812777B (zh) 2012-11-01 2013-10-31 覆盖虚拟化网络中的高效数据传输方法和系统

Country Status (3)

Country Link
US (1) US9582307B2 (zh)
CN (1) CN103812777B (zh)
TW (1) TW201424302A (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582307B2 (en) * 2012-11-01 2017-02-28 International Business Machines Corporation Efficient data transmission in an overlay virtualized network
CA2924469A1 (en) * 2013-10-10 2015-04-16 AdaptiveApps, Inc. Adaptive overlay networking
US20150199206A1 (en) * 2014-01-13 2015-07-16 Bigtera Limited Data distribution device and data distribution method thereof for use in storage system
US10250725B2 (en) * 2016-08-23 2019-04-02 Acer Incorporated Method of L2 layer data packet processing and electronic device using the same
US10257152B2 (en) * 2017-03-10 2019-04-09 Nicira, Inc. Suppressing ARP broadcasting in a hypervisor
CN110110004B (zh) * 2018-01-30 2023-05-30 腾讯科技(深圳)有限公司 一种数据操作方法、装置和存储介质
CN110557354B (zh) * 2018-05-31 2020-10-13 杭州海康威视数字技术股份有限公司 一种实现节点间通讯的方法、装置及电子设备
US11704146B2 (en) * 2020-06-19 2023-07-18 Red Hat, Inc. Network transparency on virtual machines using socket impersonation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7706364B2 (en) 2004-05-19 2010-04-27 Cisco Technology, Inc. Virtual network device clusters
US7961739B2 (en) 2005-07-21 2011-06-14 Genband Us Llc Systems and methods for voice over multiprotocol label switching
US7843919B2 (en) * 2008-03-20 2010-11-30 International Business Machines Corporation Ethernet virtualization using a network packet alteration
US8532108B2 (en) 2009-09-30 2013-09-10 Alcatel Lucent Layer 2 seamless site extension of enterprises in cloud computing
US20120327952A1 (en) * 2011-06-23 2012-12-27 Exar Corporation Ethernet tag approach to support networking task offload
US9160810B2 (en) * 2012-10-25 2015-10-13 Red Hat Israel, Ltd. Partitioning of a transmission control protocol window in a virtual system
US9582307B2 (en) * 2012-11-01 2017-02-28 International Business Machines Corporation Efficient data transmission in an overlay virtualized network

Also Published As

Publication number Publication date
US20140119373A1 (en) 2014-05-01
US9582307B2 (en) 2017-02-28
CN103812777A (zh) 2014-05-21
TW201424302A (zh) 2014-06-16

Similar Documents

Publication Publication Date Title
CN103812777B (zh) 覆盖虚拟化网络中的高效数据传输方法和系统
CN104038401B (zh) 用于分布式覆盖虚拟环境的互操作性的方法和系统
CN104995880B (zh) 虚拟联网系统中的量化拥塞通知的方法和系统
CN104717081B (zh) 一种网关功能的实现方法及装置
CN104717137B (zh) 管理覆盖网络中的数据流的方法和系统
CN104052789B (zh) 用于虚拟联网系统的负载平衡的方法和系统
CN103023827B (zh) 一种虚拟化数据中心的数据转发方法及其实现设备
CN104350467B (zh) 用于使用sdn的云安全性的弹性实行层
CN103931140B (zh) 虚拟化网络的分布式地址解析服务
CN104090825B (zh) 动态迁移计算机网络
CN103718164B (zh) 虚拟计算机和服务
CN106998297B (zh) 一种虚拟机迁移方法和装置
CN104811392B (zh) 用于处理网络中的资源访问请求的方法和系统
CN103825976B (zh) 分布式系统架构中的nat处理方法及装置
CN104769912B (zh) 用于数据流处理的方法和装置
CN106254256B (zh) 基于三层vxlan网关的数据报文转发方法和设备
CN104052644A (zh) 用于在虚拟联网系统中进行分组分发的方法和系统
CN104717156A (zh) 使用网络接口卡管理软件定义网络中的数据流的方法和系统
CN104813288B (zh) 用于在启用openflow的云计算中使用mpls时分离租户特定数据的装置和方法
CN108259347A (zh) 一种报文传输方法和装置
CN108259299A (zh) 一种转发表项生成方法、装置及机器可读存储介质
CN103927216B (zh) 用于管理虚拟装置的方法和系统
CN107547242B (zh) Vm配置信息的获取方法及装置
CN106330779B (zh) 服务器、物理交换机以及通信系统
CN107547391A (zh) 一种报文传输方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170322

CF01 Termination of patent right due to non-payment of annual fee