基于动态混合超时的软件定义网络多目标优化

2022-01-05 02:32马晓航廖灵霞赵涵捷
计算机应用 2021年12期
关键词:数据流数据包交换机

马晓航,廖灵霞,李 智,2,秦 斌,赵涵捷

(1.桂林电子科技大学电子工程与自动化学院,广西桂林 541004;2.桂林航天工业学院电子信息和自动化学院,广西桂林 541004;3.台湾东华大学电机工程系,台湾花莲 974301;4.桂林航天工业学院信息中心,广西桂林 541004)

(∗通信作者电子邮箱liaolx@guat.edu.cn)

0 引言

近年来,互联网技术的快速发展导致用户数量激增,网络环境日益复杂,合理地利用网络资源成为保证网络性能的关键;但传统的网络结构将控制功能和转发功能紧密耦合,缺乏统一的标准构建全局网络视图,导致网络性能的管理和资源的优化困难。软件定义网络(Software Defined Network,SDN)的出现为解决这一问题提供了新的思路[1]。

SDN 是斯坦福大学Cleanslate 研究组提出的一种新型网络结构[2]。如图1所示,SDN由应用层、控制层和数据层组成,实现了控制与转发功能的分离。控制层通过南向接口(OpenFlow 协议[3])构建的控制通道与数据层交互,为数据层的OpenFlow 交换机创建和更新转发规则(流表项)。SDN 通过控制层的控制器实现了全网视图的维护和资源调度[4]。

图1 SDN架构Fig.1 SDN architecture

SDN 交换机本身没有控制功能,当新数据流到达交换机时,交换机没有转发规则指导该流的转发,所以,交换机会将该流的数据包封装成Packet-in指令通过控制通道转发到控制器,由控制器创建流表项并封装成Packet-out 下发到交换机;交换机再根据下发的流表项完成转发,并将流表项保存到流表中指导该流后续包的转发。

SDN 流表项的创建特点决定了流表项的配置和管理是SDN性能和资源管理优化的关键。流表项的超时时间决定了流表资源的利用率和网络的转发延时。由于存储SDN 流表的三元内容可寻址存储器(Ternary Content-Addressable Memories,TCAM)耗电量大、价格昂贵,SDN 交换机的TCAM容量有限。为了提高TCAM 的利用率,SDN 流表项在流表中设置有生存时间,称为超时时间。OpenFlow 协议定义了两种流表项超时方式:硬超时(hard-timeout)和空闲超时(idletimeout),并通过控制器对超时进行配置。给定一个超时时间,硬超时和空闲超时分别比较流表项在流表的存在时间和空闲时间,当超过设定值时,流表项失效[5-6]。较短的超时时间能及时删除不用的流表项,减小交换机内存的消耗,但会使控制器和交换机频繁交互,消耗大量控制带宽,增大网络的转发延时,降低网络的整体性能;较长的超时时间减少了控制器和交换机的交互,降低了数据包的转发延时,但可能导致完成转发使命的流表项滞留,占用交换机的内存,甚至导致流表溢出。提升流表容量能在一定程度上缓解此问题,但交换机内存价格昂贵,提升空间有限[7],因此,优化超时时间对SDN 性能和资源优化有着重要意义。

当前SDN 控制器一般将流表项设置为固定的空闲超时,很容易造成资源的浪费,甚至影响网络性能,改进方法是对超时时间进行动态调节。调节方法大致可分为两类:一类是基于预测算法的动态调节;另一类基于网络实时信息的动态调节。

