System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及网络验证,尤其涉及基于互联网路由配置的量化属性验证方法和装置。
技术介绍
1、网络控制平面管理着各种路由协议(例如bgp,ospf,rip,isis协议)的运行,决定了数据包从源地址沿哪一条转发路径被转发至目的地址。其可以被看作是综合网络拓扑、路由配置信息后建立数据平面转发表的程序。为了实现用户各种业务需求的网络策略(例如,“报文是不可以从a到达b”),网络管理员必须正确地更新各个路由器上的配置。然而,路由器多使用低级配置语言,而且配置片段之间关系非常复杂。这使得正确地更新各路由器上的配置极具挑战。配置更新错误可能会导致用户的策略被违反,还可能导致网络中断等重大事故的发生。根据调查可知,由于业务变更、网络升级、新的商业部署、安全升级等等需求,配置更新在网络中是频繁发生的,而且超过56%的网络事故是由配置更新引起的。因此,在将更新后的网络配置部署到路由器等路由器之前,应先对其进行验证,保证网络配置的正确性。近来,越来越多的网络配置验证工作被提出,例如,batfish、arc、era、minesweeper。基于这些配置验证工具,用户可输入待验证的可达性语句(例如,“报文是不可以从a到达b”),验证网络配置是否满足所输入的可达性语句。然而,以上这些验证工作存在以下两个问题,(i)无法验证数据包转发的量化属性是否满足用户预期,无法防范路由配置错误导致的服务质量下降问题(例如,某些链路出现拥塞);(ii)可扩展性差。对于具有数十个路由器的网络,最先进的控制平面验证工具执行单个可达性查询需要500秒,验证时间随着网络大小呈指数增
技术实现思路
1、本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
2、为此,本申请的第一个目的在于提出一种基于互联网路由配置的量化属性验证方法,解决了现有方法无法满足用户需求、准确率低、可扩展性差的问题,能够在快速对路由器配置进行验证时,保证验证的准确率。
3、本申请的第二个目的在于提出一种计算机设备。
4、为达上述目的,本申请第一方面实施例提出了一种基于互联网路由配置的量化属性验证方法,包括:根据待验证网络中路由器的网络配置、拓扑信息进行符号模拟执行,生成符号化的路由表;根据符号化的路由表生成网络控制平面的逻辑公式矩阵;根据网络控制平面的逻辑公式矩阵和访问控制列表acl配置生成网络数据平面的逻辑公式矩阵;根据网络数据平面的逻辑公式矩阵,对待验证网络中k链路失效的情况下的量化属性进行验证。
5、本申请实施例的基于互联网路由配置的量化属性验证方法,根据网络配置、拓扑以及路由宣告信息来进行符号模拟执行生成符号化的路由表,根据符号化的路由表可生成全网的逻辑公式矩阵,根据逻辑公式矩阵计算量化属性是否通过验证。
6、可选地,在本申请的一个实施例中,根据待验证网络中路由器的网络配置、拓扑信息进行符号模拟执行,生成符号化的路由表,包括:
7、获取待验证网络中路由器的配置文件和拓扑信息;
8、基于配置文件和拓扑信息,将路由器建模为路由处理函数,并通过路由处理函数建模路由器处理路由宣告时的行为;
9、采用队列的形式进行全局模拟,利用队列维护全局所有更新的路由宣告。
10、可选地,在本申请的一个实施例中,路由处理函数的输入输出单元为路由宣告,路由器处理路由宣告时的行为包括路由导入策略处理、路由排序选择策略处理和路由导出策略处理,在路由宣告到达路由器之后,该路由器执行的操作包括:
11、基于路由导入策略处理路由宣告,判断对应路由是否能够被自身路由器接收,并且对路由宣告的属性进行修改;
12、基于路由排序选择策略、将接收到的路由宣告和自身已有的路由表中的路由进行比较,判断优选关系,更新本地的路由表;
13、使用对应的路由导出策略对路由宣告进行处理,判断路由是否能够向外发送,在确定能够向外发送时将更新后的路由宣告发送至邻居路由器,并对路由宣告相应属性值进行修改。
14、可选地,在本申请的一个实施例中,队列中的元素为路由宣告,采用队列的形式进行全局模拟,利用队列维护全局所有的更新的路由宣告,包括:
15、不断取出队首元素进行处理,直至队列为空,其中,对取出的队首元素进行处理,包括:
16、将对应的路由宣告传递至相应的路由器上,通过路由器根据路由处理函数对路由宣告进行处理,并将新生成的路由宣告作为新消息插入队尾。
17、可选地,在本申请的一个实施例中,根据符号化的路由表生成网络控制平面的逻辑公式矩阵,包括:
18、构建初始逻辑公式矩阵cp,其中,cp中的元素cpij包含元素(n,cond),n表示目的地子网,cond表示由节点vj到目的地子网的网关路由器vi的路由条件;
19、遍历全网路由器,为初始逻辑公式矩阵cp中的每个元素赋值,得到网络控制平面的逻辑公式矩阵。
20、可选地,在本申请的一个实施例中,根据网络控制平面的逻辑公式矩阵和访问控制列表acl配置生成网络数据平面的逻辑公式矩阵,包括:
21、步骤s1:构建初始逻辑公式矩阵dp,其中,dp中的元素dpij包含元素(n,cond),n表示目的地子网,cond表示来自路由器vj的数据包到达目的地子网的网关路由器vi的路由条件;
22、步骤s2:获取cpji包含元素(n,cond)的值,赋值给dpij,并根据cond的值确定路由传播路径,在配置文件中获取该路径上的与子网n相关的acl列表;
23、步骤s3:根据acl列表中的每个规则更新dpij中两个元素(n,cond)的值;
24、步骤s4:重复步骤s2、s3,确定初始逻辑公式矩阵dp中每个元素的值,得到网络数据平面的逻辑公式矩阵。
25、可选地,在本申请的一个实施例中,对待验证网络中k链路失效的情况下的量化属性进行验证,包括:
26、验证特定流量tc是否总能在n跳到达其目的地;
27、验证特定流量tc是否总能在theta时间内达其目的地;
28、验证用户所选择的待验证网络中的链路e上的负载是否超过阈值tau。
29、可选地,在本申请的一个实施例中,验证特定流量tc是否总能在n跳到达其目的地,包括:
30、从网络数据平面的逻辑公式矩阵中提取匹配条目ri,并使用ri.cond构建bdd;
31、计算bdd中从根节点到终端节点false的最短路径的长度t,若k>(t-1),确定k链路失效的情况下,特定流量tc不能在n跳到达其目的地,属性成立;
32、查询bdd中从根节点到终端节点true的路径,若存在长度大于n的路径,确定k链路失效的情况下,特定流量tc不能在n跳到达其目的地,属性不成立;
33、验证特定流量tc是否总能在theta时间内达其目的地,包括:
34、从网络数据平面的逻辑公式矩阵中提取匹配条目r本文档来自技高网...
【技术保护点】
1.一种基于互联网路由配置的量化属性验证方法,其特征在于,包括以下步骤:
2.如权利要求1所述的方法,其特征在于,所述根据待验证网络中路由器的网络配置、拓扑信息进行符号模拟执行,生成符号化的路由表,包括:
3.如权利要求2所述的方法,其特征在于,所述路由处理函数的输入输出单元为路由宣告,所述路由器处理路由宣告时的行为包括路由导入策略处理、路由排序选择策略处理和路由导出策略处理,在路由宣告到达路由器之后,该路由器执行的操作包括:
4.如权利要求2所述的方法,其特征在于,所述队列中的元素为路由宣告,所述采用队列的形式进行全局模拟,利用队列维护全局所有的更新的路由宣告,包括:
5.如权利要求1所述的方法,其特征在于,所述根据符号化的路由表生成网络控制平面的逻辑公式矩阵,包括:
6.如权利要求5所述的方法,其特征在于,所述根据网络控制平面的逻辑公式矩阵和访问控制列表ACL配置生成网络数据平面的逻辑公式矩阵,包括:
7.如权利要求6所述的方法,其特征在于,所述对待验证网络中k链路失效的情况下的量化属性进行验证,包括:<
...【技术特征摘要】
1.一种基于互联网路由配置的量化属性验证方法,其特征在于,包括以下步骤:
2.如权利要求1所述的方法,其特征在于,所述根据待验证网络中路由器的网络配置、拓扑信息进行符号模拟执行,生成符号化的路由表,包括:
3.如权利要求2所述的方法,其特征在于,所述路由处理函数的输入输出单元为路由宣告,所述路由器处理路由宣告时的行为包括路由导入策略处理、路由排序选择策略处理和路由导出策略处理,在路由宣告到达路由器之后,该路由器执行的操作包括:
4.如权利要求2所述的方法,其特征在于,所述队列中的元素为路由宣告,所述采用队列的形式进行全局模拟,利用队列维护全局所有的更新的路由宣告,包括:
5.如权利要求1所述的方法,其特征在于,所述根据符号化的路由表生成网络控...
【专利技术属性】
技术研发人员:李亚慧,王继龙,张晗,尹霞,施新刚,王之梁,祖林美,
申请(专利权)人:清华大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。