一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

认证方法、装置、网络设备及计算机可读存储介质与流程

2021-11-10 03:00:00 来源:中国专利 TAG:


1.本技术属于通信领域,具体涉及一种认证方法、装置、网络设备及计算机可读存储介质。


背景技术:

2.bfd(bidirectional forwarding detection,双向转发检测)是一种全网统一的检测机制,用于快速检测、监控网络中链路或者ip(internet protocol,网际互连协议)路由的转发连通状况。
3.由于bfd协议过于敏感,检测时间为毫秒级,当管理员在配置或者修改认证信息时,认证双方修改认证信息的时间不同步,容易检测到认证双方的认证信息不一致而出现误判,此时会引起网络震荡。
4.在现有技术中,为了避免出现上述情况所导致的网络震荡,在认证双方中的任意一方的认证信息修改后的一段时间内,与之对应的网络设备会在每个报文周期内同时发送两个bfd报文,其中一个bfd报文携带旧认证信息,另一个bfd报文携带新认证信息。这种方式虽然可以避免认证双方修改认证信息的时间不同步到导致的网络震荡,但是在实际情况中,每台网络设备上存在大量的bfd会话,按照现有技术所记载的方式,会造成大量带宽的浪费。


技术实现要素:

5.有鉴于此,本技术的目的在于提供一种认证方法、装置、网络设备及计算机可读存储介质,达到避免因bfd对实际链路状态误判而导致的网络震荡的效果,且不会牺牲过多带宽。
6.本技术的实施例是这样实现的:
7.第一方面,本技术实施例提供一种认证方法,应用于第一网络设备,所述第一网络设备用于与第二网络设备之间建立bfd会话,且在所述第一网络设备与所述第二网络设备内保存有用于对所述bfd会话进行认证的认证信息;所述方法包括:在确定本端认证信息改变时,启动本端的认证定时器,并在发送给所述第二网络设备的第一bfd报文中携带认证信息改变标识和改变前的认证信息;在所述认证定时器到期前,如果接收到所述第二网络设备发送的携带认证信息改变标识的第二bfd报文;根据当前改变后的认证信息对所述第二bfd报文进行认证,并在发送给所述第二网络设备的第一bfd报文中携带认证信息改变标识和改变后的认证信息;对所述第二bfd报文认证失败时,忽略本次认证失败的结果,进行正常bfd会话流程的处理。
8.在本技术实施例中,对于任何一个网络设备而言,当其在确定本端的认证信息改变时,可以启动并维护本端的认证定时器,并在发送给第二网络设备的第一bfd报文中携带认证信息改变标识和改变前的认证信息。对于在认证定时器到期前检测到的任何认证失败,均会强制控制本端暂时忽略本次认证失败的结果,并进行正常bfd会话流程的处理,以
此来避免由于认证信息的修改不同步所引发的网络误判。此外,在上述过程中,并没有引入额外新增的bfd报文,因此,相较于现有技术而言,有利于节约带宽。
9.结合第一方面实施例,在一种可能的实施方式中,所述方法还包括:若在所述认证定时器到期前,在至少一个连续的bfd检测时间周期内对所述第二bfd报文均认证成功,取消所述认证定时器,进行认证成功的bfd会话流程的处理;或者;
10.若在所述认证定时器到期时,未在任何一个连续的bfd检测时间周期内对所述第二bfd报文均认证成功,进行认证失败的bfd会话流程的处理。
11.结合第一方面实施例,在一种可能的实施方式中,所述方法还包括:若在所述认证定时器到期时,确定未接收到携带认证信息改变标识的第二bfd报文,在发送给所述第二网络设备的第一bfd报文中携带改变后认证的信息,进行正常bfd会话流程的处理。
12.结合第一方面实施例,在一种可能的实施方式中,所述认证信息改变标识设置在所述第一bfd报文和所述第二bfd报文头部的诊断码diag字段的保留类型值中。在实施例中,由于认证信息改变标识占用的是bfd报文的原有保留位,并没有引入额外新增的字段,也有利于节约带宽。
13.第二方面,本技术实施例提供一种认证方法,应用于第二网络设备,所述第二网络设备用于与第一网络设备之间建立bfd会话,且在所述第一网络设备与所述第二网络设备内保存有用于对所述bfd会话进行认证的认证信息;所述方法包括:接收到所述第一网络设备发送的携带认证信息改变标识的第一bfd报文时,启动本端的认证定时器,根据当前的认证信息对所述第一bfd报文进行认证,并在发送给所述第一网络设备的第二bfd报文中不携带认证信息改变标识;若在所述认证定时器到期前以及本端认证信息已改变期间,接收到所述第一网络设备发送的第一bfd报文,根据改变后的认证信息对所述第一bfd报文进行认证,并在发送给所述第一网络设备的第二bfd报文中携带认证信息改变标识和改变后的认证信息;若在所述认证定时器到期前,对所述第一bfd报文认证失败,忽略本次认证失败的结果,进行正常bfd会话流程的处理。
14.结合第二方面实施例,在一种可能的实施方式中,所述方法还包括:若在所述认证定时器到期前,在至少一个连续的bfd检测时间周期内对所述第一bfd报文均认证成功,取消所述认证定时器,进行认证成功的bfd会话流程的处理;或者;
15.若在所述认证定时器到期时,未在任何一个连续的bfd检测时间周期内对所述第一bfd报文均认证成功,进行认证失败的bfd会话流程的处理。
16.结合第二方面实施例,在一种可能的实施方式中,所述认证信息改变标识设置在所述第一bfd报文和所述第二bfd报文头部的诊断码diag字段的保留类型值中。
17.第三方面,本技术实施例提供一种认证装置,应用于第一网络设备,所述第一网络设备用于与第二网络设备之间建立bfd会话,且在所述第一网络设备与所述第二网络设备内保存有用于对所述bfd会话进行认证的认证信息;所述装置包括:启动模块以及控制模块。
18.启动模块,用于在确定本端认证信息改变时,启动本端的认证定时器,在发送给所述第二网络设备的第一bfd报文中携带认证信息改变标识和改变前的认证信息;
19.控制模块,用于在所述认证定时器到期前,如果接收到所述第二网络设备发送的携带认证信息改变标识的第二bfd报文;根据当前改变后的认证信息对所述第二bfd报文进
行认证,并在发送给所述第二网络设备的第一bfd报文中携带认证信息改变标识和改变后的认证信息;
20.所述控制模块,还用于对所述第二bfd报文认证失败时,忽略本次认证失败的结果,进行正常bfd会话流程的处理。
21.结合第三方面实施例,在一种可能的实施方式中,所述控制模块,还用于:若在所述认证定时器到期前,在至少一个连续的bfd检测时间周期内对所述第二bfd报文均认证成功,取消所述认证定时器,进行认证成功的bfd会话流程的处理;或者
22.若在所述认证定时器到期时,未在任何一个连续的bfd检测时间周期内对所述第二bfd报文均认证成功,进行认证失败的bfd会话流程的处理。
23.结合第三方面实施例,在一种可能的实施方式中,所述控制模块,还用于:若在所述认证定时器到期时,确定未接收到携带认证信息改变标识的第二bfd报文,在发送给所述第二网络设备的第一bfd报文中携带改变后认证的信息,进行正常bfd会话流程的处理。
24.结合第三方面实施例,在一种可能的实施方式中,所述认证信息改变标识设置在所述第一bfd报文和所述第二bfd报文头部的诊断码diag字段的保留类型值中。
25.第四方面,本技术实施例还提供一种认证装置,应用于第二网络设备,所述第二网络设备用于与第一网络设备之间建立bfd会话,且在所述第一网络设备与所述第二网络设备内保存有用于对所述bfd会话进行认证的认证信息;所述装置包括:启动模块以及控制模块。
26.启动模块,用于接收到所述第一网络设备发送的携带认证信息改变标识的第一bfd报文时,启动本端的认证定时器,根据当前的认证信息对所述第一bfd报文进行认证,并在发送给所述第一网络设备的第二bfd报文中不携带认证信息改变标识;
27.控制模块,用于若在所述认证定时器到期前以及本端认证信息已改变期间,接收到所述第一网络设备发送的第一bfd报文,根据改变后的认证信息对所述第一bfd报文进行认证,并在发送给所述第一网络设备的第二bfd报文中携带认证信息改变标识和改变后的认证信息;
28.所述控制模块,还用于若在所述认证定时器到期前,对所述第一bfd报文认证失败,忽略本次认证失败的结果,进行正常bfd会话流程的处理。
29.结合第四方面实施例,在一种可能的实施方式中,所述控制模块,还用于:若在所述认证定时器到期前,在至少一个连续的bfd检测时间周期内对所述第一bfd报文均认证成功,取消所述认证定时器,进行认证成功的bfd会话流程的处理;或者
30.若在所述认证定时器到期时,未在任何一个连续的bfd检测时间周期内对所述第一bfd报文均认证成功,进行认证失败的bfd会话流程的处理。
31.结合第四方面实施例,在一种可能的实施方式中,所述认证信息改变标识设置在所述第一bfd报文和所述第二bfd报文头部的诊断码diag字段的保留类型值中。
32.第五方面,本技术实施例还提供一种网络设备,包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器用于存储程序;所述处理器调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法;或者上述第二方面实施例和/或结合第二方面实施例的任一种可能的实施方式提供的方法。
33.第六方面,本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被计算机运行时执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法;或者上述第二方面实施例和/或结合第二方面实施例的任一种可能的实施方式提供的方法。
34.本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例而了解。本技术的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
35.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本技术的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本技术的主旨。
36.图1示出本技术实施例提供的一种认证方法的流程图之一。
37.图2示出本技术实施例提供的一种网络拓扑图。
38.图3示出本技术实施例提供的一种认证方法的流程图之二。
39.图4示出本技术实施例提供的一种认证装置的结构框图之一。
40.图5示出本技术实施例提供的一种认证装置的结构框图之二。
41.图6示出本技术实施例提供的一种网络设备的结构示意图。
42.图标:100

