(企业管理专业论文)基于嵌入式Linux的BitTorrent文件分发系统的研究和实现.pdf_第1页
(企业管理专业论文)基于嵌入式Linux的BitTorrent文件分发系统的研究和实现.pdf_第2页
(企业管理专业论文)基于嵌入式Linux的BitTorrent文件分发系统的研究和实现.pdf_第3页
(企业管理专业论文)基于嵌入式Linux的BitTorrent文件分发系统的研究和实现.pdf_第4页
(企业管理专业论文)基于嵌入式Linux的BitTorrent文件分发系统的研究和实现.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(企业管理专业论文)基于嵌入式Linux的BitTorrent文件分发系统的研究和实现.pdf.pdf 免费下载

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

文档简介

基于嵌入式l i n u x 的b i t t o r r e n t 文件分发系统的研究和实现 摘要 随着科学技术的发展,科学计算和生产,以及人们生活、娱乐对于高速网 络环境下大规模的数据分发的要求日益提高,传统的基于c s 模型的分发方法, 如h t t p 、f t p 等服务,由于其固有的限制,不可能从根本上解决服务器端的 带宽和计算能力瓶颈问题,然而基于p 2 p 技术的文件分发较好地解决了这个问 题。在诸多p 2 p 文件分发系统中,b i t t o r r e n t 文件分发系统有着较高的稳定性 和效率,能够满足较大规模的数据分发任务的需要,是目前使用最为广泛的文 件分发系统之一。 本文改进了通用的b i t t o r r e n t 文件分发系统的网络拓扑结构,提高了系统 的易用性,并将其应用到嵌入式平台之上。由于通用b i t t o r r e n t 文件分发系统 的资源定位查找是通过w w w 来进行的,若直接将其应用于嵌入式平台,那么 客户端的操作和使用将会是复杂和困难的。通过对其他p 2 p 文件分发系统的研 究,对b i t t o r r e n t 文件分发系统的网络拓扑结构进行改进,简化了客户端功能, 增加了t o r r e n t 种子文件服务器,将资源的查找和定位放在t o r r e n t 服务器,客 户端仅仅只担负文件上传和下载的分发任务,大大简化了客户端的功能,从而 应用于嵌入式l i n u x 平台。 本文在嵌入式l i n u x 平台上设计和实现了b i t t o r r e n t 文件分发的客户端。 根据客户端系统的要求,对现有的嵌入式主板和外围设备进行选型,建立了客 户端硬件环境,并在此基础上搭建嵌入式l i n u x 软件平台和部署文件分发软件。 利用成熟的技术和软件实现和部署了t o r r e n t 服务器和t r a c k e r 服务器,并对其 进行整合组成一个完成的文件分发系统。 本文将b i t t o r e n t 文件分发系统应用到嵌入式平台,这对于p 2 p 技术的推广 和基于嵌入式平台之上的应用的拓展,都是一个有益的尝试。 关键词:b i t t o r r e n t ,文件分发,嵌入式,l i n u x ,n c u r s e s ,消息驱动 t h er e s e a r c ha n di m p l e m e n t a t i o no fb i t t o r r e n tf i l e d i s t r i b u t i o ns y t e mb a s e do ne m b e d d e dl i n u x a b s t r a c t w i t ht h ed e v e l o p m e n to fs c i e n c ea n dt e c h n o l o g y ,p e o p l ea r es e e k i n gf o rh i g h e r q u a l i t ys e r v i c eo nt h ef i l ed i s t r i b u t i o ni nl a r g es c a l e ,e s p e c i a l l ya f t e rb a n do f n e t w o r kb e c o m ew i d e r h o w e v e r ,t h et r a d i t i o n a ln e t w o r km o d e i c s ( c l i e n t s e r v e r ) c a n n o tb r e a kt h r o u g ht h eb o t t l e n e c ko ft h eb a n d - w i d t ha n d c o m p u t i n g c a p a c i t yo ft h es e r v e rd u r i n gt h ed i s t r i b u t i o no ff i l e si nl a r g es i z e a n e wn e t w o r km o d e l p 2 pi sl a u n c h e d c o m p a r e dw i t hc sm o d e l p 2 pt a k ef u l la s e o ft h eb a n d w i d t ha n dc o m p u t i n g - c a p a c i t yo fp e e r s ,t h i sm o d e lp e r f o r mw e l li nt h i s w a y t h eb i t t o r r e n tf i l e d i s t r i b u t i o ns y s t e m ( b f d s ) i so n eo ft h o s e k i n d so f s y s t e m b e c a u s eo fm o r ee f f i c i e n ta n d m o r es t a b l e ,b d f sh a sb e c o m eo n eo fm o s t w i d e l yu s e df d s st o d a y b a s e do nt h eo r i g i n a ln e t w o r kt o p o l o g yo fb i t t o r r e n tf d s ,an e wn e t w o r k t o p o l o g yo ne m b e d d e ds y s t e mi sr e s e a r c h e d i ng e n e r a lb i t t o r r e n tf d s ,i tu s e w w w ( w o r l dw i d ew e b ) a si t sm e t a f i l e s e a r c h i n ga n dr e s o u r c el o c a t i o n ,b u t e m b e d d e ds y s t e mi sn o ts u i t a b l et od ot h i s s o an e ws e r v e r t o r r e n ts e r v e ri ss e t u pf o rt h i sp u r p o s e ,a n dt h ec l i e n ti ss i m p l i f i e d t h ec o r eo fs y s t e m c l i e n ti s d e s i g n e da n di m p l e m e n t e do nae m b e d d e d s y s t e m a c c o r d i n gt ot h er e q u i r e m e n to ft h ec l i e n ts y s t e m ,t h em a i n b o a r da n di t s p e r i p h e r a le q u i p m e n ti sc h o s e n t h ee n v i r o n m e n to ft h ec l i e n th a r d w a r ei ss e tu d c o m p o u n d e dw i t ho t h e rs o p h i s t i c a t e dp r o g r a ma n dt e c h n o l o g y ,t h ei n t e g r a t e df d s i sd e p l o y e d t h eb i t t o r r e n tf d si sat r yt or e a l i z eo nae m b e d d e dl i n u xs y s t e mi nt h i s d i s s e r t a t i o n i ti sap r o m o t i o nb o t hi np 2 pt e c h n o l o g ya n dt h ea p p l i c a t i o n so n e m b e d d e dl i n u xs y s t e m k e yw o r d s :b i t t o r e n t ,f i l ed i s t r i b u t i o n ,e m b e d d e ds y s t e m ,l i n u x ,n c u r s e s m e s s a g e - d r i v e n 插图清单 图1 1n a p s t e r 软件界面 图1 2 采用第二代g n u t e l l a 协议最经典的软件一b e a r s h a r e 图1 3b i t t o r r e n t 软件界面 图1 4k a z a a 软件界面 图2 1n a p s t e r 文件分发系统网络拓扑图 图2 - 2 最初的g n u t e l l a 采用的f l o o d i n g 搜索算法示意图 图2 3 全分布式结构化拓扑标识及消息路由 图2 - 4 半分布式结构网络拓扑图( 含有s u p e r n o d e ) 图2 5b o t t o r r e n t 网络拓扑结构图 图3 1 嵌入式b i t t o r r e n t 文件分发系统用例图 图3 - 2 基于嵌入式l i n u x 的b i t t o r r e n t 文件分发系统网络拓扑图 图4 1 使用包装器( f a c a d e ) 前后模块结构对比 图4 - 2m v c 模式原理图 图4 3m v c 模式动态顺序图 图4 4 文件分发系统动态模型顺序图描述 图4 5 客户端系统框架图 图4 - 6 消息驱动的应用程序的简单构架 图4 7 事件监听模块类图 图4 8 消息系统动态模型顺序图描述 图4 - 9 消息系统静态模型类图 图4 1 0b t 文件分发模块框架图 图4 1 1b t 文件分发模块顺序图 图4 1 2b t 文件分发系统静态层次图 图4 13 图形用户接口模块层次图 图4 1 4 用户图形界面类图框架 图4 15 客户端硬件框架图 图5 1 客户端系统欢迎界面截图一 图5 2 连接t o r r e n t 服务器和种子列表选择界面截图 图5 - 3 文件分发界面截图 图5 - 4 初始状态的最少优先的文件片断选择树 图5 5 片断1 的h a v e 消息到达前后,最少优先树的状态 图5 - 6 所构造文件系统的树状结构 _一“m朋朋引”曲”粥h弘粥弛射铊钳钾如 表4 1 服务器硬件配置表 表4 2 服务器硬件配置表 表格清单 4 7 4 7 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成 果。据我所知,除了文中特别加以标志和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得 金胆工些去堂或其他教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示谢意。 学位论文作者签字:汤乙、j 荭 签字日期心叽万年口7 月,日 学位论文版权使用授权书 本学位论文作者完全了解 金胆王丝太坐有关保留、使用学位论文的规定,有权 保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅或借阅。本人 授权 佥胆王些盍堂 可以将学位论文的全部或部分论文内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文者签名 、。豇 签字日期:山彳年月1 日 学位论文作者毕业后去向: 工作单位: 通讯地址: 导师签名: 签字日期:2 m 6 年 电话 邮编 l n 驴一 惫日 厶灶月1 致谢 值此论文完成之际,谨向导师倪志伟教授致以衷心的感谢和崇高的敬意! 感谢倪老师在科研和学术工作上给予我的支持和关怀。感谢倪老师在论文期间 给予我的悉心指导和帮助。倪老师深厚的学术造诣、严谨的工作作风、对科学 前沿敏锐的洞察力、勇往直前的开拓精神都使我受益匪浅。 感谢导师钟金宏副教授,感谢他对我的关心和帮助,虽然身处国外,但在 百忙之中仍然关心着我的学业和论文。钟老师对我的指导和帮助使我收获颇多。 衷心地向尊敬的杨善林教授表示崇高的敬意和深深的谢意。杨老师广博的 学识、敏捷的思维以及严谨的治学态度给我留下了深刻的印象,而他在分析事 务时缜密的思维以及宽广的眼界更是让人敬佩。杨老师的谆谆教诲让我受益终 生。 感谢尊敬的马溪骏老师。感谢马老师在我三年的学习和生活中给与我的指 导和帮助,感谢她对我的谆谆教导和无微不至的关怀。正是她的关心的关怀使 得我能顺利地完成学业。马老师严谨的治学态度、精益求精的工作态度和诲人 不倦的师者风范,让我深受感染。 深深感谢辛勤培育我的褚伟老师,从进入实验室的那天起,褚老师一直都 给我以宝贵的指导、无私的帮助和方方面面的关照。我的毕业论文选题、构思 和撰写也得到了褚老师的启发和指导;在我撰写论文的过程中提出了许多宝贵 的意见,使我能够顺利完成论文。 感谢合肥工业大学计算机网络所的余本功、任明仑、潘若愚等老师对我的 关心、指导和帮助,感谢徐王权、夏卫、王毅、楼旭涛、李伟、杨永生、姚源、 程经纬、石建国、陈宜义等同学对我学习和生活上的关心和帮助,让我感受到 一个大家庭的温暖。 感谢父母和家人这么多年对我学业的支持并为我承担的压力。他们的关爱 是我在漫长的求学路上支持下来的精神源泉。在论文得以完成之际,与他们分 享这其中的甘苦,并感谢亲人们对我殷切的期望和无私无悔的支持。还要特别 感谢陆陆,她的鼓励和督促是我完成此篇论文最大的动力。 感谢各位评审专家,感谢他们在百忙中抽出时间对论文进行了仔细的评 阅。 在此向所有帮助和关心过我的人们表示衷心的感谢。 作者:孙建 2 0 0 6 年5 月 第一章绪论 当今随着互联网应用的迅猛发展,传统互联网的客户机服务器( c s ) 模式【j 的应用层组网方式越来越不能满足实际应用的需求。在这种背景下,一种新的 应用层组网技术一p 2 p ( p e e rt op e e r ) 2 l 应运而生。作为下一代互联网的主要 应用技术之一,p 2 p 有着c s 模式无法比拟的优势,更是被财富杂志列为 影响i n t e r n e t 未来的四项科技之一。c s 模式是集中式,而p 2 p 是分布式,每 个用户终端既是客户机又是服务器。p 2 p 可以被认为是一种分布式网络,网 络的参与者共享他们所拥有的一部分硬件资源( 处理能力、存储能力、网络连 接能力和打印机等) ,这些共享资源需要由网络提供服务和内容,能被其它对等 节点( p e e r ) 直接访问而无需经过中间实体。在此网络中的参与者既是资源( 服务 和内容) 提供者( s e r v e r ) ,又是资源( 服务和内容) 获取者( c l i e n t ) 。 p 2 p 目前主要应用于:p 2 p 内容共享;p 2 p 通信协作;p 2 p 协同计 算。p 2 p 内容共享包括麸享文件下载、搜索和检索、内容分发、网络存储和对 等广播等。p 2 p 通信协作包括协同工作、互联网电话、即时通信和移动通信等。 p 2 p 协同计算包括协作计算、网格( g r i d ) 和数据内容网格口 等。 本文主要致力于p 2 p 内容共享,并对目前广泛使用的p 2 p 技术之一 b i t t o r r e n t 文件分发技术应用于嵌八式平台进行了深入研究。 1 1 论文选题的背景和意义 1 1 。1 背景 总部设在英国剑桥、监测全球互联网流量的c a c h e l o g i c 公司f 4 1 认为,在近 5 年中p 2 p 已经成为互联网上最流行的用户应用程序之一,同时它也是公认的 消费者使用宽带的关键驱动因素之一。p 2 p 的这种普及性,以及分享大型文件 的群集领先技术和绕过受限制或拥挤端口的动态技术表明p 2 p 已成为互联网上 占主导地位的协议,它代表了服务供应商网络上6 0 到8 0 的通信总量。 p 2 p 技术在很大程度上颠覆了人们对互联网的传统观念。以往占据主导地 位的互联网架构是客户端服务器结构。互联网以服务器为中心,各种各样的资 源都存放在服务器的硬盘上,客户端通过网络连到服务器上检索、下载、上传 资料或请求运算一在这种架构下,客户端和服务器存在着明显的主从关系;而 p 2 p 技术,也称为对等网络结构,它的本质思想是,整个网络结构中不存在中 心节点( 或中心服务器) ,在p 2 p 结构中,每一个节点f p e e r ) 大都同时具有信息消 费者、信息提供者和信息通讯等三方面的功能,在p 2 p 网络中每一个节点所拥 有的权利和义务都是对等的。这种架构下,由于系统已经去中心化和内容的边 缘化,对等端的计算能力、存储能力和网络带宽将得到最大程度的利用。虽然 初创期的n a p s t e r 5 1 由于网络设计的缺陷致使版权问题无法解决,最后遭到关闭 被出售的结局。但作为一种新兴的技术开创了互联网发展的一个新的阶段。p 2 p 作为一种全新的应用层组网技术,它的出现很好地解决了传统c s 模式的不足, 一出现就备受关注被公认为具有广泛的应用前景。虽然p 2 p 从诞生到现在时间 不长,但已经成功应用到文件共享、对等计算、搜索引擎、即时通信和网络存 储系统等诸多领域。文件共享领域从n a p s t e r 、e m u l e 6 1 到b i t t o r r e n t 7 1 ,k u g o o 8 , 搜索引擎的k a z a a 【9 j ,及即时通信的s k y p e 1 0 1 等等都是p 2 p 技术这一发展过程 中杰出的代表。 计算机技术的发展以摩尔定律 4 6 1 的速度迅猛发展,目前已经进入了后p c 时代。所谓后p c 时代j 是指:计算机无所不在,它渗透到我们工作和生活的 方方面面。这些渗透到我们工作和生活方方面面的计算机被大多数是以嵌入式 的形式存在的。嵌入式系统和l i n u x 的有机结合,成为后p c 时代计算机最普 遍的应用形式。嵌入式l i n u x 由于代码开放性以及强大的网络功能,同时有着 对多种非x 8 6 体系的c p u 的很好支持,也就使得嵌入式l i n u x 系统被广泛应用 于嵌入式领域。 虽然基于p 2 p 的应用近年来发展速度很快,但目前应用的平台还仅限于通 用平台,很少拓展到其他的平台和领域,这也就限制了p 2 p 技术的更为广泛的 应用。同时嵌入式系统由于本身的专门性,目前的嵌入式系统还缺少p 2 p 技术 尤其是p 2 p 文件分发在这方面的应用。 1 1 2 意义 本文首先对b i t t o r r e n t 文件分发系统充分分析和研究的基础上,提出一种 基于嵌入式l i n u x 系统的一种设计方案,解决了该系统的关键问题,最终实现 一个原型系统。 通过本课题的研究,一方面我们可以熟悉p 2 p 技术,作为一项应用前景广 阔的新型的应用层组网技术,了解和掌握它有着重要的意义。另一方面通过该 课题的研究可以将p 2 p 的应用拓展到嵌入式领域。最后,若能实现一个专门型、 易用的嵌入式b t 文件分发系统也将会极大方便人们使用。若能作为产品来加 以完善,推向市场,显然也会有广阔的市场前景。 1 2p 2 p 文件分发的研究现状和发展 p 2 p 是“p e e r t op e e r ”的缩写。英文单词p e e r 是“同等,同辈”的意思,“p e e r t op e e r ”可以理解为“伙伴对伙伴”。i n t e lp 2 p 工作组给出的定义为:通过在系统 之间的直接交换实现计算资源和服务的共享2 引。 1 2 1 国外研究现状和发展 国外的p 2 p 文件分发的研究较早,最早的p 2 p 文件分发系统一n a p s t e r 就是 从美国首先发展起来的。以下是p 2 p 文件分发技术在国外研究和发展的情况: 1 n a p s t e r :该系统( 如图1 1 ) 是最早出现的p 2 p 系统之一,并在很短的时 间内迅速成长起来。n a p s t e r 实质上并非是纯粹的p 2 p 系统,它通过一个中 央服务器保存所有n a p s t e r 用户上传的音乐文件索引和存放位置的信息。当某 用户需要某个音乐文件时,首先连接到n a p s t e r 服务器,在服务器进行检索, 并由服务器返回存有该文件的用户信息;再由请求者直接连到文件的所有者传 输文件。 图1 - 1n a p s t e r 软件界面 2 g n u t e l l a 13 1 :n n n 是- 个p 2 p 文件共享系统,它和n a p s t e r 最大的区 别在于g n u t e l l a 是纯粹的p 2 p 系统2 1 ( 如图1 2 ) ,没有索引服务器,它采用了基 于完全随机图的洪泛( f l o o d i n g ) 发现和随机转发( r a n d o mw a l k e r ) 机制来进 行资源的定位和查找。 图1 - 2 采用第二代g n u t e l l a 协议最经典的软件b e a r s h a r e 3 p a s t r y 4 1 :该系统是微软研究院提出的可扩展的分布式对象定位和路由 协议,并利用此协议构建大规模的p 2 p 系统( 如图1 3 ) 。在p a s t r y 中,每个结点 分配一个1 2 8 位的结点标识符号( n o d e l d ) ,所有的结点标识符形成了一个环形 的n o d e i d 空间,范围从0 到2 1 2 8 1 ,结点加入系统时通过散列结点i p 地址 在1 2 8 位n o d e i d 空间中随机分配。 4 b i t t o r r e n t 8 1 :一种分布式和集中式相结合的网络拓扑方式组成的系统。 一个重要的特色为采用t o r r e n t 文件记录要进行分发的文件和文件分发中以获得 对等端列表的t r a c k e r 服务器。种予文件是一个几k 到几十k 的一个经b 编码 而成的文件,可以利用w w w 、f t p 、e m a i l 等途径方便地传播。t r a k c e r 服务 器以简单的方式任意架设,从而也就避免了n a p s t e r 存在的技术上的缺陷。 图1 - 3b i t t o r r e n t 软件界面 5 k a z a a 9 1 :该系统是现在全世界流行的几款p 2 p 软件之一。根据c a 公司 统计,全球k a z a a 的下载量超过2 5 亿次( 如图1 4 ) 。它结合了n a p s t e r 和g n u t e t l a 共同的优点。从结构上来说,它使用了g n u t e l l a 的全分布式的结构,这样可以 是系统更好的扩展,因为它无需中央索引服务器存储文件名,可以自动地把性 能好的机器成为s u p e r n o d e ,大大提高了搜索效率。 图1 - 4k a z a a 软件界面 1 2 2 国内研究现状和发展 国内虽然起步比较晚,但在p 2 p 领域的研究也有着自己的特色。主要的研 究情况如下: 1 北京大学一m a z e m a z e 是北京大学网络实验室开发的一个中心控制与对等连接相融合的对 等计算文件共享系统,在结构上类似n a p s t e r ,对等计算搜索方法类似于 g n u t e l l a 。网络上的一台计算机,不论是在内网还是外网,可以通过安装运行 m a z e 的客户端软件自由加入和退出m a z e 系统。每个节点可以将自己的一个或 多个目录下的文件共享给系统的其他成员,也可以分享其他成员的资源。m a z e 支持基于关键字的资源检索,也可以通过好友关系直接获得。 2 清华大学一g r a n a r y g r a n a r y m 1 是清华大学自主开发的对等计算存储服务系统。它以对象格式存 储数据。另外,g r a n a r y 设计了专门的结点信息收集算法p e e rw i n d o w 的结构化 覆盖网络路由协议t o u r i s t 。 3 华中科技大学一a n y s e e a n y s e e 1 6 i 是华中科技大学设计研发的视频直播系统。它采用了一对多的服 务模式,支持部分n a t 和防火墙的穿越,提高了视频直播系统的可扩展性;同 时,它利用近播原则、分域调度的思想,使用l a n d m a r k 路标算法直接建树的 方式构建应用层上的组播树,克服了e s m 等一对多模式系统由联接图的构造和 维护带来的负载影响。 1 2 3 对文件分发系统的发展及应用的思考 虽然p 2 p 文件分发系统从最初的n a p s t e r 系统到g n u t e l l a 再到b i t t o r r e n t 、 k a z a a 等,形成了多种不同的网络拓扑结构以及基于这些网络拓扑及协议的多 种文件分发系统。尽管这些系统都是采用p 2 p 文件分发的思想进行设计,但在 资源查找定位、网络拓扑结构、系统稳定性和文件分发的效率等方面都有着很 大差异。n a p s t e r 采用的是中心化拓扑结构“,g n u t e l l a 采用的是全分布式结构 化拓扑结构,p a s t r y 加强了资源的管理和网络的管理而采用了全分布式结构化 拓扑结构。b i t t o r r e n t 是一种分布式和集中式相结合的方式,广泛分布的种子文 件可以有任一对等端制作发布,而文件分发的过程却依赖于t r a c k e r 服务器来 进行。 不同文件分发系统的文件分发的效率和系统的稳定也是不尽相同的。总的 来说采用集中式的网络拓扑对于文件的查找和定位有着较高的效率,而采用分 布式网络拓扑的系统有着较好的扩展性。b i t t o r r e n t 系统相比较其他的文件分发 系统有着更好的扩展性和更高的文件分发的效率。n a p s t e r 系统中由n a p s t e r 公 司提供服务器集群服务于对等端,是一个封闭的系统。b i t t o r r e n t 系统是一个开 放的系统。资源及其资源的种子文件可以有任何一个对等端制作发布,t r a c k e r 服务器也可以任意架设。 b i t t o r r e n t 文件分发系统是由b r a mc o h e n 设计实现的一种新型的p 2 p 文件 分发系统。b i t t o r r e n t 系统独特的设计使其成功地绕过了法律和版权的障碍,在 很短的时间内迅速发展起来,已经成为互联网的一种广泛使用的文件分发系统 之一。该系统与先前的p 2 p 文件分发系统有着很多不同,它不像n a p s t e r 需要 中心的目录索引服务器,也不像g n u t e l l a 采用低效的泛洪算法来搜索文件, b i t t o r r e n t 只需要一个独立架设的t r a c k e r 服务器和t o r r e n t 种子文件就可以用 来进行文件的下载。一种标准的系统构架方案:一个w e bs e r v e r 、一个种子文 件、一个t r a c k e r 服务器、一个“原始”文件提供者、网页浏览器的终端用户和客 户端下载的终端用户构成。最初的b i t t o r r e n t 客户端是由b r a mc o h e n 用p y t h o n 语言实现的,由于p y t h o n 语言自身的跨平台性,b i t t o r r e n t 可以使用在诸多不 同的平台上。经过几年的发展,支持b i t t o r r e n t 协议的客户端软件像雨后春笋 大量出现,广泛使用同时大家也熟知的包括:b i t c o m e t 7 j ,b i t s p i r i t ”1 , f l a s h b t i i ,b t 发动机和贪婪b t 等。 综上所述,b i t t o r r e n t 系统是一个有着良好的文件分发效率、较好的稳定性 和有着良好扩展性开放的系统。同时系统本身源码开放的特点,使得移植到其 他平台提供可能。 目前,b i t t o r r e n t 文件分发系统的客户端软件运行在通用平台之上,这样就 要求使用b i t t o r r e n t 的用户必须有相应的硬件设备和操作技能,而更为广泛的 不懂计算机操作的人则无法使用该系统。因而一个专门的、操作简单的 b i t t o r r e n t 文件分发系统成为需要。嵌入式系统作为一个专门化、操作简便的系 统经过多年的发展,在硬件软件方面都已得到充分的发展,业已形成一套成熟 的体系。采用嵌入式系统作为专门化的文件分发系统平台是一个恰当的选择。 嵌入式l i n u x 系统有着源码开放、性能稳定、可剪裁性和良好的网络协议支持 等特点,有着强大的开发环境和工具,也有着丰富的资源。采用嵌入式硬件结 合嵌入式l i n u x 平台实现b i t t o r r e n t 文件分发的客户端正是基于这一点的考虑。 1 3 本论文的主要工作和结构 在对目前主要的p 2 p 文件分发系统特别是b i t t o r r e n t 原型进行研究的基础 上,设计和实现基于嵌入式l i n u x 的p 2 p 文件分发系统。本文进行的主要工作 包括:设计适合嵌入式的p 2 p 文件分发系统网络拓扑模型、实现高效的基于隈 入式l i n u x 平台的p 2 p 文件分发系统客户端、部署p 2 p 文件分发系统的t r a c k e r 消息服务器、部署种子服务器,最终整合为一个文件分发系统。在此过程中, 需要对b i t t o r r e n t 协议【2 训以及其他各种网络协议进行研究,同时对l i n u x 网络 编程和相关设备驱动和嵌入式系统的软硬件进行研究。 本论文的各章内容安排如下: 第一章绪论:介绍论文选题的背景和意义、p 2 p 和b i t t o r r e n t 文件分发系 统的国内外研究和发展的现状以及论文的主要工作。 第二章文件分发系统原理的研究:针对目前主流的p 2 p 技术进行简要的 阐述和分析。重点分析b i t t o r r e n t 文件分发协议和基于嵌入式平台的b i t t o r r e n t 文件分发系统的特点。 第三章对文件分发系统进行需求分析,通过用例图描述用户的需求,定 义系统边界,确定用户接口。对目标系统的网络拓扑模型、t o r r e n t 服务器、 6 t r a c k e r 服务器和客户端结合嵌入式系统的特点进行功能分析。 第四章文件分发系统的建模和设计。其中包括系统整体建模和设计、客 户端软件建模和设计和硬件选型。通过动态建模和静态建模对客户端软件部分 进行设计,包括:用户接口设计、客户端软件设计、t r a c k e r 服务器软件设计。 硬件部分的选型包括:客户端嵌入式主板和外围设备选型、t o r r e n t 服务器和 t r a c k e r 服务器的硬件选型。 第五章系统的实现和部署。客户端软件的实现,给出系统实现的关键的 数据结构和关键的算法。利用l i n u x 平台之上具有的且成熟的f t p 服务器软件 w u - f t p 作为t o r r e n t 种子服务器、利用成熟稳定、由b r a mc o h e n 实现的t r a c k e r 服务器作为系统的t r a c k e r 服务器。最后对客户端、t o r r e n t 服务器和t r a c k e r 服务器进行部署。 第六章总结与展望。总结本文所作的工作,并提出不足之处与进一步研 究的方向。 第二章文件分发系统的原理分析和研究 p 2 p 文件分发虽然都采用p e e r t o p e e r 的通信和分发方式,但具体到某 一种技术时所采用的网络拓扑结构和文件分发所采用的算法却不尽相同。本章 对p 2 p 发展过程中具有代表性的几种文件分发系统及其原理进行分析和研究。 由于本论文致力于实现一个嵌入式平台上的b i t t o r r e n t 文件分发系统,因此重 点对通用平台b i t t o r e n t 文件分发技术进行分析。在本章的最后对p 2 p 文件分发 中的几个关键的问题进行分析。 2 1p 2 p 文件分发系统简述 p 2 p 技术虽然从出现到现在时间较短,但发展速度很很快,从第一代”1 的 中央控制网络体系结构到分散分布网络体系结构,再到混合网络体系结构。p 2 p 在短短的7 、8 年的时间内经过了数次技术上的变革。目前正在发展中的第四代 p 2 p 【t 6 1 ,有着动态端i :1 选择和双向下载等更为灵活的机制。在这些先后蹬现的 各种文件分发系统中,网络拓扑结构和文件分发的协议无疑是p 2 p 文件分发的 关键所在。 2 1 1 网络拓扑模型 由于p 2 p 文件分发是网络的应用层组网方式,网络拓扑结构直接决定文件 分发所采取的协议和分发算法等重要方面。网络拓扑结构也直接关系到文件分 发的效率、系统的扩展性、系统的可维护性、内容发现的算法和效率等诸多方 面。在p 2 p 发展过程中所出现的软件系统根据拓扑结构的关系可以分为:中心 化拓扑、全分布式非结构化拓扑、全分布结构化拓扑和半分布式拓扑| l 。以下 对这些拓扑结构及其特点进行分析和研究。 1 中心化拓扑( c e n t r a l i z e dt o p o l o g y ) 如图2 ,l 所示,在中心化拓扑结构中,一群高性能的中央服务器保存着网 络中所有活动对等计算机共享资源的目录信息。当需要查询某个文件时,对等 机会向一台中央服务器发出文件查询请求。中央服务器进行相应的检索和查询 后,会返回符合查询要求的对等端的地址信息列表。查询发起对等机接收到应 答后,会根据网络流量和延迟等信息进行选择,和合适的对等机建立连接,并 开始文件传输。一个很典型的例子就是n a p s t e r ,而其它系统像e d o n k e y 、 b i t t o r r e n t 也是以这样的方式运行。 图2 - 1n a p s t e r 文件分发系统阿络拓扑图 2 全分布式非结构化拓扑( d e c e n t r a l i z e du n s t r u c t u r e dt o p o l o g y ) 全分布式非结构化拓扑是纯粹由对等端组成的一个的p 2 p 对等网络系统, 没有中央节点或索引服务器。文件的搜索基于完全随机图的洪泛( f l o o d i n g ) 发现和随机转发( r a n d o mw a l k e r ) 机制f l6 j 而进行。也就是在任何一个点提出 查询要求的时候,接收到这一个要求的第一个点会将该查询要求送给其它和它 相连的点,并在传回的查询结果加入对于自己的查询结果给要求者( 如图2 2 所 示) 。b e a r s h a r e i j 就是这样的一个系统。 图2 - 2 最初的g n u t e l l a 采用的f l o o d i n g 搜索算法示意图 3 全分布式结构化拓扑( d e c e n t r a l i z e ds t r u c t u r e dt o p o l o g y ) 完全分布式结构化拓扑网络( d h l i ) 与全分布非结构化网络拓扑一样也是纯 粹由对等端组成的对等网络,只不过为了有效地查找信息和提高文件搜索的效 率而加强了对网络状态的管理。网络的管理是通过一个由广域范围大量结点共 同维护的巨大散列表来进行的。散列表被分割成不连续的块,每个结点被分配 给一个属于自己的散列块,并成为这个散列块的管理者。最典型的案例是 t a p e s t r y “j ,c h o r d “i c a n 和p a s t r y ”j 。 c h o r d 的i d e n t i f i e rc i r c l e p a s t r y 的消息路由 圈2 - 3 全分布式结构化拓扑标识及消息路由 4 半分布式拓扑 半分布式结构吸取了中心化结构和全分布式非结构化拓扑的优点,选择性 能较高( 处理、存储、带宽等方面性能) 的结点作为超级点( s u p e r n o d e s ,h u b s ) 。 在各个超级点上存储了系统中其他部分结点的信息,发现算法仅在超级点之间 转发,超级点再将查询请求转发给适当的叶子结点。半分布式结构也是个层 次式结构,超级点之间构成一个高速转发层,超级点和所负责的普通结点构成 若干层次。最典型的案例就是k a z a a 。 图2 4 半分布式结构网络拓扑圈( 古有s u p e r n o d e ) 2 1 。2p 2 p 文件分发系统的分析和比较 文件分发系统需要做以下几个方面的工作:( 1 ) 维护整个系统的架构:当 任何一个点的进入和离开,并且保证系统网络的连结性。( 2 ) 处理查询:包括 查询以及回复数据的机制。( 3 ) 文件传输:提供一个可靠的数据传输方式。维 护整个系统的构架方面体现了系统的可维护性和可靠性;处理查询中反映能否 支持复杂查询、发现算法的效率等。以上几种拓扑结构在各种指标的评定中, 性能表现各有优劣。比如:中心拓扑的可维护性和文件的发现算法的效率是最 高的,而全分布式拓扑的扩展性在集中网络拓扑中是最好的。能支持文件的复 杂查询的只有中心拓扑和全分布的非结构化拓扑,但全分布的非结构化拓扑发 现算法的效率却是比较低的。表2 一l 列出的是各种不同的网络拓扑方式的各种 指标的对照分析: 表2 - 1p 2 p 文件分发系统对照分析表i “ 、拓扑结构 中心化拓扑全分布式全分布式半分布式拓扑 比较标瘫非结构化拓扑结构化拓扑 可扩展性 差差好 由 可靠性差好好 由 可维护性摄好最好好中 发现算法效率 最高 由 高中 复杂查询支持支持不支持支持 2 2b i t t o r r e n t 文件分发系统分析 由于本论文在嵌入式l i n u x 平台上实现一个遵照b i t t o r r e n t 协议 2 0 1 进行文 件分发的系统,有必要对b i y o r r e n t 文件分发系统的网络拓扑和文件分发的协议 进行分析。b i t o r r e n t 的文件分发网络拓扑采用非纯粹的网络拓扑【l6 l ( 并非完全 由对等端组成的分发网络) ,是一个多个系统综合而成的系统。 2 2 1b i t t o r r e n t 网络拓扑模型 b i t t o r r e n t 将文件的查找搜索和文件的下载分开。文件的查找是利用w w w 或f t p 等方式来进行的。用户可以利用目前功能强大的w w w 和f t p 搜索引擎 来对需文件的种子文件进行搜索,因而可以在更大范围内和以更为方便的方式 查找到用户所需的种子文件。 图2 - 5b o t t o r r e n t 网络拓扑结构图 文件的分发采用的是集中式网络拓扑,在文件分发的过程中需要不断地与 记录对等端列表的t r a c k e r 服务器交换数据来完成下载,其他对等端的查找是 通过t r a c k e r 服务器来进行的。按照b r a mc o h e n 在b i t t o r r e n t 协议规范1 0 版l 2 0 中所描述的一个b i t t o r r e n t 文件分发系统由一个w e b 种子服务器l2 0 1 、一个 t r a c k e r 服务器i2 0 】、一个拥有完整文件的种子【20 j 和需要进行下载的诸多对等端 【16 】组成。从图2 5 中可以看出位于文件分发中心的是若干台t r a c k e r 服务器组 成的t r a c k e r 服务器集群( 当然也可以是一台) 。 b i t t o r r e n t 的网络拓扑是一个中心化拓扑的网络,在进行文件分发的过程 中,t r a c k e r 服务器却是不可或缺的。这个中心t r a c k e r 可以是一个t r a c k e r 服 务器集群,可以进行变更或在最初的种子文件中设定。以下从系统维护、内容 查找和数据传输的三个方面分析一下b i t t o r r e n t 系统。在系统维护方面,任一 节点进入和离开是通过中央的t r a c k e r 服务器来进行维护的,这样t r a c k e r 服务 器维护和管理整个系统。数据传输是在客户端从t r a c k e r 服务器得到对等端列 表之后,由客户端主动发起,确认连接之后,通过t c p 协议进行数据交换。这 些独特的设计赋予了b i t o r r e n t 文件分发的强大的生命力使得它成为应用最广 发的p 2 p 文件分发方式之一。 2 2 2b i t t o r r e n t 协议分析 b i t t o r r e n t 协议分为三部分:t o r r e n t 种子文件格式定义、t r a c k e r 协议和p e e r 对等端协议。t o r r e n t 种子文件格式定义规定了种子文件的结构,这些结构包括 构成的字段、每个字段的含义和字段的数据定义等。t r a c k e r 协议规定了对

温馨提示

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

评论

0/150

提交评论