BitTorrent协议的三个基础概念


我们都知道BT,那么它是怎么个变态法呢?这个还是需要我们来了解一下它的原理,也就是BitTorrent协议。那么这个广为流传的下载方式,它的全称为“BitTorrent"简称“BT",中文全称“比特流",但很多朋友将它戏称为“变态下载",这又是什么原因呢?

就HTTP、FTP、PUB等下载方式而言,一般都是首先将文件放到服务器上,然后再由服务器传送到每位用户的机器上。因此如果同一时刻下载的用户数量太多,势必影响到所有用户的下载速度,如果某些用户使用了多线程下载,那对带宽的影响就更严重了,因此几乎所有的下载服务器都有用户数量和最高下载速度等方面的限制。

目的

此规范的目的是详细介绍BitTorrent协议规范 v1.0 。Bram的协议规范网站 http://www.bittorrent.com/protocol.html 简要地叙述了此协议,在部分范围缺少详细行为阐述。希望此文档能成为 一个正式的规范,明确的条款,将来能作为讨论和执行的基础。

此文档规定由BitTorrent开发者维持和使用。欢迎大家为它做贡献,其中的内容代表当前协议,它仍由许多客户使用。

这里不是提出特性请求的地方。如果有请求,请见邮箱列表。

应用范围

本文档适用于BitTorrent协议规范的第一版(v1.0)。目前,这份文档应用于 torrent 文件结构、用户线路协议和服务器(Tracker)HTTP/HTTPS 协议规范。如果某个协议有了新的修订,请到对应页面查看,而不在这里。

约定

在本文档中,使用了许多约定来简明和明确地表达信息。

用户(peer)v/s 客户端(client):在本文档中,一个用户可以是任何参与下载的BitTorrent客户端。客户端也是一个用户,尽管BitTorrent客户端运行在本地机器上。本规范的读者可能会认为自己是连接了许多用户的客户端。

片断(piece)v/s 块(block):在本文档中,片断是指在元信息文件中描述的一部分已下载的数据,它可通过 SHA-1 hash 来校验。而块是指客户端向用户请求的一部分数据。两块或更多块组成一个完整的片断,它能被校验。

实际标准:大的斜体字文本指出普通的准则在不同客户端BitTorrent协议的执行,它被当作为实际标准。(对照英文原文,common应该翻译成通用或者常见,这句话的大概意思是一个规范由于被许多不同的BitTorrent客户端实现所通用,以至于被当做是实际标准)

相关内容