硕士论文-Cache技术在P2P范型中的新型应用.pdf_第1页
硕士论文-Cache技术在P2P范型中的新型应用.pdf_第2页
硕士论文-Cache技术在P2P范型中的新型应用.pdf_第3页
硕士论文-Cache技术在P2P范型中的新型应用.pdf_第4页
硕士论文-Cache技术在P2P范型中的新型应用.pdf_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

兰州大学 硕士学位论文 cache技术在p2p范型中的新型应用 姓名:汪树勋 申请学位级别:硕士 专业:计算机软件与理论 指导教师:徐德启 20070601 摘要 随着计算机技术的快速发展和宽带网络的进一步普及,p 2 p 技术被誉为改变互联网 未来的新技术之一,各种p 2 p 类型应用层出不穷,但是当前的一些p 2 p 典型应用给电信 主管部门和运营商带来了一些麻烦。主要表现在两个方面:一是p 2 p 类应用吞噬带宽, 二是p 2 p 类应用难以监管。 c a c h e 技术的应用在互联网中非常普遍,本文将c a c h e 技术和p 2 p 技术相结合,设 计了一种运营商内部网络p 2 p 流量缓存系统p 2 p c a c h e ,在不影响客户p 2 p 应用体验的 情况下,为运营商优化现有网络,降低出口流量,主要工作体现在以下几个方面: 首先,设计了一种新型的、适用于各种网络环境的p 2 p 流量缓存系统p 2 p c a c h e , 它通过将各种p 2 p 应用请求重定向至内网t r a c k e r 服务器,由内网t r a c k e r 引导客户进 行传统的p 2 p 互联,从而达到促进内网用户互联,节省出口带宽的目的。该系统构架具 备较好的可复用性,在改变重定向方式后可应用于其他p 2 p 实例。 其次,在p 2 p c a c h e 系统中较好地解决了系统负载问题,在对用户下载行为和内容 命中率的分析的基础上,为不同的用户或者内容提供区别服务,并给出了一种部分重定 向算法来实现。 再次,针对传统协议分析技术无法对p 2 p 流量进行准确的预估和判断的弊端,给出 了针对应用层分析的新的协议分析手段及实现过程。 最后,对文中所提出的流量缓存系统通过实际运行进行了验证。 关键词;p 2 p重定向 c a c h eb t 协议 a b s t r a c t w i t ht h ec o m p u t e rt e c h n o l o g yd e v e l o p m e n ta n dt h ew i d eb a n dn e t w o r kf u r t h e r p o p u l a r i z a t i o n ,t h ep 2 pt e c h n o l o g yw a sr e g a r d e da st h eo n eo fi n t e r a c tf u t u r en e wt e c h n i c a l e a c hk i n do fp 2 pt y p ea p p l i c a t i o ne m e r g e so n ea f t e ra n o t h e ri n c e s s a n t i y , b u tt h ec u r r e n ts o m e p 2 pa p p l i c a t i o nh a sb r o u g h ts o m et r o u b l e sf o rt h et e l e c o m m u n i c a t i o nd e p a r t m e n t m a i n l y d i s p l a y si nt w oa s p e d s :o n ei sap 2 pk i n do fa p p l i c a t i o ns w a l l o w st h eb a n dw i d t h , t w oi sa p 2 pk i n do fa p p l i c a t i o ns u p e r v i s e sa n dm a n a g e sw i t hd i f f i c u l t y t h ec a c h et e c h n o l o g ya p p l i c a t i o ni s e x t r e m e l yc o m m o ni nt h ei n t e m e t , t h i st h e s i s u n i t e st h ec a c h et e c h n o l o g ya n dt h ep 2 p t e c h n o l o g y , h a sd e s i g n e do n ek i n do fi n t e r i o rp 2 p c a p a c i t yb u f f e rs y s t e mi nt e l e c o m m u n i c a t i o nd e p a r t m e n tc a l l e dp 2 p c a c h e ,i nd i dn o ta f f e c t t h ec u s t o m e rp 2 p a p p l i c a t i o ne x p e r i e n c e ,o p t i m i z e dt h ee x i s t i n gn e t w o r k , r e d u e c dt h er a t eo f d i s c h a r g e ,t h em a i nw o r km a n i f e s t e di nf o l l o w i n g s : f i r s t l y , c o u n t e dan e w , s u i t a b l ef o re a c hk i n do fn e t w o r ke n v i r o n m e n tp 2 pc a p a c i t y b u f f e rs y s t e mp 2 p c a c h e i tr e d i r e c tp 2 pa p p l i c a t i o nr e q u e s tt oi n n e tt r a c k e rs e r v e r , t h u s a c h i e v e dt h eg o a lt h a tt h ei n n e ru s e ri n t e r c o n n e c t i o n ,s a v e dt h ee x p o r t a t i o nb a n dw i d t h t h i s s y s t e mh a sw e l lr e u s e ,a f t e rc h a n g i n gt h er e d i r e c tw a yc a nb ep o s s i b l ea p p l yt oo t h e rp 2 p a p p l i c a t i o n s e c o n d l y , i nt h ef o u n d a t i o no fa n a l y s i su s e rd o w n l o a d i n gb e h a v i o r , s o l v e dt h es y s t e m l o a db a n l a n c ep r o b l e mw e l li nt h ep 2 p c a c h es y s t e m ,p r o v i d e st h ed i f f e r e n c es e r v i c ef o rt h e d i f f e r e n tu s e r , a n dp r o d u c eo n ek i n do f p a r tr e d i r e c ta l g o r i t h mt or e a l i z e t h i r d l y , i nv i e wo ft h et r a d i t i o np r o t o c o la n a l y s i st e c h n o l o g yi su n a b l et ot h ep 2 pc u r r e n t t oc a r r yo nt h ea c c u r a t ee e s t i m a t e , h a sp r o d u c e dt h en e wp r o t o c o la n a l y s i sm e t h o do f a p p l i c a t i o nl e v e la n dp r o d u c et h er e a l i z a t i o np r o c e s s f i n a l l y , t h r o u g ht h ea c t u a lm o v e m e n tc o n f i r mt h ec u r r e n tb u f f e rs y s t e mw h i c hp r o p o s e d i nt h i st h e s i s k e y w o r d s :p 2 p ,r e d i r e c t ,c a c h e ,b tp r o t o c o l n 原创性声明 本人郑重声明:本人所呈交的学位论文,是在导师的指导下独立进 行研究所取得的成果。学位论文中凡引用他人已经发表或未发表的成 果、数据、观点等,均已明确注明出处。除文中已经注明引用的内容外, 不包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究成果做出重要贡献的个人和集体,均已在文中以明确方式标明。 本声明的法律责任由本人承担。 论文作者签名: 江越盈由 日期:盘! ! :坦 兰州大学学位论文使用授权声明 本人学号在导师的指导下创作完成毕业论 文。本人已通过论文的答辩,并被兰州大学授予博士硕士学士学位。本 学位论文作者完全了解“兰州大学关于保存、使用学位论文的管理办法”, 掷: 本人按照学校要求提交学位论文的印刷本和电子版本; 学校按规定保存提交学位论文的印刷版和电子版,并提供目录检索与 阅览服务; 学校可以采用影印、缩印或其他复制手段保存学位论文; 学校可以按著作权法及知识产权法的有关规定公布学位论文的全部或 部分内容。 作者签名:江越勘导师签名:丛监丛 e l期: 建生! 年羔月馑日 兰州大学硕士学位论文 1 1 研究背景 第一章绪论 对等网络技术( p e e rt op e e r ,p 2 p ) 1 1 ,2 j 是有别于当前采用客户端服务器模式浏 览器技术的一种新技术,应该说是一种很好的技术,但是当前的一些典型应用给电信主 管部门和运营商带来了一些麻烦。主要表现在以下方面: ( 1 ) p 2 p 类应用吞噬带宽 基于p 2 p 技术的下载应用无限制吞噬带宽,使原本就不堪重负的互联网进一步拥塞。 b t ( b i t - t o r r e n t ) 3 1 、e m u l e 4 l 等下载工具的广泛应用引起了互联网运营商的极大恐慌。 b t 类业务的流量占据了超过4 0 的网络带宽,影响了其他业务的服务质量,更可怕的 是无论运营商如何扩容,带宽似乎永远不够,运营商之间互联带宽加倍后会在短短的几 周内被占满。如何应对无限制吞噬带宽的p 2 p 类下载业务。运营商目前面临两难的选择, 封堵p 2 p 下载应用还是改变包月收费模式为流量收费? 劣化p 2 p 下载应用服务质量还 是继续扩容? ( 2 ) p 2 p 类应用难以监管 基于p 2 p 技术的即时通信工具( i n s t a n tm e s s a g i n g ) 1 5 6 】使合法监听难以实施。传统 电信网络都具备合法监听的手段。为保障国家安全,通信网络在保障个人通信自由和通 信秘密的前提下,还需要设立合法监听的监听点。基于p 2 p 技术的即时通信工具在业务 层没有一个集中的点来建立呼叫或者安排路由,因此不能基于业务控制设置合法监听 点。当然p 2 p 技术的即时通信工具所产生的控制流和通信漉一般也会依次经过接入设 备、汇聚设备、骨干设备、互联设备,再到通信对端的骨干设备、汇聚设备以及接入设 备。虽然可以在骨干设备或者互联设备上得到经过该设备的所有数据,但是由于数据量 过大,一般很难进行实时的海量分析。因此在基于p 2 p 技术的即时通信中合法监听实施 相对困难。此外由于p 2 p 通信由两端计算机直接协商,很容易实现端到端强加密,即使 第三方得到通信数据,也很难在较短时间使用较小代价解密。 互联网的开放性使得大量的互联网增值业务可以迅速开发和部署,自从2 0 0 2 年b t 技术产生以来,迅速成为了互联网上最高效、便捷的下载工具,目前,根据主流运营商 的统计,大约5 0 - - 7 0 的带宽被p 2 p 流量所占据。 下图就是在国内某运营商的出口进行监测所得到的数据图: 兰州大学硕士学位论文 图1 1 - 1 流量图 p 2 p 流量占用大量带宽的原因是由于当前的p 2 p 应用主要是视频、软件等大文件下 载,一般文件尺寸都在1 0 0 m 以上,过去由于用户下载基本上通过服务器进行下载,带 宽受限于服务器的处理能力和连接带宽,因此,运营商为用户分配的端口速率一般有较 大的富余。而由于b t 等p 2 p 下载工具充分利用了网络上其他节点的文件存储能力,导 致用户基本上可以以运营商分配的端口速率全速下载,而这些大量的流量除了一部分以 请求本地网节点的方式体现,大部分以运营商出口流量的方式体现。另外,由于当前的 b t 下载方式,对节点的请求顺序主要是依据b i t f i e l d 最少的部分优先请求,其他请求 则采取随机请求方式。导致了每个下载节点并不优先从本地网节点请求流量,因此,很 多下载流量对运营商出口形成了较大的压力。 1 2 本文研究内容 综上所述,p 2 p 应用给运营商带来不少问题,但是从p 2 p 流量的大幅度增长来看, p 2 p 应用也是一个用户非常欢迎的应用。不少用户使用运营商宽带网或者把宽带网计时 方式改为包月方式,一个重要原因是因为希望使用p 2 p 业务。因此,这也就带来一个重 要原则,对p 2 p 流量不能仅仅采用“堵”的方式,这种方式很容易导致用户的不满意, 而转到其他运营商网络上。而要采用“疏”的方式,在不影响用户满意度或基本不影响 2 兰州大学硕士学位论文 用户满意度的情况下,解决上述问题。 本文的主要研究内容有: 设计了一种新型的、适用于各种网络环境的p 2 p 流量缓存系统p 2 p c a c h e ,加 强了运营商对网络流量的监控和管理,优化运营商现有网络质量,降低出口流 量成本。 在p 2 p c a c h e 中针对b t 用户,提出了一种f 2 p 网络中的负载均衡方案。通过 对用户下载行为和内容命中率的分析,为不同的用户或者内容提供区别服务, 以得到较好的p p c 服务器利用率和命中率。 针对传统协议分析技术无法对p 2 p 流量进行准确的预估和判断的弊端,给出了 通过对应用层数据包内容进行解析的新的协议分析手段及实现过程。 对文中所提出的流量缓存系统p 2 p c a c h e 通过实际运行进行了验证。 1 3 本文的组织 本文首先在第二章中分析了目前流行的一些p 2 p 的应用系统构架,对它们的优缺点 进行了归纳分析,并介绍了目前应用于p 2 p 系统节点组织的一些d h t 算法以及当前最 流行的b t 文件传输协议。随后,在第三章中,构造了基于b t 应用的系统构架p 2 p c a c h e , 并按各个模块组成对其进行了简单的概述,总结了此构架的优缺点。在第四章中,对 p 2 p c a c h e 系统构架中的负载均衡方案进行了详细的研究论述。第五章介绍了p 2 p c a c h e 系统中的关键技术难点,并通过实际运行论证了系统的可行性,最后本文进行了总结, 并对下一步的工作进行了展望。 3 兰州大学硕士学位论文 第二章基于对等网络文件共享的相关知识 2 1p 2 p 定义及典型应用 从广义上说,p 2 1 应用是由若干互联协作的计算机构成的系统1 1 , 2 l ,并具备如下若干 特性:系统依存于边缘化( 非中央式服务器) 设备的主动协作,每个成员直接从其他成 员而不是从服务器的参与中受益,系统中成员同时扮演服务器与客户端的角色,系统应 用的用户能够意识到彼此韵存在构成一个虚拟或实际的群体。一般来说有下列应用采用 p 2 p 技术: i c q 、s k y p e 类的即时通信应用瓯6 l 。两个或多个用户互相使用文字、语音或视频进 行交流。利用p 2 p 技术可以弱化甚至摆脱对服务器的依赖,这样的通信更接近人与 人的通信模式。 海量存储类数据存储应用,如m i c r o s o f t 提出的f a r s i t e 7 1 。在网络上将存储对象分散 化存放。而不像现在放置在专用服务器,可以减轻服务器负担,增加数据的可靠性 和传输速度。 n a p s t e r 、b t p j 类文档交换应用。实现数据和文件共享,使用者可以直接从任意一台 安装同类软件的p c 下载及上传文件,而不是从服务器上传及下载。用户可以检索、 复制共享的文件。软件自动发现最新的文件列表,发布者无需使用其他途径发布。 i n f r a s e a r c h 、p o i n t e r a l 9 】类数据搜索及查询软件。用来在p 2 p 网中完成信息检索,动 态地将当前p 2 p 网络中各个对等点的内容进行收集,并且有效地向用户传递。 n e t b a t c h ( i n t e l ) 1 1 0 1 类协同计算应用。现有实验可连接近1 万台p c ,利用它们的空 闲时间进行协同计算,完成超级计算量的工作( 如空间探测、分子生物学计算、芯 片设计) 。 o r o o v e ! ”l 类数据或行动协同应用,是基于p 2 p 连接的软件工具,可以建立一个安全 的企业级协同工作平台( p 2 p 网) ,提供供求信息链上的互动信息沟通,如货品目录、 库存及发货清单,帮助使用者进行经销渠道维护、客户服务和支持。 在线游戏类应用。许多双人及多人对弈网络游戏采用p 2 p 技术交换数据。 4 兰州大学硕士学位论文 2 2p 2 p 系统的分类 p 2 p 主要分为2 类【1 2 1 ,一类是非结构化p 2 p ,第二类是结构化p 2 p 。所谓结构化与 非结构化模型的根本区别在于每个节点所维护的邻居是否能够按照某种全局方式组织 起来以利于快速查找。结构化p 2 p 模式是一种采用纯分布式的消息传递机制和根据关键 字进行查找的定位服务,目前的主流方法是采用分布式哈希表( d i s t r i b u t e dh a s ht a b l e , d h n 【1 3 ,1 4 j 技术,由于d h t 各节点并不需要维护整个网络的信息,只在节点中存储其 临近的后继节点信息,因此较少的路由信息就可以有效地实现到达目标节点,同时又取 消了泛洪算法。该模型有效地减少了节点信息的发送数量,从而增强了p 2 p 网络的扩展 性。同时,出于冗余度以及延时的考虑,大部分d h t 总是在节点的虚拟标识与关键字 最接近的节点上复制备份冗余信息,这样也避免了单一节点失效的问题。 目前基于d h t 的代表性的研究项目主要包括加州大学伯克利分校的c a n 项目l 明 和t a p e s t r y 项目1 1 6 1 ,麻省理工学院的c h o r d 项卧1 7 埘,以及微软研究院的p a s t r y 项目【刎 等。这些系统一般都假定节点具有相同的能力,这对于规模较小的系统较为有效。但是 基于d h t 的拓扑维护和修复算法比g 删t e l l a 【2 l ,2 2 1 模型和k a z a a 2 3 j 模型等无结构的系统 要复杂得多,目前大量实际应用还大都是基于无结构的拓扑和泛洪广播机制。 非结构化p 2 p 网络是目前主要应用的p 2 p 系统,从p 2 p 发展历史上,主要从集中式 结构,发展到分散式结构和半集中式结构。 集中式p 2 p 结构是最早出现的p 2 p 应用模式,因为仍然具有中心化的特点也被称为 非纯粹的p 2 p 结构。用于共享m p 3 音乐文件的n a p s t e r l 8 l 是其中最典型的代表,其用户 注册与文件检索过程类似于传统的c s 8 】模式,区别在于所有资料并非存储在服务器上, 而是存贮在各个节点中。查询节点根据网络流量和延迟等信息选择合适的节点建立直接 连接,而不必经过中央服务器进行。这种网络结构非常简单,但是带来法律问题导致网 站被关闭。 分散式结构取消了集中的中央服务器,每个用户随机接入网络,并与自己相邻的一 组邻居节点通过端到端连接构成一个逻辑覆盖的网络。对等节点之间的内容查询和内容 共享都是直接通过相邻节点广播接力传递,同时每个节点还会记录搜索轨迹,以防止搜 索环路的产生。 g n u t e l l a l 2 1 ,矧模型解决了网络结构中心化的问题,扩展性和容错性较好,但是 g n u t e l l a 网络中的搜索算法以泛洪的方式进行,控制信息的泛滥消耗了大量带宽并很快 5 兰州大学硕士掌位论文 造成网络拥塞甚至网络的不稳定。 分散式结构为了改善查询速度,k a z a a 【模型引入了超级节点的概念,k a z a a 模型 将节点按能力不同( 计算能力、内存大小、连接带宽、网络滞留时间等) 区分为普通节点 和搜索节点两类( 也有的进一步分为三类节点,其思想本质相同) 。其中搜索节点与其临 近的若干普通节点之间构成一个自治的簇,簇内采用基于集中目录式的p 2 p 模式,而整 个p 2 p 网络中各个不同的簇之问再通过纯p 2 p 的模式将搜索节点相连起来,甚至也可 以在各个搜索节点之间再次选取性能最优的节点,或者另外引入一新的性能最优的节点 作为索引节点来保存整个网络中可以利用的搜索节点信息,并且负责维护整个网络的结 构。 半集中式结构的典型代表是b i t t o r r e n t l 3 1 ,半集中式结构与集中式结构比较类似,通 过t r a c k e r 服务器进行内容定位,只不过这个t r a c k e r 服务器不是一个,而是任意多个, 这样,就避免了版权问题。同时,由于b i t t o r r e n t 的设计考虑了多点下载、双向下载等 问题,因此,效率远远高于k a z z a 等同类p 2 p 下载工具,使得b i t t o r r e n t 成为互联网上 最流行的下载工具。 2 3p 2 p 网络中的资源查找 拨开p 2 p 各种应用光怪陆离的外衣,他们的核心问题就是如何在没有中心节点的情 况下实现资源的查找。一旦发现了需要的资源,节点之间的通信就和传统应用没有任何 区别了。但是,在分布、对等的条件下实现高效的查找是一项非常困难的任务。 n a p s t e r 设置了一个中心服务器来注册各个节点能提供的资源。任何节点需要查找时 都把请求提交给中心服务器完成。请求节点得到服务器的返回信息后,再按照p 2 p 的方 式直接连接拥有资源的节点。这种方案具有较好的查询效率,但是随着这个中心节点的 引入,系统也引入了一个容量瓶颈,引入了一个单点失败将会导致全系统瘫痪的关键点。 所以我们说n a p s t e r 还不能算一个彻底的p 2 p 系统。典型情况下f 2 p 网络中没有任何中 心控制,也没有层次结构。并且各个节点随时可以自由地加入或者离开网络。在这种分 布、动态的网络环境下要找到其他节点上的资源,一个直接的想法就是广播。需要查找 的节点向它知道的所有节点发出查询请求,收到查询请求的节点在本地搜索资源。如果 发现,就把结果返回给请求者;否则把请求继续向除了请求者以外的所有已知节点转发。 这很类似路由转发中的洪泛算法。这种策略可以最快地将搜索请求扩散到全部节点,并 且提供了非常高的容错性。但是,缺点也是显而易见的。这种查询产生的网络流量将会 6 兰州大学硕士学位论文 随查询的跳数按指数增长。一旦这个p 2 p 系统的节点数到达某个临界值,整个网络的带 宽将被不断产生的查询分组所耗尽。网络拥塞的结果致使大量的相邻节点被标志成无 效,整个p 2 p 网络将会瓦解成很多碎片,无法再组织起有效的资源。g n u t e l l a l 2 1 , 2 2 1 的实 际运行结果也证明了它的扩展性有限,不适合大型网络。关于f l o o d i n g 2 4 , 2 6 1 算法的优化 也有很多文章。但是归根结底,由于资源的分布是无序的,要进行一次完全查找必须遍 历所有节点。于是人们开始研究如何构造一种结构化的系统。在这些系统中,资源的位 置固然是无序的,但是资源的索引有序存放在确定的位置上。而这个位置也是由分布式 的算法确定的。需要查找资源时,节点直接根据查询的内容就能知道该向哪些节点提出 查询请求。目前最新的成果大多是基于d h t ( d i s t r i b u t e dh a s ht a b l e ) 【1 3 1 4 l 的分布式查找 路由算法。其中m 1 t ( 麻省理工1 提出的c h o r d l l 7 , 1 9 1 把所有节点映射到一个环状空间上, 资源索引也被均匀分布到这个环的节点上。每个节点维护一张指向这个环的不同位置的 路由表。它查找比较快速,节点维护的路由表比较小,能很好地适应节点加入退出的变 化,是一种优秀的方案。 2 4b t 的主体设计思想 b 一3 1 是为多个用户传输大型文件而设计的文件传输协议,主体设计思想是将文件分 散为多个块,然后将分散的文件块分发给不同的用户,用户之间再互相交换文件块。改 变过去多个用户从一台服务器读取文件的思想,直接在用户之间进行文件交换,大大提 高了下载传输的速度。 可以这样理解:首先在客户端把一个完整的文件分成了z 个部分,用户a 在服务器 随机下载了第n 个部分,用户b 在服务器随机下载了第m 个部分,这样用户a 的b t 就会根据情况到用户b 的电脑上去拿已经下载好的第m 部分,用户b 的b t 也会根据 情况到a 的电脑上去拿已经下载好的第n 部分,这样不但减轻了服务器端的负荷,也 加快了用户方( a 、b ) 的下载速度,效率也提高了。而且用户在下载的同时,也在上传。 b t 这种下载方式实际上是下载者之间“互相协助”,一个下载者不再是简单的“下 载”者,他既要下载,又要充当服务器把自己已经下载的文件或者某些已经下载的部分 提供给其他用户使用。b t 下载把过去那种“p e e r - t o p e e r ”的下载方式进化成为 “p e e r s - t o p e e r s ”,大大提高了下载速度。具体地讲,过去的“点对点”,是指一个具有 完整文件的点对应多个下载该文件的点,而b t 的“点对点”则是真正意义上的“多点 对多点”。 7 兰州大学硕士学位论文 2 4 1b t 系统的组成 一个完整的b t 系统主要由以下几个要素构成: w e b 服务器( w e bs e r v e r ) 跟踪器( t r a c k e r ) 静态的“m e t a - i n f o ”文件( t o r r e n t ) 具有完整文件的客户端( s e e d s ) 具有w e b 浏览器和b t 下载软件的客户端( 1 e e c h e r s ) w c b 胃r 务器t r a c k e r p e e ( 1 e 嘣l 田 图2 4 11 b t 系统 ( 1 ) w e b 服务器 该服务器提供了b t 发布的统一管理,用来进行b t 发布,并提供t o r r e n t 文件的 下载。 ( 2 ) 跟踪器( t r a c k e r ) t r a c k e 是指运行于服务器上的一个程序,这个程序能够追踪到底有多少人同时在下 载同一个文件。搜索网络上所有的点( p e e r s ) ,其中包括种子( s e e d s ) 和下载者( 1 e e c h e r s ) 。 并建立动态的用户列表( 1 i s t ) ,列表中包括其他在线用户的i p ,i n f o _ h 嬲h 等信息。用户 会定时的发送k e e p a l i v e 包,并告诉t r a c k e r 它的下载、上传等状态。客户端连上t m c k e r 服务器,就会获得下载人员的名单,根据这个,b t 会自动连上别人的机器进行下载。它应 该与w e b 服务器分离独立安装在别的机子上,但现在普遍的作法是将t r a c k e r 与w e b 服务器同时安装在一台微机上。 种子( s e e d s ) 简单的说,就是在b t 下载链中的发布者或下载完成者并保持文件链 接不关闭提供数据的用户。而下载者( 1 e e c h e r s ) 是指下载未完成的用户。 8 兰_ h 大学硕士学位论文 t r a c k e r 是b i t t o r r e n t 服务器最关键的一部分,如果t r a c k e r 关闭了,发布页上的所 有种子都将失效。 ( 3 ) 静态的“m e t a i n f o ”文件( t o r r e n t 文件) t o r r e n tf i l e 命名为:b t 下载链表文件,链表记录下载链的相关数据。如果你要发 布一个b t 下载,就要首先编译你要发布的文件,生成t o r r e n t 文件,然后启动下载链种 子。t o r r e n t 文件并不等于要下载的文件,它只是提供一些初始化信息,使你能连接到需 要下载的数据,发布t o r r e n t 的用户,需要启动第一次下载,并把保存目录指向你要发 布的文件,这样b t 软 牛就会扫描以后提供给其他人下载。它也是很重要的,如果没 有t o r r e n t 文件,你就无法知道下载的位置。 t o r r e n t 文件的作用:纪录了发布服务器的位置( a n n o u n c e 后跟的就是t r a c k e r 的位 置) ,让b t 知道是哪个t r a c k e r 服务器发布的,然后是一些文件信息:文件名,目录名, 长度等等,最后是片段长度,和片段的s h a l 校验码0 3 t 为了实现续传和文件校验,就把文 件分成若干个片段) 。 下图是用u l t r a e d i t 打开的一个t o r r 锄t 文件,从这个文件中可以看到相关信息。 a n n o u l l c e 记录了t r a c k e r 服务器的位置是h t t p :w w w m a n f e n n v t :7 8 0 2 a n n o u n c e ,文件名 为“绝对经典的黑客入门教程,适合新手”,后面的乱码为片段s h a l 校验码等。 图2 4 1 - 2t o r r e n t 文件 ( 4 ) 具有完整文件的客户端( s e e d s ) 9 兰州大学硕士学位论文 这个客户端具有完整的下载文件,也就是通常所说的种子( s e e d s ) 。种子的在线 才能保证其他的客户端不断的进行下载,直到完成整个文件的下载。下载过程中,用户 通常会发现若是种子( s e e d s ) 没有了,也就是种子数为0 时,他们的文件传输会停止 在5 0 ,6 0 ,甚至达到9 9 的情况不动了。所以说种子是很重要的,而且它的数目 越多,下载的速度也会越快。 ( 5 ) 具有w e b 浏览器和b t 下载软件的客户端( 1 e e c h e r s ) b t 客户端一般装有w e b 浏览器和b t 下载的源程序,通过w e b 浏览器连接到服务器, 然后下载得到t o r r e n t 文件,再通过h t t p 协议和t r a c k e r s 服务器取得联系。t r a c k e r 服务器可以提供给b t 客户端其他在线的用户,并与这些用户连接起来,从他们那里取 得需要下载的文件。客户端还要向t r a c k e r 实时的报告下载的状态,其中包括在线的种 子数目,下载人数,文件下载量,下载速度,文件上传量,上传速度,出错情况等信息。 2 4 2b t 会话过程 b t 作为一种文件传送协议,并不使用客户服务器的方式,而是点到点( p e e rt o p e e r ) 的传输方式。其中的w e b 服务器和t r a c k e r 与传统意义上的服务器不同,它们不 提供要下载的源文件,只提供一些用户需要互连的信息,仅仅起到传话筒的作用。 图2 4 2 - 1b t 会话过程 b t 会话过程:当一个新用户( n e wp e e r ) 要通过盯来下载文件时,首先向w e b 服 务器提出申请,这个提供b t 发布的w e b 服务器便会向用户提供一个t o r r e n t 文 件。t o r r e n t 文件中记录了t r a c k e r 服务器的地址,以及下载文件的相关信息。新用 户的b t 软件会分析t o r r e n t 文件,得到t r a c k e r 服务器的地址,并通过h 1 v r p 协议与 t r a c k e r 服务器建立连接。t r a c k e r 服务器随时搜索网络上的在线用户,并将他们的i p 1 0 兰州大学硕士学位论文 地址等信息加入到自己的列表( 1 i s t ) 中,然后t r a c k e r 服务器会从自己的列表中通过 随机算法( r a n d o m ) 选择多个用户( p e e r s ) ,并把他们的i p 地址等信息返回给新用户。 同时t r a c k e r 服务器会反连新用户的i p ,并将新用户的i p ,传输p o r t 等信息加入到自 己的列表中,以便其他用户可以找到自己。这样新用户通过t r a c k e r 服务器提供的信息, 与其他用户建立起点到点的双向连接方式,同时也建立了属于自己的集群( p e e rs e t s ) , 然后通过p e e r 交换协议开始进行文件传输与交换。 b t 软件将文件分成了许多大小不等的片断,也叫文件块( p i e c e ) ,并采用s h a lh a s h 算法来对文件块进行校验,确保文件传输的正确性。由于用户是直接连接到对方的微机 上去下载,一个用户连接了多个用户同时进行下载不同的文件块,而不是到统一的一个 服务器去下载,减少了服务器的负荷,因而下载带宽得到充分的保证,速度就会非常快。 文件下载过程中,随时允许用户的退出与加入。用户之间的文件传输是在t c p 协议基础 上进行的。 2 4 3 盯协议 b t 协议主要包括三方面的内容:t o r r e n t 文件格式规定、t r a c k e rh t t p 协议和p e e r 交换协议。 1 t o r r e n t 文件格式规定 t o r r e n t 文件以“b e n c o d i n g ”方式定义。 b e n c o d i n g 是一种规定和组织数据的方法。它支持的数据类型有字符串s t r i n g s ,整 数i n t e g e r s ,列表l i s t s ,字典d i c t i o n a r i e s 。关于b e n c o d i n g 详细方式参见【3 】。 2 t r a c k e rh t t p 协议 用户与t r a c k e r 之间的通信使用的是h t t p 协议。用户首先向t r a c k e r 发送h t t pg e t 请求,这个请求包括用户给t r a c k e r 的一些信息,t r a c k e r 会将其进行统计。t r a c k e r 然后给用户发回响应,这个响应包括点的列表信息,通过列表用户可以与其他人建立连 接。 ( 1 ) g e t 请求 用户发送到t r a c k e r 的g e t 请求信息包括以下几项: i n f o _ h a s h 对t o r r e n t 文件的i n f o 字的2 0 个字节的s h a ih a s h 校验码值( b e n c o d i n g 编码) 。 p e e ri d 1 1 兰州大学硕士学位论文 2 0 个字节长的字符串,是用户的唯一标识i d 。 p o r t 用户监听的端口号。典型的从6 8 8 1 - - 6 8 8 9 。 u p l o a d e d 用户上传的总数。 d o w n l o a d e d 下载的总数。 l e f t 还需要下载的数量。 e v e n t 下载的状态:开始、停止、完成 i p 可选的。用户真实的i p 地址。 n u 删a n t 可选项。用户可以连接的其他用户总数。数值可以为0 ,缺省值为5 0 。 ( 2 ) t r a c k e r 响应 t r a c k e r 回复给用户的响应信息包括两种:请求成功和请求失败。 3 p e e r 交换协议 p e e r 交换协议主要描述的是p e e r 与p e e r 之问的传输规定。前面提到用户之间交换 的是文件块( p i e c e ) ,所以p e e r 交换协议是针对p i e c e 来规定的。 用户必须为每一个连接跟踪状态信息:c h o k e d 或者i n t e r e s t e d 。 c h o k e d 表示不允许下载,i n t e r e s t e d 表示允许下载。 只有当用户希望下载而对方不阻止的时候,才能下载信息;当对方希望下载而用户 又不阻止的情况下,才能上传信息。因此确定连接的状态非常重要。 ( 1 ) p e e r 交换协议中用户之间的通信过程: 兰州大学硕士学位论文 再户 , 用户b 的i n - h 罄埔p u d 与用户坏匹配 、 7 , 用户b 的i 轧h a $ 嘲弹e r - i d 与用户a 匹配 、 m e s s a g e 、 交换信息 、m e s s a g e 、 用户b 图2 4 3 - 1b t 通信过程 用户与其他人建立连接时,首先发送握手信号( h a n d s h a k e ) ,握手信号中带有 i n f o _ h a s h 和p e e r _ i d 信息,对方如果有相同的i n f oh 雒h 和与之匹配的p e e r _ i d ,就回复 用户响应,进行信息( m e s s a g e ) 交换。否则,对方会断掉连接。 ( 2 ) 点的选择算法( p e e ra l g o r i t h m ) : b r a mc o h e n 在他的b tn e t w o r k 中规定,点的选择以随机算法( r a n d o m ) 为益,因 为随机算法得到的随机图表具有很强的稳健性。但是现在有观点指出,同时与多个p e e r s 通信并不高效。而且如果想要保证b t n e t w o r k 的传输速度,选择好的p e e r s 很重要,p e e r s 的数量也要有限。具体怎样选择优秀的p e e r s ,也将是b t 研究的下一个方向。 ( 3 ) 片的选择算法( p i e c ea l g o r i t h m ) : 如何选择一个好的策略来进行p i e c e 的下载,是非常重要的,它直接影响到b t n e t w o r k 的性能。b t 规定在第一个块的选择上使用随机算法,然后后面的块使用最少优 先算法( r a r e s tf i r s t ) 。最少优先算法指的是在所有的点中选择最少出现的块来下载。如 此这样,使得少的块的数量能够增多,从而在网络中达到一个平衡。另外,网络中可能 会出现一些块在下载结束时速度变得很慢的情况,这时候就使用结束算法( e n d g a m e ) 。 兰州大学硕士学位论文 第三章p 2 p c a c h e 系统的构建 随着i n t e r n e t 网络流量的迅速增长,网络负载和延时的增加一直是令人头疼的问 题。在现有网络带宽的条件下,有效的阿络c a c h e 系统可以大大地减少网络流量、降低 响应延时以及服务器的负载。所谓网络c a c h e 技术就是将远处服务器上的内容缓冲到离 用户较近的c a c h e 服务器,从而减少网络流量,降低响应延时以及服务器的负载。例如, 现在有多个用户使用c a c h e 服务器访问w w w y a h o o c o n l 的首页,当第一个用户访问 时,c a c h e 服务器会从y a h o o 站点取网页返回第一个用户,并将该网页存储在c a c h e 服 务器中;当第二、第三个用户访问时,c a c h e 服务器会从本地的c a c h e 中取出该网页直 接返回给用户,避免了多次访问y a h o o 站点取该网页。这样,对整个网络来说减少了网 络流量,对用户来说则降低了响应延时,对y a h o o 站点来说则降低了服务器的负载。透 明c a c h e 技术就是在网络中使用c a c h e 服务器,但c a c h e 服务器对用户来说是透明的。 换句话说浏览器不需要将代理设置到一个c a c h e 服务器上。透明c a c h e 的实现是通过在 用户访问的必经之路上将w e b 访问的流量转发给c a c h e 服务器。不管用户是否愿意, 所有的w 髓请求都将被转发到c a c h e 服务器上。 本文前两章对p 2 p 网络现状和现在最流行的b t 文件传输协议作了分析与综述,针 对超过4 0 9 6 网络带宽的b t 类业务流量,在借鉴了传统的c a c h e 技术对w e b 访问改进的 基础上,本文设计了一种新型的缓存流量系统p 2 p c a c h e ,该系统针对当前运营商对p 2 p 流量管理和缓解出口带宽压力两大需要而设计,分为p p k ( p 2 pk i l l e r ) 、p p t ( p 2 p t r a c k e r ) 、p p c ( p 2 pc a c h e ) 、p p m ( p 2 pm a n a g e r ) 四种模块,其中p p k 主要负责p 2 p 流 量分析和监测,p p t 担任内网t r a c k e r 的功能,p p c 作为c a c h e 服务器,p p m 为管理模 块。 3 1 系统目标 p 2 p c a c h e 系统设计的目标主要是从解决运营商面临的两个问题入手,是加强运营 商对网络流量的监控和管理;二是优化运营商现有网络质量,降低出口流量成本。由此, 本系统的目标主要是2 个: 第一个目标:分析和管理运营商出口流量,对流量进行明细分析和统计,以达到运 营商优化网络结构的目的。 1 4 兰州大学硕士学位论文 第二个目标是为网

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论