内容推送和路由扩散相结合的内容源移动管理优化方案*

2022-02-12 05:15邹亚琴胡显静
电讯技术 2022年1期
关键词:路由器数据包路由

段 洁,邹亚琴,胡显静

(1.重庆邮电大学 通信与信息工程学院,重庆 400065;2.重庆高校光通信与网络市级重点实验室,重庆 400065)

0 引 言

在互联网内容多元化的今天,用户并不关心内容的来源,而更多关心内容传递的速度和质量。传统以主机为中心的TCP/IP网络架构难以适应海量数据的高效传输,因此,学术界提出以内容/信息为中心的未来因特网体系架构[1-5]。其中,内容中心网络(Content Centric Networking,CCN)[5]作为新型网络架构的典型代表之一,采用网内缓存和基于内容名字路由的方式,在内容分发效率、网络安全和部署方面具有显著的优势,有望更好地支持未来网络的发展。

区别于IP 网络下静态服务器作为内容源的情况,CCN网络中的移动用户不仅可以作为消费者请求内容,还可以作为内容的提供者为消费者提供所需内容。因此,CCN中的移动问题不仅限于消费者移动,还存在内容源移动。在CCN网络中,消费者移动问题可以通过重传兴趣包解决,Tyson等人[6]已经论证了在消费者移动过程中CCN能处理高达97%的兴趣请求。然而,内容源移动后,请求按照原有路由转发将无法成功交付内容源,兴趣包丢失率大大增加。而为了保证内容源的可达性,需要进行全网路由更新,这将造成巨大的更新开销。

因此,为了解决由于内容源移动造成的兴趣包丢失和全网更新开销过大的问题,学者纷纷展开了相关研究工作。现有移动方案从大体上可以分为主动推送缓存[7-10]和移动节点发现[11-16]两大类。主动推送缓存通过将流行内容推送至靠近用户的地方,可以有效缩短对于缓存内容请求的响应时延,但是单单进行推送缓存远远不能满足消费者的需求。移动节点发现方式能够保证内容源的可达性,但多数方案存在请求路径延伸、内容响应时延较长的问题,并且多数方案无法适应内容源移动过程中频繁切换接入路由器(Access Router,AR)的情况,并不能从真正意义上提升用户的服务体验质量。因此,本文结合以上两种方案思想,利用切换前后AR交互移动内容源新的位置信息,同时在切换前后分别采用主动推送缓存和限定跳数广播更新的方式,既保证移动内容源的可达性,又能缩短消费者请求内容的获取时延。

1 内容推送和路由扩散相结合的内容源移动管理优化方案

针对内容源移动过程中频繁切换AR造成的兴趣包丢失和用户内容获取时延过长的情况,本文提出内容推送和路由扩散相结合(Combine Content Push with Routing Diffusion,C2PRD)的内容源移动管理优化方案,基本设计思想是在保证移动内容源可达性的前提下,进一步缩短消费者请求内容响应时延。C2PRD方案由三部分组成,参考文献[17],本文设计的总体方案流程如图1所示,其中FIB(Forwarding Information Base)是路由转发信息库。

图1 总体方案流程

(1)接入路由器间位置信息交互

通过内容源切换前后AR间的位置信息交互,更新切换前后AR的转发信息,使消费者发送的兴趣包通过AR逐跳路由至内容源新的位置,保证内容源的可达性。该部分是C2PRD方案的基础。

(2)主动内容推送缓存

内容源切换AR之前,将满足流行度的内容通过限定跳数广播的方式推送至中间节点并缓存,提高请求在中间节点的缓存命中率,缩短相应请求的响应时延。

(3)限定跳数广播路由更新

内容源接入新的AR,通过路由扩散的方式优化兴趣包和数据包的传输路径,缩短消费者的请求响应时延。

方案后两部分是对第一部分的优化,在保证内容源可达性的前提下进一步优化缩短消费者请求响应时延。

1.1 接入路由器间位置信息交互

1.1.1 方案描述

C2PRD方案的关键部分在于采用基于相邻AR间位置信息交互的方式,在内容源移动过程中始终保持联网状态(即频繁切换AR)的情况下,仍然能够保证内容源的可达性。为实现AR对消息的有效处理,C2PRD扩展了AR的功能[17],使AR始终保持对内容源接入或离开状态的监测。同时,C2PRD在AR中添加了兴趣存储器用于缓存兴趣包,并在FIB表中添加了“移动状态标志位”列表,用于记录内容源的移动状态。图2所示为兴趣存储器的结构和修改后的转发信息库,兴趣存储器中添加了生存时间字段,如果在生存期到期之前FIB信息还未及时更新,接入路由器将丢弃相关兴趣包。

图2 接入路由器中添加的兴趣存储器和修改的转发信息库

一旦接入路由器检测到内容源的离开,将更新其FIB中与内容源名字对应条目下的移动状态标志位(即将移动状态标志位更新为“1”),促使其缓存发往内容源原位置处的兴趣包;一旦新接入路由器监测到内容源的接入,将首先更新其FIB表中关于与内容源名字对应条目下的转发出口,并向内容源切换前接入路由器交互内容源新的位置信息,促使切换前接入路由器更新其FIB表中与内容源名字对应条目下的转发出口和移动状态标志位(即将转发出口更新为指向内容源新的接入路由器,并将移动状态标志位更新为“0”)。由此,缓存和到达的兴趣包便可以根据接入路由器新的转发信息逐跳路由至内容源新的位置。

1.1.2 内容源移动切换场景

如图3所示,内容源LY移动前接入AR0,路由器中关于内容源的转发信息都指向AR0。内容源LY的移动切换场景具有如下的通信流程:

图3 内容源移动切换场景

Step1 某一时刻,AR0监测到LY的离开,将更新其FIB表中与内容源名字对应条目下的移动状态标志位(即将移动状态标志位更新为“1”)。ARO将消费者LN发往LY原位置处的兴趣消息1(内容名字为“/LY/LN/video/ar/Vn”,n=41,42,…,54)缓存在其兴趣存储器中。

Step2 AR1检测到LY的接入,AR1首先更新其FIB表中与LY名字对应条目下的转发出口,并进一步与AR0交互LY接入AR1的位置信息P1,更新AR0中的转发信息(即将转发出口更新为指向AR1,同时将移动状态标志位更新为“0”)。

Step3 AR0将缓存的兴趣消息1通过新的转发信息转发至LY新的位置,并返回相应数据消息。在返回部分数据消息片段(内容名字为“/LY/LN/video/ar/Vn”,n=41,42,…,50)后,LY再次发生AR切换。

Step4 AR2检测到LY的接入,重复Step 2,同时,LY将在AR1处未响应完全的数据消息片段(内容名字为“/LY/LN/video/ar/Vn”,n=51,52,…,54)直接返回LN。

至此,在内容源移动过程中频繁切换AR的情况下,通过相邻AR交互内容源新的位置信息,使消费者发送的请求兴趣“到达”移动内容源新的位置并成功响应数据消息,减少了请求的丢失率。

1.2 主动内容推送缓存

内容源切换AR之前,若与AR的连接时间t满足内容推送条件,即t≥T(T为满足内容推送条件的内容源最短连接时间),C2PRD采用主动内容推送缓存的方式,将内容源流行度为前10%的内容通过限定跳数广播的方式推送至中间内容路由器,内容路由器根据LRU缓存替换策略进行缓存更新。流行度由内容源实时计算,表1为移动内容源的流行度列表。

表1 CCN中针对移动内容源的流行度列表

表中的流行度为内容源所提供内容被请求的概率,其值越高,表示该内容越受欢迎,之后也越有可能被消费者再次请求。消费者提供的每个内容的流行度Pi由以下公式进行计算:

(1)

式中:i表示内容名,n表示内容的个数,counti表示内容源记录的对于内容i的消费者请求总次数。

C2PRD在切换AR前采用限定跳数广播的方式将流行内容提前“备份”,利用CCN网络的缓存特性缓解内容源移动对消费者请求产生的不利影响,缩短消费者对于部分流行内容的请求响应时延。

1.3 限定跳数广播路由更新

