1.2 内容中心网络研究现状
随着互联网的快速发展,网络用户行为也在随之变化[31,32],从传统的关注服务器和主机IP地址,到现在只关心内容。基于TCP/IP的现有互联网也逐渐暴露出许多问题,包括高效可扩展内容分发、海量普适计算设备、多宿主和多链接、移动性支持。为了解决上述问题,国内外主要有“改良”和“改革”两种思路。目前,基于IP网络的增补方案或覆盖网络通过在应用层“打补丁”来增强内容分发,这种不改变互联网IP主体地位的方式属于“改良”,但大规模的组播部署方式仍以主机为中心,没有从根本上解决问题;另一种思路是替代IP的主体地位,打破端到端的通信模式,设计新型的网络体系结构,称为“改革”。在“改革”方面做得比较完善的就是内容中心网络体系结构,目前关于内容中心网络的研究主要包括以下几个方面。
1.2.1 缓存策略研究
内容中心网络的缓存策略包括缓存决策策略和缓存替换策略两部分。缓存决策策略是指决定在哪些节点缓存什么样的网络内容;缓存替换策略是指当网络内容的流行度发生变化或者内容中心网络的缓存存储空间不足,同时又有新的网络内容需要缓存时,如何选择CCN路由器节点中需要被舍弃的缓存内容,进而为需要被缓存网络内容释放空间。总体来说,研究者对缓存决策策略的关注要高于缓存替换策略,毕竟网内缓存对于网络性能具有更大的影响。
典型的缓存决策策略(具体工作原理见第2章)包括沿路径缓存(Leave Copy Everywhere,LCE)策略、向下复制(Leave Copy Down,LCD)策略、向下复制删除(Move Copy Down,MCD)策略、搜索方案、基于概率的缓存(ProbCache)策略、基于停留时间的缓存决策策略和基于内容流行度的缓存放置策略等。其中,LCE策略是CCN默认的缓存决策策略,该策略的主要思路是当用户请求的内容命中时,在沿请求路径返回的过程中经过的每个节点上都缓存该内容,但是LCE策略存在一定的弊端,即造成网络系统中出现缓存冗余。LCD策略解决了LCE策略产生的缓存冗余的问题,但是对于用户经常访问的热点内容,却需要多个访问步骤才能到达网络边缘,从而也造成了一定的冗余。MCD策略与LCD策略一样,因为源内容服务器上的数据内容是保持永久不变的,所以MCD策略与LCD策略相比,大大降低了系统中的冗余度,但是该策略随着节点会动态变化,从而造成额外的网络开销。ProbCache策略[33]是一种基于概率的缓存策略,它允许传输路径上的节点根据本地缓存能力以概率p对数据内容进行缓存,以概率1-p不缓存数据内容,其中,p的值可以根据本地缓存能力的不同做相应的调整。文献[34]中介绍了一种改进的加权ProbCache算法,目的是通过加权的方法尽量使数据内容以更大的概率缓存在距离用户较近的地方,有利于数据内容向网络边缘移动,在公共路径上留下充足的空间传输其他数据内容。文献[35]提出了一种基于停留时间的缓存策略,首先停留时间是指数据内容在缓存中停留的时间,因为数据内容总量庞大,而单节点的缓存空间有限,所以已经被缓存的数据内容总会被其他数据内容替换,因此数据内容的平均停留时间是一个有限的实数。基于停留时间的缓存策略可以使内容缓存在平均停留时间较长的节点中,且相邻节点不会缓存同样的数据内容,从而提升网络缓存的效率和缓存内容的多样性,减少用户请求服务的总跳数,提高请求命中率。总体来说,如何更合理地选择内容存储位置或更合理地设计缓存概率,实现网络中内容存储冗余的下降和网络存储分布的优化(高流行度的内容尽可能邻近用户存储),是研究者一致关注的目标,这方面还有较多研究工作需要开展。
特别需要提及的是,根据用户的请求兴趣,主动请求或推送内容,是缓存决策策略中的新动态,其典型代表是文献[44]中提出的WAVE策略。该策略根据内容请求的次数,以指数递增的方式逐步增加回传路径上每个路由器中缓存数据块的数量,这样用户请求频繁的内容将以更大比例存储在邻近用户的节点上,以便用户就近取得,但该策略同样未考虑数据块在缓存中的停留时间问题。
典型的缓存替换策略(具体工作原理见第2章)包括随机替换策略、最近不常使用替换(Least Frequently Used,LFU)策略、最近最少使用(Least Recently Used,LRU)替换策略和一些改进策略,以及先入先出(First Input First Output,FIFO)策略等。随机替换策略是当节点中需要放置新的缓存内容时,对该节点缓存空间中的原内容随机选择替换。LRU策略[35-36]是替换节点(Content Store,CS)区域上最近最少使用的内容。它的含义是最近访问时间内最少访问的内容失去了热度,因而将其从CS中删除,把存储空间留给其他最近的流行内容。但是该策略存在很大的问题,当某个内容在最近时间内被访问时,即使它可能只被访问一次,也可能替换掉节点上CS区域的“热点”内容,这就导致了节点上CS区域空间资源的不合理使用。LFU策略[37]能够统计最近某个时间段内不同内容被访问的次数,移除访问次数较少的数据内容,引入新的数据内容进行更新。LFU策略虽然改善了LRU策略在缓存更新时可能替换掉“热点”内容的问题,热点内容长期保留在LFU记录中会造成潜在的缓存污染。LRFU策略[38]是LRU策略和LFU策略的结合,具体来说,就是针对不同的具体情况,计算LRU策略、LFU策略的影响因素(访问时间和访问频率不同的权重),以适应不同的需要。但是,LRFU策略在确定影响因子的权重方面是一个难题。FIFO策略[39]的核心思想是最先缓存的内容最先被删除。FIFO策略的实现非常简单,只需要借助一个队列就可以完成。但是,FIFO策略缺乏对内容流行度的考虑,从而可能导致缓存污染问题。
从缓存替换策略的现有研究工作来看,结合内容请求流行度开展策略设计是主要趋势,设计目标一方面应保持低复杂性,另一方面应良好平衡不同流行度内容在网络各节点中的存储比例,保证网内存储内容的多样性对于提升CCN全网性能至关重要,这方面的工作还有一定的研究空间。
将CCN架构应用于无线网络[45],也是近年来兴起的一个研究分支,而无线CCN中的缓存决策问题就显得至关重要。这方面的研究工作,目前主要从两个方向开展:一是考虑无线节点处理能力与缓存容量有限,需要更严格地控制无线节点的缓存开销;二是针对无线CCN网络应用场景,结合具体应用特点开展跨层设计工作。从控制无线节点缓存开销的角度,Xu等[46]针对无线网络环境,提出了一种基于节点的无线网络位置及缓存大小等因素的协作式缓存机制,以避免网络中存在过多副本。Zhou等[47]通过在无线网络中选择缓存利用率较高的节点,平衡网内的缓存内容副本数与内容获取速度。从与具体网络应用场景结合的角度,文献[48]中针对移动社交网络,根据社交关系中的兴趣属性,选择与目标节点具有类似兴趣的节点(相遇概率较大)缓存目标关注内容,实现内容尽可能快速地转发。文献[49]中针对VANET中车辆间的社交协作关系,提出了基于信使辅助机制的协作缓存机制,该机制旨在增强CCN的缓存性能,提高流媒体的服务质量。
详细的研究工作将在第4章讨论分析。
1.2.2 路由转发策略研究
基于IP协议的传统路由方式的四大技术难题包括TCP/IP的地址空间枯竭、渗透问题严重、移动性支持困难及IP地址管理复杂。内容中心网络的核心是以内容为中心,具备基于名字对内容进行定位的能力,即基于名字的路由。因此,内容中心网络的路由转发策略影响着其体系结构的性能与效率。
如表1-5所示,现有的CCN路由转发策略主要包括3种:全转发策略、随机转发策略、蚁群转发策略。全转发策略是当前CCN原型中采用的策略。路由节点根据FIB中的指令将兴趣包转发给所有下一跳端口。这样的路由策略可以减少数据延迟,但会导致大量的冗余传输,造成流量的浪费。在随机转发策略中,路由节点随机选择一个下一跳端口作为路由兴趣包的转发端口,以减少网络中的冗余流量,但不能保证请求内容的用户可以尽可能快地获取内容对象。基于蚁群算法的转发策略称为蚁群转发策略,在文献[36]中首次提出,基于蚁群算法的转发策略在网络中发送嗅探报文以探索下一跳端口的路径信息,找到最佳端口,该方法具有较强的稳健性,可以同其他方法相结合,通过正反馈的方式收集需要的信息,现在常用来解决路由优化、资源调度等问题。
详细的研究工作将在第3章讨论分析。
表1-5 CCN路由转发策略
1.2.3 内容命名机制研究
在CCN中,内容名字是内容的唯一标识,因为在CCN中的数据包不再需要指定源地址与目标地址,取而代之的是直接采用内容对消息进行命名。TRIAD(Translating Relaying Internet Architecture Integrating Active Directories)[40]与NDN[41]共同提出一种具有层次性的文件内容命名方法,以类似于Web URL的结构化标识名对内容进行命名,用于网络唯一确定内容对象。相比扁平化命名,这一命名规则的设计可以通过内容聚合有效提高路由器的可扩展性。CCN命名机制的设计原则为:①唯一性:内容对象在全网中应该具有唯一的命名,以便实施有效的内容检索;②位置无关性:内容名字应独立于主机位置,当内容在网内被移动或复制时,内容名字不会改变;③可扩展性:内容名字应体现出关联数据对象之间的联系(如某个文件拆分出的多个数据块),并通过解耦命名与寻址,对组播、多播提供支持。
典型的CCN命名应包括内容前缀、内容提供者、内容类型及具体内容信息。例如,在内容名字“/njupt.edu.cn/Video/Computer_Networks/Lecture_1.mpeg”中,“/njupt.edu.cn/Video/Computer_Networks”为内容前缀,用于在网络中进行内容的查找和转发,“/njupt.edu.cn”表示内容提供者,“/Computer_Networks”表示内容类型,“/Lecture_1.mpeg”为具体内容的名字。
分层命名和扁平命名方法均具有各自的优缺点。在形式上,分层命名比扁平命名更便于人们理解和记忆,并且其可聚合的特点也有利于控制路由规模,但后者在安全性、灵活性方面比前者更具优势。
1.2.4 网络安全机制研究
由于CCN架构的特性,CCN网络面临的隐私和风险比当前网络要大得多。CCN的网络安全问题亟待解决。在隐私保护方面,CCN包含可访问和不可访问两部分,在不可访问部分使用公共密钥进行加密和身份验证。针对CCN网络体系结构,内容对象的命名方式和内容安全机制的结合具有很大的挑战。CCN安全机制直接从路径保护转变为面向内容的保护,CCN网络体系结构采用了层次化的命名体系,使用前缀最长匹配的方式对内容名字进行解析。如果节点路由器存有请求的内容,则立即返回,若没有相应内容,则通过匹配将请求继续发到下一个路由器节点,直到请求被满足。在CCN网络体系结构中,名字路由和内容传输的过程是合二为一的,而且这一设计完全抛开了IP网络的概念。但层次化的命名方式与网络拓扑无关,同样也会导致路由表膨胀。因此,为了显示CCN能够实现全球规模的部署,首先要解决的问题是可扩展的路由和限速的转发引擎。如何有效地基于内容名字进行路由,在建立路由的过程中合理有效地利用网络中的缓存,参考概率路由设计,提升转发兴趣包在CCN网络中的命中概率,甚至建立多路径转发,仍然是CCN中值得研究的关键问题之一。同时,泛洪攻击、内容源攻击和移动封锁攻击都是路由机制要解决的问题。
CCN的目标是实现高效、安全和易于维护的内容分发,但是CCN的内在特征使其面临与TCP/IP不同的隐私和可用性的风险,这迫切需要一些新的安全解决方案来检测和阻止所有的潜在攻击。这些解决方案需要满足5个安全需要:机密性、数据完整性、可认证性、隐私保护和有效性。
(1)机密性:只有符合条件的实体能够访问安全的信息。
(2)数据完整性:接收端能够识别/鉴定接收内容在传输过程中任何无意或有意的改变。
(3)可认证性:接收端能够验证接收内容的发布者是否合法。
(4)隐私保护:能够对通信节点的身份、行为、通信内容等隐私信息进行保护。
(5)有效性:保证了对于授权实体来说网络中发布的内容必须能够可用和可访问。
详细的研究工作将在第5章讨论分析。