无VLAN虚接口情况下发送ARP请求的方法和装置转让专利

申请号 : CN200710119120.3

文献号 : CN100596111C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王珍异陈光辉傅嘉嘉

申请人 : 杭州华三通信技术有限公司

摘要 :

本发明公开了一种二层交换机发送ARP请求的方法及其装置,应用在所述二层交换机需要通过ARP请求方式对某一目的IP地址进行探测、却没有为所述目的IP地址对应的VLAN配置VLAN虚接口的情况下。该方法包括:首先,从该二层交换机上的用户信息表中读取一个对应该VLAN、且其中IP地址不等于该目的IP地址的表项;然后,将所读取表项中的IP地址和MAC地址用作源IP地址和源MAC地址来构造针对该目的IP地址的ARP请求报文并发送出去。这样,通过利用侦听到的用户信息,使得在不具备三层转发功能的VLAN内发送ARP请求时无需特别配置VLAN虚接口和/或IP地址。

权利要求 :

1.一种二层交换机发送ARP请求的方法,应用在所述二层交换机需 要通过ARP请求的方式对某一目的IP地址进行探测、却没有为所述目的 IP地址对应的VLAN配置VLAN虚接口的情况下;其特征在于,包括有 下列步骤:步骤S1,从所述二层交换机上的用户信息表中读取一个对应所述 VLAN、且其中IP地址不等于所述目的IP地址的表项;

步骤S2,将所读取表项中的IP地址和MAC地址用作源IP地址和源 MAC地址来构造针对所述目的IP地址的ARP请求报文,并输出所述ARP 请求报文。

2.如权利要求1所述的方法,其特征在于,在步骤S1之前还包括有 步骤S0,用于判断所述用户信息表中对应所述VLAN的表项是否为零, 并且在判定为否时继续执行所述步骤S1、或者在判定为是时直接结束而 不发送ARP请求。

3.如权利要求2所述的方法,其特征在于,所述步骤S1具体包括有 下列步骤:

步骤S1-1,从所述用户信息表中读取一个对应所述VLAN的表项,

步骤S1-2,判断所读取表项中的IP地址是否等于所述目的IP地址, 如果判定为否则继续执行所述步骤S2,如果判定为是则继续执行下述步 骤S1-3;

步骤S1-3,从所述用户信息表中读取另一个对应所述VLAN的表项, 之后再继续执行所述步骤S2。

4.如权利要求3所述的方法,其特征在于,当所述二层交换机因其 组网和/或特性使能的要求探测所述目的IP所用ARP请求报文不能从所 读取表项的接入端口输出时,则:所述步骤S1具体为,从所述二层交换机上的用户信息表中读取一个 对应所述VLAN的表项,且所述表项中的IP地址不等于所述目的IP地 址、而所述表项的接入端口不等于所述探测用ARP请求报文的发送端口; 或者,所述步骤S1-2具体为,判断所读取表项中的IP地址是否等于所述目 的IP地址、以及所读取表项的接入端口是否等于所述探测用ARP请求报 文的发送端口,如果两个判定中任一为是则继续执行所述步骤S1-3,如 果两个判定均为否则继续执行所述步骤S2。

5.如权利要求1至4中任一所述的方法,其特征在于,所述用户信 息表为所述二层交换机通过使能DHCP侦听特性后建立的DHCP侦听表, 或者为所述二层交换机通过ARP侦听建立的ARP侦听表。

6.一种发送ARP请求的装置,配置在二层交换机中,应用在所述二 层交换机需要通过ARP请求的方式对某一目的IP地址进行探测、却没有 为所述目的IP地址对应的VLAN配置VLAN虚接口的情况下;其特征在 于,包括有:用户信息获取单元,与所述二层交换机上的用户信息表相连,用于 从所述用户信息表中读取一个对应所述VLAN、且其中IP地址不等于所 述目的IP地址的表项;

报文构造单元,与所述用户信息获取单元相连,用于将所读取表项 中的IP地址和MAC地址作为源IP地址和源MAC地址来构造针对所述 目的IP地址的ARP请求报文,并输出所述ARP请求报文。

7.如权利要求6所述的装置,其特征在于,还包括有与所述用户信 息表和所述用户信息获取单元相连的探测可能判断单元,用于判断所述 用户信息表中是否存在对应所述VLAN的表项,并在判定存在时才触发 所述用户信息获取单元的运行。