1.3.1 方案描述

当内容源与新AR的连接时间较长且与移动前的位置相距较远(即已经切换了多个AR),消费者请求通过AR中继将会产生较大的消息传输开销,并且内容请求响应时延较长。由此,权衡网络更新开销、消息传输开销和内容请求响应时延,在这种情况下 C2PRD采用限定跳数广播路由更新的方式,更新内容源周边一定范围内路由器的路由信息,优化消息的传输路径。为便于对相应数据消息进行处理,C2PRD对兴趣包和数据包条目进行扩展,添加了类似IP字段用于记录消费者的位置信息,数据包中另外添加了切换前AR字段用于记录内容源切换前AR的位置信息;同时定义了一种移动更新(Update Package,UP)包,用于更新相关路由器的FIB信息,移动更新包中的UP字段代表包的类型,跳数字段表示广播更新的范围。扩展和定义的包结构如图4所示。

图4 扩展和定义的包结构

C2PRD广播路由更新的具体操作步骤如下:

Step1 内容源根据其与新AR之间的连接时间t确定更新的跳数(t越长,跳数越长),构建带有其名称前缀和更新跳数的UP包并广播出去。

Step2 中间路由器收到UP包,首先检查包的类型和合法性,并将其FIB表中与内容源名字对应条目下的转发出口替换为UP包的输入接口,同时将跳数字段减1并向下广播。

为有效避免由于重复收到同一内容源发出的路由更新包造成的更新混乱问题,C2PRD在FIB 表中建立了一个临时FIB缓冲区,用于记录一段时间内收到路由更新包的跳数字段内容。当路由器第一次收到路由更新包时,便会在相应内容前缀条目后建立一个缓冲区以记录收到的跳数字段内容,并设立一个时间阈值,若在时间域值到期还未收到相同内容名的路由更新包,路由器便会清空缓冲区;否则将收到的UP包中字段内容与记录的字段进行对比(情况1:路由器新收到的同名路由更新包中的跳数字段内容高于记录的字段内容,将相关FIB条目的输出接口改为新收到的路由更新包的输入接口;情况2:路由器新收到的同名路由更新包中的跳数字段内容小于或等于记录的字段内容,便将新收到的路由更新包直接丢弃)。

1.3.2 内容源移动切换场景

如图3所示,通过相邻AR间位置信息交互,消费者发送的兴趣消息可以通过AR中继到距离内容源最近的位置。此时考虑优化消息的传输路径,内容源LY的移动场景具有如下通信流程:

Step1 AR2检测到LY的离开,更新其FIB表中与内容源名字对应条目下的移动状态标志位(即将移动状态标志位更新为“1”)。AR2将消费者LN发送的兴趣消息2(内容名字为“/LY/LN/photo/chongqing”)通过AR中继到AR2处并缓存在其兴趣存储器中。

Step2 LY新接入AR3,AR3首先更新其FIB表中与LY名字对应条目下的转发出口,并进一步与AR2交互LY接入AR3的位置信息P3,更新AR2中的转发信息;同时,LY构建带有其名称前缀和更新跳数为2的UP包进行广播路由更新。

Step3 AR2将缓存的兴趣消息2通过新的转发信息转发至LY新的位置,内容源响应的数据消息通过更新后的路径返回LN,而非原路返回。

1.4 节点消息处理流程

根据消息类型分类,消息处理流程主要包括兴趣包和数据包处理两大类。

1.4.1 兴趣包处理流程

如图5(a)所示,兴趣包到达节点,首先按照正常CCN处理流程查找内容存储库(Content Store,CS)和待定兴趣表(Pending Interest Table,PIT),若查找成功直接返回数据包或加入接入接口;否则,查询转发信息库(FIB)并按照最长名称前缀匹配原则匹配内容名。若匹配不成功,直接丢弃兴趣包或返回Mark包;否则进一步查询相应条目下的移动状态标志位。若标志位为0或者不存在,兴趣包将直接按照相应转发出口转发出去;若标志位为1,节点将缓存接收到的兴趣包至其兴趣存储器中,待转发信息更新将兴趣包从新的出口转发出去。

