一种网络中获取设备转发信息库的方法、设备和系统与流程

文档序号:30063733发布日期:2022-05-18 00:20阅读:106来源:国知局
一种网络中获取设备转发信息库的方法、设备和系统与流程
一种网络中获取设备转发信息库的方法、设备和系统
1.本技术是于2018年6月29日提交中国国家知识产权局、申请号为cn 201810700361.5、发明名称为“一种网络中获取设备转发信息库的方法、设备和系统”的中国专利申请的分案申请。
技术领域
2.本发明涉及通信技术领域,尤其涉及一种获取设备转发信息库(英文:forwarding information base,简称:fib)的方法、设备和系统。


背景技术:

3.随着网络设备和网络协议的普遍增多,网络环境变得越来越复杂,而网络的这种复杂性给网络的维护以及网络故障的处理带来较大难度。例如网络中设备的软件设计缺陷在逐渐增多,例如设备内部无效参数、功能错误、硬件失效等,或设备外部错误操作、转发环路、可达性问题、性能下降等都可能导致网络因出现故障而不能正常运行。为了解决这些问题,人们开发了一些处理上述问题的工具,如简单网络管理协议(英文:simple network management protocol,简称:snmp),网络流例程(英文:network flow routine,简称netflow)。但随着网络规模的增加,这些工具开始逐渐变得低效。为此业界在研究一些网络验证技术,该验证技术通常利用网络的设备的转发行为,并采用一定的数据结构或公式来对网络设备或整个网络建模,从而验证设备或网络状态是否存在故障,例如根据网络设备提供电信网络协议(英文:telecommunication network protocol,简称:telnet)、snmp、网络配置协议(英文:networkconfiguration protocol,netconf)等接口,获取设备的转发状态表,并采用一定的数据结构或公式来对网络设备或者整个网络建模,按照验算法验证网络中是否存在环路等问题。然而,在大规模的网络中,由于设备的转发表数量繁多,要获取这些状态表,需要的花费的时间也会较长,而设备学习表项的速度却很快,这样就会造成验证系统获取的设备转发表项与设备学习表项不一致的现象,进而造成验证结果不够准确,给验证技术的发展带来很大挑战。


技术实现要素:

