边缘网络环境下基于流量分类的SDN-NDN缓存策略*
2021-03-20江凌云
邓 欣,江凌云
(南京邮电大学,江苏 南京 210003)
0 引言
边缘网络环境中,各种异构类型的数据流量呈指数级增长。继续使用传统的基于IP 的互联网范式会导致一些不可忽视的问题,如内容检索延迟较高、单点失效以及网络拥塞激增等。而命名数据网络(Named Data Network,NDN)被认为是物联网未来体系结构的有效解决方案之一[1-2]。NDN 体系结构通过使用网内缓存能有效克服单点失效等问题,从而大大提高了网络中的数据可用性与稳定性[3]。
NDN 这种新的互联网架构采取新的通信范式,通过使用独立于位置的唯一名称,从任何授权的使用者发送一个兴趣包(NDN 消息类型)来请求数据。其中,网内缓存是NDN 的一个显著特征。数据包在返回过程中会在路径上的网元节点缓存备份,随后相同的请求可以通过这些缓存节点而不是远程服务器来满足[4]。在边缘网络环境中,若是将缓存全部放置在边缘服务器,不仅加大了服务器的资源负担,而且会造成网络内节点的存储资源浪费。而使用NDN 传统的沿路径处处(Leave Copy Everywhere,LCE)缓存策略,可以在下载路径的每个节点都缓存该内容对象的副本。这一方法虽然简洁,但是会引入较高的缓存冗余[5]。所以,在边缘网络环境中寻求简化而有效的缓存放置策略显得更为迫切。
本文的论文组织如下:第1 部分介绍研究的相关工作;第2 部分介绍基于流量分类的SDNNDN 转发机制优化;第3 部分描述基于流量分类的SDN-NDN 缓存模型;第4 部分描述仿真实验,并对结果进行讨论;最后,对本文进行总结和展望。
1 相关工作
目前,对于NDN 缓存机制的主要研究内容主要分为缓存放置策略、缓存替换算法以及缓存网络模型等几个方面。其中,基于NDN 的内容缓存放置策略是研究的热点。近年来,国内外学者对其展开了广泛而深入的研究,也提出了一些可行的缓存放置策略[6]。例如,文献[7]中提出了一种基于流行度的缓存策略,通过测定一个时隙内数据的请求转发频率,从而模拟该内容数据的流行度。通过设定阈值,将流行度大于该阈值的内容全部缓存。目前,基于流行度的NDN 缓存策略也是国内外学者的研究重点之一,通过将最流行的内容放置在被检索的位置,提高NDN 的缓存性能。但是,这种基于流行度的缓存策略的性能高低将由阈值直接决定,而边缘网络环境复杂且多变,即使参照文献[8]中使用复合流行内容缓存策略(Compound Popular Content Caching Strategy,CPCCS)也无法完全实现动态阈值以应对网络变化。
文献[9]中提出了一种概率缓存策略。内容数据在转发路径上的每一个储存节点以一定的概率P进行缓存,其中每个节点的缓存概率不同,但概率P的设定为网络初始化时随机设定,无法进行调整。因此,文献[10]提出了一种新的缓存策略ProbCache(全称为Probablistic Cache),是一种概率缓存策略。在这种缓存策略中,每个节点的缓存概率不再是随机设定,而是根据该节点与请求节点的距离来决定。距离请求节点越近的节点,缓存该内容副本的概率越高。这一类概率缓存策略均能满足NDN 缓存系统的实用性要求且部署比较简单,但是大多由于概率选择函数比较单一,并不能适应边缘网络环境下复杂多变的网络状态。
此外,还有一些学者会根据网络环境的不同特性,通过大幅度提升某一项指标来设计缓存策略。例如,文献[11]中提出的缓存策略通过衡量节点整体的缓存利用率,决定是否对该内容副本进行缓存。这类缓存策略往往偏重于某一个决策依据,但是使得网络整体的缓存冗余度与缓存收益等达不到均衡状态。
而目前SDN 与NDN 的集成也是NDN 缓存策略研究的一个新方向。例如,文献[12]中提出的SDN-NDN 框架中,控制平面管理着整个局域网内所有节点的网络状态与缓存信息。通过SDN 控制器可以实现整个网络内的缓存统一管理调度,而不需要每个节点去自行判断是否缓存该内容副本。但是,单纯的SDN-NDN 架构并不能解决缓存内容如何在网络内放置的问题,故提出一种流量分类与SDN 相结合的NDN 缓存策略,优化了文献[12]中转发策略的性能,并对边缘网络环境中的缓存冗余高和缓存策略单一等问题进行了改善。
2 流量分类模型
在文献[12]的SDN-NDN 系统中,整个边缘网络环境被划分为多个NDN 域。每个NDN 域又包括数据转发平面和控制平面,如图1 所示。其中,数据转发平面包含了若干的内容路由器(Content Router,CR)和边界路由器(Broder Router,BR),通过这些路由器可以完成整个边缘网络中的兴趣包(数据包)转发和数据包内容副本的储存。控制平面则包含了一个本地控制器,管理着该NDN域内节点路由器的储存信息与网络状态,且相邻域之间的本地控制器可以进行内容交互,从而掌握相邻域的内容信息。
图1 系统架构
兴趣包到达某一个路由器节点,若转发过程中出现转发信息表(Forwarding Interest Base,FIB)不完整等突发情况,节点会将请求信息上发给控制平面。本地控制器通过特定的路由算法评估各转发路径的QoS 参数,从中选择最佳路径进行转发,其中QoS 参数的度量函数表示为:
式中,D和J分别表示传输时延和传输能耗,w表示不同参数所占的比重。使用这种SDN-NDN的转发策略提高了整个边缘网络的QoS 参数,但是边缘网络环境复杂,流量种类繁多,不同的网络流量对于QoS 参数的需求侧重也不尽相同。例如,有的流量数据需求转发过程中尽量降低传输时延,而有的对于时延没有较严格的要求,但是对于稳定性(丢包率)、带宽等因素有不同的要求。此时若仍然使用固定比重的QoS 度量函数,那么往往会忽略边缘网络中的流量多样性。同时,在单一的SDNNDN 架构中,数据包的缓存仍然采用的是传统的LCE 缓存策略。这种在下载路径上所有节点缓存内容副本的策略不仅增加了整个边缘网络的缓存冗余,也加重了本地控制器的管理负担。
所以,本文提出了一种基于流量分类的SDNNDN 模型。对兴趣包的包名进行扩展,如图2 所示。传统NDN 的兴趣包只包含请求内容名称、随机值等几个简单字段,而扩展后的兴趣包在包头添加了一个流量类型字段(Type ID)和转发路径字段FP(Forwarding Path)。
图2 兴趣包组成字段
每个兴趣包包头的流量类型ID 可以区分该业务流量对QoS 参数的不同需求。当出现转发信息表不完全等情况时,节点将请求信息上发给本地控制器,本地控制器依然会评估各路径的QoS 参数,从中选择最佳路径转发。但是,基于流量分类的SDN-NDN 对式(1)进行了扩展,不再采用固定的参数比例w,同时增加了网络中服务参数的种类:
式中,D为传输时延,J为传输能耗,B为传输带宽,S为传输稳定性(由网络内节点的转发失败率决定)。对于同流量类型ID 所指向的不同数据,本地控制器会根据其需求,在路径评估时将参数权重w设置为侧重因子权重wfirst或次要因子权重wminor,从而更好地满足各自的需求。
此外,文献[12]中的SDN 控制器通过本地内容位置表管理着域内节点的存储内容,而本文则对本地内容位置表进行扩展,为每一种内容添加其全局流行度和各节点的综合流行度,从而形成了本地内容信息表,如表1 所示。
表1 本地内容信息表
通过本地内容信息表,SDN 控制器可以了解该内容的全局流行度与局部流行度,从而进行全局决策,避免出现局部区域缓存副本重复等问题。
当兴趣包在某个节点得到满足或添加到待定兴趣表PIT 时,节点会将兴趣包的路径字段上发给SDN控制器,用于本地内容信息表更新流行度,同时基于流量分类的SDN-NDN 缓存策略也会开始运行。
3 缓存策略
传统的NDN 缓存策略不仅引入了较高的缓存冗余,而且会导致网内缓存内容单一,缺乏多样性。基于流量分类的SDN-NDN 缓存策略,在对数据流量进行分类的基础上,通过SDN 本地控制器对缓存内容进行操作管理。首先,在第3.1 章节中提出基于流行度的动态缓存策略,通过SDN 控制器与流行度相结合减少了网内的缓存冗余;其次,在第3.2章节中通过使用基于流量分类的缓存替代策略,实现了动态生命周期,对提升网内缓存内容的多样性有一定的效果;最后,第3.3 章节中提出了一种关联缓存机制,根据节点已缓存的内容进行关联性缓存,提升了第3.1 章节中策略的性能,提高了流行度高的内容分发速度。
3.1 基于流行度的动态缓存
传统的基于流行度的缓存策略通常是在每个缓存节点计算一个时隙内的内容兴趣包占比,并将其作为该节点的内容流行度PV。当流行度PV大于阈值Pt时,会在该节点缓存该内容副本。但是,这种缓存策略由于只考虑了节点的单一流行度,容易导致局部区域内的缓存副本过于密集,从而造成缓存资源的浪费。而本文提出的缓存策略通过SDN 控制器管理域内节点的缓存信息与路径信息,通过本地内容信息表进行全局决策。
首先,基于流行度的动态缓存方案使得节点的综合内容流行度Psyn将不再由节点单一决定,而是由网络内该内容的全局流行度Pnet、节点的局部内容流行度PV、节点流量Fv、域内内容的平均流行度Pavg以及域内节点的平均流量Favg决定,具体的计算公式为:
式中,节点流量Fv与平均流量Favg可以根据表1中不同节点一段时间内接收的兴趣包数量计算。
式(3)通过加入全局流行度与平均流行度的比重和节点的流量比重,使得网络中的整体流行度较高的数据内容能在流量更多的关键节点进行缓存,从而提高缓存数据的命中率与分发速度而本文节点的内容流行度阈值Pt一般采用节点内容的平均流行度表示:
式中,N为节点一段时间内所请求内容的总数,Pi表示节点内某一内容的局部流行度。
除了流行度计算公式优化之外,基于流行度的动态缓存策略还会对网络中的缓存内容进行动态调整。例如,节点内的某一内容流行度为Pv0,而SDN 控制器发现在该节点的邻域{V1,V2,…,VN}中,针对同一内容的流行度Pvi满足Pvi>Pv0的节点比例超过阈值η时,控制器会下发指令使得该节点不缓存该数据内容,从而避免了局部区域内数据内容的重复缓存,提升网络内的整体内存占用率。基于流行度的动态缓存策略与原NDN 缓存放置策略的对比,如图3 所示。
图3 缓存策略对比
3.2 基于流量分类的缓存替换策略
基于流行度的动态缓存通过对缓存的放置策略进行优化,大大削减了整个NDN 域内的缓存冗余情况。但是,不同的网络流量对实时性要求不同,如语音等实时控制类流量对实时性的要求较高,而下载类流量对实时性几乎没有什么要求。因此,若缓存的该类数据流量超过一定的时限,便失去了缓存意义。但是,如果采用FIFO 置换算法并不会立即清除这些无效缓存,也会导致缓存资源的浪费。因此,本文在参考文献[13]物联网流量分类方案与传统IP 网络中的业务流量分类方案后,提出了一种基于流量分类的缓存替换策略,以边缘网络中出现的4 种流量业务作为示例,根据其业务特点设定不同的缓存生命周期(Ⅰ、Ⅱ、Ⅲ、Ⅳ),如表2 所示。
表2 流量分类表
其中,生命周期等级越高,缓存所设定的基础生命周期T0越短。当数据内容需要缓存在网络中的某个节点时,SDN 控制器会根据该节点的综合内容流行度Psyn、节点的缓存空间大小Vcs以及数据包大小Vdata进行计算评估,最后为该缓存设定一个生命周期T。当生命周期结束时,节点会自动删除该缓存并上发更新信息,以在保证返回数据新鲜度的同时提高网络内的缓存利用率。
生命周期T的计算公式为:
式中,wp和wc为流行度与空间大小的权重因子。通过基于流量分类的缓存替换策略可以使得一些流行度高的数据在一些缓存能力较强的节点具有更长的生命周期,从而提高缓存的命中率。
3.3 关联缓存
由第3.1 章节可知,基于SDN 的缓存策略可以通过测定流行度来决定是否对该数据内容进行缓存。但是,仅仅基于流行度的缓存策略并不能很好地适应边缘网络环境中的流量多样性。例如,NDN中以文件块的形式传输数据,当节点储存的部分内容与目标内容属于同一文件时,那么可以进行关联性缓存提高内容分发速度。此外,当该节点内存储着大量与该数据内容相同流量类型的缓存数据时,通过关联缓存将有相似QoS 服务要求的缓存放置在同一节点,可以提高转发与缓存的响应速度。
所以,本文将流量分类与流行度相结合,实现了不同的数据流量之间的关联缓存。当节点计算出数据内容的兴趣包占比Pbase后,会通过对节点内的缓存内容进行检索,通过检索相同所属文件和相同流量类型的缓存,利用式(6)计算出两个辅助权重因子σFILE和σQoS:
式中,wFILE和oFILE分别表示两种关联缓存因子对最终流行度的影响权重,oFILE和oQoS则表示两种关联缓存内容在总缓存中的所占比例。
所以,节点的局部内容缓存流行度PV的最终计算公式为:
而综合第3.1 章节和第3.3 章节,节点的综合流行度计算公式为:
由式(8)可以看出,当该缓存节点中与目标内容所属同一文件或者同一流量类型的关联缓存数据越多时,该节点的综合内容流行度也就越高,从而提高了目标内容在该节点的缓存概率,实现了基于内容仓库的关联缓存机制。
4 实验仿真
本文的仿真实验主要分为3 步。
首先,在参考网络仿真软件Mininet 的条件下,本文ndnSIM 仿真平台模拟了含有SDN 控制器的边缘网络环境,将其划分多个NDN 自治域。其中,业务流量按照表2 进行分类。此外,为了更好地体现边缘网络环境中的设备多样性,将网络中的少部分节点设定为固定缓存空间,而将其他节点设置为可浮动的缓存空间大小,使得仿真实验可以通过调节节点的缓存空间而模拟边缘网络环境的网络场景变化。
其次,对基于流量分类的SDN-NDN 模型进行有效性验证,并收集实验数据通过Matlab 工具绘制仿真结果与原SDN-NDN 架构进行对比。
最后,通过实验验证基于流量分类的SDNNDN 缓存策略的可行性与实施效果,并将结果与其他缓存策略相比较,检测其策略是否具有优越性,其中仿真实验参数在表3 和表4 中详细列出。
在文献[12]提出的SDN-NDN 系统模型中,当NDN 的域内节点出现转发表不完整等情况时,会向SDN 控制器上报情况,然后SDN 根据当前网络中的网络状态和储存目标节点的位置进行可行路径的评估计算,计算出QoS 参数最高的路径并返回给转发节点添加到兴趣包中。随后的转发过程则依靠兴趣包中的路径字段而不是转发节点的转发兴趣表,但转发节点会根据路径字段更新转发信息表之后的转发流程做好准备。而本文所提出的SDN-NDN 模型主要通过流量分类对边缘网络中的缓存策略进行优化,同时结合流量分类也在SDN 控制器计算QoS参数时引入了侧重因子权重wfirst和次要因子权重wminor,使得计算得出的最终转发路径可以适应边缘网络中不同业务流量的不同需求,提升转发策略的性能。而对于改善后的模型是否具有转发可行性,本文进行了仿真实验,并与原SDN-NDN 结构进行了对比,结果如图4 所示。
表3 模型仿真验证参数表
表4 缓存策略仿真验证参数
图4 转发路径QoS 参数对比结果
由图4 可知,当使用基于流量分类的SDNNDN 模型之后,SDN 控制计算出的最佳路径在整体QoS 参数方面与原架构相比几乎相差无几,但是对于不同的数据流量所侧重的QoS 因子方面却有比较明显的提升。所以,可以认定基于流量分类的SDN-NDN 模型对提升边缘网络环境的转发策略性能有一定的效果与研究意义。
为了验证基于流量分类的SDN-NDN 缓存策略在边缘网络环境中是否具有可行性,本文首先将该缓存策略与传统的NDN 缓存策略进行了同等条件的对比,将网络内的节点的平均缓存空间设置为10 MB,然后模拟了一段时间内的边缘网络流量转发,收集数据计算两种转发策略的全局命中率、平均响应时延以及缓存占用率,并将最终的实验结果通过Matlab 仿真工具绘制结果图,如图5 所示。其中,策略A 代指传统NDN 缓存策略,策略B 代指基于流量分类的SDN-NDN 缓存策略。
图5 传统策略仿真对比结果
由图5 可知,基于流量分类的SDN-NDN 缓存策略相较于传统的NDN 缓存策略而言,在全局命中率与平均响应时延上有所欠缺,但是也相差不大,反而该策略通过引入基于流量分类的缓存替换策略,使得边缘网络环境中的缓存占用率得到了显著提升,减少了网络内大量的缓存冗余。此外,上述结果仅仅针对的是节点平均缓存空间为10 MB 的实验环境,实际的边缘网络中还存在很多资源受限的设备,存储能力薄弱。针对这一情况,本文不断调节网络内节点的平均缓存空间,关注两种缓存策略的全局命中率与平均响应时延的变化,并将实验结果绘制如图6 和图7 所示。
由图6 和图7 可知,当节点的缓存空间较大时,基于流量分类的SDN-NDN 缓存策略与传统NDN缓存策略相比,在平均响应时延与全局命中率方面基本相差不大。但是,随着节点平均缓存空间的不断缩小,传统NDN 缓存策略的性能呈现大幅度降低趋势,其机制缺陷开始慢慢浮现。反观基于流量分类的SDN-NDN 缓存策略随着缓存空间的不断缩小,性能的衰减幅度并不是很大。当节点的平均缓存空间调整至1 MB 时,基于流量分类的SDN-NDN缓存策略的表现已经远远超过了传统的NDN 缓存策略。
图6 全局命中率变化情况
图7 平均响应时延变化情况
为了进一步测试基于流量分类的SDN-NDN 缓存策略的性能,本文将该缓存策略与其他NDN 缓存策略进行了同等条件的性能测试实验,测试结果如图8 和图9 所示。其中,策略N 代指基于流量分类的SDN-NDN 缓存策略。
图8 缓存策略综合对比结果
图9 各策略全局命中率变化情况
由图8 和图9 可知,当边缘网络中的节点缓存能力较强时,各缓存策略的全局命中率都能保持在一个较高的水准。但是,随着平均缓存空间的不断减小,各缓存策略的性能不断降低,其中LFF 策略和PPT 策略的性能衰退趋势最明显。反观基于流量分类的SDN-NDN 缓存策略,虽然全局命中率也会随着平均缓存空间的减小而有所降低,但是其衰退幅度与其他缓存策略相比明显更加缓和,且当网络中的节点平均缓存空间下降到很低(1 MB)的情况下,该策略仍然能保持可观的全局命中率。所以,综上所述,基于流量分类的SDN-NDN 缓存策略相比于其他缓存策略而言能更加适应网络状态与节点的变化,在边缘网络环境这种复杂多变的网络中具有很强的适应性。
5 结语
针对边缘网络环境中NDN 缓存策略研究所存在的一些问题,本文提出了一种基于流量分类的SDN-NDN 缓存策略。通过对边缘网络中流量业务进行分类,对不同的业务流量采取不同的路径计算公式,一定程度上优化了SDN-NDN 模型,同时使用流量分类与SDN 控制器相结合,实现了边缘网络环境中缓存的动态存储,并为缓存设定浮动的生命周期,有效解决了边缘网络中的缓存冗余大、替换算法不合理等问题。本文结合流量分类为边缘网络环境融入了关联缓存机制,减少了跨域流量,提高了内容分发的速度。随着当今社会的飞速发展,5G 技术已经逐渐成熟且投入商用,且其未来的发展也在朝着万物互联方向稳步前进。但是,当物联网在不断发展与壮大的同时,各种异构数据流量的激增也给传统的IP 网络产生了强烈冲击。边缘网络中极快的数据流量增长需要一种高效的信息传播方式,如若继续使用传统的端对端通信方式,那么势必会造成呈指数级增长的网络拥塞,所以探寻一种新的网络架构体系显得更加迫在眉睫。其中,命名数据网络(NDN)是这方面研究的热点内容之一。基于兴趣包/数据包的通信方式解除了以往IP 网络中的端对端限制,且NDN 自带的网内缓存机制也为解决网络拥塞提供了一条新的解决思路。所以,如何将NDN 应用于边缘网络环境,在解决上述问题的同时保持网络的稳定性与长久性发展,是下一步所要研究的内容。此外,在边缘网络环境中应用NDN 时所出现的异构数据的协议适配、海量数据的名称设计等挑战,也是未来所需要面对的。