8.如权利要求7所述的装置,其特征在于,所述用户信息获取单元 包括有:

读模块,与所述用户信息表相连,用于从所述用户信息表中读取一 个对应所述VLAN的表项;

判断模块,与所述读模块和所述报文构造单元相连,用于判断所读 取表项中的IP地址是否等于所述目的IP地址,在判定相等时通知所述读 模块从所述用户信息表中读取另一个对应所述VLAN的表项并将所读取 的另一个表项输出至所述报文构造单元、或者在判定不等时将所读取表项 输出至所述报文构造单元。

9.如权利要求8所述的装置,其特征在于,所述判断模块还用于判 断所读取表项的接入端口是否等于探测所述目的IP地址所用ARP请求报 文的发送端口,在两个判定中任一出现相等时通知所述读模块从所述用 户信息表中读取另一个对应所述VLAN的表项并将所读取的另一个表项 输出至所述报文构造单元、或者在两个判定均不等时将所读取表项输出至 所述报文构造单元。

10.如权利要求6至9任一所述的装置,其特征在于,所述用户信息 表为所述二层交换机通过使能DHCP侦听特性后建立的DHCP侦听表, 或者为所述二层交换机通过ARP侦听建立的ARP侦听表。

说明书 :

技术领域

本发明属于以太网领域,涉及以太网内的VLAN(Virtual Local Area Network,虚拟局域网)技术,尤其涉及一种在无VLAN虚接口情况下发 送ARP请求的方法和装置。

背景技术

ARP(Address Resolution Protocol,地址解析协议)协议用来在以太 网链路中动态建立IP(Internet Protocol,互联网协议)地址和物理MAC (Media Access Control,媒体访问控制)地址的映射关系。
在如图1所示的典型网络中,网关130和客户端计算机110之间会 交互ARP报文。通过ARP报文的交互,计算机110上建立ARP缓存表 (ARP Cache),用于连接网络和通信。作为网关130的路由器或三层交 换机上也会建立ARP表,作为转发数据的依据。计算机110和网关130 之间的二层交换机120会对ARP报文进行转发,但不会进行解析。然而, 现在越来越多的应用要求在二层交换机120上启动ARP侦听、ARP代答 等功能。
比如,启动了MAC强制转发特性后,在二层交换机120上记录网关 130的MAC地址,同时将计算机110发送的ARP报文全部上送接入设 备二层交换机120。对于计算机110的ARP请求,二层交换机120都代 为应答,且应答的MAC地址正是网关130的MAC。这样,计算机110 发送的所有数据报文都会被强制转发到网关130上进行处理,以实现 VLAN(Virtual Local Area Network,虚拟局域网)内的用户通信都不再 进行二层交换,而是强制在网关130上进行三层转发。这样,在网关130 上就可以实现对流量进行统一监控,或者部署一些安全特性。在此特性 中,为了感知网关130MAC地址的变化,需要二层交换机120针对网关 130进行ARP探测,也即发起对网关130IP地址的ARP请求。
再比如,为了快速应答计算机110或网关130发送的ARP请求,以 减少广播,还有一些特性需要在二层交换机120上维护ARP Snooping(侦 听)表项。为了实现这些ARP Snooping表项的老化,也需要在二层交换 机120上发起对某一用户IP地址的ARP请求。
由于ARP报文和机制的需要,在发送ARP请求时,必须为ARP请 求报文指定一个源IP和源MAC地址。但是对于二层交换机,用户对应 的VLAN不需要配置IP地址就可进行二层转发,因此正常情况下对于只 需要进行二层转发的VLAN往往不配置IP地址。然而,为了满足上述 ARP探测需求,目前组网时,在接入交换机上,就必须为用户所需的 VLAN配置VLAN接口,并在这个VLAN接口上配置IP地址。
上述ARP探测实现方案不仅增加了不必要的配置,更重要的是还无 端浪费了大量的IP地址。IPv4地址十分紧张,因此这种配置在实际应用 中受到限制,容易遭到用户的质疑。

发明内容