文献[8]通过AR 算法预测每条流数据包的到达时间;文献[9]通过二次移动平均算法预测下个周期增加的流表项数目;文献[10]采用指数平滑法预测下一周期中可能新增的流表项数量。上述方法通过统计分析采样周期内的数据,预测下一周期可能出现的状况,及时调节流表项的超时时间,预留足够的流表空间,减少交换机和控制器之间的交互,降低了控制通道负载。文献[11]通过收集数据流的信息对数据流进行分类,对不同的类型的数据流分配不同的超时时间;文献[12]提出一种IHTA 超时算法,该算法基于数据包的到达时间,为不同的数据流设置不同超时时间;文献[13]引入资源偏好度,根据当前网络资源的占用率安排超时时间;文献[14]通过获取流表项匹配次数和生存时间动态调节超时时间。上述方法主要通过对网络资源使用的监测,实现对超时时间的调节,虽然对SDN 性能在一定程度上进行了优化,但是预测算法大多比较复杂,实现难度较高,而基于网络实时信息的动态调节则需要对网络的实时监控,加大了控制器开销。并且,上述研究只考虑了流表资源和控制通道带宽占用率的优化,未引入其它影响SDN性能的关键指标,如大象流的侦测精度。

大象流是数据中心中只占数据流量总数10%却消耗90%带宽的数据流,其余的流称为老鼠流。当多个大象流共享相同的链路时,会造成网络拥堵[15]。及时侦测大象流,为大象流分配合理的路径,能避免拥塞、降低网络能耗[16]。大象流的侦测精度是SDN性能的重要指标之一[17-18]。

当前的研究通常采用基于数据流统计的侦测方案。文献[19]通过控制器轮询保存在交换机流表项的数据流统计信息,当某条数据流统计的数据量超过设定阈值时,将该数据流判定为大象流;但由于统计信息数据量大,将统计信息从交换机传输到控制器消耗大量的控制通道带宽。文献[20]中基于改进的OpenFlow 协议提出DevoFlow 模型,通过监视交换机的数据侦测大象流;但该方法需要特定的硬件设备支持,难以普及,且频繁的交换机与控制器交互占用大量的控制通道带宽。文献[21]使用LightGBM 算法识别大象流,引入了聚焦损失函数,并使用多个门限将流划分多个类别;但统计数据精度要求高,可能增加交换机和控制器额外通信。

本文考虑通过交换机转发到控制器的数据包识别大象流,提出一种动态混合超时的SDN 三目标联立优化方案,创新性地采用超时方式和超时时间的双维度动态调节,实现对大象流侦测精度、流表项存活数和控制通道带宽占用率三目标优化,综合提升SDN性能。本文的主要工作如下:

1)针对大象流侦测精度、流表项存活数和控制通道带宽占用率三个优化目标建立了优化模型,使用NSGA-Ⅱ算法求解Pareto前沿(Pareto Frontiers)。

2)设计了两种超时时间的动态调节方法,对比静态超时并分析性能,在此基础上结合硬超时和空闲超时的特点,提出了混合超时。

3)评估了混合超时下静态和两种动态调节的敏感性,使用贝叶斯多目标优化算法和补充特定点的方法提高Pareto Frontiers 的质量,目前贝叶斯多目标优化求解尚未被用于求解SDN性能优化问题。

1 优化问题建模

本文考虑一个带内的SDN 系统,通过动态调节流表项的超时方式和超时时间大小对大象流的侦测精度、控制通道带宽的占用率和交换机内存消耗进行三目标联立优化。考虑带内SDN 系统是因为带内系统的控制信息和业务信息共享相同的链路,控制通道的带宽消耗增大会降低数据传输的可用带宽,引发网络拥堵。表1为本文优化模型所使用的参数。

表1 优化模型参数描述Tab.1 Optimization model parameter description

1.1 大象流侦测精度

大象流侦测精度可由精确率Acc(Accuracy)和召回率Rec(Recall)表示。精确率是正确侦测的大象流数占侦测为大象流数的比例,召回率是正确侦测大象流数占实际大象流数的比例。由于大象流是造成网络拥堵的主要原因,识别出更多的大象流至关重要,即召回率优先于精确率。本文将大象流侦测遗漏R作为大象流侦测精度衡量指标,则:

其中:FN是标记为大象流而预测为老鼠流的流数,可表示为,即给定一个数据流fi,当其为大象流(标记flagfi=1)但侦测结果G(Pi)=0 时,r的值为1,否则为0。Pi为数据流fi转发到控制器的数据量,包括第一个数据包(数据流的第一个数据包必须被转发)和后续被转发到控制器的数据包大小,可表示为式(2)。

其中:lij表示数据流fi的第j个数据包的大小;aij表示该第j个数据包是否被转发,可表示为式(3)。

其中:ti_update表示数据流fi的流表项更新时间,受超时方式的影响,当超时方式为硬超时时,ti_update的值为tik,数据流上一个被转发到控制器的包的时间戳;超时方式为空闲超时时,ti_update的值为ti(j-1)。ti(j-1)_effective表示包pij到达交换机时,数据流fi流表项的超时时间,流表项超时时间在数据包pij通过之后更新。由于转发的数据包需要使用OpenFlow 协议进行封装,实际计算中,lij大小要额外增加32 B(Packet-in 消息指定)。周期内所通过的数据总量为P,是数据流fi所转发的数据量Pi之和。

本文采用桂林航天工业学院数据中心实时抓捕的流量数据为数据集,总时长约345 s,包含571 009条数据流,7 974 581个数据包。其中,数据总量超过10 KB 持续时间超过1 s 的数据流标记为大象流[22]。通过分析,该数据集约8.51%的大象流数据包数小于10,97.02%的老鼠流数据包数小于10,85.03%的老鼠流数据包数小于5。因此本文通过多次测试,将大象流的侦测模型确定为转发数据量超过2 KB,转发的包数超过5 个的数据流。该模型在超时时间为0.2 s 时对大象流侦测硬超时有约85%的精确率和90%的召回率,空闲超时有约78%的精确率和80%的召回率。由此可见,当使用转发到控制器的数据包侦测大象流时,流表项的超时方式和超时大小对大象流的侦测的精确率和召回率影响很大。

1.2 制通道带宽占用率

控制通道带宽占用率bu是控制通道传输链路上实际消耗的带宽与总带宽之比。让bwt表示单位时间控制通道通过的数据量均值,bc为控制通道最大带宽设为125 MB,则:

1.3 交换机的内存消耗

由于流表内存所使用的TCAM 资源昂贵,减少流表项的存活数可以降低TCAM 的消耗。流表项溢出问题对网络性能影响极大,因此本文将侦测周期内流表项的最大存活数作为交换机内存消耗的衡量指标。给定大象流侦测周期为T,T内流表项的存活数目为E,参数Ei为数据流fi的流表项在t时刻存活情况,0 表示流表项已超时,1 表示流表项有效,则流表项的存活数为∑fi∈FEi,而Ei有:

1.4 多目标优化模型

综上所述,本优化问题可模型化为:

即通过调节流表项超时时间tij_effective,最小化大象流侦测遗漏、控制通道带宽消耗和交换机内存消耗,提高带内SDN 系统的综合性能。通过式(1)、(3)可得,超时时间tij_effective越小,目标R越小;通过式(3)、(4)可得,超时时间tij_effective越大,目标bu越小;通过式(5)可得,超时时间tij_effective越小,目标E越小。因此,三个优化目标之间相互冲突。

本文通过统计捕获数据流信息得到,52 089 条大象流和452 140 条老鼠流的数据包平均时间间隔在0~10 s,分别占大象流总数的91%和老鼠流总数的88%,因此本文将超时时间的数值限制在(0,10),并采用NSGA-Ⅱ算法求解该优化问题的近似Pareto Frontiers。

2 优化问题求解

2.1 多目标优化算法求解

当超时时间在0~10 s 内以极小的步长变化时,优化问题的解空间非常大,遍历算法耗时长,因此,本文采用NSGA-Ⅱ算法对优化问题进行近似求解。NSGA-Ⅱ使用带精英策略遗传,拥有复杂性低、运行速度快等优点[23]。

使用NSGA-Ⅱ算法求解主要包括以下几个步骤:首先确定种群规模并随机产生初始父群;然后对初代父群的个体按非支配关系排序,再通过选择、交叉、变异等遗传算子,生成子代种群,混合父群和子群生成新的种群,对种群中个体按非支配关系排序,并按个体支配数分级;最后根据分级排序结果顺序选择,生成新一代父群;重复上述操作直到达到最大迭代次数[24-25]。

本文将超时时间作为染色体,每一个染色体即为一个种群个体,设置初值种群规模为30,即NSGA-Ⅱ在约束范围内随机生成30个超时时间,如0.942 198 s等。本文让交叉算子以随机方式选择均值或均差方式生成新染色体,再以随机方式赋予某个个体新的数值的方式产生变异。NSGA-Ⅱ在每次迭代中将超时时间以染色体的形式输入,计算在给定超时时间下优化目标的目标值,并在目标空间坐标系中用点表示。NSGA-Ⅱ对目标空间的多点进行拥挤度计算后完成非支配排序,最后生成Pareto Frontiers[26],流程如图2所示。

图2 NSGA-Ⅱ求解优化问题的流程Fig.2 NSGA-Ⅱflowchart to solve optimization problem

NSGA-Ⅱ算法在求解优化目标的Pareto Frontiers 有很大的随机性,可能导致对解空间的探索不够,生成的Pareto Frontiers 质量较差,部分Pareto Frontiers 较短。虽然该问题能通过增加种群规模和迭代次数改善,但这种改善非常有限,且需要耗费大量时间。针对此问题,本文通过求解特定超时时间和采用贝叶斯多目标优化算法的方法对Pareto Frontiers 进行完善。本文使用文献[27]中的贝叶斯多目标优化的最新程序。贝叶斯多目标优化算法基于目标函数建模的思想,通过贝叶斯网络概率模型反映可行解的分布。与NSGA-Ⅱ算法相比,贝叶斯优化算法能更快更好地逼近Pareto Frontiers[28]。

求解过程中,流表项有静态和动态两种调节方式:静态调节是指流表项的超时时间大小设定后不再变化,即在流的持续时间内不对超时时间大小做调整;动态调节则是超时时间的大小会在流持续时间的不同阶段动态调整。

2.2 流表项静态调节

静态调节是当前运用最广泛的超时时间设置方式,该方式通过控制器为交换机的所有流表项配置统一的超时方式和时间,配置完成后不作调整。这种调节方式简单,但是缺乏灵活性,不能合理地配置资源。本文通过NSGA-Ⅱ算法,得到静态调节下两种超时方式的Pareto Frontiers,如图3。

图3(a)显示了采用硬超时和空闲超时对大象流侦测遗漏和带宽占用率的Pareto Frontiers。尽管两个Pareto Frontiers 交叉在一起也可以看到硬超时在局部更靠近原点,所以硬超时方式会优于空闲超时方式。图3(b)中空闲超时方式生成的Pareto Frontiers 比硬超时方式生成的靠近原点,说明在降低流表项存活数和控制通道带宽消耗上空闲超时优于硬超时。

图3 静态调节下两种超时方式的Pareto FrontiersFig.3 Pareto Frontiers of two timeout methods under static adjustment

2.3 流表项动态调节

动态调节指在流持续时间内动态调节超时时间的大小。该策略基于大象流持续时间长、老鼠流持续时间短的基本思想,一般在数据流到达前期设置一个较短的超时时间,增加转发的控制器的数据包,提升大象流的侦测精度;在侦测出该数据流为大象流后,调整为较长超时时间,降低带宽的占用率,同时也要尽可能地减少流表项的存活数,避免流表溢出情况的发生。

对于侦测出大象流后超时时间的动态调节,本文设计了两种调节方法:方差均值(ave_sig)法和翻倍(multiple)法。

方差均值法是在侦测出该数据流为大象流前,对数据包时间戳统计,计算数据包间隔时间的均值和方差;在侦测出大象流后,将超时时间调整为均值与方差之和。用NSGA-Ⅱ求解该调节方式下优化目标的Pareto Frontiers,并与静态调节方式对比,得到图4。

