40

基于意图的网络(IBN):如何降低网络的复杂性?

 5 years ago
source link: https://www.sdnlab.com/23439.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

在过去的十年里网络经历了各种各样的变革,变得复杂且难以管理,很难继续使用传统的机制。因此现在迫切需要对来自多个供应商的设备进行设计和集成,并采用虚拟化和云服务等新技术。

08IBN668.jpg

每个网络都是独特的雪花,就像世上没有两片相同的雪花一样,你永远不会遇到两个相同的网络。供应商提供的产品作为基石,供工程师设计适合他们的解决方案,我们没有一个简单且可预测的网络,也没有一个全球性的参考,设计因组织而异,因此即使在提供类似的服务时,也会导致网络的变化。

据估计,超过60%的用户认为他们的IT环境比2年前的更复杂。大型企业和服务提供商需要管理这种复杂性,以确保它们所有的流量、策略和配置符合要求和目标。人们无法手动管理复杂的网络,人为管理总会发生一些错误,最终会减慢网络的速度,从而降低其敏捷性。

需要现代化

企业现在希望其业务流程和网络现代化,但传统的垂直集成单片网络解决方案却禁止网络现代化,这就造成了架构师的本意和实际的运行时行为之间的差距。

如果检查,您会发现设计文档的内容与网络执行松散耦合。首先对于如何将设计文档转换并实现到实际设备,没有一个结构化过程,如何实现它完全取决于个人的理解。

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

需要新工具

毫无疑问,不管是从物理设备的角度,还是从流量的角度来看,我们都需要新的工具,手动管理的方式将不再有效。我们的数据包中有100个比特,这意味着流量可以同时执行多个会话,使用人工方法跟踪端到端流是不可能的。

在配置方面,CLI是最常用的更改配置的方法,但它也存在许多缺点。首先,它针对的是操作人员,并且没有验证工程师是否会遵循正确的程序。

此外,CLI语言并未实现多厂商标准化。尽管业界针对此问题提出了NETCONF。但是,NETCONF在厂商操作系统中存在许多不一致的地方。许多公司使用他们自己的专有格式,这使得跨多个厂商网络编写NETCONF应用程序变得困难。

NETCONF是为了简化自动化而诞生的,但实际上,它所呈现的不规则性使得自动化变得更加困难。此外,我们使用的老式故障排除工具(如ping,traceroute)无法全面评估网络的行为方式。 Traceroute存在IP无编号链接问题,但这一点在完全自动化的网络环境中是非常重要的。而ping则无法展示网络的运行情况。这些工具构建的初衷是为了满足之前网络需求较为简单的时代。

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

简而言之,我们需要一个新的模型,它可以计算出所有的设备和流量交互,而且是整个网络。

IBN和SDN

软件定义网络(SDN)在一定程度上取得了成功,其采用主要在大公司。这些企业希望构建专属于自己的硬件和软件,如Google和Facebook。

举个例子,Google的B4项目旨在以动态的方式构建高效的广域网(WAN)。但是,如果在生产网络上使用传统的WAN架构,则是不可能实现的。

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

现在的问题是,SDN作为一个概念,能够实现我们想要的自动化吗?实际上,SDN使用软件来配置网络,从而推动了基于软件的网络。IBN则是下一步,基于意图的系统应该在应用程序中拥有更高的优先级,以提供真正的自动化。

什么是IBN?

IBN意味着更高的网络自动化。IBN侧重于“网络应该做什么”,而不是“如何”配置网络组件。

IBN通过生成设计和设备的配置来实现此目的。此外,它还可以实时验证(这些配置)是否符合原始意图。如果未满足所需的意图,系统可以采取纠正措施,例如修改QoS策略、VLAN或ACL。这使得网络更加符合业务目标和合规性要求。

它使用声明性语句(即网络应该做什么),而不是描述应该如何完成的命令式语句。IBN具有理解大量异构网络的能力,这些异构网络由一系列不同的设备组成,而这些设备没有一个API。这实质上使您可以专注于业务需求而不是传统网络的限制。

IBN之旅

通往IBN的第一步是将所有这些转化为明确的逻辑规则,这些规则本质上是IBN软件的一部分。您还需要了解流量以查看现实是否与意图相匹配。为此,系统将构建网络模型,然后验证该模型; 这在计算机科学中被称为形式验证。这是一种方法,我们利用数学分析网络,看它是否与其意图相匹配,这也会涉及某些逻辑上的计算。

网络验证

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

虽然没有明确的IBN架构指南,但数学模型可用于处理每个网络设备。这可以看作是对每个设备上所有包类型和流量进行的一组代数和逻辑操作。这允许IBN系统评估和验证所有可能的方案。

当设备接收到数据包时,它可以执行许多操作。它可以将数据包转发到特定端口,丢弃数据包,或修改数据包标头,然后转发到端口。由数学模型决定每个设备如何响应每种可能类型的数据包并在网络范围内(而不仅仅是在设备级别)评估行为,。

原则上,验证过程必须是端到端的。它必须从网络上的每个设备收集配置文件和状态信息。然后,在逐跳的基础上对所有可能的业务流行为进行数学分析。IBN系统构建网络基础架构的软件模型。此模型先读取第2层到第4层配置详细信息,然后从每个设备(IP路由表)收集状态。

通过IBN,我们将看到从被动向主动的转变。当我们的工作转向更加关注业务需求时,IBN将对网络的未来产生深远的影响。IBN并不像人们想象的那么远,如果你愿意,你今天就可以开始你的IBN之旅。

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK