• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            saga's blog

            突出重點(diǎn),系統(tǒng)全面,不留死角

              C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
              33 Posts :: 2 Stories :: 185 Comments :: 0 Trackbacks

            公告

            QQ:34O859O5

            常用鏈接

            留言簿(15)

            搜索

            •  

            積分與排名

            • 積分 - 211487
            • 排名 - 123

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            Kad是Kademlia的簡(jiǎn)稱,eMule的官方網(wǎng)站在2004年2月27日正式發(fā)布的 eMule v0.42b中,Kad開始正式內(nèi)嵌成為eMule的一個(gè)功能模塊,可以說從這個(gè)版本開始eMule便開始支持Kad網(wǎng)絡(luò)了。

            Kad的出現(xiàn),結(jié)束了之前edonkey時(shí)代,在ed圈里只存在著ED2K一種網(wǎng)絡(luò)的模式,它通過新的協(xié)議開創(chuàng)并形成了自己的kad網(wǎng)絡(luò),使之和ED2K網(wǎng)絡(luò)并駕齊驅(qū),而且它還完全支持兩種網(wǎng)絡(luò),可以在兩種網(wǎng)絡(luò)之間通用。Kad同樣也屬于開源的自由軟件。它的程序和源代碼可以在官方網(wǎng)站[url]http://www.emule-project.net[/url]上下載。

            Kad網(wǎng)絡(luò)拓?fù)涞淖畲筇攸c(diǎn)在于它完全不需要服務(wù)器,我們都知道傳統(tǒng)的ed2k網(wǎng)絡(luò)需要服務(wù)器支持作為中轉(zhuǎn)和存儲(chǔ)hash列表信息,kad可以不通過服務(wù)器同樣完成ed2k網(wǎng)絡(luò)的一切功能,你唯一要做的就是連線上網(wǎng),然后打開kad。Kad需要UDP端口的支持,之后Emule會(huì)自動(dòng)按照客戶端的要求,來判斷它能否自由連線,然后同樣也會(huì)分配給你一個(gè)id,這個(gè)過程和我們ed2k的高id和低id檢查很像,不過這個(gè)id所代表的意義不同于ed2k網(wǎng)絡(luò),它代表一個(gè)是否“freely”的狀態(tài)。

            Kad和ed2k網(wǎng)絡(luò)有著完全不同的觀念但是相同的目的: 都是搜索和尋找文件的源。 Kad網(wǎng)絡(luò)的主要的目標(biāo)是做到不需要服務(wù)器和改善可量測(cè)性。相對(duì)于傳統(tǒng)的ed2k服務(wù)器只能處理一定數(shù)量的使用者(我們?cè)诜?wù)器列表也都看到了,每個(gè)服務(wù)器都有最大人數(shù)限制),而且如果服務(wù)器比較大連接人數(shù)過多,還會(huì)嚴(yán)重的的拖垮網(wǎng)絡(luò)。而Kad能夠自我組織,并且自我調(diào)節(jié)最佳的使用者數(shù)量以及他們的連接效果。因此, 它更能使網(wǎng)絡(luò)的損失達(dá)到最小。由于具備了以上所敘述的功能,Kad也被稱之為Serverless network(無服務(wù)器網(wǎng)絡(luò))。雖然目前一直處于開發(fā)階段(alpha stage) 。但毫無疑問,它無可比擬的優(yōu)勢(shì),將會(huì)使它成為p2p的明天。


            通俗的來講就是在kad網(wǎng)絡(luò)中,我們每個(gè)emule用戶端只負(fù)責(zé)處理一小部分搜索和查找源的工作。分配這些工作的時(shí)候,通過我們每個(gè)用戶端的唯一的ID和搜索文件的hash值之間的匹配來決定。比如像我猜我猜我猜猜.rm這個(gè)文件由用戶小王來負(fù)責(zé)(通過該文件的hash值來決定),那么任何其他用戶在下載這個(gè)文件的時(shí)候都會(huì)告訴其他用戶,小王有這個(gè)文件,其他用戶去下載這個(gè)文件的時(shí)候也會(huì)詢問小王,小王也會(huì)告訴他們誰正在共享這個(gè)文件,這樣kad找源的工作就完成了。搜索時(shí)候的方法也差不多,只不過是每個(gè)人負(fù)責(zé)一個(gè)關(guān)鍵字。

            整個(gè)過程有點(diǎn)像在照線索循序問路而找到正確方向,而不是路上隨便到處抓人在問路。而每個(gè)地方里的網(wǎng)絡(luò)相關(guān)信息,則會(huì)隨著電腦及文件的加入而持續(xù)更新。好處在于讓你可以搜索整個(gè)網(wǎng)絡(luò),而不只是在某一地區(qū)。目前來講,這個(gè)機(jī)制和算法是絕對(duì)領(lǐng)先而且非常優(yōu)秀的。

            如何找到用戶小王則是通過將用戶id異或的方式,兩個(gè)id的二進(jìn)位異或值決定他們之間的邏輯距離,如1100距離1101要比距離1001近。那么當(dāng)一個(gè)用戶加入kad后,首先通過一個(gè)已知的用戶找到一批用戶的id和ip地址和端口。當(dāng)該用戶要尋找一個(gè)特定用戶A的時(shí)候,該用戶先詢問幾個(gè)已知的邏輯距離較A較近的用戶,如B用戶,C用戶,D用戶,B,C,D會(huì)告訴該用戶他們知道的更加近的用戶的id和ip地址和端口,同理類推,這個(gè)用戶最終就能找到A。所以尋找的次數(shù)會(huì)在logN數(shù)量級(jí),這里N代表詢問的人數(shù)。

            其實(shí)也就是一種分散式雜湊的方法,基本上是對(duì)網(wǎng)絡(luò)上某一特定時(shí)刻的文件進(jìn)行快照(snapshot),然后將這些信息分散到整個(gè)網(wǎng)絡(luò)里。 為了找到特定的文件,搜索的要求先到達(dá)網(wǎng)絡(luò)上的任何一臺(tái)電腦上,然后這臺(tái)電腦就會(huì)再將它轉(zhuǎn)到另一臺(tái)有更多文件信息的電腦。第三臺(tái)電腦可能就擁有文件本身——或者也可能再繼續(xù)轉(zhuǎn)到其他有正確信息的電腦。采用這種方法,通常只需要跳轉(zhuǎn)兩到三次,便可以輕松查找到所需文件。
            posted on 2006-06-01 23:15 saga.constantine 閱讀(1778) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久人人爽人人人人片av| 国内精品欧美久久精品| 久久综合伊人77777| 色综合久久中文字幕综合网| 久久亚洲色一区二区三区| 区久久AAA片69亚洲| 久久人人爽人人爽人人AV| 国产精品久久波多野结衣| 久久综合狠狠综合久久激情 | 日日狠狠久久偷偷色综合免费 | 香港aa三级久久三级| 久久精品国产99久久丝袜| 亚洲人成伊人成综合网久久久| 精品一二三区久久aaa片| 狠狠色丁香婷婷久久综合| 99热精品久久只有精品| 久久精品青青草原伊人| 青草影院天堂男人久久| 久久精品国产亚洲AV忘忧草18 | 日韩精品久久久久久久电影蜜臀| 国产精品久久永久免费| 久久精品人妻中文系列| 久久se这里只有精品| 欧美精品久久久久久久自慰| 理论片午午伦夜理片久久 | 久久亚洲欧美日本精品| 久久婷婷色香五月综合激情| 香蕉久久夜色精品国产小说| 人妻丰满AV无码久久不卡| 久久这里都是精品| 欧美久久一级内射wwwwww.| 久久综合狠狠综合久久激情 | 伊人伊成久久人综合网777| 久久久久婷婷| 国内精品久久久久影院免费| 亚洲精品国产美女久久久| 久久久一本精品99久久精品88| 精品无码久久久久久久久久| 2020久久精品国产免费| 狠狠综合久久综合88亚洲| 亚洲国产另类久久久精品|