文件分发协议,下载的同时利用上传带宽给其他peer提供数据块(slice=16KB)
通过策略保证上传的越快下载的越快!
组成部分:
1. web服务器,保存种子文件
2. 浏览器:从web server下载种子
3. 种子文件:保存了要下载的共享文件的信息,文件名,大小,tracker server address, .torrent
4. Tracker server: 保存当前下载共享文件的下载者ip和端口等信息
5. 原始共享文件提供者:保存完整的共享文件的提供者,种子文件就是由提供者生成的。
6. 一个或多个下载者:通过BT客户端下载共享文件,称为peer
BT客户端下载一个共享文件的过程是:
●客户端首先解析种子文件获取待下载的共享文件的一些信息,其中包括Tracker服务器的地址
●客户端连接Tracker获取当前下载该文件的所有下载者的IP和端口
●客户端根据IP和端口连接其他下载者,从他们那里下载文件,同时把自己已下载的部分提供给其他下载者下载。
P-to-P
peer
共享文件逻辑上分成大小相同的块,叫piece,一般256KB,1~256k叫第一个piece,依次类推第二个piece
BT协议用sha1算法对每个piece生成hash值。
在实际下载过程中,每个piece会划分成16KB大小的slice,peer之间用slice传输单位。
slice
实际过程:
BT客户端解析种子文件-》连tracker server获取peer的ip和端口,通过HTTP协议
BT客户端和其他peer 采用TCP通讯
种子文件和tracker的返回信息采用简单而高效的编码方式编码,叫B编码。bencoding
阅读(955) | 评论(0) | 转发(0) |