论文部分内容阅读
近年来,P2P技术已得到大规模应用,以BitTorrent、迅雷、电驴、Gnutella等为代表的P2P应用迅速流行。P2P应用日益流行的同时给网络服务提供商(ISP)带来巨大的网络流量压力。如何合理优化P2P流量及其分布,成为ISP共同面对的难题。P2P缓存技术是一种减轻ISP运营压力的有效手段:相比限制P2P流量的方法,对用户更加友好;相比流量本地化方法,无需修改客户端,也不要求ISP与P2P应用系统的相互配合,ISP可以独立实现。近年来,P2P缓存技术受到工业界和学术界的关注。P2P缓存部署策略用于从接入网络出口等备选位置中选择最优子集进行缓存设备部署并为各缓存设备分配存储容量,是P2P缓存技术研究的核心问题,部署好坏将直接影响到P2P缓存的服务质量和运行效率。目前P2P缓存技术已经得到较广泛的研究,然而作为关键内容之一的P2P缓存部署问题研究尚处于起步阶段。 本论文以优化ISP网络P2P流量为目标,围绕P2P缓存部署策略展开研究。由于不同种类的ISP具有不同部署场景和需求,很难设计一种适用于各类ISP的通用P2P缓存部署策略,因而需要针对不同种类ISP分别展开研究。本文分别针对接入级ISP、不允许缓存骨干流量的骨干级ISP和允许缓存骨干流量的骨干级ISP的缓存部署策略进行了深入研究,主要的贡献和创新性成果如下: 1.针对接入级ISP,提出一种最小化出口流量花费的P2P缓存容量设计方法。目前,还没有最优P2P缓存容量设计方法被提出。虽有文章对传统Web缓存容量设计方法进行了研究,但是由于Web请求模式与P2P请求模式不同等原因,这些方法并不能直接应用于P2P缓存场景。本文提出一种权衡存储成本和带宽成本的P2P缓存容量设计方法,以最小化ISP出口流量总花费为目标,将最优缓存容量设计问题描述为整数规划问题,其目标函数形式为单调阶梯函数,通过理论推导得出最优缓存容量计算公式指导接入级ISP进行缓存容量设计。将本文所提方法与No Cache、Median和“20-80 Rule”等几种ISP常用的容量设计方法进行性能比较,结果表明,本文所提方法明显优于已有方法,与目前ISP最认可的“20-80 Rule”相比,应用本文所提方法的ISP出口流量总花费最多可降低7.5%。 2.针对不允许缓存骨干流量的骨干级ISP,提出一种基于流量距离因子的P2P缓存选址与容量分配算法(LSCA)。首先,本文综合考虑骨干网络拓扑、内容热度变化和缓存状态更新等信息建立与骨干流量相关的ISP收益函数和缓存部署模型;其次,基于该模型将P2P缓存部署问题形式化为一个最优化问题,该问题为NP完全问题;最后,为设计具有多项式时间复杂度的缓存部署算法,本文定义流量距离因子并利用该因子对原P2P缓存部署问题进行模型变换,然后基于变换后的模型进行部署算法设计。仿真实验结果表明,针对典型的H&S型、Ladder型骨干网络拓扑,LSCA与已有部署算法相比均具有更好的性能,能降低更多骨干网络负载。应用LSCA算法后,平均链路使用率比已有算法Degree低14~21%,比已有算法Centrality低9~12%;平均传输跳数比Degree低18~29%,比Centrality低11~20%。 3.针对允许缓存骨干流量的骨干级ISP,提出一种基于点路结合的P2P缓存部署算法(NLCD)。该算法根据缓存部署过程中P2P流量分布和缓存存储状态的动态变化灵活选择骨干节点或骨干链路作为部署位置。首先,建立以网络负载最小化为目标的缓存部署模型;然后,基于该模型将基于点路结合的缓存部署问题形式化为一个最优化问题;最后,设计一种启发式贪婪算法进行求解。仿真实验结果表明,在不同的网络拓扑场景下,与已有缓存部署算法NCD和LCD相比,NLCD算法均具有更好的性能,能降低更多骨干网络负载。对于4种网络拓扑CW、Qwest、CAIS、NI,使用NLCD算法的平均链路使用率比使用LCD算法分别平均低约7%、5%、5%、13%,比使用NCD算法分别平均低约12%、8%、25%、26%;使用NLCD算法的平均传输跳数比使用LCD算法分别平均低约30%、30%、28%、52%,比使用NCD算法分别平均低约40%、42%、70%、60%。