图4 方差均值动态超时调节方式下硬超时与空闲超时Pareto FrontiersFig.4 Pareto Frontiers of hard-timeout and idle-timeout under ave_sig dynamic timeout adjustment method

当采用硬超时,图4(a)中的动态超时的Pareto Frontiers与静态调节交错,在优化目标侧重于大象流侦测时优于静态调节;图4(b)中动态调节的效果甚至比静态调节要更差。但采用空闲超时,图4(a)和(b)中针对两个优化目标的Pareto Frontiers 都有了明显的改善。由于均值与方差之和在正态分布图中可表示大概率发生事件,即设置的超时时间大概率大于数据流包的达到时间间隔,因此,采用空闲超时能降低流表项存活的概率,减少了控制通道带宽占用;但硬超时没有此效果,甚至还会因为时间设置不合理,既增加了控制通道带宽占用,也未能降低流表项的存活数。

翻倍法是在侦测出某条数据流为大象流后,每当数据包到达控制器,则将该数据流流表项的超时时间调节为原来的倍数,本文设置为1.2倍,得到图5。

图5 翻倍动态超时调节方式下硬超时与空闲超时的Pareto FrontiersFig.5 Pareto Frontiers of hard-timeout and idle-timeout under multiple dynamic timeout adjustment method

通过对比图5(b)中的Pareto Frontiers 可以看到,针对降低流表项存活数和控制通道带宽占用这两个优化目标,空闲超时的效果要强于硬超时;但针对大象流侦测和控制通道占用的优化上,硬超时要略强于空闲超时,如图5(a)所示。总体而言,翻倍法对三个优化目标的Pareto Frontiers都有明显的改善,其原因在于翻倍法在侦测出大象流后,对超时时间进行延长,所以能在不影响低大象流的侦测精度的前提下相对延长流表项的存活时间,减少控制通道带宽的消耗;而且因为倍数较小,对周期内的最大存活数增加较小。

本文尝试将超时时间调节更高的倍数,但提升效果不明显,在增加到2 倍后,Pareto Frontiers 基本无变化,且增加较多的有效时间会导致流表溢出,因此不建议调节过高倍数。

2.4 分析总结

对比上述静态和动态调节方式下两种超时方式的效果,空闲超时方式的优化效果总体上要强于硬超时,但静态调节和翻倍动态调节中针对大象流侦测遗漏和带宽占用率的优化中,硬超时方式的优化效果要略强于空闲超时。这是因为硬超时方式可以相对增加流表项的失效次数,增大转发到控制器的数据包,从而提高大象流的侦测精度,同时也能减少一定的交换机内存;而空闲超时方式相对延长了流表项的存活时间,降低转发次数,减少带宽使用的同时不利于大象流的侦测精度。

本文针对两种超时方式对三个优化目标产生的不同影响,结合二者的特性,提出了一种混合超时方式(mixedtimeout)。

3 流表项的动态混合超时

混合超时方式是将默认超时状态设为硬超时,增加转发到控制器的数据包,提升大象流侦测精度,减少流表项存活数。若该数据流被侦测为大象流,则调节超时方式为空闲超时,相对延长流表项存活时间,降低控制通道带宽占用率。该超时方式的超时时间调节也分为静态调节和动态调节。

通过上文对动态调节和静态的对比分析,动态调节的效果要优于静态调节,因此本文提出将动态调节与混合超时结合,对流表项的超时方式和超时时间进行双维度动态调节。在数据流前期,为硬超时设置更短的超时时间,尽可能增加流表项的超时和转发到控制器的数据包;侦测出大象流后,调整为空闲超时,并适当地延长超时时间,降低控制通道带宽和流表项的存活数。

4 动态混合超时性能评估

4.1 性能评估

沿用上述实测的数据集,采用Python 语言编写仿真程序对数据集进行回放仿真。本文将先分析静态混合超时的效果,再对比静态混合与动态混合超时,最后对比动态混合超时与另两种超时方式动态调节的效果。

