内容摘要
在以信息为中心的网络(ICN)中,路径上缓存是一个集成缓存解决方案,在自动系统(AS)本地网络中。然而,可以看出,在路径上缓存中,内容在到兴趣发生器的反向路径中在途中被缓存。因此,本地Rendezvous网络(RENE)/名称解析系统(NRS)(通过名称解析进行路由)或FIB(基于名称的路由)不知道缓存的数据。因此,部署最广泛的域内路由协议及其转发策略不能处理内容的所有可用临时缓存副本。因此,路径上缓存策略经历两个主要缺点:AS内的相同内容的多个副本在缓存资源利用率方面没有增加重要价值,并且为了最小化冗余而采取的方法最终以获取更多相似内容的副本为代价。在本文中,我们介绍了一种集成的缓存和转发解决方案,可以最大限度地减少缓存冗余,并最大限度地提高查找附近缓存内容的概率。我们利用名称数据网络(NDN)节点架构及其转发平面/策略(路由)来实现我们的目标。数学分析确定负载均衡和缓存命中率,考虑平均跳数和服务器命中率的仿真结果验证了我们提出的方案的效率。
关键字:以信息为中心的网络,缓存,路径上的缓存,路由,转发
绪论
以信息为中心的网络(ICN)近年来引起了人们的广泛关注。在PSIRP 中,以内容为中心的网络(CCN)被用作解释新架构的基础。标识符以信息中心的方式描述。发布 - 订阅互联网(PSI)架构专注于内容而不是端点通信。在中,作者展示了以内容为中心的网络(Content-Centric Networking,CCN),它将内容视为一个原始的从身份,安全和访问去耦的位置,并以名称的形式检索内容。原型CCN网络堆栈由作者实现,他们证明了内容分发和点对点网络协议的必要性。在文献中,数据感知网络(DAN)的主要关键问题之一是'移动性',作者提出了命名节点网络作为DAN的新颖架构。
在本文中,我们部署了CCN节点体系结构,命名数据网络(NDN)和转发引擎策略,以克服相同内容的副本过多导致缓存资源利用率低和网络总体延迟增加的问题。主要目标是在一台路由器中缓存对象,从而为需要时缓存其他对象或流行信息留出空间。在这里,主要目标是克服大量缓存对象的问题。如果对象被缓存在所有路由器中,尽管它具有轻松实现请求对象的优点,但内存不足,因此在发生新请求时缓存文件会被替换多次。另一方面,如果对象被缓存在一些路由器中,则难以满足该请求。每次发生请求时,如果在路径中未找到请求,则将请求转发到存储库。本文一起讨论路由和缓存策略,以便最大限度地减少AS内的副本数量,同时将服务器命中率降至最低。
根据ICN的架构设计结构,显然ICN的优势在很大程度上取决于扩展缓存的构建。使用广泛的缓存结构的重要目的是确保降低延迟,这是当前和未来互联网的关键特性。 2002年,开发了“航路缓存”或“透明”缓存结构。术语“途中缓存”拦截客户端通过它的请求。它在缓存中查找请求的对象,如果对象在缓存中,它将被发送回客户端。因此请求将不再沿着路径思考。否则,请求将沿着常规路由路径转发。路由缓存有几个好处,其中包括:1)它对内容服务器和客户端都是透明的2)没有任何请求绕过通常的路径,这减少了缓存未命中的网络延迟并且消除了额外的头部广播查询。这种途中缓存是ICN重要的缓存策略之一,也是本文的重点。
本文的其余部分安排如下:在第2节中,我们重点介绍一些相关的工作。我们利用NDN节点体系结构,命名概念和转发引擎模型,这些在第3节中进行了描述。我们在第4节中详细阐述了我们提出的缓存和转发策略。我们在第5节中介绍了我们提议的结果和讨论。最后,第6节总结了本文的总结和未来工作的一些范围。整篇论文有几个缩写,以提高用户的可读性;本部分末尾添加了列出完整表格的表格。
表-1缩写列表
缩写 |
全称 |
缩写 |
全称 |
ICN |
Information Centric Network |
NDO |
Named Data Object |
AS |
Autonomous System |
LCE |
Leave Copy Everywhere |
RENE |
Rendezvous Network |
LCD |
Leave Copy Down |
NRS |
Name Resolution System |
CS |
Content Store |
NDN |
Named Data Networking |
PIT |
Pending Interest Table |
CCN |
Content Centric Network |
FIB |
Forwarding Interest Base |
PSI |
Publish-Subscribe Internet |
LRU |
Least Recently Used |
DAN |
Data Aware Networking |
TLV |
Type-length-value |
相关工作
最近,一些提案审议了ICN的经济激励措施。在文献中,作者在分析未来互联网体系结构与公共政策时解释了社会经济问题的重要性。 ICN可用于解决不同利益相关者利益集团之间的各种复杂问题,冲突等事实也被考虑在内。在中,作者通过利用博弈论推荐了ICN的工程经济模型。广泛评估了建立分布式存储架构所需的ICN中不同网络播放器的转移程序。为了加强社交网络,智能电网,智能交通系统等的服务交付,可以利用ICN方案和建筑模型。
关于ICN路径上缓存策略的研究可以分为两大类。在第一种方法中,内容被缓存在从内容源到目的地(请求发生器)的路径中的所有路由器,其在中提出。这也是目前大多数多级缓存中常用的操作模式。当请求到达并且在特定级别缓存或源服务器上发生命中时,请求对象的副本将缓存在从内容源位置(永久或临时)到请求生成器的路径上的所有中间缓存中。这种类型的缓存技术被命名为“无处不在”(LCE)。在这里,当很少兴趣来自网络的不同点(针对特定内容)时,相同的内容被复制到多个路由器上。在受欢迎的内容的情况下,该过程明显增加了从请求者到内容存储库的途中找到内容的可能性。因此,相同内容的副本的较高数量减少了获取相同内容的附加数量的可能性,只要它在附近即可。
另一方面,LCE方法在AS的本地网络内提供了相同内容的太多重复内容,而无需在缓存资源利用率方面为AS增加实质性价值。由于其内容冗余和资源利用率低下,LCE方案在作品,中受到批评。由于缓存的内存有限,流行内容的重复数量过多会导致其他内容的空间减少。因此,减少在本地缓存的不同内容的数量(由于热门内容的冗余副本),使得在整个社区中找到独立内容的机会最小化。另外,在LCE方案中,在内容缓存期间不考虑内容的流行度。
在ICN文献的现有技术中发现的第二种缓存方法如下:在内容获取期间,在一个或几个路由器(随机或战略地选择)从内容源到目的地的路径中复制内容。 ProbCache,MultiCache ,Leave Copy Down(LCD)等作品解释了这些类别的类别并作为其示例。但是,这些研究的目的是为了减少邻域中的冗余/副本,这会导致增加从存储库获取相同内容的额外副本的可能性增加的成本。否则表示,内容在当地,但不在途中。因此,从最近的缓存拷贝的位置是未知的,从附近缓存检索内容是不可能的。
我们预计的方案是降低资源利用率(第二种方法,即在一个或几个路由器上进行内容缓存而不是路径中的所有路由器),并支持相应的转发方案来定位和检索更接近的缓存副本,而不是搜索在服务器/存储库中。
在ICN中进行路由有两种不同的方式,它们是:通过名称解析进行路由(2步方法)和基于名称的路由(1步方法)。在名称解析(例如SAIL )中,客户端将名称解析请求引导到本地名称解析系统(NRS)(如果找不到相匹配的请求,则将其转发到全局NRS)。 NDO(名称数据对象)定位器由本地NRS返回给客户端。客户端然后寻找NDO的数据源。该策略的缺点包括NRS的故障点和NRS需要存储NDO映射所需的大容量存储。考虑到SAIL还支持基于名称的路由模型,其中使用路由协议和NDO请求的NDO信息在网络路由器中存储和传播,可直接转发给NDO源。与SAIL类似,PURSUIT还支持两种路由方法:使用Rendezvous函数的名称解析和使用拓扑和转发函数的名称路由。 COMET 也提供了名称解析和基于名称的路由。
基于名称的路由的机制是利益(NDO请求)由CCN路由器根据NDO名称转发到其他路由器或存储库。 NDN使用基于前缀的最长匹配查找来查找附近的数据源(临时副本或永久数据副本)。以下部分将简要介绍NDN的过程。 CONVERGENCE 也使用基于名称的路由方法。它使用FIB和RIB而不是使用NDN的FIB和PIT。我们提出的策略的基础是基于名称的路由。
在大多数情况下,ICN文献分别与路由(转发)和缓存一起工作,并将它们中的每一个(路由或缓存)视为独立问题。很明显,实现路径上的缓存策略是由转发策略决定的。在本文中,我们介绍了一种高效,高效的集成ICN缓存和转发解决方案。就我们的知识而言,我们提出的策略是第一项工作,可以通过将兴趣转发到单一最短路径来定位缓存副本,即使副本不在途中也是如此。因此,我们采取全面的方法重新审视和解决ICN的缓存和发展战略。
利用节点体系结构,命名模型和前向引擎模型
在命名数据网络(NDN)中,制定路径上的缓存方法。 NDN的工作包括以内容为中心的网络工作(CCN)提案。我们部署CCN节点架构和命名概念以及转发引擎模型。 NDN路由器在感兴趣的内容命中后执行的第一件事情是,它在内容存储(CS)中搜索内容对象。在这种情况下,可能会发生两种情况,该对象将被找到与否。如果是前者,NDN会将请求的内容传送给请求者。在后者的情况下,使用两个表,即待定兴趣表(PIT)和转发信息库(FIB)来管理兴趣分组。 PIT累积Interest数据包的传入接口,以便数据包可以通过相同的路径发回给请求者。在PIT中检查Inter-est以确定是否先前询问过相同的内容但仍未答复。如果在PIT中找到了这样的内容条目,然后记录传入的兴趣接口,以便当缓存的数据到达时,满足所有请求。而如果没有找到条目,则将新兴趣转发给FIB,而FIB将In-terest分组指向一个或多个内容源/存储库。
首先,我们部署CCN命名概念。除此之外,我们在AS中引入了每个路由器的命名。每个路由器的名称在AS内是唯一的。 (该名称在AS中是唯一的。)如果路由器属于不同的AS,则可以为其提供相同的名称。为了避免复杂性,我们在文章中使用字母命名。但是,保持有意义的名称(可扩展,独特且易于记忆)也将是一种很好的做法。在第二步中,我们利用CCN节点的体系结构。根据我们的模型,每个节点由三个主要的数据结构组成:CS,PIT和FIB。与NDN类似,FIB的功能是将Interest数据包引导至相同数据的潜在源(永久拷贝)。 CS将有两个表:数据表和高速缓存路由表。数据表的功能是收集数据,而高速缓存路由表的存储路径指向可能包含所需内容的临时高速缓存副本的另一个节点(更近的路由器)。内容商店的数据表匹配将通过PIT匹配,内容商店和FIB匹配的缓存路由表匹配进行选择。 PIT匹配优于Content Store的Cache-Route Table匹配和FIB匹配。在Content Store的Cache-Route Table匹配和FIB匹配中,选择将倾向于Cache-Route Table匹配。
因此,当一个入口到达通往高速缓存的路径/路径时,兴趣将被重定向到有可能找到所请求的对象的(高速缓存)节点。从缓存中接收数据的方法(不在路由中)在本文中定义为探索阶段。但是,如果在Cache-Route Table中没有找到相应内容的条目,则兴趣将被转发到朝向永久拷贝/存储库的正面。将信息引导至内容的永久已知副本的方法在本文中定义为“开发阶段”。以下部分阐述探索阶段和开发阶段的转发引擎机制。探索阶段在开始阶段开始之前执行一次。
建议的缓存和转发策略
转发引擎:
当对内容的兴趣或请求到达CCN路由器(第3节中提出的具有杠杆架构的路由器)时,首先CCN在其自己的CS的数据表中搜索内容。如果期望的数据包已经在CS的数据表中,则匹配的数据包通过追踪兴趣包留下的“面包屑”的踪迹而返回到原始请求者。立即兴趣将被删除(因为请求已被满足)。如果在CS的数据表中未找到所请求的数据包,则将使用PIT来处理兴趣包。 PIT的目的是将信息对象名称映射到内容的请求面(或多个面),并聚合Interests并将数据多播给NDN定义的请求用户。在相反的情况下,如果没有找到相应利息的PIT条目,则接下来的阶段来处理这种情况。我们提出的方案的转发引擎的高级视图如图1所示。
图1 Cache-Route策略转发引擎的高层视图
开发阶段:
将内容查看PIT,如果未找到,则路由器将在Cache-Route Table中搜索内容名称。如果在Cache-Route Table中找到了指向临时副本的路径的信息,则该进程将进入探索阶段。否则,转发面将从FIB中选出。 FIB的目的是将汇总名称前缀映射到下一跳转发面向信息发布者(图1)。 FIB将来自消费者的兴趣转发给最长的前缀匹配的发布者/存储库。该转发机制(利用阶段)将持续到数据匹配(内容存储的数据表匹配或PIT匹配或访问存储库),否则它将进入探索阶段。
探索阶段:
如果在CS的高速缓存路由表中找到相应的路由/路径,则节点将开始探索阶段。随着兴趣继续探索可能的缓存复制,它将遵循下面描述的转发引擎机制。一个PIT条目将被给出并且利息将与缓存路由一起被转发。在“探索阶段”中,“兴趣”将按照“探索阶段”发起节点的建议经过路线。只有CS的数据表匹配和通过兴趣路由的面包屑返回匹配数据的功能才能在探索阶段工作。暂时不包括与该兴趣相关的PIT和FIB的其他活动。如果找到所需的数据,它将被发送回探索阶段发起节点,随后它也会到达请求节点。如果内容没有提供给在给定时间限制内生成探索阶段的节点,节点将进入开发阶段将兴趣转发给永久拷贝。
高速缓存:
根据我们的在路径缓存策略,复制或缓存在一个路由器上完成,该路由器位于发布者(本地存储库和订阅者(客户端))之间的路由上,沿路径的其他一些路由器存储内容被缓存,映射的路由与相应的内容名称,假设缓存副本的距离(跳数)应小于永久副本的距离(跳数),当从本地域重新捕获数据时(域间流量) ,数据仅缓存在网关节点到生成节点(兴趣发起者)之间的一个路由器上。
我们部署最后一个节点(兴趣发生器节点)缓存策略。在此方法中,从存储库(永久拷贝)接收内容后,它将缓存在请求节点中。路径中的其他路由器(发现缓存副本不会比永久副本更远的路由器)将升级其CS所需内容的Cache-Route Table条目(超时)。总而言之,可以看出,一个路由器将沿路径缓存对象,而其他路由器将仅包含路由信息,通过该信息,它可以将兴趣重新引导到期望的缓存副本。
另外,当从缓存/副本收集对象时,不会再创建副本。上述策略用图2-6解释,算法的伪代码在表2中给出。
图2 AS路由器的本地连通性
在图2中,让一个与J相邻的存储库声称它可以提供相匹配的兴趣。路由器J使用CCN TLV在预先通知中广播前缀。让一位客户(客户X)为对象在C附近请求兴趣。
假设兴趣将通过路径C-D-E-F-J转发给J,J将把它引导至其相邻的存储库。这里,与NDN类似,兴趣包生成一段“面包屑”,用于匹配的内容包返回原始请求者。
让客户X请求的内容'/mun.ca/engineering/ece/research/themes'将通过最佳路径J-F-E-D-C提供。根据我们的策略,内容将仅缓存在一个从数据源(J旁边的存储库)到请求节点(C)的路由器上。虽然沿着路径的其他一些路由器将根据永久拷贝的跳数(存储在FIB中的信息)仅缓存高速缓存数据的路由。
根据最后一个节点(兴趣发生器节点)缓存策略,数据'mun.ca/engineering/ece/research/themes'将仅被缓存在一个路由器(C)上(如图3和图6所示)。而路由器E和D将只缓存朝向路由器C的路由(与Cache-Route Table中的'mun.ca/engineering/ece/research/themes'映射),而不是缓存初始数据(如图4所示-6)。路由器E和D将缓存朝向路由器C(它将保存缓存副本)的路由,因为C距E的跳距离D和D不大于E和D的存储距离。同样,路由将由于C的跳距离不大于J和F的存储距离,因此不会在路由器J和F上向路由器C(其保存高速缓存副本)缓存。
图3从J旁边的存储库中检索内容之后的路由器C的内容存储库
图4从J旁边的存储库中检索内容之后的路由器D的内容存储库
图5路由器E的内容存储在从J旁边的存储库中检索内容之后
图6客户端X从存储库(位于J旁边)中获取路径J-F-E-D-C的内容的内容存储库
假设,另一个客户(客户Z)在有一个相同的兴趣,这个客户(客户Z)在H旁边并且兴趣可能被转发到J旁边的存储库。让我们认为最短的部分是HDEFJ(图3)。当兴趣抵达路由器D时,D将启动探索阶段并将兴趣发送给C,因为D具有内容被C缓存的信息。因此,内容将由C(临时缓存副本)沿路径CDH提供给H。由于该对象是从缓存中收集的,所以请求路由器(在这种情况下为H)不会在CS的数据表中进一步复制对象。因此,仅当从永久副本(或存储库)检索数据时才进行缓存,从而最小化副本的数量。
因此,即使包含内容的缓存副本的路由器不是请求节点(客户端)到存储库的途中,我们提出的方案仍然可以识别并提供来自缓存的内容,只要路由路由器具有朝向路由器的路由的信息以及可能的内容缓存副本。此外,由于内容在一次获取中仅缓存一个路由器,因此为其他内容留下空间,从而导致在本地更多变化的内容。随着附近缓存(位置)中驻留的不同内容数量的增加,并且Cache-Route Table有助于定位缓存副本,所以在当地查找独立请求内容的概率上升。这会导致服务器/存储库命中率的降低。
对于高速缓存驱逐算法,我们使用最近最少使用(LRU)替换策略(对CS的数据表和高速缓存路由表)。
表2的伪代码表示缓存驱逐算法
结果和讨论
数值分析
负载不平衡:
我们将负载不平衡量化为高速缓存的最大负载(包含最受欢迎内容的高速缓存因此服务最高流量)与高速缓存的平均负载之间的比率。 我们进一步假设每个缓存对应于AS内的路由器。 在生成对象的请求后,请求将随机分发给连接到任何路由器的客户端。 因此,内容请求遵循独立参考模型。
设L是随机变量,对应于连接到节点的客户机接收的节点服务请求的分数。 那么由随机变量变异系数表示的负载不平衡量就是其标准偏差与其平均值之间的比率。 从,我们可以简化负载不平衡,𝐶𝑣[𝐿]如下:
其中,N是节点的总数,F是对象的数量。
其中,𝑝(𝑖)表示对象i的内容流行度,它遵循Zipf分布,指数α和𝐻𝑛(α)是大小为F的文件的目录中第i个最流行文件的等级。 𝐻𝑛(α)可以近似如下,
设hi是项目i的命中概率,可以由客户端在其附加节点找到。 从等式(1)我们得到,
设r是缓存在节点中的目录中第r个最流行的对象。 为简单起见,如果我们考虑一下,在一定的时间间隔内,节点将拥有最受欢迎的缓存内容给附属于它的客户端, 即节点缓存了等级降低的内容1、2、3……直到r,那么我们得到,
从方程(4)和(6)我们得到,
仿真结果
仿真是用ccnSim完成的,这是一个可扩展的CCN在OMNeT ++框架下的块级仿真器。我们考虑中描述的类似拓扑结构。仿真中使用的网络拓扑如图1所示。该图显示了10个CCN节点,每个节点的缓存大小为100个对象。在与节点A和节点J连接的图中示出了两个存储库。在A旁边的存储库和J旁边的存储库上都复制/存储了大量10,000个对象。每个节点以连接到其的客户端结束。对象i的聚合请求流以速率𝜆𝑖 = 𝑝(𝑖)𝜆到达每个CCN节点。请求生成速率遵循泊松分布并且随着给定每个CCN节点的10个CCN节点中的一个随机标记
对所有对象的汇总请求率为λ≤1 Hz。使用的缓存对象位移策略是LRU。缓存内容的路由(在缓存路由表中驱逐)驱逐策略也是LRU。
对于LCE,我们假设来自FIB的最短路线存储库由战略层选择。另外,CS和PIT的行为与NDN中提出的一样。在我们提出的Cache-Route方案中,策略层也选择最短路径存储库。然而,在每一跳,基于内容源(CS)转发路径工程的缓存路由表状态被做出。该仿真针对以下性能指标进行生成:
平均跳离
所有网络的上级目标之一就是减少平均跳距。从用户的角度来看,减少跳距是指低端用户延迟(低往返延迟)。另一方面,从网络的感知来看,较低的跳数意味着较低的流量/网络负载。
图7a示出了我们提出的具有LCE和LCD方案的Cache-Route方案的区分。从图中可以看出,我们的预测方案优于LCE和LCD政策。注意,对于α值较小的情况,这些方案之间的性能差异较小,而当α的值增加时,Cache-Route方案与LCE相比获得更高的增益。 LCD的性能也优于LCE,因为与LCE相比,LCD保留的副本数量更少。
服务器命中率
降低服务器命中率是部署ICN广泛缓存结构的另一个重要目标。在图7b中,针对高速缓存路由策略,LCD策略和LCE策略描述了不同流行度的对象的服务器命中率。该模式清楚地表明,我们建议的方案的性能优于LCD和LCE方案。这是由于这样一个事实:我们提出的策略确认只有在存储库中找到数据时才缓存数据。如果在高速缓存中找到该对象,它将从该高速缓存中收集数据,并更新CS的高速缓存路由表条目,而不会在该路径上再创建任何相同内容的副本。此过程确认本地网络(域内)内的副本较少。换句话说,在本地网络中有更广泛的热门内容积累的机会。相反,Cache-Route / cache-path缓存的新概念有助于设计更多的动态转发策略来查找导致服务器/存储库命中率降低的临时副本(缓存数据)。
图7(a)Cache-Route策略,LCE策略和LCD策略的平均跳距的比较。 (b)针对不同流行的对象的Cache-Route策略,LCE策略和LCD策略之间的服务器/存储库命中率比较
结论
在本文中,我们采取全面的方法重新审视并专注于ICN的路径上缓存和转发策略。这是为了消除由于在所有路由器(LCE)中缓存对象而导致的低效率,这导致相同内容的副本太多并且新内容的缓存内存不足。我们提出了一种新颖的内容缓存路由/路径缓存概念。我们将这种缓存路由知识部署在每一跳的转发路径工程中。 NDN节点架构和转发策略在这个过程中被采用。我们根除缓存冗余,同时我们有目的地努力定位和检索内容的缓存副本,而不是访问远程服务器/存储库。为了确定负载均衡和缓存命中率,在进行仿真时展开数学分析,以显示平均跳距和服务器命中率的性质。仿真和数学解决方案支持我们的理论思想,并验证我们提出的方案的效率。
作为未来工作的一个范围,在实际环境中需要对方案的理解。具体而言,我们提出的降低跨运营商流量(Cross-AS流量)的方案的效果需要在现实生活场景中进行。
版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《以信息为中心的网络的集成缓存和路由策略》的版权归原作者「芯媒介」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458
文章来源: 阅读原文
芯媒介微信公众号:icwant2018
手机扫描上方二维码即可关注芯媒介微信公众号