一种用于实现可达性验证的方法和装置以及系统与流程

文档序号:30231297发布日期:2022-06-01 05:24阅读:194来源:国知局
一种用于实现可达性验证的方法和装置以及系统与流程

1.本技术涉及计算机网络领域,尤其涉及一种用于实现可达性验证的方法和装置以及系统。


背景技术:

2.互联网正在变得复杂和庞大,网络管理也变得更加困难,网络升级或改造过程中的细小失误可能会对网络的正常运行造成严重影响。例如,网络配置错误、软硬件实现错误、网络攻击或协议交互的意外错误等,都会影响网络的可用性和安全性。
3.网络需要可靠、高效地运行,并且无需管理人员和技术人员投入过多的时间和精力,就能发现网络运行中的错误。目前检测网络的方法需要人工排查和定位,带来极大的运营支出(operating expense,opex),而网络验证是解决这类问题的有效方法,可以对网络进行统一的建模,并持续验证转发及安全等问题,其中,可达性验证是网络故障的预防、定位和根因分析的重要手段。
4.在可达性验证方案中,可以组装通用路由封装协议(generic routing encapsulation,gre)、用户数据报协议(user datagram protocol,udp)等探测报文,以此验证源宿地址之间的可达性。例如,在网络中部署探测服务器(probeserver),该探测服务器向网络中的节点发送探测报文,以完成可达性验证。
5.目前的可达性验证方案不支持有状态设备(如负载均衡器),如果网络拓扑中包含有状态设备,只能验证到该有状态设备的可达性,不能验证与该有状态设备连接的其它设备的可达性,造成无法进行可达性验证的问题。


技术实现要素:

