(计算机应用技术专业论文)基于linux限制bittorrent流量的研究与设计.pdf_第1页
(计算机应用技术专业论文)基于linux限制bittorrent流量的研究与设计.pdf_第2页
(计算机应用技术专业论文)基于linux限制bittorrent流量的研究与设计.pdf_第3页
(计算机应用技术专业论文)基于linux限制bittorrent流量的研究与设计.pdf_第4页
(计算机应用技术专业论文)基于linux限制bittorrent流量的研究与设计.pdf_第5页
已阅读5页,还剩72页未读 继续免费阅读

(计算机应用技术专业论文)基于linux限制bittorrent流量的研究与设计.pdf.pdf 免费下载

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

文档简介

一 i ? f 学位论文数据集 中图分类号 t p 3 9 3 1 学科分类号 5 2 0 3 0 4 0 论文编号1 0 0 1 0 2 0 0 7 0 5 4 l密级 学位授予单位代码 1 0 0 1 0 学位授予单位名称北京化工大学 作者姓名吴圣杰学号 2 0 0 4 0 0 0 5 4l 获学位专业名称计算机应用技术获学位专业代码 0 8 1 2 0 3 课题来源自选项目研究方向计算机网络 论文题目 基于l i n u x 限制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 ,n e t f i l t e r 框架,t c ,模块 论文答辩i e 3 期 20 0 7 - 6 - 8 论文类型 应用研究 学位论文评阕及答辩委员会情况 姓名职称工作单位学科专长 指导教师董小国教授北京化工大学 评阅人1赵英教授北京化工大学 评阅人2 0 7 m 0 2 3 评阅人3 评阅人4 评阅人5 椭员会蛳马华东教授北京邮电大学 答辩委员1 赵英 教授北京化工大学 答辩委员2王艳清高工北京化工大学 答辩委员3 答辩委员4 答辩委员5 注:一论文类型:1 基础研究2 应用研究3 开发研究4 其它 二中图分类号在中国图书资料分类法查询 三学科分类号在中华人民共和国国家标准( c b r1 3 7 4 5 - 9 ) 学科分类与代码) ) 申 查询 四论文编号由单位代码和年份及学号的后四位组成 、 6 摘要 基于l i n u x 限制b i t t o r r e n 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 造成的负面影响, 简要介绍了当前几种常见的限锋j l j b t 流量的方式,并且分析了他们的优点 和缺点。 其次,在分析当前常见的限制b t 流量技术的基础上,本文提出了一 种全新的限制b i t t o r r e n t 流量的设计方案。该方案是在i a n u x 下,利用 n e t f i t l e r i p t a b l e s 和t c ( t r a f f i cc o n t r 0 1 ) 来对b t 流量进行限制。n e t f i l t e r i p t a b l e s 是 l i n u x 下的信息包过滤系统,t c ( t r a f f i cc o n t r 0 1 ) 是l i n u x 下的带宽管理系统。 本文充分利用这些技术,设计并构建一个既能全面封杀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 的愿望。 最后,本文对限$ 1 j b i t t o r r e n t 流量的系统进行了各项测试和分析,得出 结论,并对该课题的后续工作进行展望。 。 北京化t 人学硕:l :论文 :b i t t o r r e n t ,带宽,l i n u x ,n e t f i l t e r 框架,t c ,模块 2 气 - 。- 。- - 。- 。_ - _ _ - - _ - 。_ _ - - - _ - _ _ 。_ - _ _ _ _ 。_ - - _ l l 一一一_ t h es t u d ya n d d e s i g nr e s t r i c n o no n b i t - r o r r e n tt r a f i 幔cb a s e do nu n u x a b s t r a c t s i n c eb t ( b i t t o r r e n t ) h a sb e e na p p l i e di nt h en e t w o r k ,i t sr a p i d d e v e l o p m e n tc a m e s a sas u r p r i s et op e o p l e se x p e c t a t i o n s i to f f e r i n g u n i q u e , e f ! f i c i e n tm e t h o df o rd o w n l o a d i n gf i l e s ,i si n d e e da g r e a tc o n v e n i e n c ef o r p e o p l e i tw i l lg r e a t l yp r o m o t et h es h a r i n go fr e s o u r c e s h o w e v e r ,i ta l s o r a i s e sas e r i o u sp r o b l e m :o c c u p y i n gm o s to ft h en e t w o r kb a n d w i d t h i t s e r i o u s l y a f f e c t st h en o r m a l a p p l i c a t i o n s o f n e t w o r k ,s u c h a s v i d e o - o n - d e m a n d ,i n t e r n e tt e a c h i n ga n dr e s e a r c ha p p l i c a t i o n s t h e r e f o r e , h o wt or e s t r i c tt h ef l o wo f b i t t o t r e n t ,i sav e r yu e s f u l i s s u e s f i r s t l y ,t h i sp a p e rd e s c r i b e st h e i m p a c to fb i t t o r r e n t t h e nt h i sp a p e r f l o wo fb tc u r r e n t l y ,a sw e l la s w e a k n e s s e s c o n c e p t , p r i n c i p l ea n dt h en e g a t i v e d e s c r i b e ss e v e r a lr e s t r i c t i o n so nt h e a n a l y s i s o ft h e i r a d v a n t a g e s a n d s e c o n d l y ,b ya n a l y s i s i n gt h ec u r r e n tc o m m o nt e c h n o l o g yo ft h e r e s t r i c t i o n so nb t f l o w ,t h i sp a p e rd e s i g n san e wp r o g r a mo f r e s t r i c t i n gt h e f l o wo fb i t t o r r e n t n l i sp r o g r a mu s e st e c h n o l o g yo fn e t f i t l e r i p t a b l e sa n d t c ( t r a f f i cc o n t r 0 1 ) o nt h eb a s eo fl i n u x n e t f i t l e r i p t a b l e si sai n f o r m a t i o n p a c k e tf i l t e r i n gs y s t e mi nl i n u x ,a n dt c ( t r a f f i cc o n t r 0 1 ) i sab a n d w i d t h m a n a g e m e n ts y s t e mi nl i n u x t h i sp a p e rw i l lm a k ef u l lu s eo ft h e s e t e c h n o l o g i e st od e s i g na n db u i l das y s t e mw h i c hc a nn oo n l yb l o c kt h eb t f l o wb u ta l s oa d j u s tb i t t o r r e n tb a n d w i d t h a c c o r d i n gt ot h ea c t u a ls i t u a t i o n u s et h i ss y s t e mo nt h ec a m p u sw ec a ne n s u r et h a tt h en o r m a lt e a c h i n ga n d r e s e a r c hn e t w o r ka p p l i c a t i o n s ,a n da l s ob ea b l et o s a t i s f yt h ed e s i r eo f s o m e o n et ot l s et h eb i t t o r r e n t f i n a l l y ,t h i sp a p e rt e s t st h es y s t e mo fr e s t r i c t i o n so nt h ef l o wo f b i t t o r r e n t ,t h e nc o m i n gt oac o n c l u s i o n a n dl o o ka h e a df o l l o w u pw o r ki n 3 4 目录 目录 第一章绪论。1 1 1 课题的研究背景1 1 2 课题的开发环境l 1 3 课题主要研究内容2 1 4 论文结构2 第二章b t 简介与当前限制b t 的技术一3 2 1b t 的概念3 2 2b t 的原理3 2 2 1b t 的主体设计思想3 2 2 2b t 系统的组成4 2 2 3b t 会话过程5 2 2 4b t 协议介绍二6 2 3 传统下载模式与b t 下载模式的比较8 2 4 当前限制b t 的主流技术9 2 4 1 限制浏览b t 网站1 0 2 4 2 禁止访问t r a c k e r 服务器1 0 2 4 3 封闭b t 下载端口1 0 第三章限制b t 流量的关键技术 3 1 基于l i n u x 的n e t f i l t e r i p t a b l e s 防火墙。1 2 3 1 1n e t f i l t e r 框架简介1 2 3 1 2n e t f i l t e r 框架的特性1 2 3 1 3n e t f i l t e r 的结构1 3 3 1 4 钩子函数1 3 3 1 5n e t f i l t e r3 - 作原理:k 1 6 3 1 6 防火墙的用户空间操作工具i p t a b l e s 1 9 3 2 基于l i n u x 的带宽管理系统( 1 ) 2 3 3 2 1 带宽管理系统( 1 ) 简介2 3 5 北京化t 人学硕:i :论文 3 2 2t c 流程示意图2 3 3 2 3t c 中的队列2 4 3 2 3t c 中的类。2 6 3 2 4t c 中的过滤器。2 9 3 2 5 数据包的流向过程3 2 第四章限制b t 流量的概要设计:一3 3 4 1 系统的网络拓扑结构3 3 4 2 限制b t 流量系统的要求3 3 4 3 网络环境。3 4 4 4 识别b t 特征码3 4 4 5 限制b t 数据包的系统模型“ 4 6 带宽管理功能3 5 第五章限制b t 流量的详细设计。一一。一。一。3 6 5 1 限制b t 流量服务器的系统结构3 6 5 2b t 包过滤系统的设计与实现3 6 5 2 1b t 包过滤系统的框架结构。3 6 5 2 2c o n t r o l b t 模块的加载3 8 5 3 带宽管理功能的设计与实现3 9 5 3 1 带宽管理系统的框架结构3 9 5 3 2 控制策略o 4 1 5 3 3 具体实现4 1 5 4 备用链路4 2 第六章测试与分析 6 1 测试环境。4 3 6 2 测试内容。4 3 6 3 测试过程4 3 6 3 1 测试一:完全封杀b t 4 3 6 3 2 测试二:总速率限制策略4 5 6 3 3 测试三:上行流量控制策略4 5 6 7 北京化t 大学硕:j 二论文 8 目录 c h a p t e r 1i n t r o d u c t i o n c o n t e n t s l 1 1b a c k g r o u n do fr e s e a r c h 1 1 2d e v e l o p m e n te n v i r o n m e n to fr e s e a r c h 1 1 3s u m m a r yc o n t e n to f p a p e r 2 1 4c o n t e n ts t r u c t u r eo fp a p e r 2 c h a p t e r2s u m m a r yo f b ta n d t e c h n o l o g i e so nr e s t r i c t i n gb tf l o w 3 2 1c o n c e p to fb t :3 2 2p r i n c i p l eo fl j i t :; 2 2 1d e s i g no fb t 。3 2 2 2c o m p o n e n to fb ts y s t e m 4 2 2 3c o n v e r s a t i o n a lp r o c e s so fb t 厶5 2 2 4p r o t o c o lo fb t 。6 2 3c o m p a r ed o w n l o a dm o d e lo fb t a n dd o w n l o a dm o d e lo ft r a d i t i o n a l 。8 2 4m a i nt e c h o n o g yo fr e s t r i n t i n gb tf l o w 9 2 4 1p r o h i b i tt ob r o w s eb t1 9 i i r e b s i t e 1 0 2 4 2p r o h i b i tt oa c c e s st r a c k e rs e r v e r 1 0 2 4 3s h u td o w np o r t so fb t 。l o c h a p t e r 3c r i t i c a lt e c h o n o g i e so f r e s t r i c t i n gb t f l o w 3 1n e t f i l t e r i p t a b l e si nl i n u x 1 2 3 1 1i n t r o d u c t i o no fn e t f i l t e r 1 2 3 1 2f e a t u r e so fn e t f i l t e r 1 2 3 1 3s t r u c t u r eo fn e t f i l t e r 1 3 3 1 4h o o kf u n c t i o n j 】【3 3 1 5p r i n c i p l eo fn e t f i l t e r 1 6 3 】【6i p t a b l e s 1 9 3 2b a n d w i d t hm a n a g e m e n ts y s t e mb a s e dl i n u x o c ) 2 3 9 c h a p t e r 6t e s ta n da n a l y s e 6 1e n v i r o n m e n to ft e s t 4 3 6 2c o n t e n t so ft h t 4 3 6 3p r o c e s so fc o n t e n t s 4 3 6 3 1t e s t1 :d r o pb td a t ap a c k e t s 4 3 6 3 2t e s t2 :s t r a t e g yo ft o t a lr a t el i m i t i n g 4 5 1 0 目录 6 3 3t e s t3 :s t r a t e g yo fu p s t r e a mf l o wc o n t r o l 4 5 6 3 4t e s t4 :s t r a t e g yb a s e do nt h ec l a s s i f i c a t i o nd e s t i n a t i o n 4 6 6 3 5t e s t5 :t i m es t r a t e g y ? 4 7 6 4c o n c l u s i o n j l i r 7 c h a p t e r7s u m m a r y o fr e s e a r c ha n d p r o s p e c t 4 9 7 1s u m m a r yo fr e s e a r c h 4 9 7 2p r o s p e c t 4 9 r e f e f e n c e 。5 0 t h a n k s 。5 2 r e s e a r c ha c h i e v e m e n ta n d p a p e r p u b l i s h e d 5 3 i n t r o d u c t i o no f a u t h o ra n d t u t o r 5 4 1 l 北京化工大学硕:j :论文 第一章绪论 1 1 课题的研究背景 第一章绪论 b t 是一种p 2 p 共享软件,全名叫“b i t t o r r e n t 一,中文全称“比特流 ,是目前 网民“点对点 下载网上文件时最喜欢使用的一种软件,一般用它来共享大型文件, 比如电影和电脑软件。 b t 自从在网络中应用以来,其发展之迅速出乎人们的意料之外。它给人们带来了 全新的下载方式,对于文件传输和文件共享具有巨大的促进作用。但是,它也产生了 一个严重的问题:占用网络大部分的带宽,使得网络拥挤不堪,消耗大量的带宽资源, 使出口路由器负载大大增加,甚至造成网络的瘫痪。从铁通互联网c t t n e t 的实际检测 情况看,它的应用已占用了4 0 - - 7 0 的带宽。据统计,现在全球因特网数据流量大 概有三分之一是在使用b t 或类似软件下载时产生的。一些网吧和学校更是对b t 下载造 成的危害束手无策。一小部分用户使用b t 就会影响到大量用户正常使用网络,比如 视频点播、网络会议、教学和科研方面的应用。 在目前带宽资源不是很丰富,很多出口路由器还不可能都是高性能的路由器的 情况下,限制或者禁止b t 的流量对网络的正常管理和使用具有很重要的意义。 但是当前限制b t 流量的技术不太成熟,效果也不太明显,很多网管员只是采用 初级的限制手段,比如封端口,找出使用b t 的用户进行劝阻等。这些方法执行起来 效率低下,而且效果也不太显著。 现今,国外已有研究机构致力于此技术的研究,并且已经有相关的产品问世, 但是由于其技术门槛问题,国内没有相关的产品。因此,现在市场此类产品均是国 外的产品,价格相当昂贵。所以,研究这项课题既具有科研意义,又具有现实意义。 1 2 课题的开发环境 本课题是在l i n u x 系统下开发的。 l i n u x 是一种免费的操作系统,以其独有的高效、健壮、可扩展性、功能 齐备、可以免费得到以及源代码开放的特性,赢得了全球包括软、硬件开发商、程 序员以及个人用户的青睐。 l i n u x 操作系统核心最早是由芬兰的l i n u st o r v a l d s1 9 9 1 年8 月在芬兰赫尔辛基 大学上学时发布的,l i n u x 一项最大的特色在于源代码完全公开,在符合g n u g p l ( g e n e r a lp u b l i cl i c e n s e ) 的原则下,任何人皆可自由取得、散布、甚至修改源代 码。经过众多世界顶尖的软件工程师的不断修改和完善,l i n u x 得以在全球普及开 来,在服务器领域及个人桌面版得到越来越多的应用。 北京化工大学硕士论文 l i n u x 操作系统良好的网络性能和开放源码的特点,使得在其上布置防火墙有 了一个可靠的基石,也使得越来越多的用户选择了l i n u x 作为其防火墙的操作平 台l i n u x 2 4 以后的内核版本中都带有n e t f i l t e r 防火墙框架,其功能和性能可与多 数的商业防火墙产品媲美。在国内,大多数防火墙借鉴了n e t f i l t e r 的结构。l i n u x 还有一个重要的模块是t c ( t r a f f i cc o n t r 0 1 ) ,顾名思义为流量控制。该模块具有强大 的带宽管理功能。 本课题利用n e t f i l t e r 防火墙进行数据包过滤,利用t c 进行流量控制、带宽管 理。基于这两种技术开发出的限制b t 流量的系统能够很好地满足目前网吧,学校 等领域的要求。 1 3 课题主要研究内容 本文分析了当前主流的限$ ) j b t 流量技术,比较了它们的优缺点。在提出了一种全 新的限制b t 流量的设计方案。该方案是在l i n u x 系统下,利用瞅f i t l 郇t a b l e + t c ( 昀伍c c o n t r 0 1 ) 来对b t 流量进行限制。该技术使用透明网关的原理,使得过滤b t 数据包非 常准确、高效。本文利用这些技术,设计并构建一个既能全面封杀b i t t o r r e n t 流量, 又能根据实际情况灵活地调整b i t t o r r e n t 下载带宽的系统,并在各种条件下进行了测 试。 1 4 论文结构 本论文首先在第二章介绍了b t 的概念、b t 的下载原理、b t 系统的组成和b t 的会话过程,以及当前限制b t 的几种技术,分析它们的优缺点。由于本文所设计 的限制b t 流量的系统涉及到l i n u x 下的n e t f i l t e r i p t a b l e s 和t c ( t r a 伍cc o n t r 0 1 ) 模 块,因此本文在第三章详细介绍了l i n u x 下的n e t f i l t e r i p t a b l e s 和t c ( t r a 伍cc o n t r 0 1 ) 的原理和使用方法。第四章中,对限制b t 流量的系统做了概要的设计,提出设计 思想。在第五章,详细介绍了限制b t 流量的系统是如何实现的。第六章中,对限 制b t 流量的系统进行各项测试。最后,在第七章中对课题研究阶段中所做的工作 做了总结和并对未来进行展望。 2 第二章b t 简介与当前限制b t 的技术 2 1b t 的概念 第二章b t 简介与当前限朱i b t 的技术 b i t t o r r e n t 是由b r a i nc o h e n 设计的一种基于p 2 p ( p e e r - t o - p e e r ) 的文件共享协 议。它是一个多点下载的源码公开的软件,使用非常方便,就像一个浏览器插件, 很适合新发布的热门下载。其特点跟普通下载软件刚好相反就是:下载的入越多, 速度越快。通常使用一般下载软件时,限于双方的网络速度,如果下载一个比较大 的文件往往会耗费很长时间,而且一旦下载人数过多还能导致无法下载。 b t 的工作原理其实也很简单。一般的下载方式或者下载工具,都需要先直接连接 到服务器再进行下载,这就给对方计算机资源、带宽提出了较高的要求,如果同一时 间有多人下载就会影响传输速度。而b t 所采用的全新的集群下载技术,给了整个下载 群体一个真正的共享空间。 2 2b t 的原理 2 2 1b t 的主体设计思想 b t 是为多个用户传输大型文件而设计的文件传输协议,主体设计思想是将文 件分散为多个块,然后将分散的文件块分发给不同的用户,用户之间再互相交换文 件块。改变过去多个用户从一台服务器读取文件的思想,直接在用户之间进行文件 交换,大大提高了下载传输的速度。 可以这样理解:首先在客户端把一个完整的文件分成了z 个部分,用户a 在服 务器随机下载了第n 各部分,用户b 在服务器随机下载了第m 个部分,这样用户 a 的b t 就会根据情况到用户b 的电脑上去拿已经下载好的第m 部分,用户b 的 b t 也会根据情况到甲的电脑上去拿已经下载好的第n 部分,这样不但减轻了服务 器端的负荷,也加快了用户方( a 、b ) 的下载速度,效率也提高了。而且用户在下载 的同时,也在上传心1 。 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 的“点对点”则是真 正意义上的“多点对多点 h ,。 ( 1 ) w e b 服务器 该服务器提供了b t 发布的统一管理,用来进行b t 发布,并提供t o r r e n t 文件 的下载。它跟网上通用的w e b 服务器相似,通常是在w i n d o w s 的操作系统下架 构的h 1 。 ( 2 ) 跟踪器( t r a c k e r ) t r a c k e r 是指运行于服务器上的一个程序,这个程序能够追踪到底有多少人同 时在下载同一个文件。搜索网络上所有的点( p e e r s ) ,其中包括种子( s e e d s ) 和下 载者( 1 e e c h e r s ) 。并建立动态的用户列表( 1 i s t ) ,列表中包括其他在线用户的m , i n f oh a s h 等信息。用户会定时的发送k e e p a l i v e 包,并告诉t r a c k e r 它的下载、上 传等状态。客户端连上t r a c k e r 服务器,就会获得下载人员的名单,根据这个,b t 会 4 第二章b t 简介与当前限制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 ) 是指下载未完成的用户。 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 校验码( b t 为了实现续传和文 件校验,就把文件分成若干个片段) 。 ( 4 ) 具有完整文件的客户端( s e e d s ) 。 这个客户端具有完整的下载文件,也就是通常所说的种子( s e e d s ) 。种子的在 线才能保证其他的客户端不断的进行下载,直到完成整个文件的下载。种子是很重 要的,而且它的数目越多,下载的速度也会越快h , ( 5 ) 具有w e b 浏览器和b t 下载软件的客户端( 1 e e c h e r s ) b t 客户端一般装有w e b 浏览器和b t 下载的源程序,通过w e b 浏览器连接到服务 器,然后下载得至w j t o r r e n t 文件,再通过h t r 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 实时的报告下载的状态,其中包括在线 的种子数目,下载人数,文件下载量,下载速度,文件上传量,上传速度,出错情 况等信息哺1 。 2 2 3b t 会话过程 b t 作为一种文件传送协议,并不使用客户服务器的方式,而是点到点( p e e r t o p e e r ) 的传输方式。其中的w 曲服务器和t r a c k e r 与传统意义上的服务器不同,它 们不提供要下载的源文件,只提供一些用户需要互连的信息,仅仅起到传话筒的作 用。 5 自己的集群( p e e rs e t s ) ,然后通过p e e r 交换协议开始进行文件传输与交换。 b t 软件将文件分成了许多大小不等的片断,也叫文件块( p i e c e ) ,并采用s h a l h a s h 算法来对文件块进行校验,确保文件传输的正确性。由于用户是直接连接到对 方的微机上去下载,一个用户连接了多个用户同时进行下载不同的文件块,而不是 到统一的一个服务器去下载,减少了服务器的负荷,因而下载带宽得到充分的保证, 速度就会非常快。文件下载过程中,随时允许用户的退出与加入。用户之间的文件 传输是在t c p 协议基础上进行的n 们。 2 2 4b t 协议介绍 6 第二章b t 简介与当前限制b t 的技术 现在简单描述一下b t 会话过程中使用到的协议。b t 协议主要包括三方面的内 容:t o r r e n t 文件格式规定、t r a c k e rh t y p 协议和p e e r 交换协议。 用户与t r a c k e r 之间的通信使用的是h t t p 协议。用户首先向t r a c k e r 发送h 下r p g e t 请求,这个请求包括用户给t r a c k e r 的一些信息,t m c k e r 会将其进行统计。 t m c k e r 然后给用户发回响应,这个响应包括点的列表信息,通过列表用户可以与其 他人建立连接】。 p e e r 交换协议中用户之间的通信过程: 用户 。h a n d s h a k e 包含i 咄枷p e e r _ i d r 、 一 用户b 的i 啦 痢p r i d 与用户坏匹配 v 、 , 用户啪近k 蛹p e e r - i 齿用户 匹配 , 、 m e s s a g e 一 交换信息 , 、。舱s s a g e 、 , 用户b 图2 3 两个b t 用户之间的通信过程 f i g 2 - 3t h ep r o c e s so fc o m m u n i c a t i o nb e t w e e nt w op e e r s 用户与其他人建立连接时,首先发送握手信号( h a n d s h a k e ) ,握手信号中带有 i n f o _ h a s h 和p c e r _ i d 信息,对方如果有相同的i n f oh a s h 和与之匹配的p e e r _ i d ,就回 复用户响应,进行信息( m e s s a g e ) 交换。否则,对方会断掉连接。 握手信号( h a n d s h a k e ) 握手信号( h a n d s h a k e ) 最先由希望得到下载文件的用户发送。它的格式为: p s t r l e n :p s t r 的字符串长。( p s t l e n = 1 9 ) p s t r :协议的字符串标识符。( p s t r = ”b i t t o r r e l l tp r o t o c o l 一) r e s e r v e c l :保留的8 个字节位。 i n f o _ h a s h :2 0 个字节的s h a lh a s h 校验码,与t r a c k e rg e t 请求中的i n f 0 h a s h 相同。 7 北京化工大学硕士论文 p e e r _ i d :用户的唯一标识m ,2 0 字节长。 握手信号完成后,用户之间开始交换信息。 信息( m e s s a g e ) p e e r 交换协议中信息( m e s s a g e ) 的表示格式是: p a y l o a d ) 1 e n g t hp r e f i x :表示信息的长度。 m e s s a g ei d :一个十进制的数。 p a y l o a d :信息的承载内容。 信息( m e s s a g e ) 的种类有: k e e p - a l i v e : k e e p - a l i v e 是0 字节的信息。 c h o k e : h a v e : 通常在b i t f i e l d 发送给对方用户后,用户还会下载新的文件块。h a v e 信息用来 表示用户新下载的p i e c e , p i e c ei n d e x 表示块的索引号。 b i t f i e l d : 在握手队列完成后,其他信息未发送前,会立即发送b i t f i e l d 信息告诉对方自己 所拥有的文件块。如果用户没有p i e c e s ,就没有必要发送此信息。b i t f i e l d 信息表示 用户所有的p i e c e 的位图。它是变长的,x 的值就是b i t f i e l d 的长度。关键字b i t f i e l d 表示拥有的文件块的内容n

温馨提示

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

评论

0/150

提交评论