网络设备;110

处理器;120

存储器;400

认证装置;410

启动模块;420

控制模块;500

认证装置;510

启动模块;520

控制模块。
具体实施方式
43.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
44.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
45.此外,针对现有技术中为了避免网络误震荡所采用的认证方式所存在的缺陷(浪费带宽)均是申请人在经过实践并仔细研究后得出的结果,因此,上述缺陷的发现过程以及在下文中本技术实施例针对上述缺陷所提出的解决方案,都应该被认定为是申请人对本技术做出的贡献。
46.为了解决上述问题,本技术实施例提供一种认证方法、装置、网络设备及计算机可读存储介质,可以达到避免网络误判的效果,且有利于节约带宽。
47.该技术可采用相应的软件、硬件以及软硬结合的方式实现。以下对本技术实施例进行详细介绍。
48.首先,对本技术所涉及到的一些非通用术语进行解释。
49.在本技术实施例中会涉及到“第一bfd报文”以及“第二bfd报文”,其本质均为采用udp(user datagram protocol,用户数据报协议)协议进行封装的bfd。
50.此外,本技术实施例后续所涉及到的认证信息改变标识,用于表示对应的bfd报文中所携带的认证信息发生变化。
51.其中,当bfd报文中携带有认证信息改变标识时,表示该bfd报文中所携带的认证信息已经发生变化。
52.值得指出的是,在本技术实施例中,可以将标准bfd报文头部所包括的诊断码diag字段的保留类型值作为认证信息改变标识。也就是说,认证信息改变标识是设置在第一bfd报文和第二bfd报文头部的诊断码diag(diagnostic)字段中,用该字段的保留类型值来表示。
53.其中,值得指出的是,bfd报文头部的诊断码diag字段占报文的第3位到第7位共5个比特,诊断码的值在标准中定义了0

