下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

简单分析BitTorrent协议

作者:课课家教育     来源: http://www.kokojia.com点击数:1815发布时间: 2019-02-21 09:31:53

标签: BitTorrentP2P文件传输协议

软考,您想通过吗?一次通过才是硬道理

  P2P协议发展到现在已经是比较成熟了,而且应用也越来越广泛。BitTorrent协议作为其第三代的产品也渐渐被人们所熟知。接下来就跟着小编来一起做个简单的分析吧。

  BitTorrent协议是支持网络当中数据的上下传输的一个P2P文件传输协议。与其他传统P2P软件如Gnutella,Fasttrack不同,Bittorrent只是一个纯粹的文件下载协议,并提供搜索功能,所以往往资源的获取要跟其他一些应用结合起来,比如说发布Bittorrent种子信息的网站如5Q、或者是网络搜索引擎如百度、google等。

  Bittorrent工作原理

      Bittorrent的工作原理其实很简单,他就是将一份数据分隔成256K大小的数据分组,并在Bittorrent 网络中一群用户相互协作完成这些数据的分发,用户参与数据分发的信息已文件的形式存储,一般可以通过web网站获取这些信息。但是实际数据传输依靠的不是Http协议,而是由专门的P2P协议来完成,这些对于用户都是透明的。

简单分析BitTorrent协议_BitTorrent_P2P_文件传输协议_课课家 

  一般的下载服务器为每一个发出下载请求的用户提供下载服务,是点到点,一对一的顺序下载服务,而BitTorrent的工作方式与之不同,它是每一个节点都贡献自己那部分内容,是同时好几个节点给你提供服务,直到用户的下载都全部完成。

  一般的HTTP/FTP下载,下载的人如果太多,服务器很容易达到瓶颈,变得很慢。而BitTorrent协议下载的特点是,下载的人越多,提供的种子也越多,种子也会越来越多,下载速度就越快。这就是他BT的地方。

  BitTorrent协议处于TCP/IP结构的应用层。根据BitTorrent协议,要根据发布的文件生成提供一个.torrent文件,即种子文件,也简称为“种子”。包含Tracker信息和文件信息两部分。Tracker信息主要是下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置,文件信息是根据对目标文件的计算生成的,把文件虚拟分成大小相等的块,块大小必须为2k的整数次方,种子包含每个块的索引信息和Hash验证码,即索引。

  下载时,首先解析种子文件得到Tracker地址,然后连接Tracker服务器。Tracker服务器回应下载者的请求,提供其他下载者的地址。下载者再连接其他下载者,根据种子文件,两者分别对方告知自己已经有的块,然后交换对方没有的数据。下载者每得到一个块,需要算出下载块的Hash验证码与种子文件中的对比,如果一样则说明块正确,不一样则需要重新下载这个块。保证每个块都是正确的。

  这里有一点是相当有意思的,就是每个结点都优先选择整个系统中最拥有少的那些块去下载,而那些在系统中相对较多的块,放在后面下载,这样,整个系统就趋向于一种更优的状态。如果大家都去下载最多的那些块,那么这些块就会在系统中分布的越来越多,而那些在系统中相对较少的块会越来越少,最后,某些 结点就不再拥有其它结点需要的块了,那么整个系统的吞吐量就会下降。

  BitTorrent协议组成部分

  一个BitTorrent文件传输过程,通常需要由以下几个部分组成:

  Web服务

  文件元信息(metainfo,种子)

  BitTorrent Tracker

  原始下载者(发布资源者)

  终端用户浏览器(下载.torrent种子)

  终端用户下载者

  BT下载特点

  和常规下载文件不一样的是,当你进行BT下载时,你开始链接的地址都是.torrent结尾的文件。其实只要下载此文件,在本机运行此文件一样可以进行BT下载工作。而网上的BT下载链接都是由广大用户自己发布提供的,这样使得下载资料非常广,不受常规管理人员的限制。

  无论何种BT客户端程序,默认设置都未对下载速度和上传速度进行限制,这是因为BT软件会给上传速度较快的用户优先提供服务,也就是说上传速度越快,下载速度也越快,因此如果你使用BT原理示意图的是宽带的话,下载时就不要去限制上传速度了。

  BitTorrent的功能

  BitTorrent对于大型文档和自由软件如Linux、FreeBSD的发布帮助很大bittorrent下载界面。对于发布数百MB以至数GB的档案时,如Fedora的光盘镜像格式档,BitTorrent的使用能大大减低服务器的数据流量从而减低发布的成本。另外,一般有新版本软件推出时,服务器必定人山人海,使用BitTorrent也能大大减低繁忙时间服务器的负担。

  通过以上的内容,大家对于BitTorrent的知识要点了解了吗?小编希望这篇文章能给大家带来帮助,也非常感谢大家的阅读。如果还有什么内容学习的话,大家可以前往课课家教育搜索自己想要了解的内容或课程进行学习。

赞(14)
踩(0)
分享到:
推荐查看
华为认证网络工程师 HCIE直播课视频教程