图5 节点消息处理流程

1.4.2 数据包处理流程

如图5(b)所示,节点收到数据包后,将首先与PIT匹配,判断是否存在与之对应的信息条目。若匹配成功,节点直接将数据包按照相应出口转发出去;否则,节点将首先查看数据包中是否存在切换前AR字段。若存在(表示数据包是内容源在切换前AR处未响应完全的),节点将提取字段名并匹配转发信息库FIB(若匹配成功,将数据包从对应出口转发出去;若匹配不成功,丢弃数据包);若不存在切换前AR字段,节点进一步提取数据包中的类似IP字段并匹配转发信息库FIB(若匹配成功,将数据包从对应出口转发出去;若匹配不成功,丢弃数据包)。

2 仿真与分析

2.1 参数设置

本文采用ndnSIM仿真软件对所提内容源移动管理优化方案C2PRD进行仿真验证,仿真拓扑如图6所示。该仿真拓扑基于真实网络环境建立,能更好地反应真实场景中节点分布情况。其中,节点12~19为边缘节点,为消费者和移动内容源提供网络接入服务,其余节点均为具有缓存功能的路由器节点。

图6 GEANT拓扑图[18](22节点)

在仿真本文所提管理方案 C2PRD和对比方案PNPCCN[9]、TBR[13]时,参考文献[14,17],单次仿真过程和相关参数设置如下:仿真初始阶段,有一消费者接入12,另有一内容源接入节点为3,之后内容源采用WaypointMobilityModel移动模型在接入节点13~19之间移动切换。消费者的请求分布服从Zipf分布,α取值为0.8,消费者发送兴趣包的频率为10个/秒,兴趣包的重传时间为180 ms,消息的单跳传输时延设置为8 ms。内容源在各接入节点的驻留时间ti服从Gamma分布,Gamma函数的形状参数μ设置为3,尺度参数λ设置为1。内容源提供的内容种类为10 000,每个内容的大小相同,为1 024 B。移动切换相关消息的大小设置为50 B。本文将路由器所能缓存的最大内容数量代表路由器的缓存容量,缓存容量比(即路由器的缓存容量和内容种类的比值)的取值范围为[0.01,0.1],路由器采用LRU缓存替换策略。同时,对比方案PNPCCN下的转移概率指数β设置为0.5。单次仿真过程的测试时间设置为5 min。

C2PRD方案旨在以较低的移动切换成本保证请求交付的同时还能最大限度缩短消费者请求内容的获取时延,因此,仿真将缓存命中率、平均时延、兴趣包丢失率和移动切换成本作为本文方案验证的主要性能指标。缓存命中率为命中路由器中内容名的平均概率;平均时延定义为5 min仿真时间内消费者平均内容获取时延,由于内容源移动将造成部分兴趣包丢失,该部分丢失请求的时延默认为兴趣包的重传时间;兴趣包丢失率是指仿真时间内丢失的兴趣包与总的发送兴趣包的比率;移动切换成本是指单次仿真测试中传输移动切换相关消息产生的切换成本(即网络负载)。仿真共轮询100次,缓存命中率、平均时延、兴趣包丢失率和移动切换成本取100次仿真测试结果的平均值。

2.2 结果分析

2.2.1 缓存命中率

缓存命中率是测评网络性能的基本准则之一,缓存命中率的高低将直接关系消费者的内容获取时延并直接影响消费者的网络体验质量(Quality of Experience,QOE)。图7是对缓存命中率进行仿真的结果。从图中可以看出,随着节点缓存容量的增加,各方案的缓存命中率均呈现不断上升的趋势,C2PRD方案的缓存命中率明显优于其他两种方案。与PNPCCN和TBR方案相比,C2PRD方案通过限定跳数广播的方式使原内容源位置周围一定区域内的路由器缓存有用户频繁请求的内容,因此,在内容源移动后,消费者大部分请求仍然能够在中间副本节点缓存命中。

图7 缓存命中率

2.2.2 平均时延

