改进BitTorrent系统的协作协议:伙伴协议的设计与分析
1. 引言
BitTorrent协议是一种流行的点对点内容分发协议,旨在通过“以牙还牙”(TFT)解阻塞机制激励对等节点贡献资源并抑制搭便车行为,以实现对等节点间的公平性。然而,研究表明,该协议存在不公平性,特别是对于高容量的下载者,同时也存在搭便车的机会,主要是通过乐观解阻塞机制。
为了解决这些问题,本文提出了一种类似BitTorrent的协议,即伙伴协议。该协议鼓励具有相似上传带宽的对等节点成为伙伴,相互协作以实现互利。伙伴节点主要通过其伙伴满足下载需求,仅在绝对必要时才进行乐观解阻塞。这种方式通过伙伴间的明确合作提高了公平性,限制了随机乐观解阻塞的带宽消耗,使系统对搭便车者更具鲁棒性。
2. BitTorrent概述
2.1 协议流程
BitTorrent协议是一种流行的点对点内容分发协议,具有良好的扩展性。在分发过程开始前,内容提供者将数据内容分割成多个片段,每个片段再进一步分割成多个子片段,并创建一个元信息文件,其中包含启动下载过程所需的信息,如跟踪器的地址。
客户端若要加入一个种子(一组参与内容下载的对等节点),需下载元信息文件,然后连接跟踪器以获取当前正在传输内容片段的随机选择的对等节点集合,这些节点可能包括仍在下载过程中的下载者(leechers)和拥有完整内容并向他人提供的种子节点(seeds)。新客户端可以连接该集合中的对等节点并请求片段。
2.2 解阻塞机制
- 常规解阻塞 :下载者通过阻塞算法独立决定向哪些对等节点上传数据,采用“以牙还牙