《基于MonoSAT的云网络配置分析方法及系统.pdf》由会员分享,可在线阅读,更多相关《基于MonoSAT的云网络配置分析方法及系统.pdf(10页珍藏版)》请在专利查询网上搜索。
1、(19)国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 202310366544.9(22)申请日 2023.04.07(71)申请人 浙江大学地址 310058 浙江省杭州市西湖区余杭塘路866号(72)发明人 赵成成石宜平王坤程鹏陈积明祝顺民卢建元吕彪(74)专利代理机构 杭州求是专利事务所有限公司 33200专利代理师 刘静(51)Int.Cl.H04L 41/0803(2022.01)H04L 9/40(2022.01)H04L 67/30(2022.01)H04L 61/2503(2022.01)H04L 41/12(2022.01)(54)。
2、发明名称基于MonoSAT的云网络配置分析方法及系统(57)摘要本发明公开了一种基于MonoSAT的云网络配置分析方法及系统,用于在云网络用户对云网络进行配置时,通过形式化验证的方法分析根据配置文件信息构建的云网络中节点间的可达性等属性。用户通过输入云网络的配置文件信息和需要验证可达性的节点信息即可获得在该配置文件信息下是否可达的形式化验证结果,以此帮助实现判断用户的配置文件是否与用户的配置意图相符等进一步分析。权利要求书2页 说明书6页 附图1页CN 116614355 A2023.08.18CN 116614355 A1.一种基于MonoSAT的云网络配置分析方法,其特征在于,包括:接收用。
3、户提供的配置文件信息,从所述配置文件信息中获取云网络中的网元组件信息,并推测网元组件之间的拓扑信息;根据所述网元组件信息创建相应的组件模拟节点,作为MonoSAT图节点;根据所述拓扑信息,结合数据包在每个节点的可达性判断逻辑表达式,构建MonoSAT图节点间的可达性逻辑边连接;通过MonoSAT求解器计算源节点和目的节点之间的路径上所有边的可达性逻辑,并将可达性结果反馈给用户。2.根据权利要求1所述的基于MonoSAT的云网络配置分析方法,其特征在于,将用户提供的配置信息转化为MonoSAT图的方法步骤如下:S1:初始化创建MonoSAT图;S2:读取配置信息,根据不同网元组件的类型及组件编号。
4、创建MonoSAT图节点,所述网元组件的类型包括专有网络、交换机、云服务器、路由器、安全组、访问控制策略、路由表、负载均衡、NAT网关和互联网;S3:根据推测的网元组件之间的拓扑信息,结合数据包在每个节点的可达性判断逻辑表达式,构建MonoSAT图节点间的可达性逻辑边连接。3.根据权利要求1所述的基于MonoSAT的云网络配置分析方法,其特征在于,所述MonoSAT图中节点之间的连接方法如下:对于在推测的拓扑信息中连接的源节点和目的节点,根据源节点和目的节点之间路径上的每个节点的可达性判断逻辑表达式,建立能够从源节点传送至目的节点的逻辑判断表达式,以边的形式记录在MonoSAT图中;MonoS。
5、AT求解器进行可达性判断时,如果数据包在两个节点间可达,则边存在,反之不存在,从而建立真实可达的MonoSAT图。4.根据权利要求1所述的基于MonoSAT的云网络配置分析方法,其特征在于,所述网元组件的类型为安全组时,在对应节点的可达性判断逻辑表达式的创建规则如下:将安全组的规则转化为逻辑表达式,将安全组的规则分为允许、拒绝和未在规则中配置的;节点入规则和出规则分别匹配;逐条读取安全组规则,按照优先级从高到低排序,每一优先级允许通过的IP地址、端口、协议类型范围是不在高优先级已经匹配的范围内,并且在当前优先级匹配范围内,被允许通过且未被拒绝的范围;最后被允许通过的范围为每一优先级允许通过范围。
6、的并集。5.根据权利要求1所述的基于MonoSAT的云网络配置分析方法,其特征在于,所述网元组件的类型为路由表时,在对应节点的可达性判断逻辑表达式的创建规则如下:将路由表的路由条目转化为逻辑表达式,逐条读取路由条目,被允许通过的目的地址范围是被配置的路由条目地址的并集。6.根据权利要求1所述的基于MonoSAT的云网络配置分析方法,其特征在于,所述网元组件的类型为负载均衡时,在对应节点的可达性判断逻辑表达式的创建规则如下:负载均衡逐条读取监听条目,如果监听处于白名单且监听不属于黑名单,则允许数据包通过。7.根据权利要求1所述的基于MonoSAT的云网络配置分析方法,其特征在于,所述MonoSA。
7、T图中节点间可达性逻辑边的连接类型如下:权利要求书1/2 页2CN 116614355 A2根据云服务器的IP和交换机子网网络地址信息连接交换机和云服务器;根据交换机路由表信息连接和交换机相连的节点;根据路由器的路由表连接和路由器相连的节点;根据负载均衡的监听信息连接和负载均衡相连的节点。8.根据权利要求1所述的基于MonoSAT的云网络配置分析方法,其特征在于,所述MonoSAT求解器根据MonoSAT图的拓扑结构,自动计算给定源地址、端口和目的地址、端口间在给定协议类型下的可达性,返回可达性结果。9.根据权利要求1所述的基于MonoSAT的云网络配置分析方法,其特征在于,所述MonoSAT。
8、求解器获取可达性逻辑的方法如下:S1:根据用户输入的待判断可达性的源地址、目的地址、源端口、目的端口、协议类型和组件类型,读取用户的配置文件信息建立MonoSAT图,使用MonoSAT求解器求解数据包是否能够从源节点发送到目的节点并被接收,如果是,则返回True;反之则进入下一步判断是否使用了NAT网关;S2:逐个读取NAT网关配置信息,若满足NAT网关的转换条件,则更新数据包源地址或目的地址及端口信息后,重新判断可达性,如果判断可达,则返回True,反之返回False。10.一种基于MonoSAT的云网络配置分析系统,其特征在于,包括:配置文件信息读取模块,用于接收用户提供的配置文件信息,从。
9、所述配置文件信息中获取云网络中的网元组件信息,并推测网元组件之间的拓扑信息;云网络组件功能模拟实现模块,用于根据所述网元组件信息创建相应的组件模拟节点,作为MonoSAT图节点;根据所述拓扑信息,结合数据包在每个节点的可达性判断逻辑表达式,构建MonoSAT图节点间的可达性逻辑边连接,从而得到MonoSAT图;可达性分析模块,用于接收用户提供的待分析可达性的节点信息,通过MonoSAT求解器计算源节点和目的节点之间的路径上所有边的可达性逻辑,并将可达性结果反馈给用户。权利要求书2/2 页3CN 116614355 A3基于MonoSAT的云网络配置分析方法及系统技术领域0001本发明涉及云网络。
10、配置分析领域,尤其涉及一种基于MonoSAT的云网络配置分析方法及系统。背景技术0002在云网络中,配置分析的功能对于云网络的管理来说是必不可少的,例如验证网络行为与网络意图之间的一致性、云网络资源的使用计费等。这些技术需要获取配置的可达性等属性作为辅助信息,帮助做出决策判断。云网络作为一种多租户共享资源的服务,配置分析和验证的功能更值得被关注。因为当某个租户的部分配置信息出现错误,可能会导致云网络资源的不合理分配、租户的云网络功能无法正常使用,甚至影响共享云网络的其他租户。而配置分析则可以帮助租户及时发现配置中存在的问题,避免影响云网络的正常使用。所以,在云网络中部署配置分析功能是至关重要的。
11、。0003但是,随着云网络规模的不断扩大和云网络复杂度的不断提高,传统的人工测试的配置分析方法面临效率低、要求操作人员具备一定的经验等挑战,无法适应复杂的大规模网络配置分析场景,所以,需要通过自动化的方法对云网络配置进行分析。MonoSAT是一种针对布尔和位向量的单调理论的SAT模理论求解器,它支持广泛的图谓词,如可达性、最短路径等。网络可达性可以建模为网络组件的由一组节点和有向边组成的符号图,从而可以使用MonoSAT进行网络可达性的求解。但是使用MonoSAT进行云网络配置分析存在挑战。首先,需要从用户给定的配置文件信息中,自动提取云网络的拓扑等信息构建适用于MonoSAT分析的图。其次,。
12、MonoSAT使用逻辑表达式进行判断,而云网络组件的复杂判断条件,如安全组的匹配条件等,很难使用逻辑表达式进行表述。0004综上所述,在云网络配置分析领域设计一种基于MonoSAT的云网络配置分析方法的难度较大。发明内容0005本发明的目的是针对现有技术的不足,设计一套可部署在云网络中的基于MonoSAT的云网络配置分析方法及系统,供云网络配置分析领域使用。0006本发明的目的是通过以下技术方案实现的:0007根据本说明书的第一方面,提供一种基于MonoSAT的云网络配置分析方法,该方法包括:0008接收用户提供的配置文件信息,从所述配置文件信息中获取云网络中的网元组件信息,并推测网元组件之间。
13、的拓扑信息;0009根据所述网元组件信息创建相应的组件模拟节点,作为MonoSAT图节点;0010根据所述拓扑信息,结合数据包在每个节点的可达性判断逻辑表达式,构建MonoSAT图节点间的可达性逻辑边连接;0011通过MonoSAT求解器计算源节点和目的节点之间的路径上所有边的可达性逻辑,说明书1/6 页4CN 116614355 A4并将可达性结果反馈给用户。0012进一步地,将用户提供的配置信息转化为MonoSAT图的方法步骤如下:0013S1:初始化创建MonoSAT图;0014S2:读取配置信息,根据不同网元组件的类型及组件编号创建MonoSAT图节点,所述网元组件的类型包括如下:00。
14、15(1)VPC专有网络:包含VPC的ID、IP和边界路由器等信息,记录VPC中的云服务器、交换机、路由器、NAT网关;0016(2)Switch交换机:包含交换机的ID、IP等信息,记录该交换机绑定的ACL访问控制策略和该交换机子网下的云服务器,在图中创建节点;0017(3)ECS云服务器:包含云服务器的ID、IP等信息,记录该云服务器绑定的安全组,在图中创建节点;0018(4)Router路由器:包含路由器的ID、IP等信息;包含路由器绑定的路由表信息,在图中创建节点;0019(5)Security Group安全组:包含安全组的ID等信息;包含分别对入和出两个方向的安全组规则;判断数据包。
15、的IP地址、协议类型、端口是否与安全组规则匹配,从而判断是否能够通过绑定该安全组的云服务器接收或发送;0020(6)ACL访问控制策略:包含访问控制策略的ID等信息;包含分别对入和出两个方向的访问控制策略规则;判断数据包的IP地址、协议类型、端口是否与访问控制策略规则匹配,从而判断是否能够通过绑定该ACL的交换机接收或发送;0021(7)Route Table路由表:包含路由表的ID等信息;包含将指定目标网段的流量路由至指定的目的地的路由条目,判断数据包的IP地址是否与路由条目匹配,从而判断是否能够通过绑定该路由表的路由器转发;0022(8)CLB负载均衡:包含负载均衡的ID等信息;包含后端接。
16、收被分发流量的云服务器信息和绑定的安全组信息和需要监听的节点信息,在图中创建节点;0023(9)NAT网关:包含NAT的ID、IP等信息;包含DNAT和SNAT转换信息和绑定的交换机信息,在图中创建节点;0024(10)互联网:将互联网等外网作为一个节点接入。0025S3:根据推测的网元组件之间的拓扑信息,结合数据包在每个节点的可达性判断逻辑表达式,构建MonoSAT图节点间的可达性逻辑边连接。0026进一步地,所述MonoSAT图中节点之间的连接方法如下:0027对于在推测的拓扑信息中连接的源节点和目的节点,根据源节点和目的节点之间路径上的每个节点的可达性判断逻辑表达式,建立能够从源节点传送。
17、至目的节点的逻辑判断表达式,以边的形式记录在MonoSAT图中;0028MonoSAT求解器进行可达性判断时,如果数据包在两个节点间可达,则边存在,反之不存在,从而建立真实可达的MonoSAT图。0029进一步地,所述网元组件的类型为安全组时,在对应节点的可达性判断逻辑表达式的创建规则如下:0030将安全组的规则转化为逻辑表达式,将安全组的规则分为允许、拒绝和未在规则中配置的;节点入规则和出规则分别匹配;说明书2/6 页5CN 116614355 A50031逐条读取安全组规则,按照优先级从高到低排序,每一优先级允许通过的IP地址、端口、协议类型范围是不在高优先级已经匹配的范围内,并且在当前优。
18、先级匹配范围内,被允许通过且未被拒绝的范围;最后被允许通过的范围为每一优先级允许通过范围的并集。0032进一步地,所述网元组件的类型为路由表时,在对应节点的可达性判断逻辑表达式的创建规则如下:将路由表的路由条目转化为逻辑表达式,逐条读取路由条目,被允许通过的目的地址范围是被配置的路由条目地址的并集。0033进一步地,所述网元组件的类型为负载均衡时,在对应节点的可达性判断逻辑表达式的创建规则如下:负载均衡逐条读取监听条目,如果监听处于白名单且监听不属于黑名单,则允许数据包通过。0034进一步地,所述MonoSAT图中节点间可达性逻辑边的连接类型如下:0035根据云服务器的IP和交换机子网网络地址。
19、信息连接交换机和云服务器;0036根据交换机路由表信息连接和交换机相连的节点;0037根据路由器的路由表连接和路由器相连的节点;0038根据负载均衡的监听信息连接和负载均衡相连的节点。0039进一步地,所述MonoSAT求解器根据MonoSAT图的拓扑结构,自动计算给定源地址、端口和目的地址、端口间在给定协议类型下的可达性,返回可达性结果。0040进一步地,所述MonoSAT求解器获取可达性逻辑的方法如下:0041S1:根据用户输入的待判断可达性的源地址、目的地址、源端口、目的端口、协议类型和组件类型,读取用户的配置文件信息建立MonoSAT图,使用MonoSAT求解器求解数据包是否能够从源节。
20、点发送到目的节点并被接收,如果是,则返回True;反之则进入下一步判断是否使用了NAT网关;0042S2:逐个读取NAT网关配置信息,若满足NAT网关的转换条件,则更新数据包源地址或目的地址及端口信息后,重新判断可达性,如果判断可达,则返回True,反之返回False。0043根据本说明书的第二方面,提供一种基于MonoSAT的云网络配置分析系统,该系统包括以下模块:0044配置文件信息读取模块,用于接收用户提供的配置文件信息,从所述配置文件信息中获取云网络中的网元组件信息,并推测网元组件之间的拓扑信息;0045云网络组件功能模拟实现模块,用于根据所述网元组件信息创建相应的组件模拟节点,作为M。
21、onoSAT图节点;根据所述拓扑信息,结合数据包在每个节点的可达性判断逻辑表达式,构建MonoSAT图节点间的可达性逻辑边连接,从而得到MonoSAT图;0046可达性分析模块,用于接收用户提供的待分析可达性的节点信息,通过MonoSAT求解器计算源节点和目的节点之间的路径上所有边的可达性逻辑,并将可达性结果反馈给用户。0047本发明与现有技术相比,具有如下的优点:0048第一,用户仅需要提供云网络配置文件信息和想要判断可达性的节点信息即可获得可达性结果。0049第二,自动化获得可达性结果,不需要具有专业知识的人工操作。0050第三,获得的可达性结果是经过形式化验证的,具有可靠性。说明书3/6。
22、 页6CN 116614355 A6附图说明0051图1是本发明实施例提供的基于MonoSAT的云网络配置分析方法流程图;0052图2是本发明实施例提供的基于MonoSAT的云网络配置分析系统结构图。具体实施方式0053为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。0054在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。0055如图1所示,本申请实施例提供一种基于MonoSAT的云网络。
23、配置分析方法,该方法包括:0056接收用户提供的配置文件信息,从所述配置文件信息中获取云网络中的网元组件信息,并推测网元组件之间的拓扑信息;0057根据所述网元组件信息创建相应的组件模拟节点,作为MonoSAT图节点;0058根据所述拓扑信息,结合数据包在每个节点的可达性判断逻辑表达式,构建MonoSAT图节点间的可达性逻辑边连接;0059通过MonoSAT求解器计算源节点和目的节点之间的路径上所有边的可达性逻辑,并将可达性结果反馈给用户。0060在一个实施例中,需要读取的配置信息包括:0061(1)VPC专有网络:VPC的ID和子网IP和边界路由器;0062(2)安全组:安全组的ID、安全组。
24、入和出规则、安全组所在的VPC;0063(3)云服务器:云服务器的ID、所属的VPC、云服务器的IP地址、云服务器绑定的所有安全组的集合;0064(4)访问控制策略:访问控制策略的ID、所属的VPC、访问控制策略入和出规则;0065(5)路由表:路由表的ID、所属的VPC、路由条目;0066(6)交换机:交换机ID、所属的VPC、交换机的子网IP、交换机绑定的访问控制策略、交换机的路由表;0067(7)路由器:路由器ID、所属的VPC、路由器绑定的路由表;0068(8)负载均衡:负载均衡ID、所属的VPC、监听的节点、后端处理流量的云服务器组成的服务器组、绑定的安全组;0069(9)服务器组:。
25、服务器组ID、所属的VPC、该服务器组中后端处理流量的所有云服务器;0070(10)NAT网关:NAT ID、所属的VPC、绑定的交换机、SNAT需要改变源地址的IP和需要改成的源地址IP、DNAT需要将收到的流量重新分发的节点IP地址。0071在一个实施例中,将用户提供的配置信息转化为MonoSAT图的方法如下:0072S1:初始化创建MonoSAT图。0073S2:读取配置信息,根据不同网元组件的类型及组件编号创建MonoSAT图节点,所述网元组件的类型包括专有网络、交换机、云服务器、路由器、安全组、访问控制策略、路由说明书4/6 页7CN 116614355 A7表、负载均衡、NAT网关。
26、和互联网;0074S3:根据推测的网元组件之间的拓扑信息,结合数据包在每个节点的可达性判断逻辑表达式,构建MonoSAT图节点间的可达性逻辑边连接;节点之间的连接方法如下:0075对于在推测的拓扑信息中连接的源节点和目的节点,根据源节点和目的节点之间路径上的每个节点的可达性判断逻辑表达式,建立能够从源节点传送至目的节点的逻辑判断表达式,以边的形式记录在MonoSAT图中;0076MonoSAT求解器进行可达性判断时,如果数据包在两个节点间可达,则边存在,反之不存在,从而建立真实可达的MonoSAT图。0077在一个实施例中,MonoSAT图中节点间可达性逻辑边的连接类型如下:0078(1)根据。
27、云服务器的IP和交换机子网网络地址信息连接交换机和云服务器;0079(2)根据交换机路由表信息连接和交换机相连的节点;0080(3)根据路由器的路由表连接和路由器相连的节点;0081(4)根据负载均衡的监听信息连接和负载均衡相连的节点。0082在一个实施例中,云网络组件对应节点的可达性判断逻辑表达式的创建规则如下:0083(1)安全组时:将安全组的规则转化为逻辑表达式,将安全组的规则分为允许、拒绝和未在规则中配置的;节点入规则和出规则分别匹配;0084逐条读取安全组规则,按照优先级从高到低排序,每一优先级允许通过的IP地址、端口、协议类型范围是不在高优先级已经匹配的范围内,并且在当前优先级匹配。
28、范围内,被允许通过且未被拒绝的范围;最后被允许通过的范围为每一优先级允许通过范围的并集。0085(2)访问控制策略:与安全组的匹配方法相同。0086(3)路由表:将路由表的路由条目转化为逻辑表达式,逐条读取路由条目,被允许通过的目的地址范围是被配置的路由条目地址的并集。0087(4)负载均衡:负载均衡逐条读取监听条目,如果监听处于白名单且监听不属于黑名单,则允许数据包通过。0088(5)云服务器:云服务器作为源节点时,判断数据包是否能通过绑定的安全组出规则;云服务器作为目的节点时,判断数据包是否能通过绑定的安全组入规则。0089(6)交换机:交换机作为源节点时,判断数据包是否能通过绑定的访问控。
29、制策略出规则,并判断是否允许通过交换机绑定的路由表;交换机作为目的节点时,判断数据包是否能通过绑定的访问控制策略入规则。0090(7)路由器:判断是否允许通过路由器绑定的路由表。0091(8)NAT网关:SNAT判断源地址和源端口范围是否属于需要转换为新源地址的范围,若属于,则将源地址更新;DNAT判断目的地址和目的端口范围是否属于需要转换为新目的地址的范围,若属于,则将目的地址更新。0092在一个实施例中,可达性分析过程具体如下:0093S1:根据用户输入的待判断可达性的源地址、目的地址、源端口、目的端口、协议类型和组件类型,读取用户的配置文件信息建立MonoSAT图,使用MonoSAT求解。
30、器求解数据包是否能够从源节点发送到目的节点并被接收,如果是,则返回True;反之则进入下一步判断是否使用了NAT网关;说明书5/6 页8CN 116614355 A80094S2:逐个读取NAT网关配置信息,若满足NAT网关的转换条件,则更新数据包源地址或目的地址及端口信息后,重新判断可达性,如果判断可达,则返回True,反之返回False。0095与前述基于MonoSAT的云网络配置分析方法实施例相对应,本发明还提供了基于MonoSAT的云网络配置分析系统实施例,如图2所示,该系统包括配置文件信息读取模块、云网络组件功能模拟实现模块和可达性分析模块三个组成部分,每个部分的功能如下:0096(。
31、1)配置文件信息读取模块:用于接收用户提供的配置文件信息,从配置文件信息中获取云网络中的网元组件信息,并推测网元组件之间的拓扑信息。0097具体地,首先,配置文件信息读取模块会逐行读取用户的配置信息,根据配置信息中提供的组件类型、组件编号等信息,调用云网络组件功能模拟实现模块为MonoSAT图生成相应的组件节点。其次,从配置信息中推测出网元组件之间的拓扑信息,在拓扑中相邻的节点,调用云网络组件功能模拟实现模块,建立有条件的连接。0098(2)云网络组件功能模拟实现模块:负责云网络中每个组件的MonoSAT模拟功能实现,将云网络组件的功能用逻辑表达式表示,使MonoSAT可以通过这些逻辑表达式信。
32、息确定图节点之间的可达性,从而实现模拟云网络的可达性分析;0099具体地,根据网元组件信息创建相应的组件模拟节点,作为MonoSAT图节点;根据拓扑信息结合数据包在每个节点的可达性判断逻辑表达式,构建MonoSAT图节点间的可达性逻辑边连接,从而得到MonoSAT图。0100(3)可达性分析模块:用于接收用户提供的待分析可达性的节点信息,通过MonoSAT求解器计算源节点和目的节点之间的路径上所有边的可达性逻辑,并将可达性结果反馈给用户。0101以上所述仅是本发明的优选实施方式,虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何的简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。说明书6/6 页9CN 116614355 A9图1图2说明书附图1/1 页10CN 116614355 A10。