B协议介绍新版

上传人:优*** 文档编号:130141965 上传时间:2020-04-25 格式:DOC 页数:6 大小:73.50KB
返回 下载 相关 举报
B协议介绍新版_第1页
第1页 / 共6页
B协议介绍新版_第2页
第2页 / 共6页
B协议介绍新版_第3页
第3页 / 共6页
B协议介绍新版_第4页
第4页 / 共6页
B协议介绍新版_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《B协议介绍新版》由会员分享,可在线阅读,更多相关《B协议介绍新版(6页珍藏版)》请在金锄头文库上搜索。

1、可编辑1 简介BT:BT是一种用来进行文件下载的共享软件(不是“变态”),全名叫BitTorrent。一般来讲,下载是把文件由服务器端传送到客户端,例如FTP,HTTP,PUB等等。但是这样就出现了一个问题,随着用户的增多,对带宽的要求也随之增多,用户过多就会造成瓶颈,而且搞不好还会把服务器挂掉,所以很多的服务器会都有用户人数的限制,下载速度的限制,这样就给用户造成了诸多的不便。但BT就不同,用BT下载反而是用户越多,下载越快,这是为什么呢?因为BT用的是一种传销的方式来达到共享的,工作原理如下图:BT首先在上传者端把一个文件分成了Z个部分,甲在服务器随机下载了第N各部分,乙在服务器随机下载了

2、第M个部分,这样甲的BT就会根据情况到乙的电脑上去拿乙已经下载好的M部分,乙的BT就会根据情况去到甲的电脑上去拿甲已经下载好的N部分,这样就不但减轻了服务器端得负荷,也加快了用户方(甲乙)的下载速度,效率也提高了,更同样减少了地域之间的限制。比如说丙要连到服务器去下载的话可能才几K,但是要是到甲和乙的电脑上去拿就快得多了。所以说用的人越多,下载的人越多,大家也就越快,BT的优越性就在这里。而且,在你下载的同时,你也在上传(别人从你的电脑上拿那个文件的某个部分),所以说在享受别人提供的下载的同时,你也在贡献。一些常用的术语解释:BT= BitTorrent 比特洪流HTTP= HyperText

3、 Transmission Protocol 超文本传输协议FTP= File Transfer Protocol 文件传送协议PUB= 可以匿名登陆的FTP站点的统称torrent文件(扩展名为.torrent),包含了一些 Bit Torrent 下载所必须的信息,有了这个文件,才可以下载最新的文件,.torrent文件通常很小,大约几百Kclient(客户端)与trackers服务器通信,这样其他的客户端才能下载到那些发布的文件.Tracker是指运行于服务器上的一个程序,这个程序能够追踪到底有多少人同时在下载同一个文件。客户端连上tracker服务器,就会获得一个下载人员得名单,根据这

4、个,BT会自动连上别人的机器进行下载Seed= 种子,在制作完torrent文件后,发布者可以使用 bit torrent下载客户端,进行seed他们将会被加进tracker服务器的列表,其他人就可以从他那里下载文件了ReSeed= 相对与Seed来说就是二次开放的种子Hash:是指用一小段数据来标识容量很大的一段数据,以验证她的完整性. 在bt的下载中,hash主要来验证文件的完整性,并且hash还可以作为不同文件判别的标志SHA1 hashing 一般是BT网站使用的hash方式P2P= Peer-to-Peer 点对点(传输)2 BT协议介绍BitTorrent文件下载包括如下几个实体:

5、 web server 一个静态的metainfo文件 一个BitTorrent tracker 一个初始下载者 用户终端web浏览器 一些终端下载者作为服务器的主机需要完成以下几个步骤的工作1. 运行Tracker;2. 运行WEB服务程序;3. 生成metainfo (.torrent)文件,包涵已经下载的文件信息和Tracker的URL;4. 把metainfo (.torrent)文件放到WEB服务器上;5. 在其它网页上增加metainfo (.torrent)的链接用户侧需要在网上找到.torrent文件就可以下载了。下载过程如下:1. Tracker从Downloaders接收信

