1 背景和相關工作
1.1 P2P文件共享網絡
在BitTorrent和eDonkey2000這樣的網絡中,每個用戶都有一個共享文件夾,用戶將所有可共享的文件存放到共享文件夾以便其他用戶共享,當用戶想要下載某個文件時,會發出搜索文件請求。在BitTorrent中通過Tracker服務器處理搜索文件請求;在Gnutella中,通過鄰居不斷轉發搜索請求的形式搜索文件。無論哪種P2P文件共享網絡,請求文件用戶最終都會收到與請求相匹配的文件列表,盡管不同的網絡生成文件列表的方式有所不同,但生成的文件列表都是滿足用戶文件請求的所有P2P主機的一部分,獲取了文件列表后,用戶可以從列表中選擇一個或多個主機下載該文件。從多個主機上下載文件,被稱為多點下載,意味著每個主機都提供文件的一部分。文件下載后被存放于共享文件夾,可供網絡中其他主機下載。