[刘晓军 武娟 徐晓青]
随着移动通信技术的不断发展和互联网需求的爆发式增长,对通信网络的要求越来越高[1];同时各种新技术、新协议的层出不穷,在增加了网络服务能力的同时,也带来了网元设备品牌、型号碎片化等问题。在如此错综复杂的网络环境下,如何有效智能管控成为急需解决的关键环节。采用数智融合方式,通过实时或准实时采集不同网元设备的数据,再经数据实时处理、建模分析和预测,最终实现网元设备的优化配置,从而形成一整套的闭环操作过程[2][3],具备提供网络智能管控和优化的能力。
目前可采用多种技术实现或接近实现上述目标,包括DPI数据采集与分析、基于P4的网络遥测等技术[4]等。其中DPI数据采集与分析,是基于网络数据包的深度检测技术,实现对网络的关键点的流量和报文内容进行检测分析,可以根据事先定义的策略对检测流量进行过滤控制。DPI数据采集与分析,能够实现对多种维度的网络行为分析和应用层面的策略控制,如果要实现对网元状况的获取和配置,需要进行海量数据的挖掘和处理,并外接对应的控制器完成。该种解决方法,需要基于DPI采集设备和海量的DPI数据挖掘与处理,存在较为突出的处理时效性问题,难以有效满足实时网络优化处理的业务需求。
基于P4的网络遥测技术,其可很好应用于可编程数据平面的带内网络遥测(INT)技术[5],而且具有网元设备品牌的无关性,能够直接在转发数据分组时获取设备内部更为细粒度和准确的遥测数据。不过该种技术方案,需要网元设备具备SDN能力[6][7],其普适性存在一定的局限,从而影响到其规模化部署和应用。
正是由于上述解决方案都存在一定局限性和适用性等问题,本文提出基于Network Telemetry网络遥测技术,实现针对网元设备的数据采集和控制指令下发,并结合数据处理和分析能力,构建网络智能优化闭环操作的一体化解决方案。
Network Telemetry是一种具备远程网络设备采集数据的技术,能够周期性主动上报流量、CPU或内存等网元数据信息,相对传统网络监控方式,例如SNMP等的问答式交互,提供了更实时、有效和便捷的数据采集功能。
Network Telemetry技术,具备支持更多设备承载,更高的数据精度,更实时控制及对设备功能、性能影响较小等特点,为网络快速排障、快速优化提供数据基础,并且具备与通用大数据处理平台良好衔接等能力。
Network Telemetry,因其需要厂商内嵌到设备协议堆栈和管理模块中,也存在接口私有化和官方授权等局限。不过通信网络设备,例如路由器、交换机等,具有一定的品牌集中性,该问题是可通过针对主流设备有效适配而得以解决。
本文提出基于Network Telemetry技术,融合大数据处理和人工智能机制,实现网络闭环智能优化,采用底层构建Telemetry适配层,完成兼容各种品牌网元设备的私有Telemetry接口,实现主流的交换机和路由器的准实时数据采集;同时将Telemetry采集器功能集成到Hadoop集群[8],完成网元状态数据的实时处理与分析;并融合AI处理框架,一站式进行优化智能计算;最终通过NetConf协议实现针对网元设备的控制指令下发,完成基于网元实时数据的一体化智能优化处理过程。本文实践环节中,采用在实验室环境下搭建基于Network Telemetry的数智融合处理环境,验证该种方法的有效性,并模拟完成路径优化处理过程。
构建数智融合的一体化架构,关键就是将Network Telemetry数据采集、大数据处理、AI计算和Netconf控制指令下发等关键步骤和功能有机融合。其中为了减少数据的传输路径和提升数据的传输效率,将Network Telemetry的采集器功能内置到大数据+AI融合平台内,相关的处理架构如图1所示。
图1 基于Network Telemetry数智融合架构
在现网部署过程中,需要在通信网络的关键节点(核心交换机、路由器等)设备配置Telemetry能力,使其具备基于Telemetry订阅功能;并通过大数据平台的前置机采集器,实现基于Telemetry机制的数据采集策略配置下发和网元数据实时采集;大数据+AI融合平台基于实时数据获取、流式数据处理和AI分析能力,实现将网元数据进行计算、智能训练/预测;之后最终通过控制器将大数据+AI融合平台生产的优化配置指令通过Netconf协议下发到网络中各交换机、路由器网元设备,实现网络优化配置,完成网络优化的自循环闭环过程。
如果采用网元控制的专用术语采集器、分析器和控制器来展示的话,上述处理过程相关的软件堆栈如图2所示。
图2 基于Network Telemetry数智融合软件堆栈
其中网络设备部分,需要配置Telemetry数据采集协议、基于XML网络配置的Netconf协议、Google远程过程调用gRPC协议等,同时需要支持YANG模型等。
采用采集器、分析器统一部署的方式,可分为采集服务、数据处理、AI分析和可视工具等四个部分组成。
(1)采集服务:适配主流网元设备的Telemetry能力,实现针对各主流品牌的网元设备智能发现、智能配置和智能数据获取等功能。具备通过gRPC协议与网元建立相应的远程调用,基于YANG模型实现数据的采集,并通过GPB进行数据结构描述等。
(2)数据处理:采用GPB编码实现网元上传原始数据实时转译,并通过kafka消息队列实现数据流式传输,并通过Structed Streaming实时流式计算完成数据的初步处理和hadoop集群的存储,针对实时发现的设备故障及时反馈到控制器;同时将网元数据,基于hive、hbase等分布式数据库进行存储。
(3)AI分析:基于TFonSpark和BigDL等融合组件,实现基于hadoop集群的AI架构的运行。通过底层的大数据、AI融合组件,能够实现通用的AI框架基于hadoop分布式集群运行和无缝的数据提取、分析和预测等深度学习、机器学习等功能。
(4)可视工具:该层是对接数据处理和AI分析结果,实现基于开源的可视化工具,例如JupyteR、Tableau等,能够将实时将Telemetry采集处理完成的数据建模和AI预测、分析的结果进行图表展示。
当然采集器、分析器部分软件或者工具,是采用开放式的思路,具备基于hadoop集群按需添加,并非局限于上图所示软件或者工具。
控制器通过Telemetry对应的配置机制,通过相应的配置工具/接口实现对各网元设备的数据采集策略的配置操作;通过对接分析器,获取对应的网络优化指令,通过NetConf等协议实现针对网元设备优化指令下发,达到针对网元设备的优化处理。
为了实现针对通信网络的实时数据采集和监控功能,需要在关键的网元设备上配置Telemetry功能,并架设对应的采集功能前置机,实现对就近交换机或路由器的Telemetry数据采集。在实际的网络部署过程中,一般可采用将数据采集前置机和控制器合并部署,该种架构虽然在软件架构方面存在一定的不足,但是减少对应的硬件资源的投入和数据传输路径[9]。
基于设备层面的Telemetry机制,在网元设备硬件板卡ASIC层面植入代码,直接从板卡数据层面导出数据;具备低于秒级上报实时或准实时数据的能力;能够提供超过50种以上的数据指标,能够有效支持多方面的网络优化智能决策。通过结合大数据和AI处理能力,具备异常检测、故障定位、流量预测和网络调优等方面的应用场景。
(1)异常检测:提供准实时的网元异常状况追踪和分析,包括单指标异常、多指标异常、流量异常和阀值异常等,并根据网元异常情况实时调整对应的处理和控制策略,提升网络的稳定性[10]。
(2)故障定位:综合网元各种指标数据,实时跟踪故障点,并根据历史数据分析,采用多维度数据精准定位故障网元、追踪故障位置变更[11];并结合已有的故障数据训练AI模型,进行有效的故障预测。
(3)流量预测:通过持续化获取各个核心网元的流量情况,具备由点到面的流量分析和预测功能,包括单一网元的流量预测、网络链路流量情况分析、链路流量预测,通过并与网元/链路的状况结合,根据预测结果进行相关的网元/链路的限流控制等。
(4)网络调优:按照时间序列,基于以往时段的网元、链路情况,并结合业务需求预测分析,有效指导网络扩容、优化资源配置[12]、选择最优链路和业务流量优化等。第四节将重点针对路由优化部分进行阐述和研究。
采用Telemetry机制的异常检测,是基于持续性的网元设备板卡信息,包括告警信息、板卡信息等,进行网元健康状况跟踪和预测,是网络优化的基础工作内容之一。其中告警信息包括CPU、内存、网络丢包、缓存使用情况等相关信息,并结合网元上线时长、部署位置等情况,实现针对网元异常和网元状况的实时跟踪[13],其处理过程如图3所示。
承担分析器作用的大数据和AI融合平台,基于海量的网元已有故障数据,采用CPU、内存、网络传输等多个维度,构建面向单个网元的故障模型,并通过该模型导现网相关网元异常和状态,实现针对该网元健康状态的预测;并对处于临界状态的网元,根据预测结果,基于控制器下发阀值调优控制等方式,动态调节网元的CPU过载阀值和内存过载阀值等,实现网络服务能力的可控性和故障提前预判。
图3 采用Telemetry机制的异常检测过程
以上应用方式是基于单个网元的故障预测,基于Telemetry具有规律的数据上报和采集机制,能够形成整条链路/区域网络的故障追踪和预测,即可实现故障检测由点到线、由线到面的覆盖能力外延。
同时结合流量等相关维度的数据,亦可外延到网络链路选优、网络路由优化等方面,该部分内容将在第四章中重点针对网络路由优化进行研究和阐述。
基于实验室环境搭建路由优化的应用场景,实现针对网元设备Telemetry数据采集的闭环网络智能优化的流程打通和可行性验证。
试验环境包括将Network Telemetry采集器、控制器和分析器混合搭建方式,构建基于Telemetry的数智融合系统,具备简易的Telemetry数据采集、处理和优化运算能力。该套系统,采用hadoop集群架构内置Telemetry能力,从而构建采集器、分析器和控制器功能。
在网络设备方面,通过选用4台内置Telemetry能力的思科ASR9000路由器,构成如下图的网络相关链路,如图4所示。
图4 采用Telemetry路由优化实验组网
通过预先设置,通过Network Telemetry采集到的信息得到链路AB、链路BC(可分配的带宽)为15G、其余链路的流量阀值为10G。由Network Telemetry采集到的信息,还可得到各个链路的状态,例如时延,丢包率,抖动等。假设用一个状态系数来衡量一段链路的综合状态,例如,状态系数=时延,其状态系数越大,该段链路状态就越差,传输质量就越低。Telemetry能够对网络状态进行更细致的感知,提供更加精准的网络状态信息,基于这些信息,为路由选路提供了依据,路由优化算法能在这些网络状态信息的基础上,确定候选路径。
Telemetry的意义在于其能提供实时或准实时的网元信息,并在此基础上可结合各种路由优化算法,提升网络服务质量。假设存在如下两个流量需求,需求A →B,为25G,需求A →C,为15G。由Telemetry得到各段链路信息,综合得出需求的各个路径的状态:路径A →B的状态为1,路径A →C的状态为1.5,路径A →B →C的状态为2,路径A →C →B状态为2.5,路径A →D →C为6,路径A →D →C →B的状态为7。对需求A →B的路径进行按状态排序,得到候选路径表:[A →B,A →C →B,A →D →C →B]。同样对需求A →C的路径进行按状态排序,得到候选路径表:[A →C,A →B →C,A →D →C]。
为提高链路利用率和吞吐量,应该尽量使用多个路径进行路由,当然这些路径的状态必须满足QoS要求;同时带宽的分配需要满足一定的公平性。如果都按最短路径路由,需求A →B,只采用路径A →B路由,只能得到带宽15G;需求A →C,只采用路径A →C路由,只能得到带宽10G。在Telemetry采集得到链路信息的基础上,对各个路径进行分析,针对每个需求确定了候选路径,采用了最大最小公平算法[14],对各个需求进行多路径带宽分配。最大最小公平算法,能够将网络的带宽公平地分给需求,直到带宽分配完毕,能比较好地兼顾公平性和吞吐量。最大最小公平算法得到的路由及路径带宽分配结果
由于交换机规则有限等的硬件约束,无法做到多路径任意比例的流量分割,只能采用一定的比例分割流量。这里设流量分割比例为0.25,即对需求分配流量时,最小比例为0.25。再次用贪心算法在最大最小公平分配的基础上进行对各个路径流量分割比例离散化,得到尽可能公平的结果和尽可能大的吞吐量,结果为:
可以看出,相比最短路径路由,最大最小公平算法使每个需求多了5G和3.33G的带宽分配,吞吐量一共多了8.33G,提高了链路的利用率。在最大最小公平路由的基础上,可以进一步结合机器学习算法对各个需求的流量进行分类,如分类成对QoS需求低的流量和对QoS要求高的流量。在最大最小公平分配及其流量分割离散化得到的路径中,尽可能地将需求中对QoS要求高的流量安排在状态较优路径,进一步优化传输质量。此外,Telemetry持续监控网络状态,一旦某段链路发生故障,可迅速地进一步评估并更新可用候选路径;或者预测故障,提前更新并切换候选路径,避免出现较为严重的故障影响。
本文基于Network Telemetry机制,实现针对网元设备运行状态、告警等数据实时或准实时采集,并通过将采集器与分析器融合,基于Hadoop大数据/AI融合架构,进行网元原生数据实时流计算处理和智能分析、预测,最终实现基于控制器的优化指令下发,完成网络优化一体化闭环处理过程。通过分析典型的应用场景,并将其在实验室环境下应用于路由优化实践,不但验证可行性,并且得到了预期的效果。