6、息,然后给每个下载者下发随机生成的Peer 列表,这个过程是建立在HTTP or HTTPS上;2. Downloaders 周期性的检入到tracker,使Tracker随时了解他们的进程,Downloaders 之间通过P2P的直接连接互相进行上传和下载a。这些连接使用TCP上构建的BitTorrent peer protocol;3. 作为提供种子的Origin,只上传不下载 Metainfo 文件和tracker的响应采用一种称为bencoding (pronounced bee encoding)的简单、有效、易扩充的报文,Bencoded消息是嵌套的字典和列表(as in Pyth

7、on),可以包含字符、整数。Metainfo (.torrent)文件具有以下键值:1、announce :Tracker的URL2、Info:指向一个词典,词典具有以下键值: Name:指向一个字符串,是建议的保存文件名; Piece length:每个分片的bytes数量; Pieces:一个长度是20的倍数的字符串,将被进一步分割为20字节的字符串,用来建行Hash计算; 其他的键值不细介绍Tracker 查询是双向的,Tracker通过HTTP GET 参数接收信息,然后返回bencoded 消息Tracker GET 请求包括一下主要键值:1. info_hash:在metainfo

8、文件中的bencoded 的20 byte sha1 hash,该值必须2. peer_id:该downloader 作为其ID的20字节长的字符串,每一个downloader在开始下载时会随机生成他自己的id,该值必须 3. ip:可选参数,该Peer的IP (or dns name),一般用于Origin和Tracker在一台机器上的情况;4. Port:该Peer侦听的port number。一般来说downloader会首先侦听port 6881,如果被占用就会尝试6882, 然后6883等,最后是68895. Uploaded:目前已经上载的数量6. Downloaded:目前已经下

9、载的数量7. Left:该Peer还需要下载的数量8. Event:用来指示started、completed、stopped Tracker的应答是bencoded 词典.假如tracker的应答有一个指示失败的原因,则会转换成可读的字符串用来解释失败的原因,此时其他的键就不需要了。否则, 应答中必须包涵两个键:Interval,指示downloader 在发出请求之间应该等待的时间Peers,映射到一系列的与peer相关联的词典,包含:peer id、ip、port3 BitTorrents peer protocolBitTorrents peer protocol承载在TCP上,Pee

10、r之间的连接是对称的,数据可以双向传输。peer protocol通过metainfo文件中的index对文件的分片进行索引,当一个Peer结束一个分片的下载,验证了Hash匹配后,可以对他的所有Peers声明他已经下载了这个分片。Peer之间的上载和下载关系有其简单的机制来保证。在连接的任一端包含两个bit位用来指示连接状态:choked or not、interested or not。Choking 指示在没有出现unchoking时,没有任何数据可以发送。数据传输出现在以测试处于Interested状态,另一侧处于unchoking状态。Interest状态应该保持最新的状态,这样,d

11、ownloaders可以知道出现unchoked哪peers将会开始下载文件。Choking 算法BT下载过程中没有一个统一的资源调度,所有的下载者都希望能够尽可能的提高下载速度,对等体之间从任何对端下载,同时礼尚往来的进行上传,就是说,在下载上传形成对子,对于不合作方,则在上传方向进行Choke(阻塞),比如我和你之间形成Pair,但是你只想下载不想上传,则把你Choke。Choking用于阶段性的阻止上载,但是在Choking结束后,上传可以继续进行。Choking算法不是BT链路协议的技术组成,但是对提高下载效率很有作用,一个好的Choking应该能够利用各种资源,保障参加下载的每个用户

12、获得理想的下载速度,同时杜绝有人只下载不上载。每一个BT客户一般会不阻塞一定数量的对等体,所以应该决定哪些Peer应该不去阻塞,这个决定是是基于当前的下载速度,为提高效率,BT对20S内的下载速度进行计算,同时为避免频繁的计算在成效率下降,BT每隔10S进行一次计算,10S的时间也足够TCP机制达到最高的下载速度。另外,为了始终选择到能够提供最大下载速度的Peer,BT会使用一种optimistic unchoke机制,每隔30s就循环的地Choke一个Peer,这样有机会去查询是否还有更好的下载对象。4 BT所带来的影响1、 带宽利用模式的影响,一般来说上下行带宽是不均衡的,比如ADSL,如果不限速,下行比上行大的多,但是有了BT,情况大变,经常遇到上行大于下行的情况;2、 由于BT应用中,每隔Downloader会把自己的一些信息发到Tracker上,这样存在用户安全方面的很大隐患,很容易被黑客侵入;3、 部分采用防火墙的网络用户不能使用BT,端口号被封;4、 运营商对BT有些恼火,这个软件确实病态,蚕食带宽非常厉害,已经出现了重庆网通把BT封掉惹的网民大骂,然后告上法庭。-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 法律文献 > 法律文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号