6.本技术实施例提供了一种用于实现可达性验证的方法和装置以及系统,用于支持有状态设备的可达性验证。
7.为解决上述技术问题,本技术实施例提供以下技术方案:
8.第一方面,本技术实施例提供一种用于实现可达性验证的方法,包括:获取待验证网络的网络配置信息和所述待验证网络中的多个设备的转发信息,其中,所述网络配置信息包括网络拓扑,所述多个设备包括至少一个有状态设备,所述至少一个有状态设备中的第一有状态设备的转发信息包括转发目的地址集合,所述转发目的地址集合包括:所述有状态设备在进行报文转发时可用的多个转发目的地址;根据所述网络配置信息和所述转发信息生成网络模型,其中,所述网络模型包括:根据所述网络配置信息确定的用于描述所述多个设备之间的连接关系的信息和根据所述转发信息确定的所述多个设备的转发表,其中所述第一有状态设备的转发表包括与所述多个转发目的地址对应的转发表项,所述网络模型用于对所述待验证网络进行可达性验证。在上述方案中,本技术实施例提供的待验证网络中包括有状态设备,可以获取到有状态设备的转发信息,本技术实施例生成的网络模型中包括有状态设备的转发表,本技术实施例中生成的网络模型可以支持有状态设备的可达
性验证。
9.在一种可能的实现方式中,所述第一有状态设备为防火墙或负载均衡器。
10.在一种可能的实现方式中,所述多个设备中任一无状态设备的转发信息包括路由表项、转发表项和地址解析协议arp表项中的至少一种。在上述方案中,路由表中记录有转发实例对应的下一跳地址,转发实例根据当前的地址查询路由表项可以得到下一跳的地址,转发实例可以根据该路由表项进行转发。转发表项可以根据路由表生成,转发表项直接用于指示当前报文的转发,转发实例可以在转发表项中无法查询到对应的下一跳地址时,去查询路由表。arp表项用于转发实例进行报文转发时查询出接口,例如转发实例根据ip地址查询arp表项,可以查到对应的接口信息,例如通过arp表项查询出的接口是ge/0/0/2等。
11.在一种可能的实现方式中,所述根据所述网络配置信息和所述转发信息生成网络模型包括:获取目标地址集合,所述目标地址集合为所述多个设备中的第一有状态设备的所述转发目的地址集合,或者所述多个设备中的任一无状态设备的转发信息中用于匹配报文源地址的源地址集合,或者所述多个设备中的任一无状态设备的转发信息中用于匹配报文目的地址的目的地址集合;将所述目标地址集合中对应的下一跳相同的地址确定为一个等价地址集,以获取一个或多个等价地址集;根据所述等价地址集生成所述目标地址集合所属设备的转发表,所述转发表的每个转发表项对应一个等价地址集。在上述方案中,在获取到一个或多个等价地址集之后,使用等价地址集生成转发表,该转发表中包括一个或多个转发表项,该转发表项与等价地址集一一对应。其中,一个转发表项包括一个等价地址集、以及用于指示该等价地址集对应的下一跳的信息。网络模型中可以包括上述目标地址集合所属设备的转发表。转发表中的每个转发表项与等价地址集对应,因此使用网络模型进行可达性验证时,可以通过等价地址集进行报文的批量转发分析,而不需要再针对每个转发目的地址进行转发分析,提高可达性验证的验证效率。
12.在一种可能的实现方式中,所述网络配置信息还包括:所述多个设备中至少一个设备的流策略,所述流策略包括:所述流策略所属的设备使用的用于控制报文转发的安全策略、过滤策略、访问控制列表acl规则中的至少一种;所述根据所述网络配置信息和所述转发信息生成网络模型,包括:根据所述流策略所属设备的等价地址集和所述流策略生成所述流策略所属的设备的基于等价地址集的转发策略,所述网络模型还包括所述转发策略。在上述方案中,其中,转发策略包括:转发实例进行转发时能够使用等价类,因此可以将“源-宿”单条路径的可达性问题转化为“源-业务”批量的可达性的问题,实现有状态设备的批量可达性验证,提高可达性验证的验证效率。
13.在一种可能的实现方式中,所述根据所述网络配置信息和所述转发信息生成网络模型包括:根据所述第一有状态设备的转发信息生成所述第一有状态设备的转发表,所述转发表的每个转发表项对应所述转发目的地址集合中的一个转发目的地址。在上述方案中,第一有状态设备的转发信息包括转发目的地址集合,因此可以根据转发目的地址集合中的一个转发目的地址确定第一有状态设备的转发表中的转发表项,即转发目的地址集合中的转发目的地址和转发表中的转发表项一一对应,每个转发表项包括一个转发目的地址、以及用于指示该转发目的地址对应的下一跳的信息。通过上述的转发地址集合可以生成第一有状态设备的转发表,因此通过上述方式可以生成网络模型,该网络模型中可以包括上述转发表。
14.在一种可能的实现方式中,所述网络配置信息还包括:设备配置信息,所述设备配置信息包括:所述多个设备中的转发实例的配置参数和接口的配置参数;所述网络模型,还包括:所述转发实例的数据结构、所述接口的数据结构、链路的数据结构;其中,所述转发实例的数据结构用于描述所述转发实例与其它转发实例之间的关系,和/或与所述转发实例对应的接口之间的关系;所述接口的数据结构用于描述所述接口与所述接口对应的转发实例之间的关系,和/或与所连接的链路之间的关系;所述链路的数据结构用于描述所述链路与所述链路连接的接口之间的关系。在上述方案中,网络模型中包括的转发实例的数据结构、接口的数据结构、链路的数据结构可以用于对待验证网络进行可达性验证。
15.在一种可能的实现方式中,所述方法,还包括:根据所述网络模型对所述待验证网络进行可达性验证。在上述方案中,用于实现可达性验证的装置在生成网络模型之后,用于实现可达性验证的装置可以使用该网络模型对待验证网络进行可达性验证,从而用于实现可达性验证的装置可以获取到可达性验证的结果。解决了无法对有状态设备的可达性验证问题。
16.在一种可能的实现方式中,所述根据所述网络模型对所述待验证网络进行可达性验证,包括:根据所述网络模型,基于源地址集合和宿地址集合对所述待验证网络进行可达性验证,其中,所述源地址集合包括至少一个源地址,所述宿地址集合包括至少一个宿地址。在上述方案中,源地址是指待验证网络中的需要发送报文的转发实例的地址,宿地址是指待验证网络中的需要接收报文的转发实例的地址,用于实现可达性验证的装置可以基于源地址集合和宿地址集合对待验证网络进行可达性验证,上述可达性验证过程也可以称为“源宿可达性”验证。
17.在一种可能的实现方式中,所述根据所述网络模型,基于源地址集合和所述待验证网络中的宿地址集合对所述待验证网络进行可达性验证,包括:根据所述网络模型,对从所述源地址集合中的源地址到所述宿地址集合中的宿地址之间的路径进行可达性验证。在上述方案中,从源地址到宿地址的路径是单向路径,可以根据网络模型对该单向路径进行可达性验证,另外,基于上述方式,同样的,从宿地址到源地址的路径也是单向路径,若用于实现可达性验证的装置对这两个单向路径都进行了可达性验证,则可以实现源宿双向可达性路径的验证,提升了可达性验证的验证效率。
18.在一种可能的实现方式中,所述根据所述网络模型,基于源地址集合和所述待验证网络中的宿地址集合对所述待验证网络进行可达性验证,包括:根据所述网络模型,对所述源地址集合中的源地址和所述宿地址集合中的宿地址对应的设备之间的路径进行可达性验证,其中,所述宿地址对应的设备包括:所述宿地址所属的设备,和/或,所述宿地址关联的设备。在上述方案中,宿地址关联的设备是指宿地址所属的设备直接或间接连接的设备,例如宿地址是负载均衡器的地址,则与该负载均衡器连接的多个业务服务器可以是宿地址关联的设备。通过上述方式,可以实现从源地址到宿地址对应的设备的可达性验证。
19.在一种可能的实现方式中,所述宿地址集合中的宿地址为所述宿地址所属有状态设备上与目标业务对应的地址,所述宿地址关联的设备为提供所述目标业务的多个业务服务器。
20.在一种可能的实现方式中,所述方法还包括:获取可达性验证结果;输出所述可达性验证结果。在上述方案中,用于实现可达性验证的装置还可以获取到可达性验证结果,然
后用于实现可达性验证的装置输出可达性验证的结果,具有多种实现方式,例如用于实现可达性验证的装置对可达性验证的结果进行展示,或者用于实现可达性验证的装置向显示装置发送该可达性验证的结果,使得显示装置可以对可达性验证的结果进行展示,例如显示装置可以是具有显示屏幕的终端。
21.在一种可能的实现方式中,所述多个设备包括多个有状态设备,所述多个有状态设备中的第二有状态设备的转发信息包括转换源地址集合,所述转换源地址集合包括:所述第二有状态设备在对待转发报文的源地址进行转换时可用的多个被转换成的源地址的集合;所述第二有状态设备的转发表包括与所述多个被转换成的源地址对应的转发表项。
22.第二方面,本技术实施例还提供一种用于实现可达性验证的方法,包括:获取待验证网络的网络模型,所述网络模型包括:用于描述所述待验证网络中的多个设备之间的连接关系的信息和所述多个设备的转发表,所述多个设备包括至少一个有状态设备,所述至少一个有状态设备中的第一有状态设备的转发表包括与所述第一有状态设备在进行报文转发时可用的多个转发目的地址对应的转发表项;根据所述网络模型对所述待验证网络进行可达性验证。在上述方案中,网络模型包括:根据网络配置信息确定的用于描述多个设备之间的连接关系的信息和根据转发信息确定的多个设备的转发表,网络模型用于对待验证网络进行可达性验证。本技术实施例提供的待验证网络中包括有状态设备,可以获取到有状态设备的转发信息,本技术实施例生成的网络模型中包括有状态设备的转发表,本技术实施例中生成的网络模型可以支持有状态设备的可达性验证。
23.在一种可能的实现方式中,所述第一有状态设备为防火墙或负载均衡器。
24.在一种可能的实现方式中,所述网络模型,还包括:所述待验证网络中的设备的转发实例的数据结构、所述转发实例的接口的数据结构、链路的数据结构;其中,所述转发实例的数据结构用于描述所述转发实例与其它转发实例之间的关系,和/或与所述转发实例对应的接口之间的关系;所述接口的数据结构用于描述所述接口与所述接口对应的转发实例之间的关系,和/或与所连接的链路之间的关系;所述链路的数据结构用于描述所述链路与所述链路连接的接口之间的关系。
25.在一种可能的实现方式中,所述根据所述网络模型对所述待验证网络进行可达性验证,包括:根据所述网络模型,基于源地址集合和宿地址集合对所述待验证网络进行可达性验证,其中,所述源地址集合包括至少一个源地址,所述宿地址集合包括至少一个宿地址。
26.在一种可能的实现方式中,所述根据所述网络模型,基于源地址集合和所述待验证网络中的宿地址集合对所述待验证网络进行可达性验证,包括:根据所述网络模型,对从所述源地址集合中的源地址到所述宿地址集合中的宿地址之间的路径进行可达性验证。
27.在一种可能的实现方式中,所述根据所述网络模型,基于源地址集合和所述待验证网络中的宿地址集合对所述待验证网络进行可达性验证,包括:根据所述网络模型,对所述源地址集合中的源地址和所述宿地址集合中的宿地址对应的设备之间的路径进行可达性验证,其中,所述宿地址对应的设备包括:所述宿地址所属的设备,和/或,所述宿地址关联的设备。
28.在一种可能的实现方式中,所述宿地址集合中的宿地址为所述第一有状态设备上与目标业务对应的地址,所述宿地址关联的设备为提供所述目标业务的多个业务服务器。
29.在一种可能的实现方式中,所述方法还包括:获取可达性验证结果;输出所述可达性验证结果。
30.在一种可能的实现方式中,所述多个设备包括多个有状态设备,所述多个有状态设备中的第二有状态设备的转发表包括与所述第二有状态设备在对待转发报文的源地址进行转换时可用的多个被转换成的源地址对应的转发表项。
31.第三方面,本技术实施例还提供一种用于实现可达性验证的装置,包括:获取模块,用于获取待验证网络的网络配置信息和所述待验证网络中的多个设备的转发信息,其中,所述网络配置信息包括网络拓扑,所述多个设备包括至少一个有状态设备,所述至少一个有状态设备中的第一有状态设备的转发信息包括转发目的地址集合,所述转发目的地址集合包括:所述有状态设备在进行报文转发时可用的多个转发目的地址;生成模块,用于根据所述网络配置信息和所述转发信息生成网络模型,其中,所述网络模型包括:根据所述网络配置信息确定的用于描述所述多个设备之间的连接关系的信息和根据所述转发信息确定的所述多个设备的转发表,其中所述第一有状态设备的转发表包括与所述多个转发目的地址对应的转发表项,所述网络模型用于对所述待验证网络进行可达性验证。
32.在一种可能的实现方式中,所述生成模块,用于获取目标地址集合,所述目标地址集合为所述多个设备中的第一有状态设备的所述转发目的地址集合,或者所述多个设备中的任一无状态设备的转发信息中用于匹配报文源地址的源地址集合,或者所述多个设备中的任一无状态设备的转发信息中用于匹配报文目的地址的目的地址集合;将所述目标地址集合中对应的下一跳相同的地址确定为一个等价地址集,以获取一个或多个等价地址集;根据所述等价地址集生成所述目标地址集合所属设备的转发表,所述转发表的每个转发表项对应一个等价地址集。
33.在一种可能的实现方式中,所述网络配置信息还包括:所述多个设备中至少一个设备的流策略,所述流策略包括:所述流策略所属的设备使用的用于控制报文转发的安全策略、过滤策略、访问控制列表acl规则中的至少一种;所述生成模块,用于根据所述流策略所属设备的等价地址集和所述流策略生成所述流策略所属的设备的基于等价地址集的转发策略,所述网络模型还包括所述转发策略。
34.在一种可能的实现方式中,所述生成模块,用于根据所述第一有状态设备的转发信息生成所述第一有状态设备的转发表,所述转发表的每个转发表项对应所述转发目的地址集合中的一个转发目的地址。
35.在一种可能的实现方式中,所述网络配置信息还包括:设备配置信息,所述设备配置信息包括:所述多个设备中的转发实例的配置参数和接口的配置参数;所述网络模型,还包括:所述转发实例的数据结构、所述接口的数据结构、链路的数据结构;其中,所述转发实例的数据结构用于描述所述转发实例与其它转发实例之间的关系,和/或与所述转发实例对应的接口之间的关系;所述接口的数据结构用于描述所述接口与所述接口对应的转发实例之间的关系,和/或与所连接的链路之间的关系;所述链路的数据结构用于描述所述链路与所述链路连接的接口之间的关系。
36.在一种可能的实现方式中,所述装置,还包括:验证模块,用于根据所述网络模型对所述待验证网络进行可达性验证。
37.在一种可能的实现方式中,所述验证模块,用于根据所述网络模型,基于源地址集
合和宿地址集合对所述待验证网络进行可达性验证,其中,所述源地址集合包括至少一个源地址,所述宿地址集合包括至少一个宿地址。
38.在一种可能的实现方式中,所述验证模块,用于根据所述网络模型,对从所述源地址集合中的源地址到所述宿地址集合中的宿地址之间的路径进行可达性验证。
39.在一种可能的实现方式中,所述验证模块,用于根据所述网络模型,对所述源地址集合中的源地址和所述宿地址集合中的宿地址对应的设备之间的路径进行可达性验证,其中,所述宿地址对应的设备包括:所述宿地址所属的设备,和/或,所述宿地址关联的设备。
40.在一种可能的实现方式中,所述装置还包括:输出模块,其中,所述验证模块,用于获取可达性验证结果;所述输出模块,用于输出所述可达性验证结果。
41.在一种可能的实现方式中,所述多个设备包括多个有状态设备,所述多个有状态设备中的第二有状态设备的转发信息包括转换源地址集合,所述转换源地址集合包括:所述第二有状态设备在对待转发报文的源地址进行转换时可用的多个被转换成的源地址的集合;所述第二有状态设备的转发表包括与所述多个被转换成的源地址对应的转发表项。
42.在本技术的第三方面中,用于实现可达性验证的装置的组成模块还可以执行前述第一方面以及各种可能的实现方式中所描述的步骤,详见前述对第一方面以及各种可能的实现方式中的说明。
43.第四方面,本技术实施例还提供一种用于实现可达性验证的装置,包括:获取模块,用于获取待验证网络的网络模型,所述网络模型包括:用于描述所述待验证网络中的多个设备之间的连接关系的信息和所述多个设备的转发表,所述多个设备包括至少一个有状态设备,所述至少一个有状态设备中的第一有状态设备的转发表包括与所述第一有状态设备在进行报文转发时可用的多个转发目的地址对应的转发表项;验证模块,用于根据所述网络模型对所述待验证网络进行可达性验证。
44.在一种可能的实现方式中,所述网络模型,还包括:所述待验证网络中的设备的转发实例的数据结构、所述转发实例的接口的数据结构、链路的数据结构;其中,所述转发实例的数据结构用于描述所述转发实例与其它转发实例之间的关系,和/或与所述转发实例对应的接口之间的关系;所述接口的数据结构用于描述所述接口与所述接口对应的转发实例之间的关系,和/或与所连接的链路之间的关系;所述链路的数据结构用于描述所述链路与所述链路连接的接口之间的关系。
45.在一种可能的实现方式中,所述验证模块,用于根据所述网络模型,基于源地址集合和宿地址集合对所述待验证网络进行可达性验证,其中,所述源地址集合包括至少一个源地址,所述宿地址集合包括至少一个宿地址。
46.在一种可能的实现方式中,所述验证模块,用于根据所述网络模型,对从所述源地址集合中的源地址到所述宿地址集合中的宿地址之间的路径进行可达性验证。
47.在一种可能的实现方式中,所述验证模块,用于根据所述网络模型,对所述源地址集合中的源地址和所述宿地址集合中的宿地址对应的设备之间的路径进行可达性验证,其中,所述宿地址对应的设备包括:所述宿地址所属的设备,和/或,所述宿地址关联的设备。
48.在一种可能的实现方式中,所述装置还包括:输出模块,其中,所述获取模块,用于获取可达性验证结果;所述输出模块,用于输出所述可达性验证结果。
49.在一种可能的实现方式中,所述多个设备包括多个有状态设备,所述多个有状态
设备中的第二有状态设备的转发表包括与所述第二有状态设备在对待转发报文的源地址进行转换时可用的多个被转换成的源地址对应的转发表项。
50.在本技术的第四方面中,用于实现可达性验证的装置的组成模块还可以执行前述第二方面以及各种可能的实现方式中所描述的步骤,详见前述对第二方面以及各种可能的实现方式中的说明。
51.第五方面,本技术实施例还提供一种可达性验证系统,包括:第一用于实现可达性验证的装置和第二用于实现可达性验证的装置;其中,
52.所述第一用于实现可达性验证的装置,用于获取待验证网络的网络配置信息和所述待验证网络中的多个设备的转发信息,其中,所述网络配置信息包括网络拓扑,所述多个设备包括至少一个有状态设备,所述至少一个有状态设备中的第一有状态设备的转发信息包括转发目的地址集合,所述转发目的地址集合包括:所述有状态设备在进行报文转发时可用的多个转发目的地址;
53.所述第一用于实现可达性验证的装置,用于根据所述网络配置信息和所述转发信息生成网络模型,其中,所述网络模型包括:根据所述网络配置信息确定的用于描述所述多个设备之间的连接关系的信息和根据所述转发信息确定的所述多个设备的转发表,其中所述第一有状态设备的转发表包括与所述多个转发目的地址对应的转发表项,所述网络模型用于对所述待验证网络进行可达性验证;
54.所述第一用于实现可达性验证的装置,用于向所述第二用于实现可达性验证的装置发送所述网络模型;
55.所述第二用于实现可达性验证的装置,用于获取待验证网络的网络模型,所述网络模型包括:用于描述所述待验证网络中的多个设备之间的连接关系的信息和所述多个设备的转发表,所述多个设备包括至少一个有状态设备,所述至少一个有状态设备中的第一有状态设备的转发表包括与所述第一有状态设备在进行报文转发时可用的多个转发目的地址对应的转发表项;
56.所述第二用于实现可达性验证的装置,用于根据所述网络模型对所述待验证网络进行可达性验证。
57.第六方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。
58.第七方面,本技术实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。
59.第八方面,本技术实施例提供一种通信装置,该通信装置可以是前述的用于实现可达性验证的装置和用于实现可达性验证的装置,该通信装置可以包括终端设备或者芯片等实体,所述通信装置包括:处理器,可选的,所述通信装置还包括存储器;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,使得所述通信装置执行如前述第一方面或第二方面中任一项所述的方法。
60.第九方面,本技术提供了一种芯片系统,该芯片系统包括处理器,用于支持用于实现可达性验证的装置和用于实现可达性验证的装置实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包
括存储器,所述存储器,用于保存用于实现可达性验证的装置和用于实现可达性验证的装置必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
61.图1为本技术实施例提供的一种用于实现可达性验证的装置的应用场景示意图;
62.图2为本技术实施例提供的一种用于实现可达性验证的方法的执行流程示意图;
63.图3为本技术实施例提供的一种待验证网络的应用场景示意图;
64.图4为本技术实施例提供的一种获取有状态设备的转发信息的应用场景示意图;
65.图5为本技术实施例提供的一种用于实现可达性验证的方法的执行流程示意图;
66.图6为本技术实施例提供的一种用于实现可达性验证的方法的执行流程示意图;
67.图7a为本技术实施例提供的一种用于实现可达性验证的装置的逻辑架构示意图;
68.图7b为本技术实施例提供的另一种用于实现可达性验证的装置的逻辑架构示意图;
69.图7c为本技术实施例提供的另一种用于实现可达性验证的装置的逻辑架构示意图;
70.图8为本技术实施例提供的一种网络模型的构建服务处理流程的示意图;
71.图9为本技术实施例提供的一种目标地址集合的应用场景示意图;
72.图10为本技术实施例提供的一种等价类的划分示意图;
73.图11为本技术实施例提供的一种用于实现可达性验证的装置的组成结构示意图;
74.图12为本技术实施例提供的一种用于实现可达性验证的装置的组成结构示意图;
75.图13为本技术实施例提供的一种用于实现可达性验证的装置的组成结构示意图;
76.图14为本技术实施例提供的一种用于实现可达性验证的装置的组成结构示意图。
具体实施方式
77.本技术实施例提供了一种用于实现可达性验证的方法和装置以及系统,用于支持有状态设备的可达性验证。
78.下面结合附图,对本技术的实施例进行描述。
79.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本技术的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
80.本技术实施例提供用于实现可达性验证的方法,该方法可以由用于实现可达性验证的装置来执行,该用于实现可达性验证的装置可以是网络中的服务器(server),或者是独立于网络的专用装置,此处不做限定。如图1所示,为本技术实施例中一种用于实现可达性验证的装置的应用场景示意图,用于实现可达性验证的装置120可以对待验证网络110进行可达性验证。该网络110中包括多个设备111,该设备111可以是有状态设备,有状态设备
又可以称为有状态网络设备,有状态设备指的是在报文转发过程中可以根据会话状态、设备状态等状态确定下一跳的设备。例如有状态设备可以包括:负载均衡器(load balance,lb)和防火墙(firewall,fw),不限定的是,本技术实施例有状态设备还可以是其它的网络设备,此处不做限定。
81.在本技术的一些实施例中,该网络110中包括的网络设备111还可以是无状态设备,无状态设备又可以称为无状态网络设备,无状态设备指的是在报文转发过程中根据用于确定下一跳的表项(如路由表项、转发表项、地址解析协议(address resolution protocol,arp)表项等)确定下一跳的设备。例如无状态设备可以包括:交换机和路由器,不限定的是,本技术实施例无状态设备还可以是其它的网络设备,此处不做限定。
82.其中,本技术实施例提供的用于实现可达性验证的装置120,用于获取待验证网络的网络配置信息和所述待验证网络中的多个设备的转发信息,其中,所述网络配置信息包括网络拓扑,所述多个设备包括至少一个有状态设备,所述至少一个有状态设备中的至少一个设备(后续称为第一有状态设备)的转发信息包括转发目的地址集合,所述转发目的地址集合包括:所述第一有状态设备在进行报文转发时可用的多个转发目的地址;根据所述网络配置信息和所述转发信息生成网络模型,其中,所述网络模型包括:根据所述网络配置信息确定的用于描述所述多个设备之间的连接关系的信息和根据所述转发信息确定的所述多个设备的转发表,其中该第一有状态设备的转发表包括与该多个转发目的地址对应的转发表项,所述网络模型用于对所述待验证网络进行可达性验证。本技术实施例中,该第一有状态设备在进行报文转发时可用的多个转发目的地址,指的是该第一有状态设备在进行报文转发时可作为新的报文目的地址的地址。
83.在本技术的另一些实施例中,用于实现可达性验证的装置120还可以用于根据所述网络模型对所述待验证网络进行可达性验证。
84.需要说明的是,在上述实施例中,装置120的功能可以由一个或多个设备实现,如装置120包括两个子装置120a和120b,分别部署在一个设备中,其中装置120a生成上述的网络模型,装置120b用于根据该网络模型对待验证网络进行可达性验证。本技术实施例中对于用于实现可达性验证的装置120的具体实现方式可以结合实际应用场景,此处不做限定。
85.本技术实施例还提供一种可达性验证系统,包括:第一用于实现可达性验证的装置和第二用于实现可达性验证的装置;其中,
86.所述第一用于实现可达性验证的装置,用于获取待验证网络的网络配置信息和所述待验证网络中的多个设备的转发信息,其中,所述网络配置信息包括网络拓扑,所述多个设备包括至少一个有状态设备,所述至少一个有状态设备中的第一有状态设备的转发信息包括转发目的地址集合,所述转发目的地址集合包括:所述有状态设备在进行报文转发时可用的多个转发目的地址;
87.所述第一用于实现可达性验证的装置,用于根据所述网络配置信息和所述转发信息生成网络模型,其中,所述网络模型包括:根据所述网络配置信息确定的用于描述所述多个设备之间的连接关系的信息和根据所述转发信息确定的所述多个设备的转发表,其中所述第一有状态设备的转发表包括与所述多个转发目的地址对应的转发表项,所述网络模型用于对所述待验证网络进行可达性验证;
88.所述第一用于实现可达性验证的装置,用于向所述第二用于实现可达性验证的装
置发送所述网络模型;
89.所述第二用于实现可达性验证的装置,用于获取待验证网络的网络模型,所述网络模型包括:用于描述所述待验证网络中的多个设备之间的连接关系的信息和所述多个设备的转发表,所述多个设备包括至少一个有状态设备,所述至少一个有状态设备中的第一有状态设备的转发表包括与所述第一有状态设备在进行报文转发时可用的多个转发目的地址对应的转发表项,该第一有状态设备的转发表还可以包括该第一有状态设备的地址(如该第一有状态设备的与目标业务对应的地址)与该多个转发目的地址(如用于实现该目标业务的多个服务器的地址)的对应关系;
90.所述第二用于实现可达性验证的装置,用于根据所述网络模型对所述待验证网络进行可达性验证。
91.在本技术实施例提供的可达性验证系统中,第一用于实现可达性验证的装置向第二用于实现可达性验证的装置发送网络模型,第二用于实现可达性验证的装置根据网络模型对待验证网络进行可达性验证,本技术实施例提供的待验证网络中包括有状态设备,可以获取到有状态设备的转发信息,本技术实施例生成的网络模型中包括有状态设备的转发表,本技术实施例中生成的网络模型可以支持有状态设备的可达性验证。
92.本技术实施例还提供用于实现可达性验证的方法,该方法可以由用于实现可达性验证的装置来执行,该用于实现可达性验证的装置可以是待验证网络中的服务器(server),或者是独立于该网络的专用装置,此处不做限定。
93.本技术实施例中待验证网络包括多个设备,待验证网络中包括的设备个数不做限定。该设备可以是网络设备,例如待验证网络中的一个网络设备可以包括一个或多个转发实例,该转发实例也可以称为转发节点(简称为节点(node)),网络设备可以有一个或多个接口(interface),转发节点和接口之间有对应关系,不同网络设备的转发节点之间通过接口相连,转发节点之间可以通过链路(link)连接在一起。
94.目前的网络中存在有状态设备的情况,该有状态设备具有会话状态、设备状态等状态,目前的可达性验证方案只能验证到该有状态设备的可达性,不能验证与该有状态设备连接的其它设备的可达性,造成无法进行端到端可达性验证的问题。
95.本技术实施例中待验证网络中的多个设备包括至少一个有状态设备,至少一个有状态设备中可以包括第一有状态设备,该第一有状态设备的转发信息包括转发目的地址集合,转发目的地址集合包括:有状态设备在进行报文转发时可用的多个转发目的地址。该第一有状态设备的转发信息可以认为是对第一有状态设备的状态配置信息进行“去状态处理”后得到的转发信息。例如,第一有状态设备为防火墙或负载均衡器。
96.在本技术的一些实施例中,待验证网络中的多个设备包括多个有状态设备,多个有状态设备中包括第二有状态设备,多个有状态设备中的第二有状态设备的转发信息包括转换源地址集合,所述转换源地址集合包括:所述第二有状态设备在对待转发报文的源地址进行转换时可用的被转换成的源地址的集合。该第二有状态设备的转发表可以认为是对第二有状态设备的状态配置信息进行“去状态处理”后得到的转发信息。
97.需要说明的是,第一有状态设备是针对报文转发时具有多个转发目的地址的有状态设备,例如第一有状态设备可以是负载均衡器,目前负载均衡器按照会话状态、设备状态(如该多个转发目的地址所属设备的状态,发送报文的设备的状态)等状态确定下一跳时,
只能确定出一个转发目的地址对应的下一跳,而本技术实施例中负载均衡器的转发目的集合中可以包括多个转发目的地址,相应地,根据该转发目的地址集合生成的转发表包括该多个转发目的地址对应的转发表项,因此本技术实施例中并不按照负载均衡器的会话状态、设备状态等确定下一跳,而是可以确定出多个转发目的地址对应的下一跳。因此本技术实施例中第一有状态设备的转发信息可以认为是“去状态处理”后的转发信息,相应地,该网络模型所包括的根据该转发信息生成的转发表也可以认为是无状态的,因此生成的网络模型也可以称为“通用网络模型”,或者称为“与状态无关的网络模型”,或者称为“与状态无关的通用网络模型”。
98.第二有状态设备是针对待转换报文的源地址需要被转换成多个源地址的有状态设备,例如第二有状态设备可以是防火墙,目前防火墙按照会话状态、设备状态等状态需要将报文的源地址转换为防火墙的一个源地址,对于具体的转换方法不做限定。而本技术实施例中防火墙的转换源地址集合包括:第二有状态设备在对待转发报文的源地址进行转换时可用的被转换成的源地址的集合,即本技术实施例中并不按照防火墙的会话状态、设备状态等进行源地址转发,而是可以确定出多个源地址。因此本技术实施例中第二有状态设备的转发表可以认为是“去状态处理”后的转发表,因此生成的网络模型也可以称为“通用网络模型”,或者称为“与状态无关的网络模型”,或者称为“与状态无关的通用网络模型”。
99.本技术实施例提供一种用于实现可达性验证的方法,可以实现对有状态设备的可达性验证,该用于实现可达性验证的方法可以由前述的用于实现可达性验证的装置来执行,如图2所示,本技术实施例提供的一种用于实现可达性验证的方法,具体可以包括如下步骤:
100.201、获取待验证网络的网络配置信息和待验证网络中的多个设备的转发信息。
101.本技术实施例中,用于实现可达性验证的装置可以针对待验证网络(后续简称为网络)进行数据采集,例如用于实现可达性验证的装置中可以部署有数据采集服务,从而可以从待验证网络中获取到网络配置信息和待验证网络中的多个设备的转发信息。其中,网络配置信息是指该待验证网络的各项配置信息,例如网络配置信息可以是针对网络拓扑的配置参数,可选的,该网络配置信息还可以包括网络设备的各项配置参数。其中,网络拓扑是指待验证网络的拓扑,网络拓扑可用于描述待验证网络的组成结构,例如网络拓扑中可以包括待验证网络中的多个设备,以及这些设备之间的连接关系,这些设备可以是交换机、路由器、防火墙、负载均衡器。网络拓扑具有配置信息,该网络拓扑的配置信息可以包括:路由动态协议、虚拟专用网络(virtual private network,vpn)、隧道等网络相关配置。
102.在本技术的一些实施例中,网络配置信息还可以包括设备配置信息。设备配置信息包括:多个设备中的转发实例的配置参数和接口的配置参数。
103.设备配置信息是指待验证网络中的设备的配置信息,例如该设备可以是有状态设备或者是无状态设备,其中,有状态设备可以是第一有状态设备,或者第二有状态设备。设备上包括一个或多个转发实例,转发实例也可以称为转发节点(node)。通过网络拓扑、转发实例的配置参数和接口的配置参数可以确定待验证网络中的链路。
104.其中,转发实例的配置参数是指与转发实例自身的配置相关的参数,例如有状态设备可以是防火墙,例如一个防火墙设备包含多个转发实例,一个转发实例代表一个vpn实例,一个转发实例可以用于处理一批业务。
105.接口的配置参数是指与转发实例的接口配置相关的参数,接口的配置参数可以称为接口信息。例如,接口的配置参数可以包括:接口编号及互联网协议(internet protocol,ip)地址等信息。
106.在本技术的一些实施例中,网络配置信息还包括:多个设备中至少一个设备的流策略,流策略包括:流策略所属的设备使用的用于控制报文转发的安全策略、过滤(filter)策略、访问控制列表(access control list,acl)规则中的至少一种。
107.其中,安全策略是指与转发实例的安全配置相关的策略。例如该安全策略可以包括转发实例拒绝对来自某个地址的报文进行转发。举例说明如下,对应192.168.2.0/24网段的报文需要按照转发信息(转发表中包含该网段)进行转发,但由于安全策略中配置的是针对该网段的拒绝(deny)信息,防火墙收到该报文后,该报文被防火墙终止掉,该报文的最终路径的终点是该防火墙。
108.过滤策略是指转发实例进行转发时与过滤配置相关的策略,例如该过滤策略包括对某个网段的报文进行转发,对其余网段的报文过滤掉,不再转发该报文。
109.acl规则可用于转发实例基于包过滤进行访问控制,acl规则中包括设定的条件,转发实例可以按照该acl规则对接口上的数据包进行过滤,允许其通过或丢弃。
110.本技术实施例中,除了获取网络配置信息,还可以获取待验证网络中的设备的转发信息,其中,设备的转发信息是该设备进行报文转发时需要使用的信息,例如获取待验证网络中的第一有状态设备的转发信息,还可以获取待验证网络中的无状态设备的转发信息。其中,至少一个有状态设备中的第一有状态设备的转发信息包括转发目的地址集合,该转发目的地址集合可以包括可用的多个转发目的地址,转发目的地址是有状态设备在进行报文转发时的目的地址。其中,可用的转发目的地址是指有状态设备在进行报文转发时能够使用的转发目的地址。第一有状态设备的转发表包括与多个转发目的地址对应的转发表项。
111.在本技术的一些实施例中,多个设备中任一无状态设备的转发信息包括路由表项、转发表项和地址解析协议(address resolution protocol,arp)表项中的至少一种。
112.其中,路由表中记录有转发实例对应的下一跳地址,转发实例根据当前的地址查询路由表项可以得到下一跳的地址,转发实例可以根据该路由表项进行转发。
113.转发表项可以根据路由表生成,转发表项直接用于指示当前报文的转发,转发实例可以在转发表项中无法查询到对应的下一跳地址时,去查询路由表。
114.arp表项用于转发实例进行报文转发时查询出接口,例如转发实例根据ip地址查询arp表项,可以查到对应的接口信息,例如通过arp表项查询出的接口是ge/0/0/2等。
115.202、根据网络配置信息和转发信息生成网络模型。
116.其中,网络模型包括:根据网络配置信息确定的用于描述多个设备之间的连接关系的信息和根据转发信息确定的多个设备的转发表,网络模型用于对待验证网络进行可达性验证。
117.在本技术实施例中,用于实现可达性验证的装置通过数据采集,得到网络配置信息和多个设备的转发信息之后,用于实现可达性验证的装置可以获取到网络配置信息包括的网络拓扑,用于实现可达性验证的装置还可以解析多个设备的转发信息,以获取到有状态设备的转发目的地址集合,该转发目的地址集合包括该有状态设备在进行报文转发时的
多个转发目的地址。接下来用于实现可达性验证的装置根据网络配置信息确定用于描述多个设备之间的连接关系的信息,用于实现可达性验证的装置根据转发信息确定多个设备的转发表,以此来生成网络模型,该网络模型包括了上述的多个设备之间的连接关系的信息,和多个设备的转发表。
118.本技术实施例中,网络模型中包括了多个设备的转发表,从而该网络模型可以用于对待验证网络进行可达性验证,该网络模型可以描述待验证网络中各个转发实例对报文的转发流程,并且该网络模型中描述的转发流程是与状态无关的,例如按照待验证网络中各设备的转发流程进行转发时,若该待验证网络中包括有状态设备,则需要考虑到有状态设备按照状态进行转发,而本技术实施例中可以生成网络模型,按照该网络模型进行转发过程分析时,网络模型中即使存在有状态设备,也会按照与状态无关的转发流程进行报文转发分析,因此本技术实施例解决了有状态设备的可达性验证问题。
119.在本技术的一些实施例中,步骤202根据网络配置信息和转发信息生成网络模型包括:
120.2021、获取目标地址集合,目标地址集合为多个设备中的第一有状态设备的转发目的地址集合,或者多个设备中的任一无状态设备的转发信息中用于匹配报文源地址的源地址集合,或者多个设备中的任一无状态设备的转发信息中用于匹配报文目的地址的目的地址集合,或者目标地址集合为多个设备中的第二有状态设备的转换源地址集合。
121.其中,根据转发信息和网络配置信息可以确定目标地址集合,该目标地址集合具有多种实现方式,例如对于有状态设备而言,目标地址集合为多个设备中的第一有状态设备的转发目的地址集合,即有状态设备的转发目的地址集合就是前述的目标地址集合。例如,该转发目的地址集合中包括多个转发目的地址,多个转发目的地址是有状态设备在不考虑状态时的全部转发目的地址,例如若有状态设备按照状态进行转发,只能使用1个转发目的地址,若该有状态设备不按照状态进行转发,则可以使用多个转发目的地址,此处仅做示例说明,不作为对本技术实施例的限定。又如,对于无状态设备而言,无状态设备的转发信息中用于匹配报文源地址的源地址集合就是前述的目标地址集合,无状态设备的转发信息中用于匹配报文目的地址的目的地址集合也可以是前述的目标地址集合,通过上述方式都可以获取到目标地址集合。又如,第二有状态设备的转换源地址集合包括:第二有状态设备在对待转发报文的源地址进行转换时可用的被转换成的源地址的集合,通过上述转换源地址集合可以得到目标地址集合。
122.2022、将目标地址集合中对应的下一跳相同的地址确定为一个等价地址集,以获取一个或多个等价地址集。
123.在获取到目标地址集合之后,确定目标地址集合中对应的下一跳的地址,将目标地址集合中对应的下一跳相同的地址确定为同一个等价地址集。即目标地址集合中对应的下一跳不相同的地址属于不同的等价地址集,以此确定出一个或多个等价地址集。一个等价地址集对应一个报文集合,且待验证网络中的某一个设备对该报文集合中的任意报文的转发行为都相同,即该报文集合中的任意报文在该设备上对应的下一跳相同。上述步骤2022也可以称为等价转发处理,获取到一个或多个等价地址集也可以称为等价转发结果。
124.其中,目标地址集合中对应的下一跳相同的地址确定为一个等价地址集,该等价地址集可以称为等价类(equivalence class,ec)。对应的下一跳相同具体可以是对应的下
一跳地址相同,也可以是对应的出接口相同。对于同一个等价地址集,同一转发实例对该等价地址集对应的任意报文进行转发时都会采用相同的转发路径,即根据相同的下一跳地址转发,或通过同一个出接口转发。一个等价地址集包括一个或多个ip地址,通常包括多个ip地址,具体可以是一个ip地址段,也可以包括多个ip地址段,也可以包括多个离散的ip地址,也可以包括ip地址和ip地址段的组合。
125.举例说明如下,根据预先确定的转发规则对应的全部ip地址段进行分段,例如假设确定出4个ec,分别为ec1、ec2、ec3和ec4。流策略是指网络设备上配置的acl、网络地址转换(network address translation,nat)等策略。例如,转发信息可以包括转发规则1、转发规则2和转发规则3。转发规则1、转发规则2和转发规则3分别对应一段ip地址,例如转发规则1的等价类可以是ec1和ec2,转发规则2的等价类可以是ec2和ec3,转发规则3的等价类可以是ec1和ec4,则等价地址集为每个转发规则的等价类。在进行报文转发时,对于转发规则1,则按照ec1和ec2进行转发,而不需要再按照单个ip地址进行转发。对于转发规则2,则按照ec2和ec3进行转发,而不需要再按照单个ip地址进行转发。对于转发规则3,则按照ec1和ec4进行转发,而不需要再按照单个ip地址进行转发。
126.举例说明如下,如图3所示,为本技术实施例提供的一种待验证网络的应用场景示意图。待验证网络中包括:设备1、设备2、设备3、设备4、设备m、设备n和lb,设备1通过接口1连接设备2,设备1通过接口2连接设备m,设备2通过接口3连接lb,设备2通过接口4连接设备n,lb通过接口5连接设备3,lb通过接口6连接设备4,设备3通过接口7连接服务器(server)1,设备3通过接口8连接服务器2,设备4通过接口9连接服务器3,设备4通过接口10连接服务器4。
127.其中,设备1的转发表中,目的地址为地址q时,对应的出接口为接口1,目的地址为地址2时,对应的出接口为接口2。
128.设备2的转发表中,目的地址为地址q时,对应的出接口为接口3,目的地址为地址3时,对应的出接口为接口4。
129.在lb没有执行步骤2022时,得到lb的转发表1。在转发表1中,lb地址为地址q时,对应的目的地址为地址a,对应的出接口为接口5。lb地址为地址q时,对应的目的地址为地址b,对应的出接口为接口5。lb地址为地址q时,对应的目的地址为地址c,对应的出接口为接口6。lb地址为地址q时,对应的目的地址为地址d,对应的出接口为接口6。
130.在lb执行步骤2022时,得到lb的转发表2。在转发表2中,lb地址为地址q时,对应目的地址为地址集1,对应的出接口为接口5。lb地址为地址q时,对应目的地址为地址集2,对应的出接口为接口6。
131.设备3的转发表中,目的地址为地址a时,对应的出接口为接口7,目的地址为地址b时,对应的出接口为接口8。
132.设备4的转发表中,目的地址为地址c时,对应的出接口为接口9,目的地址为地址d时,对应的出接口为接口10。
133.基于上述图3所示的待验证网络,若报文的源地址为设备1的地址(地址p),报文的宿地址为lb上与目标业务对应的地址(地址q)。server 1至server 4都可以提供该目标业务,server 1至server 4的地址分别为地址a、b、c、d,则根据lb的转发表1确定目的地址q对应的转发目的地址为地址a、b、c、d,将地址a、b、c、d作为新的报文目的地址查询转发表1,从
而进行进一步的可达性验证。在生成等价地址集的情况下,根据lb的转发表2确定目的地址q对应的转发目的地址为地址集1(包括地址a和地址b)和地址集2(包括地址c和地址d),将地址集1和地址集2作为新的报文目的地址查询转发表2,从而进行进一步的可达性验证。
134.2023、根据等价地址集生成目标地址集合所属设备的转发表,转发表的每个转发表项对应一个等价地址集。
135.在获取到一个或多个等价地址集之后,使用等价地址集生成转发表,该转发表中包括一个或多个转发表项,该转发表项与等价地址集一一对应。其中,一个转发表项包括一个等价地址集、以及用于指示该等价地址集对应的下一跳的信息(如下一跳的ip地址、第一有状态设备上对应该下一跳的接口的标识)。网络模型中可以包括上述目标地址集合所属设备的转发表。转发表中的每个转发表项与等价地址集对应,因此使用网络模型进行可达性验证时,可以通过等价地址集进行报文的批量转发分析,而不需要再针对每个转发目的地址进行转发分析,提高可达性验证的验证效率。
136.在本技术的另一些实施例中,网络配置信息还包括:多个设备中至少一个设备的流策略,流策略包括:流策略所属的设备使用的用于控制报文转发的安全策略、过滤策略、acl规则中的至少一种。对于流策略的说明,详见前述实施例,此处不再赘述。在获取到流策略的实现场景中,步骤202根据网络配置信息和转发信息生成网络模型,包括:
137.2024、根据流策略所属设备的等价地址集和流策略生成流策略所属的设备的基于等价地址集的转发策略,网络模型还包括转发策略。
138.其中,通过前述步骤2021至2023的方式生成设备的等价地址集,按照这种方式可以生成流策略所属的设备的等价地址集,根据流策略所属设备的等价地址集和流策略生成转发策略,该转发策略可以是转发实例进行转发时能够使用的策略,网络模型还包括转发策略。
139.其中,转发策略包括:转发实例进行转发时能够使用等价类,因此可以将“源-宿”单条路径(即源ip地址和宿ip地址之间)的可达性问题转化为“源-业务”批量(源ec和宿ec之间)的可达性的问题,实现有状态设备的批量可达性验证,提高可达性验证的验证效率。
140.需要说明的是,前述实施例步骤2021至步骤2023描述了一种生成网络模型的方式,不限定的是,本技术实施例中并不局限于上述模型生成方式,例如使用转发信息、流策略进行等价转发处理,可以直接生成转发策略,最后再基于转发策略生成网络模型,此处不做限定。
141.举例说明如下,如图4所示,为本技术实施例提供的一种获取有状态设备的转发信息的应用场景示意图。服务器(server)通过交换机连接到第二有状态设备,例如第二有状态设备可以是防火墙,server的缺省网关设置为防火墙的ge1/0/1接口。按照安全策略的要求,server访问外部网络(external network)时,源ip地址需被转换,转换成10.1.1.1至10.1.1.25这个地址范围内的ip地址。例如,报文的源ip地址为192.168.10.5,该地址的报文经过防火墙后可能是10.1.1.1至10.1.1.25这25个地址中的一个地址,具体转换成哪个ip地址依赖于防火墙的转换策略,例如会话状态等信息可用于确定报文的源ip地址转换为哪个地址,针对防火墙的转发信息包括10.1.1.1至10.1.1.25这25个地址,即需要将10.1.1.1至10.1.1.25全部作为转换后的源ip地址,即可以得到转换源地址集合,而不是根据防火墙的转换策略确定的一个转换后的源ip地址,从而验证该源ip地址被转换为该25个
源地址中每个源地址的情况下源地址与宿地址之间的可达性。
142.在本技术的另一些实施例中,还可以不采用等价地址集的方式生成转发表,例如步骤202根据网络配置信息和转发信息生成网络模型包括:
143.2025、根据第一有状态设备的转发信息生成第一有状态设备的转发表,转发表的每个转发表项对应转发目的地址集合中的一个转发目的地址。
144.其中,可以获取到一个或多个第一有状态设备的转发信息,由前述记载可知,第一有状态设备的转发信息包括转发目的地址集合,因此可以根据转发目的地址集合中的一个转发目的地址确定第一有状态设备的转发表中的转发表项,即转发目的地址集合中的转发目的地址和转发表中的转发表项一一对应,每个转发表项包括一个转发目的地址、以及用于指示该转发目的地址对应的下一跳的信息(如下一跳的ip地址、该第一有状态设备上对应该下一跳的接口的标识)。通过上述的转发地址集合可以生成第一有状态设备的转发表,因此通过上述方式可以生成网络模型,该网络模型中可以包括上述转发表。
145.在本技术的另一些实施例中,网络配置信息还包括:设备配置信息,设备配置信息包括:多个设备中的转发实例的配置参数和接口的配置参数。对于设备配置信息的说明,详见前述实施例,此处不再赘述。在获取到设备配置信息的应用场景中,可以根据网络拓扑和设备配置信息生成转发实例的数据结构、接口的数据结构、链路的数据结构,以此得到网络模型,该网络模型,还包括:转发实例的数据结构、接口的数据结构、链路的数据结构;
146.其中,转发实例的数据结构用于描述转发实例与其它转发实例之间的关系,和/或与转发实例对应的接口之间的关系;
147.接口的数据结构用于描述接口与接口对应的转发实例之间的关系,和/或与所连接的链路之间的关系;
148.链路的数据结构用于描述链路与链路连接的接口之间的关系。
149.具体的,网络模型中包括的转发实例的数据结构、接口的数据结构、链路的数据结构可以用于对待验证网络进行可达性验证。
150.在本技术的一些实施例中,在执行步骤201至步骤202之后,如图5所示,本技术实施例提供的方法还包括:
151.203、根据网络模型对待验证网络进行可达性验证。
152.其中,用于实现可达性验证的装置在生成网络模型之后,用于实现可达性验证的装置可以使用该网络模型对待验证网络进行可达性验证,从而用于实现可达性验证的装置可以获取到可达性验证的结果。解决了无法对有状态设备的可达性验证问题。
153.举例说明如下,首先用于实现可达性验证的装置进行数据采集,以得到转发实例、接口(interface)、链路(link)、流策略(policy)等信息,用于实现可达性验证的装置获取到上述信息之后,可以生成网络模型,该网络模型可用于对源宿地址进行可达性验证,例如基于源地址-》link(链路)-》interface(包括node)-》forward(转发表)-》policy(转发策略)的顺序依次查找路径是否可达。
154.以有状态设备为防火墙为例,例如:验证192.168.0.5到10.1.1.1/27的可达性,可达性验证主要包括如下流程:用于实现可达性验证的装置首先根据接口信息找到对应的接口,及vpn信息,该vpn信息与node一一对应,该node可是网络设备上的默认节点。然后找到防火墙接口fw ge1/0/1对应的link,在防火墙设备上,经过源地址转换,192.168.0.5转换
为源地址集ec1,接下来查询防火墙设备的转发表,ec1的下一跳地址是10.1.1.1,接口为fw ge1/0/2,然后查询转发表,由于ec1的转发表中记录的是拒绝(deny),该报文在防火墙就终止,假设ec1的转发表中记录的是允许(permit),则下一跳是防火墙的ge1/0/2接口,路径是server-》fwge1/0/1-》fwge1/0/2。
155.以有状态设备为负载均衡器为例,负载均衡器的状态配置信息的处理方式与防火墙的状态配置信息的处理方式不同,假设源地址为10.130.254.1:9081的报文,通过负载均衡器之后,可能的下一跳是10.130.6.31-10.130.6.40:1909,其中10.130.6.31-10.130.6.40这个地址段就可以形成一个等价类,根据该等价类和流策略生成转发策略,后续的可达性验证与防火墙的可达性验证类似,此处不再举例说明。
156.在本技术的一些实施例中,在执行步骤201至步骤202之后,本技术实施例提供的方法还包括:
157.获取可达性验证结果;
158.输出可达性验证结果。
159.其中,用于实现可达性验证的装置还可以获取到可达性验证结果,然后用于实现可达性验证的装置输出可达性验证的结果,具有多种实现方式,例如用于实现可达性验证的装置对可达性验证的结果进行展示,或者用于实现可达性验证的装置向显示装置发送该可达性验证的结果,使得显示装置可以对可达性验证的结果进行展示,例如显示装置可以是具有显示屏幕的终端。
160.不限定的是,在本技术的另一些实施例中,第一用于实现可达性验证的装置还可以向第二用于实现可达性验证的装置发送上述网络模型。由第二用于实现可达性验证的装置根据网络模型对待验证网络进行可达性验证。其中,第二用于实现可达性验证的装置获取到网络模型包括:用于描述所述待验证网络中的多个设备之间的连接关系的信息和所述多个设备的转发表,所述多个设备包括至少一个有状态设备,所述至少一个有状态设备中的第一有状态设备的转发表包括与所述第一有状态设备在进行报文转发时可用的多个转发目的地址对应的转发表项。
161.在本技术的一些实施例中,多个设备包括多个有状态设备,所述多个有状态设备包括第二有状态设备,第二用于实现可达性验证的装置获取到的网络模型还包括第二有状态设备的转发表,该第二有状态设备的转发表包括与所述第二有状态设备在对待转发报文的源地址进行转换时可用的多个被转换成的源地址对应的转发表项。如果对该多个被转换成的源地址进行等价地址集的划分,每个转发表项包括一个等价地址集、以及用于指示该等价地址集对应的下一跳的信息(如下一跳的ip地址、该第二有状态设备上对应该下一跳的接口的标识)。如果不对该多个被转换成的源地址进行等价地址集的划分,每个转发表项包括一个可用的被转换成的源地址、以及用于指示该源地址对应的下一跳的信息(如下一跳的ip地址、该第一有状态设备上对应该下一跳的接口的标识)。该第二有状态设备的转发表还可以包括用于匹配源地址的地址或地址段与该多个被转换成的源地址的对应关系。
162.接下来以用于实现可达性验证的装置进行可达性验证为例进行说明。
163.在本技术的一些实施例中,步骤203根据网络模型对待验证网络进行可达性验证,包括:
164.2031、根据网络模型,基于源地址集合和宿地址集合对待验证网络进行可达性验
证,其中,源地址集合包括至少一个源地址,宿地址集合包括至少一个宿地址。
165.其中,源地址是指待验证网络中的需要发送报文的转发实例的地址,宿地址是指待验证网络中的需要接收报文的转发实例的地址,用于实现可达性验证的装置可以基于源地址集合和宿地址集合对待验证网络进行可达性验证,上述可达性验证过程也可以称为“源宿可达性”验证。
166.在本技术的一些实施例中,步骤2031根据网络模型,基于源地址集合和待验证网络中的宿地址集合对待验证网络进行可达性验证,包括:
167.根据网络模型,对从源地址集合中的源地址到宿地址集合中的宿地址之间的路径进行可达性验证。
168.其中,从源地址到宿地址的路径是单向路径,可以根据网络模型对该单向路径进行可达性验证,另外,基于上述方式,同样的,从宿地址到源地址的路径也是单向路径,若用于实现可达性验证的装置对这两个单向路径都进行了可达性验证,则可以实现源宿双向可达性路径的验证,提升了可达性验证的验证效率。
169.在本技术的另一些实施例中,步骤2031根据网络模型,基于源地址集合和待验证网络中的宿地址集合对待验证网络进行可达性验证,包括:
170.根据网络模型,对源地址集合中的源地址和宿地址集合中的宿地址对应的设备之间的路径进行可达性验证,其中,宿地址对应的设备包括:宿地址所属的设备,和/或,宿地址关联的设备。
171.其中,可达性验证还可以指的是从源地址到宿地址对应的设备的路径进行验证,宿地址对应的设备包括:宿地址所属的设备,和/或,宿地址关联的设备。其中,宿地址关联的设备是指宿地址所属的设备直接或间接连接的设备,例如宿地址是负载均衡器的地址,则与该负载均衡器连接的多个业务服务器可以是宿地址关联的设备。通过上述方式,可以实现从源地址到宿地址对应的设备的可达性验证。
172.进一步的,在本技术的一些实施例中,宿地址集合中的宿地址为多个设备中的第一有状态设备上与目标业务对应的地址,宿地址关联的设备为提供目标业务的多个业务服务器。
173.其中,宿地址可以是有状态设备上与目标业务对应的地址,该目标业务由多个业务服务器提供,则宿地址关联的设备可以是该多个业务服务器。本技术实施例中,针对有状态设备连接的多个业务服务器都可以进行可达性验证。
174.通过前述内容对本技术实施例的举例说明可知,首先获取待验证网络的网络配置信息和待验证网络中的多个设备的转发信息,其中,网络配置信息包括网络拓扑,多个设备包括至少一个有状态设备,任一有状态设备中的第一有状态设备的转发信息包括转发目的地址集合,转发目的地址集合包括:有状态设备在进行报文转发时可用的多个转发目的地址;然后根据网络配置信息和转发信息生成网络模型,其中,网络模型包括:根据网络配置信息确定的用于描述多个设备之间的连接关系的信息和根据转发信息确定的多个设备的转发表,网络模型用于对待验证网络进行可达性验证。本技术实施例提供的待验证网络中包括有状态设备,可以获取到有状态设备的转发信息,本技术实施例生成的网络模型中包括有状态设备的转发表,本技术实施例中生成的网络模型可以支持有状态设备的可达性验证。
175.如图6所示,本技术实施例提供一种用于实现可达性验证的方法,包括:
176.501、获取待验证网络的网络模型。
177.所述网络模型包括:用于描述所述待验证网络中的多个设备之间的连接关系的信息和所述待验证网络中的多个设备的转发表,所述多个设备包括至少一个有状态设备,所述至少一个有状态设备中的第一有状态设备的转发表包括与所述有状态设备在进行报文转发时可用的多个转发目的地址对应的转发表项。
178.在本技术的一些实施例中,多个设备包括多个有状态设备,所述多个有状态设备包括第二有状态设备,用于实现可达性验证的装置获取到网络模型还包括第二有状态设备的转发表,该第二有状态设备的转发表包括与所述第二有状态设备在对待转发报文的源地址进行转换时可用的多个被转换成的源地址对应的转发表项。
179.需要说明的是,对于501中网络模型的详细说明,详见前述实施例。
180.502、根据所述网络模型对所述待验证网络进行可达性验证。
181.需要说明的是,对于502中可达性验证的具体过程,详见前述实施例。
182.通过前述内容对本技术实施例的举例说明可知,网络模型包括:根据网络配置信息确定的用于描述多个设备之间的连接关系的信息和根据转发信息确定的多个设备的转发表,网络模型用于对待验证网络进行可达性验证。本技术实施例提供的待验证网络中包括有状态设备,可以获取到有状态设备的转发信息,本技术实施例生成的网络模型中包括有状态设备的转发表,本技术实施例中生成的网络模型可以支持有状态设备的可达性验证。
183.为便于更好的理解和实施本技术实施例的上述方案,下面举例相应的应用场景来进行具体说明。
184.本技术实施例挺的用于实现可达性验证的装置的架构如图7a至图7c所示。本技术实施例提出一种可达性验证方案,采集网络设备的网络拓扑、设备配置信息、转发信息、状态配置信息,通过构建状态无关的网络模型,实现有状态设备的可达性验证,状态无关的网络模型即为前述图2所示的步骤202中生成的网络模型。
185.有状态设备的可达性验证包括如下服务:数据采集服务和网络模型构建服务。可选的,还可以包括可达性验证服务、验证报告管理服务。其中,
186.数据采集服务用于采集网络配置信息和状态配置信息,其中,网络配置信息可以包括:拓扑、设备配置信息、转发信息,其中,转发信息可以包括:arp表项、路由表项、转发表项、路由信息库(routing information base,rib)、转发信息库(forwarding information base,fib)。例如设备配置信息可以包括:物理节点、接口、链路、虚拟扩展局域网(virtual extensible local area network,vxlan)配置等。其中,状态配置信息与有状态设备的与转发状态相关,状态配置信息中包括的会话状态和设备状态等状态可用于有状态设备在报文转发过程中确定下一跳;
187.网络模型构建服务用于通过无状态化处理,生成网络模型,该网络模型可以是前述实施例中步骤202生成的网络模型,例如该网络模型可以包括转发实例的数据结构、接口的数据结构、链路的数据结构、转发表、转发策略等,
188.可达性验证服务用于使用网络模型,通过递归搜索等方案,完成源宿单向路径验证、全网全量验证、源宿双向路径验证。其中,源宿单向路径验证是指对从源地址到宿地址
translation,snat)等直接影响转发结果,与交换机/路由器设备类似,需要参与转发策略的构建。
200.如图9所示,应用场景中包括两个防火墙(fw1、fw2)、两个交换机(sw1、sw2)、两个负载均衡器(lb1、lb2)、3个服务器(server1、server2、server3)。对于负载均衡设备lb1,用户的每次业务请求,正常情况下,lb1会根据用户请求的会话信息以及server1、server2、server3的实际资源使用情况,通过负载均衡调度算法(包括轮询、权重、最少连接、最快回应、预测、动态权重及最新活动成员等算法)选出一个服务器,例如server3提供服务,这个负载均衡调度算法选出的server3就是单次转发的过程,带有与算法相关的server3的状态信息。转发地址全集指的是不考虑负载均衡调度算法的影响,从整体来看用户的业务请求最终调度的结果是server1、server2、server3这3个设备,这3个设备就是转发地址全集。
201.(3.2)、对于不是状态配置信息,对网络拓扑、设备配置信息等进行处理,生成节点信息、接口信息、链路信息。
202.其中,节点信息指的是前述实施例中转发实例的数据结构,接口信息指的是前述实施例中的接口的数据结构,链路信息指的是前述实施例中的链路的数据结构。
203.(4)、转发处理。
204.对步骤(3.1)中的转发地址全集和arp表项、路由表项、nat表项等信息进行等价转发处理,生成等价转发结果。
205.其中,步骤(4)中转发处理指的是前述实施例中步骤2022,详见前述的内容说明。此处生成的等价转发结果可以是前述的等价地址集,该等价地址集可以称为等价类(equivalence class,ec)。
206.如图10所示,一个等价类可以是一个数据包的集合p,且对于任意报文p1,p2属于p及网络设备r,p1和p2在r上的转发行为完全相同,首先将全部ip地址段分成4个部分:11.0.0.0-11.0.255.255、11.1.0.0-11.1.255.255、11.2.255.255-11.255.255.255、12.1.00-12.1.255.255,即可以假设有4个等价类:ec1、ec2、ec3、ec4。流策略是网络设备上配置的acl、nat等策略。例如,转发规则1为“rule 100permit source 11.0.0.00.255.255.255”,其影响的ip地址段是11.0.0.0/8,转发规则2为“rule 200permit source 11.0.0.0 0.255.255.255,rule 201permit source 12.1.0.0 0.0.255.255”,其影响的ip地址段是11.0.0.0/8、12.1.0.0/16,转发规则3为“rule 300permit source 11.1.0.00.0.255.255,rule 301permit source 12.1.0.0 0.0.255.255”,其影响的ip地址段是11.1.0.0/16、12.1.0.0/16。因此转发规则1对应的等价类为ec1、ec2,转发规则2对应的等价类为ec1、ec2、ec4,转发规则3对应的等价类为ec2、ec4。这样就可以将“源-宿”单条路径(即源ip和宿ip之间)可达性问题转化为“源-业务”批量(即源ec和宿ec之间)可达性的问题。
207.例如,根据步骤(4)中生成的等价类,结合安全策略、filter、acl等流策略生成相应的转发策略,例如对于转发规则1,生成的转发策略是:permit source ec1/ec2,对于转发规则2,生成的转发策略是:permit source ec1/ec2/ec4,对于转发规则3,生成的转发策略是:permit sourceec2/ec4。
208.(5)、策略处理。
209.在等价转发结果的基础上,结合设备的安全策略、过滤策略、acl等流策略生成相
应的转发策略。
210.其中,步骤(5)中的策略处理指的是前实施例中的步骤2024,详见前述的内容说明。
211.(6)、构建网络模型。
212.步骤(6)中构建的网络模型可以是前述实施例中步骤202生成的网络模型,例如该网络模型包括:用于描述所述待验证网络中的多个设备之间的连接关系的信息和所述多个设备的转发表,所述多个设备包括至少一个有状态设备,所述至少一个有状态设备中的第一有状态设备的转发表包括与所述第一有状态设备在进行报文转发时可用的多个转发目的地址对应的转发表项。
213.在本技术的一些实施例中,多个设备包括多个有状态设备,所述多个有状态设备中的第二有状态设备,网络模型还包括第二有状态设备的转发表,该第二有状态设备的转发表包括与所述第二有状态设备在对待转发报文的源地址进行转换时可用的多个被转换成的源地址对应的转发表项。
214.在本技术的一些实施例中,网络模型还包括:转发实例的数据结构、接口的数据结构、链路的数据结构、转发策略。
215.在得到步骤(6)所示的网络模型之后,可以对待验证网络进行可达性验证,从而实现“源-宿”单路径的验证,以及将“源-宿”单路径批量转化成“源ec-业务ec”的验证。基于转发表,将源端、宿端分别按照等价类的方式进行头空间划分,将“源-宿”单条路径可达性问题转化为“源ec-业务ec”批量路径可达性问题,大大提高了网络可达性验证的性能,同时在生成“源-业务”等价类的同时,根据转发表及转发策略,完成“业务-源”的可达性问题验证,实现源宿双向路径的可达性验证。
216.可达性验证服务通过网络模型构建服务生成的网络模型,基于转发表,将“源-业务”中的源端、业务端分别按照步骤(4)的方法进行头空间划分,等价类划分就是基于ip地址前缀进行划分的,即进行了头空间划分。将“源-宿”单条路径可达性问题转化为“源-业务”批量可达性的问题,然后通过递归搜索等方案,实现可达性的验证。
217.例如,需要验证源a到宿b的可达性。其中,宿b由有状态设备提供负载均衡服务,经步骤(3.1)无状态化处理后,b由11.0.0.1-10,11.1.0.1-10,12.1.0.1-10共30台vm组成,其中ethernet0/0/1由于故障状态为down,路由表如下表1所示,假定下一跳后正常可达,宿端等价类为如下3个等价类:ec1、ec2、ec4,通过路由表,可以看出ec1、ec2可达,ec4不可达,即有20个vm可达,10个vm不可达。这样将原本需要30次的源宿单条路径可达性验证转换成3次“源ec-业务ec”批量可达性验证的问题,大大提高了验证的效率。
[0218][0219]
表1所示的路由表
[0220]
验证报告管理服务基于可达性验证服务验证的结果,对源宿单向路径验证、源宿双向路径进行完整的展示。
[0221]
通过前述的举例说明可知,本技术实施例通过构建状态无关的网络模型,将“源宿”单条路径可达性问题转化为“源ec-业务ec”批量路径可达性问题,实现有状态设备的批量可达性验证。本技术实施例中通过“源ec-业务ec”可达性验证,解决了当前拨测方案中“源宿”单条路径逐个验证的效率问题,同时不需要专门的探测服务器,部署成本低。另外,本技术实施例可以对有状态设备进行验证。通过无状态处理,解决了有状态设备的无状态化处理的问题,将外部网元不直接感知、依赖内部逻辑实现的不确定性的转发行为转换成确定性静态转发模型,实现端到端的网络可达性验证。
[0222]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
[0223]
为便于更好的实施本技术实施例的上述方案,下面还提供用于实施上述方案的相关装置。
[0224]
如图11所示,本技术实施例提供一种用于实现可达性验证的装置1100,包括:
[0225]
获取模块1101,用于获取待验证网络的网络配置信息和所述待验证网络中的多个设备的转发信息,其中,所述网络配置信息包括网络拓扑,所述多个设备包括至少一个有状态设备,所述至少一个有状态设备中的第一有状态设备的转发信息包括转发目的地址集合,所述转发目的地址集合包括:所述有状态设备在进行报文转发时可用的多个转发目的地址;
[0226]
生成模块1102,用于根据所述网络配置信息和所述转发信息生成网络模型,其中,所述网络模型包括:根据所述网络配置信息确定的用于描述所述多个设备之间的连接关系的信息和根据所述转发信息确定的所述多个设备的转发表,其中所述第一有状态设备的转
发表包括与所述多个转发目的地址对应的转发表项,所述网络模型用于对所述待验证网络进行可达性验证。
[0227]
在本技术的一些实施例中,所述生成模块,用于获取目标地址集合,所述目标地址集合为所述多个设备中的第一有状态设备的所述转发目的地址集合,或者所述多个设备中的任一无状态设备的转发信息中用于匹配报文源地址的源地址集合,或者所述多个设备中的任一无状态设备的转发信息中用于匹配报文目的地址的目的地址集合;将所述目标地址集合中对应的下一跳相同的地址确定为一个等价地址集,以获取一个或多个等价地址集;根据所述等价地址集生成所述目标地址集合所属设备的转发表,所述转发表的每个转发表项对应一个等价地址集。
[0228]
在本技术的一些实施例中,所述网络配置信息还包括:所述多个设备中至少一个设备的流策略,所述流策略包括:所述流策略所属的设备使用的用于控制报文转发的安全策略、过滤策略、访问控制列表acl规则中的至少一种;
[0229]
所述生成模块,用于根据所述流策略所属设备的等价地址集和所述流策略生成所述流策略所属的设备的基于等价地址集的转发策略,所述网络模型还包括所述转发策略。
[0230]
在本技术的一些实施例中,所述生成模块,用于根据所述第一有状态设备的转发信息生成所述第一有状态设备的转发表,所述转发表的每个转发表项对应所述转发目的地址集合中的一个转发目的地址。
[0231]
在本技术的一些实施例中,所述网络配置信息还包括:设备配置信息,
[0232]
所述设备配置信息包括:所述多个设备中的转发实例的配置参数和接口的配置参数;
[0233]
所述网络模型,还包括:所述转发实例的数据结构、所述接口的数据结构、链路的数据结构;
[0234]
其中,所述转发实例的数据结构用于描述所述转发实例与其它转发实例之间的关系,和/或与所述转发实例对应的接口之间的关系;
[0235]
所述接口的数据结构用于描述所述接口与所述接口对应的转发实例之间的关系,和/或与所连接的链路之间的关系;
[0236]
所述链路的数据结构用于描述所述链路与所述链路连接的接口之间的关系。
[0237]
在本技术的一些实施例中,如图11所示,所述装置1100,还包括:
[0238]
验证模块1103,用于根据所述网络模型对所述待验证网络进行可达性验证。
[0239]
在本技术的一些实施例中,所述验证模块,用于根据所述网络模型,基于源地址集合和宿地址集合对所述待验证网络进行可达性验证,其中,所述源地址集合包括至少一个源地址,所述宿地址集合包括至少一个宿地址。
[0240]
在本技术的一些实施例中,所述验证模块,用于根据所述网络模型,对从所述源地址集合中的源地址到所述宿地址集合中的宿地址之间的路径进行可达性验证。
[0241]
在本技术的一些实施例中,所述验证模块,用于根据所述网络模型,对所述源地址集合中的源地址和所述宿地址集合中的宿地址对应的设备之间的路径进行可达性验证,其中,所述宿地址对应的设备包括:所述宿地址所属的设备,和/或,所述宿地址关联的设备。
[0242]
在本技术的一些实施例中,如图11所示,所述装置1100还包括:输出模块1104,其中,
[0243]
所述验证模块1103,用于获取可达性验证结果;
[0244]
所述输出模块1104,用于输出所述可达性验证结果。
[0245]
在本技术的一些实施例中,所述多个设备包括多个有状态设备,所述多个有状态设备中的第二有状态设备的转发信息包括转换源地址集合,所述转换源地址集合包括:所述第二有状态设备在对待转发报文的源地址进行转换时可用的多个被转换成的源地址的集合;所述第二有状态设备的转发表包括与所述多个被转换成的源地址对应的转发表项。
[0246]
在本技术的一些实施例中,前述的用于实现可达性验证的装置1100具体可以是第一用于实现可达性验证的装置,如图11所示,用于实现可达性验证的装置1100,还包括:发送模块1105,发送模块,用于向第二用于实现可达性验证的装置发送所述网络模型。
[0247]
如图12所示,本技术实施例提供一种用于实现可达性验证的装置1200,包括:
[0248]
获取模块1201,用于获取待验证网络的网络模型,所述网络模型包括:用于描述所述待验证网络中的多个设备之间的连接关系的信息和所述多个设备的转发表,所述多个设备包括至少一个有状态设备,所述至少一个有状态设备中的第一有状态设备的转发表包括与所述第一有状态设备在进行报文转发时可用的多个转发目的地址对应的转发表项;
[0249]
验证模块1202,用于根据所述网络模型对所述待验证网络进行可达性验证。
[0250]
在本技术的一些实施例中,所述网络模型,还包括:所述待验证网络中的设备的转发实例的数据结构、所述转发实例的接口的数据结构、链路的数据结构;
[0251]
其中,所述转发实例的数据结构用于描述所述转发实例与其它转发实例之间的关系,和/或与所述转发实例对应的接口之间的关系;
[0252]
所述接口的数据结构用于描述所述接口与所述接口对应的转发实例之间的关系,和/或与所连接的链路之间的关系;
[0253]
所述链路的数据结构用于描述所述链路与所述链路连接的接口之间的关系。
[0254]
在本技术的一些实施例中,所述验证模块,用于根据所述网络模型,基于源地址集合和宿地址集合对所述待验证网络进行可达性验证,其中,所述源地址集合包括至少一个源地址,所述宿地址集合包括至少一个宿地址。
[0255]
在本技术的一些实施例中,所述验证模块,用于根据所述网络模型,对从所述源地址集合中的源地址到所述宿地址集合中的宿地址之间的路径进行可达性验证。
[0256]
在本技术的一些实施例中,所述验证模块,用于根据所述网络模型,对所述源地址集合中的源地址和所述宿地址集合中的宿地址对应的设备之间的路径进行可达性验证,其中,所述宿地址对应的设备包括:所述宿地址所属的设备,和/或,所述宿地址关联的设备。
[0257]
在本技术的一些实施例中,如图12所示,所述装置1200还包括:输出模块1203,其中,
[0258]
所述验证模块1202,用于获取可达性验证结果;
[0259]
所述输出模块1203,用于输出所述可达性验证结果。
[0260]
在本技术的一些实施例中,所述多个设备包括多个有状态设备,所述多个有状态设备中的第二有状态设备的转发表包括与所述第二有状态设备在对待转发报文的源地址进行转换时可用的多个被转换成的源地址对应的转发表项。
[0261]
本技术实施例提供的一种用于实现可达性验证的装置,包括:存储器和处理器,其中,
[0262]
处理器,用于:
[0263]
获取待验证网络的网络配置信息和所述待验证网络中的多个设备的转发信息,其中,所述网络配置信息包括网络拓扑,所述多个设备包括至少一个有状态设备,所述任一有状态设备中的第一有状态设备的转发信息包括转发目的地址集合,所述转发目的地址集合包括:所述有状态设备在进行报文转发时可用的多个转发目的地址;
[0264]
根据所述网络配置信息和所述转发信息生成网络模型,其中,所述网络模型包括:根据所述网络配置信息确定的用于描述所述多个设备之间的连接关系的信息和根据所述转发信息确定的所述多个设备的转发表,其中所述第一有状态设备的转发表包括与所述多个转发目的地址对应的转发表项,所述网络模型用于对所述待验证网络进行可达性验证。
[0265]
在本技术的一些实施例中,所述有状态设备为防火墙或负载均衡器。
[0266]
在本技术的一些实施例中,所述多个设备中任一无状态设备的转发信息包括路由表项、转发表项和地址解析协议arp表项中的至少一种。
[0267]
在本技术的一些实施例中,所述根据所述网络配置信息和所述转发信息生成网络模型包括:
[0268]
获取目标地址集合,所述目标地址集合为所述多个设备中的第一有状态设备的所述转发目的地址集合,或者所述多个设备中的任一无状态设备的转发信息中用于匹配报文源地址的源地址集合,或者所述多个设备中的任一无状态设备的转发信息中用于匹配报文目的地址的目的地址集合;
[0269]
将所述目标地址集合中对应的下一跳相同的地址确定为一个等价地址集,以获取一个或多个等价地址集;
[0270]
根据所述等价地址集生成所述目标地址集合所属设备的转发表,所述转发表的每个转发表项对应一个等价地址集。
[0271]
在本技术的一些实施例中,所述网络配置信息还包括:所述多个设备中至少一个设备的流策略,所述流策略包括:所述流策略所属的设备使用的用于控制报文转发的安全策略、过滤策略、访问控制列表acl规则中的至少一种;
[0272]
所述根据所述网络配置信息和所述转发信息生成网络模型,包括:
[0273]
根据所述流策略所属设备的等价地址集和所述流策略生成所述流策略所属的设备的基于等价地址集的转发策略,所述网络模型还包括所述转发策略。
[0274]
在本技术的一些实施例中,所述根据所述网络配置信息和所述转发信息生成网络模型包括:
[0275]
根据所述第一有状态设备的转发信息生成所述第一有状态设备的转发表,所述转发表的每个转发表项对应所述转发目的地址集合中的一个转发目的地址。
[0276]
在本技术的一些实施例中,所述网络配置信息还包括:设备配置信息,
[0277]
所述设备配置信息包括:所述多个设备中的转发实例的配置参数和接口的配置参数;
[0278]
所述网络模型,还包括:所述转发实例的数据结构、所述接口的数据结构、链路的数据结构;
[0279]
其中,所述转发实例的数据结构用于描述所述转发实例与其它转发实例之间的关系,和/或与所述转发实例对应的接口之间的关系;
[0280]
所述接口的数据结构用于描述所述接口与所述接口对应的转发实例之间的关系,和/或与所连接的链路之间的关系;
[0281]
所述链路的数据结构用于描述所述链路与所述链路连接的接口之间的关系。
[0282]
在本技术的一些实施例中,处理器,用于:根据所述网络模型对所述待验证网络进行可达性验证。
[0283]
在本技术的一些实施例中,所述根据所述网络模型对所述待验证网络进行可达性验证,包括:
[0284]
根据所述网络模型,基于源地址集合和宿地址集合对所述待验证网络进行可达性验证,其中,所述源地址集合包括至少一个源地址,所述宿地址集合包括至少一个宿地址。
[0285]
在本技术的一些实施例中,所述根据所述网络模型,基于源地址集合和所述待验证网络中的宿地址集合对所述待验证网络进行可达性验证,包括:
[0286]
根据所述网络模型,对从所述源地址集合中的源地址到所述宿地址集合中的宿地址之间的路径进行可达性验证。
[0287]
在本技术的一些实施例中,所述根据所述网络模型,基于源地址集合和所述待验证网络中的宿地址集合对所述待验证网络进行可达性验证,包括:
[0288]
根据所述网络模型,对所述源地址集合中的源地址和所述宿地址集合中的宿地址对应的设备之间的路径进行可达性验证,其中,所述宿地址对应的设备包括:所述宿地址所属的设备,和/或,所述宿地址关联的设备。
[0289]
在本技术的一些实施例中,所述宿地址集合中的宿地址为所述多个设备中的第一有状态设备上与目标业务对应的地址,所述宿地址关联的设备为提供所述目标业务的多个业务服务器。
[0290]
在本技术的一些实施例中,处理器,用于:获取可达性验证结果;输出所述可达性验证结果。
[0291]
在本技术的一些实施例中,所述多个设备包括多个有状态设备,所述多个有状态设备中的第二有状态设备的转发信息包括转换源地址集合,所述转换源地址集合包括:所述第二有状态设备在对待转发报文的源地址进行转换时可用的多个被转换成的源地址的集合;所述第二有状态设备的转发表包括与所述多个被转换成的源地址对应的转发表项。
[0292]
本技术实施例提供的一种用于实现可达性验证的装置,包括:存储器和处理器,其中,
[0293]
处理器,用于:
[0294]
获取待验证网络的网络模型,所述网络模型包括:用于描述所述待验证网络中的多个设备之间的连接关系的信息和所述待验证网络中的多个设备的转发表,所述多个设备包括至少一个有状态设备,所述至少一个有状态设备中的第一有状态设备的转发表包括与所述有状态设备在进行报文转发时可用的多个转发目的地址对应的转发表项;
[0295]
根据所述网络模型对所述待验证网络进行可达性验证。
[0296]
在本技术的一些实施例中,所述有状态设备为防火墙或负载均衡器。
[0297]
在本技术的一些实施例中,所述多个设备中任一无状态设备的转发信息包括路由表项、转发表项和arp表项中的至少一种。
[0298]
在本技术的一些实施例中,所述网络模型,还包括:所述待验证网络中的设备的转
random access memory,英文缩写:nvram)。存储器1304存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
[0315]
处理器1303控制用于实现可达性验证的装置的操作,处理器1303还可以称为中央处理单元(英文全称:central processing unit,英文简称:cpu)。具体的应用中,用于实现可达性验证的装置的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
[0316]
上述本技术实施例揭示的方法可以应用于处理器1303中,或者由处理器1303实现。处理器1303可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1303中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1303可以是通用处理器、数字信号处理器(英文全称:digital signal processing,英文缩写:dsp)、专用集成电路(英文全称:application specific integrated circuit,英文缩写:asic)、现场可编程门阵列(英文全称:field-programmable gate array,英文缩写:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1304,处理器1303读取存储器1304中的信息,结合其硬件完成上述方法的步骤。
[0317]
接收器1301可用于接收输入的数字或字符信息,以及产生与用于实现可达性验证的装置的相关设置以及功能控制有关的信号输入,发射器1302可包括显示屏等显示设备,发射器1302可用于通过外接接口输出数字或字符信息。
[0318]
本技术实施例中,处理器1303,用于执行所述存储器中的所述指令,执行前述实施例中所描述的用于实现可达性验证的方法。
[0319]
接下来介绍本技术实施例提供的另一种用于实现可达性验证的装置,请参阅图14所示,用于实现可达性验证的装置1400包括:接收器1401、发射器1402、处理器1403和存储器1404(其中用于实现可达性验证的装置1400中的处理器1403的数量可以一个或多个,图14中以一个处理器为例)。在本技术的一些实施例中,接收器1401、发射器1402、处理器1403和存储器1404可通过总线或其它方式连接,其中,图14中以通过总线连接为例。
[0320]
存储器1404可以包括只读存储器和随机存取存储器,并向处理器1403提供指令和数据。存储器1404的一部分还可以包括非易失性随机存取存储器(英文全称:non-volatile random access memory,英文缩写:nvram)。存储器1404存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
[0321]
处理器1403控制用于实现可达性验证的装置的操作,处理器1403还可以称为中央
处理单元(英文全称:central processing unit,英文简称:cpu)。具体的应用中,用于实现可达性验证的装置的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
[0322]
上述本技术实施例揭示的方法可以应用于处理器1403中,或者由处理器1403实现。处理器1403可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1403中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1403可以是通用处理器、数字信号处理器(英文全称:digital signal processing,英文缩写:dsp)、专用集成电路(英文全称:application specific integrated circuit,英文缩写:asic)、现场可编程门阵列(英文全称:field-programmable gate array,英文缩写:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1404,处理器1403读取存储器1404中的信息,结合其硬件完成上述方法的步骤。
[0323]
接收器1401可用于接收输入的数字或字符信息,以及产生与用于实现可达性验证的装置的相关设置以及功能控制有关的信号输入,发射器1402可包括显示屏等显示设备,发射器1402可用于通过外接接口输出数字或字符信息。
[0324]
本技术实施例中,处理器1403,用于执行所述存储器中的所述指令,执行前述实施例中所描述的用于实现可达性验证的方法。
[0325]
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本技术提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
[0326]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用cpu、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本技术而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
[0327]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实
现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
[0328]
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1