BT是什么
全名 BitTorrent,Bit:比特,Torrent:流。中文全称比特流。
是一个网络文件传输协议,能够实现点对点文件分享的技术。
BitTorrent的工作原理是什么
根据BitTorrent协议,文件发布者根据发布文件生成.torrent文件,即种子文件。
torrent文件本质上是文本文件,包含Tracker信息和文件信息两部分。
- Tracker信息:主要是BT下载中需要用到的Tracker服务器的地址和针对Tracker服务器的设置。
- 文件信息:是根据对目标文件的计算生成的,计算结果根据BitTorrent协议内的B编码规则进行编码。它的主要原理是需要把提供下载的文件虚拟分成大小相等的块,块大小必须为2k的整数次方(由于是虚拟分块,硬盘上并不产生各个块文件),并把每个块的索引信息和Hash验证码写入.torrent文件中;所以.torrent文件就是被下载文件的“索引”。
整个下载流程
- 下载者要下载文件内容,需要先得到相应的.torrent文件,然后使用BT客户端软件进行下载。
- 下载时,BT客户端首先解析.torrent文件得到Tracker地址,然后连接Tracker服务器。
- Tracker服务器回应下载者的请求,提供给下载者其他下载者(包括发布者)的IP。下载者再连接其他下载者,根据.torrent文件,两者分别告知对方自己已经有的块,然后交换彼此的数据。此时不需要其他服务器参与,分散了单个线路上的数据流量,因此减轻了服务器负担。
- 下载者每得到一个块,需要算出下载块的Hash验证码与.torrent文件中的对比,如果一样则说明块正确,不一样则需要重新下载这个块。这种规定是为了解决下载内容准确性的问题。