CN116155737A - 一种网络配置方法及装置 - Google Patents
一种网络配置方法及装置 Download PDFInfo
- Publication number
- CN116155737A CN116155737A CN202210319796.1A CN202210319796A CN116155737A CN 116155737 A CN116155737 A CN 116155737A CN 202210319796 A CN202210319796 A CN 202210319796A CN 116155737 A CN116155737 A CN 116155737A
- Authority
- CN
- China
- Prior art keywords
- user
- network
- vpc
- network configuration
- device group
- 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.)
- Pending
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/0876—Aspects of the degree of configuration automation
- H04L41/0886—Fully automatic 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
-
- 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/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Automation & Control Theory (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种网络配置方法及装置,其中方法包括:获取一个或多个用户意图,用户意图用于指示虚拟私有云VPC网络中的网络配置需求和云服务配置需求,确定VPC网络的优化目标,然后根据一个或多个用户意图和优化目标,获得VPC网络配置方案,之后根据VPC网络配置方案调用一个或多个云服务的应用程序接口API,以使得管理一个或多个云服务的至少一个管理装置为VPC网络中配置一个或多个云服务;其中,云服务配置需求包括一个或多个云服务的配置需求。在获取一个或多个用户意图后,不需要确定网络拓扑结构的情况下也可以获取VPC网络配置方案,从而可以实现VPC网络配置的自动生成。
Description
本申请要求在2021年11月23日提交国家知识产权局、申请号为 202111397164.9、发明名称为“一种数据处理方法和计算机”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及虚拟网络技术领域,尤其涉及一种网络配置方法及装置。
背景技术
虚拟网络是云服务商将底层物理网络设备抽象形成的网络功能资源池,租户通过操纵虚拟网络所提供的网络抽象来构建它们在云上的专属网络。由于人工实现从意图到虚拟网络配置之间的转换存在困难,例如,虚拟网络的构建过程十分复杂,由于虚拟网络提供给租户的网络抽象本质上只是用于构建物理网络的低级构建块的虚拟化版本,这就要求租户自己完成从网络意图到低级构建块的转换以及关于网络规模、可用性和安全性的复杂推理;又例如,虚拟网络配置的学习成本高,由于虚拟网络提供的网络服务纷繁错杂,每种服务都需要大量的手工配置工作量,且这些配置作为低级构建块的虚拟化版本需要租户具有底层网络概念的详细知识;又例如,虚拟网络的合理配置难以被保证,由于租户难以对虚拟网络的配置资源有深入了解,难以保证配置的虚拟网路性能良好或对配置资源的合理使用,这会为未来问题的出现埋下隐患,不仅影响租户的使用体验,也增加了云服务商为解决问题投入的成本。所以需要针对虚拟网络环境进行意图编译替代人工实现,即以用户以意图的形式所给出的期望网络实现的功能或达到的状态作为输入,将其转换为相应的网络配置并自动将配置下发至实际网络基础设施的过程。
目前的网络领域的意图编译需要向意图编译器输入意图以及网络拓扑结构,才能得到最终的网络配置,但是,虚拟网络在编译前并不存在既定的网络拓扑,所以无法实现以虚拟私有云(virtual private cloud,VPC)为主的虚拟网络的意图编译。
发明内容
本申请实施例提供一种网络配置方法及装置,用以实现通过意图编译方式生成VPC网络。
第一方面,本申请实施例提供一种网络配置方法,该方法可以由网络配置装置执行,该方法包括:获取一个或多个用户意图,用户意图用于指示虚拟私有云VPC网络中的网络配置需求和云服务配置需求,确定VPC网络的优化目标,然后根据一个或多个用户意图和优化目标,获得VPC网络配置方案,之后根据VPC网络配置方案调用一个或多个云服务的应用程序接口API,以使得管理一个或多个云服务的至少一个管理装置为VPC网络中配置一个或多个云服务;其中,云服务配置需求包括一个或多个云服务的配置需求。
通过上述方法,在获取一个或多个用户意图后,不需要确定网络拓扑结构的情况下也可以获取VPC网络配置方案,从而可以实现VPC网络配置的自动生成。
在一种可能的设计中,用户意图包括下述的一种或多种:应用程序群组标识、端口配置信息和服务功能类型。其中,服务功能类型包括防火墙和/或负载均衡。
在一种可能的设计中,上述一个或多个用户意图可以包括第一用户意图和/或第二用户意图,其中,第一用户意图用于指示禁止数据由第一设备组中的第一计算设备流向第二设备组中的第二计算设备,第一设备组包括一个或多个第一计算设备,第二设备组包括一个或多个第二计算设备;第二用户意图用于指示允许数据由第三设备组中的第三计算设备流向第四设备组中的第四计算设备,第三设备组包括一个或多个第三计算设备,第四设备组包括一个或多个第四计算设备。
通过上述方法,在上述一个或多个用户意图均为黑名单体系的用户意图(即第一用户意图)的情况下,可以使得用户对于仅拒绝少部分通信流量或是允许少数IP地址/端口访问的意图的声明变得更容易。在上述一个或多个用户意图均为白名单体系的用户意图(即第二用户意图)的情况下,可以使得用户对于仅允许少部分通信流量或是允许少数IP地址/端口访问的用户意图的声明变得更容易。在上述一个或多个用户意图包括白名单体系的用户意图(第二用户意图)和黑名单体系的用户意图(即第一用户意图)的情况下,这两种类型的用户意图共存使得无论是仅允许小部分通信流量或是允许少数IP地址/端口访问的用户意图,还是仅拒绝小部分通信流量或是允许少数IP地址/端口访问的用户意图的声明都十分简洁、容易。
在一种可能的设计中,获取第一用户意图,可以包括:提供第一配置接口,第一配置接口用于接收用户上传的第一用户意图,接收用户上传的第一用户意图。
在一种可能的设计中,确定VPC网络的优化目标,可以包括:提供第二配置接口,第二配置接口用于接收用户上传的优化目标;然后,接收用户上传的优化目标。通过该设计,获取到用户上传的优化目标,可以使得配置的VPC网络符合优化目标。
在一种可能的设计中,优化目标包括网络开销最小和/或时延最小,其中,网络开销指示在网络传输过程中冗余数据占源数据的比例。通过该设计,可以使得配置的VPC网络的网络性能最好以及开销最小。
在一种可能的设计中,根据VPC网络配置方案调用一个或多个云服务的应用程序接口 API,包括:将部分/全部的VPC网络配置方案转换为VPC网络配置指令,VPC网络配置指令符合一个或多个云服务的API格式;然后,将VPC网络配置指令发送至一个或多个云服务的管理装置,以使得一个或多个云服务的管理装置为VPC网络中配置一个或多个云服务。通过该设计,可以将VPC网络配置方案转换为网络配置装置调用的API可以识别的API格式,从而使得网络配置方案可适配不同厂商的API。
在一种可能的设计中,提供一个或多个云服务的厂商和运行网络配置装置的厂商可以为同一厂商,也可以为不同厂商。
在一种可能的设计中,在获取一个或多个用户意图后,上述方法包括:将一个或多个用户意图进行合并,生成全局意图;根据一个或多个用户意图和优化目标,获得网络配置方案,可以包括:根据全局意图和优化目标,获得网络配置方案。通过该设计,可以支持用户输入多个独立的用户意图,不需要用户考虑多个用户意图的合并,网络配置装置可以自动实现对多个用户意图的合并,从而可以减轻用户负担。
第二方面,本申请实施例还提供了一种网络配置装置,有益效果可以参见第一方面或第一方面的任一可能的设计中的描述此处不再赘述。该网络配置装置具有实现上述第一方面或的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述装置的结构中包括通信单元和处理单元,这些单元可以执行上述第一方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第三方面,本申请实施例还提供了一种计算设备,所述计算设备包括处理器和存储器,还可以包括通信接口以及显示屏,所述处理器执行所述存储器中的程序指令执行上述第一方面或第一方面任一可能的设计提供的方法。所述存储器与所述处理器耦合,其保存程序指令和数据。所述通信接口,用于与其他设备进行通信,例如通过API对接器调用云服务商提供的VPC网络的API。所述显示屏用于在所述处理器的触发下向用户显示图编辑器/浏览器的用户界面。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质被计算设备执行时,所述计算设备执行前述第一方面或第一方面的任意可能的实现方式中提供的方法。该计算机可读存储介质中存储了程序。该计算机可读存储介质包括但不限于易失性存储器,例如随机访问存储器,非易失性存储器,例如快闪存储器、硬盘(hard diskdrive,HDD)、固态硬盘(solid state drive,SSD)。
第五方面,本申请提供了一种计算设备程序产品,所述计算设备程序产品包括计算机指令,在被计算设备执行时,所述计算设备执行前述第一方面或第一方面的任意可能的实现方式中提供的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面或第一方面的任意可能的实现方式中提供的方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。
第六方面,本申请还提供一种芯片,芯片与存储器相连,芯片用于读取并执行存储器中存储的软件程序,执行前述第一方面或第一方面的任意可能的实现方式中提供的方法。
附图说明
图1为本申请实施例提供的PGA模型的系统架构示意图;
图2为本申请实施例提供的策略图的示意图;
图3为本申请实施例提供的适用的系统架构示意图;
图4为本申请实施例提供的适用的系统架构示意图;
图5为本申请实施例提供的策略图的示意图;
图6为本申请实施例提供的一种网络配置方法流程示意图;
图7为本申请实施例提供的用户意图示意图;
图8为本申请实施例提供的标签层级架构示意图;
图9为本申请实施例提供的白名单体系的用户意图示意图;
图10为本申请实施例提供的黑名单体系的用户意图示意图;
图11为本申请实施例提供的白名单体系的用户意图对应的合成图示意图;
图12为本申请实施例提供的黑名单体系的用户意图对应的合成图示意图;
图13为本申请实施例提供的全局意图示意图;
图14为本申请实施例提供的意图编译器的生成过程示意图;
图15为本申请实施例提供的VPC网络配置信息示意图;
图16为本申请实施例提供的网络配置装置示意图;
图17为本申请实施例提供的网络配置装置示意图。
具体实施方式
在对本申请实施例提供的一种网络配置方法进行说明之前,先对本申请实施例涉及的概念进行说明:
(1)虚拟私有云(virtual private cloud,VPC),为云服务器、云容器、云数据库等资源构建隔离的、用户自主配置和管理的虚拟网络环境,提升用户云上资源的安全性,简化用户的网络部署。
(2)虚拟网络(virtual network),是一种包含至少部分是虚拟网络链接的计算机网络,其中,虚拟网络链接是在两个计算设备间不包含物理连接,而是通过网络虚拟化来实现。
(3)用户意图(user intent),是用户所提出的网络需求,可以是用户期望网络最终实现的功能或是达到的状态。意图是一种声明式的策略。
(4)网络领域的意图编译,是以用户以意图的形式所给出的期望网络实现的功能或达到的状态作为输入,将其转换为相应的网络配置并自动将配置下发至实际网络基础设施的一类方法。
本申请中的“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/ 或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请中所涉及的“至少一个”是指一个或者多个。多个,是指两个或两个以上。“至少一个”、“任意一个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
目前,由于人工实现从意图到虚拟网络配置之间的转换存在困难,所以需要针对网络环境进行意图编译替代人工实现,下面介绍一种可以实现网络领域的意图编译的具体方式。
通过策略图抽象(policy graph abstraction,PGA)模型实现多个用户意图合成从而生成全局意图,其中,PGA模型允许用户以图的形式简单且独立地表达网络策略,并对独立输入的多个策略进行自动合成,并在此过程中检测和解决策略冲突。
图1为PGA的系统架构,如图1所示,该PGA的系统架构包括图编辑/浏览器和图合成器。用户、租户、管理员、SDN应用等可独立地以图的形式生成他们各自的策略并通过PGA 的用户界面将其提交给图合成器。用户界面和图合成器利用来自外部服务的附加信息(例如标签信息)协助策略的合成。图合成器会自动地将输入图合成为一个无冲突的组合图,即合成图,在合成过程中会解决或标记冲突/错误,并向用户报告冲突/错误,可选的,PGA还可以提出修复建议。合成图可被主动或被动地编译成底层配置/规则。PGA的策略合成和底层的编译方法是正交的。
其中,输入PGA的策略可以使用图结构表示,该图结构表示:网络设备间允许的通信,以及每次通信所需的服务功能链的遍历。PGA模型是一个白名单模型,必须显式允许通信,否则会隐式拒绝。
在使用图结构表示的策略图中包括两个端点,每个端点代表一个设备组(endpoint group,设备组),该设备组包含一组端点,端点是策略图中的最小抽象单元,端点例如为服务器、虚拟机、子网或最终用户。一个设备组由满足设备组成员资格条件的所有端点组成。两个设备组之间的有向边则被用来指定两个设备组之间允许的通信。有向边本身由一个匹配数据包头域来表示安全白名单规则的分类器组成,可选地,还具有由一个或多个网络功能盒序列所组成的服务链。
如图2所示的策略图中,两个端点分别代表设备组雇员(Employees)和设备组服务部 (Servers),在图2所示的策略表示允许设备组Employees向设备组Servers发送流量,该流 量必须使用TCP端口80或34或7000发送,且必须通过防火墙服务。另外,策略图还可以灵活地指定在策略图与任何其他策略图组合时所允许的策略更改的约束。可以为策略图中任 何的设备组对指定约束。
需要说明的是,如图2所示的策略图可以是通过网页浏览器或者应用的交互界面等方式获得的。本申请不对策略图的获取方式进行限制。
在多个策略图输入至图合成器之后,图合成器对多个策略图进行合并,可以分为以下两个步骤进行:
S1,对输入策略图的规范化。
首先,根据输入的标签层级架构以及标签映射将输入策略图的设备组转换为全局不相交的设备组的形式,形成了规范化的设备组。具体来说,利用标签层级架构将非叶子节点标签替换为与其等价的叶子节点标签的正析取范式的形式,这样就得到了局部不相交的设备组。然后根据标签映射查询每一个合取项以识别其他潜在的关联标签,将查询到的结果添加到合取项中。如果得到的结果中有任何互斥的标签,就相应地对该合取项进行划分,持续该划分过程直到任意两项均没有互斥的标签,最终这些合取项的集合即为全局不相交的设备组。
然后,将输入的策略图的约束在规范化设备组上进行重复和合并。
具体来说,假设原始输入策略图中的设备组S被转换成了规范化的设备组S1,S2,…,Sm,输入策略图的设备组D被规范化为设备组D1,D2,…,Dn。如果在输入策略图中对源设备组S和目的设备组D有约束,那么这约束就要在规范化策略图的设备组对上重复。约束还可能需要被合并。如果原始输入策略图有设备组对(G,H)的约束,并且这个设备组对与设备组对(S,D)有重叠,那么为(G,H)指定的任何约束都必须与(S,D)的约束合并以便构成规范化设备组间继承了重叠的约束。合并时还会检测冲突,并为操作员标记这样的错误。
最后,遵照上一步得到的约束将原输入策略图的边策略在规范化设备组上进行重复和合并。
S2,是对规范化策略图的合并。
首先最终合成图中的设备组是所有规范化策略图的设备组的并集。
然后合成图的约束是所有独立规范化策略图的约束的重复和合并的结果,合成图中约束的合成和在对输入策略图的规范化中进行的约束合成步骤类似,此处不再赘述。
最后,根据重复和合并后的约束,重复和合并的所有独立规范化策略图的边策略。
在将单个规范化策略图的边添加到合成图中时,首先检查其源设备组和目的设备组之间的约束,这一检查决定了边的分类器是否符合约束或者需要被缩小范围以便符合约束。如果一条新边以非空的幸存分类器通过了这个测试,那么这条新边可能会被添加或合并到从源设备组到目的设备组的现有边。在合并新边时,首先找到其分类器流空间和已有分类器的交集。对于新边的不相交分类器空间,新边及其功能盒都可被直接添加。对于任何相交的分类器空间,依据已有的策略和新的要合并的策略,将相交空间划分为一组匹配的子空间。这允许我们为每个子空间合并一条现有边和新边。
通过上述PGA模型得到合成图后,可以将合成图以及网络拓扑结构输入至意图编辑器,得到最终的网络配置,但是虚拟网络在编译前并不存在既定的网络拓扑,所以PGA模型可以实现在底层仅支持SDN环境下启用OpenFlow的网络设备,并不支持以VPC为主的虚拟网络。虽然以VPC为主的虚拟网络的实现可能是基于OpenStack Neutron的,但以VPC为主的虚拟网络所提供的网络组件API远多于OpenStack Neutron,且即便是重叠的API其参数也有所不同,所以PGA即使能支持OpenStack Neutron也无法支持以VPC为主的虚拟网络。
这类方法主要用于底层网络/物理网络的构建,而这类网络的构建前提是网络拓扑相对固定,目前没有合适的构建VPC的方法,而如果使用这类方法的话,VPC的拓扑结构的灵活性就没有使用到。也即,在不确定网络拓扑的情况下,上述方法无法用于构建VPC网络。
本申请要解决的技术问题也正是,如何在不依据网络拓扑结构的情况下,构建VPC网络。
为此,本申请实施例提供一种网络配置方法,通过获取一个或多个用户意图,用户意图用于指示虚拟私有云VPC网络中的网络配置需求和云服务配置需求,确定VPC网络的优化目标,然后根据一个或多个用户意图和优化目标,获得VPC网络配置方案,之后根据VPC网络配置方案调用一个或多个云服务的应用程序接口API,以使得管理一个或多个云服务的至少一个管理装置为VPC网络中配置一个或多个云服务。通过该方法,在获取一个或多个用户意图后,不需要确定网络拓扑结构的情况下也可以获取VPC网络配置方案,从而可以实现 VPC网络配置的自动生成。
下面提供本申请实施例使用的系统架构。
如图3所示,该系统架构包括网络配置装置、公有云以及在公有云环境中的用户账户,其中,公有云可以为用户账户提供共享网络资源服务,例如图3所示的公有云环境中有3个用户账户。
当需要在公有云上创建VPC网络时,例如用户账户2需要创建VPC网络,用户可以在用户账户2上向网络配置装置上传一个或多个用户意图以及优化目标。
然后,网络配置装置可以根据一个或多个用户意图和优化目标,获得VPC网络配置方案,并通过API对接器调用公有云上的一个或多个云服务的API,例如图3中的云服务1的API1 和云服务2的API2,从而实现通过管理云服务1的API1和云服务2的API2的管理装置向用户账户2下发VPC网络配置方案,并在下发过程中完成VPC网络中配置一个或多个云服务。
基于图3所示的系统架构,图4示出了本申请提供的网络配置装置的结构示意图,如图4所示,网络配置装置包括意图合成器和意图编译器。首先,多个用户分别输入到意图合成器中的用户意图,经过意图合成器的处理后形成全局意图,本申请实施例中的全局意图又可称为全局无冲突意图。然后,该全局意图随后被输入到意图编译器,意图编译器对其进行处理后会直接将相应的虚拟网络配置方案下发到用户账户中,形成满足全局意图的VPC网络。
其中,意图合成器可以包括图编辑器/浏览器、图规范化器、以及图合成器。多个用户独立地通过图编辑器/浏览器以图(或图结构)的形式向意图合成器输入用户意图,本申请实施例中,以图(或图结构)的形式输入的用户意图也可以称为策略图,然后,图编辑器/浏览器将输入的策略图传输至图规范化器。此外,图编辑/浏览器还可以接收外部服务,例如图8所示的标签信息,并将标签信息传输至图规范化器,以协助对输入的策略图的规范化过程。多个独立输入的策略图经过图规范化器的处理后,得到多个独立的规范化策略图。
在一些实施例中,输入到意图合成器的用户意图包括白名单体系的用户意图,白名单体系的意图为用于声明允许数据由一个设备组(例如第三设备组)流向另一个设备组(例如第四设备组)的意图,例如图2中的策略图属于白名单体系的意图,用于声明允许数据由设备组Employees使用80、34、7000等端口流向设备组Servers,且这些数据必须经过防火墙服务。这样可以使得用户对于仅允许少部分通信或是允许少数IP地址/端口访问的意图的表达变得更容易。
在又一些实施例中,输入到意图合成器的用户意图包括黑名单体系的用户意图,黑名单体用户系的意图为用于声明拒绝/禁止数据由一个设备组(例如第三设备组)流向另一个设备组(例如第四设备组)的意图,例如图5所示的策略图属于黑名单体系的意图,用于声明拒绝数据由设备组all使用端口445信向设备组Servers。这样可以使得用户对于仅拒绝少部分通信或是拒绝少部分IP地址/端口访问的意图的表达变得更容易。
在其它一些实施例中,输入到意图合成器的用户意图也可以包括白名单体系的用户意图和黑名单体系的用户意图,这样可以使得用户不仅对于用户对于仅允许少部分通信或是允许少数IP地址/端口访问的意图的表达变得更容易,而且对于仅拒绝少部分通信或是拒绝少数恶意IP地址/端口访问的意图的表达也变得更容易。
在图规范化器处理得到多个独立的规范化策略图之后,多个独立的规范化策略图输入至图合成器,合成器会对这些独立的规范化策略图进行合并,形成一个全局无冲突的合成图,即全局意图。无论是图规范化器还是图合成器都可能在处理过程中发现策略冲突,此时发现策略冲突它们会以日志和错误的形式向用户报告这些冲突。
上述意图编译器包括优化编译器和API对接器。从意图合成器中的图合成器输出全局意图之后,将全局意图输入至意图编译器中的优化编译器,优化编译器对全局意图进行编译,生成能够实现全局意图的、且优化了对虚拟网络资源使用的VPC网络配置方案。通过意图编译器可以实现对于将全局意图自动编译为VPC网络配置方案并通过API对接器调用一个或多个云服务的API,从而实现将VPC网络配置方案下发至用户账户,形成能够实现全局意图的 VPC网络。
基于上述内容,本申请实施例提供的一种网络配置方法,该方法可以应用于如图3所示的网络配置装置。如图6所示,该方法包括:
步骤601,网络配置装置获取一个或多个用户意图。
其中,用户意图用于指示虚拟私有云VPC网络中的网络配置需求和云服务配置需求,云服务配置需求包括一个或多个云服务的配置需求,例如配置应用程序对应的实例的需求,实例可以为物理机、虚拟机和容器等。网络配置需求包括应用程序群组之间的通信关系、端口设置信息和服务功能类型等的配置需求。
本申请实施例中,用户意图可以包括下述的一种或多种内容:应用程序群组标识、端口配置信息和服务功能类型。其中,服务功能包括防火墙和/或负载均衡。
一种可能的实施方式中,网络配置装置可以提供第一配置接口,其中,第一配置接口用于接收用户上传的所述第一用户意图,然后,接收所述用户上传的所述第一用户意图。
一个或多个用户意图可以是用户通过图编辑器/浏览器以图(或图结构)的形式输入到意图合成器中的,从而使得意图的输入对于用户来说简单、形象且易于理解。以图(或图结构)的形式输入的用户意图也可以称为策略图,策略图的两端为分别为两个设备组,每个设备组中可以包括一个或多个计算设备,两个设备组之间的通信实际上是分别位于两个设备组上的应用程序之间的交互。两个设备组之间通过有向边连接,有向边用于指示连接的两个设备组之间的通信控制,通信控制例如为允许通信或拒绝通信。
例如图2所示的策略图中,以雇员(Employees)和服务部(Servers)代表用户意图中两个设备组,以Employees和Servers之间的有向边表示两个设备组之间的通信控制。其中,有向边可以包括具有指示通信方向的边(如图2中的箭头)和分类器,分类器为具有指示通信方向的边上方的端口设置信息,例如为图2中所示的表示端口的80、34、7000等。
可选的,用户意图中还可以包括服务功能链,服务功能链用于指示设备组之间的通信流量经过的服务功能,服务功能例如图2中所示的在有向边上的防火墙(firewall,FW),又例如负载均衡。本申请实施例中涉及的服务功能链又可称为功能盒。
在一种可能的实施方式中,至少一个用户意图包括白名单体系的用户意图(例如第二用户意图)和/或黑名单体系的用户意图(例如第一用户意图),其中,第一用户意图用于指示禁止数据由第一设备组中的第一计算设备流向第二设备组中的第二计算设备,第一设备组包括一个或多个第一计算设备,第二设备组包括一个或多个第二计算设备;第二用户意图用于指示允许数据由第三设备组中的第三计算设备流向第四设备组中的第四计算设备,第三设备组包括一个或多个第三计算设备,第四设备组包括一个或多个第四计算设备。
图7为本申请实施例提供的用户意图示意图,如图7所示,7个用户意图中前4个意图为白名单体系的用户意图,例如,用户意图1声明允许数据由设备组市场部(marketing,Mktg)通过7000端口流向设备组客户关系管理(customer relationship management,CRM)的通信流量,用户意图2声明允许数据由设备组Employees通过80、34、7000等端口流向设备组 Servers的通信流量,用户意图3声明允许数据由设备组总部(All)通过80、443等端口流向设备组网页(Web)的通信流量,用户意图4声明允许数据由设备组All通过80、443等端口流向设备组数据库(database,DB)的通信流量。这样可以使得用户对于仅允许少部分通信流量或是允许少数IP地址/端口访问的用户意图的声明变得更容易。
在图7中,后3个用户意图为黑名单体系的用户意图,其中,用户意图5声明拒绝数据由设备组互联网(Internet)流向设备组Employees的通信流量,用户意图6声明拒绝数据由设备组Internet流向设备组Servers的通信流量,用户意图7声明拒绝数据由设备组All通过端口445流向设备组Servers的通信流量。这样可以使得用户对于仅拒绝少部分通信流量或是少部分IP地址/端口访问的用户意图的声明变得更容易。
本申请实施例中,上述步骤601中的一个或多个用户意图可以均为白名单体系的用户意图,也可以均为黑名单体系的用户意图,也可以包括白名单体系的用户意图和黑名单体系的用户意图,这两种体系的用户意图共存使得无论是仅允许小部分通信流量或是少部分IP地址/端口访问的意图还是仅拒绝小部分通信流量的用户意图的声明都十分简洁、容易。
本申请实施例中,用户除了向意图合成器中输入一个或多个用户意图,还可以输入至少一个约束集合,约束集合包括至少一个约束,每个约束用于指示一个或多个用户意图合并时任两个设备组间所允许的策略更改的约束。
例如,如图7所示的约束集中包括2个约束,分别为:设备组Mktg与设备组CRM之间的约束、以及设备组Employees与设备组CRM之间的约束。
在设备组Mktg与设备组CRM之间的约束中包括两个约束,其中一个约束中Match列中7000表示7000端口,Add列为Y(表示Yes),remove列为N(表示No),这个约束指示在一个或多个用户意图合成过程中允许添加由设备组Mktg中的计算设备通过端口7000流向设备组CRM中的计算设备的通信流量的约束,且不允许删除由设备组Mktg通过端口7000 流向设备组CRM的通信流量的约束;另一个约束中*表示除7000端口以外的其它端口,Add 列为N,remove列为Y,这个约束指示在一个或多个用户意图合成过程中不允许添加由设备组Mktg中的计算设备通过除7000外的端口流向设备组CRM中的计算设备的通信流量的约束,可以删除由设备组Mktg通过除7000外的端口流向设备组CRM的通信流量的约束。
在设备组Other Employees与设备组CRM之间的约束中包括一个约束,其中*表示任意端口,Add列为N,remove列为Y,这个约束指示在一个或多个用户意图合成过程中不允许添加从设备组Employees的任何端口流向设备组CRM的所有通信流量,可以删除从设备组Employees的任何端口流向设备组CRM的所有通信流量的约束。
步骤602,网络配置装置确定VPC网络的优化目标。
一种可能的实施方式中,网络配置装置提供第二配置接口,第二配置接口用于接收用户上传的优化目标;然后,接收用户上传的优化目标。
本申请实施例中,优化目标可以包括网络开销最小和/或时延最小,其中,网络开销指示在网络传输过程中冗余数据占源数据的比例,时延指示数据从网络的一端传输到另一端所需要的时间。
步骤603,网络配置装置根据所述一个或多个用户意图和优化目标,获得VPC网络配置方案。
此处,VPC网络配置方案可以包括但不限于创建几个VPC、每个VPC有几个子网以及子网之间的路由。
一种可能的实现方式中,在步骤601之后,网络配置装置可以将一个或多个用户意图进行合并,生成全局意图,然后根据全局意图和优化目标,获得VPC网络配置方案。
下面介绍将所述一个或多个用户意图进行合并,生成全局意图的实现过程。
过程一,网络配置装置对一个或多个用户意图进行规范化,得到至少一个规范化策略图,至少一个规范化策略图中包括的设备组均为全局不相交的设备组。
在过程一之前,网络配置装置还可以获取标签信息,标签信息包括用于表示设备组集合中的所有设备组的层级关系的标签层级架构。如图8所示的标签层级架构以树形结构表示,树形结构为各个元素之间具有分层关系的数据结构,树的最顶端的节点称为根节点,图8中设备组All为根节点,从根节点往下细分为子节点,其中可以继续细分的子节点称为非叶子节点,当不断细分直到不再有子节点时为叶子节点。例如图8中以下设备组为非叶子节点:租户(Tenant)、Employees、Servers、应用(APPs)、Mktg;以下设备组为叶子节点:Internet、Other Employees、CRM、Other Servers、Web、DB、Mktg1以及Mktg2。
用户意图包括的两个设备组可以均为非叶子节点,也可以均为叶子节点,也可以一个设备组为非叶子节点,另一个设备组为叶子节点。
上述过程一可以通过以下步骤S1和S2实现:
S1,根据标签信息,将一个或多个用户意图包括的、且属于标签层级架构中非叶子节点的设备组,转换为标签层级架构中与非叶子节点的设备组等价的叶子节点的设备组。
首先,将一个或多个用户意图当中所有在标签层级架构中属于非叶子节点(即组合标签)的设备组全部转换为其相应叶子结点的析取范式,即全局不相交的设备组形式。假设输入的策略图中的设备组S被转换成了规范化的设备组S1,S2,…,Sm,输入策略图的设备组D被规范化为设备组D1,D2,…,Dn。
结合图7和图8说明白名单体系的用户意图规范化过程,图7中所示用户意图1中的设备组Mktg对应图8所示的层级架构中的非叶子节点Mktg,可以转换为如图8所示的非叶子节点Mktg对应的叶子节点:设备组Mktg1和设备组Mktg2,用户意图2中的设备组 Employees对应图8所示的层级架构中的非叶子节点Employees,可以转换为如图8所示的非叶子节点Employees对应的叶子节点:设备组Mktg1、设备组Mktg2以及设备组Other Employees,用户意图2中的设备组Servers对应图8所示的层级架构中的非叶子节点Servers,可以转换为如图8所示的非叶子节点Servers对应的叶子节点:设备组CRM、设备组Other Servers,而图7中对应图8所示的层级架构中的叶子节点的设备组不需要转换,从而得到如图9所示的白名单体系的用户意图对应的全局不相交的设备组。
结合图7、图8以及图10说明黑名单体系的用户意图规范化过程,图7中所示用户意图5中的设备组Employees对应图8所示的层级架构中的非叶子节点Employees,可以转换为图8所示的非叶子节点Employees对应的叶子节点:设备组Mktg1、设备组Mktg2以及设备组Other Employees,用户意图6和用户意图7中的设备组Servers对应图8所示的层级架构中的非叶子节点Servers,可以转换为如图8所示的非叶子节点Servers对应的叶子节点:设备组 CRM、设备组Other Servers,而图7中对应图8所示的层级架构中的叶子节点的设备组不需要转换,从而得到如图10所示的黑名单体系的用户意图对应的全局不相交的设备组。
S2,将一个或多个用户意图中属于非叶子节点的设备组对应的有向边,重复到标签层级架构中与非叶子节点的设备组等价的叶子节点的设备组上,得到至少一个用户意图对应的至少一个规范化策略图。
例如,设备组S在原始策略图中有到设备组D的边,那么原始边将会在规范化策略图的设备组上重复。(G,H)上的任何边都要与(S,D)上的合并以继承重叠。这种合并由得到的约束控制。例如,对于图7所示策略图中允许数据由设备组 Employees通过端口80、34和7000流向设备组Servers之间的有向边,需要在如图9所示的转换后的设备组Mktg1到设备组CRM,设备组Mktg2到设备组CRM,设备组Other Employees到设备组CRM,设备组Mktg1到设备组Other Servers,设备组Mktg2到设备组OtherServers,设备组Other Employees到设备组Other Servers之间进行重复,从而得到如图9所示的白名单体系的用户意图对应的规范化策略图。
对于图7所示策略图中拒绝数据由设备组Internet流向设备组Employees的有向边,需要在如图10所示的设备组Internet到设备组Mktg1,设备组Internet到设备组Mktg2以及设备组nternet到设备组Other Employees之间重复。对于拒绝数据由设备组Internet流向设备组 Servers的有向边,需要在如图10所示的设备组Internet到设备组CRM、以及设备组Internet 到设备组Other Servers之间重复,从而得到如图10所示的黑名单体系的用户意图对应的规范化策略图。
在一种可能的实施方式中,上述规范化过程还可以将策略图中的约束等价地重复和合并到全局不相交的设备组之间,即包括步骤S3。
S3,将所述至少一个用户意图包括的、且属于标签层级架构中非叶子节点的设备组上的约束,重复到所述至少一个规范化策略图中与所述非叶子节点等价的至少一个叶子节点的设备组上;将所述至少一个用户意图包括的、且属于标签层级架构中叶子节点的设备组上的约束重复到所述至少一个规范化策略图中所述叶子节点的设备组上。
例如,输入的策略图中对源设备组S和目的设备组D有约束,那么这约束就要在规范化策略图的设备组对上重复。约束还可能需要被合并。如果原始输入策略图有设备组对(G,H)的约束,并且这个设备组对(G,H)与设备组对(S,D)有重叠,那么为设备组对(G,H)指定的任何约束都必须与设备组对(S,D)的约束合并,以便构成规范化设备组间继承重叠的约束。合并时还会检测冲突,并为操作员标记这样的冲突错误。
例如图7中所示的设备组Mktg和设备组CRM之间的约束,由于设备组Mktg被转换成了两个设备组Mktg1和Mktg2,设备组Mktg和设备组CRM之间的约束需要被分别重复到如图9所示的设备组Mktg1和设备组CRM之间以及设备组Mktg2和设备组CRM之间。而设备组Employees和设备组CRM由于转换过后仍是各自设备组,所以该设备组Employees和设备组CRM之间的约束只需在设备组Employees和设备组CRM之间重复一次。
在得到至少一个规范化策略图之后,可以执行下述过程二。
过程二,将至少一个规范化策略图进行合并,生成全局意图。
在一种可能的实施方式中,可以根据重复到所述至少一个规范化策略图包括的各个设备组上的约束,对所述至少一个规范化策略图进行合并,生成全局意图。
对规范化策略图进行合并的过程可以在如图4所示的图合成器中执行。首先对如图9所示的白名单体系的用户意图对应的规范化策略图进行合并,得到如图11所示的白名单体系的用户意图对应的合成图,该合成图包括的设备组是所有白名单体系的用户意图对应的规范化策略图中设备组的并集。对如图10所示的黑名单体系的用户意图对应的规范化策略图进行合并,得到如图12所示的黑名单体系的用户意图对应的合成图,该合成图包括的设备组是所有黑名单体系的用户意图对应的规范化策略图中的设备组的并集。之后,再将图11所示的白名单体系的用户意图对应的合成图和如图12所示的黑名单体系的用户意图进行合并,得到如图13所示的全局意图。
需要说明的是,在将单个规范化策略图的边添加到合成图当中时,首先检查其源设备组和目的设备组之间的约束,这一检查决定了边的分类器是否符合约束或者需要被缩小范围以便符合约束。如果一条新边以非空的幸存分类器通过了这个测试,那么他可能会被添加或合并到从源到目的设备组的现有边。在合并新边时,首先找到其分类器流空间和已有分类器的交集。对于新边的不相交分类器空间,新边及其功能盒都可被直接添加。对于任何相交的分类器空间,依据已有的策略和新的要合并的策略,将相交空间划分为一组匹配的子空间。这允许我们为每个子空间合并一条现有边和新边。例如,在对第一个和第二个白名单规范化策略图进行合并时,由于第一个规范化策略图不允许添加从设备组Mktg1和设备组Mktg2到设备组CRM除7000端口外的通信流量,且对于设备组Other Employees到设备组CRM的任何通信流量都不允许添加,所以第二个规范化策略图中相应的边被舍去。之后,对于黑白名单合成图的合成与单独的黑白名单合成图合并过程类似。
上述实施例中,意图合成器支持对输入的多个用户意图进行自动合并,因此支持多个用户独立地输入多个局部意图而无需用户去考虑全局意图的合并,可以减轻用户负担。
在得到全局意图之后,如图4所示的意图合成器将全局意图输入至意图编译器。然后,由网络配置装置中的意图编译器根据全局意图和优化目标,获得VPC网络配置方案。
由于以VPC为主的虚拟网络中存在一种用户意图有多种实现方式的情况,而不同的实现方式对应着不同的底层物理资源,这些配置到物理资源的映射方式、物理资源实现虚拟配置的具体方式、物理资源的性能限制以及物理资源的开销等都可能存在差异,例如上述PGA对于合成图到虚拟网络配置的编译仅保证了以一种意图固定对应一种配置的方式,并未考虑到虚拟网络配置与底层具体实现这些配置的物理资源间的关系及由此引发的优化问题,即如何选择虚拟网络的配置方案使得编译得到的网络性能良好且开销较小。为解决这个优化问题,如图14所示,首先形成编译优化的模型,并以模型为指导设计实现相应算法来完成优化,该算法就是优化编译器的核心部分,以使优化编译器的编译结果能够在对应实现用户意图的基础上保障网络性能和开销。
一种可能的实施方式中,在步骤603之前,即根据所述一个或多个用户意图和优化目标,获得VPC网络配置方案之前,还可以根据获取到的一个或多个用户意图、优化目标以及 VPC网络资源的约束条件,生成优化模型。其中,约束条件是可选的。VPC网络资源的约束条件可以包括但不限于VPC配置的数量限制、安全组的数量限制、ACL的数量限制。如果在生成优化模型时采用约束条件,可以避免承载上层配置的设备超负荷运行。
在其它一些实施例中,优化编译器还可以考虑支持用户自定义编译偏好,例如追求开销最小或某种常用配置的使用量最多等,然后为不同的偏好设置设计实现相应的编译算法。
在一个示例中,将上述图13所示全局意图输入至意图编译器中的优化编译器之后,输出例如图15所示的VPC网络配置方案,在实际应用中,VPC网络配置方案可以包括但不限于图15所示的子网划分规则、安全组划分规则、访问控制列表(access control list,ACL)规则、源地址转换(source network address translation,SNAT)规则以及目的地址转换(destination network address translationDNAT)规则等。
步骤604,网络配置装置根据VPC网络配置方案调用一个或多个云服务的应用程序接口 API,以使得管理一个或多个云服务的至少一个管理装置为VPC网络中配置一个或多个云服务。其中,每一个云服务都对应有一个管理装置。一个云服务可以包括一个或多个API。
例如公有云可以提供的云服务包括VPC、虚拟机、容器、防火墙以及负载均衡等服务的 API,示例的,例如根据VPC网络配置方案确定需要创建VPC,则网络配置装置可以调用VPC服务的API;又例如根据VPC网络配置方案确定需要创建虚拟机,则网络配置装置可以调用虚拟机服务的API。
由于不同云服务厂商的API可能不同,可能会有某些厂商的API可以识别VPC网络配置方案的语言,而有些厂商的API可以识别不了VPC网络配置方案的语言,为了使VPC网络配置方案可以适用于多种厂商的API,一种可实现上述步骤604的方式中,网络配置装置可以将部分/全部的VPC网络配置方案转换为VPC网络配置指令,VPC网络配置指令符合一个或多个云服务的API格式,然后,将VPC网络配置指令发送至一个或多个云服务的管理装置,以使得一个或多个云服务的管理装置为VPC网络中配置一个或多个云服务。
在该方式中,网络配置装置可以根据VPC网络配置方案,通过API对接器调用公有云提供的一个或多个云服务的API,API对接器可以将VPC网络配置方案分别转换成符合不同API 格式的VPC网络配置指令,然后,管理一个或多个云服务分别对应的管理装置将VPC网络配置方案下发至用户账户,下发VPC配置方案的过程中管理装置为用户账户的VPC网络中配置所述一个或多个云服务。
在该实施方式中,API对接器调用云服务商提供的VPC网络的API可以自动将VPC网络配置信息下发至所述VPC网络的用户账户,生成能够实现全局意图的VPC网络,不需要确定网络拓扑结构的情况下也可以获取VPC网络配置方案,从而可以实现VPC网络配置的自动生成。
基于与上述方法实施例同一技术构思,本申请实施例还提供一种网络配置装置,该网络配置装置可以用于实现上述方法实施例中网络配置装置的功能,因此也能实现上述方法实施例所具备的有益效果。
示例性地,如图16所示,网络配置装置1600包括通信单元1601和处理单元1602。其中,通信单元1601,用于获取一个或多个用户意图,其中,用户意图用于指示虚拟私有云VPC网络中的网络配置需求和云服务配置需求,云服务配置需求包括一个或多个云服务的配置需求;处理单元1602,用于确定VPC网络的优化目标;根据一个或多个用户意图和优化目标,获得VPC网络配置方案;根据VPC网络配置方案,调用一个或多个云服务的应用程序接口API,以使得管理一个或多个云服务的至少一个管理装置为VPC网络中配置一个或多个云服务。
在一种可能的实施方式中,一个或多个用户意图包括第一用户意图,其中,第一用户意图用于指示禁止数据由第一设备组中的第一计算设备流向第二设备组中的第二计算设备,第一设备组包括一个或多个第一计算设备,第二设备组包括一个或多个第二计算设备。
在一种可能的实施方式中,通信单元1601,具体用于:提供第一配置接口,第一配置接口用于接收用户上传的第一用户意图;接收用户上传的第一用户意图。
在一种可能的实施方式中,通信单元1601,具体用于:提供第二配置接口,第二配置接口用于接收用户上传的优化目标;接收用户上传的优化目标。
在一种可能的实施方式中,优化目标包括网络开销最小和/或时延最小,其中,网络开销指示在网络传输过程中冗余数据占源数据的比例。
在一种可能的实施方式中,处理单元1602,具体用于:将部分/全部的VPC网络配置方案转换为VPC网络配置指令,VPC网络配置指令符合一个或多个云服务的API格式;通信单元1601,具体用于:将VPC网络配置指令发送至一个或多个云服务的管理装置,以使得一个或多个云服务的管理装置为VPC网络中配置一个或多个云服务。
在一种可能的实施方式中,提供一个或多个云服务的厂商和运行网络配置装置的厂商为同一厂商。
在一种可能的实施方式中,处理单元1602,还用于:将一个或多个用户意图进行合并,生成全局意图;根据全局意图和优化目标,获得VPC网络配置方案。
上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
基于同一技术构思,本申请实施例还提供一种网络配置装置1700,可以用于实现上述方法实施例中网络配置装置的功能。
如图17所示,网络配置装置1700可以包括存储器1701和处理器1702,可选地,还可以包括总线系统,存储器1701和处理器1702可以通过总线系统相连。
应理解,上述处理器1702可以是一个芯片。例如,该处理器1702可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(applicationspecific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(networkprocessor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit, MCU),还可以是可编程控制器(programmable logicdevice,PLD)或其他集成芯片。
在实现过程中,上述方法的各步骤可以通过处理器1702中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器1702中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1701,处理器1702读取存储器1701中的信息,结合其硬件完成上述方法的步骤。
应注意,本申请实施例中的处理器1702可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器1701可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double datarate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM, ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
根据本申请实施例提供的方法,本申请还提供一种计算设备,包括存储器和至少一个处理器;所述存储器,用于存储计算机指令;所述至少一个处理器,用于执行所述存储器存储的计算机指令,以使得所述计算设备执行上述方法实施例中的方法。
根据本申请实施例提供的方法,本申请还提供一种计算机可读存储介质,其上存储有计算机程序或指令,当该计算机程序或指令被执行时,以使得计算设备执行上述方法实施例中的方法。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,当计算机读取并执行计算机程序产品时,以使得计算设备执行上述方法实施例中的方法。
根据本申请实施例提供的方法,本申请还提供一种芯片,包括至少一个处理器和接口;所述接口,用于为所述至少一个处理器提供程序指令或者数据;所述至少一个处理器用于执行所述程序行指令,以使得上述方法实施例中的方法被执行。
在一种可能的设计中,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行前述实施例中的方法。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可以用硬件实现,或固件实现,或它们的组合方式来实现。当使用软件实现时,可以将上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外。任何连接可以适当的成为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其他远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所属介质的定影中。如本申请所使用的,盘(Disk)和碟(disc)包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (18)
1.一种网络配置方法,其特征在于,所述方法应用于网络配置装置,所述方法包括:
获取一个或多个用户意图,其中,所述用户意图用于指示虚拟私有云VPC网络中的网络配置需求和云服务配置需求,所述云服务配置需求包括一个或多个云服务的配置需求;
确定所述VPC网络的优化目标;
根据所述一个或多个用户意图和所述优化目标,获得VPC网络配置方案;
根据所述VPC网络配置方案调用所述一个或多个云服务的应用程序接口API,以使得管理所述一个或多个云服务的至少一个管理装置为所述VPC网络中配置所述一个或多个云服务。
2.如权利要求1所述的方法,其特征在于,所述一个或多个用户意图包括第一用户意图,其中,所述第一用户意图用于指示禁止数据由第一设备组中的第一计算设备流向第二设备组中的第二计算设备,所述第一设备组包括一个或多个所述第一计算设备,所述第二设备组包括一个或多个所述第二计算设备。
3.如权利要求2所述的方法,其特征在于,获取所述第一用户意图,包括:
提供第一配置接口,所述第一配置接口用于接收用户上传的所述第一用户意图;
接收所述用户上传的所述第一用户意图。
4.如权利要求1至3中任一所述的方法,其特征在于,所述确定所述VPC网络的优化目标,包括:
提供第二配置接口,所述第二配置接口用于接收用户上传的所述优化目标;
接收所述用户上传的所述优化目标。
5.如权利要求1至4中任一所述的方法,其特征在于,所述优化目标包括网络开销最小和/或时延最小,其中,网络开销指示在网络传输过程中冗余数据占源数据的比例。
6.如权利要求1至5任一所述的方法,其特征在于,所述根据所述VPC网络配置方案调用所述一个或多个云服务的应用程序接口API,包括:
将部分/全部的所述VPC网络配置方案转换为VPC网络配置指令,所述VPC网络配置指令符合所述一个或多个云服务的API格式;
将所述VPC网络配置指令发送至所述一个或多个云服务的管理装置,以使得所述一个或多个云服务的管理装置为所述VPC网络中配置所述一个或多个云服务。
7.如权利要求1至6中任一所述的方法,其特征在于,提供所述一个或多个云服务的厂商和运行所述网络配置装置的厂商为同一厂商。
8.如权利要求1至7中任一所述的方法,其特征在于,所述获取一个或多个用户意图后,所述方法包括:
将所述一个或多个用户意图进行合并,生成全局意图;
所述根据所述一个或多个用户意图和所述优化目标,获得所述VPC网络配置方案,包括:
根据所述全局意图和所述优化目标,获得所述VPC网络配置方案。
9.一种网络配置装置,其特征在于,所述装置包括:
通信单元,用于获取一个或多个用户意图,其中,所述用户意图用于指示虚拟私有云VPC网络中的网络配置需求和云服务配置需求,所述云服务配置需求包括一个或多个云服务的配置需求;
处理单元,用于确定所述VPC网络的优化目标;根据所述一个或多个用户意图和所述优化目标,获得VPC网络配置方案;根据所述VPC网络配置方案,调用所述一个或多个云服务的应用程序接口API,以使得管理所述一个或多个云服务的至少一个管理装置为所述VPC网络中配置所述一个或多个云服务。
10.如权利要求9所述的装置,其特征在于,所述一个或多个用户意图包括第一用户意图,其中,所述第一用户意图用于指示禁止数据由第一设备组中的第一计算设备流向第二设备组中的第二计算设备,所述第一设备组包括一个或多个所述第一计算设备,所述第二设备组包括一个或多个所述第二计算设备。
11.如权利要求10所述的装置,其特征在于,通信单元,具体用于:
提供第一配置接口,所述第一配置接口用于接收用户上传的所述第一用户意图;
接收所述用户上传的所述第一用户意图。
12.如权利要求9至11中任一所述的装置,其特征在于,所述通信单元,具体用于:
提供第二配置接口,所述第二配置接口用于接收用户上传的所述优化目标;
接收所述用户上传的所述优化目标。
13.如权利要求9至12中任一所述的装置,其特征在于,所述优化目标包括网络开销最小和/或时延最小,其中,网络开销指示在网络传输过程中冗余数据占源数据的比例。
14.如权利要求9至13任一所述的装置,其特征在于,所述处理单元,具体用于:
将部分/全部的所述VPC网络配置方案转换为VPC网络配置指令,所述VPC网络配置指令符合所述一个或多个云服务的API格式;
通信单元,具体用于:
将所述VPC网络配置指令发送至所述一个或多个云服务的管理装置,以使得所述一个或多个云服务的管理装置为所述VPC网络中配置所述一个或多个云服务。
15.如权利要求9至14中任一所述的装置,其特征在于,提供所述一个或多个云服务的厂商和运行所述网络配置装置的厂商为同一厂商。
16.如权利要求9至15中任一所述的装置,其特征在于,所述处理单元,还用于:
将所述一个或多个用户意图进行合并,生成全局意图;
根据所述全局意图和所述优化目标,获得所述VPC网络配置方案。
17.一种计算设备,其特征在于,包括存储器和至少一个处理器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器中存储的计算机程序,实现如权利要求1~8中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在计算装置上运行时,使得所述计算装置执行如权利要求1~8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/133465 WO2023093710A1 (zh) | 2021-11-23 | 2022-11-22 | 一种网络配置方法及装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021113971649 | 2021-11-23 | ||
CN202111397164 | 2021-11-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116155737A true CN116155737A (zh) | 2023-05-23 |
Family
ID=86372486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210319796.1A Pending CN116155737A (zh) | 2021-11-23 | 2022-03-29 | 一种网络配置方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116155737A (zh) |
WO (1) | WO2023093710A1 (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428025A (zh) * | 2012-05-25 | 2013-12-04 | 中兴通讯股份有限公司 | 一种管理虚拟网络服务的方法、装置和系统 |
US10862749B1 (en) * | 2017-07-21 | 2020-12-08 | Vmware, Inc. | Systems for and methods of network management and verification using intent inference |
US10922423B1 (en) * | 2018-06-21 | 2021-02-16 | Amazon Technologies, Inc. | Request context generator for security policy validation service |
CN108989110A (zh) * | 2018-07-20 | 2018-12-11 | 浪潮电子信息产业股份有限公司 | 一种vpc网络模型的构建方法及其相关设备 |
CN109245916B (zh) * | 2018-08-15 | 2021-06-11 | 西安电子科技大学 | 一种意图驱动的云化接入网系统及方法 |
EP3722944A1 (en) * | 2019-04-10 | 2020-10-14 | Juniper Networks, Inc. | Intent-based, network-aware network device software-upgrade scheduling |
CN112437065B (zh) * | 2020-11-12 | 2022-06-21 | 安徽大学 | Sdn环境下基于图形表示的策略冲突检测及解决方法 |
CN112953778B (zh) * | 2021-03-17 | 2023-04-18 | 北京交通大学 | 智融标识网络中基于意图驱动的服务编排系统和方法 |
-
2022
- 2022-03-29 CN CN202210319796.1A patent/CN116155737A/zh active Pending
- 2022-11-22 WO PCT/CN2022/133465 patent/WO2023093710A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023093710A1 (zh) | 2023-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10331973B2 (en) | System and method for deploying graphical diagram topologies | |
CN109964451B (zh) | 用以提供虚拟网络验证服务的方法、系统 | |
US11757940B2 (en) | Firewall rules for application connectivity | |
CN110612702B (zh) | 针对不一致的意图规范检查 | |
US10050842B2 (en) | Network control and management using semantic reasoners in a network environment | |
US9130901B2 (en) | Peripheral firewall system for application protection in cloud computing environments | |
JP2021526275A (ja) | Sddcのためのポリシー制約フレームワーク | |
CN112470431B (zh) | 使用自动布尔学习的网络的模型的合成 | |
EP2780818B1 (en) | Virtual network interface objects | |
KR102545124B1 (ko) | 자동화된 패킷리스 네트워크 도달가능성 분석 | |
US20170005988A1 (en) | Global objects for federated firewall rule management | |
CN104718723A (zh) | 用于虚拟网络中的联网和安全服务的框架 | |
CN111684439B (zh) | 网络保证数据库版本兼容性 | |
RU2638733C1 (ru) | Система и способ создания сервисных цепочек и виртуальных сетей в облаке | |
CN110785963A (zh) | 从网络收集网络模型和节点信息 | |
US20230179573A1 (en) | Inferring cloud network connectivity as a minimal list of firewall rules | |
US20210021471A1 (en) | Techniques for managing virtual networks | |
US20200162467A1 (en) | System and method for migrating existing access control list policies to intent based policies and vice versa | |
US10785056B1 (en) | Sharing a subnet of a logically isolated network between client accounts of a provider network | |
US20230421610A1 (en) | Resolving Access Policies Between Intent-Based Network Architectures and Cloud Native Architectures | |
US11354491B1 (en) | Systems and methods for improved data modeling and translation | |
CN116155737A (zh) | 一种网络配置方法及装置 | |
US11516088B1 (en) | Network configuration verification in computing systems | |
WO2024001998A1 (zh) | 一种安全策略的处理方法及相关装置 | |
CN117395225A (zh) | 云原生容器网络中的数据访问方法、装置、系统和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |