BitTorrent协议(简称BT,俗称比特洪流、BT下载)是用在对等网络中文件分享的网络协议程序。和点对点(point-to-point)的协议程序不同,它是用户群对用户群(peer-to-peer)。下载同一文件的人越多,且下载后,继续维持上传的状态进行“分享”,下载该档案的速度越快。
BitTorrent简称BT,一个文件分发协议,它通过URL识别内容并且和网络无缝结合。 它对比HTTP/FTP协议,MMS/RTSP流媒体协议等下载方式的优势在于,一个文件的下载者们下载的同时也在不断互相上传数据,使文件源(可以是服务器源也可以是个人源,一般特指第一个做种者或种子的第一发布者)可以在增加很有限的负载之情况下支持大量下载者同时下载,所以BT等P2P传输方式也有“下载的人越多,下载的速度越快”这种说法。BT正式的名称叫“Bit-Torrent”(被国内网友昵称为“变态下载”),是一种多点共享协议软件,由美国加州一名叫Bram Cohen的程序员开发出来。
BT首先在上传者端把一个文件分成了很多部分,用户甲随机下载了其中的一些部分,而用户乙则随机下载了另外一些部分。
这样甲的BT就会根据情况(根据与不同电脑之间的网络连接速度自动选择最快的一端)到乙的电脑上去拿乙已经下载好的部分,同样乙的BT就会根据情况到甲的电脑上去拿甲已经下载好的部分,这样不但减轻了服务器端的负荷,也加快了双方的下载速度。
实际上每个用户在下载的同时,也在作为源在上传(别人从你的电脑上拿那个文件的某个部分)。这种情况有效地利用了上行的带宽,也避免了传统的FTP大家都挤到服务器上下载同一个文件的瓶颈。而加入下载的人越多,实际上传的人也多,其他用户下载得就越快,BT的优势就在这里体现出来。
和通常的FTP、HTTP下载不同,使用BT下载不需要指定服务器,虽然在BT里面还是有服务器的概念,但下载的人并不需要关心服务器在哪里。只有发布原始共享文件的人才需要了解。
提供BT的服务器称为Tracker,把文件用BT发布出来的人需要知道该使用哪个服务器来为要发布的文件提供Tracker。由于不指定服务器,BitTorrent采用BT文件来确定下载源。BT文件后缀名为torrent,容量很小,通常是几十K的样子,这个文件里面存放了对应的发布文件的描述信息、该使用哪个Tracker(记录下载用户信息的服务器)、文件的校验信息等。BT客户端通过处理BT文件来找到下载源和进行相关的下载操作。
BitTorrent专门为大容量文件的共享而设计,它采用了一种有点像传销的工作方式。