BitTorrent(BT)為目前網際網路中使用廣泛的應用程式,曾有統計指出網路網路頻寬佔用的三分之一來自於BitTorrent,這樣的成功主要導因於其傳輸大型檔案的簡單運作機制,以及在選擇上傳對象(peer choking)及選擇上傳檔案piece(piece selection)機制上的高效率。然而,在BitTorrent系統中,這些機制皆運作於所建構的覆蓋網路之上,因此,建構及維護覆蓋網路策略亦變得相當重要。 在本篇論文中,我們將覆蓋網路建構過程分為三階段:最初peer set的選擇、peer set的更新、連結的管理,分別代表一個peer如何在一開始時獲得其他peer清單以建立連結,並如何在過程中更新該清單和管理已建立的連結。在每一個階段,都有不同的設計選擇。例如,在組成peer清單時,可以隨機選擇peer或是依照頻寬來選擇適合的peer;在更新peer清單時,peer可以選擇從centralized tracker中獲得,亦可由其他peer手中分散式的取得;而在管理連結時,peer可以選擇忠於維持已建立的連結直到連結中斷為止,亦可以在有更好的peer可以選擇時,取代已建立的連結。除此之外,peer清單的大小規模以及peer在建立連結時採主動或被動態度也都會影響覆蓋網路的結構。總合來說,在建立及維護覆蓋網路上存在許多不同策略,而本篇論文即針對這些策略對BitTorrent的影響進行研究,並找出能夠協助改進BitTorrent效能的關鍵覆蓋網路建置因素。
BitTorrent is one of the most important applications in the Internet. Some statistics have shown that it has accounted for more than 1/3 of the Internet bandwidth. Part of BitTorrent’s immense success may be attributed to its simple design, and the effectiveness of its peer choking and piece selection mechanisms for distributing large files over the Internet. As these mechanisms are to be performed on the application overlay, how the overlay is constructed and maintained is crucial to their performance. In this paper we divide the overlay construction process into three stages: initial peer set selection, peer set update, and connection management, representing how a peer obtains an initial list of peers in the overlay, how it updates the list, and how it maintains its overlay links. In each stage, there are several design choices. For example, random selection or bandwidth match can be used to compose a peer list; a peer can update its peer list from its overlay neighbors or from a centralized tracker; and a peer may stick to a neighbor until their link is broken, or replace it when it sees a “better” peer. Besides, the size of the peer list, and whether a peer should be more aggressively using the list to establish neighbor connections, or passively waiting for other peers to establish connections also affect the overlay structure. In total, many combinations are possible to build and maintain an overlay. The purpose of the paper is to sort out them and find the key choices that help improve the performance.