网络设备中地址解析协议高速缓存表项的老化方法

文档序号:7600061阅读:199来源:国知局
专利名称:网络设备中地址解析协议高速缓存表项的老化方法
技术领域
本发明涉及网络通信技术领域,尤其涉及一种网络设备地址解析协议高速缓存表项(简称ARP表项)的老化方法。
背景技术
在通信网络中,对于数据链路上的设备,需要一种方法来发现邻居的数据链路标识,所述的数据链路标识即MAC(媒体接入控制)地址,以便将数据报文传送到正确的目的地。IPv4(互联网协议第四版)的TCP/IP(传输控制协议/互联网协议)族使用ARP(地址解析协议)协议是根据指定的网络层地址(即IP地址)来获取对应的MAC地址,基于ARP协议获取MAC地址的处理过程如图1所示,具体包括当一台网络设备需要获取同一链路上的另一台网络设备的MAC地址时,它将组装一个ARP Request(ARP请求)报文,在这个报文中包括目标设备的IP地址、请求设备的IP地址和MAC地址(即发送者IP地址和发送者MAC地址),然后ARP Request报文被封装在数据帧中,其中带有作为源的发送者的MAC地址和作为目标的广播MAC地址。广播MAC地址意味着数据链路上的所有设备都将收到该帧,并且必须检查帧内封装的报文。由于只有目标机的IP地址与ARP报文中的目标IP地址相同,因此只有目标机可以识别该报文,其他所有设备都将丢弃收到的该报文。目标机收到所述的报文后,则将向源地址端(即发送ARP请求报文的一端)发送ARP Reply(ARP响应)报文,报文中承载着自身的MAC地址信息,从而向请求MAC地址的一端提供自己的MAC地址。
发送者获得了目标机的MAC地址后,在本地的地址解析协议高速缓存中需要记录所述目标机的MAC地址和IP地址的映射关系,即记录为一条ARP表项。由于高速缓存的大小总是有限的,如果ARP表项无限制地增加,那么肯定会充满高速缓存,因此,针对所述ARP表项提出了相应的老化处理的要求,以保证不再使用的ARP表项能够被及时地被删除,从而节省地址解析协议高速缓存的有限空间。
目前动态ARP表项的老化方法有如下三类1、定时删除ARP表项的方法为每条ARP表项设置一个确定时间长度的老化定时器,一旦超时,则立即删除当前超时的ARP表项;2、定期轮询的方法对于高速缓存表中的每条ARP表项,定期地分批发送ARP Request报文,根据是否有响应来决定是否还需要保留当前ARP表项,对于未收到响应报文的ARP表项则需要作删除处理,例如每隔5分钟对ARP表中的部分ARP表项执行上述操作,以确定是否删除相应表项;3、高层应用通知的方法由高层应用在处理中决定需要删除指定的ARP表项,当高层应用确定某一ARP表项不再应用时,则通知删除该ARP表项。
从上述三种ARP表项老化方法可以看出,所述的定时删除ARP表项的老化方具有法思路简洁、处理简单的优点,但是因此为重新建立ARP表,在数据链路上产生大量ARP Request报文(广播方式发送)的机率将大大增加,这样一来对网络资源的消耗比较大。而所述的定期轮询的老化方法则会对本机(即ARP表所在的网络设备)的性能和网络的消耗都存在较大的负担。至于所述的通过高层应用通知的老化方法,则存在不完备、不可靠的缺点,因此很容易导致死ARP表项的出现。

