论文部分内容阅读
随着计算机网络技术的快速发展,因特网渗入到人们生活的方方面面,越来越多的数据内容如电子商务、视频媒体进入网络,整个因特网的主要用途已经从传统的资源共享变成了内容分发。为了从根本上满足日益增长的数据内容分发的需求,信息中心网络ICN (Information Centric Networking)体系结构被提出来。ICN方案的一个重要特点就是网络中的路由器具有缓存数据内容的功能以改善网络传输数据内容的效率,该特点被称为ICN的网络缓存功能。网络缓存可以减少整个网络需要传输的数据量,也可以降低发生网络拥塞的可能性,并可以降低内容服务器的负载。因此网络缓存在彰显ICN的优势方面扮演着重要的角色,它的性能对ICN的系统性能有着至关重要的影响。作为一个独特的网络体系结构功能,网络缓存引入了许多新问题:首先,当前每个ICN路由器无差异地普遍缓存任何途经的数据内容报文,由于路由器中缓存空间有限,无差异的普遍缓存不仅在数据内容报文传输的路径上(on-path)造成了不小的冗余,而且产生了不必要的频繁的缓存置换更新。其次,当前ICN路由器并不能感知和定位其他邻近路由器所缓存的内容,用户请求传输路径之外(off-path)大量就近缓存的内容没有被利用,而且临近路由器中的内容缓存缺乏协作,路由器中的缓存空间未能被有效利用,缓存空间的潜在能力没有被充分释放和发挥。缓存已经是当今因特网用于减少带宽消耗的一个实用工具(如Web,P2P),而且优化缓存系统的缓存理论和技术已经得到大量的研究。但ICN网络缓存异于传统缓存的透明性、普遍性和精细化的特征使得网络缓存系统的数学建模和分析增添了难度,也使得现有的为Web缓存系统和CDN缓存系统开发的模型和集中式的复杂协作缓存优化技术难以直接无缝地植入到网络缓存中。现有的网络缓存方面的研究工作几乎都是独立讨论缓存内容的放置,没有将缓存内容的放置与缓存内容的定位相互结合。缓存内容的合理定位可以提高off-path缓存内容的使用率,可以避免缓存内容的放置形成冗余的缓存,可以提高网络缓存器之间协作缓存的程度。本文的工作以ICN的重要代表DN(Named Data Networking)为背景,将缓存内容的可达性适度引入路由,基于缓存可感知的路由设计简单而有效的网络缓存管理方案以减少缓存冗余,提高缓存内容的使用率和缓存空间的利用率,并减少用户请求数据内容所需开销。本文的主要工作和研究成果如下:1.当前on-path缓存机制存在冗余缓存和不必要缓存置换。针对这个问题,提供了一种机会型的on-path网络缓存机制(OPPORTUNISTIC)。即使不能感知其他节点中缓存的内容,该机制使路由器选择性地缓存本地流行度高和离数据源远的内容,实现数据内容的差异化缓存,减少不必要的缓存置换操作:同时,由于ICN网络存在请求聚合和缓存过滤的特征,网络中的每个路由器对数据内容的流行度分布有不同的视图,加上每个路由器在网络中位置不一样,不同路由器也偏向于缓存不同的数据内容,减少冗余的缓存。2.若暂态缓存内容只有本地可以感知,路由器不能使用off-path就近暂态缓存的内容,也会导致冗余的缓存。针对这个问题,提出了一种将内容放置、置换和定位相结合的网络缓存机制(PRL)。该机制支持缓存可感知的路由,使得路由器可以感知和定位临近路由器暂态缓存的内容,提高暂态缓存内容的使用率,同时内容放置、置换和响应用户请求时考虑临近节点内的暂态缓存内容,进而减少网络中缓存内容的冗余度以及不必要的内容缓存和置换,有效利用网络缓存器的缓存空间,改善网络传输数据内容的性能。3.针对传统集中式的复杂协作缓存优化技术难以应用到稳态缓存内容的网络协作缓存中的问题,提出了一种分布式的协作缓存机制(DICC)。该机制将稳态缓存内容的网络协作缓存的问题形式化为一个带约束条件的优化问题,然后使用拉格朗日松弛法和原始对偶分解法将优化问题分解为一系列的缓存内容放置决策子问题和数据内容定位子问题,每个缓存内容放置决策子问题可以在各路由器处分布式地解决,然后缓存可感知的路由使得数据内容定位的子问题也可以在各路由器处分布式地解决。DICC以节点间少量的通信开销最终实现网络缓存器之间对稳态缓存内容的共享以及协作缓存。4.将AS节点抽象为自治缓存器,针对自治缓存器试图最小化的只是它自身的数据内容访问开销而非整体的数据内容访问开销的情况,提出了一种自治缓存器间的网络协作缓存机制(NSCC)。该机制采用博弈论的方法——迭代最佳对策:在每轮中,基于本地用户对数据内容的请求率信息、到其他缓存节点访问内容的“价格”以及缓存可感知的路由提供的其他节点的缓存决策,自治的缓存节点依次独自决定本地应该缓存哪些内容才是最佳的对策,最终找到满足所有自治节点理性参与协作缓存限制条件的全局内容放置方案,促使这些自治的节点参与协作缓存。5.提供了NSCC在NDN中的实现模型。该模型给出了实现NSCC理论模型所需的请求率信息收集、节点间信息同步、缓存决策、内容缓存和错误事件检测五个功能设计。该功能设计的正确性在实现NDN体系结构的CCNx库之上得到了验证。