一种面向多域软件定义网络的配置验证方法

文档序号:29633416发布日期:2022-04-13 16:32阅读:103来源:国知局
一种面向多域软件定义网络的配置验证方法

1.本发明属于网络配置验证技术领域,具体地说,尤其涉及一种面向多域软件定义网络的配置验证方法。


背景技术:

2.软件定义网络是一种新型的网络,其具有良好的可编程性,有利于网络新功能的开发与部署。软件定义网络当前已经广泛部署于校园网、企业网、数据中心网络和运营商网络中,但是大都是规模较小的单一控制域。当前学术界和产业界开始探索将多个软件定义网络互连组成大规模的多域软件定义网络,如何检查网络正确性,保证网络可靠性成为了重要的问题。
3.网络验证技术是保证网络通信协议设计正确,以及不同的网络设备之间实现正确互连的重要手段。其基本思想是建立待验证网络的形式化模型,然后查找模型中存在的错误,进一步定位网络中具体的问题。
4.现有技术中大都是针对单一控制域的网络进行验证,没有考虑到多域软件定义网络的验证;同时,用于验证的网络形式化模型大都是通过人工构建,自动化程度不足。多域软件定义网络规模较大,人工构建模型工作量太大,难以适用,需要设计根据网络配置自动构建模型的方法。


技术实现要素:

5.本发明所要解决的技术问题之一是现有技术中网络验证方法存在局限于人工构建形式化模型,不支持大规模网络建模,不利于多域软件定义网络验证的问题。
6.为了解决上述技术问题,本技术的实施例首先提供了一种面向多域软件定义网络的配置验证方法,包括:
7.从多域软件定义网络的软件定义网络子网设备中提取配置信息,根据配置信息构造软件定义网络子网形式化模型。
8.从多域软件定义网络的核心网设备中提取配置信息,根据配置信息构造核心网形式化模型。
9.将所述软件定义网络子网形式化模型与所述核心网形式化模型组合为多域软件定义网络形式化模型。
10.检查所述多域软件定义网络形式化模型是否存在对可达性和绝对阻塞网络规则的违反。
11.如果所述模型中存在对所述网络规则的违反,则输出与所述违反对应的所述多域软件定义网络形式化模型中的流元素。
12.如果不存在对所述网络规则的违反,则所述多域软件定义网络形式化模型通过了验证。
13.优选地,所述多域软件定义网络应是由多个软件定义网络子网和一个核心网组合
构成的网络,包括:
14.每一个所述的软件定义网络子网是一个软件定义网络,所述的软件定义网络是由一个或多个运行软件定义网络应用的软件定义网络控制器和多个软件定义网络转发设备组成的网络,其中所述的转发设备包括软件定义网络交换机和软件定义网络无线网络访问点等。
15.所述的核心网是一个所述的软件定义网络或一个传统网络,所述的传统网络是由多个运行路由协议的路由器组成的网络。
16.每一个所述的软件定义网络子网都连接到所述的核心网,由核心网进行多个软件定义网络子网间的路由和交换。
17.优选地,所述从多域软件定义网络的软件定义网络子网设备中提取配置信息,根据配置信息构造软件定义网络子网形式化模型,包括:
18.与所述多域软件定义网络的软件定义网络子网的软件定义网络控制器建立连接;
19.通过所述软件定义网络控制器的表征状态转移应用程序编程接口,获取所述软件定义网络子网的所有设备的配置信息,包括设备信息、链路信息和流表信息;
20.根据所述软件定义网络子网设备的配置信息,构造一个软件定义网络子网形式化模型,包括用于表示转发设备的点元素、用于表示转发设备内连接与转发设备间链路的边元素,以及用于表示流表项的流元素;
21.对所述多域软件定义网络的每一个软件定义网络子网重复前述步骤,建立多个软件定义网络子网形式化模型。
22.优选地,从多域软件定义网络的核心网设备中提取配置信息,根据配置信息构造核心网形式化模型,包括:
23.如果所述核心网是一个软件定义网络,则使用所述构造一个软件定义网络子网形式化模型的方法建立核心网形式化模型;
24.如果所述核心网是一个由多个路由器组成的传统网络,则使用路由器配置提取工具获取每一个路由器的配置信息,包括设备信息、链路信息和路由信息;构造核心网形式化模型,包括用于表示路由设备的点元素、用于表示路由设备内连接与转发设备间链路的边元素,以及用于表示路由始末端点的流元素。
25.优选地,所述将所述软件定义网络子网形式化模型与所述核心网形式化模型组合为多域软件定义网络形式化模型,包括根据所述多域软件定义网络中多个软件定义网络子网与一个核心网和实际连接情况,在所述软件定义网络子网形式化模型与所述核心网形式化模型中分别添加必要的边元素和流元素,形成完整的多域软件定义网络形式化模型。
26.优选地,所述检查所述多域软件定义网络形式化模型是否存在对可达性和绝对阻塞网络规则的违反,包括:
27.在所述形式化模型中选取需要验证的流元素;
28.由所述流元素的起点出发,遍历所述形式化模型中第一个点元素所对应设备的流表信息或路由信息,如果存在与所述流元素匹配的流表信息或路由信息,则根据所述信息中的转发信息标记下一个点元素;
29.重复前述步骤,如果所述流元素的终点被标记,则所述可达性规则被满足,如果无法找到匹配所述流元素的下一个点元素,则所述可达性规则被违反。
30.优选地,所述检查所述多域软件定义网络形式化模型是否满足绝对阻塞的要求,包括:
31.在所述形式化模型中选取需要验证的流元素;
32.由所述流元素的起点出发,通过宽度优先搜索和深度优先搜索遍历所述形式化模型,寻找能够到达所述流元素终点的路径;
33.如果存在所述的路径,则所述绝对阻塞规则被违反,如果不存在所述的路径,则所述绝对阻塞规则被满足。
34.优选地,所述多域软件定义网络形式化模型中的流元素,包括源ip地址、目的ip地址等信息。
35.与现有技术相比,上述方案中的一个或多个实施例可以具有如下优点或有益效果:
36.通过针对多域软件定义网络,自动提取设备配置信息并基于设备配置信息构造形式化模型,实现了对多域软件定义网络的配置验证,有利于提高多域软件定义网络的准确性和可靠性。
37.本发明的其他优点、目标,和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书,权利要求书,以及附图中所特别指出的结构来实现和获得。
附图说明
38.附图用来提供对本技术的技术方案或现有技术的进一步理解,并且构成说明书的一部分。其中,表达本技术实施例的附图与本技术的实施例一起用于解释本技术的技术方案,但并不构成对本技术技术方案的限制。
39.图1为根据本发明一实施例的面向多域软件定义网络的配置验证方法的流程示意图;
40.图2为根据本发明一实施例的面向多域软件定义网络的配置验证框架示意图;
具体实施方式
41.以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成相应技术效果的实现过程能充分理解并据以实施。本技术实施例以及实施例中的各个特征,在不相冲突前提下可以相互结合,所形成的技术方案均在本发明的保护范围之内。
42.图1为根据本发明一实施例的面向多域软件定义网络的配置验证方法的流程示意图,如图所示,该生成方法包括:
43.步骤110、从多域软件定义网络的软件定义网络子网设备中提取配置信息,根据配置信息构造软件定义网络子网形式化模型。
44.步骤120、从多域软件定义网络的核心网设备中提取配置信息,根据配置信息构造核心网形式化模型。
45.步骤130、将所述软件定义网络子网形式化模型与所述核心网形式化模型组合为
多域软件定义网络形式化模型。
46.步骤140、检查所述多域软件定义网络形式化模型是否存在对可达性和绝对阻塞网络规则的违反。
47.如果所述模型中存在对所述网络规则的违反,则输出与所述违反对应的所述多域软件定义网络形式化模型中的流元素,如步骤s141所示。
48.如果不存在对所述网络规则的违反,则所述多域软件定义网络形式化模型通过了验证,如步骤s142所示。
49.具体的,在步骤s110中,所述多域软件定义网络应是由多个软件定义网络子网和一个核心网组合构成的网络,包括:
50.每一个所述的软件定义网络子网是一个软件定义网络,所述的软件定义网络是由一个或多个运行软件定义网络应用的软件定义网络控制器和多个软件定义网络转发设备组成的网络,其中所述的转发设备包括软件定义网络交换机和软件定义网络无线网络访问点等。
51.所述的核心网是一个所述的软件定义网络或一个传统网络,所述的传统网络是由多个运行路由协议的路由器组成的网络。
52.每一个所述的软件定义网络子网都连接到所述的核心网,由核心网进行多个软件定义网络子网间的路由和交换。
53.在步骤s110中,所述从多域软件定义网络的软件定义网络子网设备中提取配置信息,根据配置信息构造软件定义网络子网形式化模型,包括:
54.与所述多域软件定义网络的软件定义网络子网的软件定义网络控制器建立连接;
55.通过所述软件定义网络控制器的表征状态转移应用程序编程接口,获取所述软件定义网络子网的所有设备的配置信息,包括链路信息、拓扑信息和流表信息;
56.根据所述软件定义网络子网设备的配置信息,构造一个软件定义网络子网形式化模型,包括用于表示转发设备的点元素、用于表示转发设备内连接与转发设备间链路的边元素,以及用于表示流表项的流元素;
57.对所述多域软件定义网络的每一个软件定义网络子网重复前述步骤,建立多个软件定义网络子网形式化模型。
58.通过所述软件定义网络控制器的表征状态转移应用程序编程接口获取所述软件定义网络子网的所有设备的配置信息属于现有技术,此处不再赘述。另外,本发明实施例中对于软件定义网络子网设备的型号、类型,以及建立形式化模型时所采用的建模语言均不做限定,可以根据实际情况在现有技术中进行选择。
59.在步骤s120中,从多域软件定义网络的核心网设备中提取配置信息,根据配置信息构造核心网形式化模型,包括:
60.如果所述核心网是一个软件定义网络,则使用所述构造一个软件定义网络子网形式化模型的方法建立核心网形式化模型;
61.如果所述核心网是一个由多个路由器组成的传统网络,则使用路由器配置提取工具获取每一个路由器的配置信息,包括设备信息、链路信息和路由信息;构造核心网形式化模型,包括用于表示路由设备的点元素、用于表示路由设备内连接与转发设备间链路的边元素,以及用于表示路由始末端点的流元素。
62.使用路由器配置提取工具获取每一个路由器的配置信息属于现有技术,此处不再赘述。另外,本发明实施例中对于核心网设备的型号、类型,以及建立形式化模型时所采用的建模语言均不做限定,可以根据实际情况在现有技术中进行选择。
63.在步骤s130中,所述将所述软件定义网络子网形式化模型与所述核心网形式化模型组合为多域软件定义网络形式化模型,包括根据所述多域软件定义网络中多个软件定义网络子网与一个核心网和实际连接情况,在所述软件定义网络子网形式化模型与所述核心网形式化模型中分别添加必要的边元素和流元素,形成完整的多域软件定义网络形式化模型。
64.在步骤s140中,所述检查所述多域软件定义网络形式化模型是否存在对可达性和绝对阻塞网络规则的违反,包括:
65.在所述形式化模型中选取需要验证的流元素;
66.由所述流元素的起点出发,遍历所述形式化模型中第一个点元素所对应设备的流表信息或路由信息,如果存在与所述流元素匹配的流表信息或路由信息,则根据所述信息标记下一个点元素;
67.重复前述步骤,如果所述流元素的终点被标记,则所述可达性规则被满足,如果无法找到匹配所述流元素的下一个点元素,则所述可达性规则被违反。
68.在步骤s140中,所述检查所述多域软件定义网络形式化模型是否满足绝对阻塞的要求,包括:
69.在所述形式化模型中选取需要验证的流元素;
70.由所述流元素的起点出发,通过宽度优先搜索和深度优先搜索遍历所述形式化模型,寻找能够到达所述流元素终点的路径;
71.如果存在所述的路径,则所述绝对阻塞规则被违反,如果不存在所述的路径,则所述绝对阻塞规则被满足。
72.宽度优先搜索和深度优先搜索属于现有技术,此处不再赘述。
73.此外,在步骤s140中,所述多域软件定义网络形式化模型中的流元素,包括源ip地址、目的ip地址等信息。
74.源ip地址、目的ip地址属于现有技术,此处不再赘述。
75.下面结合图2,以一个多域软件定义网络的配置验证为例,来说明面向多域软件定义网络的配置验证框架。
76.如图2所示,待验证多域软件定义网络由多个软件定义网络子网和一个传统网络核心网组成。依据以下步骤开始验证:步骤11,通过表征状态转移应用程序编程接口连接到软件定义网络子网控制器;步骤12,获取每个软件定义网络子网设备配置信息;步骤13,通过路由器配置提取工具连接到核心网设备;步骤14,获取每个核心网设备配置信息。步骤11、12、顺序进行,步骤13、步骤14顺序进行,11、12与13、14没有固定的先后顺序。
77.步骤21,根据所述每个软件定义网络子网设备配置信息构建软件定义网络子网形式化模型,模型包括点元素、边元素和流元素等;步骤22,根据所述核心网设备配置信息构建核心网形式化模型,模型包括点元素、边元素和流元素等;步骤23,将多个软件定义网络子网形式化模型与一个核心网形式化模型组合,构成多域软件定义网络形式化模型。步骤21与步骤22都在步骤23之前进行,步骤21与22之间没有固定的先后顺序。
78.步骤31,将所述多域软件定义网络形式化模型输入模型验证工具;步骤32,检查所述多域软件定义网络形式化模型是否满足可达性规则;步骤33,检查所述多域软件定义网络形式化模型是否满足绝对阻塞规则;步骤34,输出验证结果。步骤31在步骤32与步骤33之前进行,步骤32与步骤33在步骤34之前进行,步骤32与步骤33之间没有固定的先后顺序。
79.本发明的实施例提供了一种面向多域软件定义网络的配置验证方法,该方法支持针对多域软件定义网络进行配置验证,利于多域软件定义网络部署和管理。
80.虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1