一些基本定义:参与分享一个特定文件的对等者(peer)集合称为一个洪流(torrent)。每个洪流中有一个特殊服务器名为追踪器(tracker)追踪洪流内的所有IP,每个对等者刚进入是需要注册并定期通知追踪器它仍在洪流中。特定文件被拆分成等大小的块(chunk)在对等者中互相分享,对等者随时可能退出洪流但若仅包含一定的块也会再次加入。
过程:1.涉及追踪器(tracker):A对等者向追踪器注册而追踪器告诉它在洪流中的一部分对等者的IP。
2.涉及邻居(“neighboring peer”):A对等者与获得的IP对应的对等者建立同时TCP连接,这些对等者称为邻居对等者,之后A从它们中获得它们含有的块的列表。
3.交易算法(trader algorithms):(1)获得rarest first:A对等者向邻居请求列表中最稀有的块。
(2)发送:A对等者发送块给四个给它发送块速率最高的对等者(被称作是unchoked),每10秒重新计算,而每30秒随机选中一个邻居发送块(被称作是optimistically unchoked.)。
参考:计算机网络—自顶向下方法(原书第8版)