概述
private tracker 是一種限制對其所追蹤的種子訪問權(quán)限的機制逻炊。其作用是促進資源共享,并且常常會記錄注冊用戶的統(tǒng)計信息裸删,并對未能充分上傳的用戶限制對某些或全部種子的訪問權(quán)限黎棠。
在生成元信息文件時宝鼓,用戶可以通過在種子的元信息文件(metainfo file,參加 BitTorrent 協(xié)議規(guī)范)的”info” 字典中包含鍵值對”private=1″ 來表示該種子為 PT 種子队询。
當一個 BitTorrent 客戶端獲取到包含”private=1″ 鍵值對的元信息文件時往踢,它必須只向 private tracker 進行報告,并且必須只與 private tracker 返回的節(jié)點建立連接椭盏。
當一個 PT 種子的元信息文件中的”announce-list” 中出現(xiàn)多個 Trackers(參見多 Tracker 元數(shù)據(jù)擴展)组砚,每個節(jié)點在同一時間內(nèi)只能使用一個 tracker,并且只在當前 tracker 失敗時切換到其他 tracker 掏颊。在切換 tracker 時惫确,節(jié)點必須斷開與當前所有節(jié)點的連接,并僅與新 tracker 提供的節(jié)點建立連接。
原理
Private Tracker 不會公開節(jié)點的信息改化,這樣入侵者就無法直接聯(lián)系其他節(jié)點掩蛤。但是,一旦入侵者獲取了某個節(jié)點的 IP 地址和端口陈肛,他們可以通過直接連接節(jié)點進行文件共享揍鸟。在種子群中,入侵者將被視為正常的節(jié)點句旱,并具有與其他節(jié)點相同的權(quán)利和待遇阳藻。
目前,BitTorrent 有四種方式可以讓一個節(jié)點了解種子群中的其他節(jié)點:
- Trackers [1],
- Distribute Hash Table (DHT) [2],
- Peer EXchange (PEX) [3],
- Local Service Discovery (LSD) [5].
除了 Private Tracker 之外谈撒,通過任何其他機制公布或交換節(jié)點信息都會破壞 tracker 的訪問控制腥泥。這意味著如果在 PT 種子中,某個入侵者獲得或猜測了已經(jīng)在 PT 種子中的某個節(jié)點的 IP 和端口啃匿,那么與入侵者交換節(jié)點信息將為入侵者提供完整的節(jié)點列表蛔外。
當節(jié)點在不同的 tracker 之間切換時,該節(jié)點會斷開與舊 tracker 的連接溯乒,以防止成為一個連接 private tracker 和連接 public tracker 的節(jié)點之間的橋梁夹厌。這在一定程度上減輕了攻擊者修改元信息文件的 announce-list 并通過 public tracker 網(wǎng)站重新分發(fā)元信息文件的影響。