图8是消费者的内容获取时延的仿真结果。从图中可以看出,随着缓存容量的增加,所有方案内容获取的平均时延均呈现下降的趋势。这是因为中间缓存路由器节点处的缓存命中率得到了提高,更少的请求被转发至移动内容源处,获取内容所需的跳数减少,因此消费者内容获取时延相应缩短。而 C2PRD方案的平均时延低于另外两种方案,原因在于 C2PRD方案的缓存命中率较高,能够有效减少消费者请求内容获取的平均跳数,减少与内容源交互的次数。同时,在内容源切换接入新的接入点后,C2PRD方案采用限定跳数广播更新的方式,能够有效减少消费者和内容源之间的跳数距离,消费者内容获取的平均时延大大缩短。

图8 平均时延

2.2.3 兴趣包丢失率

本文方案设计的首要目标在于降低内容源移动和相关路由信息更新期间消费者请求兴趣包的丢失率,在满足消费者请求的前提下,尽可能缩短其内容获取时延,提高消费者体验质量。图9给出了消费者位置不变情况下三种不同方案下兴趣包丢失率的仿真结果,可见C2PRD方案的兴趣包丢失率明显低于其他方案。原因在于,C2PRD方案通过切换前后接入点间位置信息的交互,将兴趣包逐跳路由至靠近移动内容源的接入点并缓存,待相关转发信息更新后,接入点将第一时间把兴趣包转发至内容源新的位置,兴趣包丢失率大大降低。

图9 消费者位置不变时的兴趣包丢失率

图10给出了单次仿真测试过程中消费者在接入节点12~15随机移动时下各方案的兴趣包丢失率仿真结果。从图中可以看出,与消费者位置不变情况下的兴趣包丢失率相比,各方案的兴趣包丢失率明显增加。这是因为消费者移动前的请求数据包将按照路由器中相应PIT转发出口或者类似IP字段内容转发至消费者原来的位置,无法得到响应数据包将会丢失,消费者请求无法正常响应,兴趣包丢失率增加。

图10 消费者位置变化时的兴趣包丢失率

2.2.4 移动切换成本

图11给出了不同内容源移动切换频率f(即每分钟移动切换的次数)下各个对比方案的移动切换成本(跳数×包的大小)仿真结果。从图中可以看出,对于固定的移动切换频率f而言,PNPCCN方案具有最高的移动切换成本,C2PRD方案具有最低的移动切换成本。这是因为PNPCCN方案每次移动切换都会将内容源全部内容推送到接入路由器中,内容的大小远大于移动切换消息。TBR方案在内容源移动切换前后的内容路由器间建立隧道用于重定向兴趣包,内容路由器间的跳数远大于接入路由器间的跳数距离,因此,TBR方案的移动切换成本大于C2PRD方案。同时,随着内容提供者移动切换频率f的增大,其仿真测试过程的移动切换次数也相应增大。因此,各方案的移动切换成本均随着f的增大而增大。

图11 移动切换成本

3 结束语

本文针对CCN网络内容源移动过程中频繁切换接入路由器造成的兴趣包丢失和用户内容获取时延过大的问题,在综合分析现有移动方案优缺点的前提下,提出了内容推送和路由扩散相结合(C2PRD)的内容源移动管理优化方案。C2PRD利用切换前后接入路由器交互移动内容源新的位置信息,同时在切换前后分别采用主动推送缓存和限定跳数广播更新的方式,既能保证移动内容源的可达性,又能缩短消费者请求内容的获取时延。但是本文提出的移动管理方案存在一定的局限性,例如内容推送和广播更新范围的确定问题,这将直接影响网络的缓存命中率和时延。下一步关于CCN中内容源移动问题的研究将着重从该方面进行优化,以尽最大可能缩短内容源移动时消费者的内容获取时延,增强消费者的网络体验质量。

猜你喜欢
路由器数据包路由
买千兆路由器看接口参数
二维隐蔽时间信道构建的研究*
维持生命
路由器每天都要关
路由器每天都要关
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
铁路数据网路由汇聚引发的路由迭代问题研究
一种基于虚拟分扇的簇间多跳路由算法
路由重分发时需要考虑的问题
C#串口高效可靠的接收方案设计