什么是BitTorrent协议

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

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

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

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

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

原文:http://blog.csdn.net/hongchangfirst/article/details/26845699

作者:hongchangfirst

hongchangfirst的主页:http://blog.csdn.net/hongchangfirst

时间: 2024-08-02 11:28:22

什么是BitTorrent协议的相关文章

Kademlia、DHT、KRPC、BitTorrent 协议、DHT Sniffer

catalogue 0. 引言 1. Kademlia协议 2. KRPC 协议 KRPC Protocol 3. DHT 公网嗅探器实现(DHT 爬虫) 4. BitTorrent协议 5. uTP协议 6. Peer Wire协议 7. BitTorrent协议扩展与ut_metadata和ut_pex(Extension for Peers to Send Metadata Files) 8. 用P2P对等网络思想改造C/S.B/S架构的思考 0. 引言 平常我们高端用户都会用到BT工具来

BitTorrent协议java实现分析

BitTorrent学习 最近做的项目里,利用开源的NanoHttpd搭建了嵌入安卓的服务器.最近要做的一部分工作,就是基于BitTorrent协议的WIFI下载实现. 协议介绍 普通的HTTP/FTP下载使用TCP/IP协议,BitTorrent协议是架构于TCP/IP协议之上的一个P2P文件传输协议,处于TCP/IP结构的应用层.BitTorrent协议本身也包含了很多具体的内容协议和扩展协议,并在不断扩充中. 根据BitTorrent协议,文件发布者会根据要发布的文件生成提供一个.torr

BitTorrent DHT 协议中文翻译

前言 做了一个磁力链接和BT种子的搜索引擎 {Magnet & Torrent},因此把 DHT 协议重新看了一遍. 原文:DHT Protocol 译文:BitTorrent DHT 协议中文翻译 BitTorrent 使用"分布式哈希表"(DHT)来为无 tracker 的种子(torrents)存储 peer 之间的联系信息.这样每个 peer 都成了 tracker.这个协议基于 Kademila[1] 网络并且在 UDP 上实现. 请注意本文档中使用的术语,以免混乱.

BT协议分析(1)—1.0协议

简述 BT下载是采用P2P的下载方式,下载的大致形式采用如下图所示,处于图示中心的称为Tracker服务器,其余称为Peer.   缺点 1.资源的安全性 2.资源的实效性(没有上传者则BT也将失效) 3.版权 协议分析 对BT协议(1.0)的分析主要包含4个部分: 1.种子文件的分析 2.同Tracker服务器的通讯(采用HTTP协议) 3.同其他peer(配合/协同者)的通讯(采用TCP协议) 4.总结 分析前的了解 在这些分析之前,需要先了解两点BT协议采用的基础: 1.BT协议中采用的单

P2P协议初步

今天看到一个问题,如何把一个文件快速下发到100w个服务器 如果我们将文件集中式地放在一个服务器或缓存上的话,带宽.连接都会遇到问题. 树状: 1. 每个服务器既具有文件存储能力也应具有文件分发能力. 2. 每个服务器接收到文件之后向较近的服务器分发,具体类似多叉树,应该挺快的. 索引状: 1. 设置1000个缓存服务器,文件先下发到这些缓存上.(具体多少缓存.分几层缓存和具体业务有关.) 2. 每个缓存服务器接收1000个服务器取文件. 无论哪种方法,好像速度都不够快,主要受制于资源和带宽.

视频流和文件传输相关协议

视频编码的两大流派 ITU(International Telecommunications Union)的VECG(Video Coding Experts Group),这个称为国际电联下的 VECG. ISO(International Standards Organization)的 MPEG(Moving Picture Experts Group),这个是ISO 旗下的 MPEG. 网络直播 网络协议将编码好的视频流,从主播端推送到服务器,在服务器上有个运行了同样协议的服务端来接收这

TCP/IP 7 应用层协议

第8章 应用层协议 8.1 TCP/IP应用层协议主要是指OSI参考模型中的第5层.第6层.第7层上半部分的协议.(会话层,表示层,应用层) 应用层协议定义: 利用网络的应用程序有很多,包括web浏览器.电子邮件.远程登陆.文件传输.网络管理等.能够让这些应用进行特定通信处理的正是应用协议. TCP和IP等下层协议是不依赖于上层应用类型.适用性非常广的协议.而应用协议则是为了实现某种应用而设计和创造的协议. 应用协议与协议的分层: 应用可以直接享用传输层以下的基础部分.因为开发者只要关心选用哪种

DPI深度包检测

最近在读网络协议方面的论文,接触到DPI技术.博主是个小白,这里写些查到的笔记. 原文出处因为比较多,杂乱.百度文库和许多地方都有,就不贴链接了. 1. DPI 全称为"Deep Packet Inspection",称为"深度包检测".所谓"深度"是和普通的报文分析层次相比较而言的,"普通报文检测"仅分析IP包的层4 以 下的内容,包括源地址.目的地址.源端口.目的端口以及协议类型,而DPI 除了对前面的层次分析外,还增加了

BT下载原理分析

版权声明:本文为博主原创文章,未经博主允许不得转载. BitTorrent协议. BT全名为BitTorrent,是一个p2p软件,你在下载download的同时,也在为其他用户提供上传upload,因为大家是“互相帮助”,所以不会随着用户数的增加而降低下载速度. 下面是一般用ftp,http等分享流程: 下面是用BitTorrent分享的流程: 其实跟ED也十分相似,ED跟BT不同的地方有: ED--要连上一个固定server BT--没有固定server,只要分享者制作出该分享档案的.tor