地址解析协议报文的处理方法和设备的制作方法

文档序号:7760740阅读:125来源:国知局
专利名称:地址解析协议报文的处理方法和设备的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种地址解析协议报文的处理方法和设备。
背景技术
通过虚拟机软件可以在一台物理计算机上模拟出一台或多台虚拟的计算机(虚 拟机),这些虚拟机可以像真实的物理计算机一样进行工作,例如可以安装操作系统、安装 应用程序、访问网络资源等,给我们的工作和生产带来了极大的便利。现有技术中,同一网段内的每个虚拟机在向其他虚拟机发送数据时需要使用该其 他虚拟机的MAC (Media Access Control,介质访问控制)地址封装数据包。如果自身没有 该MAC地址则通过广播ARP(Address Resolution Protocol,地址解析协议)请求报文获取 对应虚拟机的MAC地址。如图1所示,假设虚拟机A和B (即图1中的主机A和主机B)在 同一个网段,主机A向主机B发送消息的过程包括(1)主机A首先查看自己的ARP表,确定其中是否包含有主机B对应的ARP表项。 如果找到了对应的MAC地址,则主机A直接利用ARP表中的MAC地址,对IP数据包进行帧 封装,并将数据包发送给主机B ;(2)如果主机A在ARP表中找不到对应的MAC地址,则缓存该数据报文,然后以广 播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机 A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B的IP地址和全0的MAC地 址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求。(3)收到ARP请求的主机比较自己的IP地址和ARP请求报文中的目标IP地址,当 两者相同时(如主机B)进行如下处理将ARP请求报文中的发送端(即主机A)的IP地址 和MAC地址存入自己的ARP表中,之后以单播方式发送ARP响应报文给主机A,其中包含了 自己的MAC地址。(4)主机A收到ARP响应报文后,将主机B的MAC地址加入到自己的ARP表中以用 于后续报文的转发,同时将IP数据包进行封装后发送出去。上述过程会导致网络中的ARP报文大幅增加,如图2所示,假设该网段内有三台物 理计算机,每个物理主机上均安装了 VMware ESX Server软件,并分别虚拟了 20、30和40 台主机。假设每个主机间进行了一次通信,那么在采用虚拟技术前后的ARP报文的统计信 息如表1所示表 1 因此,当一网段内的虚拟机增多时,该网段内的ARP报文将会大量增多,影响网络 的整体性能。

发明内容
本发明提供了一种地址解析协议报文的处理方法和设备,降低了虚拟机环境下的 ARP报文数量,有益于提高网络的整体性能。本发明提供了一种地址解析协议报文的处理方法,应用于设置有虚拟机的设备, 虚拟机通过其所在设备上对应的代理功能模块收发报文,该方法进一步包括当接收到地址解析协议ARP请求报文时,所述代理功能模块根据所述ARP请求报 文的目的IP地址判断所述ARP请求报文的目的虚拟机是否与所述代理功能模块对应;如果判断结果为是,所述代理功能模块向所述ARP请求报文的源设备发送ARP响 应报文,所述ARP响应报文内携带与所述目的IP地址对应的MAC地址;如果判断结果为否、且所述源设备与所述代理功能模块对应,所述代理功能模块 向所述代理功能模块对应的虚拟机之外发送所述ARP请求报文;如果判断结果为否、且所述源设备不与所述代理功能模块对应,所述代理功能模 块丢弃所述ARP请求报文。所述代理功能模块根据所述ARP请求报文的目的IP地址判断所述ARP请求报文 的目的虚拟机是否与所述代理功能模块对应包括所述代理功能模块在虚拟机的IP地址 与MAC地址的对应关系中,查找与所述ARP请求报文的目的IP地址对应的MAC地址,如果 查找成功,则判断所述目的虚拟机与所述代理功能模块对应,否则判断所述目的虚拟机不 与所述代理功能模块对应。所述ARP响应报文内携带与所述目的IP地址对应的MAC地址具体为携带所述目 的虚拟机的MAC地址;所述代理功能模块在向所述代理功能模块对应的虚拟机之外发送的 所述ARP请求报文内携带所述源设备的IP地址。所述代理功能模块向所述ARP请求报文的源设备发送ARP响应报文,所述ARP响 应报文内携带与所述目的IP地址对应的MAC地址包括当所述源设备与所述代理功能模块对应时,所述ARP响应报文内携带所述目的虚 拟机的MAC地址;当所述源设备不与所述代理功能模块对应时,所述ARP响应报文内携带所述代理 功能模块的MAC地址。所述代理功能模块向所述代理功能模块对应的虚拟机之外发送所述ARP请求报文包括所述代理功能模块将所述ARP请求报文的源MAC地址修改为自身MAC地址并向所 述代理功能模块之外发送。所述代理功能模块具体为设备内核,与所述代理功能模块对应的虚拟机具体为所 述设备内核所属设备上的虚拟机。所述代理功能模块具体为所述设备上的虚拟交换机,所述设备上包括一个或多个 虚拟交换机,不同虚拟交换机对应不同的虚拟机。一种地址解析协议报文的处理设备,该设备上设置有虚拟机,设备上还包括代理 功能模块,虚拟机通过对应的代理功能模块收发报文,该代理功能模块包括接收单元,用于接收地址解析协议ARP请求报文;判断单元,与所述接收单元连接,用于根据所述ARP请求报文的目的IP地址判断 所述ARP请求报文的目的虚拟机是否与所述代理功能模块对应;发送单元,与所述判断单元连接,用于当所述判断单元的判断结果为是时,向所述 ARP请求报文的源设备发送ARP响应报文,所述ARP响应报文内携带与所述目的IP地址对 应的MAC地址;当所述判断单元的判断结果为否、且所述源设备与所述代理功能模块对应 时,向所述代理功能模块对应的虚拟机之外发送所述ARP请求报文;丢弃单元,与所述判断单元连接,用于当所述判断单元的判断结果为否、且所述源 设备不与所述代理功能模块对应时,丢弃所述ARP请求报文。所述判断单元包括查找子单元,用于在虚拟机的IP地址与MAC地址的对应关系中,查找与所述ARP 请求报文的目的IP地址对应的MAC地址;判断子单元,与所述查找子单元连接,用于所述查找子单元查找成功时,判断所述 目的虚拟机与所述代理功能模块对应,否则判断所述目的虚拟机不与所述代理功能模块对应。所述发送单元在所述ARP响应报文内携带与所述目的IP地址对应的MAC地址具 体为携带所述目的虚拟机的MAC地址,所述发送单元还用于在向所述代理功能模块对应的 虚拟机之外发送的所述ARP请求报文内携带所述源设备的IP地址。所述发送单元还用于当所述判断单元的判断结果为是、且所述源设备与所述代 理功能模块对应时,在所述ARP响应报文内携带所述目的虚拟机的MAC地址;当所述判断单 元的判断结果为是、且所述源设备不与所述代理功能模块对应时,在所述ARP响应报文内 携带所述代理功能模块的MAC地址。所述发送单元还用于当所述判断单元的判断结果为否、且所述源设备不与所述 代理功能模块对应时,将所述ARP请求报文的源MAC地址修改为自身MAC地址并向所述代 理功能模块之外发送。所述代理功能模块具体为设备内核,与所述代理功能模块对应的虚拟机具体为所 述设备内核所属设备上的虚拟机。所述代理功能模块具体为所述设备上的虚拟交换机,所述设备上包括一个或多个 虚拟交换机,不同虚拟交换机对应不同的虚拟机。与现有技术相比,本发明至少具有以下优点
本发明中,代理功能模块在接收到虚拟机发送的ARP请求报文时,判断ARP请求报 文的目的虚拟机是否与代理功能模块对应,根据判断结果进行ARP报文处理,由于虚拟机 之间的ARP报文通信是通过代理功能模块实现的,通过代理功能模块对接收到的ARP请求 报文进行处理,控制ARP报文的发送,降低了虚拟机环境下的ARP报文数量,有益于提高网 络的整体性能。