4.本技术提供了网络中获取设备fib的方法、设备和系统,使验证系统能够准确、高效获取设备的fib,以实现验证结果的准确性。
5.第一方面,本技术提供了一种网络中获取设备fib的方法,该网络中包括验证系统和多个设备,以第一设备为例对所述多个设备所实施的步骤进行说明。第一设备接收验证系统发送的请求消息,该请求消息携带获取在指定时间生成的所述第一设备的fib的命令。第一设备获取在所述指定时间生成的第一设备的fib或fib快照。第一设备将获得的fib或fib快照添加在响应消息,并向验证系统发送该响应消息。
6.通过上述方法,网络中的设备将在指定时间生成的fib或fib快照发送给验证系统,使得验证系统可以获取设备在同一时间生成的fib或fib快照,这样可以避免由于采集
设备的fib的时间过长而导致验证系统获得的fib不准确的现象,以保证验证系统在指定时间对网络验证结果的准确性。
7.结合第一方面,在第一种可能的实现方式中,第一设备获取在指定时间生成的第一设备的fib包括:第一设备从请求消息中获取指定时间。第一设备在指定时间停止更新存储区存储的第一设备的fib。第一设备从该存储区获取所述第一设备的fib。
8.通过第一设备的存储区在指定时间停止更新,使得该存储区可以存储第一设备在指定时间生成的fib,第一设备据此获得在指定时刻生成的fib。
9.结合第一方面,在第二种可能的实现方式中,第一设备从请求消息中获取指定时间。第一设备在指定时间停止更新存储区存储的所述第一设备的fib。第一设备从所述存储区获取所述第一设备的fib快照。或者,第一设备从请求消息中获取指定时间,第一设备获取在指定时间生成第一设备的fib快照。
10.第一设备可以根据指定时间获取第一设备之前保存的fib快照,也可以根据指定时间在该指定时间到来时生成fib快照,还可以获取存储器中保存的指定时间生成的fib快照,通过上述方式获取第一设备在指定时间的fib快照。
11.结合第一方面,在第三种可能的实现方式中,请求消息还携带获取第一设备的fib的周期。第一设备按照该周期向验证系统提供所述第一设备的fib。
12.第一设备根据请求消息中的周期向验证系统发送第一设备的fib,可以使第一设备根据周期主动向验证系统发送fib。
13.结合第一方面,在第四种可能的实现方式中,第一设备将生成所述第一设备fib的时间添加在所述响应消息中。
14.第一设备将生成fib的时间添加在响应消息中向验证系统发送,可以使验证系统获取生成fib的时间,验证系统可以据此将获取的fib根据时间进行分类,便于验证计算。
15.第二方面,本技术提供了一种获取设备fib的方法。该方法包括:验证系统分别向多个设备中的每个设备发送请求消息,其中,请求消息携带获取多个设备中每个设备在指定时间生成的fib的命令。验证系统分别接收多个设备中每个设备发送的响应消息,其中,响应消息携带多个设备中每个设备在指定时间生成的fib或fib快照。验证系统从多个设备中的每个设备的响应消息中获取fib或fib快照,并根据fib或fib快照验证所述指定时间的网络是否存在故障。
16.结合第二方面,在第一种可能的实现方式中,请求消息还携带获取多个设备中每个设备的fib的周期,该周期指示多个设备中的每个设备按照周期提供所述每个设备的fib。
17.结合第二方面,在第二种可能的实现方式中,每个设备的响应消息中携带获取每个设备生成fib的时间。
18.第三方面,本技术提供了一种设备,该设备包括接收单元、获取单元、生成单元和发送单元。接收单元用于接收验证系统发送的请求消息,其中,请求消息携带获取在指定时间生成的fib的命令。获取单元用于获取在指定时间生成的fib或fib快照。生成单元用于生成响应消息,其中,响应消息携带fib或fib快照。发送单元用于向验证系统发送响应消息。
19.结合第三方面,在第一种可能的实现方式中,获取单元用于从请求消息中获取所述指定时间。生成单元用于在指定时间停止更新存储区存储的第一设备的fib。获取单元用
于从该存储区获取第一设备的fib。
20.结合第三方面,在第二种可能的实现方式中,获取单元用于从请求消息中获取指定时间。生成单元用于在指定时间停止更新存储区存储的第一设备的fib。获取单元用于从存储区获取第一设备的fib快照。或者,获取单元用于从请求消息中获取指定时间。获取单元用于获取在指定时间生成第一设备的fib快照。
21.结合第三方面,在第三种可能的实现方式中,该请求消息还携带获取第一设备的fib的周期,第一设备按照该周期向所述验证系统提供所述第一设备的fib。
22.结合第三方面,在第四种可能的实现方式中,设备还包括添加单元。添加单元用于将生成第一设备fib的时间添加在响应消息中。
23.第四方面,本技术提供了一种验证设备。该验证设备包括发送单元、接收单元、获取单元和验证单元。发送单元用于分别向多个设备中的每个设备发送请求消息,其中,请求消息携带获取多个设备中每个设备在指定时间生成的转发信息库fib的命令。接收单元用于分别接收多个设备中每个设备发送的响应消息,其中,响应消息携带多个设备中每个设备在指定时间生成的fib或fib快照。获取单元用于从多个设备中的每个设备的响应消息中获取fib或fib快照。验证单元用于根据该fib或fib快照验证、指定时间的网络是否存在故障。
24.结合第四方面,在第一种可能的实现方式中,请求消息还携带获取多个设备中每个设备的fib的周期,该周期指示、多个设备中的每个设备按照该周期提供每个设备的fib。
25.结合第四方面,在第二种可能的实现方式中,每个设备的响应消息中携带每个设备生成fib的时间。
26.第五方面,本技术提供了一种获取设备fib的系统,该系统包括多个设备和验证设备。验证设备用于分别向多个设备中的每个设备发送请求消息;并分别接收所述多个设备中每个设备发送的响应消息;以及从所述多个设备中的每个设备的响应消息中获取每个设备在指定时间生成的转发信息库fib或fib快照;根据所述fib或fib快照验证所述指定时间的网络是否存在故障。其中请求消息携带在指定时间获取多个设备中每个设备的fib的命令。响应消息携带多个设备中每个设备在指定时间生成的fib或fib快照。多个设备中的每个设备用于接收所述请求消息;并获取在所述指定时间生成的fib或fib快照;生成所述响应消息;向所述验证系统发送所述响应消息。
27.结合第五方面,在第一种可能的实现方式中,多个设备中的每个设备用于从请求消息中获取所述指定时间,并在指定时间停止更新存储区存储的第一设备的fib。该每个设备从所述存储区获取对应于每个设备的fib。
28.结合第五方面,在第二种可能的实现方式中,多个设备中的每个设备用于从请求消息中获取所述指定时间,并在指定时间停止更新存储区存储的所述每个设备的fib,以及从所述存储区获取所述每个设备的fib快照。或者,该多个设备中的每个设备用于从请求消息中获取指定时间,并获取在指定时间生成每个设备的fib快照。
29.结合第五方面,在第三种可能的实现方式中,请求消息还携带获取多个设备中每个设备的fib的周期,该周期指示多个设备中的每个设备按照该周期提供每个设备的fib。
30.结合第五方面,在第四种可能的实现方式中,每个设备的响应消息中携带每个设备生成fib的时间。
31.第六方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面以及各个可能实现方式的所述的方法。
32.第七方面,本技术提供了另一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面以及各个可能实现方式的所述的方法。
33.第八方面,本技术提供了一种网络设备,所述网络设备包括网络接口、处理器、存储器和连接所述网络接口、处理器和存储器的总线。所述存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成上述第一方面以及各个可能实现方式的所述的方法。
34.第九方面,本技术提供了一种网络设备,所述网络设备包括网络接口、处理器、存储器和连接所述网络接口、处理器和存储器的总线。所述存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成上述第二方面以及各个可能实现方式的所述的方法。
附图说明
35.图1为本发明实施例提供的一种获取设备的fib的应用场景示意图。
36.图2为本发明实施例提供的一种获取设备的fib的时间轴的示意图。
37.图3为本发明实施例提供的一种获取设备的fib的方法流程示意图。
38.图4为本发明实施例提供的又一种获取设备的fib的方法流程示意图。
39.图5为本发明实施例提供的一种设备。
40.图6为本发明实施例提供的一种验证设备。
41.图7为本发明实施例提供的又一种设备。
42.图8为本发明实施例提供的又一种验证设备。
43.图9为本发明实施例提供的一种获取设备fib的系统。
具体实施方式
44.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
45.图1提供了一种设备生成fib的应用场景示意图,该网络系统100包括:设备101,互联网(英文:internet)以及互联网中的设备102和设备103。如图1所示,设备101、102、103可以是路由器或者交换机等用于转发数据报文的设备。设备101连接internet网络,internet网络中包含了大量的ip子网,如图1所示internet包括设备102和103,其中设备102和设备103分别连接两个子网,例如这两个子网分别为:11.1.0.0/16和15.2.0.0/16。设备101可以
通过网络协议学习internet中的ip子网,设备101根据学习到的ip子网路由生成设备101的fib,用于指导数据报文的转发。以路由器为例,路由器101可以通过路由协议学习到路由器102和路由器103的路由表,路由器101根据学习到的路由表在路由器101生成fib,由路由器101根据fib转发数据报文。然而internet中通常包括1万个ip子网,设备101就需要学习这1万个ip子网的路由,并生成fib,由此可知设备中的fib中包含巨大数量的转发表。
46.为了提高网络管理的效率,验证技术得到广泛发展,验证技术是通过获取网络中设备的fib,并将获取的这些fib根据一定的数学结构和公式对网络中的设备或整个网络建模,按照验证算法,验证可达性或环路等问题。因此,为了确保验证结果的准确可靠,获取验证所需的数据,即获取设备的fib成为验证技术的关键。如下表1所示,提供了一种采用telnet协议获取一台设备fib的实验结果,用于说明采集fib的时长。如下表1所示,获取一万条媒体介入控制(英文:media access control,简称:mac)地址表需要的时长为17.2秒,假如数据中心存在10万级别的虚拟机(英文:virtual machine,简称:vm),则存在10万级的表项,获取该设备mac表的时间则大概需要287秒,则从设备获取第一条mac表与获取最后一条mac表的时间相差至少4分钟,而在这4分钟内网络环境会发生很多变化,设备的控制层面也在不断的更新和维护路由表,但由于获取时间长,验证系统可能并不能感知已获取的转发表的变化。例如下表1中,验证系统在获取最后一条mac表时,已获取的第一条mac地址已经发生故障而不可达,由于获取设备mac表时间较长,因此验证系统获取fib结束时并不能感知这些变化,而将这些不准确的fib用于验证计算更不能得到准确的验证结果,这将给验证技术带来相当大的挑战,不利于验证技术的发展。
47.mac表项数量(条)查询mac表时间(秒)50008.61000017.21500025.42000034.12500042.53000051.05000096.1100000287.0
48.表1
49.举例来说,如图2所示,提供一种从设备101获取fib的时间轴的示例。图2中,在时间t1,验证系统从设备101开始获取fib,具体来说在t1时间获取设备101到ip子网为11.1.0.0/16的路由,由于前面提到由于fib数量较多,因此获取fib的时间很长,在时间t4结束获取fib。而在时间t2,当internet网络的子网11.1.0.0/16由于故障而中断,例如该子网的链路中断导致子网失效,这样设备101到11.1.0.0/16应该不可达。但由于该中断通知到设备101需要时间,因此设备101并不能立刻获得11.1.0.0/16已经中断的信息,换句话说,设备101在t3并不能立刻获得到达11.1.0.0/16已经中断,而设备101的fib中仍然存在一条到11.1.0.0/16的路由,验证系统会获取到达11.1.0.0/16的路由。由于验证系统获取设备fib的时间较长,而设备学习表项的速率却很快,因此可能发生验证系统获取的设备的fib与设备通过学习更新的fib并不一致,即使有路由发生变化,验证系统并不能立刻发现,
验证系统依然会根据获取的各设备的fib对网络进行验证,造成验证系统验证结果错误。
50.网络通常包括路由器、防火墙、交换机等设备,验证技术需要从网络中的各个设备获取各设备的fib,并且所获取各设备的fib应该是在同一时间生成的,以保证获取的fib与对应设备的真实转发层面的数据是一致的。然而,根据上面的分析可知,现在的获取fib方式存在的问题为:由于从设备中获取fib的时间较长,验证系统所获取的fib与设备的真实的转发面数据不一致,使得验证系统获得的各个设备的fib不准确,导致验证结果不准确。
51.为了解决上述技术问题,本技术提供了一种获取设备fib的方法,该方法通过获取各个设备在指定时间的fib或者fib快照,使得验证系统可以获取设备在特定时间的fib,以确保验证结果的准确性。
52.如图3所示,为本技术提供了一种获取设备fib的方法流程示意图,图3所示的方法可以应用于图1所示的场景中,并且图3中的第一设备可以是图1中设备101。网络中包括验证系统和多个设备,第一设备为所述多个设备中的一个设备,该方法包括以下步骤:
53.s310,第一设备接收验证系统发送的请求消息。
54.在一种可能的实现方式中,第一设备可以是具备转发处理数据报文的路由器。验系统可以是具备根据获取的fib和数学模型计算并获得验证结果的软件,可以在运行在第一设备上,也可以运行在其它网络设备上,运行该验证软件或软件系统的设备可以称为验证设备。验证系统发送的在指定时间生成fib的命令,该命令可以通过netconf协议发送给路由器,也可以通过telnet协议发送给路由器,还可以通过snmp协议发送给路由器。
55.在一种可能的实现方式中,不论通过上述哪种协议,该协议中包括获取在指定时间生成第一设备fib的命令。请求消息中还可以包括获取fib的周期,第一设备可以根据该周期生成fib,并将生成的fib按照周期发送给验证系统。例如获取第一设备生成的fib需要多次,每次需要间隔一段时间,获取第一设备的fib的周期为30秒,第一设备每间隔30秒生成一次fib,第一设备可以向验证系统发送根据周期生成的fib。
56.在一种可能的实现方式中,请求消息携带获取指定时间生成的第一设备的fib的命令,其中,fib包括第一设备指导数据报文转发的相关表项,例如可以包括网际互联(英文:internet protocol,简称:ip)转发表、mac转发表、多协议标签交换(英文:multiprotocol label switching,简称:mpls)转发表等表项,本技术对表项不做限定。
57.s320,第一设备获取在所述指定时间生成的所述第一设备的fib或fib快照。
58.在一种可能的实现方式中,第一设备获取根据所述指定时间生成的fib,或者获取在所述指定时间生成的fib的快照。以第一设备为路由器为例,路由器可以通过不断的学习路由,来维护路由表,并根据路由表生成fib,由于路由器在不断的维护、更新路由表,而fib同样会根据路由表的更新而进行更新,因此路由器的fib同样在不断的发生变化,路由器收到请求消息,会根据命令获取在指定时间生成的fib,或者所获取在指定时间生成的fib快照。
59.在一种可能的实现方式中,第一设备可以持续保存不同时间生成的fib快照。第一设备根据请求消息中的指定时间,从所保存的fib快照中获取与指定时间对应的fib快照。第一设备还可以根据指定时间在指定时间到来时,生成fib快照。这样第一设备既可以获取发送请求消息之前的时间生成的fib快照,还可以获得发送请求消息之后指定时间所生成的fib快照。
60.在一种可能的实现方式中,第一设备包括第一存储区,还可以包括第二存储区。第二存储区实时存储第一设备学习和更新的fib。第一存储区可以存储第一设备学习和更新的fib,还可以通过与第二存储区实时同步获取第一设备的fib。第一存储区和第二存储区可以都集成在第一设备的存储器上或存储卡上,或者第一存储区运行在存储卡上,本技术对此不做限定。第一设备从请求消息中获取指定时间,并根据指定时间停止更新第一存储区存储的fib,这样就可以获取第一设备在指定时间存储的fib。第一设备获取在指定时间第一存储区所存储的fib。第一设备将指定时间的fib封装到响应报文,根据指令可以继续通过与第二存储区同步数据获得更新。
61.举例来说,第一设备还包括专门用于存储fib的存储区,该fib存储区可以是第一设备的存储器所提供的部分存储空间,还可以是第一设备增加的存储卡所提供的存储空间,该fib存储区用于写入第一设备的fib,下文简称fib存储区。第一设备可以将生成的第一设备的fib写入第一设备缓存和fib存储区。第一设备还可以仅将第一设备的fib写入第一设备的缓存,fib存储区通过与第一设备缓存实时同步保证两者中的fib相同。第一设备从验证系统接收请求消息,并从请求消息中获取指定时间。第一设备在该指定时间停止向fib存储区写入更新的fib,或者fib存储区在指定时间停止与第一设备缓存同步fib,即在所述指定时间停止更新fib存储区的fib。这样第一设备从fib存储区可以获取指定时间生成的fib或fib快照。上述方法,使得第一设备可以获取在指定时间生成的fib。
62.s330,第一设备生成响应消息。
63.在一种可能的实现方式中,第一设备将获取的所述第一设备的fib封装到所述响应消息中,或者第一设备根据获取的所述第一设备的fib快照,并将所述fib快照封装到所述响应消息中。如果第一设备获取的是fib,则第一设备将该fib封装到响应消息;如果第一设备获取的是fib快照,则第一设备将该fib快照封装到响应消息中。
64.在一种可能的实现方式中,响应消息可以是与请求消息属于相同类型,例如响应消息同样可以是netconf协议,也可以是telnet协议发送给路由器,还可以是snmp协议等等。
65.s340,第一设备向验证系统发送响应消息。
66.在一种可能的实现方式中,响应消息中还携带获取第一设备的fib的时间,例如将生成fib的时间戳封装在响应消息中。
67.由于验证系统接收设备发送的fib的数量较多,而且随着各个设备fib的更新,会接收不同时刻的fib,因此可以通过在响应消息中携带获取fib的时间,使得验证系统可以根据携带的时间对获得的fib进行分类,便于验证计算。
68.通过上面的步骤,验证系统可以通过上述方法获取网络中多个设备在指定时间生成的fib,该fib内容是设备在某一个时间的转发信息状态。验证系统会基于指定时间所获取的fib信息,按照验证算法,验证网络在指定时间的可达或环路等问题。此外,上述方法还可以使验证系统获取的各个设备在同一个时间的fib,以保证验证结果的准确性。
69.如图4所示,为本技术提供了一种获取设备fib的方法流程示意图,该方法中的路由器可以是图3中的第一设备,并且具备第一设备的功能,验证系统可以是图3中的第二设备,同样具备第二设备的功能。该方法所适用的场景可以包括多个路由器和一个验证系统或多个验证系统,图4所示的方法流程图是对于多个路由器中的一个路由器和一个验证系
统的为例对上述方法进行说明,该场景中的多个路由器的中每个路由器都可以具备图4中路由器的功能,也可以执行路由器所执行的方法步骤,该方法包括以下步骤:
70.s410,验证系统向路由器发送获取在指定时间生成的该路由器的fib的命令。
71.举例来说,验证系统向路由器发送netconf报文,其中,该netconf报文携带命令获取路由器在指定时间生成的该路由器的fib。验证系统还可以通过telnet报文或者snmp报文等携带命令,该命令指示路由器获取在指定时间生成的该路由器的fib。可选的,该命令该可以包括获取路由器的fib的循环周期或起始时间,例如该命令携带的时间戳或时间为2018:02:26:14:00:00,其表示获取路由器在2018年2月26日14时生成的fib,该命令还可以携带获取生成fib的周期为900秒。
72.s420,路由器接收验证系统发送的命令。
73.s430,路由器获取在该指定时间生成的fib。
74.举例来说,路由器可以根据在指定时间生成的fib,通过软件的转发,如rip协议(routing information protocol)在路由器的存储区生成fib。路由器可以根据该存储区的fib生成fib快照。还可以使用fib双写入技术,即在路由器的一个存储区生成fib,同时在路由器的另一个存储区同步写入fib,并且在命令中的指定时间停止向该另一个存储区写入表项,这样在指定时间fib的内容将不再发生变化,相当于保存了某个时间的fib,使得路由器能够从另一个存储区获得在指定时间的fib。
75.s440,路由器生成报文,该报文中携带路由器在指定时间生成的fib。
76.举例来说,路由器可以根据获取的fib快照,并将fib快照封装在报文里发送给验证系统;还可以根据获取的fib,将所获取的fib封装在报文里发送给验证系统。
77.举例来说,路由器可以将获取的路由器的fib封装在netconf报文、或者telnet报文、或者snmp报文中。
78.s450,路由器向验证系统发送该报文。
79.s460,验证系统接收路由器发送的该报文。
80.s470,验证系统根据报文获取路由器的fib,并根据该fib验证指定时间的网络是否存在故障。
81.举例来说,验证系统接收多个路由器中的每个路由器发送的fib。验证系统获取的多个设备的fib都是在同一指定时间从各个设备中采集的,验证系统根据在指定时间从各个设备中采集的fib和数学模型对指定时间的fib进行验证计算,并进行验证分析,验证在指定时间的网络是否出现故障,例如检测在该指定时间,网络是否存在环路、不可达等问题。
82.通过上述方法,使得设备根据命令获取在指定时间生成fib,并发送给验证系统。使验证系统可以获取各个设备在同一时间的fib,避免由于网络状况或者采集设备fib时间长所出现的验证系统获取设备的fib不准确的问题,使得验证结果不准确。
83.如图5所示,为本技术提供了一种生成转发表的设备,该设备既可以是图1中的设备101,也可以是方法流程图4中的设备,还可以是图5中的路由器,可以实现图4中的设备和图5中的路由器的功能。该设备包括该设备包括接收单元501、获取单元502、生成单元503和发送单元504。接收单元501用于接收验证系统发送的请求消息,其中,请求消息携带获取在指定时间生成的fib的命令。获取单元502用于获取在指定时间生成的fib或fib快照。生成
单元503用于生成响应消息,其中,响应消息携带fib或fib快照。发送单元504用于向验证系统发送所述响应消息。
84.在一种可能的实现方式中,获取单元502用于从请求消息中获取所述指定时间。生成单元503用于在指定时间停止更新存储区存储的第一设备的fib。获取单元502用于从该存储区获取第一设备的fib。
85.在一种可能的实现方式中,获取单元502用于从请求消息中获取指定时间。生成单元503用于在指定时间停止更新存储区存储的第一设备的fib。获取单元502用于从存储区获取第一设备的fib快照。或者,获取单元502用于从请求消息中获取指定时间。获取单元502用于获取在指定时间生成第一设备的fib快照。
86.在一种可能的实现方式中,该请求消息还携带获取第一设备的fib的周期,第一设备按照该周期向所述验证系统提供所述第一设备的fib。
87.在一种可能的实现方式中,设备还包括添加单元,该添加单元用于将生成第一设备fib的时间添加在响应消息中。
88.在该具体实施方式中,所述接收单元501、获取单元502、生成单元503和发送单元504的具体实现可以参考图3的第一设备和图4中路由器的功能和实施步骤,为了简洁,不再赘述。
89.如图6所示,为本技术提供了一种验证设备。该验证设备包括发送单元601、接收单元602、获取单元603和验证单元604。发送单元601用于分别向多个设备中的每个设备发送请求消息,其中,请求消息携带获取多个设备中每个设备在指定时间生成的转发信息库fib的命令。接收单元602用于分别接收多个设备中每个设备发送的响应消息,其中,响应消息携带多个设备中每个设备在指定时间生成的fib或fib快照。获取单元603用于从多个设备中的每个设备的响应消息中获取fib或fib快照。验证单元604用于根据该fib或fib快照验证、指定时间的网络是否存在故障。
90.在一种可能的实现方式中,请求消息还携带获取多个设备中每个设备的fib的周期,该周期指示、多个设备中的每个设备按照该周期提供每个设备的fib。
91.在一种可能的实现方式中,每个设备的响应消息中携带每个设备生成fib的时间。
92.在该具体实施方式中,所述发送单元601、接收单元602、获取单元603和验证单元604的具体实现可以参考图3和图4中所述的验证系统的功能和实施步骤,为了简洁,不再赘述。
93.如图7所示,为本技术提供了另一种设备,该设备既可以是图1中的设备101,也可以是方法流程图3中的第一设备和图4中的路由器,可以实现所述第一设备和路由器的功能。该设备包括网络接口701和处理器702,还可以包括存储器703。
94.处理器702包括但不限于中央处理器(英文:central processing unit,简称:cpu),网络处理器(英文:network processor,简称:np),专用集成电路(英文:application-specific integrated circuit,简称:asic)或者可编程逻辑器件(英文:programmable logic device,缩写:pld)中的一个或多个。上述pld可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:cpld),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:fpga),通用阵列逻辑(英文:generic array logic,缩写:gal)或其任意组合。处理器702负责管理总线704和通常的处理,还可以
提供各种功能,包括定时,外围接口,电压调节,电源管理以及其他控制功能。存储器703可以用于存储处理器702在执行操作时所使用的数据。
95.网络接口701可以是有线接口,例如光纤分布式数据接口(英文:fiber distributed data interface,简称:fddi)、以太网(英文:ethernet)接口。网络接口701也可以是无线接口,例如无线局域网接口。
96.存储器703可以是包括但不限于内容寻址存储器(英文:content-addressable memory,简称:cam),例如三态内容寻址存储器(英文:ternary cam,简称:tcam),随机存取存储器(英文:random-access memory,简称:ram)。
97.存储器703也可以集成在处理器702中。如果存储器703和处理器702是相互独立的器件,存储器573和处理器702相连,例如存储器703和处理器702可以通过总线通信。网络接口701和处理器702可以通过总线通信,网络接口701也可以与处理器702直连。
98.总线704可以包括任意数量的互联的总线和桥,总线704将包括由处理器702代表的一个或多个处理器702和存储器703代表的存储器的各种电路链接在一起。总线704还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。
99.在一种可能的实现方式中,网络接口701用于接收验证系统发送的请求消息和向验证系统发送响应消息,其中,请求消息携带获取在指定时间生成的fib的命令,响应消息携带fib或fib快照。处理器702用于获取在指定时间生成的fib或fib快照,以及生用于生成响应消息。
100.在一种可能的实现方式中,处理器702还可以用于从请求消息中获取所述指定时间,并在指定时间停止更新存储区存储的第一设备的fib,以及从该存储区获取第一设备的fib。存储器703用于存储第一设备的fib,并根据第一设备的学习更新。
101.在一种可能的实现方式中,处理器702用于从请求消息中获取指定时间,在指定时间停止更新存储区存储的第一设备的fib,以及从存储区获取第一设备的fib快照。或者,处理器702用于从请求消息中获取指定时间,并获取在指定时间生成第一设备的fib快照。
102.在一种可能的实现方式中,该请求消息还携带获取第一设备的fib的周期,第一设备按照该周期向所述验证系统提供所述第一设备的fib。
103.在一种可能的实现方式中,处理器702还可以用于将生成第一设备fib的时间添加在响应消息中。
104.在该具体实施方式中,所述处理器702、所述网络接口701以及存储器703的具体实现可以参考图3所述的第一设备和图4中所述路由器的功能和实施步骤,为了简洁,不再赘述。
105.如图8所示,为本技术提供了另一种验证设备。所述设备包括网络接口801和处理器802,还可以包括存储器803
106.处理器802包括但不限于中央处理器(英文:central processing unit,简称:cpu),网络处理器(英文:network processor,简称:np),专用集成电路(英文:application-specific integrated circuit,简称:asic)或者可编程逻辑器件(英文:programmable logic device,缩写:pld)中的一个或多个。上述pld可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:cpld),现场可编程逻辑门阵列
(英文:field-programmable gate array,缩写:fpga),通用阵列逻辑(英文:generic array logic,缩写:gal)或其任意组合。处理器802负责管理总线804和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节,电源管理以及其他控制功能。存储器803可以用于存储处理器802在执行操作时所使用的数据。
107.网络接口801可以是有线接口,例如光纤分布式数据接口(英文:fiber distributed data interface,简称:fddi)、以太网(英文:ethernet)接口。网络接口801也可以是无线接口,例如无线局域网接口。
108.存储器803可以是包括但不限于内容寻址存储器(英文:content-addressable memory,简称:cam),例如三态内容寻址存储器(英文:ternary cam,简称:tcam),随机存取存储器(英文:random-access memory,简称:ram)。
109.存储器803也可以集成在处理器802中。如果存储器803和处理器802是相互独立的器件,存储器803和处理器802相连,例如存储器803和处理器802可以通过总线通信。网络接口801和处理器802可以通过总线通信,网络接口801也可以与处理器802直连。
110.总线804可以包括任意数量的互联的总线和桥,总线804将包括由处理器802代表的一个或多个处理器802和存储器803代表的存储器的各种电路链接在一起。总线804还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。
111.在一种可能的实现方式中,网络接口801用于分别向多个设备中的每个设备发送请求消息,以及分别接收多个设备中每个设备发送的响应消息。其中,请求消息携带获取多个设备中每个设备在指定时间生成的转发信息库fib的命令,响应消息携带多个设备中每个设备在指定时间生成的fib或fib快照。处理器802用于从多个设备中的每个设备的响应消息中获取fib或fib快照,根据该fib或fib快照验证、指定时间的网络是否存在故障。
112.在一种可能的实现方式中,请求消息还携带获取多个设备中每个设备的fib的周期,该周期指示多个设备中的每个设备按照该周期提供每个设备的fib。
113.在一种可能的实现方式中,每个设备的响应消息中携带每个设备生成fib的时间。
114.在该具体实施方式中,所述处理器802和所述网络接口801的具体实现可以参考图3和图4中所述的验证系统的功能和实施步骤,为了简洁,不再赘述。
115.如图9所示,为本技术提供一种获取设备fib的系统,该系统包括多个设备901和902,以及验证设备903。验证设备903分别向设备901和902发送请求消息;并分别接收设备901和902发送的响应消息;以及从设备901和902的响应消息中获取每个设备在指定时间生成的转发信息库fib或fib快照;根据所述fib或fib快照验证所述指定时间的网络是否存在故障。其中请求消息携带在指定时间获取多个设备中每个设备的fib的命令。响应消息携带多个设备中每个设备在指定时间生成的fib或fib快照。设备a和b用于接收请求消息;并获取在所述指定时间生成的fib或fib快照;生成所述响应消息;向所述验证系统发送响应消息。
116.在一种可能的实现方式中,设备901用于从请求消息中获取指定时间,并在指定时间停止更新存储区存储的第一设备的fib。设备901从所述存储区获取设备901的fib。
117.在一种可能的实现方式中,设备901用于从请求消息中获取所述指定时间,并在指定时间停止更新存储区存储的设备901的fib,以及从所述存储区获取设备901的fib快照。
或者,该设备901用于从请求消息中获取指定时间,并获取在指定时间生成设备901的fib快照。
118.在一种可能的实现方式中,请求消息还携带获取多个设备中设备901的fib的周期,该周期指示多个设备中的设备901按照该周期提供设备901的fib。
119.在一种可能的实现方式中,每个设备的响应消息中携带设备901生成fib的时间。
120.由于设备901和设备902具备相同功能,在系统中执行相同步骤,因此上述实现方式中的设备901所执行的步骤可以由设备902执行,因此不再对设备902的上述功能进行赘述。
121.所述设备901和902可以是方法流程图3中的第一设备,还可以是图4中的路由器,可以实现所述第一设备和路由器的功能。还可以是图5或图7中的设备。
122.所述验证设备903既可以方法流程图3中的验证系统,还可以是方法流程图4中的验证设备,可以实现所述验证设备或验证系统的功能,还可以是图6或图8中的第一pe设备。还可以是图6和图8中的验证设备。
123.在该具体实施方式中,所述设备901和902具体实现可以参考图3和图4中所述的第一设备或路由器的功能和实施步骤。所述验证设备903具体实现可以参考图3和图4中所述的验证系统的功能和实施步骤,为了简洁,不再赘述。
124.应理解,在本技术的各种实施例中,上述各方法的序号的大小并不意味着执行顺序的先后,各方法的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
125.在本技术所提供的几个实施例中,应该理解到,所公开的方法和设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
126.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
127.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
128.所述集成的单元如果以硬件结合软件的形式实现并作为独立的产品销售或使用时,所述软件可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案对现有技术做出贡献的部分技术特征可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分或全部步骤。而前述的存储介质可以是u盘、移动硬盘、只读存储器(简称:rom,英文:read-only memory)、随机存取存储器(简称:ram,英文:random access memory)、磁碟或者光盘。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1