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

文档序号:7669440阅读:86来源:国知局
专利名称:一种用于支持虚拟环境中的分区之间的ip网络互连的方法
技术领域
本发明通常涉及存在于共享主机上的用户实体的网络连接。更特 别的,本发明的实施例允许实体不用执行网络地址转换就能网络连 接。
背景技术
现在有很多种商业虚拟环境,例如VMWARE⑧和MICROSOFT VITRUALPC 。这些环境都允许在单个主机上运行多个用户实体, 其中每个用户实体能够利用网际协议(IP)或类似的协议而与外部网和其它实体建立网络连接。为了支持实体间的连接,这些环境典型地向 所述实体分配一个或多个地址,并通过网络地址转换(NAT)来解决涉 及所述实体的数据转移。在虚拟环境中,NAT依靠具有自身媒体访问控制(MAC)和网际协 议(IP)地址的主机机器,所述地址通常由网络中的动态主机配置协议 (DHCP)服务器来分配。主机机器启动自身的内部网络,其中每个客 户机实体可以被分配有内部MAC和IP地址。当需要一个连接来从一个客户机实体发送数据分组到主机机器外的目标时,该连接可以被 分配到主机上的一个端口,以与其它连接区分。在分组被发送到外部 网之前,可以在数据分组中将源实体的内部MAC和IP地址替换为 主机的MAC和IP地址、被重算的校验和以及在转换表中记录的转 换,以便返回的分组可以被路由到正确的实体。当数据分组被返回到特定端口时,可以在转换表中查找分组的目 标,并且在数据分组中替换目标实体的内部MAC和IP地址。地址 替换后,在将分组转发到其目标实体之前,再次重算校验和。当主机 上的连接关闭时,转换表中的项被删除。由于连接仅仅是在主机上驻 留的两个实体之间,因此不需要修改地址或校验和的值就能转发数据分组。NAT具有一些限制。它必须为每个出站或入站的数据分组固定 地址,从而重算校验和。通常内部网络中的NAT驻留在路由器上, 因此它对系统性能的影响很小。然而在虚拟环境中,其以在主机上运 行并且消耗相当多系统资源的软件来实现。NAT还违反了一些端到 端协议,例如使用认证头来验证的虚拟个人网络(VPN)通道。此外, 客户机实体的用户不能为了解决纷争的目的来査看或使用他们真实 的(即公共)IP地址。当两个(或更多)客户机实体使用端口路由来划分它们之间的网 络通信时,每一个客户机实体都被分配了端口的范围,且在该范围中 的所有通信都被分配给该客户机实体。在端口路由时,来自一个客户 机实体的分组不能被发送到另一个客户机实体,因为其以太网头的源 和目标域中有相同的MAC和IP。这被称为回送分组,并且一些中间 驱动器可以通过使这些分组回到网络堆栈来阻止它们去往微型接口。 由于例如,如果服务操作系统(OS)具有基于配置页的web,从而可以 利用它来配置机器,则其将仅仅可以从外部计算机访问,而不能从性 能OS访问,这就限制了系统的能力。


