CN101257523B - 一种用于支持虚拟环境中的分区之间的ip网络互连的方法 - Google Patents

一种用于支持虚拟环境中的分区之间的ip网络互连的方法 Download PDF

Info

Publication number
CN101257523B
CN101257523B CN2007103057887A CN200710305788A CN101257523B CN 101257523 B CN101257523 B CN 101257523B CN 2007103057887 A CN2007103057887 A CN 2007103057887A CN 200710305788 A CN200710305788 A CN 200710305788A CN 101257523 B CN101257523 B CN 101257523B
Authority
CN
China
Prior art keywords
address
mac
address resolution
territory
packet
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
CN2007103057887A
Other languages
English (en)
Other versions
CN101257523A (zh
Inventor
S·戈夫曼
O·伦兹
J·杰克逊
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN101257523A publication Critical patent/CN101257523A/zh
Application granted granted Critical
Publication of CN101257523B publication Critical patent/CN101257523B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/76Routing in software-defined topologies, e.g. routing between virtual machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2546Arrangements for avoiding unnecessary translation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种用于支持虚拟环境中的分区之间的IP网络互连的方法。一种用于避免在驻留在单个主机上的实体之间发送的数据分组的回送的方法。在一个实施例中,驻留在主机上的实体之间共享的辅助地址指示数据分组要被路由到驻留在主机上的一个实体。在另一实施例中,当被路由到驻留在主机上的目标实体时,将数据分组头中的源地址和目标地址交换。

Description

一种用于支持虚拟环境中的分区之间的IP网络互连的方法
技术领域
本发明通常涉及存在于共享主机上的用户实体的网络连接。更特别的,本发明的实施例允许实体不用执行网络地址转换就能网络连接。
背景技术
现在有很多种商业虚拟环境,例如VMWARE
Figure 2007103057887_0
和MICROSOFT
Figure 2007103057887_1
VITRUALPC
Figure 2007103057887_2
。这些环境都允许在单个主机上运行多个用户实体,其中每个用户实体能够利用网际协议(IP)或类似的协议而与外部网和其它实体建立网络连接。为了支持实体间的连接,这些环境典型地向所述实体分配一个或多个地址,并通过网络地址转换(NAT)来解决涉及所述实体的数据转移。
在虚拟环境中,NAT依靠具有自身媒体访问控制(MAC)和网际协议(IP)地址的主机机器,所述地址通常由网络中的动态主机配置协议(DHCP)服务器来分配。主机机器启动自身的内部网络,其中每个客户机实体可以被分配有内部MAC和IP地址。当需要一个连接来从一个客户机实体发送数据分组到主机机器外的目标时,该连接可以被分配到主机上的一个端口,以与其它连接区分。在分组被发送到外部网之前,可以在数据分组中将源实体的内部MAC和IP地址替换为主机的MAC和IP地址、被重算的校验和以及在转换表中记录的转换,以便返回的分组可以被路由到正确的实体。
当数据分组被返回到特定端口时,可以在转换表中查找分组的目标,并且在数据分组中替换目标实体的内部MAC和IP地址。地址替换后,在将分组转发到其目标实体之前,再次重算校验和。当主机上的连接关闭时,转换表中的项被删除。由于连接仅仅是在主机上驻留的两个实体之间,因此不需要修改地址或校验和的值就能转发数据分组。
NAT具有一些限制。它必须为每个出站或入站的数据分组固定地址,从而重算校验和。通常内部网络中的NAT驻留在路由器上,因此它对系统性能的影响很小。然而在虚拟环境中,其以在主机上运行并且消耗相当多系统资源的软件来实现。NAT还违反了一些端到端协议,例如使用认证头来验证的虚拟个人网络(VPN)通道。此外,客户机实体的用户不能为了解决纷争的目的来查看或使用他们真实的(即公共)IP地址。
当两个(或更多)客户机实体使用端口路由来划分它们之间的网络通信时,每一个客户机实体都被分配了端口的范围,且在该范围中的所有通信都被分配给该客户机实体。在端口路由时,来自一个客户机实体的分组不能被发送到另一个客户机实体,因为其以太网头的源和目标域中有相同的MAC和IP。这被称为回送分组,并且一些中间驱动器可以通过使这些分组回到网络堆栈来阻止它们去往微型接口。由于例如,如果服务操作系统(OS)具有基于配置页的web,从而可以利用它来配置机器,则其将仅仅可以从外部计算机访问,而不能从性能OS访问,这就限制了系统的能力。
附图说明
在附图中举例示出了本发明的各种实施例,但并不局限于此,其中:
图1是示出了具有共享共用MAC地址的多个实体的主机的示意图。
图2是示出了具有共享共用MAC地址和共用IP地址的多个实体的主机的示意图。
图3是示出了以太网数据分组的部分结构的数据帧图。
图4是示出了地址解析数据分组的部分结构的数据帧图。
图5A是示出了单个主机上的实体之间的数据分组的回送的框图。
图5B是示出了单个主机上驻留的实体之间的数据分组的传输的框图。
图6是示出了使用辅助MAC地址,以避免用于单个主机上驻留的实体之间的传输的数据回送的流程图。
图7是示出了使用辅助MAC地址和辅助IP地址,以避免用于单个主机上驻留的实体之间的传输的数据回送的流程图。
图8是示出了根据本发明教导的计算机系统的一个实施例的示意图。
具体实施方式
描述了使得共享单个主机的实体能够网络连接的技术和体系结构。在以下说明中,为了说明目的,提出了许多具体细节以提供对本发明的完整理解。然而很明显的,对于本领域技术人员而言,本发明的实施可以不需要这些具体细节。在其它的例子中,以框图形式示出了结构和设备,以避免使本发明表述不清。
说明书中涉及的“一个实施例”或“实施例”指的是结合该实施例描述的特定特征、结构或特性包含在本发明的至少一个实施例中。在说明书各个位置处出现的短语“在一个实施例中”并不都指的是同一个实施例。
随后的详细说明的某些部分是针对对计算机存储器中的数据比特的操作的算法和符号表示而提供的。这些算法描述和表示是网络领域的技术人员所使用的方式,以最有效地将其工作的内容传达给本领域的其它技术人员。这里的算法,通常被设想为产生期望结果的前后一致的步骤序列。这些步骤是需要物理量的物理操作的步骤。通常,但不是必须的,这些物理量采取能够被存储、传送、组合、比较和其它操作的电或磁信号的形式。已经证明,主要为了共用的目的,将这些信号称作比特、值、元素、符号、字符、术语、号码等有时是很方便的。
然而应该记住的是,这些和类似的术语都与适当的物理量相关,并且仅仅是应用于这些量的方便标签。除非特别说明,否则从以下说明中明显看出,应该理解在整个描述中,使用例如“处理”或“计算”或“演算”或“确定”或“显示”等术语的讨论指的是计算机系统或类似的电子计算设备的动作和处理,所述动作和处理将对计算机系统的寄存器和存储器内的表示为物理(电子)量的数据进行操作并将其转换为计算机系统存储器或寄存器或其它这样的信息存储、传输或显示设备内的类似地表示为物理量的其它数据。
本发明的实施例还涉及用于执行所述操作的装置。这种装置可以为所需目的而特别构造,或者其可以包括由计算机中存储的计算机程序选择性激活或重配置的通用计算机。这种计算机程序可以存储在计算机可读存储介质中,例如但不限于,包括软盘、光盘、CD-ROM和磁光盘的任意类型的盘片、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡、或任意类型的适合存储电指令的介质,并且每一个都连接到计算机系统总线。
这里所描述的算法和显示并不是一定涉及任意特定的计算机或其它装置。利用根据这里的教导的程序可以使用各种通用系统,或者可以证明构造更专用的装置来执行所需的方法步骤是很方便的。从以下说明中可以发现各种系统所需的结构。另外,本发明不是参考任意特定编程语言描述的。应该理解的是,可以使用各种编程语言来实现这里所述的本发明的教导。
描述了用于使得驻留在单个主机上的实体不用进行网络地址转换就能网络连接的方法和装置。一个实施例使得使用单独的IP地址但共享单个MAC地址的若干个客户机实体能够建立网络通信,同时保护系统性能和端到端连接。在这种实施例中,系统上所有的实体都使用网络接口卡(NIC)的单个真实MAC地址,并且从例如使用选项61客户识别域的DHCP获取单独的IP地址,其中选项61客户识别域在1993年10月发布的网络工作组的请求说明(RFC)1533中描述。选项61是DHCP请求中的一个域,增加该域以允许使用同一MAC地址的多个客户端接收不同的IP地址。当使用这个特征时,DHCP会根据MAC地址和该用户标识(代替仅根据MAC)来分配IP地址。这就允许所有的实体与外部网建立网络连接,而不使用任何转换。
另一个实施例可以使得能够在若干个客户机实体之间进行网络通信,而不用使用NAT,其中所述客户机实体共享单个IP地址和单个MAC地址。这种实施例扩展到DHCP服务器不支持例如选项61的功能的情况。如果没有选项61,则实体就必须使用端口路由来进行网络通信,同时共享MAC和IP地址。通常,端口路由根据端口来划分实体之间的业务,这限制了实体之间的互连。各种实施例都扩展了在共享主机环境中的两个客户机实体之间的互连。
图1和2示出了其中可以实现实施例的示例性主机配置。参考图1,示出了多个客户机实体运行在同一主机100上,在该情况下所述多个客户机实体是服务OS104和多个性能OS106、108。本领域公知,其它类型的实体,例如硬件虚拟机、软件虚拟机、分区和VPN客户端,也可以替代图1中所示的操作系统。服务OS104通过NIC桥驱动器105来控制物理NIC103,并且每个性能OS106、108具有各自的虚拟NIC驱动器107、109。NIC驱动器105、107、109用来与支持主机100上的多个实体的虚拟机监视器102进行通信。在这种情况下,来自主机的数据分组的路由和到主机的数据分组的路由,以及在客户机实体之间的主机中发送的数据分组的路由可以在主机100处由服务OS104的NIC桥驱动器105来服务。通过控制接口设备(在这种情况下是物理NIC103),NIC桥驱动器105可以服务于数据分组的路由,以允许在主机100和网络110之间的通信。本领域公知,各种调制解调器或其它接口设备可以代替所示的物理NIC103。本领域进一步公知,除了网络以外,主机可以和单个机器或可选的系统进行接口。服务OS104、性能OS1 106和性能OS 108也可以与主机100的共享存储器101进行通信。
在图1中,客户机实体可以全部共享单个MAC地址(MAC1),同时具有其自身的单独的IP地址(IP1、IP2、IP3等)。这种特定的地址共享可以例如在开放系统互连(OSI)层3路由模式中由主机100使用。由客户机实体共享的单个MAC地址可以是接口设备(例如物理NIC103)的真实MAC地址。可以通过支持选项61客户识别域的DHCP服务器将单独的IP地址分配给它们各自的客户机实体。
参考图2,示出了与图1类似的主机配置。在这种情况下,示出了服务OS204和性能OS206运行在同一主机机器200上。本领域公知,其它类型的实体,例如硬件虚拟机、软件虚拟机、分区和VPN客户端,也可以替代图1所示的操作系统。服务OS204通过NIC桥驱动器205控制物理NIC203,并且性能OS206包括虚拟NIC驱动器207。NIC驱动器205、207可以与支持主机200上的多个实体的虚拟机监视器202进行通信。在这种情况下,来自主机的数据分组的路由和到主机的数据分组的路由,以及在客户机实体之间的主机中发送的数据分组的路由可以在主机200处由服务OS204的NIC桥驱动器205来服务。通过控制接口设备(在这种情况下是物理NIC203),NIC桥驱动器205可以服务于数据分组的路由,以允许在主机200和网络208之间进行通信。本领域公知,各种调制解调器或其它接口设备可以替代所示的物理NIC203。本领域进一步公知,除了网络以外,主机可以和单个机器或可选的系统进行接口。服务OS 204和性能OS1 206也可以与主机200的共享存储器201进行通信。除了如在图1的实例中共享单个MAC地址以外,主机200上的客户机实体204和206还共享单个IP地址IP1。例如,这种单个IP地址的共享可能发生在主机不能定位DHCP服务器时,其中所述DHCP服务器能够支持DHCP请求中的选项61域。在共享单个MAC地址和单个IP地址时,主机可能必须使用端口路由以在客户机实体之间传送数据分组。
对于图1或图2所示的配置,客户机实体可以尝试发送数据分组到其它客户机实体。当不使用NAT等来在客户机实体之间共享地址时,其中封装了数据分组的头结构就会产生回送问题。如以下所述,头的类型确定了回送问题的程度。
图3示出了示例性网络头300,其根据一个实施例封装了在两个客户机实体之间发送的数据分组。特别是,示出了以太网(ETH)头300,包括:ETH目标MAC域301,用于指定数据分组接收实体;ETH源MAC域302,用于指定发送数据分组的实体;以及类型域303,用于识别所使用的网络协议。在一个实施例中,由客户机实体发送的每个数据分组都可以由至少一个网络头封装。本领域技术人员应该理解,在网络头中封装数据分组可以使用多种协议中的一种。
在客户机实体之间传送的一些数据分组还可以被封装在包含源和目标MAC地址域以及源和目标IP地址域的头中。图4示出了这种头的一个例子——地址解析协议(ARP)头400,如1982年11月公开的网络工作组的No.826号请求说明(RFC)的“An Ethernet AddressResolution Protocol”中所描述的。当实体对于另一个实体仅具有一个IP地址时,该实体会发送对于另一实体的硬件地址的ARP请求,而这又会导致接收到来自另一实体的ARP回复。ARP请求数据分组和ARP回复数据分组可以被封装在ARP头400中。
典型的ARP头400可以包括:硬件类型域401,用于描述正在被映像的MAC地址的类型;协议类型域402,用于描述MAC地址被映像到的协议地址的类型;硬件地址长度域403,用于描述MAC地址的长度;协议地址长度域404,用于描述协议地址的长度;操作码域405,用于表示数据分组是ARP请求还是ARP回复;ARP源MAC域406,用于保存发送数据分组的实体的MAC地址;ARP源IP域407,用于保存发送数据分组的实体的IP地址;ARP目标MAC域408,用于保存实体的MAC地址以接收数据分组;ARP目标IP域409,用于保存实体的IP地址以接收数据分组。
图5A示出了在共享主机上驻留的客户机实体之间传送数据分组时常见的回送问题。在这个实例中,驻留在主机上的客户机(主机OS1501)试图发送数据分组到同一主机上的第二实体(主机OS2 502)。为了简化,图5A仅仅示出了封装了数据分组的头505。头505可以包括:源信息506,其至少包含源MAC地址域,以及目标信息507,其至少包含目标MAC地址域。源信息506中的源MAC地址域可以对应于网络头情况下的ETH源MAC域302,或者对应于ARP头情况下的ARP源MAC域406。目标信息507中的目标MAC地址域可以对应于网络头情况下的ETH目标MAC域301,或者对应于ARP头情况下的ARP目标MAC域408。当封装头505是ARP头时,源信息506和目标信息507可以进一步分别包括与ARP源IP域407相对应的IP地址域和与ARP目标IP域409相对应的IP地址域。头505中的IP地址信息在圆括号中示出,以证明对于没有封装具有源和目标IP信息的数据分组的头的类型,也可以实施某些实施例。
当从主机OS1 501发送封装的数据分组时,主机上的中间设备可以截取数据分组,并处理它以供传送到主机OS2。所述中间设备可以是NIC桥驱动器105或为此目的设计的类似的主机设备。当中间设备发现某些源地址信息和其对应的目标信息相同时,就会出现回送。例如,如果主机OS1 501和主机OS2 502仅共享单个MAC地址,并且数据分组505被封装在以太网头300中,则ETH源MAC地址域301和ETH目标MAC地址域都具有该单个MAC地址。这样会导致数据分组到主机OS2 502传送失败,取而代之的是到主机OS1 501的回送511。
在数据分组还封装有ARP头的情况下,这种头例如可以包括中间设备的第二基础来回送数据分组。例如,如果主机OS1 501和主机OS2 502都仅共享单个MAC地址和单个IP地址,并且数据分组505还封装在ARP头400中,则ARP源MAC域406和ARP目标MAC域408可以都具有共享的单个MAC地址,并且ARP源IP域407和ARP目标IP域409可以都具有共享的单个IP地址。由于数据分组到主机OS2 502的传送失败并取而代之的是到主机OS1 501的回送511,因此这可以构成与网络头的基础相独立的独立基础。
例如,当主机OS1 501和主机OS2 502共享主机机器的接口设备的真实MAC地址作为单个MAC地址时,封装数据分组的头,诸如以太网头300,可以使该单个MAC地址既在ETH目标MAC地址域301中又在ETH源MAC地址域302中。由客户机实体共享的单个MAC地址可以是接口设备(例如物理NIC103)的真实MAC地址。
图5B示出了根据一个实施例的图5A的回送问题的解决方案。在这个例子中,驻留在主机上的客户机实体(主机OS1 503)可以试图发送数据分组到同一主机上的第二实体(主机OS2 504)。为了简化,图5B仅仅示出了封装了数据分组的一个头508。头508可以包括:源信息509,其至少包含源MAC地址域,以及目标信息510,其至少包含目标MAC地址域。源信息508中的源MAC地址域可以对应于网络头情况下的ETH源MAC域302,或者对应于ARP头情况下的ARP源MAC域406。目标信息510中的目标MAC地址域可以对应于网络头情况下的ETH目标MAC域301,或者对应于ARP头情况下的ARP目标MAC域408。当封装头508是ARP头时,源信息509和目标信息510可以进一步分别包括与ARP源IP域407相对应的IP地址域和与ARP目标IP域409相对应的IP地址域。为了表示这种可能性,图5B在圆括号中示出了头508的IP地址信息。
为了使得在两个实体之间能够实现完全的网络业务,一个实施例可以使用辅助地址,所述辅助地址可以是辅助MAC地址或辅助IP地址或二者。每个实体都知道其它实体的IP地址。这种信息可以由多种手段中的任一种来传送,例如通过共享存储器。每个实体还知道其自身的MAC地址是接口(例如物理NIC)的MAC地址。当驻留在主机上的源实体发送数据分组给驻留在主机上的目标实体时,辅助地址可以存储在目标域中,所述目标域可以是目标MAC域或者目标IP域或者二者,使得具有相同目标和源地址的数据分组的封装头不会产生回送。
主机上的源实体可以将一般(也叫作辅助)MAC地址放置在发送到驻留在同一主机上的目标实体的IP分组的目标MAC地址域中。驻留在主机上的实体可以都使用相同的辅助MAC地址来相互之间发送IP分组。结果是主机上的每个实体对于主机上的其它实体看起来都具有与它们实际具有的不同的MAC,这避免了由于使用相同的源和目标MAC地址所造成的回送。辅助IP地址的类似使用也会避免由于在数据分组中使用相同的源和目标IP地址所造成的回送。
在图5B的实例中,头508具有被存储为目标信息510的辅助MAC地址。这避免了基于相同MAC地址所造成的回送。如果头508是还存储了IP地址作为目标信息510的类型,则主机OS1 503还包括辅助IP地址,这避免了基于头508中的相同IP地址所造成的回送。下面描述一个实施例是如何利用数据分组头中的辅助地址的详细情况。
图6示出了实施一个实施例的方法的流程图600。在这个实例中,该方法可以由具有多个驻留实体的主机的NIC卡来执行。在601,可以从驻留在主机上的一个实体接收数据分组,该实体与主机的其它实体共享单个MAC地址。在602,可以检查该数据分组来查看头是否包括包含有由所有实体共享的辅助MAC地址的ETH目标MAC域。这表示数据分组的目标是驻留在主机上的另一个实体。如果数据分组头的ETH目标MAC域不包括辅助MAC地址,则在603,该数据分组可以从主机路由到主机外的网络目的地。如果数据分组头的ETH目标MAC域包括辅助MAC地址,则在604,数据分组头的ETH源MAC域和ETH目标MAC域可以被交换。
接着在605,可以检查该数据分组来查看它是否与ARP交换(即,对MAC地址的ARP请求或者对这个请求的回复)相关。如果该数据分组与ARP交换不相关,则在607,该数据分组可以在主机内路由到目标主机实体。如果该数据分组与ARP交换相关,则在606,数据分组头的ARP源MAC地址和ARP目标MAC地址可以被交换。在将ARP源MAC地址和ARP目标MAC地址交换之后,在607,数据分组可以在主机中路由到目标主机实体。
图7示出了实施另一实施例的方法的流程图700。在这个实例中,该方法可以由具有多个驻留实体的主机的NIC卡来执行。在701,可以从驻留在主机上的一个实体接收数据分组,该实体与主机的其它实体共享单个MAC地址和单个IP地址。在702,可以检查该数据分组来查看头是否包括包含有由所有实体共享的辅助MAC地址的ETH目标MAC域。这可以表示该数据分组的目标是驻留在主机上的另一个实体。如果数据分组头的ETH目标MAC域不包括辅助MAC地址,则在703,该数据分组可以从主机路由到主机外的网络目的地。如果数据分组头的ETH目标MAC域包括辅助MAC地址,则在704,数据分组头的ETH源MAC域和ETH目标MAC域可以被交换。
接着在705,可以检查该数据分组来查看它是否与ARP交换(即,对MAC地址的ARP请求或者对这个请求的回复)相关。如果该数据分组与ARP交换不相关,则在708,该数据分组可以在主机内路由到目标主机实体。如果该数据分组与ARP交换相关,则在706,数据分组头的ARP源MAC地址和ARP目标MAC地址可以被交换。
另外,在707,数据分组头的ARP源IP地址和ARP目标IP地址可以被交换。在将ARP源和目标MAC地址以及ARP源和目标IP地址交换之后,在708,数据分组在主机内路由到目标主机实体。
图8示出了适于使用本发明的计算机系统的一个实施例。计算机系统800可以包括用于传送信息的总线804或其它通信设备,以及耦合到总线804用于处理信息的处理器801。虽然示出的计算机系统800具有单个处理器,但是计算机系统800可以包括多个处理器。计算机系统800还可以包括存储设备802,例如随机存取存储器(RAM),其耦合到总线804,用于存储要由处理器801执行的信息和指令。存储器802还可以用于存储处理器801执行指令期间的临时变量或其它中间信息。计算机系统800还具有耦合到总线804的非易失性存储器803,例如只读存储器(ROM)或固件,用于存储处理器801的BIOS指令或类似的系统软件。其它存储介质807,例如闪存、磁盘或光盘,以及对应的驱动器也可以耦合到总线804,用于存储信息和指令。
计算机系统800还可以具有显示器806,例如阴极射线管(CRT)或液晶显示器(LCD),其通过显示控制器805耦合到总线804,用于向计算机用户显示信息。包括字母数字和其它键的字母数字输入/输出(I/O)设备810也可以通过I/O控制器809耦合到总线804。计算机系统800还可以包括网络接口808,其提供对网络812的访问。在一个实施例中,网络接口808是网络接口卡(NIC),但是也可以使用其它网络接口。
本发明的一个实施例涉及使用辅助地址来避免在驻留在主机上的实体之间路由的数据分组的回送。根据一个实施例,通过辅助地址的回送防止响应于处理器801执行存储器804中包含的指令序列而出现。在可选实施例中,可以使用硬连线电路代替软件指令或将硬连线电路与软件指令相结合来实现本发明。因此,本发明不限于硬件电路和软件指令的任何特定组合。
尽管已经针对若干实施例描述了本发明,但是本领域技术人员可以认识到,本发明不限于所述的实施例,而是可以利用所附权利要求的精神和范围内的修改和变化来实现。本发明因此被认为是描述性的而不是限制性的。

Claims (23)

1.一种用于网络连接的方法,所述方法包括:
从驻留在主机上的第一实体发送具有网络源媒体访问控制MAC域和网络目标MAC域的数据分组,其中所述第一实体与驻留在所述主机上的第二实体共享单个MAC地址;
在所述主机处确定所述数据分组的网络目标MAC域包括不同于所述单个MAC地址的内部MAC地址,所述内部MAC地址指示驻留在所述主机上的实体;以及
在所述主机处将所述源MAC域的内容和所述目标MAC域的内容相互交换,所述交换基于所述确定的结果。
2.如权利要求1所述的方法,其中所述第一实体包括第一虚拟机,所述第二实体包括第二虚拟机。
3.如权利要求1所述的方法,其中所述第一实体包括第一操作系统,所述第二实体包括第二操作系统。
4.如权利要求1所述的方法,其中所述数据分组遵从电气和电子工程师协会IEEE 802.1AE标准。
5.如权利要求1所述的方法,其中所述确定是肯定的,所述方法进一步包括:
第二次确定所述数据分组是还具有地址解析源MAC域和地址解析目标MAC域的地址解析分组;以及
根据第二次确定的结果,将所述内部MAC地址放在所述地址解析源MAC域中。
6.如权利要求5所述的方法,其中将所述内部MAC地址放在所述地址解析源MAC域中包括:将所述地址解析源MAC域的内容和所述地址解析目标MAC域的内容相互交换。
7.如权利要求5所述的方法,其中地址解析请求遵从地址解析协议。
8.如权利要求5所述的方法,其中所述第一和第二实体还共享单个网际协议IP地址,所述数据分组还具有地址解析源IP域和地址解析目标IP域,所述方法进一步包括:
根据第二次确定的结果,将不同于所共享的IP地址的内部IP地址放在所述地址解析源IP域中,所述内部IP地址指示驻留在所述主机上的实体。
9.如权利要求8所述的方法,其中将所述内部MAC地址放在所述地址解析源IP域中包括:将所述地址解析源IP域的内容和所述地址解析目标IP域的内容相互交换。
10.一种用于网络连接的装置,所述装置包括:
驻留在主机上的第一操作实体,所述第一操作实体发送具有网络源媒体访问控制MAC域和网络目标MAC域的数据分组;
驻留在所述主机上的第二操作实体,所述第二操作实体接收所述数据分组,所述第二操作实体与所述第一操作实体共享单个MAC地址;
网络设备,用于确定所述数据分组的网络目标MAC域包括不同于所述单个MAC地址的内部MAC地址,所述内部MAC地址指示驻留在所述主机上的操作实体,所述网络设备还将所述网络源MAC域的内容和所述网络目标MAC域的内容相互交换,所述交换基于所述确定的结果。
11.如权利要求10所述的装置,其中所述数据分组遵从电气和电子工程师协会IEEE 802.1AE标准。
12.如权利要求10所述的装置,所述网络设备还进行第二次确定,确定所述数据分组是还具有地址解析源MAC域和地址解析目标MAC域的地址解析分组,所述网络设备还根据第二次确定的结果,将所述内部MAC地址放在所述地址解析源MAC域中。
13.如权利要求12所述的装置,其中将所述内部MAC地址放在所述地址解析源MAC域中包括:将所述地址解析源MAC域的内容和所述地址解析目标MAC域的内容相互交换。
14.如权利要求12所述的装置,其中地址解析请求遵从地址解析协议。
15.如权利要求12所述的装置,其中所述第一和第二操作实体还共享单个网际协议IP地址,所述数据分组还具有地址解析源IP域和地址解析目标IP域,所述网络设备还根据第二次确定的结果,将不同于所共享的IP地址的内部IP地址放在所述地址解析源IP域中,所述内部IP地址指示驻留在所述主机上的操作实体。
16.如权利要求15所述的装置,其中将所述内部MAC地址放在所述地址解析源IP域中包括:将所述地址解析源IP域的内容和所述地址解析目标IP域的内容相互交换。
17.一种用于网络连接的系统,所述系统包括:
共享的动态随机存取存储器DRAM,用于充当第一操作实体和第二操作实体的主机,所述第一操作实体发送具有网络源媒体访问控制MAC域和网络目标MAC域的数据分组,所述第二操作实体接收所述数据分组,所述第二操作实体与所述第一操作实体共享单个MAC地址;
网络设备,用于确定所述数据分组的网络目标MAC域包括不同于所述单个MAC地址的内部MAC地址,所述内部MAC地址指示由所述DRAM充当主机的操作实体,所述网络设备还将所述网络源MAC域的内容和所述网络目标MAC域的内容相互交换,所述交换基于所述确定的结果,;以及
与所述第一操作实体、所述第二操作实体和所述网络设备连接的总线,所述总线发送所述数据分组。
18.如权利要求17所述的系统,其中所述数据分组遵从电气和电子工程师协会IEEE 802.1AE标准。
19.如权利要求17所述的系统,其中所述网络设备还进行第二次确定,确定所述数据分组是还具有地址解析源MAC域和地址解析目标MAC域的地址解析分组,所述网络设备还根据第二次确定的结果,将所述内部MAC地址放在所述地址解析源MAC域中。
20.如权利要求19所述的系统,其中将所述内部MAC地址放在所述地址解析源MAC域中包括:将所述地址解析源MAC域的内容和所述地址解析目标MAC域的内容相互交换。
21.如权利要求19所述的系统,其中地址解析请求遵从地址解析协议。
22.如权利要求19所述的系统,其中所述第一和第二操作实体还共享单个网际协议IP地址,所述数据分组还具有地址解析源IP域和地址解析目标IP域,所述网络设备还根据第二次确定的结果,将不同于所共享的IP地址的内部IP地址放在地址解析源IP域中,所述内部IP地址指示由所述DRAM充当主机的操作实体。
23.如权利要求22所述的系统,其中将所述内部MAC地址放在所述地址解析源IP域中包括:将所述地址解析源IP域的内容和所述地址解析目标IP域的内容相互交换。
CN2007103057887A 2006-09-29 2007-09-28 一种用于支持虚拟环境中的分区之间的ip网络互连的方法 Expired - Fee Related CN101257523B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/541,122 2006-09-29
US11/541,122 US7876765B2 (en) 2006-09-29 2006-09-29 Method for supporting IP network interconnectivity between partitions in a virtualized environment

Publications (2)

Publication Number Publication Date
CN101257523A CN101257523A (zh) 2008-09-03
CN101257523B true CN101257523B (zh) 2011-11-16

Family

ID=38701877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007103057887A Expired - Fee Related CN101257523B (zh) 2006-09-29 2007-09-28 一种用于支持虚拟环境中的分区之间的ip网络互连的方法

Country Status (7)

Country Link
US (1) US7876765B2 (zh)
KR (2) KR100992300B1 (zh)
CN (1) CN101257523B (zh)
DE (1) DE102007046474B4 (zh)
FR (1) FR2906909A1 (zh)
GB (1) GB2442349B (zh)
NL (1) NL1034452C (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589917B2 (en) * 2006-10-10 2013-11-19 International Business Machines Corporation Techniques for transferring information between virtual machines
US8996864B2 (en) * 2006-12-22 2015-03-31 Virtuallogix Sa System for enabling multiple execution environments to share a device
US8259720B2 (en) * 2007-02-02 2012-09-04 Cisco Technology, Inc. Triple-tier anycast addressing
JP2009278261A (ja) * 2008-05-13 2009-11-26 Toshiba Corp 情報処理装置および通信制御方法
US9264403B2 (en) * 2008-10-09 2016-02-16 Telefonaktiebolaget L M Ericsson (Publ) Virtualization platform
CN101997768B (zh) * 2009-08-21 2012-10-17 华为技术有限公司 一种上送地址解析协议报文的方法和装置
TWI400908B (zh) * 2009-09-16 2013-07-01 Hon Hai Prec Ind Co Ltd 電纜數據機及利用其連接電腦至網路之方法
TWI400970B (zh) * 2009-10-08 2013-07-01 Cameo Communications Inc 無線裝置之訊框過濾方法
EP2489172B1 (en) 2010-05-28 2020-03-25 Huawei Technologies Co., Ltd. Virtual layer 2 and mechanism to make it scalable
US8739177B2 (en) * 2010-06-21 2014-05-27 Intel Corporation Method for network interface sharing among multiple virtual machines
WO2012006190A1 (en) 2010-06-29 2012-01-12 Huawei Technologies Co., Ltd. Delegate gateways and proxy for target hosts in large layer 2 and address resolution with duplicated internet protocol addresses
JP5830093B2 (ja) 2010-06-29 2015-12-09 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 非対称ネットワーク・アドレス・カプセル化
US8363656B2 (en) * 2010-09-15 2013-01-29 International Business Machines Corporation Multiple virtual machines sharing a single IP address
US9369426B2 (en) 2011-08-17 2016-06-14 Nicira, Inc. Distributed logical L3 routing
WO2013066644A1 (en) * 2011-11-03 2013-05-10 Cisco Technology, Inc. Virtual machines in a packet switching device
US9185030B2 (en) 2011-11-03 2015-11-10 Cisco Technology, Inc. Virtual machines in a packet switching device
US9020894B2 (en) 2012-01-24 2015-04-28 Cisco Technology, Inc. Service version modification of a high-availability system
ITPI20120093A1 (it) * 2012-08-09 2014-02-10 Leonardo Panettieri Procedimento per realizzare duplicati di un'opera pittorica originale
US20140115126A1 (en) * 2012-10-19 2014-04-24 Electronics And Telecommunications Research Institute System for controlling and verifying open programmable network and method thereof
KR101978173B1 (ko) 2013-01-18 2019-05-14 삼성전자주식회사 컨텐츠 중심 네트워크에서 컨텐츠 제공자가 데이터 패킷을 전송하는 방법 및 그 컨텐츠 제공자
US9998359B2 (en) 2013-12-18 2018-06-12 Mellanox Technologies, Ltd. Simultaneous operation of remote management and link aggregation
US10148746B2 (en) 2014-01-28 2018-12-04 Mellanox Technologies, Ltd. Multi-host network interface controller with host management
WO2015174560A1 (ko) * 2014-05-14 2015-11-19 주식회사 프리스티 네트워크 제어 및 검증을 위한 장치 및 방법
US9985820B2 (en) * 2015-02-22 2018-05-29 Mellanox Technologies, Ltd. Differentiating among multiple management control instances using addresses
US9729440B2 (en) * 2015-02-22 2017-08-08 Mellanox Technologies, Ltd. Differentiating among multiple management control instances using IP addresses
US10798048B2 (en) * 2015-04-07 2020-10-06 Nicira, Inc. Address resolution protocol suppression using a flow-based forwarding element
US10038622B2 (en) * 2016-09-29 2018-07-31 Nicira, Inc. Inline processing of learn actions in a virtual switch
CN107682162A (zh) * 2017-10-13 2018-02-09 广州视源电子科技股份有限公司 电子设备、网络共享方法及装置
US10855644B1 (en) 2019-09-09 2020-12-01 Vmware, Inc. Address resolution protocol entry verification
JP7472919B2 (ja) * 2020-02-05 2024-04-23 日本電信電話株式会社 通信装置、通信システム、通信方法、及びプログラム
US11496437B2 (en) 2020-04-06 2022-11-08 Vmware, Inc. Selective ARP proxy
US11805101B2 (en) 2021-04-06 2023-10-31 Vmware, Inc. Secured suppression of address discovery messages
US11729139B2 (en) * 2021-07-21 2023-08-15 Cisco Technology, Inc. Systems and methods for the handling of bridged virtual machines
CN116366708B (zh) * 2023-04-11 2023-10-27 南京审计大学 网络靶场虚实结合场景中实体设备动态切换系统与方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1404276A (zh) * 2001-09-05 2003-03-19 三星电子株式会社 给网络接口卡分配互连网络协议地址的装置和方法
CN1815944A (zh) * 2005-02-01 2006-08-09 三星电子株式会社 通过多个无线链路发送或接收数据的设备和方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751191B1 (en) * 1999-06-29 2004-06-15 Cisco Technology, Inc. Load sharing and redundancy scheme
US7171492B1 (en) * 2000-02-24 2007-01-30 Utstarcom, Inc. Method and application programming interface for assigning multiple network addresses
JP2003008612A (ja) 2001-06-25 2003-01-10 Mitsubishi Electric Corp ネットワークインタフェース装置及びネットワークインタフェース方式及びネットワークインタフェース方法及びネットワークインタフェースプログラム及びネットワークインタフェースプログラムを記録した記録媒体
KR100886550B1 (ko) * 2002-09-17 2009-03-02 삼성전자주식회사 아이피 어드레스 할당 장치 및 방법
US20040078483A1 (en) * 2002-10-16 2004-04-22 Raymond Simila System and method for implementing virtual loopbacks in ethernet switching elements
US7181744B2 (en) * 2002-10-24 2007-02-20 International Business Machines Corporation System and method for transferring data between virtual machines or other computer entities
JP2005252473A (ja) * 2004-03-02 2005-09-15 Fujitsu Ltd データ中継装置、データ中継方法およびデータ中継プログラム
US7408883B2 (en) * 2004-09-01 2008-08-05 Nettest, Inc. Apparatus and method for performing a loopback test in a communication system
US7990966B2 (en) * 2004-12-13 2011-08-02 Electronics And Telecommunications Research Institute Apparatus for changing MAC address to identify subscriber and method thereof
US8984140B2 (en) * 2004-12-14 2015-03-17 Hewlett-Packard Development Company, L.P. Managing connections through an aggregation of network resources providing offloaded connections between applications over a network
US8040903B2 (en) * 2005-02-01 2011-10-18 Hewlett-Packard Development Company, L.P. Automated configuration of point-to-point load balancing between teamed network resources of peer devices
WO2007040482A1 (en) 2005-09-23 2007-04-12 Nettest (New York) Inc. Apparatus and method for performing a loopback test in a communication system
US8145756B2 (en) * 2005-12-22 2012-03-27 Intel Corporation Dynamic network identity architecture
US20070171904A1 (en) * 2006-01-24 2007-07-26 Intel Corporation Traffic separation in a multi-stack computing platform using VLANs
US20080022388A1 (en) * 2006-06-30 2008-01-24 Karanvir Grewal Method and apparatus for multiple inclusion offsets for security protocols
US7630368B2 (en) * 2006-06-30 2009-12-08 Sun Microsystems, Inc. Virtual network interface card loopback fastpath

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1404276A (zh) * 2001-09-05 2003-03-19 三星电子株式会社 给网络接口卡分配互连网络协议地址的装置和方法
CN1815944A (zh) * 2005-02-01 2006-08-09 三星电子株式会社 通过多个无线链路发送或接收数据的设备和方法

Also Published As

Publication number Publication date
FR2906909A1 (fr) 2008-04-11
US7876765B2 (en) 2011-01-25
GB2442349A (en) 2008-04-02
CN101257523A (zh) 2008-09-03
KR20080029936A (ko) 2008-04-03
KR100992300B1 (ko) 2010-11-05
US20080080512A1 (en) 2008-04-03
GB2442349B (en) 2009-02-11
NL1034452A1 (nl) 2008-04-01
GB0719017D0 (en) 2007-11-07
KR101480583B1 (ko) 2015-01-09
NL1034452C (nl) 2010-04-16
DE102007046474B4 (de) 2011-12-29
KR20100089803A (ko) 2010-08-12
DE102007046474A1 (de) 2008-07-24

Similar Documents

Publication Publication Date Title
CN101257523B (zh) 一种用于支持虚拟环境中的分区之间的ip网络互连的方法
CN108650182B (zh) 网络通信方法、系统、装置、设备及存储介质
EP1482712B1 (en) Virtual network addresses
US7165258B1 (en) SCSI-based storage area network having a SCSI router that routes traffic between SCSI and IP networks
US8767737B2 (en) Data center network system and packet forwarding method thereof
US9634991B2 (en) Method, apparatus, host, and network system for processing packet
US8214528B2 (en) Address identifier scaling in converged networks
EP3694145B1 (en) Method and device for sending messages
CN107094110B (zh) 一种dhcp报文转发方法及装置
CN109525684B (zh) 报文转发方法和装置
JP5612468B2 (ja) リアルタイム通信ネットワークにおける診断データの通信のための方法と装置
TW201541919A (zh) 可縮放位址解析之技術
JP2010531602A5 (zh)
CN115296848B (zh) 一种基于多局域网环境的堡垒机系统及堡垒机访问方法
US20080205376A1 (en) Redundant router having load sharing functionality
US10924397B2 (en) Multi-VRF and multi-service insertion on edge gateway virtual machines
CN116248595B (zh) 一种云内网与物理网通信的方法、装置、设备以及介质
US20210352004A1 (en) Multi-vrf and multi-service insertion on edge gateway virtual machines
Yalagandula et al. Transparent mobility with minimal infrastructure
CN106130907B (zh) 一种lisp组网双归属的实现方法及装置
CN106027689B (zh) 一种通信方法和通信装置
CN115604167A (zh) 一种公有云mac地址学习优化方法
CN115834291A (zh) 分布式内网服务数据获取方法、装置、设备及存储介质
CN111147345A (zh) 云环境网络隔离装置、方法及云环境
JPH1174924A (ja) 管理機能付きハブ

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: 20111116

Termination date: 20140928

EXPY Termination of patent right or utility model