图6为静态调节下三种超时方式的效果对比。图6(a)中混合超时对大象流的侦测精度和控制通道带宽占用的优化效果要明显优于其他两种方式;图6(b)中混合超时对交换机流表项存活数与控制通道带宽占用的优化优于硬超时,但基本与空闲超时相同。

图6 静态调节下三种超时方式的Pareto FrontiersFig.6 Pareto Frontiers of three timeout methods under static adjustment

图7 为静态混合超时和动态混合超时下两种超时时间调节方式的对比。通过图7 对比,采用翻倍法的动态混合超时的效果在三目标优化中都要优于静态混合超时,而采用方差均值法也仅在优化目标侧重于控制通道带宽占用率时,优化效果逊色于静态混合超时。

图7 动态混合超时与静态混合超时的Pareto FrontiersFig.7 Pareto Frontiers of dynamic mixed timeout and static mixed timeout

图8 显示了采用方差均值调节法下三种超时方式的Pareto Frontiers。图8(a)中,空闲超时的优化效果要略优于混合,但混合超时在优化目标侧重大象流侦测遗漏时有优于空闲超时的趋势;图8(b)中混合超时与空闲超时的优化效果基本相同。

图8 方差均值动态超时调节方式下三种超时方式的Pareto FrontiersFig.8 Pareto Frontiers of three timeout methods under ave_sig dynamic timeout adjustment method

图9 显示了采用翻倍调节法下三种超时方式的Pareto Frontiers。其中,混合超时在图9(a)中优于硬超时和空闲超时,在图9(b)中,混合超时的优化效果优于硬超时,与空闲超时效果几乎相同。所以,混合超时的综合优化效果要优于另外两种超时方式。

图9 翻倍动态超时调节方式下三种超时方式的Pareto FrontiersFig.9 Pareto Frontiers of three timeout methods under multiple dynamic timeout adjustment method

综上,动态混合超时通过对流表项的超时时间和超时方式进行双维度动态调节,有效提高了大象流的侦测精度,降低了控制通道带宽的占用率和交换机的内存,避免了因流表项存活数过多而出现溢出的情况。动态混合超时的双维度调节方式对优化网络性能有显著提升。

4.2 敏感性分析

本节以给定初值下不同优化目标值为基准,测试了混合超时调节方式下不同时间段的超时时间初值增加一倍时优化目标的变化率,如图10 中0.000 01 s 的变化率表示优化目标初值为0.000 01 s 和初值为0.000 02 s 的比值,分析了不同优化目标在不同阶段对超时时间初值的敏感性,结果如图10。

1)大象流侦测遗漏的敏感性:由于混合超时将数据流的初始超时设置为硬超时,当识别该流为大象流时,调节超时方式为空闲超时,并动态调节超时时间,即侦测精度只与超时时间初值有关,因此图中静态、方差均值和翻倍法的变化率完全相同。由图10 可知,当初始时间较小时,侦测遗漏的敏感性很低,变化率趋于不变,但超出0.004 s 后明显上升,并在0.1 s附近敏感性最高。

2)带宽占用率的敏感性:从图10 可知,带宽占用率的敏感性对超时时间初值变化的敏感性不高,方差均值和翻倍法的敏感性几乎相同,即使初值超过4 s,变化率也能保持在0.9左右。而静态调节的敏感性相对较高初值超过4 s,变化率达到了0.7。

图10 混合超时敏感性分析Fig.10 Mixed timeout sensitivity analysis

3)流表项存活数的敏感性:流表项的存活数受初值的变化影响较高,翻倍法和静态调节在初值超过0.004 s 时,变化率都有明显的上升,初值超过4 s 后,变化率维持在1.4 左右。方差均值法虽然在初值小于0.4 s 时的敏感性不高,但超过0.4 s 后,变化率显著增加,在初值4 s 时超过了翻倍法和静态调节。

4.3 Pareto Frontiers改进