图1是现有技术中虚拟机A和B之间ARP报文交互示意图;图2是现有技术中虚拟环境下组网示意图;图3是本发明提供的地址解析协议报文的处理方法的流程示意图;图4是本发明提供的虚拟环境下组网示意图;图5是图4所示组网中地址解析过程示意图;图6-7是本发明提供的地址解析协议报文的处理设备的结构示意图。
具体实施例方式本发明提供一种地址解析协议报文的处理方法,应用于设置有虚拟机的设备,虚 拟机通过其所在设备上对应的代理功能模块收发报文。具体的,当接收到地址解析协议ARP 请求报文时,所述代理功能模块根据所述ARP请求报文的目的IP地址判断所述ARP请求报 文的目的虚拟机是否与所述代理功能模块对应。如果判断结果为是,所述代理功能模块向 所述ARP请求报文的源设备发送ARP响应报文,所述ARP响应报文内携带与所述目的IP地 址对应的MAC地址;如果判断结果为否、且所述源设备与所述代理功能模块对应,所述代理 功能模块向所述代理功能模块对应的虚拟机之外发送所述ARP请求报文;如果判断结果为 否、且所述源设备不与所述代理功能模块对应,所述代理功能模块丢弃所述ARP请求报文。其中,代理功能模块可以为设备的内核,此时,源设备与所述代理功能模块对应指 的是源设备在设备上。当设备上配置有虚拟交换机时,一个虚拟交换机可以对应一个或多个虚拟机,不 同虚拟交换机对应不同的虚拟机,该代理功能模块此时可以为虚拟交换机,源设备与所述 代理功能模块对应指的是源设备与该虚拟交换机对应。其中的源设备为虚拟机或者独立的物理设备等。下面针对代理功能模块为设备的内核和虚拟交换机分别介绍本发明提供的地址 解析协议报文的处理方法,其中的源设备以虚拟机为例进行介绍。本发明提供一种地址解析协议报文的处理方法,应用于设置有虚拟机的设备,虚 拟机通过其所在设备的内核kernal与其他虚拟机通信,如图3所示,包括步骤301,当接收到地址解析协议ARP请求报文时,所述设备的内核根据所述ARP 请求报文的目的IP地址判断所述ARP请求报文的目的虚拟机是否为本设备上的虚拟机;如 果判断结果为是,执行步骤302;如果判断结果为否,执行步骤303。设备的内核存储设备上的虚拟机的IP地址与MAC地址的对应关系,例如虚拟机IP 地址与MAC地址的映射表。设备的内核在接收到ARP请求报文后,在该映射表内查找与ARP 请求报文的目的IP地址对应的MAC地址,如果查找成功,则判断目的虚拟机在本设备上,否则判断目的虚拟机不在本设备上。该判断方式仅为一种具体实现方式,本领域技术人员容 易想到其他判断方式,例如设备的内核还可以仅查找是否该设备上是否存储有ARP请求报 文的目的IP地址,如果已经存储,则判断目的虚拟机在本设备上,否则判断目的虚拟机不 在本设备上。上述以映射表方式存储虚拟机IP地址与MAC地址的对应关系仅为一种具体 实现方式,设备上还可以以其他方式记录虚拟机IP地址与MAC地址的对应关系,例如不以 表格方式存储,而是直接存储IP地址和MAC地址,例如,循环存储IP地址和MAC地址,每一 IP地址与其后紧挨的MAC地址具有对应关系。步骤302,所述设备的内核将所述目的虚拟机的MAC地址向所述ARP请求报文的源 虚拟机发送。设备的内核获取目的虚拟机的MAC地址向源虚拟机发送之后,设备的内核不发送 该ARP请求报文,包括源虚拟机在该设备上或者不在该设备上的两种情况。具体的,如果源 虚拟机在该设备上,设备的内核不需要向其他虚拟机请求MAC地址,因而不向本设备内以 及本设备外的虚拟机发送ARP请求报文;如果源虚拟机不在该设备上,设备的内核已经发 送了目的虚拟机的MAC地址,也不在需要发送ARP请求报文。需要说明的是,此时设备的内 涵可以向目的虚拟机发送包括源虚拟机的IP地址和MAC地址的消息,由目的虚拟机更新其 ARP 表。步骤303,若所述源虚拟机在本设备上,所述设备的内核向所述设备之外的虚拟机 发送所述ARP请求报文;若所述源虚拟机不在本设备上,所述设备的内核丢弃所述ARP请求 报文。此处需要说明的是,如果判断结果为否、且源虚拟机在本设备上,设备的内核不向 本设备上的虚拟机发送ARP请求报文。另外,设备的内核可以根据ARP请求报文的源IP地址和/或源MAC地址判断所述 源虚拟机是否在本设备上。当然,设备的内核也可以不通过上述方式判断源虚拟机是否在 本设备上,而是根据报文的入方向判断报文发送方是否为本设备上的虚拟机,从而获知源 虚拟机是否在本设备上。下面结合一具体应用场景介绍本发明提供的地址解析协议报文的处理方法。如图4所示,假设虚拟机A和虚拟机B属于同一个网段但分属不同的ESX服务器, 虚拟机A要向虚拟机B发送信息,虚拟机A首先查看自己的ARP表,确定其中是否包含有虚 拟机B对应的ARP表项;如果找到了对应的MAC地址,则虚拟机A直接利用ARP表中的MAC 地址对IP数据包进行帧封装,并将数据包发送给虚拟机B ;如果虚拟机A在ARP表中找不到 虚拟机B对应的MAC地址,则将缓存该数据报文,然后以广播方式发送一个ARP请求报文。 ARP请求报文中的发送端IP地址和发送端MAC地址为虚拟机A的IP地址和MAC地址,目标 IP地址和目标MAC地址为虚拟机B的IP地址和全0的MAC地址。该地址解析过程如图5 所示,包括步骤501,ESX服务器A内核接收到虚拟机A发送的ARP请求报文,查找其上的虚 拟机IP地址和MAC地址映射表,如果查找到虚拟机B的MAC地址,则执行步骤502,否则执 行步骤503。步骤502,ESX服务器A内核向虚拟机A发送ARP响应报文,同时不再将ARP请求 报文向外广播(包括服务器上的其他虚拟虚拟机和服务器外的其他虚拟机)。
步骤503,ESX服务器A内核向外广播ARP请求报文,但不再向本服务器上的虚拟 虚拟机发送ARP请求报文。步骤504,ESX服务器B内核收到ARP请求报文,查找其上的虚拟机IP地址和MAC 地址映射表,如果没有查找到虚拟机B的MAC地址,执行步骤505 ;如果查找到虚拟机B的 MAC地址,执行步骤506。步骤505,ESX服务器B内核丢弃ARP请求报文,不再将该广播报文向内部的虚拟 虚拟机广播。步骤506,ESX服务器B内核构造一个ARP响应报文,该ARP响应报文的源MAC地 址为虚拟机B的MAC地址,源IP地址为虚拟机B的IP地址,并将该报文以单播方式发送给 虚拟机A,同时不再将该广播报文向内部的虚拟虚拟机广播。此时,ESX服务器B内核还可以向虚拟机B发送一条消息,让虚拟机B更新自己的 ARP表,即将虚拟机A的IP地址和MAC地址存入虚拟机B的ARP表中。步骤507,ESX服务器A内核收到以虚拟机A的MAC地址为目的MAC地址的报文 时,直接将该报文转发给虚拟机A。步骤508,虚拟机A收到ARP响应报文后,将虚拟机B的MAC地址加入到自己的ARP 表中以用于后续报文的转发,同时将IP数据包进行封装后发送。仍以图2的例子为例,假设每个主机间至少进行了一次通信,那么在虚拟环境下 采用本发明提供的地址解析协议报文的处理方法前后的统计信息如表2所示表2 由表2可以清楚获知,本发明提供的方法将会使网络中的ARP报文特别是广播报 文数大幅降低。通过采用本发明提供的方法,设备的内核在接收到虚拟机发送的ARP请求 报文时,判断ARP请求报文的目的虚拟机是否为本设备上的虚拟机,根据判断结果进行ARP 报文处理,由于虚拟机之间的ARP报文通信是通过设备的内核实现的,通过设备的内核对 接收到的ARP请求报文进行处理,控制ARP报文的发送,降低了虚拟机环境下的ARP报文数 量,有益于提高网络的整体性能。
本发明提供的上述地址解析协议报文的处理方法中,还可以采用其他实现方式。 具体的,在上述步骤302中,设备的内核首先判断本设备是否为源虚拟机所属设备,如果 是,则将目的虚拟机的MAC地址向源虚拟机发送;如果不是,设备的内核将自身MAC地址向 源虚拟机发送。在步骤303中,若源虚拟机在本设备上,设备的内核将ARP请求报文内携带 的源MAC地址修改为自身MAC地址再向设备之外的虚拟机发送。采用这种方式时,虚拟机 之间的数据交互需要经过设备的内核处理,对设备的内核的处理能力要求较高,但同样可 以解决现有技术中ARP报文数量多的问题。本发明还提供一种地址解析协议报文的处理方法,应用于设置有虚拟机的设备, 该设备内还设置一个或多个虚拟交换机,不同虚拟交换机对应不同的虚拟机,通过其对应 的虚拟交换机与其他虚拟机、虚拟交换机或设备通信,如图4所示,包括步骤401,当接收到地址解析协议ARP请求报文时,虚拟交换机根据ARP请求报文 的目的IP地址判断ARP请求报文的目的虚拟机是否与本虚拟交换机对应;如果判断结果为 是,执行步骤402 ;如果判断结果为否,执行步骤403。虚拟交换机查找虚拟机的IP地址与MAC地址的对应关系,例如虚拟机IP地址与 MAC地址的映射表,该映射表可以存储于虚拟交换机、或者设备上某个配置的存储位置。步骤402,虚拟交换机将目的虚拟机的MAC地址向ARP请求报文的源虚拟机发送。虚拟交换机获取目的虚拟机的MAC地址向源虚拟机发送之后,虚拟交换机不发送 ARP请求报文,包括源虚拟机与虚拟交换机对应或者不对应两种情况。具体的,如果源虚 拟机与虚拟交换机对应,虚拟交换机不需要向其他虚拟机请求MAC地址,不向本虚拟交换 机以及其他虚拟交换机对应的虚拟机发送ARP请求报文;如果源虚拟机与虚拟交换机不对 应,虚拟交换机已经发送了目的虚拟机的MAC地址,也不再需要发送ARP请求报文。需要说 明的是,此时虚拟交换机可以向目的虚拟机发送包括源虚拟机的IP地址和MAC地址的消 息,由目的虚拟机更新其ARP表。步骤403,若源虚拟机与虚拟交换机对应,虚拟交换机向本虚拟交换机之外发送 ARP请求报文;若源虚拟机不与虚拟交换机对应,虚拟交换机丢弃ARP请求报文。另外,虚拟交换机可以根据ARP请求报文的源IP地址和/或源MAC地址判断所述 源虚拟机是否在本设备上。当然,虚拟交换机也可以不通过上述方式判断源虚拟机是否在 本设备上,而是根据报文的入方向判断报文发送方是否为本设备上的虚拟机,从而获知源 虚拟机是否在本设备上。本发明提供的上述地址解析协议报文的处理方法中,还可以采用其他实现方式。 具体的,在上述步骤402中,虚拟交换机首先判断源虚拟机是否与本虚拟交换机对应,如果 是,将目的虚拟机的MAC地址向源虚拟机发送;如果不是,虚拟交换机在ARP响应报文内将 自身MAC地址向源虚拟机发送。在步骤403中,若源虚拟机与本虚拟交换机对应,虚拟交换 机将ARP请求报文内携带的源MAC地址修改为自身MAC地址再向设备之外发送。采用这种 方式时,虚拟机之间的数据交互需要经过虚拟交换机处理,对虚拟交换机的处理能力要求 较高,但同样可以解决现有技术中ARP报文数量多的问题。本发明提供的一种地址解析协议报文的处理设备,该设备上设置有虚拟机,设备 上还包括代理功能模块,虚拟机通过对应的代理功能模块收发报文,如图6所示,该代理功 能模块包括
接收单元11,用于接收地址解析协议ARP请求报文;判断单元12,与所述接收单元11连接,用于根据所述ARP请求报文的目的IP地址 判断所述ARP请求报文的目的虚拟机是否与所述代理功能模块对应;发送单元13,与所述判断单元12连接,用于当所述判断单元的判断结果为是时, 向所述ARP请求报文的源设备发送ARP响应报文,所述ARP响应报文内携带与所述目的IP 地址对应的MAC地址;当所述判断单元的判断结果为否、且所述源设备与所述代理功能模 块对应时,向所述代理功能模块对应的虚拟机之外发送所述ARP请求报文;丢弃单元14,与所述判断单元12连接,用于当所述判断单元的判断结果为否、且 所述源设备不与所述代理功能模块对应时,丢弃所述ARP请求报文。如图7所示,所述判断单元12包括查找子单元121,用于在虚拟机的IP地址与MAC地址的对应关系中,查找与所述 ARP请求报文的目的IP地址对应的MAC地址;判断子单元122,与所述查找子单元121连接,用于所述查找子单元查找成功时, 判断所述目的虚拟机与所述代理功能模块对应,否则判断所述目的虚拟机不与所述代理功 能模块对应。所述发送单元13在所述ARP响应报文内携带与所述目的IP地址对应的MAC地址 具体为携带所述目的虚拟机的MAC地址,所述发送单元还用于在向所述代理功能模块对应 的虚拟机之外发送的所述ARP请求报文内携带所述源设备的IP地址。所述发送单元13还用于当所述判断单元的判断结果为是、且所述源设备与所述 代理功能模块对应时,在所述ARP响应报文内携带所述目的虚拟机的MAC地址;当所述判断 单元的判断结果为是、且所述源设备不与所述代理功能模块对应时,在所述ARP响应报文 内携带所述代理功能模块的MAC地址。所述发送单元13还用于当所述判断单元的判断结果为否、且所述源设备不与所 述代理功能模块对应时,将所述ARP请求报文的源MAC地址修改为自身MAC地址并向所述 代理功能模块之外发送。所述代理功能模块具体为设备内核,与所述代理功能模块对应的虚拟机具体为所 述设备内核所属设备上的虚拟机。所述代理功能模块具体为所述设备上的虚拟交换机,所述设备上包括一个或多个 虚拟交换机,不同虚拟交换机对应不同的虚拟机。本发明中,代理功能模块在接收到虚拟机发送的ARP请求报文时,判断ARP请求报 文的目的虚拟机是否与代理功能模块对应,根据判断结果进行ARP报文处理,由于虚拟机 之间的ARP报文通信是通过代理功能模块实现的,通过代理功能模块对接收到的ARP请求 报文进行处理,控制ARP报文的发送,降低了虚拟机环境下的ARP报文数量,有益于提高网 络的整体性能。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助 软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更 佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的 部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若 干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流 程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分 布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上 述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领 域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
一种地址解析协议报文的处理方法,应用于设置有虚拟机的设备,其特征在于,虚拟机通过其所在设备上对应的代理功能模块收发报文,该方法进一步包括当接收到地址解析协议ARP请求报文时,所述代理功能模块根据所述ARP请求报文的目的IP地址判断所述ARP请求报文的目的虚拟机是否与所述代理功能模块对应;如果判断结果为是,所述代理功能模块向所述ARP请求报文的源设备发送ARP响应报文,所述ARP响应报文内携带与所述目的IP地址对应的MAC地址;如果判断结果为否、且所述源设备与所述代理功能模块对应,所述代理功能模块向所述代理功能模块对应的虚拟机之外发送所述ARP请求报文;如果判断结果为否、且所述源设备不与所述代理功能模块对应,所述代理功能模块丢弃所述ARP请求报文。
2.如权利要求1所述的方法,其特征在于,所述代理功能模块根据所述ARP请求报文的 目的IP地址判断所述ARP请求报文的目的虚拟机是否与所述代理功能模块对应包括所述 代理功能模块在虚拟机的IP地址与MAC地址的对应关系中,查找与所述ARP请求报文的目 的IP地址对应的MAC地址,如果查找成功,则判断所述目的虚拟机与所述代理功能模块对 应,否则判断所述目的虚拟机不与所述代理功能模块对应。
3.如权利要求1或2所述的方法,其特征在于,所述ARP响应报文内携带与所述目的 IP地址对应的MAC地址具体为携带所述目的虚拟机的MAC地址;所述代理功能模块在向所 述代理功能模块对应的虚拟机之外发送的所述ARP请求报文内携带所述源设备的IP地址。
4.如权利要求1或2所述的方法,其特征在于,所述代理功能模块向所述ARP请求报文 的源设备发送ARP响应报文,所述ARP响应报文内携带与所述目的IP地址对应的MAC地址 包括当所述源设备与所述代理功能模块对应时,所述ARP响应报文内携带所述目的虚拟机 的MAC地址;当所述源设备不与所述代理功能模块对应时,所述ARP响应报文内携带所述代理功能 模块的MAC地址。
5.如权利要求4所述的方法,其特征在于,所述代理功能模块向所述代理功能模块对 应的虚拟机之外发送所述ARP请求报文包括所述代理功能模块将所述ARP请求报文的源MAC地址修改为自身MAC地址并向所述代 理功能模块之外发送。
6.如权利要求1或2所述的方法,其特征在于,所述代理功能模块具体为设备内核,与 所述代理功能模块对应的虚拟机具体为所述设备内核所属设备上的虚拟机。
7.如权利要求1或2所述的方法,其特征在于,所述代理功能模块具体为所述设备上的 虚拟交换机,所述设备上包括一个或多个虚拟交换机,不同虚拟交换机对应不同的虚拟机。
8.—种地址解析协议报文的处理设备,该设备上设置有虚拟机,其特征在于,设备上还 包括代理功能模块,虚拟机通过对应的代理功能模块收发报文,该代理功能模块包括接收单元,用于接收地址解析协议ARP请求报文;判断单元,与所述接收单元连接,用于根据所述ARP请求报文的目的IP地址判断所述 ARP请求报文的目的虚拟机是否与所述代理功能模块对应;发送单元,与所述判断单元连接,用于当所述判断单元的判断结果为是时,向所述ARP 请求报文的源设备发送ARP响应报文,所述ARP响应报文内携带与所述目的IP地址对应的2MAC地址;当所述判断单元的判断结果为否、且所述源设备与所述代理功能模块对应时,向 所述代理功能模块对应的虚拟机之外发送所述ARP请求报文;丢弃单元,与所述判断单元连接,用于当所述判断单元的判断结果为否、且所述源设备 不与所述代理功能模块对应时,丢弃所述ARP请求报文。
9.如权利要求8所述的设备,其特征在于,所述判断单元包括查找子单元,用于在虚拟机的IP地址与MAC地址的对应关系中,查找与所述ARP请求 报文的目的IP地址对应的MAC地址;判断子单元,与所述查找子单元连接,用于所述查找子单元查找成功时,判断所述目的 虚拟机与所述代理功能模块对应,否则判断所述目的虚拟机不与所述代理功能模块对应。
10.如权利要求8或9所述的设备,其特征在于,所述发送单元在所述ARP响应报文内 携带与所述目的IP地址对应的MAC地址具体为携带所述目的虚拟机的MAC地址,所述发送 单元还用于在向所述代理功能模块对应的虚拟机之外发送的所述ARP请求报文内携带所 述源设备的IP地址。
11.如权利要求8或9所述的设备,其特征在于,所述发送单元还用于当所述判断单 元的判断结果为是、且所述源设备与所述代理功能模块对应时,在所述ARP响应报文内携 带所述目的虚拟机的MAC地址;当所述判断单元的判断结果为是、且所述源设备不与所述 代理功能模块对应时,在所述ARP响应报文内携带所述代理功能模块的MAC地址。
12.如权利要求11所述的设备,其特征在于,所述发送单元还用于当所述判断单元的 判断结果为否、且所述源设备不与所述代理功能模块对应时,将所述ARP请求报文的源MAC 地址修改为自身MAC地址并向所述代理功能模块之外发送。
13.如权利要求8或9所述的设备,其特征在于,所述代理功能模块具体为设备内核,与 所述代理功能模块对应的虚拟机具体为所述设备内核所属设备上的虚拟机。
14.如权利要求8或9所述的设备,其特征在于,所述代理功能模块具体为所述设备上 的虚拟交换机,所述设备上包括一个或多个虚拟交换机,不同虚拟交换机对应不同的虚拟 机。
全文摘要
本发明公开了一种地址解析协议报文的处理方法和设备,该方法包括当接收到ARP请求报文时,代理功能模块根据所述ARP请求报文的目的IP地址判断所述ARP请求报文的目的虚拟机是否与所述代理功能模块对应;如果判断结果为是,所述代理功能模块向所述ARP请求报文的源设备发送ARP响应报文,所述ARP响应报文内携带与所述目的IP地址对应的MAC地址;如果判断结果为否、且所述源设备与所述代理功能模块对应,所述代理功能模块向所述代理功能模块对应的虚拟机之外发送所述ARP请求报文;如果判断结果为否、且所述源设备不与所述代理功能模块对应,所述代理功能模块丢弃所述ARP请求报文。本发明降低了虚拟机环境下的ARP报文数量,有益于提高网络的整体性能。
文档编号H04L12/56GK101924707SQ20101029207
公开日2010年12月22日 申请日期2010年9月27日 优先权日2010年9月27日
发明者孙立伟, 张玉妹, 班世敏 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1