8,而9

31为保留值。因此,本技术实施例可以选取9

31中的其中一个值作为认证信息改变标识。
54.在本技术实施例中,预先定义了各个网络设备用于作为认证信息改变标识的具体值。例如在一些实施方式中,可以将值9作为认证信息改变标识。
55.基于上述前提,请参照图1,本技术实施例提供一种应用于第一网络设备的认证方法,可以包括以下步骤。
56.步骤s110:在确定本端认证信息改变时,启动本端的认证定时器,并在发送给所述第二网络设备的第一bfd报文中携带认证信息改变标识和改变前的认证信息。
57.步骤s120:在所述认证定时器到期前,如果接收到所述第二网络设备发送的携带认证信息改变标识的第二bfd报文;根据当前改变后的认证信息对所述第二bfd报文进行认证,并在发送给所述第二网络设备的第一bfd报文中携带认证信息改变标识和改变后的认证信息。
58.步骤s130:对所述第二bfd报文认证失败时,忽略本次认证失败的结果,进行正常bfd会话流程的处理。
59.对于已经和第二网络设备建立bfd会话的网络拓扑中的第一网络设备而言,当其在确定本端的认证信息改变时,可以启动并维护本端的认证定时器,并在发送给第二网络设备的第一bfd报文中携带认证信息改变标识和改变前的认证信息。期间,若在认定时器到期前,如果第一网络设备接收到第二网络设备发送的携带认证信息改变标识的第二bfd报文,会根据当前改变后的认证信息对第二bfd报文进行认证。在此期间,第一网络设备对第二bfd报文认证失败时,会忽略本次认证失败的结果,并进行正常bfd会话流程的处理。
60.在现有技术中,若第一网络设备或者第二网络设备中的任何一端的认证信息发生了修改,且修改时间不同步的前提下,均会导致认证失败的认证结果。在本技术实施例中,认证信息先修改的第一网络设备在认证定时器到期前检测到的任何一个用于表征认证失败的认证结果,均会强制控制本端暂时忽略本次认证失败的结果,并进行正常bfd会话流程的处理,以此来避免由于认证信息的修改不同步所引发的网络误判。
61.此外,在上述过程中,并没有引入额外新增的bfd报文,且认证信息改变标识占用的是bfd报文的原有diag字段的保留值,并没有引入额外新增的字段,因此,相较于现有技术而言,有利于节约带宽,也不会引起兼容性问题。
62.为了更加清楚地说明本技术实施例的实施过程,下面将以图2所示出的网络拓扑为例,对本技术所提供的认证方法的各个步骤进行详细介绍。
63.其中,在图2所示出的网络拓扑中存在网络设备a(第一网络设备)以及网络设备b(第二网络设备)。
64.网络设备a与网络设备b之间建立bfd会话,且在bfd会话建立后,在网络设备a以及网络设备b内均保存有网络设备a与网络设备b之间进行bfd认证的认证信息。
65.该认证信息可以包括认证类型、认证密码信息、认证字段的总长度等基本信息。值得指出的是,当网络设备a与网络设备b之间交互bfd报文时,本端的认证信息将会携带bfd报文中。
66.对应到图2中的网络设备a以及网络设备b,在bfd会话正常建立的前提下,网络设备a在每个bfd检测时间周期内,持续地构造携带有网络设备a当前所保存的认证信息的第一bfd报文发送给网络设备b;网络设备b也会在每个bfd检测时间周期内持续地构造携带有网络设备b当前所保存的认证信息的第二bfd报文发送给网络设备a。此时,在第一bfd报文以及第二bfd报文中均不携带有认证信息改变标识。
67.此时,网络设备a与网络设备b均未检测到本端认证信息改变,网络设备a与网络设备b两端的认证定时器均未启动。
68.以下将从网络设备a的角度出发,对网络设备a以及网络设备b的认证信息发生改变后所引发的流程进行介绍。
69.当然,值得指出的是,在本技术实施例中,第一网络设备(网络设备a)的认证信息改变的时机早于第二网络设备(网络设备b)。
70.步骤s110:在确定本端认证信息改变时,启动本端的认证定时器,并在发送给所述第二网络设备的第一bfd报文中携带认证信息改变标识和改变前的认证信息。
71.对于网络拓扑中的任意第一网络设备而言,当其在确定本端认证信息改变时,均会启动本端的认证定时器。
72.其中,认证信息的改变,可以是用户对第一网络设备进行相应的认证信息配置操作来触发。
73.对应到图2中的网络设备a以及网络设备b,假设存在以下应用场景:网络设备a和网络设备b已经建立bfd会话的情况下,两个网络设备都需要修改bfd认证信息,且用户先修改网络设备a上的认证信息,后修改网络设备b上的认证信息。
74.在上述场景中,对于网络设备a而言,即可以在检测到本端的认证信息已修改时,启动本端的认证定时器,即认证定时器a。
75.此外,网络设备a在启动认证定时器a的过程中,仍旧按照bfd会话的保活机制向网络设备b发送bfd报文。此时,由于网络设备a侧的认证信息已改变,因此,此处由网络设备a发送给网络设备b的第一bfd报文中携带认证信息改变标识。
76.此外,值得指出的是,在每次的认证信息修改过程中,对于网络拓扑中由用户先发起认证信息修改的第一网络设备,若在该次认证信息修改所诱发的本端的认证定时器未到
期前,该第一网络设备未获取到第二网络设备所发送的携带认证信息改变标识的第二bfd报文,那么该第一网络设备在向第二网络设备发送第一bfd报文时,第一bfd报文所包括的认证信息始终为改变前的认证信息,从而防止第二网络设备突然收到与本端所保存的认证信息不一致的认证信息而引起网络震荡。
77.相应的,对应到图2的上述场景,网络设备a在启动认证定时器a的过程中,网络设备a发送给网络设备b的第一bfd报文所携带的认证信息均为改变前的认证信息。
78.网络设备a在发送携带认证信息改变标识的第一bfd报文给网络设备b后,对于网络设备b而言,由于接收到携带有认证信息改变标识的第一bfd报文,此时,网络设备b启动本端的认证定时器,即认证定时器b。
79.此外,网络设备b在启动认证定时器b的过程中,并未停止其对接收到的第一bfd报文进行认证以及向网络设备a发送第二bfd报文的正常的bfd会话的流程处理。
80.值得指出的是,在标准bfd报文中包括1比特的a字段,该字段用于表征该bfd报文是否需要进行bfd认证,其中,当a置位为1时表征该bfd报文包括认证部分,会话需要进行认证;当a不进行置位(即默认0)时,表征不需要进行认证。
81.此时,假设所有的第一bfd报文的a字段均置为1。由于第一bfd报文中携带的是改变前的认证信息,而在网络设备b侧此时所保存的认证信息也是改变前的认证信息,因此,此时按照正常的情况,认证结果为认证成功,不会造成网络震荡。
82.此时,由于网络设备b的认证信息暂未修改,因此,此处由网络设备b发送给网络设备a的第二bfd报文中未携带认证信息改变标识,以及,网络设备b所发送的第二bfd报文的认证信息为当前的认证信息。
83.假设所有的第二bfd报文的a字段均置为1,即所有的第二bfd报文均为需要进行认证的bfd报文。对于网络设备a而言,当其此时在接收到携带修改前的认证信息以及未携带认证信息改变标识的第二bfd报文后,也会根据当前改变后的认证信息对其进行认证,当然,由于此时两者的认证信息不同步,会出现认证失败的认证结果。
84.当然,在一些实施方式中,当网络拓扑中的网络设备在启动本端的认证定时器之后,若其在确定本端不是主动发起修改认证信息的网络设备(即确定本端是第二网络设备)时,还可以打印一条日志信息,以提示第一网络设备的认证信息已改变,需要用户在本端的认证定时器到期前修改本端的认证信息,否则将会造成网络震荡。对应到上述场景中,对于网络设备b而言,即可在确定本端不是主动发起修改认证信息的网络设备时,向用户打印一条日志信息,以提示用户在本端的认证定时器到期前修改本端的认证信息。
85.可选的,若在认证定时器b到期前,网络设备b获取到用户所修改的认证信息,此时,网络设备b所发送的第二bfd报文携带认证信息改变标识,且第二bfd报文所包括的认证信息为修改后的认证信息。
86.此外,对于网络设备b,若在其认证定时器b到期前以及本端认证信息已改变期间,接收到网络设备a发送的第一bfd报文,网络设备b会根据改变后的认证信息对第一bfd报文进行认证,并继续发送携带认证信息改变标识和改变后的认证信息的第二bfd报文给网络设备a。
87.由于此时的第一bfd报文携带的是改变前的认证信息,但是此时的网络设备b是用改变后的认证信息来对第一bfd报文进行认证,因此,会出现认证失败的认证结果。但是此
时的网络设备a实际保存的是改变后的认证信息,因此,若此时网络震荡,则属于网络误判。
88.为了避免上述情况,在上述网络设备b的认证过程中,若在认证定时器b到期前,对第一bfd报文认证失败,网络设备b忽略本次认证失败的结果,进行正常bfd会话流程的处理。
89.步骤s120:在所述认证定时器到期前,如果接收到所述第二网络设备发送的携带认证信息改变标识的第二bfd报文;根据当前改变后的认证信息对所述第二bfd报文进行认证,并在发送给所述第二网络设备的第一bfd报文中携带认证信息改变标识和改变后的认证信息。
90.由于第二bfd报文中携带认证信息改变标识,那么按照上述介绍,意味着网络设备a当前所获取到的第二bfd报文中携带的认证信息是网络设备b侧所保存的改变后的认证信息。
91.此时,网络设备a接收到携带认证信息改变标识的第二bfd报文,还是会根据当前改变后的认证信息对第二bfd报文进行认证,在正常情况下,认证结果为认证成功。
92.此外,与此同时,对于网络设备a而言,认定网络设备b侧的认证信息已改变,因此,在此时,网络设备a发送给网络设备b的第一bfd报文中携带认证信息改变标识和改变后的认证信息,从而避免网络设备b一直接收到携带改变前的认证信息的第一bfd报文,乃至于最终导致网络误判。
93.当然,在一些实施方式中,网络设备b那一侧可能一直没有修改认证信息,相应的,网络设备a可能在其认证定时器a到期时,一直未接收到携带认证信息改变标识的第二bfd报文,那么,此时,网络设备a在发送给第二网络设备的第一bfd报文中携带改变后认证的信息,进行正常bfd会话流程的处理。
94.步骤s130:对所述第二bfd报文认证失败时,忽略本次认证失败的结果,进行正常bfd会话流程的处理。
95.其中,对于网络设备a而言,对于在本端的认证定时器到期前所检测到的任何一个用于表征第二bfd报文认证失败的认证结果,按照现有技术本应该引起认证失败,但是在本技术实施例中,认为该情况可能是由于网络拓扑中的各个网络设备的认证信息修改时间不同步所导致,此时,网络设备a控制本端暂时忽略本次认证失败的结果,并进行正常bfd会话流程的处理,从而避免对网络的误判。
96.例如对应到上述应用场景中,当网络设备b首次接收到网络设备a所发送的携带有认证信息改变标识的第一bfd报文时,由于网络设备b侧暂时未修改认证信息,因此,网络设备b首先会给网络设备a发送携带当前的认证信息以及未携带认证信息改变标识的第二bfd报文,以至于网络设备a在其中一个bfd检测时间周期内出现认证失败的认证结果。但是,网络设备b在后续也会收到用户所修改的认证信息,因此,若网络设备a在当前基于认证失败的认证结果处理bfd会话,则会导致网络震荡,该行为属于对网络的误判。
97.而按照本技术实施例所提供的认证方式,当网络设备a在认证定时器a到期前,其会忽略所有认证失败的认证结果,并进行正常bfd会话流程的处理,则可以避免上述网络误判。
98.前文提及,对于网络设备a而言,若接收到的第二bfd报文携带认证信息改变标识,那么网络设备a认定网络设备b侧的认证信息已改变,因此,在此时,网络设备a发送给网络
设备b的第一bfd报文中携带认证信息改变标识和改变后的认证信息。
99.按照正常情况,此时在网络设备a侧以及在网络设备b侧当前所保存的认证信息均为修改后的认证信息,且网络设备a给网络设备b所发送的第一bfd报文所携带的认证信息为修改后的认证信息,网络设备b给网络设备a所发送的第二bfd报文所携带的认证信息也为修改后的认证信息。
100.那么此时,对于网络设备a以及网络设备b而言,均有可能在其对应的认证定时器到期前,检测到在至少一个连续的bfd检测时间(detection time)周期内所接收到的所有bfd报文的认证结果均为认证成功。若出现这种情况,那么检测到这种情况的网络设备a以及网络设备b则认为认证通过,可以取消本端的认证定时器。此外,网络设备a发送未携带认证信息改变标识的第一bfd报文给网络设备b,网络设备b发送未携带认证信息改变标识的第二bfd报文给网络设备a。网络设备a以及网络设备b两端均进行认证成功的bfd会话流程的处理。
101.当然,也可能存在异常情况,例如网络设备a与网络设备b所接收到的修改后的认证信息一直不一致,或者网络设备b一直没有收到用户所修改的认证信息。对于这些情况,则是实际应该出现bfd会话认证失败的情况。
102.为了应对上述异常情况,在一些实施方式中,对于网络拓扑中的网络设备a而言,若在其认证定时器到期时,确定未在任何一个连续的bfd检测时间周期内对第二bfd报文均认证成功,则可以进行认证失败的bfd会话流程的处理,此时,网络设备a控制本端进行bfd认证失败的bfd会话流程的处理,包括:网络设备a发送携带修改后的认证信息的第一bfd报文给网络设备b,以便网络设备b也进行bfd认证失败的bfd会话流程处理。
103.相应的,对于网络设备b而言,若在其认证定时器到期时,确定未在任何一个连续的bfd检测时间周期内对第一bfd报文均认证成功,则可以进行认证失败的bfd会话流程的处理,此时,网络设备b控制本端进行bfd认证失败的bfd会话流程的处理,包括:网络设备b发送携带修改后的认证信息的第二bfd报文给网络设备a,以便网络设备a也进行bfd认证失败的bfd会话流程处理。
104.此外,请参照图3,本技术实施例还提供一种应用于第二网络设备的认证方法,可以包括以下步骤。
105.步骤s210:接收到所述第一网络设备发送的携带认证信息改变标识的第一bfd报文时,启动本端的认证定时器,根据当前的认证信息对所述第一bfd报文进行认证,并在发送给所述第一网络设备的第二bfd报文中不携带认证信息改变标识。
106.步骤s220:若在所述认证定时器到期前以及本端认证信息已改变期间,接收到所述第一网络设备发送的第一bfd报文,根据改变后的认证信息对所述第一bfd报文进行认证,并在发送给所述第一网络设备的第二bfd报文中携带认证信息改变标识和改变后的认证信息。
107.步骤s230:若在所述认证定时器到期前,对所述第一bfd报文认证失败,忽略本次认证失败的结果,进行正常bfd会话流程的处理。
108.在一些实施方式中,所述方法还包括:
109.若在所述认证定时器到期前,在至少一个连续的bfd检测时间周期内对所述第一bfd报文均认证成功,取消所述认证定时器,进行认证成功的bfd会话流程的处理;或者;
110.若在所述认证定时器到期时,未在任何一个连续的bfd检测时间周期内对所述第一bfd报文均认证成功,进行认证失败的bfd会话流程的处理。
111.在一些实施方式中,所述认证信息改变标识设置在所述第一bfd报文和所述第二bfd报文头部的诊断码diag字段的保留类型值中。
112.由于本实施例在前述实施例已有涉及,因此,本实施例的具体实现过程,此处不再赘述。
113.如图4所示,本技术实施例还提供一种认证装置400,应用于第一网络设备,所述第一网络设备用于与第二网络设备之间建立bfd会话,且在所述第一网络设备与所述第二网络设备内保存有用于对所述bfd会话进行认证的认证信息;认证装置400可以包括:启动模块410以及控制模块420。
114.启动模块410,用于在确定本端认证信息改变时,启动本端的认证定时器,在发送给所述第二网络设备的第一bfd报文中携带认证信息改变标识和改变前的认证信息;
115.控制模块420,用于在所述认证定时器到期前,如果接收到所述第二网络设备发送的携带认证信息改变标识的第二bfd报文;根据当前改变后的认证信息对所述第二bfd报文进行认证,并在发送给所述第二网络设备的第一bfd报文中携带认证信息改变标识和改变后的认证信息;
116.所述控制模块420,还用于对所述第二bfd报文认证失败时,忽略本次认证失败的结果,进行正常bfd会话流程的处理。
117.在一种可能的实施方式中,所述控制模块420,还用于:若在所述认证定时器到期前,在至少一个连续的bfd检测时间周期内对所述第二bfd报文均认证成功,取消所述认证定时器,进行认证成功的bfd会话流程的处理;或者
118.若在所述认证定时器到期时,未在任何一个连续的bfd检测时间周期内对所述第二bfd报文均认证成功,进行认证失败的bfd会话流程的处理。
119.在一种可能的实施方式中,所述控制模块420,还用于:若在所述认证定时器到期时,确定未接收到携带认证信息改变标识的第二bfd报文,在发送给所述第二网络设备的第一bfd报文中携带改变后认证的信息,进行正常bfd会话流程的处理。
120.在一种可能的实施方式中,所述认证信息改变标识设置在所述第一bfd报文和所述第二bfd报文头部的诊断码diag字段的保留类型值中。
121.本技术实施例所提供的认证装置400,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
122.如图5所示,本技术实施例还提供一种认证装置500,应用于第二网络设备,所述第二网络设备用于与第一网络设备之间建立bfd会话,且在所述第一网络设备与所述第二网络设备内保存有用于对所述bfd会话进行认证的认证信息;所述装置包括:启动模块510以及控制模块520。
123.启动模块510,用于接收到所述第一网络设备发送的携带认证信息改变标识的第一bfd报文时,启动本端的认证定时器,根据当前的认证信息对所述第一bfd报文进行认证,并在发送给所述第一网络设备的第二bfd报文中不携带认证信息改变标识;
124.控制模块520,用于若在所述认证定时器到期前以及本端认证信息已改变期间,接
收到所述第一网络设备发送的第一bfd报文,根据改变后的认证信息对所述第一bfd报文进行认证,并在发送给所述第一网络设备的第二bfd报文中携带认证信息改变标识和改变后的认证信息;
125.所述控制模块520,还用于若在所述认证定时器到期前,对所述第一bfd报文认证失败,忽略本次认证失败的结果,进行正常bfd会话流程的处理。
126.在一种可能的实施方式中,所述控制模块520,还用于:若在所述认证定时器到期前,在至少一个连续的bfd检测时间周期内对所述第一bfd报文均认证成功,取消所述认证定时器,进行认证成功的bfd会话流程的处理;或者
127.若在所述认证定时器到期时,未在任何一个连续的bfd检测时间周期内对所述第一bfd报文均认证成功,进行认证失败的bfd会话流程的处理。
128.在一种可能的实施方式中,所述认证信息改变标识设置在所述第一bfd报文和所述第二bfd报文头部的诊断码diag字段的保留类型值中。
129.此外,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被计算机运行时,执行如上述的认证方法所包含的步骤。
130.此外,请参照图6,本技术实施例提供一种用于实现本技术实施例的认证方法、装置的网络设备100。
131.其中,网络设备100可以是支持bfd协议的任何网络设备,例如支持bfd协议的反射器、交换机等。
132.可选的,网络设备100可以包括:处理器110、存储器120。
133.应当注意,图4所示的网络设备100的组件和结构只是示例性的,而非限制性的,根据需要,网络设备100也可以具有其他组件和结构。
134.处理器110、存储器120以及其他可能出现于网络设备100的组件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,处理器110、存储器120以及其他可能出现的组件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
135.存储器120用于存储程序,例如存储有前文出现的认证方法对应的程序或者前文出现的认证装置。可选的,当存储器120内存储有认证装置时,认证装置包括至少一个可以以软件或固件(firmware)的形式存储于存储器120中的软件功能模块。
136.可选的,认证装置所包括软件功能模块也可以固化在网络设备100的操作系统(operating system,os)中。
137.处理器110用于执行存储器120中存储的可执行模块,例如认证装置包括的软件功能模块或计算机程序。当处理器110在接收到执行指令后,可以执行计算机程序,例如执行前述任一实施例所提供的认证方法。
138.当然,本技术任一实施例所揭示的方法都可以应用于处理器110中,或者由处理器110实现。
139.综上所述,本发明实施例提出的认证方法、装置、网络设备及计算机可读存储介质,对于已经建立bfd会话的网络拓扑中的任何一个网络设备而言,当其在确定本端的认证信息改变时,可以启动并维护本端的认证定时器auth timer,并在发送给第二网络设备的第一bfd报文中携带认证信息改变标识和改变前的认证信息。对于在认证定时器到期前检测到的任何认证失败,均会强制控制本端暂时忽略本次认证失败的结果,并进行正常bfd会
话流程的处理,以此来避免由于认证信息的修改不同步所引发的网络误判。此外,在上述过程中,并没有引入额外新增的bfd报文,因此,相较于现有技术而言,有利于节约带宽。
140.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
141.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
142.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
143.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
144.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献