Re: [問題]DHT的一些問題

看板P2PSoftWare作者 (Milk)時間17年前 (2008/11/06 09:21), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/3 (看更多)
※ 引述《bedocument (劍魂痴)》之銘言: : 簡單的說 , 一般bt抓檔案的方法是 , 種子裡紀錄tracker , 開啟bt的時候連接上 : tracker , 之後再找到有哪些IP有這個檔案然後再從這些peer抓取檔案 : 如果是用DHT的方式 , 從維基的解釋 , 就是不需要先連到tracker就可以找到peer : 然後下載檔案 , 那這樣的話它是靠什麼方法找到這些有檔案的peer , 這點讓我很疑惑 : 還有就是現在我們學校有檔bt , 應該是阻擋種子連接上tracker , 因為同樣一個種子 : 在家裡用中華電信就抓得很開心 , 學校一動也不動 , 但是如果把家裡的bt軟體資料夾 : (我用bitcomet)放到學校裡面抓 , 就可以抓檔案了(不過要勾選DHT) , 我猜應該是軟體 : 裡面已經有紀錄了peer所以才可以抓的 正解 BitComet\rules\dhtnodes.dat 就是記錄 : 以上上說了這麼多 , 我只是想知道DHT到底是靠什麼找到擁有檔案的peer的? 簡單版答案: 就是"問"啊! 一問十,十問百,一層層接力問下去總會問到擁有該檔案的那個node 進階版答案: 舉個例子概略說明DHT的原理 首先規定: * 定義一個式子,每個檔案可由這個算式得出一個值,這裡稱它為key 假設其值的可能範圍為1~100 * 每個用戶都有一個ID,是由P2P軟體以隨機方式幫你產生, 其值的可能範圍與key一樣,為1~100 - 現在假設我的ID值是50,且其他所有用戶的ID都互不重覆, 同時所有同戶剛好都在線上 - 在我的電腦上維護兩份記錄表: A表與B表 1. A表用來記錄其他用戶的IP位址,其ID值差我越多的用戶我就記少一點 於是我記錄了以下ID值的用戶: 5, 15, 25, 35, 45~55, 65, 75, 85, 95 2. 當我遇到某用戶他有擁有某個檔案,其key值跟我的ID值很接近,我就記錄起來 例如我遇到用戶a有一個檔案,其key值為51 於是我就在B表上記錄: 用戶a有key值為51的檔 只要每個用戶都照上述規則來玩,就可達成下列條件: * 每個用戶都只需記錄一點點資料,即可以輕易的藉此找到任何一個用戶與檔案 * 如果我想要抓某檔案,只要找出檔案的key值,再去問ID值跟這個key很接近 的那幾個用戶,他們只要查一下B表就可以馬上告訴我誰有這個檔案 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.169.2.101 ※ 編輯: serate 來自: 218.169.2.101 (11/06 09:39)

11/06 09:53, , 1F
沒想到一大早就出現演算法,另類腦鍛XD
11/06 09:53, 1F

11/06 12:12, , 2F
謝謝回答我知道原理了
11/06 12:12, 2F
文章代碼(AID): #194aQUlw (P2PSoftWare)
文章代碼(AID): #194aQUlw (P2PSoftWare)