CN101938533A - 地址解析的处理方法及装置 - Google Patents
地址解析的处理方法及装置 Download PDFInfo
- Publication number
- CN101938533A CN101938533A CN2010102866369A CN201010286636A CN101938533A CN 101938533 A CN101938533 A CN 101938533A CN 2010102866369 A CN2010102866369 A CN 2010102866369A CN 201010286636 A CN201010286636 A CN 201010286636A CN 101938533 A CN101938533 A CN 101938533A
- Authority
- CN
- China
- Prior art keywords
- address
- arp
- source
- list item
- corresponding relation
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种地址解析的处理方法及装置,该方法包括以下步骤:网关设备获取接收到的报文的源IP地址,并判断ARP表中是否存在包括源IP地址的ARP表项;在ARP表中存在包括源IP地址的ARP表项的情况下,确定ARP表项中IP地址与MAC地址的对应关系和报文的源IP地址与源MAC地址的对应关系是否一致;如果一致,则复位ARP表项的老化时间。通过本发明增加了系统的处理能力,提高了高级缓存的有效利用率。
Description
技术领域
本发明涉及通信领域,尤其涉及一种地址解析的处理方法及装置。
背景技术
在局域网中,网络中实际传输的“帧”中需要携带目标主机的介质访问控制(Media Access Control,简称为MAC)地址,在以太网中,一个主机要和另一个主机进行直接通信,也必须要知道目标主机的MAC地址,而这个目标MAC地址通常可以通过地址解析协议(Address Resolution Protocol,简称为ARP,是TCP/IP的一个基本协议)来获得。所谓“地址解析”是指主机在发送帧之前需要将目标主机的IP地址转换成目标主机的MAC地址的过程。ARP协议的基本功能就是通过目标主机的IP地址查询目标主机的MAC地址,以保证通信的顺利进行。
图1是根据相关技术的网络中的主机通信的示意图,主机1在与主机2通信之前,它首先需要确定其下一跳的链路层地址(即,解析网关设备的MAC地址),这个过程就是由ARP协议来完成的。如图1所示,地址解析过程可以包括以下步骤:
步骤S102,主机1在本地链路上发送广播的ARP请求报文,请求网关地址192.168.1.1的MAC地址;
步骤S 104,网关在收到该ARP报文后,将主机1的IP地址192.168.1.2及其ARP报文携带的源链路层地址0019.0000.000a添加到ARP缓存表中,并根据该信息给主机1发送ARP答复报文,携带自己的链路层地址0012.0000.1111;
步骤S106,主机1在收到网关的ARP答复报文之后,同样将网关的MAC地址添加到自己的ARP缓存表中,然后把发往主机2的报文使用ARP缓存表项信息进行二层封装,发送给网关;
步骤S108,网关收到该报文后,执行上面类似的流程来获取主机2的链路层地址,并将其添加到ARP缓存表中,然后根据ARP缓存信息把报文进行二层封装,从而发送给目的主机2。
由于用于存贮ARP转发表信息的高速缓存容量有限且成本昂贵,所以网关设备在维护ARP缓存表时,需要对ARP信息进行老化处理,即,当表项生存一定时间后(即,等老化计时结束),便将该表项从ARP缓存表中删除,也就是说,通过定时清理ARP缓存表保证了ARP缓存表不被无效的表项占满。可见,ARP老化机制可以根据网络的变化情况删除已经离线的主机的ARP信息,实现了对ARP缓存表的定时刷新,避免了使用荒废的表项进行数据转发,对于仍然在线的主机,可以重新进行ARP解析,保证其通信的继续进行。
但是,发明人发现在相关技术中,当网关设备下联网络主机较多时,这种定时更新机制的弊端就显露出来了。例如,当某些目标主机在网关设备中的ARP缓存表项的老化时间已到,而这些网络主机仍然在线且持续地进行着数据转发时,网关设备和主机之间不得不通过大量的ARP报文来对ARP报文的状态进行实时的更新,这往往大大增加了网关设备需要处理的ARP报文的数量。如果采用调整ARP缓存的老化时间来减少网络中的ARP报文数量,那么会导致大量已经离线的主机ARP信息不能在ARP缓存表中被实时更新,浪费了珍贵的缓存空间。
发明内容
本发明的主要目的在于提供一种地址解析的处理方案,以至少解决上述相关技术中当ARP缓存表项的老化时间到达时网关设备处理ARP报文数量增加的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种地址解析的处理方法。
根据本发明的地址解析的处理方法包括以下步骤:网关设备获取接收到的报文的源IP地址,并判断ARP表中是否存在包括源IP地址的ARP表项;在ARP表中存在包括源IP地址的ARP表项的情况下,确定ARP表项中IP地址与MAC地址的对应关系和报文的源IP地址与源MAC地址的对应关系是否一致;如果一致,则复位ARP表项的老化时间。
进一步地,确定ARP表项中IP地址与MAC地址的对应关系和报文的源IP地址与源MAC地址的对应关系是否一致之后,该方法还包括:如果ARP表项中IP地址与MAC地址的对应关系和报文的源IP地址与源MAC地址的对应关系不一致,则重新对源IP地址进行ARP解析。
进一步地,重新对源IP地址进行ARP解析之后,该方法还包括:判断重新进行ARP解析后的IP地址与MAC地址的对应关系与ARP表项中的IP地址与MAC地址的对应关系是否一致;若不一致,则根据ARP协议解析后的IP地址与MAC地址的对应关系更新ARP表中的与源IP地址对应的ARP表项。
进一步地,判断ARP表中是否存在包括源IP地址的ARP表项之后,该方法还包括:在ARP表中不存在包括源IP地址的ARP表项的情况下,根据源IP地址对网关设备的路由表进行最长匹配路由的查找,并依据查找结果确定是否在ARP表中创建与源IP地址对应的ARP表项。
进一步地,依据查找结果确定是否在ARP表中创建与源IP地址对应的ARP表项包括:如果查找到的最长匹配路由为网关设备的直连路由,则在ARP表中创建与源IP地址对应的ARP表项;否则,根据报文的目的IP地址转发报文。
为了实现上述目的,根据本发明的另一方面,还提供了一种地址解析的处理装置。
根据本发明的地址解析的处理装置,包括:获取模块,用于网关设备获取接收到的报文的源IP地址;第一判断模块,用于判断ARP表中是否存在包括源IP地址的ARP表项;确定模块,用于在ARP表中存在包括源IP地址的ARP表项的情况下,确定ARP表项中IP地址与MAC地址的对应关系和报文的源IP地址与源MAC地址的对应关系是否一致;以及复位模块,用于在确定模块确定ARP表项中IP地址与MAC地址的对应关系和报文的源IP地址与源MAC地址的对应关系一致的情况下,复位ARP表项的老化时间。
进一步地,该装置还包括:解析模块,用于在确定模块确定ARP表项中IP地址与MAC地址的对应关系和报文的源IP地址与源MAC地址的对应关系不一致的情况下,重新对源IP地址进行ARP解析。
进一步地,该装置还包括:第二判断模块,用于判断解析模块重新进行ARP解析后的IP地址与MAC地址的对应关系与ARP表项中的IP地址与MAC地址的对应关系是否一致;更新模块,用于在第二判断模块判定重新进行ARP解析后的IP地址与MAC地址的对应关系与ARP表项中的IP地址与MAC地址的对应关系不一致的情况下,根据ARP协议解析后的IP地址与MAC地址的对应关系更新ARP表中的与源IP地址对应的ARP表项。
进一步地,该装置还包括:查找模块,用于在第一判断模块判断ARP表中不存在包括源IP地址的ARP表项的情况下,根据源IP地址对网关设备的路由表进行最长匹配路由的查找;处理模块,用于依据查找模块的查找结果确定是否在ARP表中创建与源IP地址对应的ARP表项。
进一步地,处理模块包括:创建单元,用于在查找模块查找到的最长匹配路由为网关设备的直连路由的情况下,在ARP表中创建与源IP地址对应的ARP表项;转发单元,用于在查找模块查找到的最长匹配路由不是网关设备的直连路由的情况下,根据报文的目的IP地址转发报文。
通过本发明,采用延长与接收到的报文的源地址对应的ARP的表项的老化时间的方式,解决了相关技术中在ARP缓存表项的老化时间到达时网关设备处理ARP报文数量增加的问题,减少了网络中的ARP通信量,避免了ARP报文在网关设备上的拥塞,增加了系统的处理能力,提高了高级缓存的有效利用率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据相关技术的网络中的主机通信的示意图;
图2是根据本发明实施例的地址解析的处理方法的流程图;
图3是根据本发明实施例的地址解析的处理装置的结构框图;
图4是根据本发明优选实施例的地址解析的处理装置的结构框图;
图5是根据本发明优选实施例三的一个ARP表结构的示意图;
图6是根据本发明优选实施例三的各模块之间相互关系的示意图;以及
图7是根据本发明优选实施例三的地址解析的处理方法的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
根据本发明的实施例,提供了一种地址解析的处理方法。图2是根据本发明实施例的地址解析的处理方法的流程图,该方法包括以下步骤:
步骤S202,网关设备获取接收到的报文的源IP地址,并判断ARP表中是否存在包括源IP地址的ARP表项;
步骤S204,在ARP表中存在包括源IP地址的ARP表项的情况下,确定ARP表项中IP地址与MAC地址的对应关系和报文的源IP地址与源MAC地址的对应关系是否一致;
步骤S206,如果一致,则复位ARP表项的老化时间。
通过上述步骤,采用延长与接收到的报文的源地址对应的ARP的表项的老化时间的方式,解决了相关技术中在ARP缓存表项的老化时间到达时网关设备处理ARP报文数量增加的问题,减少了网络中的ARP通信量,避免了ARP报文在网关设备上的拥塞,增加了系统的处理能力,提高了高级缓存的有效利用率。
优选地,在步骤S204之后,如果ARP表项中IP地址与MAC地址的对应关系和报文的源IP地址与源MAC地址的对应关系不一致,则重新对源IP地址进行ARP解析(即,重新进行ARP学习)。从而可以检验出网络实时的真实环境,确定ARP表中的ARP表项信息与网络的真实环境是否相同,进而根据网络的真实环境更新ARP表项信息,提高了系统的有效性和准确性。
在实施过程中,如果ARP表项中IP地址与MAC地址的对应关系和报文的源IP地址与源MAC地址的对应关系不一致,则可以进行告警,或者做一个标记,以指示这种情况,提示用户或系统做相应的处理。
优选地,重新对源IP地址进行ARP解析之后,判断重新进行ARP解析后的IP地址与MAC地址的对应关系与ARP表项中的IP地址与MAC地址的对应关系是否一致;若不一致,则根据ARP协议解析后的IP地址与MAC地址的对应关系更新ARP表中的与源IP地址对应的ARP表项。该方法使得ARP表中的ARP表项信息与网络的真实环境相一致,保证了系统的有效性和准确性。
优选地,根据ARP协议解析后的IP地址与MAC地址的对应关系更新ARP表中的与源IP地址对应的ARP表项之后,网关设备还可以对与源IP地址对应的ARP表项进行网络管理告警。
优选地,在步骤S202之后,在ARP表中不存在包括源IP地址的ARP表项的情况下,根据源IP地址对网关设备的路由表进行最长匹配路由的查找,并依据查找结果确定是否在ARP表中创建与源IP地址对应的ARP表项。通过最长匹配路由查找来对接收到的报文的源地址进行学习,从而使得ARP表项信息可以实时更新,该方法实现简单、可操作性强。
优选地,依据查找结果确定是否在ARP表中创建与源IP地址对应的ARP表项包括:如果查找到的最长匹配路由为网关设备的直连路由,则在ARP表中创建与源IP地址对应的ARP表项;否则,根据报文的目的IP地址转发报文。
通过本优选实施例,可以根据源地址学习及时得到与接收报文的源IP地址对应的ARP表项,从而作为地址解析的一种依据,提高了系统的处理能力。
对应于上述的优选实施方式,在本实施例中还提供了一种地址解析的处理装置。图3是根据本发明实施例的地址解析的处理装置的结构框图,该装置包括:获取模块302、第一判断模块304、确定模块306和复位模块308,下面对各模块进行详细说明。
获取模块302,用于网关设备获取接收到的报文的源IP地址;第一判断模块304,耦合至获取模块302,用于判断ARP表中是否存在包括源IP地址的ARP表项;确定模块306,耦合至第一判断模块304,用于在ARP表中存在包括源IP地址的ARP表项的情况下,确定ARP表项中IP地址与MAC地址的对应关系和报文的源IP地址与源MAC地址的对应关系是否一致;以及复位模块308,耦合至确定模块306,用于在确定模块306确定ARP表项中IP地址与MAC地址的对应关系和报文的源IP地址与源MAC地址的对应关系一致的情况下,复位ARP表项的老化时间。
通过上述装置,采用延长与接收到的报文的源地址对应的ARP的表项的老化时间的方式,解决了相关技术中在ARP缓存表项的老化时间到达时网关设备处理ARP报文数量增加的问题,减少了网络中的ARP通信量,避免了ARP报文在网关设备上的拥塞,增加了系统的处理能力,提高了高级缓存的有效利用率。
图4是根据本发明优选实施例的地址解析的处理装置的结构框图,如图4所示,该装置还包括:解析模块402,耦合至确定模块306,用于在确定模块306确定ARP表项中IP地址与MAC地址的对应关系和报文的源IP地址与源MAC地址的对应关系不一致的情况下,重新对源IP地址进行ARP解析。
优选地,该装置还包括:第二判断模块404,耦合至解析模块402,用于判断解析模块402重新进行ARP解析后的IP地址与MAC地址的对应关系与ARP表项中的IP地址与MAC地址的对应关系是否一致;更新模块406,耦合至第二判断模块404,用于在第二判断模块404判定重新进行ARP解析后的IP地址与MAC地址的对应关系与ARP表项中的IP地址与MAC地址的对应关系不一致的情况下,根据ARP协议解析后的IP地址与MAC地址的对应关系更新ARP表中的与源IP地址对应的ARP表项。
优选地,该装置还包括:查找模块408,耦合至第一判断模块304,用于在第一判断模块304判断ARP表中不存在包括源IP地址的ARP表项的情况下,根据源IP地址对网关设备的路由表进行最长匹配路由的查找;处理模块410,耦合至查找模块408,用于依据查找模块408的查找结果确定是否在ARP表中创建与源IP地址对应的ARP表项。
优选地,处理模块410包括:创建单元4102,用于在查找模块查找到的最长匹配路由为网关设备的直连路由的情况下,在ARP表中创建与源IP地址对应的ARP表项;转发单元4104,用于在查找模块查找到的最长匹配路由不是网关设备的直连路由的情况下,根据报文的目的IP地址转发报文。
以下各个实施例结合了上述优选的实施方式。
实施例一
为了与相关技术进行比较,本实施例结合图1的应用场景进行说明,如图1所示,在主机1(即,PC1)与主机2(即,PC2)的通信过程中,主机1发送的报文需要经过网关转发,而转发基础正是ARP缓存表。相关技术中的ARP表的实现方式完全需要ARP协议来完成,而在本实施例中,可以通过增加源IP地址学习来增加ARP缓存表的学习和维护机制。也就是说,相关技术中当PC1发送给PC2的报文到达网关设备时,转发流程会直接根据目的IP地址查找ARP缓存表或者路由表(查找ARP表失败)进行报文的转发,而在本实施例中,增加源IP地址学习(简称为“源地址学习”)功能,即,先根据该报文的源IP地址查找ARP缓存表,若查找成功,说明网关在前面已经完成对该主机的地址解析,该主机尚未达到老化时间,仍然在发送报文,该主机还是活跃的,所以需要复位该IP在ARP缓存表的老化时间。
例如,复位机制可以这样实现:首先,为每一ARP缓存表增加一个状态标志位,取值为可以为0或1;在每一次源IP查找成功之后,都将该位置1,表示目标主机在线;当ARP老化到时后,若该标志位为1,则将其置0,若该位为0,则说明在过去的至少一个老化周期内,没有收到目标主机的报文,可以将其从ARP表中删除。
具体地,本实例中地址解析的处理方法可以包括以下步骤:
步骤1,根据网关设备接收报文的源IP地址查找ARP缓存表,若查找成功,复位该IP在ARP缓存表的老化时间。
步骤2,若源IP地址查找失败,说明ARP表中没有学习到这个主机或者该主机不是网关设备直连网段中的一个主机IP地址,这样就需要再次根据源IP地址查找网关设备的路由表。
如果在最好匹配查找后的网段恰好是网关设备的一个直连网段就能确认该IP来自一个直连主机,网关设备可以对该IP地址进行源地址学习,将该源IP地址、源MAC地址及其接收接口记录到ARP表中,这样就实现了不依赖ARP协议进行地址学习的一次链路层地址解析。如果源IP地址在路由表最长匹配时失败或者最长匹配得到的网段不是网关设备的一个直连网段,说明该数据报文并不是来自网关设备的直连主机,只是一个路由转发的报文,不需要为其维护ARP缓存表,则不进行源IP地址学习,直接进行路由转发。
步骤3,在完成源IP地址学习之后,数据包继续根据目的IP地址进行ARP缓存表和路由表的查找,并根据查找结果进行转发。
需要说明的是,由于源IP地址学习只是对ARP协议的一个辅助和增强,原有的ARP协议工作流程不受影响。在网关设备收到ARP请求报文,仍然按照原来流程进行ARP答复报文的发送,并更新ARP缓存表;当源IP地址学习到的表项与原ARP缓存中存贮的MAC地址或者接口信息不一致时,需要触发ARP协议重新对该IP地址进行ARP解析,如果解析结果与源IP地址学习结果一致,说明网络中的目标主机状态发生改变,则立即启用新的ARP缓存表项;若解析结果与源IP地址学习结果不一致,说明网络中有虚假主机信息存在,这种情况下,优先使用ARP协议解析的结果,并针对该信息进行网络管理告警。
实施例二
本实施例提供了一种地址解析的处理装置,主要应用于数据通信中的网关设备上,该装置可以包括:源地址学习模块、报文解析模块、ARP表查找模块、路由表查找模块和ARP学习模块,下面对各部分进行详细说明。
源地址学习模块,用于负责接收报文解析模块对报文的解析结果(例如:源IP地址、源MAC地址和报文的来源接口等信息),然后根据源IP地址调用ARP表查找模块进ARP缓存表的查找,且根据ARP表的查找结果,确定是否进行源IP地址学习。具体地,如果ARP表查找不能命中,则继续查找路由转发表,如果ARP表查找命中的话,则根据ARP表查找模块返回的的结果与报文解析模块的结果进行比较,决定是否更新相应的ARP表、删除陈旧的ARP表项并启用新的ARP表项,如果路由转发表查找直连路由失败,则不进行源IP地址学习,报文根据目的IP地址进行转发。需要说明的是源地址学习模块是主模块,也是各个模块协同工作的控制模块。
报文解析模块,用于负责对接收到IP报文进行解析,获取相应报文的各个字段值,包括源IP地址、源MAC地址及其来源接口等,同时将解析结果返回给源地址学习模块进行处理。
ARP表查找模块,用于根据源地址学习模块提供的IP地址进行ARP缓存表的查找,若查找成功,则将查找结果连同该IP地址对应的MAC地址和接口信息返回给源地址学习模块,若查找失败,则只返回查找失败结果。
路由表查找模块,用于根据源地址学习模块提供的IP地址进行路由转发表的最长匹配路由查找,如果查找成功,需要进一步查找该路由的下一跳是否本地接口,若下一跳为本地接口,则说明该路由为网关设备的直连路由,最后将查找结果返回给源地址学习模块,如果查找失败或者查找成功,但该路由不为本地直连路由,则将查找失败结果返回给源地址学习模块。
ARP学习模块,用于在源地址学习模块发现新旧表项不一致时,对目标IP地址重新进行ARP解析,并将解析结果返回给源地址学习模块,由源地址学习模块重新对新解析信息和原来信息进行比较后,决定是否更新表项还是保持原表表项。
本实例通过利用源地址查找进行ARP表项的学习,从而保证了ARP表项实时性,有效解决了企业网中的网关设备ARP协议处理负载过重的难题。并且,由于利用了数据报文携带信息进行ARP表的维护,所以减少了网络中的ARP报文通信量。
实施例三
在如图1所示的简单的应用场景中,相关技术中网关设备上的所有ARP表项的学习、更新和维护都是通过ARP报文的交互来完成的,这样网络中的ARP报文通信量很大,网关设备的处理负荷增加,且不能保证ARP表项状态的实时更新。而本实例是通过解析数据报文中的信息来学习和更新ARP表项,减少了网络中的ARP报文通信量,从而使得网关设备可以通过减小ARP的老化时间来加快ARP表项的实时更新,提高了ARP信息的及时性和准确性。
图5是根据本发明优选实施例三的一个ARP表结构的示意图,如图5所示,在ARP缓存表中,增加了一个标志位,该标志位主要用于ARP表项的老化更新。例如,当源IP地址查找命中该表项时,将其置1;当ARP老化扫描命中该表项时,若该标志为0,则删除表项;若该标志为1,则将该标志置为1。
图6是根据本发明优选实施例三的各模块之间相互关系的示意图,如图6所示,源地址学习模块负责调用其它模块,并接受其它的返回值。具体地,根据转发的报文调用报文解析模块,并接受返回的报文解析信息;根据源IP地址调用ARP查找模块,并接受其返回的ARP表信息;根据源IP地址查找路由转发表,并接受该地址是否来自直连主机的返回信息;根据目标IP地址调用ARP学习模块,并接受其返回的新ARP解析信息。可见,源地址学习模块是整个装置的控制和调督模块。
图7是根据本发明优选实施例三的地址解析的处理方法的流程图,如图7所示,该方法包括以下步骤:
步骤S702,源地址学习模块对接收的报文调用报文解析模块进行解析,报文解析模块解析出该报文携带的源IP地址、源MAC地址和来源接口等信息。
步骤S704,ARP表查找模块根据源地址学习模块传来的IP地址进行ARP缓存表的查找。如果查找成功(即,命中),则将该ARP表保存的相关信息(例如,IP地址、MAC地址和接口信息等)返回源地址学习模块,进入步骤S706;如果查找失败,不能找到相应的表项,将查找失败结果返回源地址学习模块,进入步骤S718。
步骤S706,源地址学习模块将ARP返回的信息与报文解析信息进行比较。如果两者一致,说明主机在线状态未发生改变,网关设备只需对该表项的计时进行更新,进入步骤S708;如果不一致,则需要重新核实哪一个信息属实,即进入步骤S710。
步骤S708,主机状态在线且状态未发生改变,只需要将该主机IP地址的相应表项的标志位置1,这样,该表项的老化就会再延长一个周期(即,复位机制)。
步骤S710,由ARP学习模块发起对目标IP的地址解析,发送ARP请求报文,等待ARP答复报文,进行ARP学习。
步骤S712,判断通过ARP协议重新学习的结果与源地址学习的结果是否保持一致。若一致,则说明网络主机状态发生变化,进入步骤S714;否则,即,ARP解析失败或者解析信息与原ARP表信息一致(与源地址学习的结果不一致),则进入步骤S716。
步骤S714,说明原来的ARP信息已经过时,网络主机状态已经发生变化,所以按新表项(即,源地址学习的结果信息或者重新ARP学习的结果信息)更新原ARP表项。
步骤S716,说明源地址学习模块接收到的报文为虚假报文,则源地址学习的ARP表项无效,ARP表中的ARP表项仍按ARP协议流程处理。
步骤S718,源地址学习模块调用路由表查找模块进行查找,检查该IP地址是否来自网关设备的直连主机(即,最长路由匹配)。如果最长路由匹配成功,并且该路由为网关设备的直连路由,则该主机为直连主机,进入步骤S720,进行ARP表添加,若该IP地址不是网关设备的直连主机,或者源地址学习失败,则报文直接路由转发,即进入步骤S722。
步骤S720,在确认ARP表没有该IP地址的相应表项,并且该IP地址来自网关设备的直连主机时,源地址学习模块将该IP地址添加到ARP缓存表,源地址学习成功。
步骤S722,IP报文路由转发,根据该报文的目的IP地址查找路由表/ARP表进行转发。
综上所述,上述实施例通过数据报文转发过程中对源地址进行学习来增强ARP缓存表项的学习、更新和维护,从而有效地减少网络中的ARP通信量,避免ARP报文在网关设备上的拥塞,提高网关设备处理ARP信息的能力,同时保证ARP缓存中的无效表项被及时删除,提高了网关设备高级缓存的有效利用率。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种地址解析的处理方法,其特征在于,包括以下步骤:
网关设备获取接收到的报文的源IP地址,并判断ARP表中是否存在包括所述源IP地址的ARP表项;
在所述ARP表中存在包括所述源IP地址的ARP表项的情况下,确定所述ARP表项中IP地址与MAC地址的对应关系和所述报文的源IP地址与源MAC地址的对应关系是否一致;如果一致,则复位所述ARP表项的老化时间。
2.根据权利要求1所述的方法,其特征在于,确定所述ARP表项中IP地址与MAC地址的对应关系和所述报文的源IP地址与源MAC地址的对应关系是否一致之后,还包括:
如果所述ARP表项中IP地址与MAC地址的对应关系和所述报文的源IP地址与源MAC地址的对应关系不一致,则重新对所述源IP地址进行ARP解析。
3.根据权利要求2所述的方法,其特征在于,重新对所述源IP地址进行ARP解析之后,还包括:
判断重新进行所述ARP解析后的IP地址与MAC地址的对应关系与所述ARP表项中的IP地址与MAC地址的对应关系是否一致;
若不一致,则根据ARP协议解析后的IP地址与MAC地址的对应关系更新所述ARP表中的与所述源IP地址对应的ARP表项。
4.根据权利要求1所述的方法,其特征在于,判断所述ARP表中是否存在包括所述源IP地址的ARP表项之后,还包括:
在所述ARP表中不存在包括所述源IP地址的ARP表项的情况下,根据所述源IP地址对所述网关设备的路由表进行最长匹配路由的查找,并依据查找结果确定是否在所述ARP表中创建与所述源IP地址对应的ARP表项。
5.根据权利要求4所述的方法,其特征在于,依据查找结果确定是否在所述ARP表中创建与所述源IP地址对应的ARP表项包括:
如果查找到的所述最长匹配路由为所述网关设备的直连路由,则在所述ARP表中创建与所述源IP地址对应的ARP表项;否则,根据所述报文的目的IP地址转发所述报文。
6.一种地址解析的处理装置,其特征在于,包括:
获取模块,用于网关设备获取接收到的报文的源IP地址;
第一判断模块,用于判断ARP表中是否存在包括所述源IP地址的ARP表项;
确定模块,用于在所述ARP表中存在包括所述源IP地址的ARP表项的情况下,确定所述ARP表项中IP地址与MAC地址的对应关系和所述报文的源IP地址与源MAC地址的对应关系是否一致;以及
复位模块,用于在所述确定模块确定所述ARP表项中IP地址与MAC地址的对应关系和所述报文的源IP地址与源MAC地址的对应关系一致的情况下,复位所述ARP表项的老化时间。
7.根据权利要求6所述的装置,其特征在于,还包括:
解析模块,用于在所述确定模块确定所述ARP表项中IP地址与MAC地址的对应关系和所述报文的源IP地址与源MAC地址的对应关系不一致的情况下,重新对所述源IP地址进行ARP解析。
8.根据权利要求7所述的装置,其特征在于,还包括:
第二判断模块,用于判断所述解析模块重新进行所述ARP解析后的IP地址与MAC地址的对应关系与所述ARP表项中的IP地址与MAC地址的对应关系是否一致;
更新模块,用于在所述第二判断模块判定重新进行所述ARP解析后的IP地址与MAC地址的对应关系与所述ARP表项中的IP地址与MAC地址的对应关系不一致的情况下,根据ARP协议解析后的IP地址与MAC地址的对应关系更新所述ARP表中的与所述源IP地址对应的ARP表项。
9.根据权利要求6所述的装置,其特征在于,还包括:
查找模块,用于在所述第一判断模块判断所述ARP表中不存在包括所述源IP地址的ARP表项的情况下,根据所述源IP地址对所述网关设备的路由表进行最长匹配路由的查找;
处理模块,用于依据所述查找模块的查找结果确定是否在所述ARP表中创建与所述源IP地址对应的ARP表项。
10.根据权利要求9所述的装置,其特征在于,所述处理模块包括:
创建单元,用于在所述查找模块查找到的所述最长匹配路由为所述网关设备的直连路由的情况下,在所述ARP表中创建与所述源IP地址对应的ARP表项;
转发单元,用于在所述查找模块查找到的所述最长匹配路由不是所述网关设备的直连路由的情况下,根据所述报文的目的IP地址转发所述报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010286636.9A CN101938533B (zh) | 2010-09-10 | 2010-09-10 | 地址解析的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010286636.9A CN101938533B (zh) | 2010-09-10 | 2010-09-10 | 地址解析的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101938533A true CN101938533A (zh) | 2011-01-05 |
CN101938533B CN101938533B (zh) | 2015-04-01 |
Family
ID=43391658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010286636.9A Active CN101938533B (zh) | 2010-09-10 | 2010-09-10 | 地址解析的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101938533B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143068A (zh) * | 2011-03-01 | 2011-08-03 | 华为技术有限公司 | 一种mac地址学习的方法,装置和系统 |
CN103023793A (zh) * | 2012-12-11 | 2013-04-03 | 烽火通信科技股份有限公司 | 一种地址解析协议表的管理装置及管理方法 |
CN103686888A (zh) * | 2013-12-11 | 2014-03-26 | 大唐移动通信设备有限公司 | 终端切换方法和基站 |
CN105812495A (zh) * | 2014-12-27 | 2016-07-27 | 华为技术有限公司 | 报文转发方法及设备 |
CN105827532A (zh) * | 2016-05-12 | 2016-08-03 | 深圳市蜂联科技有限公司 | 一种路由器对中继器下挂sta真实mac的发现方法与转换方法 |
CN105959426A (zh) * | 2016-04-21 | 2016-09-21 | 北京千丁互联科技有限公司 | 一种智能小区的终端设备及通信方法 |
CN103686888B (zh) * | 2013-12-11 | 2016-11-30 | 大唐移动通信设备有限公司 | 终端切换方法和基站 |
CN106209642A (zh) * | 2016-06-30 | 2016-12-07 | 杭州迪普科技有限公司 | 一种转发ip报文的方法及装置 |
CN109274781A (zh) * | 2018-08-10 | 2019-01-25 | 新华三技术有限公司 | Arp表项刷新方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060088037A1 (en) * | 2004-10-21 | 2006-04-27 | International Business Machines Corporation | Preventing asynchronous ARP cache poisoning of multiple hosts |
CN1863147A (zh) * | 2005-09-07 | 2006-11-15 | 华为技术有限公司 | 在虚拟专用局域网业务中实现组播数据流转发的方法 |
CN101170515A (zh) * | 2007-12-04 | 2008-04-30 | 华为技术有限公司 | 一种处理报文的方法、系统和网关设备 |
-
2010
- 2010-09-10 CN CN201010286636.9A patent/CN101938533B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060088037A1 (en) * | 2004-10-21 | 2006-04-27 | International Business Machines Corporation | Preventing asynchronous ARP cache poisoning of multiple hosts |
CN1863147A (zh) * | 2005-09-07 | 2006-11-15 | 华为技术有限公司 | 在虚拟专用局域网业务中实现组播数据流转发的方法 |
CN101170515A (zh) * | 2007-12-04 | 2008-04-30 | 华为技术有限公司 | 一种处理报文的方法、系统和网关设备 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143068B (zh) * | 2011-03-01 | 2014-04-02 | 华为技术有限公司 | 一种mac地址学习的方法,装置和系统 |
CN102143068A (zh) * | 2011-03-01 | 2011-08-03 | 华为技术有限公司 | 一种mac地址学习的方法,装置和系统 |
CN103023793A (zh) * | 2012-12-11 | 2013-04-03 | 烽火通信科技股份有限公司 | 一种地址解析协议表的管理装置及管理方法 |
CN103023793B (zh) * | 2012-12-11 | 2015-07-15 | 烽火通信科技股份有限公司 | 一种地址解析协议表的管理装置及管理方法 |
CN103686888A (zh) * | 2013-12-11 | 2014-03-26 | 大唐移动通信设备有限公司 | 终端切换方法和基站 |
CN103686888B (zh) * | 2013-12-11 | 2016-11-30 | 大唐移动通信设备有限公司 | 终端切换方法和基站 |
CN105812495A (zh) * | 2014-12-27 | 2016-07-27 | 华为技术有限公司 | 报文转发方法及设备 |
CN105812495B (zh) * | 2014-12-27 | 2019-04-12 | 华为技术有限公司 | 报文转发方法及设备 |
CN105959426B (zh) * | 2016-04-21 | 2019-03-05 | 北京千丁互联科技有限公司 | 一种智能小区的终端设备及通信方法 |
CN105959426A (zh) * | 2016-04-21 | 2016-09-21 | 北京千丁互联科技有限公司 | 一种智能小区的终端设备及通信方法 |
CN105827532A (zh) * | 2016-05-12 | 2016-08-03 | 深圳市蜂联科技有限公司 | 一种路由器对中继器下挂sta真实mac的发现方法与转换方法 |
CN105827532B (zh) * | 2016-05-12 | 2019-08-30 | 深圳市蜂联科技有限公司 | 一种路由器对中继器下挂sta真实mac的发现方法与转换方法 |
CN106209642A (zh) * | 2016-06-30 | 2016-12-07 | 杭州迪普科技有限公司 | 一种转发ip报文的方法及装置 |
CN109274781A (zh) * | 2018-08-10 | 2019-01-25 | 新华三技术有限公司 | Arp表项刷新方法和装置 |
CN109274781B (zh) * | 2018-08-10 | 2022-04-26 | 新华三技术有限公司 | Arp表项刷新方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101938533B (zh) | 2015-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101058625B1 (ko) | 중계장치, 통신방법 및 기록매체 | |
CN101938533A (zh) | 地址解析的处理方法及装置 | |
RU2006129488A (ru) | Устройство динамического управления сетью и способ динамического управления сетью | |
JPH10501935A (ja) | ローカルに構成されたルーチング・テーブルを使用したパケット通信網においてパケットをルーチングする方法およびシステム | |
CN101674306B (zh) | 地址解析协议报文处理方法及交换机 | |
CN101917707A (zh) | 无线传感器网络的ip寻址方法及系统 | |
CN105812261A (zh) | 信息中心网络中的报文转发方法和系统 | |
CN101394333A (zh) | 转发报文的方法、装置以及网络系统 | |
CN106470158A (zh) | 报文转发方法及装置 | |
CN104243320A (zh) | 一种优化网络访问路径的方法及装置 | |
CN101674312B (zh) | 一种在网络传输中防止源地址欺骗的方法及装置 | |
CN107070790B (zh) | 一种路由学习方法及路由设备 | |
CN102143164B (zh) | 报文中继方法、装置及基站 | |
CN100444586C (zh) | 报文转发方法及设备 | |
US20130094510A1 (en) | Medium access control address protection method and switch | |
CN101888338A (zh) | 信息转发方法及网关 | |
JP2003110568A (ja) | 無線基地局、無線通信システム、プログラム及びコネクション制御方法 | |
EP1096393B1 (en) | Retrieving information using network system, network terminal device and network relay device | |
CN105812495B (zh) | 报文转发方法及设备 | |
CN1771744B (zh) | 用于更新可移动节点位置信息的方法和设备 | |
US7546496B2 (en) | Packet transmission device and packet transmission method | |
CN109450810A (zh) | 识别冗余消息的方法及装置 | |
CN102611614B (zh) | 通信设备、通信系统和通信方法 | |
KR20090126355A (ko) | 패킷 통신 시스템에서 네트워크 주소 설정을 위한 장치 및방법 | |
CN101355494B (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 |