一种邻居状态优化方法、设备及介质与流程

文档序号:30790643发布日期:2022-07-16 09:55阅读:184来源:国知局
一种邻居状态优化方法、设备及介质与流程

1.本技术涉及通信技术领域,尤其涉及一种邻居状态优化方法、设备及介质。


背景技术:

2.地址解析协议(address resolution protocol,arp)是根据ip地址获取物理地址的tcp/ip协议。内核有一套完整细致的arp/nd协议及状态机,内核的高效性、可靠性让很多人放弃开发arp/nd协议,直接根据内核协议栈的报文来完成邻居学习。
3.但是,对于交换机开发来说,交换机的报文是直接在交换芯片就转发出去的,以至于内核无法完成邻居学习,导致stale缓存老化状态无法迁移到delay等待状态。一旦垃圾回收定时器到期,且未感知到被引用就会被删除。邻居状态对应的arp表项被删除就会造成丢包,从而需要重新开始学习,定时器到期则会再次删除,形成间断性丢包。


技术实现要素:

4.本技术实施例提供了一种邻居状态优化方法、设备及介质,用以解决现有的垃圾回收定时器到期,且未感知到被引用而被删除,导致无法从stale缓存老化状态迁移到delay等待状态的技术问题。
5.一方面,本技术实施例提供了一种邻居状态优化方法,包括:
6.在缓存老化状态对应的定时器到期时,向邻居节点发送arp请求或者ns请求,以将邻居状态从所述缓存老化状态迁移为等待状态;
7.继续向所述邻居节点发送arp请求或者ns请求,若所述等待状态对应的定时器到期时未收到arp回复或者na回复,则将所述邻居状态从所述等待状态转化为探针状态;
8.通过所述探针状态持续向所述邻居节点发送预设次数arp请求或者ns请求,在未接收到回复且垃圾回收器到期时,将所述邻居状态对应的arp表项进行删除,以实现对邻居状态的优化。
9.在本技术的一种实现方式中,在缓存老化状态对应的定时器到期时,向邻居节点发送arp请求或者ns请求,以将邻居状态从所述缓存老化状态迁移为等待状态,具体包括:
10.在缓存老化状态处设置对应的定时器;
11.基于所述缓存老化状态的定时器对应的预设时间间隔,向邻居节点发送arp请求或者ns请求,以定时询问邻居状态对应的arp表项是否被引用;
12.若所述邻居状态对应的arp表项没有被引用,则将邻居状态从所述缓存老化状态迁移为等待状态。
13.在本技术的一种实现方式中,继续向所述邻居节点发送arp请求或者ns请求之后,所述方法还包括:
14.若所述等待状态对应的定时器到期前,收到arp回复或者na回复,则将所述邻居状态从所述等待状态转化为所述状态定时器对应的正常状态。
15.在本技术的一种实现方式中,在缓存老化状态对应的定时器到期时,向邻居节点
发送arp请求或者ns请求之前,所述方法还包括:
16.接收邻居节点的arp回复或者na回复,将邻居状态从临时arp表项对应的准备状态迁移为状态定时器状态;
17.在状态定时器到期后,对所述状态定时器状态的缓存表项进行二次缓存,并将所述邻居状态从所述状态定时器状态迁移为缓存老化状态。
18.在本技术的一种实现方式中,接收邻居节点的arp回复或者na回复,将邻居状态从临时arp表项对应的准备状态迁移为状态定时器状态,具体包括:
19.在临时arp表项对应的定时器超时的情况下,向邻居节点发送arp请求或者ns请求;
20.若接收到所述邻居节点的arp回复或者na回复,则对邻居状态进行修改,以将所述邻居状态从所述临时arp表项对应的准备状态迁移为状态定时器状态。
21.在本技术的一种实现方式中,还包括:
22.在向所述邻居节点发送arp请求或者ns请求对应的次数大于预设阈值,且未接收到回复的情况下,对所述邻居状态对应的所述临时arp表项进行删除。
23.在本技术的一种实现方式中,在缓存老化状态对应的定时器到期时,向邻居节点发送arp请求或者ns请求之前,所述方法还包括:
24.通过交换芯片识别特定报文,并将所述特定报文发送至内核协议栈,以使内核基于所述特定报文中各邻居节点之间的网络拓扑结构进行邻居学习,得到相应邻居状态对应的arp表项。
25.在本技术的一种实现方式中,通过所述探针状态持续向所述邻居节点发送预设次数arp请求或者ns请求之后,所述方法还包括:
26.若接收到所述邻居节点的arp回复或者na回复,则将所述邻居状态从所述探针状态迁移为所述状态定时器对应的正常状态。
27.另一方面,本技术实施例还提供了一种邻居状态优化设备,所述设备包括:
28.至少一个处理器;
29.以及,与所述至少一个处理器通信连接的存储器;
30.其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
31.在缓存老化状态对应的定时器到期时,向邻居节点发送arp请求或者ns请求,以将邻居状态从所述缓存老化状态迁移为等待状态;
32.继续向所述邻居节点发送arp请求或者ns请求,若所述等待状态对应的定时器到期时未收到arp回复或者na回复,则将所述邻居状态从所述等待状态转化为探针状态;
33.通过所述探针状态持续向所述邻居节点发送预设次数arp请求或者ns请求,在未接收到回复且垃圾回收器到期时,将所述邻居状态对应的arp表项进行删除,以实现对邻居状态的优化。
34.另一方面,本技术实施例还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
35.在缓存老化状态对应的定时器到期时,向邻居节点发送arp请求或者ns请求,以将邻居状态从所述缓存老化状态迁移为等待状态;
36.继续向所述邻居节点发送arp请求或者ns请求,若所述等待状态对应的定时器到期时未收到arp回复或者na回复,则将所述邻居状态从所述等待状态转化为探针状态;
37.通过所述探针状态持续向所述邻居节点发送预设次数arp请求或者ns请求,在未接收到回复且垃圾回收器到期时,将所述邻居状态对应的arp表项进行删除,以实现对邻居状态的优化。
38.本技术实施例提供了一种邻居状态优化方法、设备及介质,至少包括以下有益效果:根据缓存老化状态处的定时器,在邻居状态对应的arp表项未被引用时主动向邻居节点发送arp请求或者ns请求,将邻居状态从缓存老化状态迁移为等待状态,从而避免了邻居状态对应的arp表项老化一直停留在缓存老化状态,无法从老化缓存状态迁移到等待状态,无需垃圾回收期定时对邻居状态进行回收,减少了资源消耗;在等待状态继续向邻居节点发送arp请求或者ns请求,并在定时器到期时,未接收到arp回复或者ns回复,表明邻居状态对应的arp表项在等待状态仍未被引用,从而将邻居状态从等待状态转化为探针状态;在探针状态持续向邻居节点发送预设次数arp请求或者ns请求,若未接收到回复且定时器到期,则表明邻居已经下线,此时将邻居状态对应的arp表项删除,避免邻居节点无法及时得知邻居下线,继续向邻居节点发送报文,从而导致丢包。
附图说明
39.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
40.图1为本技术实施例提供的一种邻居状态优化方法的流程示意图;
41.图2为本技术实施例提供的另一种邻居状态优化方法的流程示意图;
42.图3为本技术实施例提供的一种邻居状态优化设备的内部结构示意图。
具体实施方式
43.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
44.本技术实施例提供了一种邻居状态优化方法、设备及介质,根据缓存老化状态处的定时器,在邻居状态对应的arp表项未被引用时主动向邻居节点发送arp请求或者ns请求,将邻居状态从缓存老化状态迁移为等待状态;在等待状态继续向邻居节点发送arp请求或者ns请求,并在定时器到期时,未接收到arp回复或者ns回复,将邻居状态从等待状态转化为探针状态;在探针状态持续向邻居节点发送预设次数arp请求或者ns请求,若未接收到回复且定时器到期,则将邻居状态对应的arp表项删除。解决了现有的垃圾回收定时器到期,且未感知到被引用而被删除,导致无法从stale缓存老化状态迁移到delay等待状态的技术问题。
45.下面通过附图对本技术实施例提出的技术方案进行详细的说明。
46.图1为本技术实施例提供的一种邻居状态优化方法的流程示意图。如图1所示,本技术实施例提供的一种邻居状态优化方法可以主要包括以下步骤:
47.步骤101:在缓存老化状态对应的定时器到期时,向邻居节点发送arp请求或者ns请求,以将邻居状态从缓存老化状态迁移为等待状态。
48.具体地,服务器在缓存老化状态处设置有相应的定时器,确定好定时器对应的预设时间间隔,然后按照缓存老化状态的定时器对应的预设时间间隔,向邻居节点发送arp请求或者ns请求,从而定时询问邻居状态对应的arp表项是否被引用,并在邻居状态对应的arp表项没有被引用的情况下,将邻居状态从缓存老化状态迁移为等待状态。
49.需要说明的是,本技术实施例中的缓存老化状态stale是指对缓存进行了缓存,此时能够向邻居节点发送arp请求或者ns请求,但是无法保证发送成功。
50.在本技术的一个实施例中,服务器在缓存老化状态对应的定时器到期时,向邻居节点发送arp请求或者ns请求之前,若接收到邻居节点的arp回复或者na回复,则将邻居状态从临时arp表项对应的准备状态迁移为状态定时器状态;在状态定时器到期后,对状态定时器状态的缓存表项进行二次缓存,并将邻居状态从状态定时器状态迁移为缓存老化状态。
51.具体地,服务器在临时arp表项对应的定时器超时的情况下,向邻居节点发送arp请求或者ns请求,并在接收到邻居节点的arp回复或者na回复时,对邻居状态进行修改,以将邻居状态从临时arp表项对应的准备状态迁移为状态定时器状态。
52.在本技术的一个实施例中,服务器在向邻居节点发送arp请求或者ns请求对应的次数大于预设阈值,且未接收到回复的情况下,将邻居状态对应的临时arp表项删除。
53.在本技术的一个实施例中,服务器在缓存老化状态对应的定时器到期时,向邻居节点发送arp请求或者ns请求之前,通过交换芯片识别特定报文,并将特定报文发送至内核协议栈,从而使内核基于特定报文中各邻居节点之间的网络拓扑结构进行邻居学习,得到相应邻居状态对应的arp表项。
54.步骤102:继续向邻居节点发送arp请求或者ns请求,若等待状态对应的定时器到期时未收到arp回复或者na回复,则将邻居状态从等待状态迁移为探针状态。
55.服务器在等待状态继续向邻居节点发送arp请求或者ns请求,并在等待状态对应的定时器到期时未收到arp回复或者na回复的情况下,将邻居状态从等待状态迁移为探针状态。
56.需要说明的是,本技术实施例中的等待状态delay是指对邻居状态对应的arp表项继续进行发送,并且允许等待接收邻居节点的回复。
57.在本技术的一个实施例中,服务器在等待状态继续向邻居节点发送arp请求或者ns请求之后,如果等待状态对应的定时器到期前,能够接收到arp回复或者na回复,则将邻居状态从等待状态转化为状态定时器对应的正常状态。
58.步骤103:通过探针状态持续向邻居节点发送预设次数arp请求或者ns请求,在未接收到回复且垃圾回收器到期时,将邻居状态对应的arp表项进行删除,以实现对邻居状态的优化。
59.服务器在询问邻居节点是否存在时,确定好持续询问对应的次数,从而通过探针状态持续向邻居节点发送对应次数arp请求或者ns请求。服务器在探针状态未接收到邻居节点的arp回复或者na回复,且垃圾回收器到期时,将邻居状态对应的arp表项进行删除,从而实现对邻居状态的优化。
60.在本技术的一个实施例中,服务器在通过探针状态持续向邻居节点发送预设次数arp请求或者ns请求之后,如果接收到邻居节点的arp回复或者na回复,则会将邻居状态从探针状态迁移为状态定时器对应的正常状态。
61.如图2所示,服务器在临时arp表项incomplete对应的准备状态向邻居节点发送arp请求或者ns请求,若未收到邻居节点的arp回复或者na回复,则在对应的定时器超时的情况下,再次向邻居节点发送arp请求或者ns请求。若服务器尝试请求一定次数后,仍未收到邻居节点的arp回复或者na回复,则将邻居状态对应的arp表项删除。服务器在接收到邻居节点的arp回复或者na回复时,将临时arp表项incomplete对应的准备状态迁移为状态定时器状态reachable。
62.服务器在状态定时器状态reachable的定时器到期时,对状态定时器状态的缓存表项进行二次缓存,并将邻居状态从状态定时器状态reachable迁移为缓存老化状态stale。然后在缓存老化状态stale处设置定时器,并在缓存老化状态stale处的定时器到期时,按照定时器对应的预设时间间隔,定时向邻居节点发送arp请求或者ns请求,以定时询问邻居状态对应的arp表项是否被引用。若邻居状态对应的arp表项没有被引用,则将邻居状态从缓存老化状态stale迁移为等待状态delay。
63.服务器在等待状态delay接收到邻居节点的arp回复或者na回复,则将邻居状态从等待状态delay迁移为状态定时器状态reachable。在等待状态delay对应的定时器到期,且未接收到邻居节点的arp回复或者na回复,则将邻居状态从等待状态delay迁移为探针状态probe。
64.服务器在探针状态probe持续向邻居节点发送预设次数的arp请求或者ns请求,在接收到邻居节点的arp回复或者na回复时,将邻居状态从探针状态probe迁移为状态定时器状态reachable;并在接收不到邻居节点的arp回复或者na回复且垃圾回收器到期时,将邻居状态对应的arp表项删除,从而实现对邻居状态的优化,避免了邻居状态对应的arp表项老化一直停留在缓存老化状态,无法从老化缓存状态迁移到等待状态,无需垃圾回收期定时对邻居状态进行回收,减少了资源消耗。
65.需要说明的是,图2所示的方法与图1所示的方法本质相同,因此,图3中未详述的部分,具体可参照图1中的相关描述,本技术在此不再赘述。
66.以上为本技术提出的方法实施例。基于同样的发明构思,本技术实施例还提供了一种邻居状态优化设备,其结构如图3所示。
67.图3为本技术实施例提供的一种邻居状态优化设备的内部结构示意图。如图3所示,设备包括:
68.至少一个处理器;
69.以及,与至少一个处理器通信连接的存储器;
70.其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:
71.在缓存老化状态对应的定时器到期时,向邻居节点发送arp请求或者ns请求,以将邻居状态从缓存老化状态迁移为等待状态;
72.继续向邻居节点发送arp请求或者ns请求,若等待状态对应的定时器到期时未收到arp回复或者na回复,则将邻居状态从等待状态转化为探针状态;
73.通过探针状态持续向邻居节点发送预设次数arp请求或者ns请求,在未接收到回复且垃圾回收器到期时,将邻居状态对应的arp表项进行删除,以实现对邻居状态的优化。
74.本技术实施例还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,计算机可执行指令设置为:
75.在缓存老化状态对应的定时器到期时,向邻居节点发送arp请求或者ns请求,以将邻居状态从缓存老化状态迁移为等待状态;
76.继续向邻居节点发送arp请求或者ns请求,若等待状态对应的定时器到期时未收到arp回复或者na回复,则将邻居状态从等待状态转化为探针状态;
77.通过探针状态持续向邻居节点发送预设次数arp请求或者ns请求,在未接收到回复且垃圾回收器到期时,将邻居状态对应的arp表项进行删除,以实现对邻居状态的优化。
78.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
79.本技术实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。
80.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
81.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
82.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
83.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
84.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
85.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或
非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
86.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
87.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
88.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1