计世网

作为SDN的继承者,IBN能控制整个网络的软件?!
作者:Matt Conran | 来源:计算机世界
2019-10-17
对网络自动化的更高要求催生了基于意图的网络(IBN)。

 

在过去的十年里,网络经历了各种各样的变革。从本质上讲,网络已经变得越来越复杂,使用传统机制已经难以管理。现在用户迫切地需要新的设计,实现来自多个厂商的不同设备的集成,以及采用虚拟化和云服务等新技术。

由于每个网络都有着自己的独特性,因此你永远不会遇到两个完全相同的网络。供应商提供的产品是工程师设计解决方案的基石,如果我们的网络都是简单且可预测的,那么这就不会是问题。然而情况是,并没有一个可供遵循的全球参考,不同组织机构的设计也各不相同。即使提供类似的服务,网络也会发生变化。

据估计,超过60%的用户认为他们的IT环境比两年前变得更为复杂。我们据此认为未来网络复杂性会大大增加。

大型企业和服务提供商需要管理这种复杂性,以确保其所有流量、策略和配置都符合要求和目标。我们不能依靠手动来管理复杂的网络,因为这样总是会发生一些人为的错误,并最终会导致网络速度缓慢,敏捷性下降。

正如我在Network Insight网站上撰文所写的那样,网络复杂且容易出错这一事实催生了自动化,以何种方式管理取决于自动化程度,因此更高层次的编排是不可或缺的。

现代化的需要

组织机构现在正在寻求使其业务流程和网络现代化,这使得这种复杂性变得更加错综复杂。传统的垂直集成且庞大单一的网络解决方案阻碍了网络的现代化。这就造成了在架构师的本意和实际运行时的行为之间出现了脱节。

如果检查一下,你会发现设计文档的内容与网络执行之间是存在差距的。首先,对于如何将设计文档转换和应用到实际设备,并没有结构化的流程。如何实现它们全凭个人的理解。

这些网络是在不同时代建立的。因此我们现在必须将重点从传统的网络规范转向基于意图的网络(IBN)。作为一种能够实现网络现代化并按照总体业务目标进行处理的技术,IBN可使设计规则与网络紧密结合在一起。

对新工具的需求

毫无疑问,我们需要新的工具,不仅仅是站在物理设备的角度,而且从流量的角度出发。手动验证方式将不再有效。当数据包中有100个比特,那么这意味着流量可以一次执行多次对话,使用人工方法跟踪端到端流是不可能的。

在配置方面,CLI是最常用的配置更改方法,但是它们存在许多缺点。首先,它们提供了错误的抽象层。它们针对的是人类,工程师是否会遵循正确的程序无法得到验证。

此外,跨多个供应商的CLI语言没有实现标准化。业界针对此问题推出了NETCONF。但是,NETCONF在供应商操作系统中存在许多不一致之处。许多企业都会使用自己的专有格式,这导致难以跨多个供应商网络编写NETCONF应用程序。

NETCONF 的本意是为了让自动化变得容易实现,但是实际上它们所呈现的不规则性使得自动化变得更加困难。此外,我们使用的老式故障排除工具(如ping、traceroute)并不能提供对网络行为的整体评估。traceroute存在IP未编号链接的问题,而这在全自动网络环境中是非常有用的。另一方面,ping没有告诉我们网络的运行情况。这些工具的创建初衷只是为了满足之前网络需求较为简单的时代。

我们需要发展到一个与供应商无关的解决方案,该解决方案可以根据配置的策略验证意图。它们要与设备数量、安装的操作系统、流量规则和任何其他类型的配置策略无关。我们需要的是网络自动化和可预测性,而现有的常用工具对此毫无帮助。

简言之,我们需要一个新的模型来计算出所有的设备和流量交互,不仅是在设备层面,而且是在网络层面。

IBN和SDN

软件定义网络(SDN)成功吸引了人们的关注,但是部署它们的主要是大型企业。这些用户有着构建自己专属硬件和软件的资源,如谷歌和Facebook。

