【IT168评论】基于意图的网络(IBN)是近年来最重要的IT趋势之一,被广泛认为是网络领域的“下一个大事件”。IBN的愿景是软件定义网络(SDN)的自然继承者,其目标是实现网络运营自动化,并更好地使网络与业务目标或意图保持一致。
Gartner在2017年首次创造了IBN这一术语。根据定义,IBN包含有助于计划、设计、实施和运营,从而提高网络可用性和灵活性。在实践中,它归结为两个关键功能:1)配置:将高级策略或意图转换为网络配置的能力,以及(2)验证:验证实际行为是否与高级意图匹配的能力。
提供IBN解决方案的最大挑战是,自动化智能——软件能够推断网络行为,并在高级意图和实际配置之间来回映射。它实际上意味着复制和自动化多年的知识和经验,经验丰富的网络运营商从多年的操作网络和诊断和故障排除问题发展而来。此外,在现有网络和工作流程中采用IBN存在企业上的障碍。企业的业务依赖于网络,它们如何能够信任软件来运行它们的网络呢?
幸运的是,IBN有一个实用的、易于部署的方面,可以提供自动化的优势:网络验证。
验证网络行为是IT流程自动化的关键
那么,什么是网络验证呢?网络验证是验证网络的端到端行为(由其配置和状态决定)是否符合高级意图的能力。更具体地说,考虑到网络的当前配置和状态,网络验证系统可以推断出网络可以演示的所有可能行为。它可以数学地分析网络中所有可能的端到端路径,为所有可能进入网络的包。然后可以将这种端到端行为分析与高级意图进行比较。一些端到端行为的例子,网络验证可以很容易地验证:
● 通过MPLS核心从特定接入层路由器到另一个站点是否至少有3条冗余路径?
● 整个网络路径上是否存在单点故障?
● 我们是否为所有非管理IP协议确保了两个租户或应用程序之间的逻辑流量隔离?
● 来自外部互联网的流量是否仅限于特定的目的地和服务?
IBN验证系统能够理解这些高级通用的需求,并在当前网络状态的上下文中验证它们。IBN有效地将意图与各个设备配置连接起来,从而推断验证过程并使其自动化。从IT的角度来看,这可以主动地识别网络中的任何潜在错误,从而最终导致停机,同时避免繁琐的手工搜索来隔离问题或执行根源分析。例如,如果提出了一组配置更改或部署了一个新服务,IBN可以在部署到活动网络之前帮助验证对现有策略的影响,从而避免可能的回滚,并帮助加速更改窗口。
验证是一种与传统测试环境截然不同的方法;它是基于对网络设计、配置和当前网络状态的基础上进行推理的。它不会查看实时流量或测试场景来确定网络活动。因此,验证可以做一些传统测试很少做的事情:“证明一个否定的”,通过确认某些事情不会发生,例如两个网络无法通过任何路径访问。IBN验证还可以识别配置错误,如MTU不匹配、转发循环或网络中任何地方的IP地址重复,这些错误可能不会出现在任何特定的测试中,也不需要逐个检查设备。
网络验证在今天的实践中是如何工作的?
IBN验证系统创建了一个网络模型,该模型可以推断所有可能的行为,并使用该模型验证策略和服务描述的合规性。要使IBN验证系统在现有的网络工作,需要满足的唯一条件:1)只读访问必须提供每台设备配置文件和状态信息,2)IBN软件必须准确建模所有可能的数据包流的每个网络设备(交换机,路由器,防火墙和负载均衡器)的行为,以及3)IBN模型必须适应所有协议和服务,如EVPN,BGP,MPLS,虚拟网络等。
总的来说,IBN,尤其是验证,正在将网络IT模型从被动方法转变为问题,转变为主动性方法,其中对当前网络设计的自动分析几乎可以消除人为错误和错误配置,从而首先避免问题。验证所实现的自动化有助于复制和增强关键IT工程师在诊断停机,记录网络要求和验证修复方面的罕见专业知识。
谨慎对待IBN
虽然企业距离让软件完全接管他们的网络还有一段距离,但是现在大多数IBN部署都是通过关注网络验证过程而取得成功的。它不仅安全(要求对设备进行只读访问),而且可以轻松地集成到现有网络和工作流中,而不需要更新硬件。企业能够立即实现切实的利益,因为验证加快了变更管理过程,增加了可靠性,提高了敏捷性。
在更高的层次上,验证是部署IBN的第一步。验证使企业能够在其网络和操作网络的过程中建立信任,从而允许它们从人工驱动、软件辅助发展到最终的软件驱动网络操作发展。