发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种网络设备中地址解析协议高速缓存表项的老化方法,使用本发明既可以降低网络资源的消耗,又可以不影响相应网络设备的性能。
本发明的目的是通过以下技术方案实现的本发明提供了一种网络设备中地址解析协议高速缓存表项的老化方法,包括在地址解析协议ARP表项的老化定时期间,如果该表项记录的MAC地址被应用过,则根据所述MAC地址对应的网络设备的在线与否,对所述的ARP表项进行老化处理。
所述的网络设备中地址解析协议高速缓存表项的老化方法进一步包括A、当网络设备中的ARP表项的老化定时器超时时,判断所述的表项记录的MAC地址是否被待发送的数据报文作为目的MAC地址,如果是,则所述网络设备向该MAC地址对应的网络设备发送单播的ARP请求报文,并执行步骤B,否则,删除所述的ARP表项;B、ARP表项所在的网络设备判断是否收到所述ARP请求报文的响应报文,如果收到,则保留该ARP表项,否则,删除该ARP表项。
所述的网络设备中地址解析协议高速缓存表项的老化方法还包括当ARP表项记录的MAC地址被待发送的数据报文作为目的MAC地址时,在ARP表项中设置相应的标志位为有效;此时,所述的步骤A还包括根据所述的标志位是否有效,判断在当前老化定时期间内所述ARP表项记录的MAC地址是否被待发送的数据报文作为目的MAC地址。
所述的网络设备中地址解析协议高速缓存表项的老化方法中,当保留该ARP表项时,所述的步骤B还包括修改所述ARP表项的标志位为无效。
所述的网络设备中地址解析协议高速缓存表项的老化方法中,当保留该ARP表项时,还包括设置针对该ARP表项的老化定时器重新开始计时。
所述的网络设备中地址解析协议高速缓存表项的老化方法还包括针对每一个ARP表项分别设置老化定时器。
本发明中,当收到以ARP表项中的IP地址、MAC地址作为发送者IP地址、发送者MAC地址的ARP报文时,令所述表项的老化定时器重新开始计时。
由上述本发明提供的技术方案可以看出,本发明可以为在老化定时周期内被应用过的ARP表项提供继续存活的机会,使得相应的ARP表项不必因为老化定时器的超时而被删除掉。因此,本发明可以显著地减少网络中广播ARP Request报文的数量,从而降低所述报文对网络所造成的负担,并且可以保证ARP表项在老化超时后,正常的IP报文仍然可以继续发送,避免出现定期丢数据包的现象。
同时,本发明中,对于在老化定时周期内未被应用过的ARP表项则直接删除,不论该表项对应的网络设备是否在线,均必须释放出ARP高速缓存资源,以提供给当前确实需要使用ARP表项的网络设备,从而可以提高ARP高速缓存的使用效率。


图1为地址解析协议的实现过程示意图;图2和图3为本发明所述的方法的具体实施流程图。
具体实施例方式
本发明的核心思想是在地址解析协议高速缓存表项(简称ARP表项)的老化定时器超时时,如果相应的ARP表项记录的数据链路层地址(简称MAC地址)被应用过,那么根据所述MAC地址对应的网络设备的在线与否来决定是否删除该ARP表项,从而确保相应的ARP表项如果实际有效,则仍然可以被保留于ARP表项中。所述的网络设备在线与否是指该网络设备是否响应发送给它的ARP Request报文,所述的ARP表项实际有效是指该ARP表项对应的网络设备在最近的老化定时期间进行了正常的数据报文收发。
本发明是对现有ARP老化技术的改进,提出了一种实用的ARP表项的老化方法。本发明对ARP表项在老化周期超时的处理流程进行改进,而具体采用的ARP机制则与现有方法完全一致,完全遵守ARP机制的相关标准。
下面将结合附图对本发明所述的方法作进一步说明。本发明所述的方法的具体实现方式如图2所示,包括以下步骤步骤21生成或更新ARP表项,并分别设置相应的老化定时器;在老化周期内,当收到ARP Request报文或ARP Reply报文时,如果ARP报文的发送者IP地址不在ARP表项之中,那么生成一条ARP表项,并设置相应的老化定时器;反之,则更新对应的ARP表项,所述的老化定时器重新开始计时,即进入新的老化定时周期;步骤22当网络设备发送了以ARP表项记录的MAC地址为目的MAC地址的IP报文时,记录该状态;例如,可以通过为ARP表项设置相应的标志位记录该信息,当发送以ARP表项记录的MAC地址为目的地址的MAC地址的报文时,则设置该标志位为有效,以便于根据该标志位是否有效进行不同的老化处理;步骤23当ARP表项对应的老化定时器超时时,判断所述的ARP表项记录的标志位是否有效,如果是,则执行步骤24,否则,执行步骤27;步骤24网络设备向该MAC地址所对应的网络设备发送单播的ARP请求报文,即ARP Request报文,以进一步确定是否保留该ARP表项;步骤25该ARP表项所在的网络设备判断是否收到所述ARP Request报文的响应报文ARP Reply,如果收到,则执行步骤26;否则,执行步骤27;步骤26保留该ARP表项,并将所述的老化定时器重新开始计时,同时设置该ARP表项的标志位为无效;步骤27删除该ARP表项。
本发明所述的方法还可以采用具体如下的方式实现本发明在ARP表项的数据字段进行扩充,增加“活着标志”字段,作为记录该ARP表项的MAC地址在老化周期内是否被应用过,所述的ARP表项如下表所示;

