CN111478808A - 协助配置更新验证的方法、系统、电子设备及存储介质 - Google Patents
协助配置更新验证的方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111478808A CN111478808A CN202010256075.1A CN202010256075A CN111478808A CN 111478808 A CN111478808 A CN 111478808A CN 202010256075 A CN202010256075 A CN 202010256075A CN 111478808 A CN111478808 A CN 111478808A
- Authority
- CN
- China
- Prior art keywords
- configuration
- flow
- traffic
- affected
- type
- 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/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- 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/12—Discovery or management of network topologies
-
- 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/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种协助配置更新验证的方法、系统、电子设备及存储介质,所述方法,包括:获取原始配置文件和更新的配置文件;将更新的配置文件与原始配置文件进行比较,获取更新的配置片段;根据更新的配置片段影响的流量,得到受影响的流量集;若受影响的流量集中存在配置更新前后具有等价转发行为的流量,则删除配置更新前后具有等价转发行为的流量,更新受影响的流量集;输出受影响的流量集的流量对应的查询。通过本发明,能够避免配置更新的全量查询所带来的巨大查询量,大幅度缩短配置更新验证的时间。
Description
技术领域
本发明属于网络配置验证技术领域,特别涉及一种协助配置更新验证的方法、系统、电子设备及存储介质。
背景技术
计算机网络通常依赖于各种分布式路由协议来确定如何将流量转发到其目的地。每个路由器上的配置决定了它可以使用的协议,应该向哪个邻居发送路由宣告,应该对其进哪些路由宣告行过滤等等。要实现用户的策略(例如“流量可以从端口A到达端口B”),必须仔细地进行路由的配置。然而由于配置语言较低级,以及路由协议和路由机制之间的复杂关系,配置网络总是很困难的,因此不可避免地会发生配置错误,导致网络违反了用户策略。具体来说,网络中断往往发生在网络配置更新的时候。调查显示,由于新的商业需求或安全问题,配置更新频繁。通常,配置更新每年可能多达2000次,且超过56%的网络故障是因为网络变更引起的。因此,需要在网络中部署新配置之前进行控制平面验证来找到配置故障。
业界提出了许多有关配置验证的工具,例如Batfish,ARC,ERA和Minesweeper。它们使用户能够使用可达性查询(reachability query)(例如,″流量可以从A到达B吗?″)检查配置错误。但是这些工具的推广应用有两个障碍:(1)缺乏知识。可达性查询可以直观地认为是″谁到达谁″。据调查,网络用户通常不知道要验证哪些查询,而这些验证工具的输入就是待验证的查询。由于缺乏知识,管理员甚至对从每个可能的端点到网络中其他可能的端点的流量执行全量查询(all-pairs queries)。根据对管理全球规模网络或著名网络运营商的众多管理员调查,即使基于经验用启发式方法来排除某些查询,但仍有待验证的可达性查询数量仍在巨大。(2)可扩展性差。对于具有数十个路由器的网络,最先进的控制平面验证工具Minesweeper甚至需要500秒才能执行单个可达性查询的验证,且查询的验证时间随网络的大小呈指数增长。考虑到整个待验证的任务(即对所有查询all-pairsqueries),这些工具很难完成验证。
发明内容
本发明提供一种协助配置更新验证的方法、系统、电子设备及存储介质,根据原始配置和更新配置输出受影响流量对应的查询,减少了总验证的查询数量,提高配置更新验证效率。
第一方面,本发明提供一种协助配置更新验证的方法,包括:
获取原始配置文件和更新的配置文件;
将更新的配置文件与原始配置文件进行比较,获取更新的配置片段;
根据更新的配置片段影响的流量,得到受影响的流量集;
若受影响的流量集中存在配置更新前后具有等价转发行为的流量,则删除配置更新前后具有等价转发行为的流量,更新受影响的流量集;
输出受影响的流量集的流量对应的查询。
更进一步地,所述根据更新的配置片段影响的流量,得到受影响的流量集,包括:
根据预设的配置片段与配置片段类型之间的对应关系,确定更新的配置片段所属的配置片段类型;
根据预设的配置片段类型与受更新影响的流量之间的对应关系,确定更新的配置片段对应的受更新影响的流量,得到受影响的流量集。
更进一步地,所述配置片段类型与受更新影响的流量之间对应关系,包括:
类型I对应的受更新影响的流量为特定源地址到特定目的地址的流量;
类型II对应的受更新影响的流量为去往特定目的地址的流量;
类型III对应的受更新影响的流量为全部流量除去域内源地址到域内目的地址流量;
类型IV对应的受更新影响的流量为全部流量。
更进一步地,所述根据预设的配置片段类型与受更新影响的流量之间的对应关系,确定更新的配置片段对应的受更新影响的流量,得到受影响的流量集,包括:
判断是否存在属于类型IV的更新的配置片段:
如果存在,则计算全部流量,并将全部流量作为受影响的流量集;
如果不存在,则判断是否存在属于类型III的更新的配置片段:
如果存在,则将全部流量中去除域内源地址到域内目的地址的流量添加到受影响的流量集,再判断是否存在属于类型II的更新的配置片段;
如果不存在,则直接判断是否存在属于类型II的更新的配置片段:
如果存在,则将去往特定目的地址的流量添加到受影响的流量集,再判断是否存在属于类型I的更新的配置片段;
如果不存在,直接判断是否存在属于类型I的更新的配置片段:
如果存在,则将从特定源地址到特定目的地址的流量添加到受影响的流量集。
更进一步地,所述计算全部流量,包括:根据更新的配置片段中使用的网络地址前缀,确定所有的端点地址,进而确定全部流量。
更进一步地,所述将去往特定目的地址的流量添加到受影响的流量集,包括:获取更新的配置片段中的地址前缀,将去往这些地址前缀的流量添加到受影响的流量集。
更进一步地,所述若受影响的流量集中存在配置更新前后具有等价转发行为的流量,则删除配置更新前后具有等价转发行为的流量,更新受影响的流量集,包括:
针对受影响的流量集中的每个流量,判断该流量是否为类型II或类型I的更新的配置片段所对应的受更新影响的流量:
如果是类型II或类型I的更新的配置片段所对应的受更新影响的流量,则判断配置发生更新的端口是否在目的地址到源地址的路由宣告路径上:
如果在目的地址到源地址的路由宣告路径上,则该流量在配置更新前后不具有等价转发行为,执行判断该流量在配置更新前后的抽象网络实例是否相等的步骤;
如果不在目的地址到源地址的路由宣告路径上,则该流量在配置更新前后具有等价转发行为,将该流量从受影响的流量集中移除,更新受影响的流量集;
如果不是类型II或类型I的更新的配置片段所对应的受更新影响的流量,则直接判断该流量在配置更新前后的抽象网络实例是否相等:
若相等,则该流量在配置更新前后具有等价转发行为,将该流量从受影响的流量集中移除,更新受影响的流量集;
若不相等,则比较该流量在配置更新前后对应的抽象网络实例,判断是否对应类型II或类型I的更新的配置片段:
如果不是对应类型II或类型I的更新的配置片段,则该流量在配置更新前后不具有等价转发行为;
如果是对应类型II或类型I的更新的配置片段,则判断配置发生更新的端口是否在目的地址到源地址的路由宣告路径上:
如果在目的地址到源地址的路由宣告路径上,则该流量在配置更新前后不具有等价转发行为;
如果不在目的地址到源地址的路由宣告路径上,则该流量在配置更新前后具有等价转发行为,将该流量从受影响的流量集中移除,更新受影响的流量集。
第二方面,本发明提供一种协助配置更新验证的系统,包括:
获取模块,用于获取原始配置文件和更新的配置文件;
比较模块,用于将更新的配置文件与原始配置文件进行比较,获取更新的配置片段;
确定模块,用于根据更新的配置片段影响的流量,得到受影响的流量集;
删除模块,用于判断受影响的流量集中是否存在配置更新前后具有等价转发行为的流量,若存在,则删除配置更新前后具有等价转发行为的流量,更新受影响的流量集;
输出模块,用于输出受影响的流量集的流量对应的查询。
第三方面,本发明提供一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的方法。
第四方面,本发明提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被一个或多个处理器执行时,实现如第一方面所述的方法。
本发明提供的一种协助配置更新验证的方法、系统、电子设备及存储介质,根据原始配置和更新配置输出受影响流量对应的查询(queries),通过对受影响流量对应的查询进行验证,能够避免配置更新的全量查询所带来的巨大查询量,大幅度缩短配置更新验证的时间。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例一提供的协助配置更新验证的方法流程图;
图2是本发明实施例一提供的步骤S3的具体流程图;
图3是本发明实施例一提供的步骤S32的流程示意图;
图4是本发明实施例一提供的步骤S4的流程示意图;
图5是本发明实施例一提供的网络实例;
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达到相应技术效果的实现过程能充分理解并据以实施。本发明实施例以及实施例中的各个特征,在不相冲突前提下可以相互结合,所形成的技术方案均在本发明的保护范围之内。
由于网络的配置更新往往是增量的更新,而不是全量的更新,因此配置更新往往只会影响少量的网络流量,而不是全部流量。本发明实施例提出了一种协助配置更新验证的方法、系统、电子设备及存储介质,根据原始配置和更新配置输出受影响流量对应的查询(queries),通过对受影响流量对应的查询进行验证,一方面,能够解决缺乏知识的问题,另一方面,可以通过减少总验证的查询数量来解决总验证任务可扩展性差的问题。
实施例一
图1示出了一种协助配置更新验证的方法流程图,如图1所示,本实施例提供的协助配置更新验证的方法,包括如下步骤:
步骤S1、获取原始配置文件和更新的配置文件。
具体来说,从网络中获取原始配置文件,从配置更新方案中获取更新的配置文件。
步骤S2、将更新的配置文件与原始配置文件进行比较,获取更新的配置片段。
分别解析待验证网络的原始配置文件以及更新的配置文件,获取并存储各种配置信息,例如:路由聚合、路由重分布、不同协议的路由实例、ACL入口策略、ACL出口策略、route map入口路由策略、route map出口路由策略等,通过比较各种配置信息获得更新的配置片段。
步骤S3、根据更新的配置片段影响的流量,得到受影响的流量集。
可以理解的是,基于网络配置及其在每个端点对的流量转发行为的作用分析,可以推断变更的配置片段的影响的流量。以网络实例描述从源地址s到目的地址d的流量转发行为,在不考虑网络功能的情况下,网络拓扑只是一个图,其中节点是路由器,边是这些路由器之间的链接。网络的控制平面使用由路由器配置定义的规则集来转发路由消息。网络控制平面中存在各种路由协议,并且这些路由协议使用不同类型的消息,例如,BGP(边界网关协议)消息包括目的地址前缀、AS路径、本地优先级等。控制平面的输入输出单元是路由向量,其代表了不同协议交换的路由消息的一组属性;配置定义的路由规则包括两部分:(1)控制平面传递函数,用于转换传入和传出路由向量;(2)比较关系,用于从到相同目的地前缀的可用路由向量中选择最佳路由向量。尽管控制平面的规则决定了应如何在控制平面上转发数据包,但实际的数据转发行为会受到ACL的影响,ACL可以直接拒绝或允许在数据平面上的流量。因此不同的配置片段在网络实例中的作用是不同的,根据配置片段在网络实例中作用可以推断潜在受影响的流量。
对于路由器所对应的控制平面传递函数,包括:(i)输出过滤:路由向量的上游邻居如果存在过滤规则(对于配置文件中的route map等),则根据route map中动作,对路由向量进行相应的处理,其往往作用于特定的路由前缀;(ii)输入过滤:输入过滤同输出过滤对应该路由器上配置文件中的route map;(iii)路由重新分布:根据配置文件中的路由配置处理路由重分布,默认情况下,它可以作用于任何路由前缀。(iv)路由聚合:根据配置文件中路由聚合信息,对路由向量中的前缀进行处理,路由聚合只有当该路由器收到比聚合前缀更具体的路由前缀时,才会激活聚合路由;(v)静态路由:根据配置文件中的静态路由信息进行处理,静态路由优先于基于各种协议计算的动态路由,其作用于特定的路由前缀。根据配置信息在传递函数中的作用,可知不同配置片段作用的路由前缀范围是不同的,所对应的流量范围也是不同的。
因此,根据不同的配置信息在网络实例的作用,可划分为不同的类型,进而推断出不同类型配置信息发生更新时受影响的流量范围。
优选地,如图2所示,步骤S3可以包括如下子步骤:
步骤S31、根据预设的配置片段与配置片段类型之间的对应关系,确定更新的配置片段所属的配置片段类型。
其中,预设的配置片段与配置片段类型之间的对应关系,是根据配置片段变更可能影响的流量范围确定的,将变更可能影响的流量范围属于同一类流量范围的配置片段划分为同一类型,举例来说,Static route静态路由配置去往特定地址的下一跳,Route map是过滤特定的路由宣告,两种配置片段变更影响的都是去往特定目的地址的流量,因此将这两种配置片段划分为同一类型(类型II)。
优选地,本实施例根据配置片段变更可能影响的流量范围确定了四种配置片段类型,且四种配置片段类型与受更新影响的流量之间对应关系如下:
类型I对应的受更新影响的流量为特定源地址到特定目的地址的流量,其中类型I的配置片段,例如,ACL(访问控制列表)配置是过滤某种特定源地址到特定目的地址的流量;
类型II对应的受更新影响的流量为去往特定目的地址的流量,其中类型II的配置片段,例如,Static route静态路由配置去往特定地址的下一跳,Route map是过滤特定的路由宣告(包括Route map入口路由策略,Route map出口路由策略)、静态路由重分布、路由宣告等。
类型III对应的受更新影响的流量为全部流量除去域内源地址到域内目的地址流量,其中类型III的配置片段,例如,改变域间BGP peer或local preference配置不会影响域内流量。
类型IV对应的受更新影响的流量为全部流量,其中类型IV的配置片段,例如,OSPF配置可能会影响全网的流量。
步骤S32、根据预设的配置片段类型与受更新影响的流量之间的对应关系,确定更新的配置片段对应的受更新影响的流量,得到受影响的流量集。
由于每次配置更新时,通过将更新的配置文件与原始配置文件进行比较,获取的更新的配置片段可能不止一个,而获取的各个更新的配置片段可能属于相同或不同类型,因此需要对各个更新的配置片段进行类型判断,确定各自所属类型,并确定受各个更新的配置片段更新影响的流量,构成一个流量集合,即受影响的流量集。
优选地,如图3所示,步骤S32可以包括如下子步骤:
步骤S321、判断是否存在属于类型IV的更新的配置片段:如果存在,则执行步骤S322;如果不存在,则执行步骤S323。
步骤S322、计算全部流量,并将全部流量作为受影响的流量集,执行步骤S4。
具体地,计算全部流量,包括:根据更新的配置片段中使用的网络地址前缀,确定所有的端点地址,进而确定全部流量,作为受影响的流量集。其中,更新的配置片段中使用的网络地址前缀,包括分配给端口的前缀,由路由过程通告的前缀以及在ACL中的前缀等,以此作为确定所有可能受影响流量的端点地址,进而确定受更新影响的全部流量。
步骤S323、判断是否存在属于类型III的更新的配置片段:如果存在,则执行步骤S324,如果不存在,则直接执行步骤S325。
步骤S324、将全部流量中去除域内源地址到域内目的地址的流量添加到受影响的流量集,执行步骤S325。
步骤S325、判断是否存在属于类型II的更新的配置片段:如果存在,则执行步骤S326,如果不存在,直接执行步骤S327。
步骤S326、将去往特定目的地址的流量添加到受影响的流量集,执行步骤S327。
具体地,将去往特定目的地址的流量添加到受影响的流量集,包括:获取更新的配置片段中的地址前缀,将去往这些地址前缀的流量添加到受影响的流量集。
步骤S327、判断是否存在属于类型I的更新的配置片段:如果存在,则执行步骤S328,如果不存在,则直接执行步骤S4。
步骤S328、将从特定源地址到特定目的地址的流量添加到受影响的流量集,执行步骤S4。
具体地,将从特定源地址到特定目的地址的流量添加到受影响的流量集,包括获取更新的配置片段中的源地址前缀和目的地址前缀,将更新的配置片段所对应的特定源地址到特定目的地址的流量添加到受影响的流量集。
通过上述对更新的配置片段的类型判断,及确定对应的受更新影响的流量,可以得到包含本次配置更新所涉及的所有流量,能够避免配置更新的全量查询所带来的巨大查询量,大幅度缩短了配置更新验证的时间。
然而,在一些特定的情况下,受影响的流量集中的一些流量在配置更新前后具有等价转发行为,也就是说,配置更新对于该流量的转发行为并不会有影响,因此,为了更加高效地完成网络配置更新验证,可以进一步将受影响的流量集中的流量进行筛选,剔除其中配置更新前后具有等价转发行为的流量。
步骤S4、若受影响的流量集中存在配置更新前后具有等价转发行为的流量,则删除配置更新前后具有等价转发行为的流量,更新受影响的流量集;
具体地,针对受影响的流量集中的每个流量判断该流量是否为配置更新前后具有等价转发行为的流量,若为配置更新前后具有等价转发行为的流量,则删除该流量,更新受影响的流量集。
优选地,如图4所示,步骤S4可以包括如下子步骤:
步骤S41、针对受影响的流量集中的每个流量判断该流量是否为类型II或类型I的更新的配置片段所对应的受更新影响的流量:
如果是,则执行步骤S42;如果不是,则直接执行步骤S43。
步骤S42、判断配置发生更新的端口是否在目的地址到源地址的路由宣告路径上:
如果在目的地址到源地址的路由宣告路径上,则该流量在配置更新前后不具有等价转发行为,执行步骤S43;
如果不在目的地址到源地址的路由宣告路径上,则该流量在配置更新前后具有等价转发行为,将该流量从受影响的流量集中移除,更新受影响的流量集。
可以理解的是,由于类型I和类型II的更新的配置片段所对应的流量均与目的地址相关,因此首先判断受影响的流量集中是否存在与属于类型I或类型II的更新的配置片段所对应的流量,对类型I或类型II的更新的配置片段所对应的流量判断配置发生更新的端口是否在目的地址到源地址的路由宣告路径上,这样能够确定配置发生变更的端口和源地址是否在一个连通分支上,若配置发生更新的端口不在目的地址到源地址的路由宣告路径上,说明配置发生变更的端口和源地址不在一个连通分支上,此情况下配置发生更新不会影响对应流量的转发行为,因此,该流量将该流量在配置更新前后具有等价转发行为,将其从受影响的流量集中移除。
本实施例中,还可以对每个网络实例计算其子网络实例,子网络实例中不包括在目的地址到源地址的路径以外的结点和链路,这样,如果类型I和类型II的更新的配置片段不在子网络实例中,那么该网络实例及其对应的流量的转发行为不会受到配置更新的影响。实际计算中,计算目的到源的所有路径是代价巨大的,因此,通过判断配置发生更新的端口是否在目的地址到源地址的路由宣告路径上,确定配置发生变更的端口和源地址是否在一个连通分支上,进而确定配置发生更新是否影响对应流量的转发行为,以剔除其中配置更新前后具有等价转发行为的流量,能够大大降低计算代价,提高配置更新效率。
步骤S43、判断该流量在配置更新前后的抽象网络实例是否相等:
若相等,则该流量在配置更新前后具有等价转发行为,将该流量从受影响的流量集中移除,更新受影响的流量集。
若不相等,则执行步骤S44。
可以理解的是,计算该流量在配置更新前后对应的抽象网络实例,在抽象网络实例中,具有相同转发作用的互为备份路由器节点被压缩为一个节点,抽象网络实例中流量从源地址s到目的地址d的转发行为与其在网络实例中的转发行为是等价的,如果抽象网络实例相等,则说明流量在配置变更前后的转发行为是等价的,将其从受影响的流量集中移除,以降低更新验证成本。
步骤S44、比较该流量在配置更新前后对应的抽象网络实例,判断是否对应类型II或类型I的更新的配置片段:
如果是,则流程进入步骤S45;否则,该流量在配置更新前后不具有等价转发行为。
步骤S45、判断配置发生更新的端口是否在目的地址到源地址的路由宣告路径上:
如果在目的地址到源地址的路由宣告路径上,则该流量在配置更新前后不具有等价转发行为;
如果不在目的地址到源地址的路由宣告路径上,则该流量在配置更新前后具有等价转发行为,将该流量从受影响的流量集中移除,更新受影响的流量集。
可以理解的是,通过比较分析抽象网络实例,可以得知是否存在与属于类型I和类型II的更新的配置片段所对应的流量,由于类型I和类型II的更新的配置片段所对应的流量均与目的地址相关,因此通过判断配置发生更新的端口是否在目的地址到源地址的路由宣告路径上,能够确定配置发生变更的端口和源地址是否在一个连通分支上,若配置发生更新的端口不在目的地址到源地址的路由宣告路径上,说明配置发生变更的端口和源地址不在一个连通分支上(不在转发路径上),此情况下配置发生更新不会影响对应流量的转发行为,因此,该流量将该流量在配置更新前后具有等价转发行为,将其从受影响的流量集中移除。通过步骤S43~步骤S45,进一步剔除了具有等价转发行为的流量,每确定一个具有等价转发行为的流量,将其从受影响的流量集中删除,以更新受影响的流量集,至受影响的流量集中的每个流量都执行完上述步骤S43~步骤S45,得到最终需要输出的受影响的流量集。
步骤S5、输出受影响的流量集的流量对应的查询。
下面以一个配置更新的示例来进行说明:
如图5所示的网络实例中,DCA有两个内部路由器(DCA_0和DCA_1),DCB有五个路由器(DCB_3到DCB_7),这些内部路由器运行边界网关协议BGP。DCA_1和DCB_3都通过BGP连接到外部邻居WAN_2。WAN_2的前缀2.128.0.0/16中托管了一些服务。该更新配置文件如表1:
表1:图5所示的网络实例的更新配置文件
通过在路由器DCA_1上添加路由映射as2_to_as1来更新该配置,该路由映射应用从其BGP邻居WAN_2发送的路由。在DCA_1(第13-18行)上添加了名为as2_to_as1的Routemap路由策略,该路由策略拒绝了从WAN_2发送的路由宣告。路由器DCA_1拒绝了WAN_2的2.128.0.0/16前缀的路由宣告。由于(大多数)目的地的宣告不会交互,因此该路由宣告只会影响去往目的地WAN_2的流量。因此,本示例中的配置更新只涉及到了Route map的更新,事实上,配置更新的种类多种多样,其对流量的影响也是不同的。根据每种配置片段的信息变更可能影响的流量范围,可以将这些配置片段划分成不同的类型。
本示例中,以网络实例描述从源地址s到目的地址d的流量转发行为。表2描述了配置片段及其作用,表3形式化地描述了受影响不同类型的网络流量。类型I:某种特定源地址到特定目的地址的流量,例如ACL配置是过滤某种特定源地址到特定目的地址的流量,类型II:特定目的地址的流量,例如Static route静态路由配置去往特定地址的下一跳,Route map是过滤某种特定的路由宣告,即影响去往特定地址的流量。类型III:全部流量除去域内源地址到域内目的地址流量。例如改变域间BGP peer或local preference配置不会影响域内流量。类型IV:全部流量,例如OSPF配置可能会影响全网的流量。
表2:配置片段及其作用
表3:受影响网络实例的类型
根据表2和表3,可以推断受配置更新影响的流量,首先判断更新的配置片段中是否有类型IV相关的配置信息更新,例如OSPF协议或者BGP重分布等,如果存在类型IV相关的配置更新,那么受配置更新影响的流量是全部流量;否则,判断是否有类型III相关的配置信息更新,例如BGP peer或local preference配置,如果存在类型III相关的配置信息更新,那么受配置更新影响的流量是全部流量除去域内源地址到域内目的地址流量,将这些流量添加到受影响的流量集中。然后判断是否有类型II相关的配置信息更新,例如静态路由、Route map入口路由策略,Route map出口路由策略、静态路由重分布、路由宣告等,如果存在类型II相关的配置片段更新,则获取更新配置片段中的地址前缀,然后将去往这些地址前缀的流量添加到受影响的流量集。然后,判断是否有类型I相关的配置更新,例如ACL配置片段的更新,如果存在类型I相关的配置片段更新,那么获取更新配置片段中的源和目的地址前缀,然后将配置更新片段所对应的特定源地址到特定目的地址的流量添加到受影响流量集中。图5示例的网络中只有Route map更新,可以得知受影响的流量是目的地址是WAN_2的流量。受影响的流量集包括网络中其他结点到WAN_2的流量,而事实上因为该Routemap并不在WAN_2到DCB_7的路由宣告的路径上,因此这些流量中有一些流量例如DCB_7到WAN_2的流量并不会受Route map更新的影响,如图6所示,对于图6的网络实例(图6中的左图)计算其子网络实例(图6中的右图),该子网络实例中不包括不在目的地址到源地址的路径上的结点和链路。
如图7和图8所示,DCB_4是DCB_6的备用路由器,它们具有相同的路由策略和ACL策略。如果删除DCB_4,则会根据本发明方法中的步骤S3可以推断出影响所有网络实例对应的流量。但是,实际上从DCB_7到WAN_2的流量并不会受到影响,因为它的抽象网络实例(图7中的右图)和更新配置下的抽象网络实例(图8中的右图)是相等的。在抽象网络实例中,具有相同路由策略和ACL策略的节点将合并到一个节点,流量在其网络实例和抽象的网络实例中具有等价的转发行为。因此,根据等价的传递性,可以知道从DCB 7到WAN_2的流量在其原始网络实例和更新后的网络实例中,其转发行为是等价的,不受配置更新影响。同样地,如果配置更新不仅仅是移除DCB_4,且在DCA_1上增加Route map过滤来自WAN_2的路由宣告,此时,抽象网络实例和更新配置下的抽象网络实例是不相等的,其在DCA_1节点存在差异,但是更新前后的抽象实例满足网络实例中的更新不在目的地址到源地址的路由宣告的路径上,因此其在配置更新前后的转发行为仍然是等价的。接下来,将这些具有等价转发行为的流量从受影响的流量集中移除,可以得到最终受影响流量所对应的查询。
实施例二
本实施例提供一种协助配置更新验证的系统,该系统包括:
获取模块,用于获取原始配置文件和更新的配置文件;
比较模块,用于将更新的配置文件与原始配置文件进行比较,获取更新的配置片段;
确定模块,用于根据更新的配置片段影响的流量,得到受影响的流量集;
删除模块,用于判断受影响的流量集中是否存在配置更新前后具有等价转发行为的流量,若存在,则删除配置更新前后具有等价转发行为的流量,更新受影响的流量集;
输出模块,用于输出受影响的流量集的流量对应的查询。
可以理解的是,获取模块可用于执行实施例一的步骤S1,比较模块可用于执行实施例一的步骤S2,确定模块可用于执行实施例一的步骤S3,删除模块可用于执行实施例一的步骤S4,输出模块可用于执行实施例一的步骤S5。各步骤的具体实现过程请见实施例一的具体内容,此处不再赘述。
实施例三
本实施例提供一种电子设备,包括存储器和处理器,该存储器上存储有计算机程序,该计算机程序被该处理器执行时实现实施例一提供的协助配置更新验证的方法。
具体地,处理器可以是专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(ProgrammableLogic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行实施例一中的协助配置更新验证的方法,协助配置更新验证的方法的具体步骤请参见实施例一的内容。
存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
实施例四
本实施例提供一种存储介质,该存储介质上存储有计算机程序,该计算机程序被一个或多个处理器执行时,实现实施例一提供的协助配置更新验证的方法。
具体地,上述存储介质可以是闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等。协助配置更新验证的方法的具体步骤请参见实施例一的内容。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种协助配置更新验证的方法,其特征在于,包括:
获取原始配置文件和更新的配置文件;
将更新的配置文件与原始配置文件进行比较,获取更新的配置片段;
根据更新的配置片段影响的流量,得到受影响的流量集;
若受影响的流量集中存在配置更新前后具有等价转发行为的流量,则删除配置更新前后具有等价转发行为的流量,更新受影响的流量集;
输出受影响的流量集的流量对应的查询。
2.根据权利要求1所述的协助配置更新验证的方法,其特征在于,所述根据更新的配置片段影响的流量,得到受影响的流量集,包括:
根据预设的配置片段与配置片段类型之间的对应关系,确定更新的配置片段所属的配置片段类型;
根据预设的配置片段类型与受更新影响的流量之间的对应关系,确定更新的配置片段对应的受更新影响的流量,得到受影响的流量集。
3.根据权利要求2所述的协助配置更新验证的方法,其特征在于,所述配置片段类型与受更新影响的流量之间对应关系,包括:
类型I对应的受更新影响的流量为特定源地址到特定目的地址的流量;
类型II对应的受更新影响的流量为去往特定目的地址的流量;
类型III对应的受更新影响的流量为全部流量除去域内源地址到域内目的地址流量;
类型IV对应的受更新影响的流量为全部流量。
4.根据权利要求3所述的协助配置更新验证的方法,其特征在于,所述根据预设的配置片段类型与受更新影响的流量之间的对应关系,确定更新的配置片段对应的受更新影响的流量,得到受影响的流量集,包括:
判断是否存在属于类型IV的更新的配置片段:
如果存在,则计算全部流量,并将全部流量作为受影响的流量集;
如果不存在,则判断是否存在属于类型III的更新的配置片段:
如果存在,则将全部流量中去除域内源地址到域内目的地址的流量添加到受影响的流量集,再判断是否存在属于类型II的更新的配置片段;
如果不存在,则直接判断是否存在属于类型II的更新的配置片段:
如果存在,则将去往特定目的地址的流量添加到受影响的流量集,再判断是否存在属于类型I的更新的配置片段;
如果不存在,直接判断是否存在属于类型I的更新的配置片段:
如果存在,则将从特定源地址到特定目的地址的流量添加到受影响的流量集。
5.根据权利要求4所述的协助配置更新验证的方法,其特征在于,所述计算全部流量,包括:根据更新的配置片段中使用的网络地址前缀,确定所有的端点地址,进而确定全部流量。
6.根据权利要求4所述的协助配置更新验证的方法,其特征在于,所述将去往特定目的地址的流量添加到受影响的流量集,包括:获取更新的配置片段中的地址前缀,将去往这些地址前缀的流量添加到受影响的流量集。
7.根据权利要求4所述的协助配置更新验证的方法,其特征在于,所述若受影响的流量集中存在配置更新前后具有等价转发行为的流量,则删除配置更新前后具有等价转发行为的流量,更新受影响的流量集,包括:
针对受影响的流量集中的每个流量,判断该流量是否为类型II或类型I的更新的配置片段所对应的受更新影响的流量:
如果是类型II或类型I的更新的配置片段所对应的受更新影响的流量,则判断配置发生更新的端口是否在目的地址到源地址的路由宣告路径上:
如果在目的地址到源地址的路由宣告路径上,则该流量在配置更新前后不具有等价转发行为,执行判断该流量在配置更新前后的抽象网络实例是否相等的步骤;
如果不在目的地址到源地址的路由宣告路径上,则该流量在配置更新前后具有等价转发行为,将该流量从受影响的流量集中移除,更新受影响的流量集;
如果不是类型II或类型I的更新的配置片段所对应的受更新影响的流量,则直接判断该流量在配置更新前后的抽象网络实例是否相等:
若相等,则该流量在配置更新前后具有等价转发行为,将该流量从受影响的流量集中移除,更新受影响的流量集;
若不相等,则比较该流量在配置更新前后对应的抽象网络实例,判断是否对应类型II或类型I的更新的配置片段:
如果不是对应类型II或类型I的更新的配置片段,则该流量在配置更新前后不具有等价转发行为;
如果是对应类型II或类型I的更新的配置片段,则判断配置发生更新的端口是否在目的地址到源地址的路由宣告路径上:
如果在目的地址到源地址的路由宣告路径上,则该流量在配置更新前后不具有等价转发行为;
如果不在目的地址到源地址的路由宣告路径上,则该流量在配置更新前后具有等价转发行为,将该流量从受影响的流量集中移除,更新受影响的流量集。
8.一种协助配置更新验证的系统,其特征在于,包括:
获取模块,用于获取原始配置文件和更新的配置文件;
比较模块,用于将更新的配置文件与原始配置文件进行比较,获取更新的配置片段;
确定模块,用于根据更新的配置片段影响的流量,得到受影响的流量集;
删除模块,用于判断受影响的流量集中是否存在配置更新前后具有等价转发行为的流量,若存在,则删除配置更新前后具有等价转发行为的流量,更新受影响的流量集;
输出模块,用于输出受影响的流量集的流量对应的查询。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被一个或多个处理器执行时,实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010256075.1A CN111478808B (zh) | 2020-04-02 | 2020-04-02 | 协助配置更新验证的方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010256075.1A CN111478808B (zh) | 2020-04-02 | 2020-04-02 | 协助配置更新验证的方法、系统、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111478808A true CN111478808A (zh) | 2020-07-31 |
CN111478808B CN111478808B (zh) | 2021-05-25 |
Family
ID=71750501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010256075.1A Active CN111478808B (zh) | 2020-04-02 | 2020-04-02 | 协助配置更新验证的方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111478808B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112054921A (zh) * | 2020-08-06 | 2020-12-08 | 清华大学 | 一种网络验证的方法、装置、计算机存储介质及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931628A (zh) * | 2010-08-27 | 2010-12-29 | 清华大学 | 一种域内源地址的验证方法和装置 |
CN102082736A (zh) * | 2011-03-08 | 2011-06-01 | 杭州华三通信技术有限公司 | 实现非均衡负载分担的方法及装置 |
CN102238077A (zh) * | 2010-05-07 | 2011-11-09 | 中国科学院计算技术研究所 | 路由流量信息存储与查询方法 |
CN103379042A (zh) * | 2012-04-25 | 2013-10-30 | 丛林网络公司 | 路径加权的等价多路径 |
US20180039668A1 (en) * | 2016-07-18 | 2018-02-08 | State Street Corporation | Techniques for automated database query generation |
CN108111331A (zh) * | 2017-11-06 | 2018-06-01 | 北京趣拿软件科技有限公司 | 更新数据包的获取方法、装置、存储介质、处理器及系统 |
CN108833297A (zh) * | 2018-05-08 | 2018-11-16 | 清华大学 | 大数据流量的优先级分类方法、调度方法和装置 |
WO2020032586A1 (en) * | 2018-08-07 | 2020-02-13 | Samsung Electronics Co., Ltd. | Method and apparatus for validating stored system information |
-
2020
- 2020-04-02 CN CN202010256075.1A patent/CN111478808B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102238077A (zh) * | 2010-05-07 | 2011-11-09 | 中国科学院计算技术研究所 | 路由流量信息存储与查询方法 |
CN101931628A (zh) * | 2010-08-27 | 2010-12-29 | 清华大学 | 一种域内源地址的验证方法和装置 |
CN102082736A (zh) * | 2011-03-08 | 2011-06-01 | 杭州华三通信技术有限公司 | 实现非均衡负载分担的方法及装置 |
CN103379042A (zh) * | 2012-04-25 | 2013-10-30 | 丛林网络公司 | 路径加权的等价多路径 |
US20180039668A1 (en) * | 2016-07-18 | 2018-02-08 | State Street Corporation | Techniques for automated database query generation |
CN108111331A (zh) * | 2017-11-06 | 2018-06-01 | 北京趣拿软件科技有限公司 | 更新数据包的获取方法、装置、存储介质、处理器及系统 |
CN108833297A (zh) * | 2018-05-08 | 2018-11-16 | 清华大学 | 大数据流量的优先级分类方法、调度方法和装置 |
WO2020032586A1 (en) * | 2018-08-07 | 2020-02-13 | Samsung Electronics Co., Ltd. | Method and apparatus for validating stored system information |
Non-Patent Citations (2)
Title |
---|
ZHILIANG WANG: "A three-step dynamic threshold method to cluster BGP updates into routing events", 《IEEE》 * |
尹霞,王之梁等: "层次化跨区域SDN验证示范系统的设计与建设", 《电信科学》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112054921A (zh) * | 2020-08-06 | 2020-12-08 | 清华大学 | 一种网络验证的方法、装置、计算机存储介质及电子设备 |
CN112054921B (zh) * | 2020-08-06 | 2021-09-03 | 清华大学 | 一种网络验证的方法、装置、计算机存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111478808B (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10986024B1 (en) | Dynamic prefix list for route filtering | |
US10742556B2 (en) | Tactical traffic engineering based on segment routing policies | |
US10171338B2 (en) | On-demand next-hop resolution | |
US9948606B2 (en) | Enhancing privacy and security on a SDN network using SDN flow based forwarding control | |
CN110692227B (zh) | 识别网络意图形式对等性失败中的冲突规则 | |
US8570861B1 (en) | Reputation-based networking | |
US7376154B2 (en) | Non-intrusive method for routing policy discovery | |
US8526325B2 (en) | Detecting and identifying connectivity in a network | |
US9215164B2 (en) | Multi-source correlation of network topology metrics | |
CN110710161B (zh) | 生成网络的设备级逻辑模型 | |
US9754297B1 (en) | Network routing metering | |
US8549124B2 (en) | Network management discovery tool | |
US9253038B2 (en) | End-to-end network access analysis | |
WO2017186932A1 (en) | A data driven intent based networking approach using a light weight distributed sdn controller for delivering intelligent consumer experiences | |
US20140376402A1 (en) | Methods and systems for automatic generation of routing configuration files | |
US8612576B1 (en) | Wide area network monitoring | |
CN115443640A (zh) | 针对虚拟路由和转发的基于租户的映射 | |
US20160366043A1 (en) | Dynamic detection of vpn sites | |
CN111478808B (zh) | 协助配置更新验证的方法、系统、电子设备及存储介质 | |
US20180041419A1 (en) | Virtual Router For Paths Between Autonomous-System Pairs | |
US9722910B2 (en) | Transit domain control | |
US20160337232A1 (en) | Flow-indexing for datapath packet processing | |
JP4044007B2 (ja) | 経路情報管理方法および経路情報管理装置 | |
CN115834461B (zh) | 一种基于路由分析生成bgp全域连接图的方法及装置 | |
Bandhakavi et al. | Analyzing end-to-end network reachability |
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 |