有鉴于此,本发明目的在于提供一种发送ARP请求的方法,使得即 使在不配置VLAN虚接口和接口IP的情况下,也能实现在某一个VLAN 内对某一个IP地址通过发送ARP请求的方式进行探测。
同时,本发明另一目的在于提供一种发送ARP请求的装置,以支持 上述方法的实施。
为了达到上述目的,本发明公开了一种二层交换机发送ARP请求的 方法。该方法应用在所述二层交换机需要通过ARP请求的方式对某一目 的IP地址进行探测、但却没有为所述目的IP地址对应的VLAN配置 VLAN虚接口的情况下,主要包括有下列步骤:
步骤S1,从所述二层交换机上的用户信息表中读取一个对应所述 VLAN、且其中IP地址不等于所述目的IP地址的表项;或者,当所述二 层交换机因其组网和/或特性使能的要求探测所述目的IP地址所用的 ARP请求报文不能从所读取表项的接入端口输出时,则从所述二层交换 机上的用户信息表中读取一个对应所述VLAN的表项,且所述表项中的 IP地址不等于所述目的IP地址、而所述表项的接入端口不等于所述探测 用ARP请求报文的发送端口;
步骤S2,将所读取表项中的IP地址和MAC地址用作源IP地址和源 MAC地址来构造针对所述目的IP地址的ARP请求报文,并输出所述ARP 请求报文。
对于上述二层交换机发送ARP请求的方法,优选地,在步骤S1之 前还包括有步骤S0,用于判断所述用户信息表中对应所述VLAN的表项 是否为0,并且在判定为否时继续执行所述步骤S1、或者在判定为是时 直接结束而不发送ARP请求。
对于上述二层交换机发送ARP请求的方法,优选地,所述步骤S1 具体包括有下列步骤:
步骤S1-1,从所述用户信息表中读取一个对应所述VLAN的表项,
步骤S1-2,判断所读取表项中的IP地址是否等于所述目的IP地址, 如果判定为否则继续执行所述步骤S2,如果判定为是则继续执行下述步 骤S1-3;或者,当所述二层交换机因其组网和/或特性使能的要求探测所 述目的IP地址所用ARP请求报文不能从所读取表项的接入端口输出时, 则判断所读取表项中的IP地址是否等于所述目的IP地址、以及所读取表 项的接入端口是否等于所述探测用ARP请求报文的发送端口,如果两个 判定中任一为是则继续执行所述步骤S 1-3,如果两个判定均为否则继续 执行所述步骤S2;
步骤S1-3,从所述用户信息表中读取另一个对应所述VLAN的表项, 之后再继续执行所述步骤S2。
对于上述二层交换机发送ARP请求的方法,优选地,所述步骤S1-1 具体为读取所述用户信息表中对应所述VLAN的第一个表项,而所述步 骤S1-3具体为读取所述用户信息表中对应所述VLAN的第二个表项;或 者,所述步骤S1-1具体为随机读取所述用户信息表中对应所述VLAN的 任意一个表项,而所述步骤S1-3具体为随机读取所述用户信息表中对应 所述VLAN的任意一个其他表项。
对于上述二层交换机发送ARP请求的方法,进一步优选地,所述用 户信息表为所述二层交换机通过使能DHCP侦听特性后建立的DHCP侦 听表;或者,所述用户信息表为所述二层交换机通过ARP侦听建立的 ARP侦听表。
同时,为了达到上述另一目的,本发明公开了一种发送ARP请求的 装置。该装置配置在二层交换机中,应用在所述二层交换机需要通过ARP 请求的方式对某一目的IP地址进行探测、但却没有为所述目的IP地址对 应的VLAN配置VLAN虚接口的情况下,主要包括有用户信息获取单元 和报文构造单元。其中,所述用户信息获取单元与所述二层交换机上的 用户信息表相连,用于从所述用户信息表中读取一个对应所述VLAN、 且其中IP地址不等于所述目的IP地址的表项;所述报文构造单元与所述 用户信息获取单元相连,用于将所读取表项中的IP地址和MAC地址作 为源IP地址和源MAC地址来构造针对所述目的IP地址的ARP请求报 文,并输出所述ARP请求报文。
对于上述发送ARP请求的装置,优选地,其还包括有与所述用户信 息表和所述用户信息获取单元相连的探测可能判断单元,用于判断所述 用户信息表中是否存在对应所述VLAN的表项,并在判定存在时才触发 所述用户信息获取单元的运行。
对于上述发送ARP请求的装置,优选地,所述用户信息获取单元包 括有读模块和判断模块。其中,所述读模块与所述用户信息表相连,用 于从所述用户信息表中读取一个对应所述VLAN的表项。所述判断模块 与所述读模块和所述报文构造单元相连,用于判断所读取表项中的IP地 址是否等于所述目的IP地址,在判定相等时通知所述读模块从所述用户 信息表中读取另一个对应所述VLAN的表项并将所读取的另一个表项输 出至所述报文构造单元、或者在判定不等时将所读取表项输出至所述报文 构造单元;或者,当所述二层交换机因其组网和/或特性使能的要求探测 所述目的IP地址所用ARP请求报文不能从所读取表项的接入端口输出 时,则所述判断模块还用于判断所读取表项的接入端口是否等于所述探 测用ARP请求报文的发送端口,在两个判定中任一出现相等时通知所述 读模块从所述用户信息表中读取另一个对应所述VLAN的表项并将所读 取的另一个表项输出至所述报文构造单元、或者在两个判定均不等时将所 读取表项输出至所述报文构造单元。
对于上述发送ARP请求的装置,优选地,所述读模块顺序地读取所 述用户信息表中对应所述VLAN的第一个表项和/或第二个表项;或者, 所述读模块随机地读取所述用户信息表中对应所述VLAN的任意一个表 项和/或任意一个其他表项。
对于上述发送ARP请求的装置,进一步优选地,所述用户信息表为 所述二层交换机通过使能DHCP侦听特性后建立的DHCP侦听表;或者, 所述用户信息表为所述二层交换机通过ARP侦听建立的ARP侦听表。
这样,通过对侦听所得的用户信息加以利用,本发明使得二层交换 机在不需要具备3层转发功能的VLAN内发送ARP请求进行探测时,无 需特别配置VLAN虚接口,更不需要配置IP地址。
并且,利用VLAN内某一用户的IP地址和MAC地址作为源IP地址 和源MAC地址来构造ARP请求报文,不仅能够正确实现MAC强制特 性功能,还不需要增加额外的配置,从而也不会造成IP地址浪费。