例如,谷歌的B4项目通过流优化以动态方式构建起了一个高效广域网(WAN)。尽管如此,但要想在生产网络上使用传统的广域网架构,则是不可能实现的。

IBN是SDN的继承者,它借用了相同的原则、体系结构,以及应用程序和网络基础结构之间的划分。与SDN类似,IBN正在开发能够控制整个网络的软件,而不再是设备到设备。

现在表面上的问题是,SDN作为一个概念能否尽可能多地实现我们的需求自动化?实际上,SDN是通过软件来配置网络,从而驱动基于软件的网络。IBN则是我们工作的下一步。基于意图的系统在应用程序中拥有更高的优先级,以提供真正的自动化。

IBN是什么?

对网络自动化的更高要求催生了IBN,这是一种可提供增强的自动化和网络洞察力的技术。它代表了一种范式转换,侧重于网络应该做什么,而不是网络组件的配置方式。它们还可用于监控网络设计是否正确运行。

IBN是通过生成设计和设备的配置来实现这一点。此外,它们还不断地实时验证和查验是否符合最初的意图。如果不满足预期意图,那么系统可以采取纠正措施,例如修改QoS策略、VLAN或ACL。这使得网络能够更加符合业务目标与合规性要求。

它们使用的是声明性语句,即网络应该做什么,而不是描述应该如何做的命令性语句。IBN能够理解由一系列不同设备组成的大型异构网络集合。这些设备使用的也不是相同的API。这实质上使得用户能够突破传统网络的限制,将注意力放在业务需求上。

IBN之旅

通往IBN的第一步是将所有这些转换成清楚的逻辑规则,这些规则本质上是IBN软件的一部分。你还需要了解流量状况,看看现实情况是否与意图匹配。为此,系统将构建一个网络模型,然后验证该模型,这在计算机科学中称为形式验证。这是一种利用数学方法分析网络,检查是否符合意图的方法。其中涉及到一些逻辑计算。

网络验证

网络验证是所有IBN系统的关键部分。它们需要一个网络行为的基础数学模型,以便分析和推理出目标网络设计和策略。系统需要验证所有可能的数据包流和流量模式。

虽然IBN没有明确的体系结构指导原则,但是数学模型可以被用来处理每个网络设备。这可以被视为对每个设备层上所有数据包类型和流量进行的一组代数和逻辑操作。这使得IBN系统能评估和验证所有可能的场景。

当设备接收到一个数据包时,它们可以执行许多操作,例如可以将数据包转发到特定端口、丢弃数据包,或是在修改数据包头后转发到端口。这取决于数学模型对每个设备如何响应每种可能数据包类型的理解,以及对网络中的(而不仅仅是在设备层级)行为评估。

原则上,验证过程必须是端到端,并且必须从网络上的每个设备收集配置文件和状态信息。然后,在逐条的基础上对所有可能的信息流的行为进行数学分析。IBN系统针对网络基础设施构建了一个软件模型。该模型会首先读取Layer 2到 Layer 4的配置详细信息,然后再从每个设备(IP路由表)收集状态。

有了IBN,我们将从被动转向主动。随着我们将注意力放在业务需求和便捷性上,IBN将对网络的未来产生深远影响。IBN并不像有些人想象的那么遥不可及,但是如果你愿意的话,从今天开始你就可以开始自己的IBN之旅。虽然技术已经有了,但是我们还是建议用户分阶段进行部署。如果你关注的是ID/IPS的部署,那么你会发现目前仍然存在着许多不稳定因素。

作者:Matt Conran 拥有超过19年的网络行业从业经验,曾经服务于多个初创企业和政府机构。此外,他还作为高级架构师参与了全球某大型服务提供商和数据中心网络的建设工作。

编译:陈琳华

原文网址:https://www.networkworld.com/article/3428356/intent-based-networking-ibn-bridging-the-gap-on-network-complexity.html

责任编辑:周星如