首页 / 专利库 / 软件 / 建模语言 / 核实网络意图

核实网络意图

阅读:441发布:2020-05-13

专利汇可以提供核实网络意图专利检索,专利查询,专利分析的服务。并且一种用于核实网络意图的方法可以包括将至少一个网络意图分解成多个子核实任务、基于用于多个网络设备的当前配置的集合生成用于目标网络中的多个网络设备的标准化配置的集合以及基于标准化配置的集合和目标网络的拓扑生成网络图。所述方法可以进一步包括分析多个子核实任务和网络图,以确定用于多个网络设备的当前配置的集合是否满足至少一个网络意图。如果至少一个网络意图未被满足,则可以生成指示目标网络不遵从的报告。如果至少一个网络意图被满足,则可以提供指示目标网络遵从的信息。,下面是核实网络意图专利的具体信息内容。

1.一种用于核实网络意图的方法,包括:
将至少一个网络意图分解成多个子核实任务;
基于用于多个网络设备的当前配置的集合生成用于目标网络中的多个网络设备的标准化配置的集合;
基于标准化配置的集合和目标网络的拓扑生成网络图;
分析多个子核实任务和网络图,以确定用于多个网络设备的当前配置的集合是否满足至少一个网络意图;
如果至少一个网络意图未被满足,则生成指示目标网络不遵从的报告;以及如果至少一个网络意图被满足,则提供指示目标网络遵从的信息。
2.根据权利要求1所述的方法,其中将至少一个网络意图分解进一步包括将至少一个网络意图分片成多个部分用于核实。
3.根据权利要求2所述的方法,其中将至少一个网络意图分解进一步包括将目标网络分段成多个段。
4.根据权利要求1所述的方法,其中生成标准化配置的集合进一步包括使用数据建模语言将当前配置的集合转换为标准化配置的集合。
5.根据权利要求4所述的方法,其中数据建模语言是YANG。
6.根据权利要求4所述的方法,其中数据建模语言包括指向网络功能的至少一个功能的至少一个扩展。
7.根据权利要求1所述的方法,其中SMT解算器被用于分析子核实任务的集合和网络图,以确定用于多个网络设备的当前配置的集合是否满足至少一个网络意图。
8.根据权利要求1所述的方法,其中将至少一个网络意图分解成多个子核实任务包括接收至少一个网络意图并且接收标签的集合。
9.根据权利要求8所述的方法,其中由意图管理服务定义至少一个网络意图,并且由标签管理服务生成标签的集合。
10.根据权利要求1所述的方法,其中由网络管理系统提供当前网络配置的集合和目标网络的拓扑。
11.一种用于核实网络意图的系统,包括:
分解器,其将至少一个网络意图分解成多个子核实任务;
配置标准化器,其基于用于多个网络设备的当前配置的集合生成用于目标网络中的多个网络设备的标准化配置的集合;
耦合到配置标准化器的网络图构建器,所述网络图构建器基于标准化配置的集合和目标网络的拓扑生成网络图;
耦合到分解器和网络图构建器的SMT解算器,所述SMT解算器分析标准化配置的集合和网络图以通过用于多个网络设备的当前配置的集合确定至少一个网络意图的违反;以及耦合到SMT解算器的违反分析器,所述违反分析器生成标识违反的报告。
12.根据权利要求11所述的系统,其中将至少一个网络意图分解包括将至少一个网络意图分片成多个部分用于核实。
13.根据权利要求12所述的系统,其中将至少一个网络意图分解进一步包括将目标网络分段成多个段。
14.根据权利要求11所述的系统,其中生成标准化配置的集合包括使用数据建模语言将当前配置的集合转换为标准化配置的集合。
15.根据权利要求14所述的系统,其中数据建模语言是YANG。
16.根据权利要求14所述的系统,其中数据建模语言包括指向网络功能的至少一个功能的至少一个扩展。
17.根据权利要求11所述的系统,其中分解器从意图管理服务接收至少一个网络意图。
18.根据权利要求11所述的系统,其中分解器从标签管理服务接收标签的集合。
19.根据权利要求11所述的系统,其中配置标准化器从网络管理系统接收当前网络配置的集合。
20.根据权利要求11所述的系统,其中网络图构建器从网络管理系统接收目标网络的拓扑。

说明书全文

核实网络意图

背景技术

