Knowledge-Defined Networking

1,669 阅读29分钟

「这是我参与2022首次更文挑战的第1天,活动详情查看:2022首次更文挑战」。

摘要

研究界过去曾考虑过应用人工智能 (AI) 技术来控制和操作网络。一个值得注意的例子是 D.Clark 等人提出的知识平面。然而,此类技术尚未在现场进行广泛的原型设计或部署。在本文中,我们探讨了缺乏采用的原因,并假设最近两种范式的兴起:软件定义网络 (SDN) 和网络分析 (NA),将促进人工智能技术在网络运营环境中的采用和控制。我们描述了一种适应和利用 SDN、NA 和 AI 的新范式,并提供了说明其适用性和优势的用例。我们还提供了支持其可行性的简单实验结果。我们将这种新范式称为知识定义网络(KDN)。

一、引言

D.Clark等人提出的“互联网知识平面”[1]是一种依赖机器学习 (ML) 和认知技术来操作网络的新结构。知识平面 (KP) 将为网络带来许多优势,例如自动化 (recognize-act) 和推荐 (recognize-explain-suggest),它有可能代表我们操作、优化方式的范式转变并对数据网络进行故障排除。然而,在撰写本文时,我们还没有看到 KP 的原型或部署。

将 ML 应用于网络操作和控制的最大挑战之一是网络本质上是分布式系统,其中每个节点(即交换机、路由器)对整个系统只有部分视图和控制权。从只能查看系统的一小部分并对其采取行动的节点进行学习是非常复杂的,特别是如果最终目标是在本地域之外进行控制。集中控制的新兴趋势将缓解这种复杂性。特别是,软件定义网络 (SDN) 范式 [2] 将控制与数据平面分离,并提供逻辑集中的控制平面,即网络中具有整体知识的逻辑单点。

除了网络的“软件化”之外,当前的网络数据平面元素,如路由器和交换机,都配备了改进的计算和存储能力。这使得一种新型的网络监控技术成为可能,通常被称为网络遥测[3]。此类技术向集中式网络分析 (NA) 平台 [4] 提供实时数据包和流粒度信息,以及配置和网络状态监控数据。在这种情况下,遥测和分析技术提供了比传统网络管理方法更丰富的网络视图。

在本文中,我们主张将SDN提供的集中控制与网络分析提供的丰富的集中网络视图相结合,能够部署[1]中提出的KP概念。在这种情况下,KP可以使用ML和深度学习(DL)技术来收集关于网络的知识,并利用这些知识使用SDN提供的逻辑集中控制能力来控制网络。我们将结合SDN、遥测、网络分析和知识平面产生的范式称为知识定义的网络。

本文首先描述了知识定义网络(KDN)范式和它的运作方式。然后,它描述了一组相关的用例,显示了这种范式对网络的适用性以及与使用ML相关的好处。此外,对于一些用例,我们还提供了早期的实验结果,显示其可行性。在论文的最后,我们分析了与KDN范式相关的开放式研究挑战。

二、 SDN 架构的知识平面

本文重述了D. Clark等人[1]在SDN架构背景下定义的知识平面(KP)的概念。在传统的SDN范式的三个平面上增加一个KP,我们称之为知识定义网络。图1显示了KDN范式及其功能平面的概况。

图1.KDN平面.PNG

数据平面负责存储、转发和处理数据包。在 SDN 网络中,数据平面元素通常是由线速可编程转发硬件组成的网络设备。他们在不知道网络的其余部分的情况下运行,并依赖其他平面来填充他们的转发表并更新他们的配置。

控制平面交换操作状态以更新数据平面匹配和处理规则。在 SDN 网络中,该角色被分配给逻辑集中的 SDN 控制器,该控制器通过南向接口对 SDN 数据平面转发元素进行编程,通常使用命令式语言。数据平面运行在数据包时间尺度上,控制平面较慢并且通常在流时间尺度上运行。

管理平面确保网络的长期正确运行和性能。它定义网络拓扑并处理网络设备的供应和配置。在 SDN 中,这通常也由 SDN 控制器处理。管理平面还负责监控网络以提供关键的网络分析。为此,它从数据平面收集遥测信息,同时保留网络状态和事件的历史记录。管理平面与控制平面和数据平面正交,通常在更大的时间范围内运行。

最初由克拉克提出的知识平面在本文中根据 SDN 的术语重新定义如下:知识平面的核心是将面向决策的行为模型和推理过程集成到 SDN 网络中的能力。在 KDN 范式中,KP 利用控制和管理平面来获得对网络的丰富视图和控制。它负责学习网络的行为,并在某些情况下相应地自动操作网络。从根本上说,KP 处理管理平面收集的网络分析,通过 ML 将它们转换为知识,并使用该知识做出决策(自动或通过人工干预)。虽然解析信息并从中学习通常是一个缓慢的过程,但自动使用这些知识可以在接近控制和管理平面的时间尺度上完成。

三、知识定义网络

知识定义网络范式通过控制回路运行,以提供自动化、推荐、优化、验证和估计。从概念上讲,KDN 范式借鉴了其他领域的许多想法,特别是来自黑盒优化 [5]、反馈控制系统中的神经网络 [6] 和 self-* 架构 [7]。此外,最近的提议与本文中所述具有相同的愿景 [8] 。图 2 显示了主要 KDN 控制的基本步骤。在下文中,我们将详细描述这些步骤。

图2.KDN操作回路.PNG

a) 转发元素和 SDN 控制器 → 分析平台:分析平台旨在收集足够的信息以提供网络的完整视图。为此,它在转发数据包时实时监控数据平面元素,以便访问细粒度的流量信息。此外,它还查询SDN控制器以获取控制和管理状态。分析平台依靠 NETCONF (RFC 6241)、NetFlow (RFC 3954) 和 IPFIX (RFC 7011) 等协议从网络获取配置信息、运行状态和流量数据。分析平台收集的最相关数据总结如下:

  • 数据包级和流级数据:包括 DPI 信息、流粒度数据和相关流量特征。
  • 网络状态:这包括网络的物理、拓扑和逻辑配置。
  • 控制和管理状态:这包括 SDN 控制器和管理基础设施中包含的所有信息,包括策略、虚拟拓扑、应用程序相关信息等。
  • 服务级别遥测:在某些情况下,分析ics 平台还将监控服务级别信息(例如,服务负载、QoE 等)。这与了解应用程序或服务的行为及其与网络性能、负载和配置的关系有关。
  • 外部信息:在某些情况下,还可以访问外部信息,例如社交网络(例如,参加体育赛事的人数)、天气预报等,这些信息可能会对网络产生重大影响。

为了有效地学习网络行为,除了拥有丰富的网络视图外,观察尽可能多的不同情况至关重要。正如我们在第 V 节中所讨论的,这包括不同的负载、配置和服务。为此,分析平台保留收集数据的历史记录。

b) 分析平台→机器学习:KP 的核心是机器学习和深度学习算法,能够从网络行为中学习。分析平台提供的当前和历史数据用于提供从网络中学习并生成知识的学习算法(例如,网络模型)。我们考虑三种方法:

  • 监督学习:KP 学习一个描述网络行为的模型,即一个将相关网络变量与网络操作相关联的函数。获得的模型反映了网络运营商感兴趣的网络行为的相关性(例如,网络性能作为流量负载和网络配置的函数)。监督学习需要标记的训练数据和一些特征工程(例如,特征构建和特征选择)来决定相关特征,然后再将它们用于 ML 算法。
  • 无监督学习:它是一种数据驱动的知识发现方法,可以自动推断描述分析数据结构的函数。无监督学习不需要先前标记的样本,并且可以突出网络运营商可能不知道的数据中的相关性。例如,KP 可能能够发现当地天气如何影响链路的利用率。
  • 强化学习(RL):在这种方法中,软件代理旨在发现哪些动作会导致最佳配置。在强化学习中,环境通常被建模为随机有限状态机,其中代理发送输入(动作)并接收输出(观察和奖励)。然后,代理的目标是找到使奖励最大化的动作。例如,网络管理员可以设置一个目标策略,例如一组流的延迟,然后代理通过更改配置对 SDN 控制器起作用,并且对于每个动作都会收到奖励,奖励会随着就地策略而增加更接近目标策略。最终,代理将学习导致此类目标策略的配置更新集。最近,深度强化学习技术在人工智能领域取得了重要突破,著名的例子有[21]、[22]。请注意,学习也可以离线进行,也可以在线应用。在这种情况下,可以离线学习知识,用大量网络的行为数据集训练神经网络,然后可以在线应用生成的模型。

c) 机器学习 → 意图语言:KP 简化了分析平台收集的遥测数据与控制特定操作之间的转换。传统上,网络运营商必须检查从网络测量中收集的指标,并决定如何对网络采取行动。在 KDN 中,此过程部分卸载到 KP,它能够利用 ML 技术做出或推荐控制决策。 KP 通过意图驱动的语言表达控制决策(参见第 III-d 节),这简化了 KP 做出的高级决策与数据平面元素使用的命令式语言之间的转换。

根据网络运营商是否参与决策过程,KP 有两组不同的应用程序。我们接下来描述这些潜在的应用并在表 I 中进行总结。

捕获6.PNG

  • 闭环:当使用监督学习或强化学习时,获得的网络模型可以首先用于自动化,因为 KP 可以代表网络运营商自动做出决策。其次,它可以用于优化现有网络配置,因为可以通过常见的优化技术探索学习的网络模型以找到(准)最优配置。这两个应用程序也可以使用强化学习来实现,请注意,通过一些技术,这可以在线和无模型地实现。在无监督学习的情况下,发现的知识可用于通过 SDN 控制器提供的意图接口自动改进网络,尽管这需要额外的研究工作。
  • 开环:在这种情况下,网络运营商仍然负责做出决策,但是它可以依靠 KP 来简化这项任务。使用监督学习时,ML 学习到的模型可用于验证。在这种情况下,网络管理员可以在将配置应用到系统之前查询模型以验证对配置的临时更改。该模型还可以用作性能估计和假设分析的工具,因为操作员可以调整模型中考虑的变量并获得对网络性能的评估。当使用无监督学习时,在探索数据中发现的相关性可以用来提供网络运营商在做出决策时可以考虑的建议。

d)意图语言→SDN控制器:网络运营商和代表他们做出决策的自动系统都以声明性语言的形式表达他们对网络的意图。这为人类和自动决策者提供了一个通用接口,并准确定义了抽象意图应如何转换为特定的控制指令。相比之下,SDN 控制器和数据平面设备之间的通信是使用命令式语言完成的。

SDN 文献 [9]、[10] 广泛讨论了为 SDN 北向接口使用声明性语言。在这些声明性语言中,所谓的意图驱动语言(例如 NEMO1、GBP2)在撰写本文时正在业界获得关注。此类语言允许将抽象的网络指令呈现为特定的控制动作。

从这个意义上说,SDN控制器通过其北向接口接收声明性原语,然后将意图驱动的语言呈现为特定的命令式控制动作。这是可能的,因为它具有网络的完整和全局视图,并且可以从一个集中点驱动所有网络设备。这样,它可以找到适当的控制指令来应用,以反映所表达的意图。在撰写本文时,已经有控制器(例如 OpenDaylight3)能够渲染一些基于意图的语言,例如 GBP。

e) SDN控制器→转发元素:解析后的控制动作通过控制器南向协议推送到转发设备,以便根据KP做出的决策对数据平面进行编程。如有必要,控制器也可以依赖管理协议(例如 NETCONF)来重新配置数据平面设备。数据平面上的转发元素现在基于 SDN 控制器推送的更新操作状态和配置进行操作。

四、用例

本节介绍了一组特定的用例,说明了 KDN 范式的潜在应用以及基于 ML 的 KP 可能为常见网络问题带来的好处。对于两个有代表性的用例,我们还提供了早期的实验结果,显示了所提出范式的技术可行性。本文中使用的所有数据集都可以在 [20] 中找到。

A. 覆盖网络中的路由

这个用例的主要目的是表明可以使用 ML 技术对网络的行为进行建模。特别是,我们在覆盖网络的背景下提出了一个简单的概念验证示例,其中人工神经网络(ANN)用于构建(隐藏)底层网络的延迟模型,以后可以使用改善覆盖网络中的路由。

覆盖网络已成为部署的常见解决方案,其中一个网络(覆盖)必须在另一个(底层)之上实例化。当物理分布式系统需要在依赖传输网络的同时作为一个整体运行时,可能会出现这种情况,例如,具有通过 Internet 连接它们的地理分布式分支机构的公司。另一种情况是当一个网络必须通过另一个无法互操作的网络发送流量时,例如,当尝试通过仅 IP 网络发送以太网帧时。

在这种情况下,可以通过在传输网络的边缘部署覆盖启用节点,然后使用封装协议(例如 LISP (RFC 6830)、VXLAN (RFC 7348) 等)对覆盖流量进行隧道化来实例化覆盖网络。在许多覆盖部署中,底层网络属于不同的管理域,因此其详细信息(例如拓扑、配置)对覆盖网络管理员是隐藏的(见图 3)。

图3.具有隐藏底层的覆盖网络.PNG

通常,覆盖边缘节点通过多个链接连接到底层网络。即使边缘节点无法控制底层路由,它们也可以在它们用来连接它的不同链路之间分配流量。边缘节点可以使用覆盖控制平面协议(例如 LISP)[11] 来协调跨链路的流量平衡策略。然而,一个常见的问题是如何找到最佳/最优的每个链接策略,以便优化全局性能。边缘节点链路的有效使用至关重要,因为这是覆盖运营商在一定程度上可以控制底层网络上的流量路径的唯一方式。

覆盖运营商可以依靠建立一个底层网络的模型来优化性能。然而,建立这样的模型带来了两个主要挑战。首先,底层网络的拓扑结构和配置(如路由策略)都不为人所知,因此很难确定每个流量将遵循的路径。其次,数学或理论模型可能不足以对这样一个复杂的场景进行建模。

ML 技术允许通过分析系统中输入和输出的相关性来对隐藏系统进行建模。换句话说,ML 技术可以通过观察输出流量对于给定输入流量的行为(即,f(路由策略,流量)= 性能)来对隐藏的底层网络进行建模。例如,如果两个边缘节点链路在隐藏的底层网络中共享一个中转节点,ML 技术可以了解到当这两条链路同时使用时性能会降低,因此建议避免同时使用这两条链路的流量平衡策略同时。

1)实验结果:为了评估这种方法的有效性,我们进行了以下简单的实验。我们模拟了一个包含 12 个覆盖节点、19 个底层元素和总共 72 个链接的网络。从 KP 的角度来看,只有发送和接收流量的覆盖节点是可见的,而底层网络是隐藏的。该网络使用 Omnet++4 进行模拟,具有以下特点:覆盖节点独立于目的节点随机拆分流量,底层网络使用具有恒定链路容量、恒定传播延迟和泊松流量生成的最短路径路由。

我们使用Pylearn2-Theano 0.7训练一个ANN。该ANN有一个隐藏层,激活函数是sigmoid,它使用以下输入特征进行训练:成对的覆盖节点之间的流量和发送到每个链接的流量比例。仿真中获得的路径间的平均延迟被用作输出特征。请注意,ANN不能获得任何关于底层的信息。我们用9600个训练样本来训练网络,我们用300个独立的样本来验证结果。

通过这个用例,我们旨在学习将流量和覆盖网络的路由配置与每个路径的平均延迟联系起来的函数。结果显示,该模型的准确性相当高,在使用3000个训练样本时,相对误差大约为1%。这个误差被计算为所有路径在测试集的300个样本中的延迟的平均相对误差。图4显示了准确性(平均平方误差)与训练数据集大小的关系。该图显示了ML中常见的典型的指数延迟。

图4. MSE(均方误差)随训练集大小的变化.PNG

B. NFV 场景下的资源管理

这个用例说明了KDN范式在网络功能虚拟化(NFV)的背景下也是有用的。NFV[12]是一种网络范式,网络功能(如防火墙、负载均衡器等)不再需要特定的硬件设备,而是以虚拟网络功能(VNFs)的形式实现,在通用硬件之上运行。

NFV 场景中的资源管理是一个复杂的问题,因为 VNF 的放置可能对整体系统性能产生重要影响。最佳虚拟机 (VM) 放置问题已在数据中心 (DC) 场景中得到广泛研究(参见 [13] 和其中的参考资料),其中网络拓扑大多是静态的。然而,在 NFV 场景中,VNF 的放置会改变虚拟化网络的性能。这增加了在 NFV 部署中优化 VNF 放置的复杂性。

与覆盖情况相反,在 VNF 放置问题中,所有信息都是可用的,例如虚拟网络拓扑、CPU/内存使用、能源消耗、VNF 实施、流量特征、当前配置等。然而,在这种情况下,挑战不是缺乏信息,而是其复杂性。 VNF 的行为取决于许多不同的因素,因此开发准确的模型具有挑战性。

KDN 范式可以解决 NFV 资源分配问题带来的许多挑战。例如,KP 可以通过 ML 技术将 VNF 的行为表征为收集的分析的函数,例如 VNF 处理的流量或控制器推送的配置。使用此模型,VNF 的资源需求可以由 KP 建模,而无需修改网络。这有助于优化此 VNF 的放置,从而优化整个网络的性能。

  1. 实验结果:为了验证这个用例,我们模拟了真实世界 VNF 在真实流量下运行时的 CPU 消耗。我们选择了两个不同的网络部分,一个 Open Virtual Switch (OVS v2.0.25) 和 Snort (v2.9.6.06)。我们使用两组不同的规则和控制器配置测试了 OVS:作为支持 SDN 的防火墙和支持 SDN 的交换机。在这两种情况下,我们的目标都是具有代表性的实际部署配置。

为了测量这两个 VNF 的 CPU 消耗,我们将它们部署在虚拟机中(Ubuntu 14.04.1 在 VMware ESXi v5.5 之上运行)。 VNF 虚拟连接(使用千兆链路)到两个生成和接收流量的 VM。本实验中使用的流量是使用来自校园 DPI 基础设施的 tcpreplay(版本 3.4.4)重放的。园区网络为大约 3 万用户提供服务。有关流量跟踪的详细信息可以在 [14] 中找到。为了表示流量,我们在 20 秒的批次中离线提取了一组 86 个流量特征:数据包数量、5 元组流的数量、平均长度、不同 IP 或端口的数量、应用层信息等。在学习过程中,我们使用带有一个隐藏层的 Matlab ANN 工具箱,其中输入是所有的交通特征,输出是测量的 CPU 消耗。在这种情况下,我们的目标是学习将流量特征与 CPU 消耗相关联的函数。

我们用 600 个用于 OVS 防火墙模型的样本和 900 个用于 Snort 和 OVS 交换机的样本来训练 ANN。为了评估模型的有效性,我们使用不同的样本作为测试集,分别有 150 个和 200 个样本。为了说明模型的复杂性和使用 ML 的必要性,我们首先呈现仅使用一个特征进行预测时的结果。图 5 表明该模型是非线性的,需要一个多维模型。特别是,该图将预测的 CPU 消耗(线)和测量数据(点)绘制为用于预测的流量特征的函数。流的数量用作防火墙的预测器,而数据包的数量用于 Snort。两张图都表明,当只选择一个特征时,模型是不准确和非线性的,这激发了机器学习的使用。图 6 显示了使用所有特征训练时完整模型的相对误差的 CDF,表明该模型达到了合理的准确性。

图5.测量点和对两个不同的VNF使用两种不同特征建立的模型(只显示最相关的特征).PNG

图6.三个VNF的相对误差的累积分布函数.PNG

C. 从网络日志中提取知识

运营商通常为他们的网络配备日志基础设施,网络设备可以在其中报告事件(例如,链路断开、数据包丢失等)。运营商广泛使用此类日志来监控网络的健康状况并解决问题。日志分析是一个众所周知的研究领域(例如,参见 [15] 和其中的参考文献),并且在 KDN 范式的上下文中,它也可以用于网络。通过无监督学习技术,KDN 架构可以关联日志事件并发现新知识,网络管理员可以使用这些知识使用开环方法进行网络操作,或者可以在闭环中自动处理通过 SDN 控制器提供的 Intent 接口解决方案。下表显示了一些具体示例:

捕获7.PNG

D. 短期和长期网络规划

随着时间的推移,网络部署通常不得不面对流量负载(例如,更高的吞吐量)和服务要求(例如,更少的延迟、更少的抖动等)的增加。网络运营商必须在通常称为网络规划的过程中处理这些增量并提前准备网络。网络规划包括设计网络拓扑、选择网络硬件规格和决定在网络上分配流量的流量策略。网络规划的目标是从长远来看,网络满足网络运营商(及其订户,如果有的话)的要求,即提前计划以防止潜在的瓶颈、数据包丢失或性能下降 [16]。

网络规划技术通常依赖于由专家管理的计算机模型,这些模型估计网络容量并预测未来需求。由于此过程容易出错,因此网络规划通常会导致过度配置。 KDN 架构可以根据存储在分析平台中的历史数据开发准确的网络模型。举个简单的例子,KDN 可以学习客户端数量(或服务数量)与负载之间的关系,从而准确估计何时需要进行网络升级。

五、挑战与讨论

KDN 范式为网络带来了显着优势,但同时也带来了需要解决的重要挑战。在下文中,我们将讨论最相关的问题。

新的 ML 机制:尽管 ML 技术为计算机学习提供了灵活的工具,但它的发展部分是由现有的 ML 应用程序(例如,计算机视觉、推荐系统等)驱动的。在这种情况下,KDN 范式代表了 ML 的新应用,因此需要调整现有的 ML 机制或开发新机制。一个值得注意的例子是图,在网络中,图用于表示拓扑,这是网络性能和特征的基本部分。在这种情况下,文献中只提出了初步尝试,以创建能够对可以通过图 [17]、[18] 表示的系统拓扑进行建模的健全的 ML 算法。尽管这些提议不是针对网络拓扑量身定制的,但它们的核心思想对于计算机网络研究领域来说是令人鼓舞的。从这个意义上说,ML 技术(如 Q-learning 技术、卷积神经网络和其他深度学习技术)的结合对于在该领域进一步发展可能是必不可少的。

非确定性网络:通常网络使用确定性协议运行。此外,网络中使用的常见分析模型具有估计精度,并且基于易于理解的假设。相比之下,由技术产生的模型不提供这样的保证,并且很难被人类理解。这也意味着在使用模型时手动验证通常是不切实际的。然而,当训练集具有足够的代表性时,ML 模型运行良好。那么,什么是网络中具有代表性的训练集?这是一个需要解决的重要研究问题。基本上,我们需要深入了解 ML 模型的准确性、网络的特征和训练集的大小之间的关系。在这种情况下,这可能具有挑战性,因为 KP 在其正常运行期间可能无法观察到所有可能的网络条件和配置。因此,在某些用例中,可能需要在各种代表性配置下测试网络的训练阶段。在这种情况下,有必要分析此类负载和配置的特征,以解决以下问题:网络中发生的正常流量可变性是否会产生具有代表性的训练集? ML 是否需要在一组可能使其无法使用的配置下测试网络?

新技能和思维方式:网络始于以硬件为中心的工程领域,先驱者在此设计和制造硬件路由器和交换机。从那时起,一套新的软件工程技能变得越来越重要。在撰写本文时,网络设备已经包含了复杂的软件。随着SDN范式的兴起,软件开发在网络中变得更加重要。这对网络工程师和研究人员所需的专业知识产生了重要转变。 KDN 范式进一步加剧了这个问题,因为它需要一套新的技能:机器学习技术,一般来说,还需要人工智能工具的知识。这代表了在工业界和学术界工作的人们的思维方式发生了重大变化。

标准化数据集:在许多情况下,机器学习技术的进步在很大程度上取决于标准化数据集的可用性。此类数据集用于研究、开发和基准测试新的 AI 算法。一些研究人员认为,培养高质量的训练数据集比新算法更重要,因为关注数据集而不是算法可能是一种更直接的方法。数据集的发布已经是几种流行的 ML 应用程序中的一种常见做法,例如图像识别 [19]。在本文中,我们主张我们需要在计算机网络 AI 领域采取类似的举措,如果来自实验网络的公共训练集被发布并用于研究和开发。本文中使用的所有数据集都是公开的,可以在 [20] 中找到。

六、结论

在本文中,我们介绍了知识定义网络 (KDN) 的概念,这是一种结合软件定义网络、网络分析和机器学习以最终提供自动化网络控制的新范式。我们还提供了一组用例和初步实验证据,说明了所提出范式的可行性和优势。最后,我们讨论了在完全实现本文中分享的愿景之前需要解决的一些重要挑战。我们主张解决这些挑战需要人工智能、网络科学和计算机网络研究领域之间真正的跨学科努力。

参考文献

[1]. Clark, D., et al. ”A knowledge plane for the internet,” Proceedings of the 2003 conference on Applications, technologies, architectures, and protocols for computer communications. ACM, 2003.

[2]. Kreutz, D., et al. ”Software-defined networking: A comprehensive survey.” Proceedings of the IEEE vol. 103.1, pp. 14-76, 2015.

[3]. Kim, C. Sivaraman, A., et al. ”In-band Network Telemetry via Programmable Dataplanes.” Industrial demo, ACM SIGCOMM, 2015

[4]. Clemm, A., et al. ”DNA: An SDN framework for distributed network analytics,” Integrated Network Management (IM), IFIP/IEEE International Symposium on. IEEE, 2015

[5]. Rios, L.M., and Sahinidis, N. V., ”Derivative-free optimization: a review of algorithms and comparison of software implementations,” Journal of Global Optimization, vol.54, pp. 1247-1293, 2013

[6]. Narendra, K. S., and Kannan P.. ”Identification and control of dynamical systems using neural networks.” Neural Networks, IEEE Transactions on ,vol.1, pp. 4-27, 1990

[7]. Derbel, H., Agoulmine, N., and Salan, M. ”ANEMA: Autonomic network management architecture to support self-configuration and self-optimization in IP networks,” Computer Networks vol. 53.3, pp. 418-430, 2009

[8]. Zorzi, M., et at. ”COBANETS: A new paradigm for cognitive communications systems”, International Conference on Computing, Networking and Communications (ICNC), pp. 1-7, 2016

[9]. Foster, N., et al., ”Languages for software-defined networks,” IEEE Communications Magazine, vol. 51, no. 2, pp. 128-134, 2013

[10]. Kim, H., and Feamster, N., ”Improving network management with software defined networking,” IEEE Communications Magazine, vol.51, no. 2, pp. 114-119, 2013

[11]. Rodriguez-Natal A., et at. ”LISP: a southbound SDN protocol?,” IEEE Communications Magazine, vol. 53, no. 7, pp. 201-207, 2015

[12]. Han, B., et al. ”Network function virtualization: Challenges and opportunities for innovations.” Communications Magazine, IEEE, vol. 53.2, pp. 90-97, 2015

[13]. Meng, X., Pappas, V., and Zhang, L. ”Improving the scalability of data center networks with traffic-aware virtual machine placement.” INFOCOM, 2010 Proceedings IEEE. 2010

[14]. Barlet-Ros, P., et at. ”Predictive resource management of multiple monitoring applications.” Transactions on Networking, IEEE/ACM, vol.19(3). June 2011

[15]. Oliner, A., et at. ”Advances and challenges in log analysis.” Communications of the ACM, vol. 55.2, pp. 55-61, 2012

[16]. Meddeb, A., ”Internet QoS: Pieces of the puzzle,” Communications Magazine, IEEE , vol.48(1), pp.86-94, January 2010

[17]. Bruna, J., Zaremba, W., Szlam, A., and Lecun, Y. (2013). Spectral networks and locally connected networks on graphs. arXiv preprint arXiv:1312.6203. Chicago

[18]. Duvenaud, David K., et al. ”Convolutional Networks on Graphs for Learning Molecular Fingerprints.” Advances in Neural Information Processing Systems. 2015

[19]. Imagenet database, www.image-net.org/

[20]. KDN database, knowledgedefinednetworking.org/

[21]. Mnih, V., Kavukcuoglu, K., Silver, D., Rusu, A.A., Veness, J., Bellemare, M.G., Graves, A., Riedmiller, M., Fidjeland, A.K., Ostrovski, G. and Petersen, S., 2015. Human-level control through deep reinforcement learning. Nature, 518(7540), pp.529-533. Vancouve

[22]. Silver, D., Huang, A., Maddison, C.J., Guez, A., Sifre, L., Van Den Driessche, G., Schrittwieser, J., Antonoglou, I., Panneershelvam, V., Lanctot, M. and Dieleman, S., 2016. Mastering the game of Go with deep neural networks and tree search. Nature, 529(7587), pp.484-489. Vancouve