在ARP表项中的“活着标志”字段的取值范围如下1---表示当前表项“活着”,所述的“活着”是指如果当前ARP表项在老化定时期间被“命中”过,那么称该表项是“活着”的;所述的“命中”则是指如果当前ARP表项在老化定时期间被访问过,访问的结果是该表项记录的MAC地址被作为待发送数据报文的目的MAC地址,那么称该ARP表项被“命中”;0---表示当前表项未处于“活着”状态;本发明中,当一个ARP表项初次生成时,“活着标志”取值必须为0,如果该表项被“命中”了,那么“活着标志”取值必须为1;本发明中,如果当前ARP表项是“活着”的,那么该表项在老化定时器超时时不允许被无条件地删除,而是需要做相应的判断后才能决定是否删除,这也是本发明的核心。
基于上述ARP表项的格式,本发明所述的方法如图3所示,具体包括步骤31当前ARP表项的老化定时器超时时,检查该表项的“活着标志”字段是否为1,如果为1,则执行步骤32;否则,执行步骤35;步骤32以该ARP表项的MAC地址、IP地址为目标机,发送特殊的ARPRequest报文,即单播ARP Request报文,该报文的数据帧的目的MAC地址字段必须填入当前ARP表项的MAC地址字段的值,接着等待ARP Reply报文,在等待期间该表项仍然可正常使用;步骤33判断是否收到所述的ARP Reply报文,如果收到,则执行步骤34,否则,执行步骤35;即在等待接收ARP Reply报文期间,如果有ARP Reply报文回来,则执行步骤34,否则,执行步骤35;步骤34当前动态ARP表项不能删除,其“老化定时器”字段重新初始化、“活着标志”字段重新设置为0,于是该ARP表项进入下一轮老化定时周期,过程结束;步骤35删除当前动态ARP表项,释放相关资源,过程结束。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
权利要求
1.一种网络设备中地址解析协议高速缓存表项的老化方法,其特征在于,包括在地址解析协议ARP表项的老化定时期间,如果该表项记录的MAC地址被应用过,则根据所述MAC地址对应的网络设备的在线与否,对所述的ARP表项进行老化处理。
2.根据权利要求1所述的网络设备中地址解析协议高速缓存表项的老化方法,其特征在于,所述的方法进一步包括A、当网络设备中的ARP表项的老化定时器超时时,判断所述的表项记录的MAC地址是否被待发送的数据报文作为目的MAC地址,如果是,则所述网络设备向该MAC地址对应的网络设备发送单播的ARP请求报文,并执行步骤B,否则,删除所述的ARP表项;B、ARP表项所在的网络设备判断是否收到所述ARP请求报文的响应报文,如果收到,则保留该ARP表项,否则,删除该ARP表项。
3.根据权利要求2所述的网络设备中地址解析协议高速缓存表项的老化方法,其特征在于,该方法还包括当ARP表项记录的MAC地址被待发送的数据报文作为目的MAC地址时,在ARP表项中设置相应的标志位为有效;所述的步骤A还包括根据所述的标志位是否有效,判断在当前老化定时期间内所述ARP表项记录的MAC地址是否被待发送的数据报文作为目的MAC地址。
4.根据权利要求3所述的网络设备中地址解析协议高速缓存表项的老化方法,其特征在于,当保留该ARP表项时,所述的步骤B还包括修改所述ARP表项的标志位为无效。
5.根据权利要求2所述的网络设备中地址解析协议高速缓存表项的老化方法,其特征在于,当保留该ARP表项时,还包括设置针对该ARP表项的老化定时器重新开始计时。
6.根据权利要求1所述的网络设备中地址解析协议高速缓存表项的老化方法,其特征在于,该方法还包括针对每一个ARP表项分别设置老化定时器。
7.根据权利要求6所述的网络设备中地址解析协议高速缓存表项的老化方法,其特征在于,当收到以ARP表项中的IP地址、MAC地址作为发送者IP地址、发送者MAC地址的ARP报文时,令所述表项的老化定时器重新开始计时。
全文摘要
本发明涉及一种网络设备中地址解析协议高速缓存表项的老化方法。该方法主要包括在ARP表项的老化定时期间,如果该表项记录的数据链路层地址(简称MAC地址)被应用过,则在老化定时器超时时,需要根据所述MAC地址对应的网络设备的在线与否,对相应的ARP表项进行老化处理。因此,本发明可以为在老化定时周期内被应用过的ARP表项提供继续存活的机会,使得相应的ARP表项不必因为老化定时器的超时而被删除掉,以提高ARP表项的使用效率。本发明可以显著地减少网络中广播ARP Request报文的数量,从而降低所述报文对网络所造成的负担,并且可以保证ARP表项在老化超时后,正常的IP报文仍然可以继续发送,避免出现定期丢数据包的现象。
文档编号H04L29/06GK1783874SQ20041009619
公开日2006年6月7日 申请日期2004年12月1日 优先权日2004年12月1日
发明者李强, 张鸿雁 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1