第一代:中心化索引 — Napster (1999)
- 中央服務器存儲文件索引(元數據),文件實體分佈在用戶端。
- 優點:搜索高效;缺點:單點故障、版權易被起訴 → 2001 年關閉。
第二代:純去中心化洪泛 — Gnutella / Gnutella2
- 無中心服務器,每節點即客戶端又服務端。
- 查詢採用洪泛路由(TTL 限制跳數),擴展性差,流量風暴大。
- Gnutella2 改進:葉子節點/超級節點分層,減少洪泛範圍。
第三代:混合超級節點 — FastTrack (Kazaa/iMesh)
- 自動選舉高帶寬/高可用節點為超級節點,構建兩層拓撲。
- 普通節點僅連超級節點,查詢在超級節點層洪泛。
- 2002-03 年用戶峰值,後因版權污染、間諜軟件、擴展性瓶頸衰退。
第四代:強制共享與 DHT — eDonkey / Overnet / Kad
- eDonkey:中心服務器索引 + 客戶層,引入信用評分/強制共享(下載需上傳),文件分塊 (9.28MB) 多源下載。
- eMule:eDonkey 開源客戶端,加入 Kademlia (Kad) DHT 網絡,無中心服務器,UDP 通信。
- Overnet:純 DHT,無服務器,但用戶量較少。
第五代:BitTorrent — 分片交換 + Tracker/DHT/PeX
- 文件切分為小片 (256KB-4MB),稀缺優先策略 (Rarest First)。
- Tracker:中心協調 Peer 列表(單點風險)。
- DHT (Mainline DHT):Kademlia 變體,去中心化 Peer 發現。
- PeX (Peer Exchange):Peer 間直接交換鄰居列表。
- 優點:下載人越多速度越快(群體暢通),無版權污染機制(依賴社區驗證)。
演進脈絡總結
中心索引 → 純洪泛 → 超級節點混合 → 信用/強制共享+DHT → 分片交換+多重發現機制。核心矛盾始終在搜索效率、擴展性、抗審查/版權、激勵機制間博弈。