CN111817907A - 一种可达性的验证方法和装置 - Google Patents
一种可达性的验证方法和装置 Download PDFInfo
- Publication number
- CN111817907A CN111817907A CN201910289461.8A CN201910289461A CN111817907A CN 111817907 A CN111817907 A CN 111817907A CN 201910289461 A CN201910289461 A CN 201910289461A CN 111817907 A CN111817907 A CN 111817907A
- Authority
- CN
- China
- Prior art keywords
- network
- edge device
- edge
- forwarding information
- devices
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
- H04L41/0873—Checking configuration conflicts between network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种可达性的验证方法和装置,控制设备执行的具体过程包括:接收网络中多个网络设备的转发信息,其中,该网络的多个网络设备包括第一边缘设备和第二边缘设备;基于第二边缘设备的转发信息确定该网络外且与该第二边缘设备可达的第一网络地址信息;基于第一网络地址信息和多个网络设备的转发信息,估计由第一边缘设备进入该网络且目的地址被第一网络地址信息覆盖的一个或多个报文是否能够被所述网络转发至第二边缘设备。这样,通过对边缘设备进行自动验证,降低了可达性验证的计算量和验证量,从而实现对网络可达性的快速、有效验证,提高了网络可达性的验证效率,降低了验证成本,从而提高了网络的安全性和可靠性。
Description
技术领域
本申请涉及网络安全技术领域,特别是涉及一种可达性的验证方法和装置。
背景技术
随着网络协议的样式和数量的增加以及网络规模的扩大,报文在网络中的转发行为变得越来越复杂,为了保证网络可靠、高效的运行,需要对网络功能进行验证。其中,可达性作为网络最为主要和基础的功能指标,高效的网络可达性验证变得十分重要。
可以理解的是,对于固有拓扑结构的待验证网络,各个网络设备均配置有对应的转发表,指示该网络设备的目的地址和输出端口的对应关系,报文按照当前的转发表在该网络中进行传输,若存在不能从该待验证网络中传输出来的报文,则视作该网络的当前转发表中存在错误,导致该网络不可达;若报文均能从该待验证网络中传输出来,则视作该网络的当前转发表均准确无误,确定该网络可达。
基于此,如何快速、有效的对网络的可达性进行验证,是目前亟待解决的问题。
发明内容
为了解决上述问题,本申请实施例提供了一种可达性的验证方法和装置,以使得即使针对复杂的待验证网络,也能够快速的对网络的可达性进行自动验证,确保了可达性验证的时效性,同时降低了网络可达性的验证成本,从而提高了网络的安全性和可靠性。
第一方面,提供了一种可达性的验证方法,由控制设备对即将配置给网络的转发信息进行可达性验证,具体可以通过下述过程实现:首先,由控制设备接收网络中多个网络设备的转发信息,其中,该网络的多个网络设备包括第一边缘设备和第二边缘设备;接着,该控制设备基于第二边缘设备的转发信息确定该网络外且与该第二边缘设备可达的第一网络地址信息;最后,该控制设备即可基于第一网络地址信息和多个网络设备的转发信息,估计由第一边缘设备进入该网络且目的地址被第一网络地址信息覆盖的一个或多个报文是否能够被所述网络转发至第二边缘设备。如果能够转发至第二边缘设备,则说明该预配置的转发信息中第一边缘设备到第二边缘设备的相关部分准确无误,即可确定从第一边缘设备可达第二边缘设备;相反,如果不能够转发至第二边缘设备,则说明该预配置的转发信息中第一边缘设备到第二边缘设备的相关部分存在错误,即,确定从第一边缘设备到第二边缘设备不可达。
这样,通过边缘设备可达的网络地址信息估计边缘设备之间的可达性,即,只针对边缘设备进行验证,大大的降低了可达性验证的计算量和验证量;而且,通过理论估计报文的转发情况,验证报文是否按照对该网络的预期规划进行转发,实现了可达性的自动化验证。进一步的,本申请实施例可以通过上述方法对网络中的所有边缘设备之间进行快速、有效的可达性验证,提高了网络可达性的验证效率,降低了验证成本,从而提高了网络的安全性和可靠性。
在第一方面中,第二边缘设备的转发信息可以为用于指导第二边缘设备向网络外转发报文的转发信息,第一网络地址信息可以根据第二边缘设备的转发信息中的目的互联网协议IP地址确定。
在第一方面的一种可能的实现方式中,对于控制设备基于第一网络地址信息和多个网络设备的转发信息,估计由第一边缘设备进入网络且目的地址被第一网络地址信息覆盖的一个或多个报文是否能够被网络转发至第二边缘设备,具体的实现过程可以包括:首先,控制设备以第一网络地址信息,确定IP地址;接着,该控制设备基于IP地址和多个网络设备的转发信息,确定以IP地址为目的IP地址的报文由第一边缘设备进入网络后,转发出网络经过的边缘设备;最后,控制设备分析转发出网络经过的边缘设备是否为第二边缘设备。其中,一种情况下,如果控制设备基于第一网络地址信息和多个网络设备的转发信息估计由第一边缘设备进入网络且目的地址被第一网络地址信息覆盖的一个或多个报文能够被网络转发至第二边缘设备,则,控制设备确定从第一边缘设备可达第二边缘设备;反之,如果控制设备基于第一网络地址信息和多个网络设备的转发信息估计由第一边缘设备进入网络且目的地址被第一网络地址信息覆盖的一个或多个报文不能够被网络转发至第二边缘设备,则,控制设备确定从第一边缘设备不可达第二边缘设备。如此,可以通过估计由第一边缘设备进入网络且目的地址被第一网络地址信息覆盖的一个或多个报文是否能够被网络转发至第二边缘设备,判断出该第一边缘设备到第二边缘设备是否可达。
在第一方面的另一种可能的实现方式中,若多个网络设备还包括第三边缘设备,则,本申请实施例提供的方法还可以包括:控制设备基于第三边缘设备的转发信息确定网络外且与第三边缘设备可达的第二网络地址信息;控制设备基于第二网络地址信息和多个网络设备的转发信息,估计由第一边缘设备进入网络且目的地址被第二网络地址信息覆盖的多个报文是否能够被网络转发至第三边缘设备。这样,可以通过本实施例验证第一边缘设备到其他多个边缘设备的可达性,提高了可达性验证的效率。
在第一方面的再一些可能的实现方式中,为了对网络整体的可达性进行验证,本实施例还可以包括:若网络中的所有边缘设备之间均可达,则,控制设备确定网络可达;若网络中至少一对边缘设备之间不可达,则,控制设备确定网络不可达。一些情况下,在控制设备确定网络不可达时,则,还可以定位出不可达的根因,即,本实施例还可以包括:控制设备确定网络中第四边缘设备不可达第五边缘设备;控制设备从第四边缘设备到第五边缘设备对应的转发信息中,定位出存在错误的转发信息。如此,即可对整个网络进行快速、有效的可达性验证,确保配置到网络中的转发信息准确无误,从而可以提高网络运行的安全性和可靠性。
第二方面,还提供了一种可达性验证的控制装置,包括:接收单元,用于接收网络中多个网络设备的转发信息,其中所述多个网络设备包括第一边缘设备和第二边缘设备;第一确定单元,用于基于所述第二边缘设备的转发信息确定所述网络外且与所述第二边缘设备可达的第一网络地址信息;第一估计单元,用于基于所述第一网络地址信息和所述多个网络设备的转发信息,估计由所述第一边缘设备进入所述网络且目的地址被所述第一网络地址信息覆盖的一个或多个报文是否能够被所述网络转发至所述第二边缘设备。其中,第二边缘设备的转发信息为用于指导第二边缘设备向所述网络外转发报文的转发信息,所述第一网络地址信息根据所述第二边缘设备的转发信息中的目的互联网协议IP地址确定。
第二方面的一种可能的实现方式中,第一估计单元,具体可以包括:第一确定子单元,用于以所述第一网络地址信息,确定IP地址;第二确定子单元,用于基于所述IP地址和所述多个网络设备的转发信息,确定以所述IP地址为目的IP地址的报文由所述第一边缘设备进入所述网络后,转发出所述网络经过的边缘设备;分析子单元,用于分析所述转发出所述网络经过的边缘设备是否为所述第二边缘设备。
第二方面的另一种可能的实现方式中,若所述多个网络设备还包括第三边缘设备,则,所述装置还包括:第二确定单元,用于基于所述第三边缘设备的转发信息确定所述网络外且与所述第三边缘设备可达的第二网络地址信息;第二估计单元,用于基于所述第二网络地址信息和所述多个网络设备的转发信息,估计由所述第一边缘设备进入所述网络且目的地址被所述第二网络地址信息覆盖的多个报文是否能够被所述网络转发至所述第三边缘设备。
第二方面的再一种可能的实现方式中,该装置还可以包括:第三确定单元,用于若基于所述第一网络地址信息和所述多个网络设备的转发信息估计由所述第一边缘设备进入所述网络且目的地址被所述第一网络地址信息覆盖的一个或多个报文能够被所述网络转发至所述第二边缘设备,则,确定从所述第一边缘设备可达所述第二边缘设备;第四确定单元,用于若基于所述第一网络地址信息和所述多个网络设备的转发信息估计由所述第一边缘设备进入所述网络且目的地址被所述第一网络地址信息覆盖的一个或多个报文不能够被所述网络转发至所述第二边缘设备,则,确定从所述第一边缘设备不可达所述第二边缘设备。
第二方面的又一种可能的实现方式中,该装置还可以包括:第五确定单元,用于若所述网络中的所有边缘设备之间均可达,则,确定所述网络可达;第六确定单元,用于若所述网络中至少一对边缘设备之间不可达,则,确定所述网络不可达。一种情况下,该装置还包括:第七确定单元,用于若确定所述网络不可达,则,确定所述网络中第四边缘设备不可达第五边缘设备;定位单元,用于从所述第四边缘设备到所述第五边缘设备对应的转发信息中,定位出存在错误的转发信息。
需要说明的是,本申请实施例在第二方面提供的装置,实现效果可以参见上述第一方面提供的方法的描述,这里不再赘述。
第三方面,本申请实施例提供了一种可达性验证的控制设备,该设备具有实现上述方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,上述设备的结构中包括处理器和收发器,所述处理器被配置为处理该可达性验证的控制装置执行上述方法中相应的功能。所述收发器用于实现上述可达性验证的控制装置与其他设备之间的通信。所述可达性验证的控制设备还可以包括存储器,所述存储器用于与处理器耦合,其保存该可达性验证的控制设备必要的程序指令和数据。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
第五方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
第六方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持上述装置或用户设备实现上述方面中所涉及的功能,例如,生成或处理上述方法中所涉及的信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存数据发送设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一场景的网络拓扑示意图;
图2为本申请实施例中为图1所示的目标网络的转发表示意图;
图3为本申请实施例中一种可达性的验证方法的流程示意图;
图4为本申请实施例中步骤303的一种实现方式的流程示意图;
图5为本申请实施例中另一种可达性的验证方法的流程示意图;
图6为本申请实施例中另一种可达性的验证方法的流程示意图;
图7为本申请实施例中一示例对应的一种可达路径的示意图;
图8为本申请实施例中一示例对应的可达树的示意图;
图9为本申请实施例中再一种可达性的验证方法的流程示意图;
图10为本申请实施例中又一种可达性的验证方法的流程示意图;
图11为本申请实施例中可达性的验证方法的一实例的流程示意图;
图12为本申请实施例中一种可达性验证的控制装置的结构示意图;
图13为本申请实施例中一种可达性验证的控制设备的结构示意图。
具体实施方式
可以理解的是,网络中一般存在多个网络设备(如:路由器),每个网络设备上包括至少一个端口。报文通过该网络从一个外部设备(例如:外部终端或者外部网络)达到另一外部设备时,按照该网络中已配置的转发表,在该网络中各网络设备的各端口之间进行转发。即,每个网络中,为了实现报文的有效转发,均需要配置指导报文转发的转发表。具体实现时,网络中的每个网络设备均对应一张转发表,每张转发表中包括多条转发表项,每条转发表项包括:该网络设备可达外部设备的互联网协议(英文:Internet Protocol,简称:IP)地址和该IP地址对应的输出端口。例如:对于图1所示的网络,包括节点A~节点F共六个网络设备,其中,网络设备A、网络设备B、网络设备C和网络设备D均包括3个端口,网络设备E和网络设备F包括4个端口。那么,根据图1示出的网络拓扑,可以为该网络中的六个网络设备分别配置一个转发表,例如:具体可以参见图2所示的网络中各网络设备的转发表的示意图,包括6张转发表,以网络设备A的转发表为例进行说明,网络设备A的转发表中包括6条转发表项,分别为:5.0.0.0/8(表示网络设备A可达外部设备的一个IP地址)和A1端口(表示该IP地址对应的输出端口)、6.0.0.0/8和A2端口、7.0.0.0/8和A2端口、8.0.0.0/8和A2端口、9.0.0.0/8和A3端口、以及10.0.0.0/8和A3端口。需要说明的是,网络的转发表的生成方式可以是:通过所使用的协议生成的,或者,通过技术人员手动配置的。转发表可以在网络运行开始时统一配置好,在网络运行的过程中,为了使该网络更加灵活的适应需求,也可以根据需求动态的进行再配置。
目前,随着网络规模的扩大以及网络协议数量的增加,报文在网络中的转发行为变得越来越复杂,那么,用于确保报文有效转发的转发表,其正确性成为保证网络可靠、高效运行的重要因素。对于已经配置转发表的网络,报文按照该已经配置的转发表在该网络中进行传输,如果当前所用的转发表准确无误,则输入该网络的报文应该都能按照预期规划的转发路径从该网络中被转发出来,也视作该网络可达;但是,如果当前所用的转发表存在错误,则输入该网络的报文在该网络中转发时,很可能存在不能按照预期规划的转发路径转发的情况,导致该报文不能被正确的转发出来,也视作该网络不可达。
基于此,本申请实施例提供了一种可达性的验证方法,可以快速的通过估计边缘设备之间的可达性判断该网络是否可达(即,该网络的转发表是否存在错误)。具体可以只针对网络中的边缘设备(即,直接和外部设备连接的网络设备)进行可达性验证,具体的验证方法可以包括:首先,由控制设备接收网络中多个网络设备的转发信息,其中,该网络的多个网络设备包括第一边缘设备和第二边缘设备;接着,该控制设备基于第二边缘设备的转发信息确定该网络外且与该第二边缘设备可达的第一网络地址信息;最后,该控制设备即可基于第一网络地址信息和多个网络设备的转发信息,估计由第一边缘设备进入该网络且目的地址被第一网络地址信息覆盖的一个或多个报文是否能够被所述网络转发至第二边缘设备。其中,多个网络设备的转发信息可以是待配置到网络中的转发信息,那么,如果能够转发至第二边缘设备,则说明该预配置的转发信息中第一边缘设备到第二边缘设备的相关部分准确无误,即可确定从第一边缘设备可达第二边缘设备,这样,即可将该验证后准确无误的转发信息配置到正在运行的网络中;相反,如果不能够转发至第二边缘设备,则说明该预配置的转发信息中第一边缘设备到第二边缘设备的相关部分存在错误,即,确定从第一边缘设备到第二边缘设备不可达,此时,可以再重新生成新的可达的预配置转发信息,或者也可以通过修正该预配置转发信息,再将准确无误的转发信息配置到正在运行的网络中。
这样,本申请实施例中通过边缘设备可达的网络地址信息估计边缘设备之间的可达性,即,只针对边缘设备进行验证,大大的降低了可达性验证的计算量和验证量;而且,通过理论估计报文的转发情况,验证报文是否按照对该网络的预期规划进行转发,实现了可达性的自动化验证。进一步的,本申请实施例可以通过上述方法对网络中的所有边缘设备之间进行快速、有效的可达性验证,提高了网络(尤其大规模、结构复杂的网络)可达性的验证效率,降低了验证成本,从而提高了网络的安全性和可靠性。
下面结合附图,通过实施例来详细说明本申请实施例中可达性的验证方法的具体实现方式。
参见图3,图3示出了本申请实施例中一种可达性的验证方法的流程示意图,该方法具体可以包括下述步骤301~步骤303:
步骤301,控制设备接收网络中多个网络设备的转发信息,其中,该多个网络设备包括第一边缘设备和第二边缘设备。
可以理解的是,对于网络中的每个网络设备,均包括若干个端口;按照端口是否连接到外部设备,可以将端口划分为两类:中间端口和终端口,其中,网络连接到外部设备的端口为终端口,网络中连接到内部其它网络设备的端口为中间端口。终端口所属的网络设备即可记作边缘设备。例如:对于图1所示网络的网络拓扑,包括20个端口,其中,包括6个终端口(分别为端口A1、B1、C1、D1、E4和F4)和14个中间端口,那么,该网络中的6个终端口所属的6个网络设备均为边缘设备。
具体实现时,控制设备在验证网络可达性时,第一步,可以根据该网络的网络拓扑确定该网络的边缘设备;第二步,接收该网络中多个网络设备的转发信息。
对于第一步,一种情况下,可以先确定出该目标网络中的所有端口,再遍历所有端口,查找所连接的另一端为外部设备的端口,确定为该网络的终端口,将这些终端口所属的网络设备记作边缘设备;另一种情况下,也可以先确定出该目标网络中的所有网络设备,再遍历所有网络设备,查找连接到外部设备的网络设备,记作该网络的边缘设备。本实施例中,以网络中的两个边缘设备(即,第一边缘设备和第二边缘设备)之间的可达性验证为例进行说明,对于其他边缘设备之间的可达性验证,均与本实施例提供的方法一致。
需要说明的是,在一些实现方式中,对于结构固定的网络,可以获取到该网络的网络模型文件,如:网络拓扑信息文件、各网络设备的端口信息文件和各网络设备的转发信息文件;并且,可以利用该网络的网络模型文件,确定出该目标网络的网络拓扑。例如:假设对于图1所示的网络,可以获取网络拓扑信息文件:
“[{“linkID”:“1”,“sourceInterfaceId”:“2”,“sourceNeId”:“A”,“dstNeId”:“B”,“outInterfaceId”:“2”},
{“linkID”:“2”,“sourceInterfaceId”:“2”,“sourceNeId”:“D”,“dstNeId”:“C”,“outInterfaceId”:“2”},
{“linkID”:“3”,“sourceInterfaceId”:“3”,“sourceNeId”:“A”,“dstNeId”:“E”,“outInterfaceId”:“1”},
{“linkID”:“4”,“sourceInterfaceId”:“3”,“sourceNeId”:“B”,“dstNeId”:“F”,“outInterfaceId”:“1”},
{“linkID”:“5”,“sourceInterfaceId”:“2”,“sourceNeId”:“E”,“dstNeId”:“F”,“outInterfaceId”:“2”},
{“linkID”:“6”,“sourceInterfaceId”:“3”,“sourceNeId”:“C”,“dstNeId”:“E”,“outInterfaceId”:“3”},
{“linkID”:“7”,“sourceInterfaceId”:“3”,“sourceNeId”:“D”,“dstNeId”:“F”,“outInterfaceId”:“3”}]”;
各网络设备的端口信息文件,如:网络设备A的端口文件:
“Status”:“UP”,“Id”:“1”,“name”:“10GE1/0/1”,“nodeId”:“A”,“nodeName”:“CE6855-A”
“Status”:“UP”,“Id”:“2”,“name”:“10GE1/0/2”,“nodeId”:“A”,“nodeName”:“CE6855-A”
“Status”:“UP”,“Id”:“3”,“name”:“10GE1/0/3”,“nodeId”:“A”,“nodeName”:“CE6855-A”
“Status”:“DOWN”,“Id”:“4”,“name”:“10GE1/0/4”,“nodeId”:“A”,“nodeName”:“CE6855-A”;
以及各网络设备的转发信息文件,如:网络设备A的转发信息文件:
[{“deviceId”:“A”,“outInterfaceId”:“1”,“dstIP”:“5.0.0.0/8”},
{“deviceId”:“A”,“outInterfaceId”:“2”,“dstIP”:“6.0.0.0/8”},
{“deviceId”:“A”,“outInterfaceId”:“2”,“dstIP”:“7.0.0.0/8”},
{“deviceId”:“A”,“outInterfaceId”:“2”,“dstIP”:“8.0.0.0/8”},
{“deviceId”:“A”,“outInterfaceId”:“3”,“dstIP”:“9.0.0.0/8”},
{“deviceId”:“A”,“outInterfaceId”:“3”,“dstIP”:“10.0.0.0/8”}];
得到的网络的网络拓扑如图1所示。其中,上述网络模型文件中,sourceInterfaceId指源端口,sourceNeId指源网络设备,dstNeId指目的网络设备,outInterfaceId指输出端口,deviceId指网络设备,dstIP指目的IP地址。需要说明的是,各网络设备的端口信息文件,用于在各网络设备的转发信息文件不完整时,确定各个网络设备中的端口情况,以便确定准确的网络拓扑。如:假设网络设备A的转发信息文件中无第一行,则,可以根据网络设备A的端口信息文件确定A1端口为该网络中网络设备A与外部设备连接的终端口。
可理解的是,可以根据上述方式确定出网络的网络拓扑,从而可以确定出该网络的边缘设备,而且,也可以从多个边缘设备中确定该网络的第一边缘设备和第二边缘设备。例如:对于图1所示的网络拓扑,可以获得该网络中的多个网络设备包括:网络设备A~网络设备F共6个,可以确定第一边缘设备为这6个网络设备中的任意一个(如:网络设备A),确定第二边缘设备为除了第一边缘设备之外的其他边缘设备中的任意一个。
需要说明的是,对于第一步(即,根据该网络的网络拓扑确定该网络的边缘设备)的上述过程,可以是控制设备自己完成;也可以由其他设备确定该网络中的边缘设备,并将所确定的边缘设备发送给该控制设备。
具体实现时,当完成第一步的根据该网络的网络拓扑确定该网络的边缘设备后,即可执行第二步:接收该网络中多个网络设备的转发信息。
其中,该多个网络设备的转发信息,可以是在需要为该网络重新配置转发信息时,预先通过手动配置的方式或者通过协议生成的方式,为网络预配置的转发信息。可以理解的是,该预配置的转发信息中,包括每个网络设备对应的转发信息,用于指导该网络设备在网络中如何转发报文。其中,每个网络设备的转发信息,具体可以是以转发信息表的形式体现。例如:假设该网络中包括3个网络设备A、B和C,那么,该转发信息包括:与网络设备A对应的转发信息表1、与网络设备B对应的转发信息表2和与网络设备C对应的转发信息表3。对于转发信息表,一种情况下,参见图2,示出了一实例中的预配置转发表,每个网络设备的预配置转发表均包括两个表项:目的IP地址和输出端口。另一种情况下,每个网络设备的预配置转发表还可以包括下一跳的网络设备。
为了避免将该预配置的转发信息直接配置到实际的网络中,一旦该预配置的转发信息存在错误,导致网络不可达等网络运行故障的问题,本申请实施例提供了对该预配置的转发信息进行可达性验证的方法,快速、有效的估计将该多个网络设备的转发信息实际配置到网络中,是否可以准确的被转发出该网络,以确保将该转发信息配置到网络中,该网络可以可靠和安全的运行。
步骤302,控制设备基于第二边缘设备的转发信息确定网络外且与第二边缘设备可达的第一网络地址信息。
可以理解的是,控制设备根据步骤301接收到了网站中多个网络设备的转发信息,其中包括第二边缘设备的转发信息,用于指示该第二边缘设备向网络外转发报文。例如:参见如2所示的转发信息,假设第二边缘设备为网络设备C,那么,该第二边缘设备的转发信息即为第6行转发表项:10.0.0.0/8(表示目的IP地址)和C1端口(表示输出端口)。
可以理解的是,控制设备可以根据第二边缘设备的转发信息确定网络外且与该第二边缘设备可达的第一网络地址信息。该第一网络地址信息,具体可以根据该第二边缘设备的转发信息中的目的IP地址确定。需要说明的是,网络中每个边缘设备,可能与一个外部设备连接,也可能与多个外部设备连接,那么,与每个边缘设备可达的网络地址信息,可以根据该边缘设备可达的外部设备数量以及外部设备的IP地址确定,具体可以包括一个或多个IP地址,也可以包括一个或多个IP网段(即,IP地址的前缀)。
作为一个示例,该第一网络地址信息,可以是指网络外且与第二边缘设备可达的一个外部设备的IP地址或者IP网段。例如:假设存在网络外且与第二边缘设备可达的一个外部设备O,该外部设备O的IP地址为:12.0.0.0/8,那么,一种情况下,该第二边缘设备对应的该第一网络地址信息可以是:12.0.0.0/8;另一种情况下,该第二边缘设备对应的该第一网络地址信息可以是:12(即,IP地址12.0.0.0/8对应的IP网段)。
作为另一个示例,该第一网络地址信息,可以是指网络外且与第二边缘设备可达的多个外部设备的IP地址或者IP网段。例如:假设存在网络外且与第二边缘设备可达的三个外部设备X、Y和Z,外部设备X的IP地址为:13.0.0.0/8,外部设备Y的IP地址为:14.0.0.0/8,外部设备Z的IP地址为:15.0.0.0/8,那么,一种情况下,该第二边缘设备对应的该第一网络地址信息可以是:{13.0.0.0/8,14.0.0.0/8,15.0.0.0/8};另一种情况下,该第二边缘设备对应的该第一网络地址信息可以是:{13,14,15}。
可以理解的是,控制设备在估计第一边缘设备到第二边缘设备是否可达之前,执行步骤302中根据第二边缘设备的转发信息确定第一网络地址信息,为后续执行步骤303,验证第一边缘设备到第二边缘设备的可达性提供了数据基础。
步骤303,控制设备基于第一网络地址信息和多个网络设备的转发信息,估计由第一边缘设备进入网络且目的地址被第一网络地址信息覆盖的一个或多个报文是否能够被网络转发至第二边缘设备。
可以理解的是,目的地址被第一网络地址信息覆盖的一个或多个报文,表示以第一网络地址信息中可能包括的IP地址或IP网段为目的地址的报文,该报文由于以第二边缘设备对应的第一网络地址信息为目的地址,理论上其能够按照该网络中多个网络设备的转发信息,被该网络转发至第二边缘设备,并从第二边缘设备转发至与该第二网络设备连接的外部设备。
例如,假设第二边缘设备对应的第一网络地址信息为12.0.0.0/8,那么,可以获得目的地址为12.0.0.0/8的报文0,该报文0在进入网络后,可以按照该网络中多个网络设备的转发信息在网络中进行转发,理论上可以经过第二边缘设备到达IP地址与报文0的目的地址12.0.0.0/8一致的外部设备。
又例如,假设第二边缘设备对应的第一网络地址信息为12,那么,可以获得目的地址对应的IP网段均为12的报文1、报文2、……、报文N(N为大于2的整数),该N个报文在进入网络后,也可以按照该网络中多个网络设备的转发信息在网络中进行转发,理论上可以经过第二边缘设备到达IP网段与这些报文的目的地址对应IP网段一致的外部设备。
再例如,假设第二边缘设备对应的第一网络地址信息为{13.0.0.0/8,14.0.0.0/8,15.0.0.0/8},那么,可以分别获得目的地址为13.0.0.0/8、14.0.0.0/8和15.0.0.0/8的多个报文,该多个报文在进入网络后,也可以按照该网络中多个网络设备的转发信息在网络中进行转发,理论上可以经过第二边缘设备到达IP地址与这些报文的目的地址一致的外部设备。
具体实现时,步骤303基于第一网络地址信息和多个网络设备的转发信息,计算由第一边缘设备进入网络且目的地址被第一网络地址信息覆盖的一个或多个报文在该网络中的转发情况,从而估计该一个或多个报文是否能够被转发至该第二边缘设备。
作为一个示例,步骤303具体可以通过图4所示的方法实现。参见图4,步骤303的实现具体可以包括下述步骤3031~步骤3033:
步骤3031,控制设备以第一网络地址信息,确定IP地址。
步骤3032,控制设备基于IP地址和多个网络设备的转发信息,确定以IP地址为目的IP地址的报文由第一边缘设备进入网络后,转发出网络经过的边缘设备。
步骤3033,控制设备分析转发出网络经过的边缘设备是否为第二边缘设备。
例如:假设第二边缘设备D对应的第一网络地址信息为8.0.0.0/8,那么,控制设备可以以该第一网络地址信息,确定IP地址为8.0.0.0/8;接着,该控制设备可以估计目的IP地址为该IP地址(即12.0.0.0/8)的报文从第一边缘设备A进入网络后,基于多个网络设备的转发信息在该网络中进行转发,转发出该网络且与外部设备直接连接的边缘设备;最后,控制设备可以分析该边缘设备是否是第二边缘设备D。
需要说明的是,对于第一网络地址信息为一个或多个IP网段或者多个IP地址的情况,对于每个IP地址或者IP网段对应的每个可能的IP地址,都可以分别执行上述步骤3031~步骤3033,利用以每个IP地址为目的IP地址的一个或多个报文验证第一边缘设备到第二边缘设备是否可达。
可以理解的是,若控制设备通过步骤303,估计出由第一边缘设备进入网络且目的地址被第一网络地址信息覆盖的一个或多个报文能够被所述网络转发至所述第二边缘设备,则,可以说明该预配置的多个网络设备的转发信息中,第一边缘设备到第二边缘设备的相关部分准确无误,那么,该控制设备可以确定从第一边缘设备可达第二边缘设备;相反的,若控制设备通过步骤303,估计出由第一边缘设备进入网络且目的地址被第一网络地址信息覆盖的一个或多个报文不能够被网络转发至所述第二边缘设备,则,可以说明该预配置的多个网络设备的转发信息中,第一边缘设备到第二边缘设备的相关部分存在错误,即,确定从第一边缘设备到第二边缘设备不可达。
需要说明的是,对于网络中的其他边缘设备之间,也可以按照上述步骤301~步骤303提供的方法,验证其可达性,具体实现方式参见上述对于第一边缘设备到第二边缘设备可达性的验证方法的实现及相关描述,在此不再赘述。
可见,通过本申请实施例提供的方法,可以由控制设备对即将配置给网络的转发信息中第一边缘设备到第二边缘设备之间的部分进行可达性验证,具体可以通过下述过程实现:首先,由控制设备接收网络中多个网络设备的转发信息,其中,该网络的多个网络设备包括第一边缘设备和第二边缘设备;接着,该控制设备基于第二边缘设备的转发信息确定该网络外且与该第二边缘设备可达的第一网络地址信息;最后,该控制设备即可基于第一网络地址信息和多个网络设备的转发信息,估计由第一边缘设备进入该网络且目的地址被第一网络地址信息覆盖的一个或多个报文是否能够被所述网络转发至第二边缘设备。如果能够转发至第二边缘设备,则说明该预配置的转发信息中第一边缘设备到第二边缘设备的相关部分准确无误,即可确定从第一边缘设备可达第二边缘设备;相反,如果不能够转发至第二边缘设备,则说明该预配置的转发信息中第一边缘设备到第二边缘设备的相关部分存在错误,即,确定从第一边缘设备到第二边缘设备不可达。
这样,通过边缘设备可达的网络地址信息估计边缘设备之间的可达性,即,只针对边缘设备进行验证,大大的降低了可达性验证的计算量和验证量;而且,通过理论估计报文的转发情况,验证报文是否按照对该网络的预期规划进行转发,实现了可达性的自动化验证。进一步的,本申请实施例可以通过上述方法对网络中的所有边缘设备之间进行快速、有效的可达性验证,提高了网络可达性的验证效率,降低了验证成本,从而提高了网络的安全性和可靠性。
在另一些实现方式中,假设该网络中的多个网络设备,包括第一边缘设备、第二边缘设备和第三边缘设备,那么,以第一边缘设备为报文进入网络的边缘设备,本申请实施例还可以同时对第一边缘设备到第二边缘设备以及第一边缘设备到第三边缘设备的可达性进行验证。图5示出了本申请实施例提供的另一种可达性的验证方法的流程示意图,参见图5,本申请实施例具体可以包括下述步骤501~步骤505:
步骤501,控制设备接收网络中多个网络设备的转发信息,其中该多个网络设备包括第一边缘设备、第二边缘设备和第三边缘设备。
需要说明的是,该步骤501的具体实现可以参见上述步骤301的相关描述,在此不再赘述。
步骤502,控制设备基于该第二边缘设备的转发信息确定该网络外且与第二边缘设备可达的第一网络地址信息。
步骤503,控制设备基于第三边缘设备的转发信息确定网络外且与第三边缘设备可达的第二网络地址信息。
需要说明的是,步骤502和步骤503的具体实现,均可以参见上述步骤302的相关描述,在此不再赘述。
需要说明的是,该步骤502和步骤503的执行没有先后顺序,可以同时执行步骤502和步骤503,也可以先执行步骤502再执行步骤503;还可以先执行步骤502再执行步骤503。
步骤504,控制设备基于第一网络地址信息和多个网络设备的转发信息,估计由第一边缘设备进入网络且目的地址被第一网络地址信息覆盖的一个或多个报文是否能够被所述网络转发至所述第二边缘设备。
步骤505,控制设备基于第二网络地址信息和多个网络设备的转发信息,估计由第一边缘设备进入网络且目的地址被第二网络地址信息覆盖的多个报文是否能够被网络转发至第三边缘设备。
需要说明的是,步骤504和步骤505的具体实现,均可以参见上述步骤303的相关描述,在此不再赘述。
需要说明的是,该步骤504可以在步骤502之后的任意时刻执行,不限定在步骤503之后、步骤505之前;而且,步骤505也可以在步骤503之后的任意时刻执行,不限定在步骤504之后。步骤504和步骤505的执行没有先后顺序,可以同时执行步骤504和步骤505,也可以先执行步骤504再执行步骤505;还可以先执行步骤505再执行步骤504。
需要说明的是,对于网络中的除了第一边缘设备、第二边缘设备和第三边缘设备之前的其他边缘设备,也可以按照上述步骤502(或步骤503)和步骤504(或步骤505)提供的方法,验证第一边缘设备到该其他边缘设备的可达性,具体实现方式参见上述步骤502(或步骤503)和步骤504(或步骤505)的实现及相关描述,在此不再赘述。
可见,通过本申请实施例提供的方法,可以由控制设备对即将配置给网络的转发信息中有关第一边缘设备的部分进行可达性验证,具体可以由该控制设备基于第一网络地址信息、第二网络地址信息和多个网络设备的转发信息,估计由第一边缘设备进入该网络且目的地址被第一网络地址信息和第二网络地址信息覆盖的多个报文是否能够被所述网络转发至第二边缘设备和第三边缘设备。如果能够转发至第二边缘设备和第三边缘设备,则说明该预配置的转发信息中第一边缘设备到第二边缘设备和第三边缘设备的相关部分准确无误,即可确定从第一边缘设备同时可达第二边缘设备和第三边缘设备;相反,如果不能够转发至第二边缘设备和第三边缘设备,则说明该预配置的转发信息中第一边缘设备到第二边缘设备和/或第三边缘设备的相关部分存在错误,即,确定从第一边缘设备到第二边缘设备和/或第三边缘设备不可达。这样,通过边缘设备可达的网络地址信息估计边缘设备之间的可达性,即,只针对边缘设备进行验证,大大的降低了可达性验证的计算量和验证量;而且,通过理论估计报文的转发情况,验证报文是否按照对该网络的预期规划进行转发,实现了可达性的自动化验证。进一步的,本申请实施例可以通过上述方法对网络中的所有边缘设备之间进行快速、有效的可达性验证,提高了网络可达性的验证效率,降低了验证成本,从而提高了网络的安全性和可靠性。
需要说明的是,在对预配置的多个网络设备的转发信息根据上述实施例进行可达性验证时,需要依次对该网络中的各个边缘设备之间进行可达性验证,即,控制设备将网络中的每个边缘设备作为第一边缘设备,将第一边缘设备之外的边缘设备作为第二边缘设备,分别执行一次图3所示的过程。为了整体体现该网络的可达状况,本申请实施例还包括:若网络中的所有边缘设备之间均可达,则,控制设备可以确定该网络可达;若网络中至少一对边缘设备之间不可达,则,控制设备可以确定该网络不可达。
一种情况下,若对该网络的可达性验证过程中,对每对边缘设备的可达性验证,验证结果均为可达,那么,可以确定该网络可达,并反馈网络可达的验证结果,以便完成将该预配置的多个网络设备的转发信息通过自动触发或者通知技术人员手段触发的方式,配置到实际网络中,作为指导该网络安全、可靠运行的转发信息。
另一种情况下,若对该网络的可达性验证过程中,存在至少一对边缘设备的可达性验证,验证结果为不可达,那么,可以确定该网络不可达,并反馈网络不可达的验证结果。作为一个实例,具体的验证过程可以是:一旦发现某一对边缘设备不可达,即终止本次验证,并将该次验证结果反馈给技术人员,通知其对不可达的原因进行定位以及修正;修正后,可以重新对每对边缘设备进行可达性验证,也可以对上次未验证的其余对边缘设备进行验证。作为另一个实例,还可以在完成对所有边缘设备对的可达性验证之后,统一将验证结果反馈给技术人员,通知其对一个或多个不可达的边缘设备对的不可达原因进行定位以及修正;修正后,可以结束验证,也可以重新对每对边缘设备进行可达性验证以提高该可达性验证的可靠性。如此,可以确保该预配置的多个网络设备的转发信息的准确性,从而确保将该转发信息配置到实际网络中,该网络可以安全、可靠的运行。
为了可以更加快速的提供可靠和安全的网络,本申请实施例还可以在网络不可达的情况下,快速、准确的对转发信息中的错误进行定位,具体可以包括:控制设备确定网络中第四边缘设备不可达第五边缘设备,那么,控制设备即可从第四边缘设备到第五边缘设备对应的转发信息中,定位出存在错误的转发信息。
需要说明的是,若有多对边缘设备之间不可达,可以从每对边缘设备对应的转发信息中,定位出导致该对边缘设备之间不可达的错误转发信息。具体实现时,为了方便技术人员对预配置的该多个网络设备的转发信息进行修正,或者,对错误的转发信息进行分析,可以将定位出的存在错误的转发信息作为验证结果的一部分反馈给技术人员,通知其存在问题的位置,以便其进行接下来的相关操作。
这样,通过本申请实施例提供的可达性的验证方法,通过对边缘设备之间进行自动验证,可以快速、有效的对预配置给网络的转发信息进行验证,不仅提高了网络可达性的验证效率,降低了验证成本,而且可以确保配置到实际网络中的转发信息的准确率,提高了网络的安全性和可靠性。
下面对本申请实施例提供的另一种可达性验证方式进行阐述,该实施例中,按照第二边缘设备的第一网络地址信息,预先筛选出可能从第一边缘设备进入网络并从第二边缘设备传输到外部设备的报文,组成第一报文集合,利用该第一报文集合和模拟出的该网络对应的模型,验证即将为该网络配置的预配置转发信息中,从第一边缘设备到第二边缘设备的传输行为对应的预配置转发信息是否正确。参见图6,该实施例具体可以包括以下内容,其中该实施例中的部分或全部操作可以控制设备执行。
步骤601,根据网络的网络拓扑,确定该网络的第一边缘设备和第二边缘设备。
步骤602,基于第二边缘设备对应的第一网络地址信息,模拟出从第一边缘设备进入网络并从第二边缘设备传输到外部设备的第一报文集合。
该第一网络地址信息为网络外且与第二边缘设备可达的网络地址信息,由该第二边缘设备的转发信息确定。
可以理解的是,报文中携带了影响其传输行为的字段,作为第一网络地址信息,例如:报文传输出网络后直接连接的外部设备的IP地址。例如:边缘设备B直接连接的外部设备的IP地址为:6.0.0.0/8,那么,边缘设备B对应的第一网络地址信息可以体现:6.0.0.0/8。需要说明的是,对于网络中的每个边缘设备,因为各边缘设备连接的外部设备不同,各边缘设备对应的第一网络地址信息也不同,故,模拟出的可以从各边缘设备传输至外部设备的报文也都不同。
对于确定的第一边缘设备和第二边缘设备,一种情况下,如果第二边缘设备为区别于第一边缘设备的另一个边缘设备,则,步骤302具体可以包括:S11,根据第二边缘设备所连接的外部设备的IP地址(或者IP地址对应的IP网段),确定该第二边缘设备对应的第一网络地址信息;S12,基于该第二边缘设备对应的第一网络地址信息,模拟出所有从第一边缘设备进入网络并从第二边缘设备传输到外部设备的报文,组成第一报文集合。
例如:假设模拟的报文为由0和1组成的字符串,也记作报文的包头,包头的字符串长度等于影响报文传输行为的字段总长度。如果只有目的IP地址影响报文的传输行为,那么,包头的字符串长度=目的IP地址的长度=32,即,模拟出的每个报文均为一个32位的、由0和1组成的字符串。如此,第一报文集合即为多个包头组组成的集合。仍然以图1所示的网络为例,假设第一边缘设备为A,第二边缘设备为B,那么,模拟出的从A进入目标网络并从B传输到外部设备的第一报文集合具体可以包括:FGB1={00000110000000000000000000000000,00000110000000000000000000000001,00000110000000000000000000000010,…,00000110111111111111111111111111}共224个包头,即224个报文,其中,每个包头的前8个字符代表影响传输行为的因素:目的IP地址对应的IP网段6。
另一种情况下,如果第二边缘设备为区别于第一边缘设备的多个边缘设备,则,步骤602具体可以包括:S21,根据每个第二边缘设备的IP地址(或者IP地址对应的IP网段),确定该第二边缘设备对应的第一网络地址信息;S22,基于每个第二边缘设备的第一网络地址信息,分别生成从每个第二边缘设备传输到外部设备的第一报文子集合;S23,计算每个第二边缘设备对应生成的第一报文子集合的并集,作为第一边缘设备的第一报文集合。
例如:仍然以图1所示的目标网络为例,假设第一边缘设备为A,第二边缘设备为B、C、D、E和F共5个,那么,模拟出的从A进入目标网络并从B传输到外部设备的第一报文子集合具体可以包括:FGB1={00000110000000000000000000000000,00000110000000000000000000000001,00000110000000000000000000000010,…,00000110111111111111111111111111},模拟出的从A进入目标网络并从C传输到外部设备的第一报文子集合具体可以包括:FGC1={00001010000000000000000000000000,00001010000000000000000000000001,00001010000000000000000000000010,…,00001010111111111111111111111111},模拟出的从A进入目标网络并从D传输到外部设备的第一报文子集合具体可以包括:FGD1={00001000000000000000000000000000,00001000000000000000000000000001,00001000000000000000000000000010,…,00001000111111111111111111111111},模拟出的从A进入目标网络并从E传输到外部设备的第一报文子集合具体可以包括:FGE4={00001001000000000000000000000000,00001001000000000000000000000001,00001001000000000000000000000010,…,00001001111111111111111111111111},模拟出的从A进入目标网络并从F传输到外部设备的第一报文子集合具体可以包括:FGF4={00000111000000000000000000000000,00000111000000000000000000000001,00000111000000000000000000000010,…,00000111111111111111111111111111};计算5个第一报文子集合的并集,即,第一边缘设备的第一报文集合=FGB1∪FGC1∪FGD1∪FGE4∪FGF4={00000110000000000000000000000000,00000110000000000000000000000001,…,00001010000000000000000000000000,00001010000000000000000000000001,…,00001010111111111111111111111111}共5*224个包头,即5*224个报文,其中,B对应的目的IP地址的IP网段为6、C对应的目的IP地址的IP网段为10、D对应的目的IP地址的IP网段为8、E对应的目的IP地址的IP网段为9和F对应的目的IP地址的IP网段为7。
需要说明的是,第一报文集合中包括的可以是模拟出的从第一边缘设备进入网络并从第二边缘设备传输到外部设备的所有报文,也可以是模拟出的从第一边缘设备进入网络并从第二边缘设备传输到外部设备的所有报文中的部分报文,具体实现方式相同,本实施例不作具体限定。
可以理解的是,模拟出第一报文集合,相当于在进行验证之前,从可能出现在该网络中报文中,分析并筛选出从第一边缘设备输入并从第二边缘设备传输到外部设备的报文集合,既为后续验证提供了较少的输入数据,在确保有效和完整验证的基础上,尽可能的减少了计算和验证量,又为后续验证提供了比较基准。故,步骤602中确定第一边缘设备的第一报文集合,为后续验证第一边缘设备到第二边缘设备的传输行为对应的转发表提供了数据基础。
步骤603,按照预配置的转发信息,将第一报文集合从网络对应的模型中的第一边缘设备输入,获得从第二边缘设备传输出的第二报文集合。
可以理解的是,当需要为网络重新配置转发信息时,可以预先通过手动配置的方式或者通过协议生成的方式,得到预配置的转发信息。但是,为了保险起见,一般先在搭建的网络对应的模型中,利用模拟出的第一报文集合对该预配置的转发信息进行验证,用于模拟将该预配置到网络中,各种可能进入到网络中的实际报文,是否可以准确的被转发出该网络。
其中,预配置的转发信息具体可以是针对网络中的每个网络设备,均配置一个预配置的转发信息,每个网络设备的预配置转发信息均包括两个表项:目的IP地址和输出端口,具体可以参见图2。
具体实现时,可以在计算机上搭建网络对应的模型,该模型中包括的网络设备以及端口情况与网络完全一致,而且基于每个边缘设备连接的外部设备的IP地址,为模型中的每个边缘设备设置对应的网络地址信息。在该模型中,仿真真实报文在真实的网络模型中转发的过程,具体包括:将第一报文集合从该模型的第一边缘设备输入,在该模型中按照预配置的转发信息进行传输,从该模型的第二边缘设备接收输出的报文,组成第二报文集合。
对于确定的第一边缘设备和第二边缘设备,一种情况下,如果第二边缘设备的个数为一个,则,步骤603具体可以为:S31,获取为网络预配置的转发信息;S32,以第一边缘设备为根节点,基于预配置的转发信息,生成第一边缘设备到第二边缘设备的可达路径;S33,将第一报文集合从根节点(即,第一边缘设备)输入,沿着该可达路径传输,获得从第二边缘设备输出的报文,组成第二报文集合。
例如:仍然以图1所示的目标网络为例,假设第一边缘设备为A,第二边缘设备为B,那么,将模拟出的第一报文集合FGB1从A进入目标网络,并按照图2所示的转发表,沿着图7所示的可达路径“A1-A2-B2-B1”传输,获得从B传输到外部设备的第二报文集合。若预配置的转发信息准确无误,则FGB1中的报文应该全部从B1传输出来,即,第二报文集合和FGB1应该包含完全相同的报文。
另一种情况下,如果第二边缘设备的个数为多个,则,步骤602具体可以包括:S41,获取为网络预配置的转发信息;S42,按照预配置的转发信息,将第一报文集合从网络对应的模型中的第一边缘设备输入,分别获得每个所述第二边缘设备传输到外部设备的第二报文子集合;S43,计算从每个第二边缘设备传输出的第二报文子集合的并集,作为第二报文集合。
该情况下,作为一个示例,S42具体可以包括:S421,以第一边缘设备为根节点,基于预配置的转发信息,生成第一边缘设备的可达树;S422,将第一报文集合从根节点输入到可达树,获得从叶子节点中的第二边缘设备输出的第二报文子集合。需要说明的是,若预配置的转发信息准确无误,那么,该可达树的所有叶子节点均为第二边缘设备;若预配置的转发信息存在错误,则该可达树的所有叶子节点中,可能既包括第二边缘设备又包括一些中间节点,如此,需要只将叶子节点中的第二边缘设备输出的报文,添加到第二报文集合。
例如:仍然以图1所示的目标网络为例,假设第一边缘设备为A,第二边缘设备为B、C、D、E和F共5个,那么,第一步,以A为根节点,按照图2所示的转发表,生成图8所示的可达树,其中灰色的为叶子节点和根节点;第二步,将模拟出的第一报文集合FGB1∪FGC1∪FGD1∪FGE4∪FGF4从A进入网络,沿着图8所示的可达树传输,分别获得从叶子节点中的第二边缘设备B、C、D、E和F传输到外部设备的5个第二报文子集合。接着,可以将获得的5个第二报文子集合取并集,得到从所有第二边缘设备传输出的所有报文。若预配置的转发信息准确无误,则从第一边缘设备输入的第一报文集合中的报文,应该全部从B、C、D、E和F这5个边缘设备传输出来,即,第二报文集合和第一报文集合应该包含完全相同的报文。
步骤604,判断第二报文集合与第一报文集合是否相同,若相同,则执行步骤605,否则,执行步骤606。
步骤605,确定从第一边缘设备到第二边缘设备的传输行为对应的预配置转发信息可达。
步骤606,确定从第一边缘设备到所述第二边缘设备的传输行为对应的预配置转发信息不可达。
可以理解的是,第一报文集合是模拟生成的报文集合,如果预配置的转发信息准确无误,该第一报文集合中的报文从第一边缘设备进入网络,则应用全部从第二边缘设备传输到外部设备的,即,通过模拟网络对应的模型和第一报文集合进行仿真得到的第二报文集合中应该包括第一报文集合中的所有报文。但是,一旦第二报文集合中的报文数量少于第一报文集合中的报文数量,则表示存在报文从第一边缘设备进入网络,依据预配置转发信息传输,但是并未从第二边缘设备输出,说明该预配置的转发信息中,从第一边缘设备到第二边缘设备的传输行为对应的部分是不可达的。
在一些实现方式中,若完成了对网络中的所有边缘设备的可达性验证,则,本申请实施例还可以包括:判断目标网络中的所有边缘设备之间的传输行为对应的预配置转发信息是否均可达,如果均可达,则说明将该预配置的转发信息准确无误,可以将其实际配置到该网络中使用,从而确定该网络可靠的运行;如果不是均可达,即,则说明给网络中至少一个边缘设备到其他边缘设备的传输行为对应的预配置转发信息存在错误,还不能将其实际配置到该网络中使用,从而确定该网络不可达,那么,可以再重新生成新的可达的预配置转发信息,或者也可以通过修正该预配置转发信息,确保将准确无误的转发信息配置到正在运行的网络中。如此,即可通过对数量较少的边缘设备的可达性验证,完成对整个网络较为全面的可达性验证,确保了将预配置的转发表实际配置到目标网络之前的准确性,提高了网络的安全性和可靠性。
作为一种示例,如果确定从第一边缘设备到第二边缘设备的传输行为对应的预配置转发信息不可达,则,还可以根据第一报文集合和第二报文集合的差异,定位出具体存在问题的转发表项,即,当确定存在不可达的问题时,本申请实施例还可以包括:比较第一报文集合和第二报文集合,得到差异报文;基于该差异报文,确定预配置的转发信息中存在错误的转发表项。可以理解的是,第二报文集合和第一报文集合相比,少的报文即为差异报文,出现差异报文的原因即为预配置的转发信息存在错误。差异报文从第一边缘设备输入到网络中,按照存在错误的预配置转发信息传输,无法从第二边缘设备输出,那么,在具体实现时,可以通过分析该差异报文的特点,定位出预配置的转发信息中存在错误的转发表项;或者,也可以将这些差异报文重新从第一边缘设备输入到网络对应的模型中,使其仍然按照该存在错误的转发信息传输,追踪该差异报文出现差异的位置,从而定位转发信息中存在错误的转发表项。
可见,通过本申请实施例提供的可达性的验证方法,按照第二边缘设备的第一网络地址信息预先筛选出可能从第一边缘设备进入网络并从第二边缘设备传输到外部设备的报文,组成第一报文集合,利用该第一报文集合和模拟出的网络对应的模型,验证即将为该网络配置的预配置转发表中,从第一边缘设备到第二边缘设备的传输行为对应的预配置转发信息是否正确。一方面,由于筛选出的第一报文集合包括的报文较少,而且只针对边缘设备进行验证,大大的降低了可达性验证的计算量和验证量;另一方面,通过将模拟出的第一报文集合作为应该输出的结果,和实际输出的第二报文集合进行比较,实现了可达性的自动化验证;故,本验证方式提高了可达性验证效率,降低了验证成本,从而提高了网络的安全性和可靠性。
需要说明的是,由于一个网络设备的转发信息中同一个网络地址信息可能会配置多个输出端口,导致同一报文从网络中多次输出,导致出现重复的报文记录,从而影响该可达性验证的准确性,而在本申请实施例中,采用并集的计算方式,避免了这一问题,提高了该验证方式的准确性。
另外,本申请实施例还提供了另一种可达性的验证方法,可以进一步减少计算量和验证量,尤其对于存在多于两个以上边缘设备的目标网络而言,可以提高可达性验证的时效性。该方法具体可以包括如图9所示的步骤(包括下述步骤901~步骤903以及步骤904a~步骤906a),也可以执行包括如图10所示的步骤(包括下述步骤901~步骤903以及步骤904b~步骤906b)。所述各操作中的部分或全部可以由控制设备执行。
步骤901,根据网络的网络拓扑,确定网络的第一边缘设备和第二边缘设备。
可以理解的是,步骤901的具体描述可以参见图6所示的实施例中关于步骤601的相关描述,这里不再赘述。
步骤902,基于第一边缘设备对应的第四网络地址信息和第二边缘设备对应的第一网络地址信息,生成该网络的有效报文集合;该有效报文集合为进入该网络并从第一边缘设备和第二边缘设备传输到外部设备的报文集合。
需要说明的是,为了进一步减少可达性验证的计算量,提高验证效率,可以生成目标网络的有效报文集合,这样,再针对各个边缘设备进行验证时,就无需再计算其对应的“第一报文集合”,而无论针对哪个边缘设备进行验证,均可以利用该有效报文集合,对其进行简单的处理和模拟仿真,即可完成可达性验证。
可以理解的是,基于第二边缘设备对应的第一网络地址信息,模拟生成第一报文集合的具体描述,可以参见步骤602中的相关描述;而且,基于第一边缘设备对应的第四网络地址信息,模拟生成进入该网络并从第一边缘设备传输到外部设备的报文集合,与模拟生成第一报文集合类似,故,其实现方式也可以参见步骤602的相关描述。
例如:仍然以图1所示的目标网络为例,假设第一边缘设备为A,第二边缘设备为B、C、D、E和F共5个,那么,模拟出的进入该网络并从B、C、D、E和F传输到外部设备的报文集合为:FG1=FGB1∪FGC1∪FGD1∪FGE4∪FGF4={00000110000000000000000000000000,00000110000000000000000000000001,…,00001010000000000000000000000000,00001010000000000000000000000001,…,00001010111111111111111111111111};模拟出的进入该网络并从A传输到外部设备的报文集合为:FG2=FGA1={00000101000000000000000000000000,00000101000000000000000000000001,…,00000101111111111111111111111111},对应A的目的IP地址5.0.0.0/8;那么,该网络的有效报文为:FG1∪FG2={00000101000000000000000000000000,00000101000000000000000000000001,…,00001010000000000000000000000000,00001010000000000000000000000001,…,00001010111111111111111111111111}共6*224个包头,即6*224个报文。
步骤903,基于第一边缘设备对应的第四网络地址信息,生成进入所述网络并从所述第一边缘设备传输到外部设备的第三报文集合。
可以理解的是,上述步骤902中相关举例中,报文集合FG2=FGA1={00000101000000000000000000000000,00000101000000000000000000000001,…,00000101111111111111111111111111}即为步骤903中的第三报文集合。第三报文集合具体可以根据第一边缘设备所连接的外部设备的IP地址,确定该第一边缘设备对应的第四网络地址信息,再基于该第一边缘设备对应的第四网络地址信息,模拟出所有进入网络并从第一边缘设备传输到外部设备的报文,组成第三报文集合。
需要说明的是,步骤902和步骤903在执行上没有先后顺序,可以先执行其中的任意一步,也可以同时执行,在此不作限定。
在一些实现方式中,在步骤903之后,可以执行下述步骤904a~步骤906a:
步骤904a,按照预配置的转发信息,将有效报文集合从网络对应的模型中的第一边缘设备输入,获得从第二边缘设备传输出的第二报文集合。
步骤905a,计算第二报文集合和第三报文集合的并集,记作第五报文集合。
步骤906a,若第五报文集合与有效报文集合相同,则确定从第一边缘设备到第二边缘设备的传输行为对应的预配置转发信息可达。
需要说明的是,由于有效报文集合中的第三报文集合,其模拟的是进入网络并从第一边缘设备传输到外部设备的报文,故,按照预配置的转发信息,将第三报文集合从网络对应的模型中的第一边缘设备输入,必然全部不能从第二边缘设备输出,即,第二报文集合中只包括进入网络并从第一边缘设备传输到外部设备的报文。因此,如果预配置的转发表准确无误,则,第二报文集合和输入的有效报文集合相比,刚好比有效报文集合少第三报文集合中的报文。
具体实现时,当仿真模拟得到第二报文集合后,可以先计算第三报文集合和第二报文集合的并集,将并集的结果(即第五报文集合)和该网络的有效报文集合相比,如果两者相同,则说明第二报文集合刚好比有效报文集合少了第三报文集合中的报文,即,应该从第二边缘设备输出的报文全部准确无误的输出,即可确定该第一边缘设备到第二边缘设备的传输行为对应的预配置转发信息可达;如果两者不相同,则说明第二报文集合除了比有效报文集合少第三报文集合中的报文,还少了其他的报文,即,应该从第二边缘设备输出的报文存在部分未输出的情况,即可确定该第一边缘设备到第二边缘设备的传输行为对应的预配置转发信息不可达。
在另一些实现方式中,为了尽量减少输入网络模型的报文,即,尽量减少验证量,提高验证效率,在步骤903之后可以执行下述步骤904b~步骤906b:
步骤904b,从有效报文集合中剔除所述第三报文集合,得到第四报文集合。
步骤905b,按照预配置的转发信息,将第四报文集合从网络对应的模型中的第一边缘设备输入,获得从第二边缘设备传输出的第二报文集合。
步骤906b,若第二报文集合和第四报文集合相同,则确定从第一边缘设备到第二边缘设备的传输行为对应的预配置转发信息可达。
由于有效报文集合中的第三报文集合,其模拟的是进入网络并从第一边缘设备传输到外部设备的报文,故,按照预配置的转发信息,将第三报文集合从网络对应的模型中的第一边缘设备输入,必然全部不能从第二边缘设备输出,那么,具体实现时,为了减少验证量,在进行仿真模拟过程之前,可以将第三报文集合从有效报文集合中剔除,得到第四报文集合;再将包含报文较少的第四报文按照预配置的转发信息,从网络对应的模型中的第一边缘设备输入,获得从第二边缘设备传输出的第二报文集合;最后,通过比较第二报文集合和第四报文集合是否相同,判断从第一边缘设备到第二边缘设备的传输行为对应的预配置转发信息是否可达。
可见,通过本申请实施例提供的可达性的验证方法,按照第二边缘设备的第一网络地址信息和第一边缘设备对应的第四网络地址信息,预先筛选出可能进入网络并从第一边缘设备和第二边缘设备传输到外部设备的报文,组成有效报文集合,利用该有效报文集合和模拟出的目标网络对应的模型,验证即将为该网络配置的预配置转发信息中,从第一边缘设备到第二边缘设备的传输行为对应的预配置转发信息是否正确。一方面,由于筛选出的第一报文集合包括的报文较少,而且只针对边缘设备进行验证,大大的降低了可达性验证的计算量和验证量;另一方面,通过将模拟出的有效报文集合作为验证基准,和实际输出的第二报文集合进行比较,实现了可达性的自动化验证;故,本验证方式提高了可达性验证效率,降低了验证成本,从而提高了网络的安全性和可靠性。
在介绍完本申请实施例的内容后,为了使本申请实施例提供的方法更加清楚,下面以图1所示的网络为例,结合附图11对本申请实施例中的具体场景示例进行如下描述。
参见图11,图11为本申请实施例提供的一种可达性验证方法的流程示意图。该方法具体可以包括下述步骤1101~步骤1112。以下操作中的部门或全部可以由控制设备执行。
步骤1101,读取目标网络的网络模型文件,并确定目标网络的网络拓扑。
需要说明的是,目标网络的网络拓扑具体如图1所示,包括网络设备A、B、C、D、E和F。
步骤1102,遍历该目标网络的所有网络设备,得到该目标网络的所有边缘设备。
可以理解的是,遍历该目标网络中的全部6个网络设备,获得6个边缘设备,分别为A、B、C、D、E和F。
步骤1103,计算该目标网络的有效包头空间HSeff。
可以理解的是,有效报文集合中的报文,可以是模拟出的包括包头的完整报文,也可以是只模拟了包头部分的字符串。若有效报文集合为包头部分的字符串的集合,那么,该有效包头空间即为有效报文集合。
具体实现时,对于每个边缘设备,计算进入目标网络并从该边缘设备输出到外部设备的包头,并将该边缘设备对应的包头都添加到有效包头集合中,当遍历完所有边缘设备后,得到的有效包头集合即为最终的有效包头集合。如:得到目标网络的HSeff={00000101000000000000000000000000,00000101000000000000000000000001,…,00001010000000000000000000000000,00001010000000000000000000000001,…,00001010111111111111111111111111}。
步骤1104,判断所有的边缘设备是否均完成可达性验证,如果是,则执行步骤1110;否则,执行步骤1105。
步骤1105,获取进入目标网络并从当前处理的边缘设备输出的包头,组成对应的转发组。
例如,假设当前处理的边缘设备为A,那么,A对应的转发组为:FGA1={00000101000000000000000000000000,00000101000000000000000000000001,…,00000101111111111111111111111111}。
步骤1106,以当前处理的边缘设备为根节点,基于图2所示的预配置的转发信息,生成当前处理的边缘设备的可达树;并且,将HSeff-FGA1从根节点输入到可达树。
步骤1107,判断从叶子节点中每个边缘设备输出的第二包头子集合的并集,是否与HSeff-FGA1相同,如果相同,则,执行步骤1108;否则,执行步骤1109。
可以理解的是,如图8所示的可达树上,每个叶子节点对应边缘设备输出的第二包头子集合的并集为:HS并=HSInB1∪HSInC1∪HSInD1∪HSInE4∪HSInF4={00000110000000000000000000000000,00000110000000000000000000000001,…,00001010000000000000000000000000,00001010000000000000000000000001,…,00001010111111111111111111111111}。如果HSeff-FGA1=HS并,则执行步骤1108,如果不成立,则执行步骤1109。
步骤1108,记录该当前处理的边缘设备可达,并返回执行步骤1104。
步骤1109,记录该当前处理的边缘设备不可达,并返回执行步骤1104。
步骤1110,判断所有边缘设备中是否存在不可达的情况,如果是,则执行步骤1111,否则,执行步骤1112。
步骤1111,确定目标网络不可达,且指出不可达的边缘设备。
步骤1112,确定目标网络可达,指示将该预配置的转发信息实际配置到目标网络中。
可见,该实施例采用的可达性验证方法,通过引入有效包头空间,并从网络中数量较少的边缘设备的广义可达性方面进行验证,可以简单、高效的实现对结构越来越复杂的网络进行可达性验证,提高了网络的可靠性和安全性。
如图12所示,本申请实施例还示出了本申请实施例提供的一种可达性验证的控制装置1200。该装置1200可包括接收单元1201、第一确定单元1202和第一估计单元1203。
具体实现时,该装置1200可用于执行上述图3中对应的可达性的验证方法。例如:
接收单元1201,用于接收网络中多个网络设备的转发信息,其中所述多个网络设备包括第一边缘设备和第二边缘设备;第一确定单元1202,用于基于所述第二边缘设备的转发信息确定所述网络外且与所述第二边缘设备可达的第一网络地址信息;第一估计单元1203,用于基于所述第一网络地址信息和所述多个网络设备的转发信息,估计由所述第一边缘设备进入所述网络且目的地址被所述第一网络地址信息覆盖的一个或多个报文是否能够被所述网络转发至所述第二边缘设备。其中,所述第二边缘设备的转发信息为用于指导第二边缘设备向所述网络外转发报文的转发信息,所述第一网络地址信息根据所述第二边缘设备的转发信息中的目的互联网协议IP地址确定。
由此,本申请实施例提供的可达性验证的控制装置1200,可以通过边缘设备可达的网络地址信息估计边缘设备之间的可达性,即,只针对边缘设备进行验证,大大的降低了可达性验证的计算量和验证量;而且,通过理论估计报文的转发情况,验证报文是否按照对该网络的预期规划进行转发,实现了可达性的自动化验证。进一步的,还可以对网络中的所有边缘设备之间进行快速、有效的可达性验证,提高了网络可达性的验证效率,降低了验证成本,从而提高了网络的安全性和可靠性。
作为一个示例,所述第一估计单元1203,具体可以包括:第一确定子单元,用于以所述第一网络地址信息,确定IP地址;第二确定子单元,用于基于所述IP地址和所述多个网络设备的转发信息,确定以所述IP地址为目的IP地址的报文由所述第一边缘设备进入所述网络后,转发出所述网络经过的边缘设备;分析子单元,用于分析所述转发出所述网络经过的边缘设备是否为所述第二边缘设备。
需要说明的是,该示例的相关实现,可以参见图4中步骤3031~步骤3033的相关描述,在此不再赘述。
可以理解的是,若所述多个网络设备还包括第三边缘设备,则,所述装置1200还包括:第二确定单元,用于基于所述第三边缘设备的转发信息确定所述网络外且与所述第三边缘设备可达的第二网络地址信息;第二估计单元,用于基于所述第二网络地址信息和所述多个网络设备的转发信息,估计由所述第一边缘设备进入所述网络且目的地址被所述第二网络地址信息覆盖的多个报文是否能够被所述网络转发至所述第三边缘设备。
在另一些实现方式中,该装置1200还可以包括:第三确定单元,用于若基于所述第一网络地址信息和所述多个网络设备的转发信息估计由所述第一边缘设备进入所述网络且目的地址被所述第一网络地址信息覆盖的一个或多个报文能够被所述网络转发至所述第二边缘设备,则,确定从所述第一边缘设备可达所述第二边缘设备;第四确定单元,用于若基于所述第一网络地址信息和所述多个网络设备的转发信息估计由所述第一边缘设备进入所述网络且目的地址被所述第一网络地址信息覆盖的一个或多个报文不能够被所述网络转发至所述第二边缘设备,则,确定从所述第一边缘设备不可达所述第二边缘设备。
在又一些实现方式中,该装置1200还可以包括:第五确定单元,用于若所述网络中的所有边缘设备之间均可达,则,确定所述网络可达;第六确定单元,用于若所述网络中至少一对边缘设备之间不可达,则,确定所述网络不可达。其中,如果第六确定单元确定该网络不可达,那么,该装置1200还可以包括:第七确定单元,用于若确定所述网络不可达,则,确定所述网络中第四边缘设备不可达第五边缘设备;定位单元,用于从所述第四边缘设备到所述第五边缘设备对应的转发信息中,定位出存在错误的转发信息。
需要说明的是,本申请实施例的该可达性验证的控制装置1200可以执行图3-图11对应的实施例中的控制设备执行的全部操作,实现效果可以参见上述图3对应的方法实施例中的相关描述,这里不再赘述。
图13示出了上述实施例中所涉及的可达性验证的控制设备的一种可能的结构示意图。该可达性验证的控制设备1300包括存储器1301、收发器1302和处理器1303,如图13所示。所述存储器1301用于与处理器1303耦合,其保存该可达性验证的控制设备1300必要的计算机程序。
具体实现时,所述处理器1303被配置为处理该可达性验证的控制设备1300执行图3所示的实施例中的方法的相应功能。所述收发器1302用于实现上述可达性验证的控制设备1300与其他设备之间的通信。所述可达性验证的控制设备1300还可以包括存储器1301,所述存储器1301用于与处理器1303耦合,其保存该可达性验证的控制设备1300必要的程序指令和数据。
可以理解的是,该可达性验证的控制设备1300可以使用处理器1303根据存储器1301中的计算机可读指令执行与附图3对应的内容,例如301~303,以及图4和图5对应的内容。此外,控制设备1300还可以使用处理器1303根据存储器1301中的计算机可读指令实现方法,从而进行网络可达性验证。该可达性验证的控制设备1300还可以是图12对应的实施例中的可达性验证的控制装置1200。需要说明的是,上述可达性验证的控制装置1200中的各个单元(例如:接收单元1201、第一确定单元1202和第一估计单元1203)可以是软件单元也可以是硬件单元,如果该可达性验证的控制装置1200中的单元是软件单元,那么,这些软件单元可以是存储于该可达性验证的控制设备1300的存储器1301中的计算机可读指令中的软件单元。如果该可达性验证的控制装置1200中的单元是硬件单元,在一个例子中,控制装置1200中的任意一个单元可以被理解为是基于处理器1303、存储器1301以及存储器1301中用于实现该单元的功能的计算机可读指令实现的。
需要说明的是,基于处理器1303、存储器1301以及存储器1301中用于实现该单元的功能的计算机可读指令,本申请实施例的该可达性验证的控制设备1300可以执行图3-图11对应的实施例中的控制设备执行的全部操作,实现效果可以参见上述图3-11对应的实施例中的相关描述,这里不再赘述。
本申请实施例中提到的“第一边缘设备”、“第一网络地址信息”等名称中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”等。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及设备实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请示例性的实施方式,并非用于限定本申请的保护范围。
Claims (14)
1.一种可达性的验证方法,其特征在于,包括:
控制设备接收网络中多个网络设备的转发信息,其中所述多个网络设备包括第一边缘设备和第二边缘设备;
所述控制设备基于所述第二边缘设备的转发信息确定所述网络外且与所述第二边缘设备可达的第一网络地址信息;
所述控制设备基于所述第一网络地址信息和所述多个网络设备的转发信息,估计由所述第一边缘设备进入所述网络且目的地址被所述第一网络地址信息覆盖的一个或多个报文是否能够被所述网络转发至所述第二边缘设备。
2.根据权利要求1所述的方法,其特征在于,所述第二边缘设备的转发信息为用于指导第二边缘设备向所述网络外转发报文的转发信息,所述第一网络地址信息根据所述第二边缘设备的转发信息中的目的互联网协议IP地址确定。
3.根据权利要求1或2所述的方法,其特征在于,所述控制设备基于所述第一网络地址信息和所述多个网络设备的转发信息,估计由所述第一边缘设备进入所述网络且目的地址被所述第一网络地址信息覆盖的一个或多个报文是否能够被所述网络转发至所述第二边缘设备,包括:
所述控制设备以所述第一网络地址信息,确定IP地址;
所述控制设备基于所述IP地址和所述多个网络设备的转发信息,确定以所述IP地址为目的IP地址的报文由所述第一边缘设备进入所述网络后,转发出所述网络经过的边缘设备;
所述控制设备分析所述转发出所述网络经过的边缘设备是否为所述第二边缘设备。
4.根据权利要求1~3任一项所述的方法,其特征在于,若所述多个网络设备还包括第三边缘设备,则,所述方法还包括:
所述控制设备基于所述第三边缘设备的转发信息确定所述网络外且与所述第三边缘设备可达的第二网络地址信息;
所述控制设备基于所述第二网络地址信息和所述多个网络设备的转发信息,估计由所述第一边缘设备进入所述网络且目的地址被所述第二网络地址信息覆盖的多个报文是否能够被所述网络转发至所述第三边缘设备。
5.根据权利要求1~4任一项所述的方法,其特征在于,若所述控制设备基于所述第一网络地址信息和所述多个网络设备的转发信息估计由所述第一边缘设备进入所述网络且目的地址被所述第一网络地址信息覆盖的一个或多个报文能够被所述网络转发至所述第二边缘设备,则,所述控制设备确定从所述第一边缘设备可达所述第二边缘设备;
若所述控制设备基于所述第一网络地址信息和所述多个网络设备的转发信息估计由所述第一边缘设备进入所述网络且目的地址被所述第一网络地址信息覆盖的一个或多个报文不能够被所述网络转发至所述第二边缘设备,则,所述控制设备确定从所述第一边缘设备不可达所述第二边缘设备。
6.根据权利要求1~5任一项所述的方法,其特征在于,还包括:
若所述网络中的所有边缘设备之间均可达,则,所述控制设备确定所述网络可达;
若所述网络中至少一对边缘设备之间不可达,则,所述控制设备确定所述网络不可达。
7.根据权利要求6所述的方法,其特征在于,若所述控制设备确定所述网络不可达,则,还包括:
所述控制设备确定所述网络中第四边缘设备不可达第五边缘设备;
所述控制设备从所述第四边缘设备到所述第五边缘设备对应的转发信息中,定位出存在错误的转发信息。
8.一种可达性验证的控制装置,其特征在于,包括:
接收单元,用于接收网络中多个网络设备的转发信息,其中所述多个网络设备包括第一边缘设备和第二边缘设备;
第一确定单元,用于基于所述第二边缘设备的转发信息确定所述网络外且与所述第二边缘设备可达的第一网络地址信息;
第一估计单元,用于基于所述第一网络地址信息和所述多个网络设备的转发信息,估计由所述第一边缘设备进入所述网络且目的地址被所述第一网络地址信息覆盖的一个或多个报文是否能够被所述网络转发至所述第二边缘设备。
9.根据权利要求8所述的装置,其特征在于,所述第二边缘设备的转发信息为用于指导第二边缘设备向所述网络外转发报文的转发信息,所述第一网络地址信息根据所述第二边缘设备的转发信息中的目的互联网协议IP地址确定。
10.根据权利要求8或9所述的装置,其特征在于,所述第一估计单元,包括:
第一确定子单元,用于以所述第一网络地址信息,确定IP地址;
第二确定子单元,用于基于所述IP地址和所述多个网络设备的转发信息,确定以所述IP地址为目的IP地址的报文由所述第一边缘设备进入所述网络后,转发出所述网络经过的边缘设备;
分析子单元,用于分析所述转发出所述网络经过的边缘设备是否为所述第二边缘设备。
11.根据权利要求8~10任一项所述的装置,其特征在于,若所述多个网络设备还包括第三边缘设备,则,所述装置还包括:
第二确定单元,用于基于所述第三边缘设备的转发信息确定所述网络外且与所述第三边缘设备可达的第二网络地址信息;
第二估计单元,用于基于所述第二网络地址信息和所述多个网络设备的转发信息,估计由所述第一边缘设备进入所述网络且目的地址被所述第二网络地址信息覆盖的多个报文是否能够被所述网络转发至所述第三边缘设备。
12.根据权利要求8~11任一项所述的装置,其特征在于,还包括:
第三确定单元,用于若基于所述第一网络地址信息和所述多个网络设备的转发信息估计由所述第一边缘设备进入所述网络且目的地址被所述第一网络地址信息覆盖的一个或多个报文能够被所述网络转发至所述第二边缘设备,则,确定从所述第一边缘设备可达所述第二边缘设备;
第四确定单元,用于若基于所述第一网络地址信息和所述多个网络设备的转发信息估计由所述第一边缘设备进入所述网络且目的地址被所述第一网络地址信息覆盖的一个或多个报文不能够被所述网络转发至所述第二边缘设备,则,确定从所述第一边缘设备不可达所述第二边缘设备。
13.根据权利要求8~12任一项所述的装置,其特征在于,还包括:
第五确定单元,用于若所述网络中的所有边缘设备之间均可达,则,确定所述网络可达;
第六确定单元,用于若所述网络中至少一对边缘设备之间不可达,则,确定所述网络不可达。
14.根据权利要求13所述的装置,其特征在于,还包括:
第七确定单元,用于若确定所述网络不可达,则,确定所述网络中第四边缘设备不可达第五边缘设备;
定位单元,用于从所述第四边缘设备到所述第五边缘设备对应的转发信息中,定位出存在错误的转发信息。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910289461.8A CN111817907B (zh) | 2019-04-11 | 2019-04-11 | 一种可达性的验证方法和装置 |
PCT/CN2020/081794 WO2020207274A1 (zh) | 2019-04-11 | 2020-03-27 | 一种可达性的验证方法和装置 |
EP20787397.7A EP3930262A4 (en) | 2019-04-11 | 2020-03-27 | AVAILABILITY VERIFICATION METHOD AND DEVICE |
US17/494,931 US11743066B2 (en) | 2019-04-11 | 2021-10-06 | Reachability verification method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910289461.8A CN111817907B (zh) | 2019-04-11 | 2019-04-11 | 一种可达性的验证方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111817907A true CN111817907A (zh) | 2020-10-23 |
CN111817907B CN111817907B (zh) | 2022-12-30 |
Family
ID=72750974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910289461.8A Active CN111817907B (zh) | 2019-04-11 | 2019-04-11 | 一种可达性的验证方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11743066B2 (zh) |
EP (1) | EP3930262A4 (zh) |
CN (1) | CN111817907B (zh) |
WO (1) | WO2020207274A1 (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1708962A (zh) * | 2002-10-28 | 2005-12-14 | 思科技术公司 | 用于移动路由器之间拓扑更新的部署 |
US20060056384A1 (en) * | 2004-09-16 | 2006-03-16 | Fujitsu Limited | Provider network for providing L-2 VPN services and edge router |
CN103532818A (zh) * | 2013-10-24 | 2014-01-22 | 福建师范大学 | 一种vpn链路可达性的快速测试方法 |
CN103546374A (zh) * | 2012-07-10 | 2014-01-29 | 杭州华三通信技术有限公司 | 一种边缘二层网络中转发报文的方法和装置 |
US20140169368A1 (en) * | 2012-12-19 | 2014-06-19 | Cisco Technology, Inc. | Method and apparatus for forwarding information base scaling |
WO2015157096A1 (en) * | 2014-04-10 | 2015-10-15 | Level 3 Communications, Llc | Proxy of routing protocols to redundant controllers |
CN105634839A (zh) * | 2014-10-29 | 2016-06-01 | 华为技术有限公司 | 一种用于获得网络可达地址空间的方法和装置 |
EP3110086A1 (en) * | 2015-06-23 | 2016-12-28 | Juniper Networks, Inc. | System and method for detecting network neighbor reachability |
CN106789629A (zh) * | 2016-12-23 | 2017-05-31 | 锐捷网络股份有限公司 | 业务快速收敛方法及装置 |
CN106878106A (zh) * | 2017-02-24 | 2017-06-20 | 新华三技术有限公司 | 一种可达性检测方法及装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7349346B2 (en) * | 2002-10-31 | 2008-03-25 | Intel Corporation | Method and apparatus to model routing performance |
US7535828B2 (en) * | 2005-03-18 | 2009-05-19 | Cisco Technology, Inc. | Algorithm for backup PE selection |
US7693047B2 (en) * | 2005-11-28 | 2010-04-06 | Cisco Technology, Inc. | System and method for PE-node protection |
US7765306B2 (en) * | 2006-01-30 | 2010-07-27 | Cisco Technology, Inc. | Technique for enabling bidirectional forwarding detection between edge devices in a computer network |
US8880724B2 (en) * | 2008-01-31 | 2014-11-04 | Cisco Technology, Inc. | Event triggered traceroute for optimized routing in a computer network |
US9225601B2 (en) | 2013-06-17 | 2015-12-29 | The Board Of Trustees Of The University Of Illinois | Network-wide verification of invariants |
JP6419967B2 (ja) * | 2014-07-30 | 2018-11-07 | フォワード・ネットワークス・インコーポレテッド | ネットワーク管理のためのシステムおよび方法 |
CN104301186B (zh) * | 2014-11-07 | 2017-12-19 | 迈普通信技术股份有限公司 | 一种测试路由转发表正确性的方法和系统 |
CN106549825A (zh) * | 2016-10-13 | 2017-03-29 | 重庆金美通信有限责任公司 | 一种通信网络路由转发表正确性测试的方法、系统和设备 |
US10305776B2 (en) * | 2017-05-31 | 2019-05-28 | Fujitsu Limited | Network verification |
US10341184B2 (en) * | 2017-06-19 | 2019-07-02 | Cisco Technology, Inc. | Validation of layer 3 bridge domain subnets in in a network |
US11108805B2 (en) * | 2018-06-27 | 2021-08-31 | Amazon Technologies, Inc. | Automated packetless network reachability analysis |
CN116346635A (zh) * | 2019-04-05 | 2023-06-27 | 谷歌有限责任公司 | 虚拟私有云的云网络可达性分析 |
-
2019
- 2019-04-11 CN CN201910289461.8A patent/CN111817907B/zh active Active
-
2020
- 2020-03-27 WO PCT/CN2020/081794 patent/WO2020207274A1/zh unknown
- 2020-03-27 EP EP20787397.7A patent/EP3930262A4/en active Pending
-
2021
- 2021-10-06 US US17/494,931 patent/US11743066B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1708962A (zh) * | 2002-10-28 | 2005-12-14 | 思科技术公司 | 用于移动路由器之间拓扑更新的部署 |
US20060056384A1 (en) * | 2004-09-16 | 2006-03-16 | Fujitsu Limited | Provider network for providing L-2 VPN services and edge router |
CN103546374A (zh) * | 2012-07-10 | 2014-01-29 | 杭州华三通信技术有限公司 | 一种边缘二层网络中转发报文的方法和装置 |
US20140169368A1 (en) * | 2012-12-19 | 2014-06-19 | Cisco Technology, Inc. | Method and apparatus for forwarding information base scaling |
CN103532818A (zh) * | 2013-10-24 | 2014-01-22 | 福建师范大学 | 一种vpn链路可达性的快速测试方法 |
WO2015157096A1 (en) * | 2014-04-10 | 2015-10-15 | Level 3 Communications, Llc | Proxy of routing protocols to redundant controllers |
CN105634839A (zh) * | 2014-10-29 | 2016-06-01 | 华为技术有限公司 | 一种用于获得网络可达地址空间的方法和装置 |
EP3110086A1 (en) * | 2015-06-23 | 2016-12-28 | Juniper Networks, Inc. | System and method for detecting network neighbor reachability |
CN106789629A (zh) * | 2016-12-23 | 2017-05-31 | 锐捷网络股份有限公司 | 业务快速收敛方法及装置 |
CN106878106A (zh) * | 2017-02-24 | 2017-06-20 | 新华三技术有限公司 | 一种可达性检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US11743066B2 (en) | 2023-08-29 |
EP3930262A4 (en) | 2022-05-04 |
US20220029844A1 (en) | 2022-01-27 |
WO2020207274A1 (zh) | 2020-10-15 |
CN111817907B (zh) | 2022-12-30 |
EP3930262A1 (en) | 2021-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110752952B (zh) | 网络故障定位方法、装置、网络设备及计算机存储介质 | |
CN103401726B (zh) | 网络路径探测方法及装置、系统 | |
AU2017345769B2 (en) | Systems and methods for scalable network modeling | |
US20110170402A1 (en) | Apparatus and method for generating topology tree | |
US20210258256A1 (en) | Route processing method and network device | |
JP2007208633A (ja) | ネットワーク設計装置、ネットワーク設計方法およびネットワーク設計プログラム | |
CN114553752B (zh) | 基于仿真软件的网络性能测试方法、装置和计算机设备 | |
US11750490B2 (en) | Communication coupling verification method, storage medium, and network verification apparatus | |
CN111817907B (zh) | 一种可达性的验证方法和装置 | |
WO2016165461A1 (zh) | 一种电信网网管系统软件自动化测试方法和装置 | |
WO2014168164A1 (ja) | ネットワーク検証装置、ネットワーク検証方法及びプログラム | |
CN110311828B (zh) | 一种网络验证的方法、装置、计算机存储介质及电子设备 | |
CN110753364B (zh) | 网络监控方法、系统、电子设备和存储介质 | |
CN110266554B (zh) | 一种私有通信协议的测试方法 | |
CN114071391A (zh) | 内容计费测试方法、管理设备、终端设备及存储介质 | |
Yao et al. | Testing black-box sdn applications with formal behavior models | |
CN114765633A (zh) | 基于列车实时以太网协议的网络报文解析方法及装置 | |
Monkewich et al. | OSPF efficient LSA refreshment function in SDL | |
Knossen et al. | Hop recording and forwarding state logging: Two implementations for path tracking in p4 | |
CN113992562B (zh) | 路由信息的更新方法、系统及路由分析器 | |
US10191826B2 (en) | Methods, systems, and computer readable media for providing an anticipated data integrity check | |
US20170257299A1 (en) | Packet analysis apparatus, packet analysis method, and computer readable storage medium | |
CN112737883B (zh) | 一种二层网络数据包传输方法、装置和网络设备 | |
CN112019644B (zh) | 一种确定ip地址的归属信息的方法、系统、介质和设备 | |
CN110661635B (zh) | 一种网络中获取设备转发信息库的方法、设备和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |