网络就像wifi,没有故障的时候,就没有人意识到它的存在。当服务出现故障时,所有的人想到的第一句话都是 “网络是不是有问题?”
这句话看似是埋怨网络的口头禅,但却是网络工程师们的现身说法。作为责任制的弹性地带,故障信息粗粒度、不实时,网络部门则成了弱势的一方。如果这个时候网络工程师不能做出合理的解释,或者无法拿出足够的证据反驳,那背锅几乎是无疑的。
如果网络可以自己配置……如果网络环境的运行状态更加透明……如果网络能自己预测故障……如果可以不用背锅……
随着网络朝着“自动化”的发展,这一切对网络工程师来说都不再是黄粱美梦。
不过在庆幸之余,我们还是要先认识下“网络自动化”这位朋友。
为什么需要网络自动化?
网络自动化是指一个网络中的物理和虚拟设备的自动配置、管理、测试、部署和操作的过程。在该技术加持下的网络,可每天自动执行制定好的任务和功能。而通过协作、自动化和网络编排能够简化涉及复杂配置和设备管理的网络操作,以适应不断变化环境的业务灵活性。
目前对于很多企业而言,采用缺乏灵活性的网络已成为阻碍其业务发展的一大瓶颈,因为瓶颈降低了部署强大且响应迅速的数据中心基础架构的可能。此外,随着算力成本下降,虚拟计算需求增长,当下的网络自动化技术对许多企业来说变得更加可用。
对于中小企业网管来说,管理十几台的网络设备可能手动进行网络配置或任务诊断来的更为直接。不过对于大型企业来说,网络设备的数量可能指数级增长,这时自动化配置显然才是根本。下面的三大原因亦是让网络走向自动化的关键。
首先,是减少人为失误。有调查显示,在发现的网络故障中,有60%到80%都是由人为失误而导致的,即便是手动的“CTRL C”加“CTRL V”。更为关键的是,此种手动过程显然是无法扩展至大型网络运维应用的。
其次,让网络更适合IT服务器环境。多年来大量企业运维团队都在使用自动化来创建高度动态的服务器系统。自动化能够及时提供所需的连接和安全性,更支持API,还可基于标准的协议和开源自动化框架(例如Ansible、Saltstack、Puppet和Chef)实现开放性和互操作性。此外,服务提供商和企业往往利用这些自动化框架来加速其网络自动化迁移。
再有,提高配置效率。由于手动配置,是一个一对一的过程,其副作用是网络配置仅能应用于当前设备。这就让QoS流控类的配置操作无法在整个基础架构中获得一致性应用。所幸网络自动化能够化解这类问题,令全网下发一个相同配置变得相当简单。
那些提高网络自动化的技术
瞻博网络全球CEO Rami Rahim曾用一个词表达了瞻博网络正在打造的新一代网络系统——“无人驾驶”。怎么去理解?无人驾驶汽车解放的是司机,使其在旅途中能够工作、阅读,甚至睡眠。
网络的自动化和“无人驾驶”一样,能够把网络操作人员从复杂的日常管理工作中解放出来,让他们把有限的资源运用于更重要的任务优化。
要实现网络自动化有几点要素,例如网络遥测技术通过对网络设备的数据进行远程高速采集和监控,提供更实时、更全面和更精细的网络监管能力;基于意图的网络(IBN)实现网络运营自动化,并使网络能够更好地与业务目标或意图保持一致;人工智能和机器学习将帮助我们从对网络静态编程,转向能够从数据输入中学习、做出预测,然后正确采取行动的算法,并且基于机器学习实现感应式网络响应。
网络遥测打败传统网络监控
随着数据中心承载的业务越来越多,如何实现对数据中心全网实现端到端的流量管理与故障监控,甚至故障预判则越来越迫切。
而遥测技术正是应对了大规模、高性能、实时、全路径网络数据监控需求,从物理网元或者虚拟网元上远程实时高速采集数据,实现对网络实时、高速和更精细地监控。
传统监管方式,例如SNMP/CLI,使用了“网管查询到设备响应”的拉模式(PULL Mode)采集数据。一次查询都有一次响应,设备需要处理大量重复的查询。Telemetry采用了“网管定制-设备实时推送”的推模式采集数据。一次定制就可以对应多次响应,降低了设备处理查询报文的压力。
其次,传统网络监控方式通过拉模式获取数据。如果网络卡顿或者网络获取不及时,就容易造成数据失真。而Telemetry周期性的向网管系统推送数据,避免了网络延时造成的数据不准确。
第三,传统的网络监控方式如果要采集N台设备的数据,需要执行N次的查询操作。如果同时采集M的数据,则需要N*X操作。而采用Telemetry技术,所有的设备只需要提前配置订阅。各种数据实时上报,中间的过程无需人工操作。
现在很多网络公司像思科、瞻博、华为、Arista他们的创新点就是能够把遥测技术的工作效率提高。(有关遥测的详情参见网络自动化的奠基石:看“遥测”如何打败传统网络监控 )
IBN对于网络自动化而言是网络验证
基于意图的网络(IBN)是近年来最热的IT趋势之一,IBN由软件定义网络(SDN)发展而来,其目标是实现网络运营自动化,并使网络能够更好地与业务目标或意图保持一致。
根据定义,IBN由网络软件组成,有助于计划、设计、实现和操作网络,从而提高网络的可用性和灵活性。在实践中,它归结为两个关键功能:1)配置:将高级策略或意图转换为网络配置的能力;(2)验证:验证实际行为与高级意图匹配的能力。
然而验证网络行为是IT流程自动化的关键。网络验证可以对网络中所有可能的端到端路径进行数学分析,找出所有可能进入网络的数据包,然后可以将这种端到端行为分析与高级意图进行比较。
IBN验证系统有效地将意图与各个设备配置联系起来,以推理和自动化验证过程。从IT角度来看,这可以主动识别网络中可能最终导致中断的任何潜在错误,同时避免繁琐的手动搜索以隔离问题或执行根源分析。例如,如果提出了一组配置更改或部署了新服务,IBN可以在部署到实时网络之前帮助验证对现有策略的影响,从而避免可能的回滚并帮助加速更改窗口。
这种验证是一种与传统测试环境截然不同的方法。它是基于对网络设计、配置和当前网络状态的分析进行推理的。它不会查看实时流量或测试场景来确定网络活动。IBN验证还可以识别网络中任何位置的配置错误,如MTU不匹配、转发环路或IP地址重复等。
人工智能提高网络自动化和安全性
网络基础设施日益复杂,加上与下一代服务相关的低延迟和确定性,使得基于传统网络管理方法和静态策略的网络部署和管理变得不可能。这些方法不具规模,而且对业务成本有重大影响。
网络必须是动态的和自动化的。人工智能和ML技术的进步,使得NFV实现闭环自动化成为可能,这对于远程监控和管理数千个网络边缘位置和数十亿个连接设备而言,至关重要。
当与操作支持系统集成时,人工智能支持的网络监控和预测网络分析功能,可以检测网络异常和故障,并分析根本原因,并在网络实际发生故障之前,对故障源进行修复或转移。自我监控、自我管理和自我修复的网络,使动态调整资源分配和功耗成为可能。
此外在网络自动化进程中还有一点不容忽视,网络安全。据不完全资料统计,2019年,超过90%的谷歌网络流量是加密的,美国80%的企业网络流量也是加密的,然而即使流量全都加密,也不足以应付技术高超的***。
为了提高网络的安全性,研究人员设想,用人工智能来创建一个全新的防护体系。通过在人工智能模型中填充数据包序列、数据包边界、计算操作性质和内存访问模式等遥测数据,可以有效地对加密流量进行实时***检测、网络隔离和预防措施。
人工智能还可以帮助实现无线覆盖、容量优化、先进的流量管理、用户跨频率的动态分布、动态无线电资源管理、波束形成配置、多无线电访问流量控制管理、网络片的服务感知资源管理等等。
值得关注的网络自动化初创公司
在IT预算紧张和技术人才匮乏的双重挑战下,对于企业网络专业人员来说,接受流程自动化和基础设施对不断变化的网络流量的响应方式已成为当务之急。像思科、瞻博、华为等主要的供应商已经发布了相关网络自动化产品如思科的 Crosswork 自动化解决方案、华为FabricInsight数据中心网络分析器等,而那些试图通过自动化来打破瓶颈的创业公司也开始着手解决这些问题。
这里列出的自动化初创公司进行了很多创新,包括一种新的网络操作系统、数字孪生软件、网络安全自动化和大规模的自动化Wi-Fi-assurance工具。
目前,这些初创公司筹集了超过1.5亿美元的资金,吸引了网络行业的顶级领导者,并正致力于实现从数据中心到端点的网络现代化。