[0001] 现代网络包括可以具有多个网络功能和动态状态的物理和虚拟两者的不同种类的网络设备。已经开发了基于意图的管理来通过使用网络意图管理网络,这是按照针对目标网络的“我们需要什么”而不是低平的实现(即,“如何做”)的商业目标所驱动的期望结果,以增加可扩展性和灵活性。附图说明
[0002] 下面将通过参考以下附图描述各种示例:图1A是示例网络意图核实系统的框图
图1B是用于在状态性网络中核实网络意图的示例系统的框图;
图2是用于在状态性网络中核实网络意图的方法的示例流程图
图3是使用图模型的示例网络意图;
图4是用于分解网络意图的分段(segmentation)的示例框图;
图5是用于网络配置的标准化的数据建模语言的扩展的示例框图;
图6是针对两个网络功能的示例网络图;以及
图7是用于分解网络意图的分片的示例框图。
[0003] 遍及附图,相同的附图标记指定类似但不一定相同的元素。附图不一定是按比例的,并且一些部分的大小可能被放大以更清楚地图示所示的示例。此外,附图提供了与描述一致的示例和/或实现;然而,描述不限于在附图中提供的示例和/或实现。

具体实施方式

[0004] 网络管理员或运营商可以使用网络策略的集合(例如,安全性、性能、认证、故障等)基于商业目标或要求来配置管理的网络。然而,这些网络策略通常利用低水平标识符(例如,IP/Mac地址、网络协议等)编写,以配置网络中的设备。低水平配置定义了“如何”配置网络(例如,每个网络设备)以实现目标。例如,为了使用低水平配置或信息配置无线网络以允许临时访问者访问网络,不得不利用子文本(subtext)信息、访问控制、性能度量等手动配置所有接入点。随着网络大小增加,低水平配置可能难以维持。为了克服这些限制,已经开发了基于意图的管理来使用网络意图作为来自管理员或运营商的输入管理网络。网络意图是高水平商业策略或目标,即,对于目标网络而言“我们需要什么”。例如,为了配置无线网络以允许对网络的临时访问,可以定义网络意图“为访客配置网络”而不指定所有低水平配置。由于诸如增加接入点的数量之类的对目标网络的改变,将不需要改变网络意图。
[0005] 网络可以包括可以具有多个网络功能和动态状态的大量网络设备。对于对网络的基于意图的管理,网络意图的应用涉及网络意图到用于每个设备的低水平配置的翻译。典型地,可以利用诸如逻辑标签/标记之类的与技术无关(technology-agnostic)的术语(例如,“为访客配置网络”)表达网络意图,并且可以利用诸如IP/Mac地址、CLI网络命令等之类的技术特定的数据实现低水平配置。可以提供网络意图核实系统和方法来核实当前的网络配置和规则是否可以满足网络意图的给定集合。核实系统和方法可以例如使用来自管理员的网络意图和来自网络设备的当前网络配置。因而,网络管理员可以利用目标网络的配置来针对期望的网络意图的违反进行检查。在一个示例中,网络意图核实系统和方法可以被用于检查网络意图是否正确地被翻译或者目标网络是否正以意图的方式在工作。例如,针对允许来自访客网络中的任何设备的因特网访问的网络意图,应当建立诸如交换机或防火墙之类的所有网络设备以允许访客网络中的任何设备到因特网的http/https流量。设备可以动态地出现在访客网络中并且可以要求关于针对原始网络意图是否违反低水平配置的确定。在另一个示例中,网络意图核实系统和方法可以被用于确定网络设备的当前配置是否正满足网络意图(例如,是否存在针对诸如通过减少重叠的报头空间的优化之类的优化的网络设备的配置改变)。
[0006] 一种用于核实网络意图的方法可以包括将至少一个网络意图分解成多个子核实任务、基于用于多个网络设备的当前配置的集合来生成用于目标网络中的多个网络设备的标准化配置的集合以及基于标准化配置的集合和目标网络的拓扑来生成网络图。所述方法可以进一步包括分析多个子核实任务和网络图以确定用于多个网络设备的当前配置的集合是否满足至少一个网络意图。如果至少一个网络意图未被满足,则可以生成指示目标网络不遵从(in compliance)的报告。如果至少一个网络意图被满足,则可以提供指示目标网络遵从的信息。
[0007] 一种用于核实网络意图的系统可以包括分解器,以将至少一个网络意图分解成多个子核实任务;配置标准化器,以基于用于多个网络设备的当前配置的集合来生成用于目标网络中的多个网络设备的标准化配置的集合以及耦合到配置标准化器的网络图构建器(builder)。网络图构建器可以被用于基于标准化配置的集合和目标网络的拓扑生成网络图。所述系统可以进一步包括耦合到分解器和网络图构建器的SMT解算器(solver)。SMT解算器可以被用于分析标准化配置的集合和网络图,以通过用于多个网络设备的当前配置的集合确定至少一个网络意图的违反。所述系统可以进一步包括耦合到SMT解算器的违反分析器。违反分析器可以被用于生成标识违反的报告。
[0008] 图1A是示例网络意图核实系统的框图。网络意图核实系统102被用于核实目标网络(未示出)的当前拓扑和配置是否遵从由管理员定义的网络意图。网络意图核实系统102包括分解器118、配置标准化器124、网络图构建器128、SMT(可满足性模数(modulo)理论)解算器134和违反分析器138。下面描述网络意图核实系统102的操作。
[0009] 图1B是用于在状态性网络中核实网络意图的示例系统的框图。图1示出了利用基于意图的管理的状态性网络100。网络意图核实系统102被用于核实网络100的当前拓扑和配置是否遵从网络意图。网络意图核实系统102可以例如标识任何违反、分析违反以及生成关于违反的报告。网络意图核实系统102耦合到意图管理服务104、标签管理服务108和网络管理系统112并且被配置为接收来自意图管理服务104、标签管理服务108和网络管理系统112的输入。
[0010] 管理员或运营商使用意图管理服务104来使用逻辑标签而不是使用低水平标识符(例如,IP/Mac地址、机器ID、网络协议等)定义网络意图。还可以通过某些条件(例如,ACL规则、服务类型)来限制网络意图。逻辑标签的使用可以提供对网络意图表达和部署的更好的抽象和可移植性(portability)。例如,用户A可以具有多个网络设备,其中的每个具有其自己的IP地址。在不具有逻辑标签的情况下,必须针对用户A的所有网络设备定义所有策略。然而,使用具有标签“用户A”的逻辑标签可以定义网络意图。如果,例如网络设备的IP地址被动态地改变,则不需要更新基于逻辑标签的网络意图来反映新的IP地址。
[0011] 图3示出了使用图模型的示例网络意图。在图3中,使用策略图抽象(PGA)示出了示例网络意图300。PGA可以使用具有来自标签管理服务(LMS)108(图1中所示)的分层关系(hierarchical relation)的逻辑标签。在图3中,示出了标签308的集合和来自LMS的标签的分层关系。具体地,标签的集合包括标签用户314、U1 316、U2 318、U3 320、服务器322、S1 324、S2 326和S3 328。这些标签308被用于定义用于具有条件306的在源302(例如,用户)和目的地304(例如,服务器)之间的访问控制的网络意图300。条件306可以是例如可达性、隔离、路径点、多径一致性、局部性(locality)、时序逻辑等。在图3中的示例网络意图300中,任何用户302(例如,设备)都可以以在没有建立的连接的情况下源302和目的地304不能通信的条件309通过防火墙310和NAT 312访问服务器304。返回到图1,由互联网管理服务104定义的网络意图106被提供作为去往网络意图核实系统102的输入。
[0012] 标签管理服务108可以被用于管理可用的逻辑标签,以将标签映射到真实的低水平地址(例如,IP/Mac地址或机器ID)或者其他的低水平实例化(instantiation)信息并且动态地更新标签。来自标签管理服务108的标签110被提供作为去往网络意图核实系统102的输入。例如,图3中的示例标签是针对用户314、服务器322及其分层关系的。网络管理系统112提供作为网络意图核实系统102的输入的、用于网络设备的所有当前配置114以及包括所有连接的链路的整个网络拓扑116,网络设备例如是交换机或防火墙。
[0013] 网络意图核实系统102包括分解器118、配置标准化器124、网络图构建器128、SMT(可满足性模数理论)解算器134和违反分析器138。分解器118接收来自意图管理服务104的网络意图106和来自标签管理服务108的标签信息110作为输入。分解器118被配置为将网络意图分解成多个子核实任务130,多所述个子核实任务130被提供作为去往SMT解算器134的输入。分解器118使用分片和分段来生成子核实任务130。因而,分解器118可以包括分片器120和分段器122。分片器120被配置为标识针对意图核实要检查的网络意图的什么部分。下面关于图2进一步描述了将网络意图分片的过程。分段器122被配置为通过将网络划分成不具有任何依赖性的多个段来进一步减少核实任务的大小。下面关于图2进一步描述分段的过程。
[0014] 配置标准化器124从网络管理系统112接收用于目标网络中的网络设备的当前配置114并且使用数据建模语言(例如,YANG)将当前配置114转换成标准化配置126,以创建公共信息模型。标准化配置126被输入到网络图构建器128。网络图构建器128被配置为基于标准化配置126和从网络管理系统112提供的拓扑116构造图模型。在示例中,网络图构建器128构建了被提供作为去往SMT解算器134的输入的网络的一阶逻辑表示图模型132。SMT解算器134被配置为使用子核实任务130和图模型132针对违反进行检查。在示例中,SMT解算器134是Z3 SMT解算器。如果SMT解算器134标识了网络意图的违反(例如,当前配置不遵从网络意图),则SMT解算器134将向违反分析器138提供该违反。如果以太(ether)不是违反,则网络核实系统102可以提供指示目标网络被核实的信息。违反分析器138被配置为分析任何(一个或多个)违反136并且生成可以例如被管理员用于查找(一个或多个)违反的根本原因的报告。
[0015] 图2是用于在状态性网络中核实网络意图的方法的示例流程图。可以通过例如如上面关于图1描述的网络意图核实系统102实现图2中示出的示例方法。例如,当对网络意图做出改变时或者当对网络的拓扑做出改变时,每次意图管理服务配置了新的网络意图并将其放入到网络中时,可以执行该核实方法。在另一个示例中,管理员可以将核实方法调度为周期性地执行,例如每五分钟执行。在框202处,使用例如来自意图管理服务的网络意图和来自标签管理服务的标签信息将网络意图分解成多个子核实任务。可以从标签管理服务提取标签信息和终端主机(end host)。在一个示例中,使用分片和分段来分解网络意图。分片标识了针对意图核实要检查的网络意图的什么部分。分片操作通过用于源节点和目的节点的地址空间划分核实任务。例如,标签信息和终端主机列表可以从LMS被提取并且可以被用于将网络意图转换成子核实任务。每个分片可以与在终端主机的集合之内的可达性共享。图7是用于分解网络意图的分片的示例框图。在图7中,示出了示例网络意图700,其用于以用户702在不具有建立的连接的情况下不能访问服务器704的条件706的从用户702到服务器704的访问控制。分片操作被用于确定在网络意图700中在源702和目的地704节点之间有多少可能的核实任务。来自LMS的标签或标签树708的集合示出了存在三个用户(U1、U2和U3)以及三个服务器(S1、S2和S3)。标签树708被用于确定针对给定的网络意图700需要核实什么。在一个示例中,如果U1和U2正共享地址空间,则用于分片的结果740可以包括用于作为一个源742的节点U1和U2的分片。在结果740中,存在六个核实任务(U1/U2到S1、U1/U2到S2、U1/U2到S3、U3到S1、U3到S2和U3到S3)。在另一个示例中,如果在节点之间不存在共享地址,则分片操作的结果730包括用于用户(U1、U2和U3)和服务器(S1、S2和S3)之间的组合的所有分片。在图7中,结果730中存在九个核实任务(U1到S1、U1到S2、U1到S3、U2到S1、U2到S2、U2到S3、U3到S3、U3到S2以及U3到S3)。
[0016] 分段通过将目标网络划分成不具有任何依赖性的多个段进一步减小了核实任务的大小。如果任何先前节点的状态影响下一个节点,则它具有依赖性。然后可以如在下面进一步讨论的那样逐步核实每个段。图4是用于分解网络意图的分段的示例框图。在图4中,示例分段400涉及用于源(例如,用户414、416)和目的地(例如,因特网418、服务器420、422)的第一网络意图410和第二网络意图412。基于任务连接性和不具有任何依赖性的功能将分段400划分成四个段:1)用户-防火墙402、2)防火墙404、3)防火墙-高速缓存406以及4)缓存408。替代于核实整个意图(例如,具有一个核实任务的通过防火墙和高速缓存的从用户1 
414到服务器2 422的整个路径),用于每个段402、404、406、408的子核实任务可以逐步地被执行以减少处理时间。如果在核实期间存在任何违反,则不需要执行针对剩余段的剩余核实任务。分片和分段的结果将(一个或多个)网络意图转换(或分解)成多个子核实任务。
[0017] 返回到图2,在框204处,基于用于多个网络设备的当前配置的集合来生成目标网络中来自多个供应商的用于多个网络设备的标准化配置的集合。用于网络功能(或中间盒(middlebox)的配置可能跨设备和供应商而变化。例如,来自不同供应商的防火墙设备可以具有阻止可疑分组的语法上不同的命令,但语义是相同的。因而,使用数据建模语言将用于网络功能(或中间盒)的低水平配置的不同语法转换为标准化配置的集合,以创建公共信息模型。在一个示例中,可以手动地创建在低水平配置和标准化配置之间的映射规则的集合。公共信息模型允许标准化用于诸如网络功能之类的网络设备的不同配置格式,以创建网络功能配置的标准表示。标准化配置可以允许对分析和验证配置数据的第三方工具的支持。
在一个示例中,数据建模语言可以是诸如IETF提出的YANG语言之类的通常使用的数据建模语言,诸如可以被修改(或扩展)以支持网络功能配置的OpenConfig YANG。
[0018] 可以设计对数据建模语言的扩展来涵盖例如用于简单的开源和先进的商业网络功能两者的典型功能。图5是用于网络配置的标准化的数据建模语言的扩展的示例框图。扩展500包括以下的功能单元:区域502、安全性规则504、NAT规则506、路由/ECMP 508和YANG扩展510。区域502功能单元的设计可以是具有在区域之间被应用的策略规则的安全性区域部件。区域是接口(物理或虚拟)的分组,其表示被连接到网络功能并且由网络功能控制的网络的段。安全规则504是基于诸如源和目的地安全性区域、源和目的地IP地址、应用和服务之类的流量属性来确定是否阻止或允许会话的单独策略规则。NAT规则506允许将私有的、非可路由的IPv4地址翻译为一个或多个可全局路由的IPv4地址,从而节省组织可路由的IP地址。NAT规则允许防止需要对公共地址访问的主机的真实IP地址的公开和通过执行端口转发来管理流量。对于路由/ECMPO 508而言,相等成本的多路径(ECMP)处理是使用被路由到相同目的地的多个相等成本的网络特征。YANG扩展510是可以被添加到现有YANG模型中的其他必要扩展。
[0019] 返回到图2,在框206处,基于例如由网络管理系统提供的网络拓扑和标准化配置来生成(或构建)目标网络的网络图。在示例中,网络图是目标网络的一阶逻辑表示图模型。网络图包括节点和边,其中例如,节点可以表示诸如交换机或网络功能(例如,防火墙、负载均衡器)之类的网络设备,并且边指示节点之间的连接。网络图可以例如提供与一阶逻辑的所有连接性和一致性信息。图6是针对两个网络功能的示例网络图。在图6中,网络图600包括具有三个状态的第一网络功能602以及具有四个状态的第二网络功能604。网络图600可以提供用于核实的、两个网络功能之间的状态的一致性信息。在示例中,第一网络功能602的第一状态606 S1可以与第二网络功能604的第二状态608 S2相一致并且可以并发地或同时地被检查。
[0020] 返回到图2,在框208处,分析子核实任务的集合和网络图来确定用于多个网络设备的当前配置是否满足网络意图。在一个示例中,SMT解算器可以被用于检查网络意图的违反。SMT解算器可以利用在分析中使用子核实任务和网络图构建的公式来标识网络设备的当前配置是否遵从网络意图(即,标识任何违反)。可以由SMT解算器分析的示例公式是:                等式1
其中N是子核实任务以及P是标准化配置。在示例中,可以使用数据建模语言(例如,YANG)利用相应的网络意图来标记标准化配置中的每个。该标记可以被用于追溯生成该配置的意图。如果在框210处SMT解算器确定了不存在违反(即,当前配置满足了网络意图),则指示目标网络被核实的信息可以被提供到例如管理员。如果在框210处SMT解算器标识了违反或多个违反,则SMT解算器可以例如生成标识有问题的配置的计数器示例。在步骤212处,可以分析(一个或多个)违反并且报告生成可以由例如管理员使用来标识(一个或多个)违反的根本原因。
[0021] 虽然已经参考示例实现描述了本公开,但是本领域中的技术人员将认识到:在不脱离要求保护的主题的精神和范围的情况下,可以在形式和细节上做出改变。例如,虽然已经将不同的示例实现描述为包括提供一个或多个益处的一个或多个特征,但是应当预期所描述的特征可以与彼此互换或者替代地在描述的示例实现中或在其他的替代实现中与彼此组合。因为本公开的技术是相对复杂的,所以并非技术上的所有改变都是可预见的。参考示例实现描述的并记载在以下权利要求书中的本公开明确地旨在尽可能地宽泛。例如,除非另有明确说明,否则记载单个特定元素的权利要求也包含多个此类特定元素。权利要求书中的术语“第一”、“第二”、“第三”以及诸如此类仅区分不同的元素,并且除非另有说明,否则所述术语不与本公开中的元素的特定顺序或特定编号具体地关联。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