@EggGump
2019-03-27T09:17:47.000000Z
字数 6782
阅读 748
sdn
survey
RL涉及代理,状态空间S和动作空间A。代理是一个学习实体,它与其环境相互作用以学习最大化其长期奖励的最佳动作。长期奖励是累积折扣奖励,与即时奖励和未来奖励相关。当将RL应用于SDN时,控制器通常用作代理,网络是环境。控制器监视网络状态并学习决定控制数据转发。代理的目的是学习最优行为策略π,它是从状态空间S到动作空间A(π:S→A)的直接映射,以最大化预期的长期奖励。根据行为策略π,代理可以确定给定特定状态的最佳对应动作。在RL中,值函数用于计算给定状态的动作的长期奖励。最着名的价值函数是Qfunction,Q学习用它来学习存储所有状态 - 动作对及其长期奖励的表格。
深度强化学习(DRL):RL的主要优点是它在没有先验知识的环境精确数学模型的情况下运行良好。然而,传统的RL方法存在一些缺点,如对最优行为策略π的收敛率低,无法解决高维状态空间和动作空间问题。DRL的关键思想是利用深度神经网络的强大函数逼近性来近似值函数。在训练深度神经网络之后,给定状态 - 动作对作为输入,DRL能够估计长期奖励。估计结果可以指导代理选择最佳动作。
大象流量分类:识别elephant flows 和mice flows
大象流是寿命长、占用大量带宽的流量;小鼠流是短暂的、不容忍延迟的流量。但大多数字节都是在大象流中传输的。为了有效地控制数据中心的流量,有必要识别大象流量
应用咸知流量分类:识别应用流量
大象流感知流量分类通常应用于数据中心。数据中心的一个主要目标是快速安排流量。细粒度流量分类方法(即,应用感知和QoS感知流量分类)可能会增加流量处理延迟,因此它们不适合数据中心。
应用程序感知流量分类通常应用于细粒度网络管理。但是,随着Internet上应用程序的指数增长,识别所有应用程序是不切实际的。现有研究通常识别最流行的应用程序。(如识别广泛使用的八种应用、Google Play上的前40个应用程序等)。
网络运营商可以使用QoS感知流量分类来根据其期望的QoS对网络资源分配进行优化。
[163]采用神经网络模型估计给定流量负载的网络延迟和覆盖路由策略,实验结果表明基于神经网络的估计器在延迟估计的精度方面比传统的M/ M/1模型具有更好的性能。
[164]在SDN中提出了一种两阶段分析机制来改进QoS预测。首先,决策树用于发现KPI和QoS参数之间的相关性。然后,应用线性回归ML算法(即M5Rules)来执行根本原因分析并发现每个KPI的定量影响。
[165]使用两种学习方法(随机森林和回归树)估计Videoon-Demand(VoD)应用的两个QoS度量(帧速率和响应时间),应用感知QoS估计精度超过90%。由于随机森林是一种考虑许多决策树结果的集合方法,随机森林的预测精度高于回归树。然而,回归树的复杂性低于随机森林。
QoE预测:QoE是量化服务的用户满意度的主观度量。
广泛使用的QoE指标是平均意见得分(MOS)。MOS将QoE值分为五个等级,包括优秀,良好,公平,差和坏。由于QoE值严重依赖于网络QoS参数(如丢失率,延迟,抖动和吞吐量),为了实时获得QoE值,理解QoS参数如何影响QoE值是非常重要的。
机器学习是学习QoS参数和QoE值之间关系的有效方法。由于QoE值通常是离散数据,因此可以将QoE预测问题视为分类任务。因此,进行QoE预测的最佳方式是监督学习。
[167]的作者使用四种ML算法(即DT,神经网络,k-NN和随机森林)来预测基于视频质量参数(SSIM和VQM)的QoE值。
小结
QoS预测旨在发现KPI与QoS参数之间的定量相关性,而QoE预测旨在发现QoS参数与QoE值之间的定量相关性。在SDN中,控制器可以使用预测结果灵活地配置数据平面中的设备以提高QoS / QoE。
QoS预测通常被视为回归任务,而QoE预测被视为分类任务。因此,监督学习技术可用于QoS / QoE预测。
根据识别网络攻击的方式,IDS可以分为两种:基于签名的IDS和基于异常的IDS。
在基于签名的IDS中,需要事先创建已知攻击的签名。当流量到达时,基于签名的IDS将这些流量与已知签名进行比较,以识别可能的恶意活动。基于签名的IDS通常具有高准确度。但是存在问题:a.新攻击的增长使签名更新变得困难。b.基于签名的IDS会导致高时间消耗,因为需要比较所有签名。
基于异常的IDS是一种统计方法,它使用与合法用户行为相关的收集数据来创建模型。当流量到达时,将其与模型进行对比,与模型有明显偏差的行为将被标记为异常。它可以检测新类型的攻击。
基于签名的IDS是基于有效载荷的流量识别的类型,其需要检查分组的整个有效载荷,而基于流量的IDS是基于流-粒度信息(如分组报头信息)的基于流的流量识别的类型。
粗粒度入侵检测: 粗粒度入侵检测旨在将流量分类为正常和异常类。
[200]提出了一种威胁感知系统,用于对SDN中的网络入侵进行检测和响应,其中应用了决策树和随机森林算法来检测恶意活动。在选择特征集时用到了前向特征选择策略。
[201]应用HMM来预测恶意活动并增强网络安全性。HMM使用五个选定的流特征(即,分组的长度,源端口,目的地端口,源IP地址和目的地IP地址)来确定一组分组的恶意性。
[202]提出了一个名为ATLANTIC的框架,用于在SDN中联合执行异常流量检测,分类和缓解。分为两个阶段:轻量级阶段使用信息理论来计算流表熵的偏差。重量级阶段利用SVM算法对异常流量进行分类。
[204]利用四种ML算法(即决策树,BayesNet,决策表和朴素贝叶斯)来预测潜在的恶意连接和易受攻击的主机。 SDN控制器使用预测结果来定义安全规则,以便保护潜在的易受攻击的主机,并通过阻止整个子网来限制潜在攻击者的访问。结果表明,BayesNet具有比其他三种算法更好的性能,BayesNet实现的平均预测精度为91.68%。
[205]通过将流量分类为正常类和异常类,在SDN中使用深度神经网络模型来检测入侵活动。基于NSL-KDD数据集训练具有输入层、三个隐藏层和输出层的深度神经网络模型。实验结果表明,深度神经网络模型在异常检测中具有良好的性能,仅使用6个基本流特征时,平均检测精度为75.75%。
细粒度入侵检测: 细粒度入侵检测旨在对网络流量进行细粒度分类,并识别不同类型的攻击。
[208]提出了一种改进的基于行为的SVM来对网络攻击进行分类。为了提高入侵检测的准确性并加快正常和侵入模式的学习,决策树被用作特征缩减方法,以超越原始特征并选择最合格的特征。这些选定的特征是用于训练SVM分类器的输入数据。
[209]提出了一种基于深度学习的入侵检测方法NDAE。为了在保持高检测精度的同时加速入侵检测,NDAE结合了深度学习方法和随机森林,其中深度学习方法应用于特征减少,随机森林用于流量分类和入侵检测。
DDoS攻击检测: DDoS攻击是SDN中网络安全的主要威胁。 DDoS攻击的目标是通过使用许多木偶机器同时发送大量虚假请求来耗尽系统资源,以便不处理合法用户的请求。在SDN中,DDoS攻击可以耗尽数据平面和控制平面中的网络,存储和计算资源,这将使SDN网络不可用。
[210]应用自组织映射SOM根据收集的流量特征执行DDoS攻击检测。
[211]提出的IDS包含两个模块:签名IDS和高级IDS。签名IDS模块利用不同的ML算法,例如k-NN,Naive Bayes,k-means和k-medoids,将流量流分类为正常和异常,并找到一组具有异常行为的主机。然后,高级IDS模块将检查具有异常行为的这些主机发送的数据包,以检测主机是否异常或授权用户。这样,高级IDS模块的处理时间减少了,因为只需要分析具有异常行为的主机。
[98]应用深度学习模型检测SDN中的DDoS攻击,其中包括循环神经网络以及卷积神经网络。在收集和分析网络流量特征信息后,深度学习模型用于特征减少和DDoS攻击检测。
-[212]从收集的网络流量中提取68个流特征,包括来自TCP流的34个特征,来自UDP流的20个特征,以及来自ICMP流的14个特征。然后使用深度学习模型来进行特征减少和DDoS攻击检测。
其他
[213]提出了两个应用程序故障的概念验证示例,应用ML方法检测应用程序故障。检测结果可以指导SDN控制器实时采取适当的网络响应。
[214]专注于软件定义的防火墙,提出一个框架来快速匹配流程并有效地捕获用户行为。使用隐马尔科夫模型HMM捕获用户行为的状态信息,并识别网络连接是否合法。如果发现非法连接,防火墙可以及时阻止该连接的访问。然后,利用这些信息以及相应的分组字段来训练神经网络模型。经过训练的模型能够快速匹配流,而不是将数据包流与每个防火墙过滤规则进行比较。
小结
细粒度入侵检测通常用于细粒度网络管理。通过识别不同类型的攻击,SDN控制器可以针对每种类型的网络攻击做出适当的反应。但是,与粗粒度入侵检测相比,细粒度入侵检测需要更复杂的标记训练数据集。
KDD99和NSL-KDD是IDS研究的两个广泛使用的数据集。NSL-KDD是KDD99数据集的修改版本,解决了KDD99数据集的许多固有问题。因此,当研究人员想要模拟基于ML的入侵检测方法的性能时,最好使用NSL-KDD数据集。
为了增强网络安全性,需要实时入侵检测。减少特征是优化系统性能和加速攻击检测的有效方法。特征选择和特征提取是两种最常用的减少流特征的方法。
大多数相关工作根据研究人员的经验选择流特征。决策树是另一种通过分析原始特征和选择最合格的特征来选择特征的方法。深度学习是一种广泛使用的特征提取方法,因为它具有强大的特征表示能力。
入侵检测问题可视为分类任务,因此通常应用监督学习算法来检测异常活动。
[200]指出随机森林的性能优于决策树。在[204]中比较和评估了四种机器学习算法(即决策树,BayesNet,决策表和朴素贝叶斯)的性能。结果表明,BayesNet具有比其他三种算法更好的性能。[211]中的实验表明,Baysian算法比k-NN具有更好的性能。[205]将深度学习算法与其他三种ML算法(即贝叶斯理论,SVM和决策树)进行比较。实验结果表明,深度学习算法具有较高的入侵检测精度。然而,深度学习算法的复杂性也更高。
[98]中的实验表明,增加训练数据集的量虽然显着提高了深度学习模型的性能,但也增加了训练时间和复杂性。因此,在检测性能和模型复杂性之间需要权衡。