附图说明

图1为现有技术中的典型网络图;
图2为本发明中二层交换机发送ARP请求方法的第一优选实施例的 流程图;
图3为本发明中二层交换机发送ARP请求方法的第二优选实施例的 流程图;
图4为本发明中发送ARP请求装置的最佳实施例的结构框图。

具体实施方式

本发明的上述及其他技术特征和有益效果,将通过下面参照附图进 行的优选实施例介绍得到更充分的阐述。
请参阅图2,其为本发明所提供二层交换机发送ARP请求的方法的 第一优选实施例的流程图。
如果作为接入设备的二层交换机上使能了DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)Snooping(侦听)特性,则 该二层交换机通过侦听DHCP报文能够获得用户的IP地址和MAC地址 的对应关系。
当二层交换机需要通过ARP请求的方式对某一目的IP地址进行探 测、却没有为这个目的IP地址的对应VLAN配置VLAN虚接口的情况下, 假设这个二层交换机上使能有DHCP Snooping特性,则其可利用通过侦 听DHCP报文建立的DHCP Snooping表中用户信息来实现ARP请求发 送,且具体实现过程描述如下:
首先,该二层交换机需要判断其上通过侦听所得的DHCP Snooping 表中是否存在对应这个VLAN的表项,也即执行图2所示步骤S0。
如果不存在对应这个VLAN的DHCP Snooping表项,也即DHCP Snooping表中对应这个VLAN的用户信息表项数为0,则说明这个VLAN 内没有用户存在使用网络的需求。此时,也就不存在对这个VLAN内IP 地址进行探测的需求。在这种情况下,则如图2所示,二层交换机将由 于不需要发送ARP请求而直接结束。
如果存在对应这个VLAN的DHCP Snooping表项,也即DHCP Snooping表中对应这个VLAN的用户信息表项数大于或等于1,则说明 这个VLAN内至少有一个用户存在使用网络的需求。在这种情况下,二 层交换机就可利用其上DHCP Snooping表中用户信息来实现针对目的IP 地址的ARP请求发送,且该实现如图2所示包括有下列步骤:
步骤S1,从这个二层交换机上的DHCP Snooping表中读取一个对应 这个VLAN、且其中IP地址不等于所需探测目的IP地址的表项;
步骤S2,将所读取表项中的IP地址和MAC地址用作源IP地址和源 MAC地址来构造针对这个目的IP地址的ARP请求报文,并输出这个ARP 请求报文。
其中,上述步骤S1又进一步细分为包括有下列子步骤:
步骤S1-1,从这个二层交换机上的DHCP Snooping表中读取第一个 对应这个VLAN的表项;
步骤S1-2,判断所读取表项中的IP地址是否等于所需探测的目的IP 地址,如果判定为否则继续执行上述步骤S2,如果判定为是则继续执行 下述步骤S1-3;
步骤S1-3,从这个二层交换机上的DHCP Snooping表中读取第二个 对应这个VLAN的表项,然后继续执行上述步骤S2。
通过上述介绍可知,在不需要具备三层转发功能的VLAN内通过 ARP请求的方式进行IP探测时,完全可利用侦听所得的DHCP Snooping 表中用户信息来构造相应的ARP请求报文,而无需为所需探测IP地址对 应的VLAN特别配置VLAN虚接口,更不需要配置IP地址。并且,根据 DHCP Snooping表中对应这个VLAN的用户信息表项的数量,具体实现 过程大致有三种:
1、当DHCP Snooping表中对应这个VLAN的用户信息表项数等于0 时,表明这个对应VLAN内没有用户存在使用网络的需求,因此不需要 进行探测,从而只需执行图2中所示步骤S0。
2、当DHCP Snooping表中对应这个VLAN的用户信息表项数等于1 时,表明这个对应VLAN内只有一个用户存在使用网络的需求,因此不 需要对这个用户进行探测,当然也不需要对其他用户进行探测(因为根 本不存在其他用户),但是可以对对应这个VLAN的网关或Server(服 务器)进行探测。
并且,当DHCP Snooping表中只有一个用户信息表项、且所需探测 的目的IP为对应VLAN的网关或Server的IP地址时,一般来说只需执 行图2中所示步骤S1-1、步骤S1-2、和步骤S2。
3、当DHCP Snooping表中对应这个VLAN的用户信息表项数大于1 时,表明这个对应VLAN内有多个用户存在使用网络的需求,此时不仅 可以对对应这个VLAN的网关和Server进行探测,还可对对应这个VLAN 的用户进行探测。
并且,当目的IP地址为对应这个VLAN的用户IP地址时,则执行 图2中所示步骤S1-1时读取到的表项可能就是这个用户的信息表项,此 时就需要继续执行图2中所示步骤S1-3来读取其它用户的信息表项以实 施对这个用户的探测。
请参阅图3,其为本发明所提供二层交换机发送ARP请求的方法的 第二优选实施例的流程图。
如果作为接入设备的二层交换机上没有使能DHCP Snooping特性, 则该二层交换机上不存在通过侦听DHCP报文而建立的DHCP Snooping 表,也就无法实施图2所示第一优选实施例。在这种情况下,可以让二 层交换机在侦听用户ARP表项时建立ARP Snooping表来记录用户的IP 地址和MAC地址的对应关系。
从而使得,当这个二层交换机需要通过ARP请求的方式对某一目的 IP地址进行探测、却没有为这个目的IP地址的对应VLAN配置VLAN 虚接口的情况下,则其可利用通过侦听ARP报文建立的ARP Snooping 表中用户信息来实现ARP请求发送,且具体实现过程描述如下:
首先,该二层交换机需要判断其上通过侦听所得的ARP Snooping表 中是否存在对应这个VLAN的表项,也即执行图3所示步骤S0。
如果不存在对应这个VLAN的ARP Snooping表项,也即ARP Snooping表中对应这个VLAN的用户信息表项数为0,则说明这个VLAN 内没有用户存在使用网络的需求。此时,也就不存在对这个VLAN内IP 地址进行探测的需求。在这种情况下,则如图3所示,二层交换机将由 于不需要发送ARP请求而直接结束。
如果存在对应这个VLAN的ARP Snooping表项,也即ARP Snooping 表中对应这个VLAN的用户信息表项数大于或等于1,则说明这个VLAN 内至少有一个用户存在使用网络的需求。在这种情况下,二层交换机就 可利用其上ARP Snooping表中用户信息来实现针对目的IP地址的ARP 请求发送,且该实现如图2所示包括有下列步骤:
步骤S1,从这个二层交换机上的ARP Snooping表中读取一个对应 这个VLAN、且其中IP地址不等于所需探测目的IP地址的表项;
步骤S2,将所读取表项中的IP地址和MAC地址用作源IP地址和源 MAC地址来构造针对这个目的IP地址的ARP请求报文,并输出这个ARP 请求报文。
其中,上述步骤S1又进一步细分为包括有下列子步骤:
步骤S1-1,从这个二层交换机上的ARP Snooping表中随机读取任意 一个对应这个VLAN的表项;
步骤S1-2,判断所读取表项中的IP地址是否等于所需探测的目的IP 地址,如果判定为否则继续执行上述步骤S2,如果判定为是则继续执行 下述步骤S1-3;
步骤S1-3,从这个二层交换机上的ARP Snooping表中随机读取任意 一个其它对应这个VLAN的表项,然后继续执行上述步骤S2。
通过上述介绍可知,图3所示第二优选实施例与图2所示第一优选 实施例的区别有两点:
首先,被图2所示第一优选实施例加以利用的用户信息表为通过侦 听DHCP报文建立的DHCP Snooping表,而被图3所示第二优选实施例 加以利用的用户信息表为通过侦听ARP报文建立的ARP Snooping表。
其次,图2所示第一优选实施例中读取用户信息表项的方式为顺序 读取,具体表现为在第一次读取时选择用户信息表中对应指定VLAN的 第一个表项,并在需要进行第二次读取时选择用户信息表中对应指定 VLAN的第二个表项。然而,图3所示第二优选实施例中读取用户信息 表项的方式为随机读取,具体表项为在第一次读取时随机选择用户信息 表中对应指定VLAN的任意一个表项,并在需要进行第二次读取时随机 选择用户信息表中对应指定VLAN的任意一个其它表项。
除了上述两点,图2所示第一优选实施例的其它特征及优点均同样 适用于图3所示第二优选实施例,故在此不再重复。
需要声明的是,上述仅为本发明所提供发送ARP请求方法的例示性 解释,本领域技术人员当可在理解本发明原理之上设计出与图2或图3 所示类似的具体实施例,比如选用通过侦听DHCP报文而建立的DHCP
Snooping表作为用户信息表,并利用随机读取方式来选择其中的用户信 息表项;或者选用通过侦听ARP报文而建立的ARP Snooping表作为用 户信息表,并利用顺序读取方式来选择其中的用户信息表项。
此外,本领域技术人员还应能理解,具体实施上述本发明所提供ARP 请求方法时,可能还需要根据实际组网来适当调整用作源IP地址和MAC 地址的用户信息表项选择标准。比如:在某些级联组网的情况下,如果 被上行连接网关的二层交换机用来作为ARP报文中源IP地址对应的用户 与所需探测目的IP地址对应的用户连接在同一个端口下,那么利用这个 源IP地址伪造ARP报文、并从学习到这个源IP地址所对应表项的端口 (也即这个表项的接入端口)发送至这个目的IP地址,就有可能会导致 这个二层交换机下行连接的设备出现ARP Snooping表项端口学习错误、 甚至MAC地址学习错误。因此,在二层交换机因其组网和/或特性使能 的要求探测某一目的IP地址所用ARP请求报文不能从所读取表项的接入 端口输出的情况下,则具体选择用户信息表项时还需兼顾表项中的接入 端口信息。具体而言,对用来构造探测某一目的IP地址所用ARP请求报 文的表项来说,不仅要求该表项与所需探测目的IP地址对应同一个 VLAN、以及该表项中的IP地址不等于所需探测目的IP地址,还要求该 表项中的接入端口不等于探测所用ARP请求报文的发送端口。
请参阅图4,其为本发明所提供发送ARP请求装置的最佳实施例的 结构框图。该发送ARP请求的装置安放在二层交换机中,主要应用在这 个二层交换机需要通过ARP请求的方式对某一目的IP地址进行探测、但 却没有为这个目的IP地址的对应VLAN配置VLAN虚接口的情况下。
如图4所示,该装置400的最佳实施例中包括有探测可能判断单元 410、用户信息获取单元420、以及报文构造单元430。并且,在图4中, ①表示所需探测的目的IP地址,②表示用来构造针对所需探测目的IP 地址的ARP请求报文的源IP地址和源MAC地址,③表示针对所需探测 目的IP地址的ARP请求报文。
探测可能判断单元410与用户信息获取单元420以及该装置400所 在二层交换机中通过侦听而建立的用户信息表500相连,用于判断用户 信息表500中是否存在对应这个VLAN的表项。如果判定为不存在,则 说明这个VLAN中没有用户存在使用网络的需求,也即不存在对这个 VLAN内IP地址进行探测的需求,这时探测可能判断单元410将由于装 置400所在二层交换机不需要发送ARP请求而决定不进行后续操作。如 果判定为存在,则说明这个VLAN中有用户存在使用网络的需求,这时 探测可能判断单元410将触发用户信息获取单元420的运行。
并且,如果装置400所在二层交换机使能了DHCP Snooping特性, 则可将通过侦听DHCP报文而建立的DHCP Snooping表用作图4中所示 用户信息表500。如果装置400所在二层交换机没有使能DHCP Snooping 特性,则可通过侦听ARP报文来建立用于表达用户IP地址和MAC地址 对应关系的ARP Snooping表,并将这个ARP Snooping用作图4中所示 用户信息表500。
用户信息获取单元420与探测可能判断单元410和报文构造单元430 相连,用于接收探测可能判断单元的触发,并据此从用户信息表500中 读取一个对应这个VLAN、且其中IP地址不等于所需探测目的IP地址的 表项,然后再将该表项信息②输出给报文构造单元430。
至于如何确保所读取表项中IP地址不等于所需探测的目的IP地址, 如图4所示,用户信息获取单元420优选地包括有读模块421和判断模 块422。其中,读模块421用于接收探测可能判断单元410的触发,并据 此从用户信息表500中读取第一个或任意一个对应这个VLAN的表项, 然后将所读取表项的信息②输出给判断模块422;而判断模块422在收到 读模块421输入的表项信息②后,将首先判断所读取表项信息②中的IP 地址是否等于所需探测的目的IP地址①,并在判定相等时通知读模块421 从用户信息表500中重新读取第二个或任意一个其它对应这个VLAN的 表项、或者在判定不等时将所读取表项的信息②输出给报文构造单元 430。
与本发明所提供发送ARP请求方法中类似,在二层交换机因其组网 和/或特性使能的要求探测某一目的IP地址所用ARP请求报文不能从所 读取表项的接入端口输出的情况下,则不仅要确保所读取表项中IP地址 不等于所需探测的目的IP地址,还需要同时确保所读取表项的接入端口 不等于探测目的IP地址所用ARP请求报文的发送端口。并且,对于端口 信息的判断同样可用上述判断模块来执行,也即图4中所示判断模块422 在收到读模块421输入的表项信息②后,将首先判断所读取表项信息② 中的IP地址是否等于所需探测的目的IP地址①、以及表项信息②中的接 入端口是否等于探测目的IP地址①所用ARP请求报文③的发送端口,并 在任一判定为相等时通知读模块421从用户信息表500中重新读取第二 个或任意一个其它对应这个VLAN的表项、或者在判定均不等时将所读 取表项的信息②输出给报文构造单元430。
报文构造单元430与用户信息获取单元420中的判断模块422相连, 用于将所读取表项中的IP地址和MAC地址②作为源IP地址和源MAC 地址来构造针对所需探测目的IP地址①的ARP请求报文③,并输出这个 ARP请求报文③。
这样,通过在图4所示发送ARP请求的装置上运行本发明所提供发 送ARP请求的方法,不仅能够正确实现MAC强制特性功能,还不需要 增加额外的配置,从而也不会造成IP地址浪费。
需要声明的是,上述发明内容及具体实施方式意在证明本发明所提 供技术方案的实际应用,不应解释为对本发明保护范围的限定。本领域 技术人员在本发明的精神和原理内,当可作各种修改、等同替换、或改 进。本发明的保护范围以所附权利要求书为准。