在附图中举例示出了本发明的各种实施例,但并不局限于此,其中图l是示出了具有共享共用MAC地址的多个实体的主机的示意图。图2是示出了具有共享共用MAC地址和共用IP地址的多个实 体的主机的示意图。图3是示出了以太网数据分组的部分结构的数据帧图。图4是示出了地址解析数据分组的部分结构的数据帧图。图A是示出了单个主机上的实体之间的数据分组的回送的框图。图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上,在该情况下所述 多个客户机实体是服务OS 104和多个性能OS 106、 108。本领域公 知,其它类型的实体,例如硬件虚拟机、软件虚拟机、分区和VPN 客户端,也可以替代图1中所示的操作系统。服务OS 104通过NIC 桥驱动器105来控制物理NIC103,并且每个性能OS106、 108具有 各自的虚拟NIC驱动器107、 109。 NIC驱动器105、 107、 109用来 与支持主机100上的多个实体的虚拟机监视器102进行通信。在这种 情况下,来自主机的数据分组的路由和到主机的数据分组的路由,以 及在客户机实体之间的主机中发送的数据分组的路由可以在主机100 处由服务OS 104的NIC桥驱动器105来服务。通过控制接口设备(在 这种情况下是物理NIC 103), NIC桥驱动器105可以服务于数据分组 的路由,以允许在主机100和网络110之间的通信。本领域公知,各 种调制解调器或其它接口设备可以代替所示的物理NIC 103。本领域 进一步公知,除了网络以外,主机可以和单个机器或可选的系统进行 接口。服务OS104、性能OSl 106和性能OS 108也可以与主机100 的共享存储器101进行通信。在图1中,客户机实体可以全部共享单个MAC地址(MAC1), 同时具有其自身的单独的IP地址(IP1、 IP2、 IP3等)。这种特定的地 址共享可以例如在开放系统互连(OSI)层3路由模式中由主机100使 用。由客户机实体共享的单个MAC地址可以是接口设备(例如物理 NIC 103)的真实MAC地址。可以通过支持选项61客户识别域的 DHCP服务器将单独的IP地址分配给它们各自的客户机实体。参考图2,示出了与图l类似的主机配置。在这种情况下,示出了服务OS 204和性能OS 206运行在同一主机机器200上。本领域公 知,其它类型的实体,例如硬件虚拟机、软件虚拟机、分区和VPN 客户端,也可以替代图1所示的操作系统。服务OS 204通过NIC桥 驱动器205控制物理NIC 203,并且性能OS 206包括虚拟NIC驱动 器207。 NIC驱动器205、 207可以与支持主机200上的多个实体的 虚拟机监视器202进行通信。在这种情况下,来自主机的数据分组的 路由和到主机的数据分组的路由,以及在客户机实体之间的主机中发 送的数据分组的路由可以在主机200处由服务OS 204的NIC桥驱动 器205来服务。通过控制接口设备(在这种情况下是物理NIC 203), 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 Address Resolution 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示出了在共享主机上驻留的客户机实体之间传送数据分组 时常见的回送问题。在这个实例中,驻留在主机上的客户机(主机OSl 501)试图发送数据分组到同一主机上的第二实体(主机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信息的数据分组的头的类型,也可以实施某些实施例。当从主机0S1 501发送封装的数据分组时,主机上的中间设备可 以截取数据分组,并处理它以供传送到主机OS2。所述中间设备可以 是NIC桥驱动器105或为此目的设计的类似的主机设备。当中间设 备发现某些源地址信息和其对应的目标信息相同时,就会出现回送。 例如,如果主机0S1 501和主机OS2 502仅共享单个MAC地址,并 且数据分组505被封装在以太网头300中,则ETH源MAC地址域 301和ETH目标MAC地址域都具有该单个MAC地址。这样会导致 数据分组到主机OS2 502传送失败,取而代之的是到主机OS1 501 的回送511。在数据分组还封装有ARP头的情况下,这种头例如可以包括中 间设备的第二基础来回送数据分组。例如,如果主机OSl 501和主机 OS2 502都仅共享单个MAC地址和单个IP地址,并且数据分组505 还封装在ARP头400中,则ARP源MAC域406和ARP目标MAC 域408可以都具有共享的单个MAC地址,并且ARP源IP域407和 ARP目标IP域409可以都具有共享的单个IP地址。由于数据分组到 主机OS2 502的传送失败并取而代之的是到主机OS 1 501的回送511 , 因此这可以构成与网络头的基础相独立的独立基础。例如,当主机OS1 501和主机OS2 502共享主机机器的接口设备 的真实MAC地址作为单个MAC地址时,封装数据分组的头,诸如 以太网头300,可以使该单个MAC地址既在ETH目标MAC地址域 301中又在ETH源MAC地址域302中。由客户机实体共享的单个 MAC地址可以是接口设备(例如物理NIC 103)的真实MAC地址。图5B示出了根据一个实施例的图5A的回送问题的解决方案。 在这个例子中,驻留在主机上的客户机实体(主机0S1 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的类型,则主机OSl 503还包 括辅助IP地址,这避免了基于头508中的相同IP地址所造成的回送。 下面描述一个实施例是如何利用数据分组头中的辅助地址的详细情 况。图6示出了实施一个实li例的方法的流程图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/0)设备810也可以通过I/O控制器809耦合到总线804。计算机 系统800还可以包括网络接口 808,其提供对网络812的访问。在一 个实施例中,网络接口 808是网络接口卡(NIC),但是也可以使用其 它网络接口。本发明的一个实施例涉及使用辅助地址来避免在驻留在主机上 的实体之间路由的数据分组的回送。根据一个实施例,通过辅助地址 的回送防止响应于处理器801执行存储器804中包含的指令序列而出 现。在可选实施例中,可以使用硬连线电路代替软件指令或将硬连线 电路与软件指令相结合来实现本发明。因此,本发明不限于硬件电路 和软件指令的任何特定组合。尽管已经针对若干实施例描述了本发明,但是本领域技术人员可 以认识到,本发明不限于所述的实施例,而是可以利用所附权利要求的精神和范围内的修改和变化来实现。本发明因此被认为是描述性的 而不是限制性的。
权利要求
1、一种方法,包括从驻留在主机上的第一实体发送具有网络源媒体访问控制(MAC)域和网络目标MAC域的数据分组,其中所述第一实体与驻留在所述主机上的第二实体共享单个MAC地址;在所述主机处确定所述数据分组的网络目标MAC域包括不同于所述单个MAC地址的内部MAC地址,所述内部MAC地址指示驻留在所述主机上的实体;以及根据确定的结果,将所述源MAC域和所述目标MAC域的内容交换。
2、 如权利要求1所述的方法,其中所述第一实体包括第一虚拟 机,所述第二实体包括第二虚拟机。
3、 如权利要求1所述的方法,其中所述第一实体包括第一操作 系统,所述第二实体包括第二操作系统。
4、 如权利要求1所述的方法,其中所述数据分组遵从电气和电 子工程师协会(IEEE) 802.1 AE标准。
5、 如权利要求1所述的方法,其中所述确定是肯定的,所述方 法进一步包括第二次确定所述数据分组是还具有地址解析源MAC域和地址解 析目标MAC域的地址解析分组;以及根据第二次确定的结果,将所述内部MAC地址放在所述地址解 析源MAC域中。
6、 如权利要求5所述的方法,其中将所述内部MAC地址放在 所述地址解析源MAC域中包括将所述地址解析源MAC域和所述地址解析目标MAC域的内容交换。
7、 如权利要求5所述的方法,其中地址解析请求遵从地址解析 协议(ARP)。
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、 如权利要求IO所述的装置,其中所述数据分组遵从电气和 电子工程师协会(正EE) 802.1 AE标准。
12、 如权利要求IO所述的装置,所述网络设备还进行第二次确 定,确定所述数据分组是还具有地址解析源MAC域和地址解析目标 MAC域的地址解析分组,所述网络设备还根据第二次确定的结果, 将所述内部MAC地址放在所述地址解析源MAC域中。
13、 如权利要求12所述的装置,其中将所述内部MAC地址放 在所述地址解析源MAC域中包括将所述地址解析源MAC域和所 述地址解析目标MAC域的内容交换。
14、 如权利要求12所述的装置,其中地址解析请求遵从ARP。
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所述的系统,其中所述数据分组遵从电气和 电子工程师协会(正EE)802.1 AE标准。
19、 如权利要求17所述的系统,其中所述网络设备还进行第二 次确定,确定所述数据分组是还具有地址解析源MAC域和地址解析 目标MAC域的地址解析分组,所述网络设备还根据第二次确定的结 果,将所述内部MAC地址放在所述地址解析源MAC域中。
20、 如权利要求19所述的系统,其中将所述内部MAC地址放 在所述地址解析源MAC域中包括将所述地址解析源MAC域和所 述地址解析目标MAC域的内容交换。
21、 如权利要求19所述的系统,其中地址解析请求遵从ARP。
22、 如权利要求19所述的系统,其中所述第一和第二操作实体 还共享单个网际协议(IP)地址,所述数据分组还具有地址解析源IP域 和地址解析目标IP域,所述网络设备还根据第二次确定的结果,将 不同于所共享的IP地址的内部IP地址放在地址解析源IP域中,所 述内部IP地址指示由所述DRAM充当主机的操作实体。
23、 如权利要求22所述的系统,其中将所述内部MAC地址放 在所述地址解析源IP域中包括将所述地址解析源IP域和所述地址 解析目标IP域的内容交换。
24、 一种提供指令的机器可读介质,其中当由一组一个或多个处 理器执行所述指令时,使该组处理器执行以下方法,包括从驻留在主机上的第一实体发送包含源MAC域和目标MAC域 的数据分组,其中所述第一实体与驻留在所述主机上的第二实体共享 单个MAC地址;在所述主机处确定所述数据分组的目标MAC域包括不同于所述 单个MAC地址的内部MAC地址,所述内部MAC地址指示驻留在 所述主机上的实体;根据确定的结果,将所述源MAC域和所述目标MAC域的内容 交换;以及在所述第二实体处接收所述数据分组。
25、 如权利要求24所述的机器可读介质,其中所述数据分组遵 从电气和电子工程师协会(正EE) 802.1 AE标准。
26、 如权利要求24所述的机器可读介质,其中所述确定是肯定 的,所述方法进一步包括第二次确定所述数据分组是还具有地址解析源MAC域和地址解 析目标MAC域的地址解析分组;以及根据第二次确定的结果,将所述内部MAC地址放在所述地址解 析源MAC域中。
27、 如权利要求26所述的机器可读介质,其中将所述内部MAC 地址放在所述地址解析源MAC域中包括将所述地址解析源MAC 域和所述地址解析目标MAC域的内容交换。
28、 如权利要求26所述的机器可读介质,其中地址解析请求遵 从ARP。
29、 如权利要求26所述的机器可读介质,其中所述第一和第二 实体还共享单个网际协议(IP)地址,所述数据分组还具有地址解析源 IP域和地址解析目标IP域,所述方法进一步包括根据第二次确定的结果,将不同于所共享的IP地址的内部IP地 址放在所述地址解析源IP域中,所述内部IP地址指示驻留在所述主 机上的实体。
30、如权利要求29所述的机器可读介质,其中将所述内部MAC 地址放在所述地址解析源IP域中包括将所述地址解析源IP域和所 述地址解析目标IP域的内容交换。
全文摘要
一种用于避免在驻留在单个主机上的实体之间发送的数据分组的回送的方法。在一个实施例中,驻留在主机上的实体之间共享的辅助地址指示数据分组要被路由到驻留在主机上的一个实体。在另一实施例中,当被路由到驻留在主机上的目标实体时,将数据分组头中的源地址和目标地址交换。
文档编号H04L29/06GK101257523SQ200710305788
公开日2008年9月3日 申请日期2007年9月28日 优先权日2006年9月29日
发明者J·杰克逊, O·伦兹, S·戈夫曼 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1