目前业界围绕基于意图的网络(intent-based networking)有诸多的讨论和争议,有专家认为IBN是一种智能的拓扑结构,能够监控整体网络性能、识别问题并自动解决问题,而不需要人工干预。业界认为IBN是对网络管理方式的一个重大转变。
什么是基于意图的网络(IBN)?
网络业界的发展总是伴随着新技术的应用,五年前,数据中心是Ethernet Fabrics,后来是SDN,目前是SD-WAN。随着SD-WAN的不断发展,网络领域最新的风口是基于意图的网络。
基于意图的网络部署产品或市场,相反,它是帮助规划、设计和实施/操作可提高网络可用性和灵活性的网络软件。另一部分人认为IBN是用于网络基础设施的生命周期管理软件。Gartner提出的关于IBN的定义包括以下四个部分:
- 转译和验证:系统从最终用户获取更高级别的业务策略,并将其转换为必要的网络配置,生成并验证最终的设计和配置以保证正确性。
- 自动化实施:系统可以在现有网络基础设施上配置适当的网络变更,通过网络自动化或网络编排完成
- 网络状态感知:系统为其管理控制下的系统提供实时网络状态,并且是协议和传输不可知的。
- 保障和自动化优化/补救:系统持续验证原始业务意图得到实现,并且可以在所需意图无法实现时采取纠正措施。
简而言之,IBNS就是让网络管理员能够定义他们想要的网络,并且拥有一个自动化的网络管理平台来穿点所需的状态并执行策略。目前国外已经有不少创业公司在IBN这一领域进行创业,包括Apstra、Forward Networks、Waltz和Veriflow等等。
但Gartner分析师Andrew Lerner表示,鉴于IBN是一个新生的技术,至少到2020年才会成为主流,同时他认为IBNS最好在概念部署的试点和验证中得到实施。
基于意图的网络优势和风险
业界对网络的要求我相信应该是一致的,大家的目标都一样,就是让网络更加智能化,虽然目标一致但实现方式往往不会相同。用户会根据其业务的优先性来确定其优化网络的途径。IBN这种方式所具备的诸多优势包括:
- 扩展物联网和移动性:通过在网络中自动创建基于身份的意图,用户可以保护工作组、BYOD等等。
- 云的性能和安全性:如果用户需要将工作负载迁移到云端,IBN可以确保云应用的安全和高质量的用户体验。这需要在WAN中应用SDN,以便安全访问分支机构的云应用程序。
- 保障、安全和优化:由于IBN是一种系统方式,因此所有部署最终都集中在一个集成系统上,该系统需要采用整体闭环方法来实现网络各个部分的策略、保障和自动化。
虽然IBN具备诸多的优势,但其风险也很明显。组织实现IBN之后将会使网络能满足需求,同时降低运营成本并能够应付更多的安全问题。对于网络团队来说,这意味着从繁琐的运营维护中解脱出来,从而对业务产生一些好处。然而,这需要相当数量的新技能和流程的变化,这一过程面临着风险。此外,还存在与实施相关的技术和流程风险。
巨头视角
思科IBN
思科CEO Chuck Robbins在今年6月份宣布了思科发行了基于意图的网络软件,声称该软件可以检测加密流量中的恶意软件威胁,并且认为IBN是影响未来30年的网络。
为了构建基于意图的网络,思科发布了以下软件和硬件,软件将作为订阅服务提供:
- 数字网络架构(DNA)中心:这是网络自动化和学习的引擎,集中管理仪表板使得网络管理员能够自定义意图,然后将意图转化为行动。它跨越了设计、配置、策略和保障,为整个IT部门提供了网络的可见性和情境。
- 软件定义接入(SD-Access):通过自动化策略实施和单个网络结构上的网络分段,目的是通过将日常任务自动化(如配置、故障排除)来简化网络访问。
- 新数据平台和保障:这是一个分析平台,与网络上运行的所有数据进行分类和关联。通过DNA中心保障服务,将机器学习转化为预测分析、商业智能和可操作性。
- 加密流量分析:安全软件使用思科的Talos网络智能和机器学习来分析元数据流量模式,思科表示这可以加使IT部门能够以高达99%的准确度来检测加密流量中的威胁。
- Catalyst 9000交换组合:该交换产品建立在思科的芯片基础上,并且运行该公司的IOS XE软件。思科认为,这些交换机将是安全可编程的,设计时充分考虑了移动性、云计算和物联网因素。
思科表示,约有75家全球企业和组织正在对思科的软件和交换机进行考察,这些企业包括DB Systel GmbH,Jade University of Applied Sciences,NASA,Royal Caribbean Cruises,Scentsy,UZ Leuven,Wipro。
Juniper Self-Driving Network
Juniper认为Self-Driving Network是一种可预测并适应期环境的自主网络,它同时增加了规模经济和效率,同时降低了运营成本。因此,它可以为最终用户提供经济而优质的个性化体验。 当自动化框架融入遥测,大数据分析,机器学习和网络引导等功能时,自主分析,自我发现,自我配置和自我修正,自治网络就诞生了。Self-Driving Network可以与零接触网络等同,最终目标是消除手动工作。
实现Juniper Self-Driving Network需要以下三个自动化策略:
- 通过简化和抽象网络来降低操作复杂性
- 使用户能够更快部署新的网络服务
- 通过深度遥测提高容量利用率和网络弹性
迈向Self-Driving Network依赖于遥测,自动化,机器学习和声明式编程:
- 遥测:需要基于推送语义的遥测和基于机器学习的异常检测。Juniper的OpenNTI是一个使用标准遥测,分析和分层设计来收集,标准化和可视化关键性能指标(KPI)的简单开源工具。
- 自动化:通过自动化拓扑发现、路径计算和路径安装。需要自动服务部署,基于配置服务的特定升级以及基于机器学习的归纳网络响应。
- 机器学习:机器学习采用创新的编程方法,将静态编码转变为从数据输入中学习的动态算法,进行预测并采取适当的行动。Juniper的AppFormix解决方案将机器学习和流媒体分析的功能与诸如基于Openstack和Kubernetes的混合云和NFV/Telco云等编排系统的应用感知结合在一起。
- 声明的意图:让网络明确你的意图,而不只是完成意图。Juniper的Northstar工具使服务提供商能够根据所提供的限制(如带宽,多样性和虚拟间网络策略)安装网络路径。
Juniper认为,Self-Driving Network具备革命性的优势,将会促进生产力的进一步发展,释放企业的创新能力。
值得关注的初创公司
Anuta Networks致力于提升网络编排水平,网络编排是将网络服务与硬件组件分离以实现流程的高度自动化。凭借其NCX平台,该公司认为它可以利用开放架构标准,协调超过35家网络厂商的设备。NCX可以提供服务、扫描网络设备,并提醒IT管理员解决潜在的问题。该公司目前已经在澳大利亚电信和F5公司的Silverline DDoS提供服务。
Forward Networks提供了一套新的功能和创新的定价模式,该公司是由斯坦福大学Nick Mckeown的四个博士创立,主要提供两个产品:orward Enterprise和Forward Essentials的工具集。企业产品包括三方面的方法:搜索即时访问,验证基于意图的可伸缩性,并预测模型变化如何影响网络。该解决方案创建了一个网络的软件副本,可以建模和测试,而不会损害生产网络。
Apstra采取了操作系统的方式来实现基于意图的网络,该公司通过自我配置、修复和防御来自动化网络基础设施和服务的整个生命周期。这需要使用过程自动化、遥测、分析和验证。由此带来的好处可以提高可扩展性,控制/可视性以及使用多厂商设备的灵活性。
云杉网络是中国目前第一家提出IBN的SDN初创公司,依托于其推出的DeepFlow产品,打造数据中心网络的网络分析与控制的闭环系统,最大程度地消除了云时代企业IT网络与企业业务脱节,为金融、电信、互联网、能源等多个行业提供下一代网络解决方案。
基于意图的网络目前还处于早期阶段,但它是一个将网络拓扑从传统硬件转移到更灵活的软件定义实现的引人注目的平台。随着机器学习和人工智能的发展,基于意图的网络系统将变得更加智能化和预测性更强。
IBN的定义
网络业界的发展总是伴随着新技术的应用,五年前,数据中心是Ethernet Fabrics,后来是SDN,其核心理念是将转发与控制进行分离,以此提高网络的运行效率和网络的灵活性。目前是SD-WAN,随着SD-WAN的不断发展,网络领域最新的风口是基于意图的网络IBN(Intent based network)。
从广义上看SDN代表了一种新的网络思想,从狭义上看其就是一项网络转发技术。IBN似乎更像是一种网络架构,SDN和IBN是互补的,它们可以一起部署也能单独部署。它们有着一致的目的,就是帮助网络变得更加灵活。因此ONF组织为SDN发布了北向接口用于支持IBN。SDN更加专注于如何去控制网络,采用一种基于策略的声明式控制方法,而IBN专注于如何将应用的需求告诉网络而不是告诉网络怎样配置某个设备。
IBN本意是对网络进行抽象,隐藏细节,包括对各种协议配置以及管理维护,最终给用户体现为意图接口,用户只要说出需要网络做什么,而不是要手动配置OSPF/BGP/LDP各种协议,网络可以把对用户意图实现的结果反馈给用户,让用户知道网络的运行状态。
这是一种智能的拓扑结构,能够监控整体网络性能、识别问题并自动解决问题,而不需要人工干预。其真正技术内涵包括高级语言接口定义(描述用户意图)、基于获取的网络状态解释用户意图、网络自动运维,其中更是包含了AI等各种技术。业界认为IBN是对网络管理方式的一个重大转变。
2017年Gartner提出的关于IBN的定义,包括以下四个部分:
- 转译和验证(Translation and Validation):系统从最终用户获取更高级别的业务策略(what),并将其转换为必要的网络配置(how),生成并验证最终的设计和配置以保证正确性。
- 自动化实施(Automated Implementation):系统可以在现有网络基础设施上配置适当的网络变更,通过网络自动化或网络编排完成。
- 网络状态感知(Awareness of Network State):系统为其管理控制下的系统提供实时(real-time)网络状态,并且是协议和传输不可知的。
- 保障和自动化优化/补救(Assurance and Dynamic Optimization/Remediation):系统持续验证原始业务意图得到实现,并且可以在所需意图无法实现时采取纠正措施。
为什么需要IBN?
网络很复杂。管理网络一直以来是一个十分复杂的工作,网络工程师需要负责管理网络设备、提供用户权限、配置网络策略等等工作。根据Gartner的数据显示,75%的组织仍然通过手动操作来管理他们的网络,很多组织仍然使用最初的命令行界面(CLI)。CLI的缺点也很明显,因为缺少错误特定的返回代码,自动化工具还必须处理输入或输出文本中的偶尔错字。CLI通常与手动配置更改有关,这是造成企业网络中断的主要原因。
网络局限于数据传输的时代已经一去不返。现在,网络已成为应用程序开发和创新的平台。作为主要开发平台,网络需要灵活性来满足快速变化的业务和用户需求。自动化和编排通过简化网络运营和管理,帮助实现这种敏捷性。自动化网络的最简单方式是通过可编程性使用标准、低级 API 提供对网络设备乃至芯片级别的细粒度控制。用API替换CLI并不困难,较新的设备通常有了XML或JSON编码的REST接口支持CLI和API。可编程性对于实现网络感知的应用程序和应用程序感知的网络而言至关重要。网络可编程不在于各种接口和各种规范,而在于对于网络的抽象,能够真正体现出用户意图,通过消除手动配置来降低网络复杂性并提高自动化水平,它使得用户或管理员使用自然语言向物理网络发送一个简答的请求。例如,IT管理员可以请求IP语音应用程序提高语音质量,网络可以对此进行响应。再想象一下,有一家医院的网络拥有所有患者敏感的数据信息。通过IBNS,网络工程师能够要求只有医生和护士才能够访问这些患者信息,其他用户被禁止访问。IBNS可以自动地去识别医生的身份从而修改他们的访问权限策略。
简而言之,IBNS就是让网络工程师能够定义他们想要的网络,从繁琐的网络运维工作中解脱出来。不再仅仅去使用一些复杂繁琐的脚本,而是拥有一个自动化的网络管理平台和图形化的工具,实现网络变更。系统将会持续实时验证原始的业务意图是否已经被满足了,并且在没有达到预设的意图时可以执行改正的动作,形成一个持续闭环循环的系统(continuous closed-loop.),与传统方式相比它提升了网络的可用性和敏捷性。唯有持续闭环的系统才可以保证意图的有效性,才可以确保意图不会被突发的网络状况干扰。
今年夏天,思科 CEO Chuck Robbins 谈到基于意图的网络的业务优势,可以概括为三个主要方面:
- 速度和敏捷: 随着网络的发展,在网络上开展的业务会越来越多。现在,人们刷信用卡就能启动一个云应用程序,这就要求网络做出回应。因此,非常重要的一点是,网络能迅速调整来满足这些需求,而且只需很少的人工干预。
- 多任务的自动化:支持IT把工作重点放在实现业务价值上。目前,IT的很多时间都花在了不产生价值的任务上。我们可以在管理层实现很多任务的自动化,这使得IT能够更多地去从事给业务带来价值的工作。
- 安全、合规和风险:利用自动化和算法验证配置,减少了出错的风险,可以更精细的分析网络。
IBN是如何工作的?
标准化、流程化是自动化的前提。将业务要求转换为复杂的意图,在此过程需要大量劳动力,包括漫长的设计和配置验证。更重要的是,复杂性通常使网络难以改变。传统网络已成为许多 IT 运营中的瓶颈。通过融入实时分析和持续验证业务要求,IBNS可快速分析当前形势。将用户的业务要求解释为意图,然后将意图转换为整个网络基础架构上的必要网络配置。如果未满足所需的意图,系统将立即采取纠正措施。
Intent-Based Networking: Top 10 Questions and Answers文章中,介绍了10个常见的问题,在第6条中简单的讲解了IBN具体是如何工作的。IBN是通过机器学习、数据分析以及网络团队确保系统的持续性运转。作为一个闭环系统,从一个理想的意图到最终的实现,需要通过下面的步骤:
- 定义/理解意图:理想的商业需求。
- 自动转译意图生成一系列的指定的网络配置变更(例如:修改ACLs,更新应用特定的协议等等)。
- 在下发修改配置到实际网络之前,需要验证这些变化的配置。
- 假设第3步骤成功,下发验证过的配置到实际网络中,否则回到第2步骤。
- 对实际网络进行周期性的快照,验证是否符合步骤1里定义的意图,形成一个闭环系统。
上图来自Verification and Intent-Based Networking: Closing the Control Loop 文章中,描述了IBN的最基本的系统框架。这和上面所描述的步骤基本一致,值得注意的是通常完整IBNS要在转译Translation后Implementation前要加上验证配置的步骤。当验证通过了,系统才会下发(deploy)配置到网络中。所以在整个闭环中,有两个地方需要验证Verification,一个是验证下发前的配置,另一个是根据现网的报文行为和动态网络的状态进行动态的验证。目的是为了验证实际网络状态是否和所期望的意图达成一致,形成闭环。
在传统的网络中,往往只是进行简单地监控(monitor),有许多不足的地方。在传统的系统中,网络监控广度和深度不足,所描述的信息和数据都是直接来自于底层设备的(low-level),而非用户期望的以规范化数据模型方式来表达。这对管理员的技能要求高,可用性保障困难。因为故障来源复杂(配置错误,软件故障,链路故障等),设备之间联系紧密, 并且存在故障扩散现象,整个系统缺乏有深度的全局网络数据视图。另外在网络中通常隐藏着许多隐患,往往发生特定的事件,我们才能发现这个故障。所以在IBN系统中,基于Telemetry这一网络遥测、实时监控的特性,能够全面地实时了解网络状态。Telemetry遥测的功能不仅仅能够获得数据流实时信息,而且能够获得实时的网络配置、流量统计、计数、报错、表项、环境、缓存等一些列信息。近期Google等云巨头推动 OpenConfig 的一个重要原因就是希望能够以单一标准化数据模型语言(YANG) 来定义数据和实时状态反馈(state streaming),其实就是数据定义加上 Telemetry 的特性。通过验证verification最后闭环这一步骤将low-level的设备数据与high-level的意图关联起来。网络的状态时时变化,执行时的状态与验证时的状态可能存在不一致,此时IBNS会主动地根据期望的状态对策略进行优化补救。
与SDN相比,基于意图的网络(IBN)稍显稚嫩,虽然同为改变网络行业的技术,但这两者之间处于什么样的关系呢?SDN和基于意图的网络由相似之处,IBN可以视为是SDN概念的延伸并且进一步改善网络自动化和复杂性的问题,其中包括减少手动配置网络等。
十年前提出的SDN是作为逻辑分离网络硬件和软件的一种方式,也是提供网络可编程性、提高自动化和降低成本的手段。SDN的概念现在成为了数据中心和广域网应用的主流,分别出现了软件定义数据中心(SDDC)和软件定义广域网(SD-WAN)的应用。它将网络创新的重点转移到了软件上,而不是专有硬件。虽然一些领先的超大规模云服务提供商已经开始部署SDN对其网络进行编程,并大幅降低了成本,但是在自动化网络运营方面,SDN能发挥的作用相对有限。
向基于意图的网络演进
根据Gartner的数据显示,75%的组织仍然通过手动操作来管理他们的网络,很多组织仍然使用最初的命令行界面(CLI)。基于意图的网络通过消除手动配置来降低网络复杂性并提高自动化水平,它使得用户或管理员使用自然语言向物理网络发送一个简答的请求。例如,IT管理员可以请求IP语音应用程序提高语音质量,网络可以对此进行响应。
SDN和基于意图的网络相互衔接,因为IBN的实施可能包括使用可执行所需策略和意图的SDN控制器。IBN的当前版本可以自动执行诸如IP地址设置和配置虚拟LAN之类的操作,并且可以分析网络流量来检测威胁并提供解决网络问题的方式,基于意图的网络使组织能够快速部署和扩展新的数据中心网络资源。
未来IBN的进一步发展将能够检测并自动解决网络挑战,例如安全异常和网络拥塞。在IBN中实施开放API将能够实现更多的厂商集成,并使高级用户能够更轻松地对网络进行编程。
SDN和基于意图的网络目标都很远大,但IBN的实现在技术上还面临若干问题,以思科和Juniper为代表的厂商已经开始向IBN发展,OpenDaylight等开源项目也在逐渐将IBN的思想添加到其SDN控制器中。IT组织仍然面临着决策性的挑战,即是否应该将他们的数据中心、校园网或广域网建立在一个厂商的基础上,还是与初创公司合作实现物理网络。