CN100421427C - 维护邻居表项的方法 - Google Patents
维护邻居表项的方法 Download PDFInfo
- Publication number
- CN100421427C CN100421427C CNB2006100784298A CN200610078429A CN100421427C CN 100421427 C CN100421427 C CN 100421427C CN B2006100784298 A CNB2006100784298 A CN B2006100784298A CN 200610078429 A CN200610078429 A CN 200610078429A CN 100421427 C CN100421427 C CN 100421427C
- Authority
- CN
- China
- Prior art keywords
- neighbor entry
- modified logo
- interface board
- list item
- deletion
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了维护邻居表项的方法,通过对邻居表项设置标识(ID),并在更新邻居表项的同时更新对应的ID,在更新或删除邻居表项,根据邻居表项对应的ID,确定是否执行相应更新或删除的操作,进而实现对邻居表项的维护。通过应用本发明所提供的方法,解决了由于错误更新或删除邻居表项而造成的转发报文错误的问题,提高了报文转发的成功率、提高设备转发报文的可靠性、减轻设备的负担、提高设备的使用效率、降低系统延时,保障了设备的使用性能。
Description
技术领域
本发明涉及IP技术,尤指维护邻居表项的方法。
背景技术
邻居表项包括:地址解析协议(ARP)表项和邻居发现表项。ARP表项为:IPV4中根据接收报文的目的IP地址,查找得到相应的下一跳IP地址后、用于根据下一跳地址查找到MAC地址以及出端口,以转发报文。邻居发现表项为:IPV6中根据邻居的IP地址查找MAC地址及出端口,以转发报文。
在本文中,主要以ARP表项为例,对邻居表项进行说明。
随着数据通信技术的发展,集中式数据通信设备的处理能力已经不能满足网络发展的需求。分布式设备应运而生,大量应用于数据通讯网络的汇聚层和核心层。分布式设备具有多接口板、多CPU、多端口接入等特点。在分布式设备中,通常情况下存在一个主控板和至少一个接口板,接口板用于运行系统所支持的业务,比如数据报文转发,各种接入业务;主控板用于控制各接口板,以及整个系统。
分布式设备中的ARP表项的特点是:表项数目多,变化快。因此,为了保证ARP表项在主控板和各接口板中的同步,通常由主控板控制各接口板进行表项的更新、添加以及删除。具体的说,当接口板通过自身的ARP学习更新或添加ARP表项,或由于老化删除自身的ARP表项时,均将自身ARP表项更新、添加或删除的变化通知主控板,主控板则根据接收到接口板ARP表项的变化,通知其他接口板更新、添加或删除相应的表项。
虽然,现有技术提供了保证ARP表项在主控板和各接口板中同步的机制,但是在某些的情况下,对于同一个ARP表项仍然会在各接口板中出现不一致的情况。
例如,在T1时刻,主控板向接口板1下发了一个删除ARP表项IP1的指令;几乎在同一T1时刻,由于接口板1根据自身的学习更新了ARP表项IP1,因此向主控板发送ARP表项更新消息,指示主控板将ARP表项IP1更新为IP1’。由于主控板向接口板1下发的删除ARP表项IP1的指令、和接口板1向主控板发送的ARP表项更新消息,几乎会在相同的时间到达对方,因此,接口板1会根据主控板下发的指令删除自身刚更新的ARP表项IP1’,主控板也会根据接口板1发送的ARP表项更新消息添加ARP表项IP1’;并且,在主控板添加了ARP表项IP1’之后,主控板会进一步通知除接口板1之外的其他接口板,添加ARP表项IP1’。因此,接口板1没有ARP表项IP1’,而其他接口板以及主控板均保存了ARP表项IP1’,对于ARP表项IP1’,如果不进行人工手动删除的话,ARP表项IP1’将很难被删除。而且,在这种情况下,也很难保证IP1’就是当前正确的IP1的更新,如果错误保存了IP1’,则会造成在报文转发中的严重错误。
又例如,在T1时刻,由于接口板1根据自身的学习更新了ARP表项IP1,因此向主控板发送ARP表项更新消息,指示主控板将ARP表项IP1更新为IP11;几乎在同一T1时刻,由于接口板2根据自身的学习也更新了ARP表项IP1,也向主控板发送ARP表项更新消息,指示主控板将ARP表项IP1更新为IP12,IP12不等于IP11。又几乎在相同的时刻,接口板2通过主控板的控制将IP12更新为IP11,而接口板1通过主控板的控制将IP11更新为IP12;由于IP11不是接口板2本板学习到的表项,而IP12也不是接口板1本板学习到的表项,因此这里如果不人为干预的话,IP11和IP12这两个针对同一个IP1更新后的ARP表项将永远共同存在,会造成报文转发中的严重错误。
产生如上这些错误的原因是:在网络拓扑变化频繁时,同一个接入用户会频繁从两个接口板的两个接口上接入,因此就容易出现这种错误情况。
同样的问题,一样存在于IPV6邻居表项的更新、添加或删除过程中。
如果不解决上述由于错误更新、添加或删除邻居表项而造成错误转发报文的问题,会严重影响报文转发的成功率、降低设备转发报文的可靠性、加重设备的负担、降低设备的使用效率、加大系统延时,严重影响了设备的性能。
发明内容
有鉴于此,本发明的主要目的在于提供维护邻居表项的方法,应用该方法能够提高报文转发的成功率,提高设备转发报文的可靠性。
为达到上述目的,本发明的技术方案是这样实现的:
一种维护邻居表项的方法,添加邻居表项时设置修改标识;建立并维护邻居表项与修改标识之间对应关系的修改标识数据库;
接口板根据自身的邻居表项学习,需要更新邻居表项时,执行以下步骤:
A1、接口板更新当前邻居表项、并更新所述邻居表项的修改标识;向主控板发送更新邻居表项消息,其中携带更新后的邻居表项以及更新后的修改标识;
B1、主控板查找修改标识数据库,根据该邻居表项获得对应的原修改标识,并根据所述邻居表项的原修改标识及更新后的修改标识,确定是否更新所述邻居表项。
其中,步骤A1中,所述更新邻居表项的修改标识为:按照递增的方式更新所述邻居表项的修改标识;
相应的,步骤B1中,所述根据所述邻居表项的原修改标识及更新后的修改标识,确定是否更新所述邻居表项为:
判断更新后的修改标识是否大于查找获得的原修改标识,如果是,则更新当前邻居表项以及对应的修改标识;否则,拒绝更新当前邻居表项;
或
步骤A1中,所述更新邻居表项的修改标识为:按照递减的方式更新所述邻居表项的修改标识;
相应的,步骤B1中,所述根据所述邻居表项的原修改标识及更新后的修改标识,确定是否更新所述邻居表项为:
判断更新后的修改标识是否小于查找获得的原修改标识,如果是,则更新当前邻居表项以及对应的修改标识;否则,拒绝更新当前邻居表项。
其中,所述递增的方式为:自然数递增的方式、或时间递增的方式;
所述递减的方式为:自然数递减的方式。
另外,步骤B1中,确定不更新所述邻居表项时,进一步包括:
针对当前邻居表项,广播发送邻居表项请求报文,发起各接口板的邻居表项学习。
其中,步骤B1中,所述获得对应的原修改标识为:
根据更新后的邻居表项的目的IP和接口索引查找得到对应的更新前的邻居表项,再根据更新前的邻居表项查找修改标识数据库得到对应的原修改标识。
其中,步骤B1中,所述更新当前邻居表项以及对应的修改标识为:主控板更新当前的邻居表项以及对应的修改标识、并且控制其他接口板更新当前的邻居表项以及对应的修改标识。
另外,该方法进一步包括:当主控板根据自身的邻居表项学习,需要更新邻居表项时:
主控板更新当前的邻居表项以及对应的修改标识、并且控制其他接口板更新当前的邻居表项以及对应的修改标识。
其中,当主控板要删除邻居表项时,向各接口板发送删除邻居表项指令,其中携带当前要删除的邻居表项以及对应的修改标识;接口板收到删除邻居表项指令后执行以下步骤:
A12、根据当前要删除的邻居表项查找修改标识数据库,获得删除邻居表项的修改标识;
B12、判断收到的修改标识是否等于步骤A12中查找获得的修改标识,如果是,则执行步骤C12;否则,不删除当前要删除的邻居表项;
C12、删除当前要删除的邻居表项。
同时,本发明又提供了一种维护邻居表项的方法,建立并维护邻居表项与标识之间对应关系的标识数据库;更新或添加邻居表项时,对所述邻居表项设置唯一标识;
当主控板删除邻居表项时,向各接口板发送删除邻居表项指令,其中携带当前要删除的邻居表项以及对应的标识;接口板收到删除邻居表项指令后执行以下步骤:
A2、根据当前要删除的邻居表项查找标识数据库,获得要删除的邻居表项的标识;
B2、判断收到的标识是否等于步骤A2中查找获得的标识,如果是,则执行步骤C2;否则,不删除当前要删除的邻居表项;
C2、删除当前要删除的邻居表项。
其中,所述设置唯一标识为:按照自然数递增的方式、或时间递增的方式设置唯一标识、或随机设定。
另外,进一步将设备标识写入所述邻居表项的标识中;在步骤A2之前进一步包括:
接口板获得删除邻居表项指令中携带的当前要删除的邻居表项的标识,判断标识中携带的设备标识是否为自身的设备标识,如果是,则执行步骤A2;否则,执行步骤C2。
另外,主控板和接口板更新或添加邻居表项时,根据自身已更新和添加的邻居表项的总更新邻居表项次数,设置当前更新或添加邻居表项的标识;并且进一步将设备标识写入所述邻居表项的标识中;该方法进一步包括,主控板删除部分邻居表项时:
D2、主控板根据当前要删除的各接口板的邻居表项,对各接口板分别设置一邻居表项的标识作为删除次数,并向所有接口板发送部分删除指令,其中携带各接口板的删除次数;
E2、接口板根据收到的部分删除指令,获得其中携带的各接口板删除次数;F2、接口板删除自身存储的各接口板更新邻居表项次数小于等于对应删除次数的邻居表项。
本发明所提供的维护邻居表项的方法,通过对邻居表项设置标识(ID),并在更新邻居表项时,同时更新邻居表项对应的ID,在更新或删除邻居表项,根据邻居表项对应的ID,确定是否执行相应更新或删除的操作,进而实现对邻居表项的维护。通过应用本发明所提供的方法,解决了由于错误更新或删除邻居表项而造成的转发报文错误的问题,提高了报文转发的成功率、提高设备转发报文的可靠性、减轻设备的负担、提高设备的使用效率、降低系统延时,保障了设备的使用性能。
附图说明
图1为本发明实施例一的流程图;
图2为本发明实施例二的流程图;
图3为本发明实施例三中删除ARP表项流程图;
图4为本发明实施例三中删除全部ARP表项流程图。
具体实施方式
本发明的核心思想是:对邻居表项设置标识(ID),并在更新邻居表项时,同时更新邻居表项对应的ID,在更新或删除邻居表项,根据邻居表项对应的ID,确定是否执行相应更新或删除的操作,进而实现对邻居表项的维护。
在本发明中,主要以ARP表项为例对邻居表项的维护进行说明。
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明做进一步的详细说明。
实施例一
在本实施例中,首先介绍在主控板不进行自身ARP学习的情况下,接口板更新ARP表项的流程。
在接口板更新ARP表项的流程中,为实现本实施例的发明目的,需要各接口板在添加ARP表项时,为添加的ARP表项设置修改ID,建立并维护ARP表项与修改ID之间的对应关系,这里所指的添加ARP表项是指由于接口板自身的ARP学习而添加的ARP表项;同时在主控板的控制下,将自身当前添加的ARP表项以及对应的修改ID添加至主控板和所有其他的接口板。
在本实施例中,主要介绍以递增的方式对邻居表项的修改ID进行更新。这里,所述的递增方式可以是指,按照自然数增长的方式递增,即1、2、3逐渐递增;也可以按照时间的方式递增,例如针对邻居表项IP1,第一次更新时间为T1,则修改ID为T1;第二次更新时间为T2,则修改ID为T2,T2晚于T1。在本实施例中,主要采用以自然数增长的方式对修改ID进行更新。
为添加的ARP表项设置的修改ID为初始修改ID,可以是0、或1、或根据递增的方式确定的初始值。
其中,ARP表项与修改ID之间的对应关系,可以通过在ARP表项中记录自身的修改ID来实现;也可以是为ARP表项和修改ID建立一张修改ID列表,在修改ID列表中记录各ARP表项与修改ID的对应关系。分布式设备中的主控板和各接口板均需分别建立并维护ARP表项与修改ID之间的对应关系。在本实施例中,将保存ARP表项与修改ID之间的对应关系的数据库称为修改ID数据库。修改ID数据库对于后面介绍的实施例同样适用。如果修改ID记录在对应的ARP表项中,则修改ID数据库即为存储所有ARP表项的数据库。
当接口板通过自身的ARP学习,需要更新自身的ARP表项时,执行如图1所示的流程:
步骤101:接口板更新自身的ARP表项,并根据当前更新的ARP表项查找自身的修改ID数据库,获得更新前ARP表项对应的原修改ID;在获得的原修改ID上加1以更新修改ID,得到更新ARP表项后的修改ID。接口板利用更新后的ARP表项以及对应的更新后的修改ID,更新自身维护的修改ID数据库。
步骤102:接口板向主控板发送更新ARP表项消息,其中携带更新后的ARP表项以及对应的更新后的修改ID。
步骤103:主控板根据接收到的更新ARP表项消息中携带的更新后的ARP表项,查找自身的修改ID数据库,获得当前需要更新的ARP表项对应的原修改ID。
其中,主控板获得原修改ID的方法可以是:根据更新ARP表项消息中携带的更新后的ARP表项查找自身的修改ID数据库得到对应的原ARP表项,在修改ID数据库中根据原ARP表项查找获得对应的原修改ID。这里,对于一个ARP表项来说,更新前后的ARP表项具有相同的目的IP和接口索引,因此可以根据更新后的ARP表项的目的IP和接口索引在修改ID数据库查找得到对应的原ARP表项。
步骤104:主控板判断接收到的修改ID是否大于自身查找获得的原修改ID,如果大于,则执行步骤105;否则,执行步骤107。
步骤105:主控板向其他接口板下发更新ARP表项指令,其中携带更新后的ARP表项以及对应的更新后的修改ID;同时,主控板利用更新后的ARP表项以及对应的更新后的修改ID,更新自身的修改ID数据库。
这里,所述其他接口板是指:除步骤101中发起更新流程的接口板之外的,分布式设备中的其他接口板。
步骤106:其他接口板根据主控板下发的更新ARP表项指令,更新自身的ARP表项,以及利用更新后的ARP表项以及对应的更新后的修改ID,更新自身的修改ID数据库,结束当前更新ARP表项流程。
步骤107:主控板拒绝处理当前从接口板收到的更新ARP表项消息。
由于每个接口板在更新ARP表项时,均会在更新ARP表项的同时,按照递增的方式更新ARP表项对应的修改ID,并且也会按照如图1所示的流程在主控板的控制下,对其他的接口板进行ARP表项的更新。因此在正常情况下,主控板收到的更新ARP表项消息中携带的修改ID,应该大于自身存储的ARP表项更新前对应的原修改ID。当主控板接收到的修改ID不大于自身查找获得的原修改ID,即收到的修改ID小于或等于原修改ID时,则说明当前需要更新的ARP表项可能是错误的ARP表项。因此,在这种情况下,主控板可以直接拒绝处理当前收到的更新ARP表项消息,保持自身的原ARP表项以及对应的原修改ID。
在本实施例的步骤107中,为了更进一步确定ARP表项的正确性,本实施例中还存在一种替代方案,即在主控板拒绝处理当前收到的更新ARP表项消息后,进一步针对当前要更新的ARP表项广播发送ARP请求报文,发起各接口板对所述ARP表项的学习,通过学习返回的结果确定正确的ARP表项。
这里,通过学习返回的结果确定正确的ARP表项为:在主控板广播发送ARP请求报文后,按照现有技术的ARP请求机制,学习到相应ARP表项的接口板将会更新自身对应的ARP表项,当接口板通过学习更新自身的ARP表项时,则会执行图1所示的流程。在图1所示的流程中,在满足步骤104的条件时,即收到的修改ID大于自身查找获得的原修改ID的情况下,主控板则会控制各接口板更新相应的ARP表项;当不满足步骤104的条件时,则又会重新发送ARP请求报文,直到学习到正确的ARP表项。
通常情况下,邻居设备的异常情况只是短暂的,因此通过主控板发起的ARP请求,以及图1所示的更新ARP表项的流程,分布式设备将会学习到正确的ARP表项,并同时保持整个设备中ARP表项的一致性,提高报文转发的成功率。
在前面的介绍中描述的是主控板不进行自身ARP学习的情况,当主控板自身进行ARP学习,并更新ARP表项时,主控板不需要执行如步骤104所述的判断,直接更新相应的ARP表项以及在对应的原修改ID上加1;并利用更新后的ARP表项以及对应的更新后的修改ID,更新自身的修改ID数据库,同时向所有的接口板下发更新ARP表项指令,其中携带更新后的ARP表项以及对应的更新后的修改ID。
在本实施例中,如果主控板在添加ARP表项时,发现自身已经存在了待添加的ARP表项,则主控板可以按照更新ARP表项的处理流程处理,通过判断待添加的ARP表项与自身已经存在的ARP表项标识的大小,确定是否根据当前待添加的ARP表项更新自身已存在的ARP表项。
在本实施例中,对修改ID的更新还可以采用递减的方式,如自然数递减的方式。如果本实施例采用的是自然数递减的方式,则步骤104应为:主控板判断接收到的修改ID是否小于自身查找获得的原修改ID,如果小于,则执行步骤105;否则,执行步骤107,其他的步骤均不变。
实施例二
在本实施例中,介绍的是接口板删除ARP表项的流程。为实现本实施例的发明目的,需要各接口板在因为自身的ARP学习添加ARP表项时,为添加的ARP表项设置修改ID,并在接口板每次更新ARP表项时,对修改ID按照递增的方式进行编号。
在本实施例中,需要与实施例一相同,主控板和每个接口板均需要建立并维护修改ID数据库,修改ID数据库的详细介绍如实施例一中所述,在此不在赘述。
当主控板要删除某条ARP表项时,则向各接口板下发的删除ARP表项指令,其中携带当前要删除的ARP表项以及对应的修改ID,具体过程如图2所示。通常情况下,主控板要删除某条ARP表项是由于接收到的某个接口板发送的删除ARP表项消息,或者是主控板收到了针对某个ARP表项的手工删除ARP表项指令。
步骤201:接口板收到的删除ARP表项指令,并根据其中携带的当前要删除的ARP表项,查找自身的修改ID数据库,获得当前要删除的ARP表项对应的原修改ID。
步骤202:接口板判断接收到的修改ID是否与自身查找获得的原修改ID相同,如果相同,则执行步骤203;否则,执行步骤204。
步骤203:接口板根据主控板下发的删除ARP表项指令执行删除操作。
步骤204:接口板不执行主控板下发的删除ARP表项指令。
在本实施例中,对于修改ID的编号,还可以不按照递增的方式进行编号,而是可以采取随机的方式,只需保证每两个修改ID的编号不同即可。
在本实施例中,相当于沿用了实施例一中的修改ID,但是在本实施例中,对添加或更新的ARP表项的编号并不需要像修改ID那么严格,只需在添加或更新ARP表项时,为所述的ARP表项设置唯一标识即可,该唯一标识能够区别每次添加或更新的ARP表项。设置唯一标识的方法可以是如修改ID一样的设置方法,也可以随机设定,只需要保证该唯一标识为唯一区别ARP表项。
对错误删除ARP表项的问题进行仔细分析,可以得到问题出现的症结在于删除操纵所针对的对象已不是原来的表项,而是更新过的ARP表项。因此,在本实施例中,通过对每次更新的ARP表项进行编号,在删除的时候,根据编号判断是否为原来的ARP表项,进而确定是否执行删除的操作,提高了删除ARP表项的正确性,维护了ARP表项的一致性。
实施例三
本实施例是实现删除ARP表项的另外一种方法,在本实施例中对ARP表项进行另外一种方式的编号,在此称为删除ID,该删除ID仅对删除ARP表项的操作有效。删除ID的具体形式为:本板设备标识+本板更新ARP表项次数,其中本板设备标识是当前接口板在分布式设备中的槽位号,可以用来唯一标识接口板;本板更新ARP表项次数为:接口板累计更新ARP和添加表项的次数。例如用二进制表示的删除ID:00100010的意义为,前四位0010表示当前接口板的槽位号,后四位0010表示当前ARP表项是槽位号为0010的接口板第2次更新或添加的ARP表项。删除ID实际上可以看作是实施例二中介绍的唯一标识的一种特殊形式,具体为:对唯一标识进行了特定的编号,并在唯一标识中增加了设备标识。
当接口板通过自身的学习,更新或添加ARP表项时,则按照上述方法对当前更新或添加的ARP表项进行编号。例如,ARP表项IP1,首先由接口板1学习获得,IP1对应的删除ID为00010010;当接口板2在接口板1更新的基础上再次对IP1进行更新,则IP1对应的删除ID将会发生改变,IP1对应的删除ID的槽位号将改变为接口板2的槽位号,本板更新ARP表项次数也将改变为接口板2累计更新ARP和添加表项的次数;并且,接口板2生成的删除ID将随着对ARP表项IP1的更新,代替原接口板1生成的删除ID存储于接口板1中。分布式设备中的主控板和各接口板同样需要建立并维护删除ID数据库,用来存储ARP表项与对应的删除ID之间的对应关系。
使用删除ID执行删除ARP表项的流程和图2所示的流程相同,只是使用删除ID代替其中的修改ID,在此不再赘述。
在现有技术中,由于接口板只能因老化删除自身更新或添加的ARP表项,而没有权限删除其他接口板更新或添加的ARP表项,因此,如果接口板收到主控板发送的删除自身更新或添加的ARP表项的指令时,则需要对要删除的ARP表项做进一步判断,以确定是否执行删除操作;而对于接口板接收到主控板指令要删除的ARP表项,不是自身更新或添加的,则根据主控板的指令执行删除操作。这也是从另外一个角度考虑错误删除ARP表项的原因。
当主控板要删除某条ARP表项时,则向各接口板下发删除ARP表项指令,其中携带当前要删除的ARP表项以及对应的修改ID,具体过程如图3所示。通常情况下,主控板要删除某条ARP表项是由于接收到的某个接口板发送的删除ARP表项消息,或者是主控板收到了针对某个ARP表项的手工删除ARP表项指令。
步骤301:接口板根据收到的删除ARP表项指令,获得其中携带的删除ID。
步骤302:判断删除ID中携带的槽位号是否为自身的槽位号,如果是,则执行步骤303;否则,执行步骤306。
步骤303:接口板根据收到的删除ARP表项指令中携带的当前要删除的ARP表项,查找自身的删除ID数据库,获得当前需要删除的ARP表项对应的原删除ID。
步骤304:接口板判断接收到的删除ID是否与自身查找获得的原删除ID相同,如果相同,则执行步骤306;否则,执行步骤305。
步骤305:接口板不执行主控板下发的删除ARP表项的指令,结束当前删除ARP表项流程。
步骤306:接口板根据主控板下发的删除ARP表项指令执行删除操作。
如图3所示的流程,也可以通过在修改ID中加上本板槽位号实现。即在接口板通过自身学习添加ARP表项,在建立的修改ID中增加自身的槽位号;在接口板通过自身学习更新ARP表项时,在更新ARP表项的同时,将更新ARP表项对应的修改ID中槽位号更新为自身的槽位号。
对ARP表项设置删除ID的另外一个主要目的是:解决主控板发起删除所有ARP表项时,同时删除了各接口板刚学习到的新ARP表项的问题。这个问题无法使用修改ID解决。
主控板删除所有ARP表项的具体过程如下所述。
当主控板发起删除所有ARP表项时,首先查找自身的删除ID数据库,获得各接口板本板更新ARP表项次数最大的删除ID,在此称本板更新ARP表项次数最大的删除ID为最大删除ID;然后向所有接口板发送全部删除指令,其中携带各接口板最大删除ID。各接口板收到主控板下发的全部删除指令后,均按照如图4所示的流程执行全部删除操作,具体说明如下:
步骤401:接口板根据收到的全部删除指令,获得其中携带的本板最大删除ID。
步骤402:接口板删除本板删除ID小于等于最大删除ID的本板ARP表项、和其他接口板的ARP表项。这里,所述的本板删除ID小于等于最大删除ID是由各删除ID的本板更新ARP表项次数决定。
这里,区别本板ARP表项和其他接口板的表项的标准为:根据删除ID的槽位号确定删除ID对应的ARP表项是本板或是其他板。
在本实施例中,除了可以控制删除所有ARP表项外,还可以控制删除部分ARP表项,具体过程为:首先,主控板根据当前要删除的各接口板的邻居表项,对各接口板分别设置一邻居表项的标识作为删除次数,并向所有接口板发送部分删除指令,其中携带各接口板的删除次数;接着,接口板根据收到的部分删除指令,获得其中携带的各接口板删除次数;最后,接口板删除自身存储的各接口板更新邻居表项次数小于等于对应删除次数的邻居表项。
例如,接口板1当前的本版更新ARP表项次数为100,接口板2当前本版更新ARP表项次数为90,接口板3当前本版更新ARP表项次数为110,这时主控板根据自身的需要,要部分删除各接口板的ARP表项时,主控板执行以下操作。假设主控板要删除的ARP表项是:接口板1更新ARP表项次数小于等于50的ARP表项、接口板2更新ARP表项次数小于等于40的ARP表项、以及接口板3更新ARP表项次数小于等于60的ARP表项时,则主控板设置接口板1更新ARP表项次数为50的标识为接口板1的删除次数,设置接口板2更新ARP表项次数为40的标识为接口板2的删除次数,设置接口板3更新ARP表项次数为60的标识为接口板3的删除次数,并向各接口板发送部分删除ARP表项指令,其中携带各接口板的删除次数。当接口板1收到主控板发送的部分删除指令时,则删除自身存储的设备标识为接口板1的小于等于接口板1删除次数的ARP表项,即删除设备标识为接口板1但更新ARP表项次数小于等于50的ARP表项;删除设备标识为接口板2的小于等于接口板2删除次数的ARP表项,即删除设备标识为接口板2但更新ARP表项次数小于等于40的ARP表项;删除设备标识为接口板3的小于等于接口板3删除次数的ARP表项,即删除设备标识为接口板3但更新ARP表项次数小于等于60的ARP表项。接口板2和接口板3则按照与接口板1相同的方法根据主控板的部分删除指令删除ARP表项。
通过对部分删除ARP表项过程的介绍,可以得到全部删除ARP表项实际上是部分删除ARP表项的一个特例,即当各接口板的删除次数是更新ARP表项次数最大的删除标识时,则执行的是全部删除的操作。
本发明所提供的实施例一、二和三,分别列举了更新和删除ARP表项的流程,这三个实施例均可以单独使用,并且能够实现提高报文转发的成功率,提高设备转发报文的可靠性的发明目的。
同时,为了更好的达到维护ARP表项一致的目的,还可以将实施例一和实施例二组合,即在维护ARP表项的过程中,同时使用本发明所提出的更新及实施例二所述的删除流程;另外,还可以同时使用实施例一和实施例三所提供的技术方案,即在维护ARP表项的过程中,同时使用实施例一提出的更新流程以及实施例三所述的删除流程。在这种情况下,就需要接口板在添加ARP表项时,同时建立两个编号,即修改ID和删除ID;并在接口板进行更新ARP表项时,同样需要对两个编号进行更新;
在上述的组合形式下,更新或删除的流程均按照具体实施例描述的具体实施方式执行,在此不再赘述。但是,在同时存在实施例一和实施例二的情况下,可以不再针对删除操作重新设置唯一标识,而可以直接使用实施例一中使用的修改标识。在同时存在实施例一和实施例三的情况下,主控板和各接口板则需要同时维护修改ID和删除ID。
本发明中所述的具体实施方式,均能应用到IPV6中邻居发展表项的维护。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (12)
1. 一种维护邻居表项的方法,其特征在于,添加邻居表项时设置修改标识;建立并维护邻居表项与修改标识之间对应关系的修改标识数据库;
接口板根据自身的邻居表项学习,需要更新邻居表项时,执行以下步骤:
A1、接口板更新当前邻居表项、并更新所述邻居表项的修改标识;向主控板发送更新邻居表项消息,其中携带更新后的邻居表项以及更新后的修改标识;
B1、主控板查找修改标识数据库,根据该邻居表项获得对应的原修改标识,并根据所述邻居表项的原修改标识及更新后的修改标识,确定是否更新所述邻居表项。
2. 根据权利要求1所述的方法,其特征在于,步骤A1中,所述更新邻居表项的修改标识为:按照递增的方式更新所述邻居表项的修改标识;
相应的,步骤B1中,所述根据所述邻居表项的原修改标识及更新后的修改标识,确定是否更新所述邻居表项为:
判断更新后的修改标识是否大于查找获得的原修改标识,如果是,则更新当前邻居表项以及对应的修改标识;否则,拒绝更新当前邻居表项;
或
步骤A1中,所述更新邻居表项的修改标识为:按照递减的方式更新所述邻居表项的修改标识;
相应的,步骤B1中,所述根据所述邻居表项的原修改标识及更新后的修改标识,确定是否更新所述邻居表项为:
判断更新后的修改标识是否小于查找获得的原修改标识,如果是,则更新当前邻居表项以及对应的修改标识;否则,拒绝更新当前邻居表项。
3. 根据权利要求2所述的方法,其特征在于,所述递增的方式为:自然数递增的方式、或时间递增的方式;
所述递减的方式为:自然数递减的方式。
4. 根据权利要求1所述的方法,其特征在于,步骤B1中,确定不更新所述邻居表项时,进一步包括:
针对当前邻居表项,广播发送邻居表项请求报文,发起各接口板的邻居表项学习。
5. 根据权利要求1所述的方法,其特征在于,步骤B1中,所述获得对应的原修改标识为:
根据更新后的邻居表项的目的IP和接口索引查找得到对应的更新前的邻居表项,再根据更新前的邻居表项查找修改标识数据库得到对应的原修改标识。
6. 根据权利要求2所述的方法,其特征在于,步骤B1中,所述更新当前邻居表项以及对应的修改标识为:主控板更新当前的邻居表项以及对应的修改标识、并且控制其他接口板更新当前的邻居表项以及对应的修改标识。
7. 根据权利要求1所述的方法,其特征在于,该方法进一步包括:当主控板根据自身的邻居表项学习,需要更新邻居表项时:
主控板更新当前的邻居表项以及对应的修改标识、并且控制其他接口板更新当前的邻居表项以及对应的修改标识。
8. 根据权利要求1至7中任一权利要求所述的方法,其特征在于,当主控板要删除邻居表项时,向各接口板发送删除邻居表项指令,其中携带当前要删除的邻居表项以及对应的修改标识;接口板收到删除邻居表项指令后执行以下步骤:
A12、根据当前要删除的邻居表项查找修改标识数据库,获得删除邻居表项的修改标识;
B12、判断收到的修改标识是否等于步骤A12中查找获得的修改标识,如果是,则执行步骤C12;否则,不删除当前要删除的邻居表项;
C12、删除当前要删除的邻居表项。
9. 一种维护邻居表项的方法,其特征在于,建立并维护邻居表项与标识之间对应关系的标识数据库;更新或添加邻居表项时,对所述邻居表项设置唯一标识;
当主控板删除邻居表项时,向各接口板发送删除邻居表项指令,其中携带当前要删除的邻居表项以及对应的标识;接口板收到删除邻居表项指令后执行以下步骤:
A2、根据当前要删除的邻居表项查找标识数据库,获得要删除的邻居表项的标识;
B2、判断收到的标识是否等于步骤A2中查找获得的标识,如果是,则执行步骤C2;否则,不删除当前要删除的邻居表项;
C2、删除当前要删除的邻居表项。
10. 根据权利要求9所述的方法,其特征在于,所述设置唯一标识为:按照自然数递增的方式、或时间递增的方式设置唯一标识、或随机设定。
11. 根据权利要求9所述的方法,其特征在于,进一步将设备标识写入所述邻居表项的标识中;在步骤A2之前进一步包括:
接口板获得删除邻居表项指令中携带的当前要删除的邻居表项的标识,判断标识中携带的设备标识是否为自身的设备标识,如果是,则执行步骤A2;否则,执行步骤C2。
12. 根据权利要求9或10所述的方法,其特征在于,主控板和接口板更新或添加邻居表项时,根据自身已更新和添加的邻居表项的总更新邻居表项次数,设置当前更新或添加邻居表项的标识;并且进一步将设备标识写入所述邻居表项的标识中;该方法进一步包括,主控板删除部分邻居表项时:
D2、主控板根据当前要删除的各接口板的邻居表项,对各接口板分别设置一邻居表项的标识作为删除次数,并向所有接口板发送部分删除指令,其中携带各接口板的删除次数;
E2、接口板根据收到的部分删除指令,获得其中携带的各接口板删除次数;F2、接口板删除自身存储的各接口板更新邻居表项次数小于等于对应删除次数的邻居表项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100784298A CN100421427C (zh) | 2006-05-26 | 2006-05-26 | 维护邻居表项的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100784298A CN100421427C (zh) | 2006-05-26 | 2006-05-26 | 维护邻居表项的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1852261A CN1852261A (zh) | 2006-10-25 |
CN100421427C true CN100421427C (zh) | 2008-09-24 |
Family
ID=37133730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100784298A Active CN100421427C (zh) | 2006-05-26 | 2006-05-26 | 维护邻居表项的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100421427C (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010128824A (ja) * | 2008-11-27 | 2010-06-10 | Hitachi Software Eng Co Ltd | ポリシーグループ識別子を利用したクライアント制御システム |
CN101730063B (zh) * | 2009-11-19 | 2012-05-23 | 福建星网锐捷网络有限公司 | 一种邻居表项资源回收方法、装置及IPv6节点 |
CN102790950B (zh) | 2011-05-18 | 2016-06-01 | 中兴通讯股份有限公司 | 多接口终端邻居拓扑发现、协作通信方法和多接口终端 |
CN103078799B (zh) * | 2013-01-28 | 2015-11-25 | 华为技术有限公司 | 邻居表项的处理方法及装置 |
CN104754560B (zh) | 2013-12-30 | 2018-11-30 | 华为终端(东莞)有限公司 | 一种位置隐私保护方法、装置及系统 |
WO2015157935A1 (zh) * | 2014-04-16 | 2015-10-22 | 华为技术有限公司 | 一种流表项管理方法及设备 |
CN104702507B (zh) * | 2015-03-24 | 2018-09-14 | 深圳中兴网信科技有限公司 | 表项动态更新方法及系统 |
CN106470246A (zh) * | 2015-08-18 | 2017-03-01 | 中兴通讯股份有限公司 | 地址解析协议arp表项的同步方法及装置 |
CN108011849B (zh) * | 2017-11-29 | 2021-06-08 | 迈普通信技术股份有限公司 | 表项同步方法及装置 |
CN113949658B (zh) * | 2021-10-25 | 2023-05-23 | 迈普通信技术股份有限公司 | 表项处理方法、系统、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1531298A (zh) * | 2003-03-17 | 2004-09-22 | 华为技术有限公司 | 地址解析协议表项的处理方法 |
CN1567888A (zh) * | 2003-07-07 | 2005-01-19 | 华为技术有限公司 | 虚拟专用网中实现地址解析协议的网络设备及其方法 |
US20050265260A1 (en) * | 2000-12-28 | 2005-12-01 | Zinin Alexey D | Optimizing flooding of information in link-state routing protocol |
CN1725186A (zh) * | 2004-07-23 | 2006-01-25 | 中兴通讯股份有限公司 | 一种多数据库数据同步方法 |
-
2006
- 2006-05-26 CN CNB2006100784298A patent/CN100421427C/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050265260A1 (en) * | 2000-12-28 | 2005-12-01 | Zinin Alexey D | Optimizing flooding of information in link-state routing protocol |
CN1531298A (zh) * | 2003-03-17 | 2004-09-22 | 华为技术有限公司 | 地址解析协议表项的处理方法 |
CN1567888A (zh) * | 2003-07-07 | 2005-01-19 | 华为技术有限公司 | 虚拟专用网中实现地址解析协议的网络设备及其方法 |
CN1725186A (zh) * | 2004-07-23 | 2006-01-25 | 中兴通讯股份有限公司 | 一种多数据库数据同步方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1852261A (zh) | 2006-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100421427C (zh) | 维护邻居表项的方法 | |
US6643669B1 (en) | Method for optimization of synchronization between a client's database and a server database | |
CN102739720A (zh) | 分布式缓存服务器系统及其应用方法、缓存客户端、缓存服务端 | |
CN101119324A (zh) | 网络地址转换属性自适应方法及装置 | |
WO2014098114A1 (ja) | パケット処理装置、フローエントリの配置方法及びプログラム | |
US20010049711A1 (en) | Pipeline processing type shaping apparatus and its method | |
CN103201987A (zh) | 区分路由信息更新的优先级 | |
CN106713470A (zh) | 一种分布式缓存更新方法及缓存更新系统 | |
CN104092612A (zh) | 更新快速转发表匹配顺序的方法及装置 | |
US20070140146A1 (en) | Method for managing network device data and network management system | |
CN103678676A (zh) | Ip库处理方法和系统 | |
CN106464745A (zh) | Dns的服务器、客户端及数据同步方法 | |
CN103701653B (zh) | 一种接口热插拔配置数据的处理方法及网络配置服务器 | |
CN101562574A (zh) | 一种路由表的更新方法及装置 | |
US20150020155A1 (en) | One-way interface for pi to pi data transfer | |
US20120166657A1 (en) | Gateway system, gateway device, and load distribution method | |
JPS5851339A (ja) | 制御情報管理方式 | |
CN101335610B (zh) | 一种高端以太网交换机中的arp同步方法 | |
CN102891902A (zh) | 介质访问控制地址更新方法及网络设备 | |
CN102594941A (zh) | 楼宇对讲系统中设备接入和设备通信的方法 | |
CN102468978A (zh) | 业务配置方法及装置 | |
JP2010204816A (ja) | ジャーナルデータ管理方法、ジャーナルデータ管理システム、金融端末機、中継装置、及びジャーナル管理サーバ | |
JP4550604B2 (ja) | 設定情報同期プログラム | |
CN101257458B (zh) | 分发、安装过滤表项的方法、装置及系统 | |
CN100407623C (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 | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address |