本文通过贝叶斯多目标优化求解三目标联立优化问题的Pareto Frontiers,并将得到的解集与原解集混合,再混合特定超时时间初始值下的解,并对新的解集进行了筛选,生成了新的Pareto Frontiers。图11 显示了翻倍法下的动态混合超时的解集完善情况,图中●表示静态的混合超时,▲和◆分别表示采用方差均值法和翻倍法的动态混合超时,形状相同的空心图形分别表示贝叶斯多目标优化得到的解集,和×分别表示特定点补充的静态、方差均值法和翻倍法的图形。

图11 动态混合超时与静态混合超时的Pareto Frontiers(优化后)Fig.11 Pareto Frontiers of dynamic mixed timeout and static mixed timeout(after improvement)

混合贝叶斯和特定点后的Pareto Frontiers 更长且更靠近原点,质量得到很大的改进。进一步说明,动态混合调节方式,特别是采用翻倍法的动态混合调节法对优化目标最为有效,也验证了贝叶斯和特定点的补充对Pareto Frontiers的有非常好的改善效果。

NSGA-Ⅱ在一次迭代中的步骤包括非支配排序、拥挤度计算和排序,对应最坏情况的复杂度分别是O(MN2)、O(MNlogN)和O(NlogN),因此NSGA-Ⅱ算法的总体复杂度由非支配排序主导为O(MN2),其中:M为目标函数个数,N为种群规模[29],本文将N设为30;贝叶斯多目标优化算法与NSGA-Ⅱ相似,每次迭代通过贝叶斯网络、拥挤度计算和非支配排序求解下一代种群,算法的复杂度由非支配排序主导为O(MN2),本文将贝叶斯多目标优化的种群规模设置30[27];计算特定点的算法,仅需要将超时时间代入依次求解,计算复杂度为O(MN),本文在0.001 s 到10 s 范围内生成了15 个特定点,即N为15,因此对优化目标求解的整体复杂度为O(MN2),M为目标函数个数,N为种群规模。综上,使用贝叶斯多目标优化算法和指定特定点对NSGA-Ⅱ算法得到的Pareto Frontiers改进的方式没有增加求解的复杂度。

由于本优化问题的三个优化目标之间相互冲突,本文仅分析了三个优化目标之间的影响,以及如何调节流表项超时时间达到对三个优化目标的同时优化。具体如何设置流表项的超时时间大小,需要在今后的研究中根据不同的场景进行讨论。

5 结语

本文根据SDN 的三个性能指标,建立了数学模型,提出了通过动态调节流表项的超时方式和超时时间大小对大象流的侦测精度、控制通道带宽的占用率和交换机内存消耗进行三目标联立优化问题。对比流表项现有的两种超时方式的特点,提出了一种混合超时方式,并与动态调节超时时间大小相结合,双维度动态调节流表项。本文设计了两种动态调节方案,通过NSGA-Ⅱ算法进行问题的求解,并针对Pareto Frontiers 质量不高的问题,通过贝叶斯多目标优化算法和补充特定点,改进了Pareto Frontiers。结果表明动态混合超时能有效改善大象流侦测精度、控制通道带宽占用和交换机内存消耗的问题。

但是本文实验所使用识别大象流的模型相对简单,精度上有很大的提升空间;流表项的超时时间调节方法也相对简单,缺乏对数据流本身特性的针对性;对优化目标求得解集的精度和分布也有待改善。下一步工作中,将对多目标求解方法进行相应研究,着手提高大象流识别模型的精度,使其能适应多变的网络环境,然后分析对比多种数据流的特性,设计新的超时时间调节方案。

猜你喜欢
数据流数据包交换机
优先级驱动的泛化航电网络实时性能分析
二维隐蔽时间信道构建的研究*
汽车维修数据流基础(上)
汽车维修数据流基础(下)
数据流安全查询技术综述
C#串口高效可靠的接收方案设计
浅谈交换机CAN基本配置
网络数据包的抓取与识别
罗克韦尔发布Strat ix 5410分布式交换机
信息网络中交换机的分类和功能