集中目录式P2P网络模型采用中央目录服务器管理P2P网络各节点,仍然具有中心化的特点,被称为非纯粹的P2P结构。
一:区别于C/S模式(客户端只能被动从服务器上读取信息,并且客户端之间不具有交互能力),中央目录服务器只保留索引信息,有对等节点负责提供服务,服务器与对等节点之间以及peer之间都具有交互能力。
二:采用星形结构,最大优点简单、发现效率高,缺点就是单点故障。
典型应用:BitTorrent
名词 |
意义 |
Tracker |
收集下载者信息的服务器,并将此信息提供给其他下载者,使他们互连,传输数据 |
种子 |
指一个下载任务中所有文件都被某个下载者完整地下载,此时下载者成为一个种子,发布者本身发布的文件就是原始种子 |
做种 |
发布者提供下载任务的全部内容的行为,下载者下载完成后继续提供他人下载的行为 |
.torrent文件 |
文件发布者生成,包含了下载文件的信息,文件名、大小、散列信息以及指向Tracker服务器的URL |
工作模式:BitTorrent协议是TCP/IP之上的一个P2P文件传输协议(应用层协议)
- 文件发布者生成.torrent文件,本质上是文本文件,包含Tracker信息和文件信息。Tracker信息主要是BT下载中用到Tracker服务器的地址和针对Tracker服务器的设置;文件信息是根据目标文件的计算生成的,计算结果根据BitTorrent协议的B编码规则进行编码,主要原理是将目标下载文件分为256KB的块,块在整个文件中是顺序排列,每个块有对应编号,一个块还可以分为16KB的字块,并把每个块的索引信息和Hash验证码写入.torrent文件中。所以.torrent文件是被下载文件的“索引”。
- 下载时,下载者首先从Web服务器下载一个扩展名.torrent文件,并解析得到Tracker地址,连接Tracker服务器,服务器返回其他下载者的IP。Peer之间通过.torrent文件,告知对方已有的块,交换没有的数据,此时不需要其他服务器的参与,分散了单个链路上的数据流量
- 下载过程中,下载者需要周期地向Tracker登记