(檢測(cè)技術(shù)與自動(dòng)化裝置專(zhuān)業(yè)論文)p2p網(wǎng)絡(luò)guntella協(xié)議中防火墻穿越的研究與實(shí)現(xiàn).pdf_第1頁(yè)
(檢測(cè)技術(shù)與自動(dòng)化裝置專(zhuān)業(yè)論文)p2p網(wǎng)絡(luò)guntella協(xié)議中防火墻穿越的研究與實(shí)現(xiàn).pdf_第2頁(yè)
(檢測(cè)技術(shù)與自動(dòng)化裝置專(zhuān)業(yè)論文)p2p網(wǎng)絡(luò)guntella協(xié)議中防火墻穿越的研究與實(shí)現(xiàn).pdf_第3頁(yè)
(檢測(cè)技術(shù)與自動(dòng)化裝置專(zhuān)業(yè)論文)p2p網(wǎng)絡(luò)guntella協(xié)議中防火墻穿越的研究與實(shí)現(xiàn).pdf_第4頁(yè)
(檢測(cè)技術(shù)與自動(dòng)化裝置專(zhuān)業(yè)論文)p2p網(wǎng)絡(luò)guntella協(xié)議中防火墻穿越的研究與實(shí)現(xiàn).pdf_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

(檢測(cè)技術(shù)與自動(dòng)化裝置專(zhuān)業(yè)論文)p2p網(wǎng)絡(luò)guntella協(xié)議中防火墻穿越的研究與實(shí)現(xiàn).pdf.pdf 免費(fèi)下載

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

p 2 p 網(wǎng)絡(luò)g n u t e l l a 協(xié)議中防火墻穿越的研究與實(shí)現(xiàn) 檢測(cè)技術(shù)與自動(dòng)化裝置 碩士生:朱志偉 指導(dǎo)教師:呂志民教授 摘要 計(jì)算機(jī)對(duì)等聯(lián)網(wǎng)p 2 p 技術(shù)是目前新一代網(wǎng)絡(luò)技術(shù)研究的活躍領(lǐng)域,它在網(wǎng)絡(luò) 資源利用率、消除服務(wù)器瓶頸等多方面都有明顯的優(yōu)勢(shì)。而g n u t e l l a 協(xié)議就是 一個(gè)基于p 2 p 網(wǎng)絡(luò)的文件搜索,數(shù)據(jù)交換協(xié)議。 本文通過(guò)分析了g n u t e l l a 協(xié)議的包結(jié)構(gòu),路由規(guī)則以及文件的傳輸,針對(duì) 協(xié)議本身只能處理單方節(jié)點(diǎn)被防火墻屏蔽的問(wèn)題的不足,提出了一個(gè)解決方案, 通過(guò)一個(gè)代理節(jié)點(diǎn)進(jìn)行文件的代理傳輸,使協(xié)議能夠有效穿越屏蔽了雙方節(jié)點(diǎn)的 防火墻。為此,本文對(duì)協(xié)議進(jìn)行了必要的擴(kuò)展,增加了動(dòng)態(tài)確定代理節(jié)點(diǎn)的消息, 設(shè)計(jì)了這些消息的結(jié)構(gòu),給出其路由規(guī)則,并為文件的代理轉(zhuǎn)發(fā)新增加了必要的 研t p 消息。 本文在l i n u x 平臺(tái)上對(duì)協(xié)議擴(kuò)展進(jìn)行了實(shí)現(xiàn),最后,對(duì)系統(tǒng)的實(shí)驗(yàn)結(jié)果進(jìn)行 了介紹和分析,并指出本系統(tǒng)的缺點(diǎn)和不足以及下一步的研究工作。 關(guān)鍵詞: p 2 p ,g n u t e l l a ,防火墻,穿越,代理 _ 。_ 一_ - _ - - _ _ - _ _ _ _ 一 r e s e a r c ha n di m p l e l e n t a t i o no ff i r e w “it r a v e r s i n gi np 2 pn e t w o r kg n u c e l i ap r o t o c o l d e t e c t i o n7 【色c h n i q u ea n da u t o m a t i cd e v i c e n a m e :z h u z h i w 文 s u p e r v i s o r : p r o f e s s o rl 百z h i m i n g a b s t r a c t w i t ht h eh i g hr e s o u r c eu s i n gr a t ea n dt h ea d v a n t a g eo fe l i m i n a t i n gt h es e r v e r s c h o c kp o i n t ,p e e 卜t o p e e r ( p 2 p ) n e t w o f kb e c o r 血n gt h ea c t i v i 哆f i e i di m en e w g e n e r a t i o n sn e t w o r kr e s e a r c h a n dg n u t e l l ap r o t o c o li s o n eo fp 2 pn e t w o r kp r o t o c o l f b r 矗l es e a r c h i n ga n dd a t ae x c h a n g e t h i sa n i c l ef i r s ta n a l y z e st h ep r o t o c o i sm e s s a g e ss t r u c t u r e ,r o u t i n g l e ,m e t r a n s f e lf o rt h ep r o t o c o ic a no n i yt r a v e r s eo n ew a yf i r e w a i l ,t h i sp a p e rb r i n g sf o r w a r d as o l u t i o nt os o l v et h i sp r o b l e mb yu s i n gap r o x yn o d et ot r a n s f 色rt h ed a t a 。f o rt h i s , t h i s p a p e rm a k es o m ee x t e n s i o nf o rm ep r o t o c o l ,a d d i n gs o m en e wn l e s s a g ef o r d y n a i m cc o n f i r mt h ep r 。x yn o d ea n dd e s i g nt h es m l c t u r eo ft h e s em e s s a g e s ,g i v i n g o u tt h e i rr o u t i n gr u l e s f o rf i i et r a n s f e n g ,t h i sp a p e ra l s oa d d ss o m en e wh t t p m e s s a g e t h ea p p l i c a t i o nf o rt h i s p r o p o s a li s b a s e do nl i n u x ,a tl a s t ,t h i sp a p e rp r e s e n t s a n da n a l y z e st h er c s u i o ft h j sp r o p o s a l ,p o i n t i n go u s o m ed e 矗c i e a c yo fc h i ss y s t e m a n dt h en e x tr e s e a r c hw o r k k e yw o r d s : p 2 p g n u t e l l a ,f i r e w a l l , t r a v e r s e ,p f o x y 【i p 2 p 網(wǎng)絡(luò)g n u t e 兒8 怫議中防火墻穿越韻研究與實(shí)現(xiàn) 1 - 1 課題研究的背景 第1 章引言 一直以來(lái),在i n t e r n e t 上占據(jù)著統(tǒng)治地位的是c s ( c 1 i e n t s e r v e r ) 結(jié)構(gòu)。 該結(jié)構(gòu)是以一臺(tái)機(jī)器作為服務(wù)器提供服務(wù),其他機(jī)器作為客戶(hù)機(jī)向服務(wù)器提出服 務(wù)請(qǐng)求,服務(wù)器響應(yīng)請(qǐng)求。這樣的應(yīng)用必須要設(shè)置一個(gè)擁有強(qiáng)大處理能力和大帶 寬的高性能計(jì)算機(jī),配合高檔的服務(wù)器軟件的服務(wù)器,信息通過(guò)服務(wù)器才可以傳 遞。信息一般是先集中上傳到服務(wù)器保存,然后再分別下載( 如網(wǎng)站) ,或是信 息按服務(wù)器上專(zhuān)有規(guī)則處理后才可在網(wǎng)絡(luò)上傳遞流動(dòng)( 如郵件) 。c s 模式適合一 對(duì)多、強(qiáng)對(duì)弱的社會(huì)關(guān)系形式,如政府對(duì)個(gè)人、對(duì)企業(yè),大企業(yè)對(duì)小企業(yè),學(xué)校 對(duì)學(xué)生,企業(yè)對(duì)職工等等關(guān)系。 圖1 1c s 模式的網(wǎng)絡(luò)結(jié)構(gòu) 但是,自從1 9 9 9 年的n a p s t e r ( 一個(gè)提供可以在網(wǎng)絡(luò)上交換m p 3 的軟件) 的出 現(xiàn),把人們的目光又吸引到網(wǎng)絡(luò)的另一種結(jié)構(gòu):p 2 p ( p e e r t o p e e rn e t w o r k ) 網(wǎng)絡(luò)。對(duì)等網(wǎng)絡(luò)打破了傳統(tǒng)的c s 模式,對(duì)等網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的地位都是相同的, 每個(gè)節(jié)點(diǎn)既充當(dāng)服務(wù)器,為其他節(jié)點(diǎn)提供服務(wù),同時(shí)也充當(dāng)客戶(hù)機(jī),享用其他節(jié) 點(diǎn)提供的服務(wù)。在p 2 p 技術(shù)的推動(dòng)下,互聯(lián)網(wǎng)的存儲(chǔ)模式將由現(xiàn)在的“內(nèi)容位于 中心”模式轉(zhuǎn)變?yōu)椤皟?nèi)容位于邊緣”模式?!? 】 p 2 p 網(wǎng)絡(luò)g n u t e l l a 協(xié)議中防火墻穿越的研究與實(shí)現(xiàn) 圖1 2p 2 p 模式的網(wǎng)絡(luò)結(jié)構(gòu) 正是由于p 2 p 網(wǎng)絡(luò)結(jié)構(gòu)相對(duì)于c s 結(jié)構(gòu)的種種優(yōu)點(diǎn),p 2 p 技術(shù)正在受到人們 的越來(lái)越廣泛的關(guān)注,特別是基于p 2 p 網(wǎng)絡(luò)的文件交換協(xié)議g n u t e l l a 協(xié)議。許 多著名的公司和企業(yè)也先后投入到對(duì)p 2 p 技術(shù)的研究之中,其中包括微 軟,s u n ,i 肼和惠普等。 1 2 課題研究的現(xiàn)狀 正是p 2 p 網(wǎng)絡(luò)具有自己獨(dú)特的分布式的網(wǎng)絡(luò)結(jié)構(gòu),它在以下幾方面得到廣泛 應(yīng)用:【2 】 ( 1 ) 對(duì)等計(jì)算 采用p 2 p 技術(shù)的對(duì)等計(jì)算,是把網(wǎng)絡(luò)中的眾多計(jì)算機(jī)暫時(shí)不用的 計(jì)算能力連結(jié)起來(lái),使用積累的能力執(zhí)行超級(jí)計(jì)算機(jī)的任務(wù)。使它們 發(fā)揮出只有超級(jí)計(jì)算機(jī)才具有的巨大功能。從本質(zhì)而言對(duì)等計(jì)算就 是網(wǎng)絡(luò)上c p u 資源的共享。 ( 2 )協(xié)同工作 p 2 p 技術(shù)的出現(xiàn),使褥互聯(lián)網(wǎng)上任意兩臺(tái)p c 都可建立實(shí)時(shí)的聯(lián)系, 可以建立一個(gè)安全、共享的虛擬空間,人們可以進(jìn)行各種各樣的活動(dòng), 這些活動(dòng)可以是同時(shí)進(jìn)行,也可以交互進(jìn)行。在協(xié)同工作的過(guò)程中, p 2 p 體現(xiàn)出了一些良好的素質(zhì)。 ( 3 ) 搜索引擎 p 2 p 網(wǎng)絡(luò)g n u t e h a 協(xié)議中防火墻穿越的研究與實(shí)現(xiàn) 強(qiáng)大的搜索引擎功能是p 2 p 軟件引以為自豪的一個(gè)功能。p 2 p 技術(shù) 使用戶(hù)能夠深度搜索文檔,而且這種搜索無(wú)需通過(guò)w e b 服務(wù)器,也可 以不受信息文檔格式和宿主設(shè)備的限制,可達(dá)到傳統(tǒng)目錄式搜索引擎 無(wú)可比擬的深度。p 2 p 為互聯(lián)網(wǎng)的信息搜索提供了全新使用感受和信息 搜索提供了全新的解決之道。著名的搜索引擎公司g 0 0 9 l e 也宣稱(chēng)要采 用p 2 p 技術(shù)來(lái)改進(jìn)其搜索引擎。 ( 4 )文件交換和文件共享 在傳統(tǒng)的w e b 方式中,要實(shí)現(xiàn)文件交換需要服務(wù)器的大力參與, 通過(guò)將文件上傳到某個(gè)特定的網(wǎng)站用戶(hù)再到某個(gè)網(wǎng)站搜索需要的文 件,然后下載。電子郵件顯然方便地解決了個(gè)人間文件傳遞問(wèn)題,卻 沒(méi)法解決大范圍的交換,這就是w e b 的重要缺陷,n a p s t e r 【3 】就是在情 況下出現(xiàn),抓住人們對(duì)m p 3 喜歡的需求,n a p s t e r 的m p 3 交換直接引發(fā) 了網(wǎng)絡(luò)的p 2 p 技術(shù)革命。文件共享是p 2 p 軟件最實(shí)質(zhì)的使用宗旨。 ( 5 )企業(yè)應(yīng)用 應(yīng)用p 2 p 技術(shù)的互聯(lián)網(wǎng)產(chǎn)品正在迅速開(kāi)辟出一塊新的互聯(lián)網(wǎng)應(yīng)用 市場(chǎng),例如i c q 類(lèi)的即時(shí)信息工具不僅創(chuàng)立了一個(gè)巨大市場(chǎng)。在p 2 p 網(wǎng)絡(luò)上開(kāi)展電子商務(wù)這另是人們根據(jù)p 2 p 本身的特點(diǎn)就能直接想到的, 而且這種模式尤其適于用戶(hù)之間的商品買(mǎi)賣(mài)。p 2 p 在電子商務(wù)領(lǐng)域有光 明的前景,因?yàn)檫@項(xiàng)技術(shù)是直接聯(lián)系買(mǎi)主與賣(mài)主方面,不需要第三者 參與。 在文件交換和文件共享方面,目前最為流行的兩種p 2 p 網(wǎng)絡(luò)模型結(jié)構(gòu)分別是 基于集中式目錄結(jié)構(gòu)和基于分布式定位方法的對(duì)等網(wǎng)絡(luò)模型,它們分別以 n a p s t e r 和g n u t e l l a 為代表。其中n a p s t e r 模型因?yàn)橹醒敕?wù)器的存在被認(rèn)為并 非純粹的p 2 p 系統(tǒng),而取消了中央服務(wù)器的g n u t e l l a 模型則被作為純粹的p 2 p 系統(tǒng)的代表。 g n u t e l l a 協(xié)議實(shí)現(xiàn)的是純粹的p 2 p 模式,它能智能地發(fā)現(xiàn)其鄰居節(jié)點(diǎn),主要 用于文件的搜索和交換上。在因特網(wǎng)上的任何一臺(tái)機(jī)器,只要運(yùn)行一個(gè)基于 g n u t e l l a 協(xié)議的p 2 p 軟件,就可以成為g n u t e l l a 網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)。 p 2 p 網(wǎng)絡(luò)g n u t e l l a 協(xié)議中防火墻穿越的研究與實(shí)現(xiàn) 但是,g n u t e l l a 協(xié)議正處于不斷完善的階段,并且出于協(xié)議的簡(jiǎn)單性方面的 考慮,g n u t e l l a 協(xié)議有許多方面都還沒(méi)有給出完善的解決方案,許許多多研究人 員與研究機(jī)構(gòu)都在為完善該協(xié)議做出努力。譬如在安全方面,由于協(xié)議本身的簡(jiǎn) 約性,g n u t e l l a 網(wǎng)絡(luò)很容易遭到分布式拒絕服務(wù)攻擊( d d o s ) ,國(guó)外有研究人員 提出在兩臺(tái)客戶(hù)機(jī)文件下載前,互相傳遞多一對(duì)q u e r y q u e r y h i t 數(shù)據(jù)包作驗(yàn)證, 可以有效避免利用i p 欺騙造成的分布式攻擊【4 1 :s u n 公司甚至推出了一個(gè)全面的 開(kāi)發(fā)平臺(tái)j x t a ,為p 2 p 網(wǎng)絡(luò)的開(kāi)發(fā),安全保證提供完善的平臺(tái)【5 】。 在用戶(hù)的交互上,處于不同n a t 之后的兩臺(tái)機(jī)器為進(jìn)行通信,必須解決地址 的映射問(wèn)題,有研究人員提出了使用u d p 進(jìn)行n a t 的穿越【”。協(xié)議本身對(duì)單機(jī)被 防火墻屏蔽有自己的解決方案,而當(dāng)兩臺(tái)機(jī)器都處于防火墻后,協(xié)議對(duì)兩臺(tái)機(jī)器 間的文件下載就無(wú)能為力了。通過(guò)代理機(jī)可以解決這個(gè)問(wèn)題,但是,一般的代理 機(jī)制會(huì)造成通訊效率的低下,如何高效地穿越防火墻,是g n u t e l l a 協(xié)議得以廣 泛應(yīng)用的保證。國(guó)內(nèi)的一位研究人員提出了一種新的p 2 p 網(wǎng)絡(luò)代理協(xié)議,能夠高 效地穿越防火墻,擴(kuò)充了p 2 p 網(wǎng)絡(luò)的連接能力【7 1 。但是,在其提出的方法中并沒(méi) 有給出明確的路由規(guī)則與代理節(jié)點(diǎn)的選擇方案。 1 3 課題研究的意義和目標(biāo) 另一方面,在各個(gè)企業(yè),學(xué)校的內(nèi)部網(wǎng)中,出于安全原因,都會(huì)在內(nèi)部網(wǎng)與 外部網(wǎng)的網(wǎng)關(guān)中設(shè)置防火墻。這樣,統(tǒng)一由網(wǎng)關(guān)來(lái)設(shè)置防火墻,能有效防止外部 的惡意侵入,又能減輕內(nèi)部網(wǎng)絡(luò)主機(jī)的設(shè)置負(fù)擔(dān),不用每一臺(tái)主機(jī)都配置防火墻, 減低了安全成本,將安全性集中于一點(diǎn)。但是,統(tǒng)一的策略也帶來(lái)了新的問(wèn)題, 主要是限制了有用的網(wǎng)絡(luò)服務(wù)。防火墻為了提高被保護(hù)網(wǎng)絡(luò)的安全性,限制或關(guān) 閉了很多有用但存在安全缺陷的網(wǎng)絡(luò)服務(wù)。譬如,內(nèi)部網(wǎng)中主機(jī)所開(kāi)的f t p 服務(wù) 往往就被防火墻屏蔽掉,造成網(wǎng)內(nèi)主機(jī)與外部通信的極大不便。同樣,g n u t e l l a 協(xié)議也會(huì)遭遇同樣的問(wèn)題。為能最大限度的利用i n t e r n e t 上的資源,提高用戶(hù) 交互的方便性,g n u t e 兒a 協(xié)議中對(duì)防火墻的穿越是值得考慮的問(wèn)題。 本課題就是針對(duì)p 2 p 網(wǎng)絡(luò)上的g n u t e 兒a 協(xié)議中的防火墻穿越方案的不足, 提出一個(gè)有效的穿越方案。該協(xié)議本身對(duì)單機(jī)被防火墻屏蔽有自己的解決方案, 4 p 2 p 網(wǎng)絡(luò)g n u t e u a 協(xié)議中舫火墻穿越的研究與實(shí)現(xiàn) 而當(dāng)兩臺(tái)機(jī)器都處于防火墻后,協(xié)議對(duì)兩臺(tái)機(jī)器間的文件下載就無(wú)能為力了。本 文提出了一個(gè)代理方案,對(duì)協(xié)議進(jìn)行擴(kuò)展,增加了在g n u t e l l a 網(wǎng)絡(luò)上動(dòng)態(tài)確立文 件下載的代理機(jī)的協(xié)商消息,以及這些消息的路由規(guī)則。目標(biāo)在于使兩臺(tái)處于不 同防火墻屏蔽的機(jī)器能夠動(dòng)態(tài)確立一臺(tái)代理機(jī),使這兩臺(tái)機(jī)器能夠有效進(jìn)行文件 傳輸,實(shí)現(xiàn)p 2 p 網(wǎng)絡(luò)的最大交互。 1 4 論文的結(jié)構(gòu)概況 第一章介紹了課題研究的背景、現(xiàn)狀、意義和目標(biāo)。 第二章介紹了p 2 p 網(wǎng)絡(luò)相對(duì)于c s 網(wǎng)絡(luò)的優(yōu)點(diǎn),對(duì)當(dāng)前的p 2 p 網(wǎng)絡(luò)的幾種 基本結(jié)構(gòu)進(jìn)行了介紹和比較,以及p 2 p 的關(guān)鍵技術(shù)等。 第三章詳細(xì)介紹p 2 p 網(wǎng)絡(luò)中主要用于文件共享的協(xié)議g n u t e l l a 協(xié)議,描述 了它的協(xié)議包格式,路由規(guī)則,文件下載,協(xié)議本身所有的單方防火墻穿越方案。 第四章給出了本文提出的雙方防火墻穿越方案,給出了對(duì)協(xié)議進(jìn)行擴(kuò)展的 數(shù)據(jù)包格式,路由規(guī)則,以及方案的具體實(shí)現(xiàn)。 第五章給出了在實(shí)驗(yàn)室環(huán)境下搭建的小型網(wǎng)絡(luò),對(duì)該網(wǎng)絡(luò)進(jìn)行防火墻策略 配景,測(cè)試本代理方案的實(shí)現(xiàn)結(jié)果。并且分析了該實(shí)現(xiàn)的特點(diǎn)和不足,提出下一步 工作展望。 p 2 p 網(wǎng)絡(luò)g n u t e l l a 協(xié)議中防火墻穿越的研究與實(shí)現(xiàn) 第2 章p 2 p 網(wǎng)絡(luò)結(jié)構(gòu) 2 1p 2 p 的基本概念 p 2 p 是p e e r t op e e r 的簡(jiǎn)寫(xiě),譯為“對(duì)等網(wǎng)絡(luò)”。p 2 p 系統(tǒng)中沒(méi)有客戶(hù)機(jī)和服 務(wù)器之分,每個(gè)主機(jī)既是客戶(hù)機(jī)也是服務(wù)器。它使互聯(lián)網(wǎng)上的個(gè)人電腦相互平等 地連接,在進(jìn)行信息交換時(shí)無(wú)須通過(guò)任何服務(wù)器和公司。p 2 p 使用戶(hù)感覺(jué)到在進(jìn) 行文件交換時(shí)象以往登錄網(wǎng)絡(luò)一樣方便。這項(xiàng)技術(shù)主要應(yīng)用于企業(yè)內(nèi)部的局域網(wǎng) 或局域網(wǎng)之外的任何特定人群間的對(duì)等交流?!? 】 2 2p 2 p 網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)點(diǎn) 目前最流行的網(wǎng)絡(luò)計(jì)算模式是c s 模式,該結(jié)構(gòu)具有如下特點(diǎn):【9 】 ( 1 ) 集中計(jì)算方式,信息和數(shù)據(jù)都保存在服務(wù)器端。只有服務(wù)器端具有控 制能力,客戶(hù)端基本上只是一個(gè)高性能的i o 設(shè)備。 ( 2 ) 服務(wù)器及網(wǎng)絡(luò)的帶寬決定了網(wǎng)絡(luò)的性能。每臺(tái)服務(wù)器所能提供的信息 數(shù)量受到自身存儲(chǔ)空間的限制,而任意時(shí)刻它所能支持的客戶(hù)端訪(fǎng)問(wèn)數(shù)量則既受 到自身處理能力的限制也受到服務(wù)器所在網(wǎng)絡(luò)吞吐能力的限制。 ( 3 ) u r l 用來(lái)表示信息資源的地址,但是u r l 很少能直接體現(xiàn)所定位的信 息的內(nèi)容,甚至不能直接鏈接到具體的內(nèi)容上。 ( 4 ) 被發(fā)布信息的分布與生存期十分穩(wěn)定。服務(wù)器只發(fā)布機(jī)器所有者想公 之于眾的信息,這些信息將會(huì)在該服務(wù)器上穩(wěn)定地保存一段時(shí)間,并且該服務(wù)器 通常也不間斷地運(yùn)行在網(wǎng)絡(luò)上。 ( 5 ) 被發(fā)布信息的存貯與管理比較集中、規(guī)范?;ヂ?lián)網(wǎng)上所有可以公開(kāi)訪(fǎng) 問(wèn)的信息基本上都保存在服務(wù)器上,服務(wù)器根據(jù)適當(dāng)?shù)乃惴ê鸵?guī)則管理本地信 息,應(yīng)答客戶(hù)端的訪(fǎng)問(wèn)請(qǐng)求或進(jìn)行計(jì)算。 相對(duì)c s 網(wǎng)絡(luò)而言,p 2 p 模式有以下一些主要優(yōu)點(diǎn): ! 鯊璺竺! ! ! 塑! ! ! 堡堅(jiān)! 墮坐些窒整鑒要塞蘭壅翌 _ _ _ _ _ 一 ( 1 )p 2 p 模式最主要的優(yōu)點(diǎn)就是資源的高度利用率。在p 2 p 網(wǎng)絡(luò)上,閑散 資源有機(jī)會(huì)得到利用,所有節(jié)點(diǎn)的資源總和構(gòu)成了整個(gè)網(wǎng)絡(luò)的資源,整個(gè)網(wǎng)絡(luò)可 以被用作具有海量存儲(chǔ)能力和巨大計(jì)算處理能力的超級(jí)計(jì)算機(jī)。c s 模式下,縱 然客戶(hù)端有大量的閑置資源,也無(wú)法被利用。 ( 2 )隨著節(jié)點(diǎn)的增加,c s 模式下,服務(wù)器的負(fù)載就越來(lái)越重,形成了系 統(tǒng)的瓶頸,一旦服務(wù)器崩潰,整個(gè)網(wǎng)絡(luò)也隨之癱瘓。而在p 2 p 網(wǎng)絡(luò)中,每個(gè)對(duì)等 體都是一個(gè)活動(dòng)的參與者,每個(gè)對(duì)等點(diǎn)都向網(wǎng)絡(luò)貢獻(xiàn)一些資源,如存儲(chǔ)空間、c p u 周期等。所以,對(duì)等點(diǎn)越多,網(wǎng)絡(luò)的性能越好,網(wǎng)絡(luò)隨著規(guī)模的增大而越發(fā)穩(wěn)固。 ( 3 ) 基于內(nèi)容的尋址方式處于一個(gè)更高的語(yǔ)義層次,因?yàn)橛脩?hù)在搜索時(shí)只 需指定具有實(shí)際意義的信息標(biāo)識(shí)而不是物理地址,每個(gè)標(biāo)識(shí)對(duì)應(yīng)著包含這類(lèi)信息 的節(jié)點(diǎn)的集合。這將創(chuàng)造一個(gè)更加精煉的信息倉(cāng)庫(kù)和一個(gè)更加統(tǒng)一的資源標(biāo)識(shí)方 法。 ( 4 )網(wǎng)絡(luò)設(shè)備間直接流動(dòng),高速及時(shí),降低中轉(zhuǎn)服務(wù)成本。c s 模式下的 互聯(lián)網(wǎng)是完全依賴(lài)于中心點(diǎn)服務(wù)器的,沒(méi)有服務(wù)器,網(wǎng)絡(luò)就沒(méi)有任何意義。 而p 2 p 網(wǎng)絡(luò)中,即使只有一個(gè)對(duì)等點(diǎn)存在,網(wǎng)絡(luò)也是活動(dòng)的,節(jié)點(diǎn)所有者可以隨 意地將自己的信息發(fā)布到網(wǎng)絡(luò)上。 表1 是對(duì)c s 和p 2 p 模式在若干方面的比較 10 1 。 表lp 2 p 模式與c s 模式比較 _ 、_ - 一 p 2 pc s 數(shù)據(jù)發(fā)布 好嫠 數(shù)據(jù)接收 凼 好 數(shù)據(jù)安全性 茇好 數(shù)據(jù)塑覯 好 菱 數(shù)據(jù)質(zhì)量( 價(jià)值) 凼 好 數(shù)據(jù)覆蓋率和數(shù)量( 價(jià)值)差好 數(shù)據(jù)成本控翩 好差 數(shù)據(jù)管理矗僥性 麓好 p 2 p 網(wǎng)絡(luò)g n u t e l l a 協(xié)議中防火墻穿越的研究與實(shí)現(xiàn) 2 3p 2 p 網(wǎng)絡(luò)結(jié)構(gòu) 目前,p 2 p 網(wǎng)絡(luò)主要存在三種網(wǎng)絡(luò)結(jié)構(gòu)【兒】 ( 1 )集中式p 2 p 集中式p 2 p 形式有一個(gè)中心服務(wù)器來(lái)負(fù)責(zé)記錄共享信息以及回答對(duì)這些信 息的查詢(xún)。每一個(gè)對(duì)等實(shí)體對(duì)它將要共享的信息以及進(jìn)行的通信負(fù)責(zé),根據(jù)需要 下載它所需要的其它對(duì)等實(shí)體上的信息。這種形式具有中心化的特點(diǎn),但是它不 同于傳統(tǒng)意義上的c l i e n t s e r v e r 模式。傳統(tǒng)意義上的c l i e n t s e r v e r 模式采用 的是一種壟斷的手段,所有資料都存放在服務(wù)器上,客戶(hù)機(jī)只能被動(dòng)地從服務(wù)器 上讀取信息,并且客戶(hù)機(jī)之間不具有交互能力。而集中式p 2 p 形式則是,所有網(wǎng)上 提供的資料都分別存放在提供該資料的客戶(hù)機(jī)上,服務(wù)器上只保留索引信息,此 外服務(wù)器與對(duì)等實(shí)體以及對(duì)等實(shí)體之間都具有交互能力。 采用集中式p 2 p 形式的軟件被稱(chēng)為第一代p 2 p ,其代表性軟件為n a p s t e r 。 n a p s t e r 的系統(tǒng)結(jié)構(gòu)圖見(jiàn)圖2 。這種形式有一個(gè)中央服務(wù)器,為用戶(hù)提供共享和搜 索文件服務(wù)。這就要求有一個(gè)連續(xù)運(yùn)轉(zhuǎn)的服務(wù)器,并且一旦該服務(wù)器被關(guān)閉,整個(gè) 網(wǎng)絡(luò)就會(huì)停止運(yùn)行。此外,這樣的服務(wù)器必須能夠處理大量的用戶(hù)連接,擁有足夠 的內(nèi)存和磁盤(pán)空間來(lái)維護(hù)和搜索文件列表。 網(wǎng)絡(luò)結(jié)構(gòu) s e a r c h : d o w n l o a d : 一一 搜索與下載 圖2 1 集中式p 2 p 模式( n a p s t e r ) ( 2 )分布式p 2 p 分布式p 2 p 形式是一種純p 2 p 模式。這種形式不需要有中心服務(wù)器和中心路 由器,其上的每一個(gè)p e e r 都作為對(duì)等實(shí)體,地位是完全平等的。每一個(gè)p e e r 既可 p 2 p 網(wǎng)絡(luò)g n u t e l l a 協(xié)議中防火墻穿越的研究與實(shí)現(xiàn) 以作為客戶(hù)機(jī)又可以作為服務(wù)器,并且它們與相鄰的p e e r 有相同的能力。具體地 說(shuō),它有兩種路由結(jié)構(gòu),一種是分布式的目錄結(jié)構(gòu),另一種是直接消息傳遞。像 g n u t e u a 【1 2 1 4 】就是這種形式的代表。 采用分布式p 2 p 形式的軟件被稱(chēng)為第二代p 2 p 。其代表性軟件有g(shù) n u t e l l a , b e a r s h a r e ,l i l e w i r e 等。g n u t e l l a 的系統(tǒng)結(jié)構(gòu)圖見(jiàn)圖3 。這些軟件都是基于相 同的運(yùn)作模式,即沒(méi)有中央服務(wù)器而是運(yùn)用了分布式p 2 p 技術(shù),網(wǎng)絡(luò)上的每一個(gè)結(jié) 點(diǎn)都連接一些其他的結(jié)點(diǎn)。盡管g n u t e l l a 很好地解決了中心化的問(wèn)題,但是搜索 請(qǐng)求要經(jīng)過(guò)整個(gè)網(wǎng)絡(luò)或者至少是一個(gè)很大的范圍才能得到結(jié)果,正因?yàn)槿绱?,這 種模式占用很多帶寬,而且需要花費(fèi)很長(zhǎng)時(shí)間才能有返回結(jié)果。同時(shí),這種純分布 式的p2p 模式很難被企業(yè)所利用,因?yàn)樗鄙賹?duì)網(wǎng)絡(luò)上的用戶(hù)結(jié)點(diǎn)數(shù)以及他們 提供的資源的一個(gè)總體把握。針對(duì)以上提出的分布式p 2 p 模式的不利因素,提出 了混合p 2 p 形式,使p 2 p 模式的系統(tǒng)結(jié)構(gòu)更加合理和有效率。 暑e a r c h : d o w n l o a d : 一一 網(wǎng)絡(luò)結(jié)構(gòu) 搜索與下載 圖2 2 分布式p 2 p 網(wǎng)絡(luò)模式( g n u t e l l a ) ( 3 )混臺(tái)式p 2 p 集中式p 2 p 形式有利于網(wǎng)絡(luò)資源的快速檢索,以及只要服務(wù)器能力足夠強(qiáng)大 就可以無(wú)限擴(kuò)展,但是其中心化的模式容易遭到直接的攻擊;分布式p 2 p 形式解決 了抗攻擊問(wèn)題,但是又缺乏快速搜索和可擴(kuò)展性?;旌蟨 2 p 形式結(jié)合了集中式和 分布式p 2 p 形式的優(yōu)點(diǎn),在設(shè)計(jì)思想和處理能力上都得到近一步優(yōu)化。它在分布 式模式基礎(chǔ)上,將用戶(hù)結(jié)點(diǎn)按能力進(jìn)行分類(lèi),使某些結(jié)點(diǎn)擔(dān)任特殊的任務(wù)。其系統(tǒng) 結(jié)構(gòu)圖見(jiàn)圖2 3 p 2 p 網(wǎng)絡(luò)g n u t e l l a 協(xié)議中防火墻穿越的研究與實(shí)現(xiàn) 網(wǎng)絡(luò)結(jié)構(gòu) 2 4p 2 p 的關(guān)鍵技術(shù) s e a r c h :吒 d o q m l o a d : 一一一手 搜素與下載 圖2 3 混合式p 2 p 模式 p 2 p 網(wǎng)絡(luò)中,主要考慮到以下幾個(gè)問(wèn)題: 1 5 】 ( 1 ) 拓?fù)湟恢滦院唾Y源定位。對(duì)于互聯(lián)網(wǎng)上眾多計(jì)算機(jī),p 2 p 應(yīng)用比其他 應(yīng)用要更多考慮低端p c 的互聯(lián),它們不具備服務(wù)器那樣強(qiáng)的聯(lián)網(wǎng)能力,同時(shí)對(duì) 于以往的p 2 p 應(yīng)用技術(shù),現(xiàn)在的硬件環(huán)境以及更為復(fù)雜,這樣在通信基礎(chǔ)方面, p 2 p 必須提供在現(xiàn)有硬件邏輯和底層通信協(xié)議上的端到端定位( 尋址) 和握手技 術(shù),建立穩(wěn)定的連接。涉及的技術(shù)有i p 地址解析,n a t 路由及防火墻。 p 2 p 系統(tǒng)需要解決的一個(gè)重要問(wèn)題使:在一個(gè)缺少集中化服務(wù)器的動(dòng)態(tài)環(huán)境 下,各個(gè)節(jié)點(diǎn)能夠維持一致的網(wǎng)絡(luò)拓?fù)湫畔?。由于p 2 p 網(wǎng)絡(luò)節(jié)點(diǎn)的加入和離開(kāi)非 常頻繁,傳統(tǒng)路由擴(kuò)散的方法難以解決這一問(wèn)題,所以需要一個(gè)高效的一致性信 息維護(hù)機(jī)制實(shí)現(xiàn)一些功能。例如,當(dāng)網(wǎng)絡(luò)拓?fù)渥兓瘯r(shí)快速恢復(fù)網(wǎng)絡(luò)的穩(wěn)定性問(wèn)題 需要解決,但多個(gè)節(jié)點(diǎn)的并發(fā)加入和離開(kāi)使得解決這一問(wèn)題更具挑戰(zhàn)性。另外, 用戶(hù)從大量分散的節(jié)點(diǎn)中找到需要的資源和服務(wù)也是一個(gè)挑戰(zhàn)。 ( 2 ) 互操作性,數(shù)據(jù)描述和交換的協(xié)議。在應(yīng)用層面上,如果兩個(gè)p e e r 分別代表兩家不同的公司,而且它們已經(jīng)通過(guò)互聯(lián)網(wǎng)建立連接,那么一方的信息 就必須為另一方所識(shí)別,所以當(dāng)前互聯(lián)網(wǎng)上關(guān)于數(shù)據(jù)描述和交換的協(xié)議,如 瑚l ,s o a p ,u d d i 等都是一個(gè)完善的p 2 p 軟件所要考慮的。 ( 3 ) 安全加密。p 2 p 中的安全問(wèn)題直接決定了p 2 p 能否被大規(guī)模進(jìn)行商用, 1 0 p 2 p 網(wǎng)絡(luò)g n u t e n a 協(xié)議中防火墻穿越的研究與實(shí)現(xiàn) 除了f r e e n e t 強(qiáng)調(diào)p 2 p 中的匿名問(wèn)題之外,大多數(shù)系統(tǒng)并沒(méi)有對(duì)p 2 p 中的安全問(wèn) 題做太多的工作。p 2 p 中的安全問(wèn)題包括信息的加密,用戶(hù)身份的認(rèn)證,惡意節(jié) 點(diǎn)的識(shí)別和應(yīng)對(duì)等等。值得注意的是,在p 2 p 的分布式環(huán)境下,針對(duì)單個(gè)服務(wù)器 的拒絕服務(wù)攻擊將不再有效,有通信就要有安全保障,加密技術(shù)是必須要考慮的。 ( 4 ) q o s 問(wèn)題。p 2 p 網(wǎng)絡(luò)的q o s 問(wèn)題包括兩個(gè)方面: 1 信息獲取的q o s 問(wèn)題,用戶(hù)需要的信息可能在多個(gè)節(jié)點(diǎn)同時(shí)存放,如何選擇 一個(gè)處理能力強(qiáng),負(fù)載輕,帶寬高的節(jié)點(diǎn)需要用戶(hù)考慮。 2 用戶(hù)可能共享出無(wú)用或者違法信息,造成信息垃圾充斥網(wǎng)絡(luò),因此,網(wǎng)絡(luò)應(yīng) 該控制用戶(hù)共享的信息,提高用戶(hù)獲得有用信息的效率。 ( 5 ) 其他問(wèn)題。其他需考慮的有如何設(shè)置中心服務(wù)器,如何控制網(wǎng)絡(luò)規(guī)模, 改善查詢(xún)性能等。 2 5p 2 p 的搜索算法 在p 2 p 系統(tǒng)中,個(gè)用戶(hù)要共享另一個(gè)用戶(hù)計(jì)算機(jī)上的資源,不論是文件、存 儲(chǔ)空間或是計(jì)算資源,一個(gè)關(guān)鍵的問(wèn)題是要找到資源所在的目的主機(jī),因此,內(nèi)容 的查詢(xún)是很多p 2 p 系統(tǒng)的核心。從目前的研究現(xiàn)狀來(lái)看,主要存在3 種有關(guān)內(nèi)容 查詢(xún)的算法【1 6 】: ( 1 ) 集中索引算法( c e n t r a li n d e x ) 以n a p s t e r 系統(tǒng)為代表。在n a p s t e r 系統(tǒng)中,用戶(hù)都與一個(gè)中央服務(wù)器相連接,中央服務(wù)器上保存了共享文件的索引。 由中央服務(wù)器對(duì)收到的用戶(hù)請(qǐng)求進(jìn)行匹配查找,直到找到保存了所需文件的目的 用戶(hù)。然后,由發(fā)起請(qǐng)求的用戶(hù)與目的用戶(hù)直接進(jìn)行文件交換。這種算法的不足 在于依賴(lài)一個(gè)集中式的結(jié)構(gòu),將會(huì)影響系統(tǒng)的可擴(kuò)展性。 ( 2 ) 洪水消息算法( f l o o d e dr e q u e s t s )代表系統(tǒng)為g n u t e l l a 。每一個(gè)用戶(hù) 消息都將被廣播給與該用戶(hù)直接相連的若干其他用戶(hù),這些用戶(hù)收到消息后,也 同樣地將消息廣播給各自連接的用戶(hù),以此類(lèi)推,直到請(qǐng)求被應(yīng)答,消息的t t l 值 減少為o 或超過(guò)了最大的廣播次數(shù)( 通常在5 和9 之間) 。這種算法存在的不足在 于需要較大的網(wǎng)絡(luò)帶寬,因此也會(huì)影響可擴(kuò)展性。 ( 3 ) 文件路由算法( d o c u m e n tr o u t i n g ) 代表系統(tǒng)為f r e e n e t 。算法的特點(diǎn) p 2 p 網(wǎng)絡(luò)g n u t e l l a 協(xié)議中防火墻穿越的研究與實(shí)現(xiàn) 是采用基于哈希函數(shù)的映射。系統(tǒng)中的每一個(gè)用戶(hù)都有一個(gè)隨機(jī)的i d 序列號(hào):系 統(tǒng)中的每一個(gè)文件也有一個(gè)i d 序列號(hào),這個(gè)序列號(hào)是根據(jù)文件的內(nèi)容和他的名字 經(jīng)過(guò)哈希函數(shù)映射得來(lái)的。文件發(fā)布時(shí),每一個(gè)用戶(hù)都把文件轉(zhuǎn)發(fā)到擁有與文件 的i d 最相近的i d 值的用戶(hù)上去,直到最接近文件i d 的用戶(hù)就是該用戶(hù)本身。轉(zhuǎn) 發(fā)過(guò)程中每經(jīng)過(guò)的一個(gè)用戶(hù)都將保持該文件的副本。索取文件時(shí),每個(gè)用戶(hù)都將 請(qǐng)求消息轉(zhuǎn)發(fā)給一個(gè)擁有與所需文件i d 最相近的i d 的用戶(hù),直到文件或文件的 一個(gè)拷貝被發(fā)現(xiàn)為止。t a p e s t r y ,p a s t r y ,c h o r d ,c a n 都是采用這種方法的p 2 p 系統(tǒng)。這種算法的優(yōu)勢(shì)在于可擴(kuò)展性較好,不足在于他可能導(dǎo)致整個(gè)網(wǎng)絡(luò)分裂成 若干彼此不相連的子網(wǎng)絡(luò),形成所謂的孤島,他的查詢(xún)也要比洪水消息算法等麻 煩幽。 1 2 p 2 p 網(wǎng)絡(luò)g n u t e l l a 協(xié)議中防火墻穿越的研究與實(shí)現(xiàn) 第3 章p 2 p 網(wǎng)絡(luò)g n u t e u a 協(xié)議分析 3 1g n u t e u a 協(xié)議概述 g n u t e l l a 起源于n u l l s o f t 所做的一個(gè)項(xiàng)目,n u l l s o f t 公司隸屬于a o l ,該 公司以用w i n a m p 和s h o u t c a s t 的形式帶給人們各種聽(tīng)覺(jué)樂(lè)趣為主要業(yè)務(wù)。 g n u t e l l a 是一種完全的分布式信息共享技術(shù),是無(wú)等級(jí)結(jié)構(gòu)的網(wǎng)絡(luò)。每一個(gè) g n u t e l l a 節(jié)點(diǎn)在作為服務(wù)器端的同時(shí)也是客戶(hù)端,每個(gè)g n u t e l l a 節(jié)點(diǎn)僅知道與 它直接相連的g n u t e l l a 節(jié)點(diǎn),如果其他g n u t e l l a 節(jié)點(diǎn)不響應(yīng)該節(jié)點(diǎn)的p i n g 或 回復(fù)查詢(xún),這臺(tái)節(jié)點(diǎn)就不會(huì)看到其它g n u t e l l a 節(jié)點(diǎn)。這是一種令人驚奇的匿名 機(jī)制。它是一種提供信息共享功能的軟件,與傳統(tǒng)的y a h o o 、s i n a 等搜索引擎相 比,g n u t e l l a 具有更方便的功能。當(dāng)運(yùn)行一個(gè)g n u t e l l a 軟件并加入到g n u t e l l a 網(wǎng)絡(luò)中時(shí),不但可以將希望與他人共享的文件放在網(wǎng)絡(luò)當(dāng)中,與他人共享,也可 以方便地定義要尋找的文件。哪些文件在何時(shí)可以共享,在何時(shí)停止共享都可方 便地進(jìn)行控制和管理。 g n u t e l l a 客戶(hù)端基本上就是一個(gè)具有文件共享功能的微型搜索引擎,當(dāng)在 g 叫t e l l a 網(wǎng)絡(luò)中進(jìn)行搜索時(shí),如果g n u t e l l a 網(wǎng)絡(luò)中有與搜索信息相匹配的內(nèi)容, 將會(huì)自動(dòng)獲得該內(nèi)容的相關(guān)信息,并可進(jìn)行下載和相關(guān)處理。 協(xié)議最初版本為0 4 版,目前最新版本為0 6 版。并且,協(xié)議仍處于不斷的 改進(jìn)當(dāng)中,各個(gè)對(duì)協(xié)議的實(shí)現(xiàn)軟件都對(duì)協(xié)議進(jìn)行了不同程度的改進(jìn),完善,提出 了很多的擴(kuò)充建議。當(dāng)然, 正如協(xié)議中所要求的:客戶(hù)端軟件允許擴(kuò)展或者甚 至改變協(xié)議的一部分( 例如對(duì)消息進(jìn)行壓縮或編碼) ,但是客戶(hù)端軟件必須總是 保持與依照本協(xié)議定義的客戶(hù)端相兼容。例如:假如一個(gè)客戶(hù)端想壓縮g n u t e l l a 協(xié)議消息,它必須首先保證和它連接的遠(yuǎn)端客戶(hù)能夠解壓該消息流( 在握手階段 協(xié)商) ,否則就只能保持原消息流不被壓縮??蛻?hù)端允許不和某臺(tái)遠(yuǎn)程客戶(hù)連接, 假使該遠(yuǎn)程客戶(hù)不支持一定特性,但是必須保證g n u t e l l a 網(wǎng)絡(luò)不會(huì)分化為各個(gè) 單獨(dú)的網(wǎng)絡(luò)。出于某種特別目的而將網(wǎng)絡(luò)分化當(dāng)然是允許的,但它自然也就不叫 g n u t e l l a 網(wǎng)絡(luò)了,而是另外一種網(wǎng)絡(luò)了。 p 2 p 網(wǎng)絡(luò)g n u t e h a 協(xié)議中防火墻穿越的研究與實(shí)現(xiàn) 3 2g n u t e u a 協(xié)議體系 g n u t e l l a 協(xié)議定義了一個(gè)純p 2 p 網(wǎng)絡(luò)的客戶(hù)機(jī)間進(jìn)行網(wǎng)絡(luò)通訊的方式。其 中包括定義了客戶(hù)機(jī)間的握手規(guī)則,客戶(hù)機(jī)進(jìn)行數(shù)據(jù)通訊的描述符號(hào)集,客戶(hù)機(jī) 相互交互的一些路由規(guī)則,客戶(hù)機(jī)間文件的上傳下載等內(nèi)容。 3 2 1 g n u t e l l a 協(xié)議握手( h a n d s h a k i n g ) 規(guī)則 一個(gè)g n u t e l i a 節(jié)點(diǎn)通過(guò)與網(wǎng)絡(luò)中的另外一個(gè)g n u t e l l a 節(jié)點(diǎn)建立連接,使其連 接到g n u t e l l a 網(wǎng)絡(luò)。一旦一個(gè)g n u t e l l a 節(jié)點(diǎn)發(fā)現(xiàn)了網(wǎng)絡(luò)中的另一個(gè)g n u t e i l a 節(jié)點(diǎn) 的地址,它將和這個(gè)g n u t e l l a 節(jié)點(diǎn)創(chuàng)建一個(gè)t c m p 連接,并且會(huì)發(fā)送一個(gè)格式 為: “g n u t e l l ac o n n e c t 1 1 n 的g n u t e l l a 連接請(qǐng)求數(shù)據(jù)串。 希望接收連接請(qǐng)求的g n u t e l l a 節(jié)點(diǎn)會(huì)用下面這個(gè)字符串做出回應(yīng) ”g n u t e l l ao k n n ” 如果不是采用這個(gè)字符串做出回應(yīng),那么任何其它的響應(yīng)都將表明這個(gè) g n u t e l l a 節(jié)點(diǎn)不想接收這個(gè)請(qǐng)求而建立連接。g n u t e l l a 節(jié)點(diǎn)拒絕從外部發(fā)來(lái)的連 接請(qǐng)求的原因有多種,如:它為從外部發(fā)來(lái)的連接準(zhǔn)備的緩沖池已被占用,或者 不支持那個(gè)發(fā)出請(qǐng)求的g n u t e i l a 節(jié)點(diǎn)的版本等。 3 2 2g n u t e i l a 協(xié)議的消息結(jié)構(gòu)【1 7 1 g n u t e i l a 協(xié)議定義了s e r v e n t ( g n u t e l i a 協(xié)議中規(guī)定的一種名稱(chēng),相當(dāng)于節(jié)點(diǎn)) 1 4 p 2 p 網(wǎng)絡(luò)g n u t e l l a 協(xié)議中防火墻穿越的研究與實(shí)現(xiàn) 之間在網(wǎng)絡(luò)中通信的方式。表3 1 所示的這些描述符在g n u t e l l a 協(xié)議中都做了完 整的定義。 表3 1g n u t e l l a 中的消息描述符定義 描述符描迓 p i n 鐾用來(lái)動(dòng)態(tài)艘現(xiàn)瞬絡(luò)上豹a n u 忙電機(jī) p m gp i n 摩的響斑+ 包括一個(gè)璉接中a n u t e 如站f v 腳t 的地肚 和關(guān)于它在嘲絡(luò)中的相莢熬懈 q 比吖 尋拄分布隈髂的耄豎帆制如望發(fā)珊和s 口v 吼t 的謄地 敷攥甄圊那幺收到一十q u 哪捕縫符的堪牛麓f v 齟t 博 用一十q 眥r y h n 進(jìn)行響殘 咖蛐用f 響瘦q 雌y 清瑯。運(yùn)個(gè)描述符楗供絎攘受耆足夠的 情息讓他l n 道存在匹圍q u e r y 數(shù)捃 c l i e m p 峪h 增q u e 鮞允 牟一十在防火墻后耐的氅r v 蜘1 翱嗣絡(luò)中豹攙他日n u 詘i a 節(jié)點(diǎn)變換散擁 如果有一個(gè)g n u t e l l a 節(jié)點(diǎn)已經(jīng)成功連接到g n u t e l i a 網(wǎng)絡(luò)中,它和其他g n u t e l l a 節(jié)點(diǎn)之間的通信則通過(guò)發(fā)送和接收g n u t e l l a 描述符來(lái)實(shí)現(xiàn)。每個(gè)描述符在數(shù)據(jù)包 中的格式說(shuō)明如下: ( 1 ) g n u t e l l a 的數(shù)據(jù)包格式 g n u t e l l a 的數(shù)據(jù)報(bào)頭格式如下: o 1 51 61 7 1 81 9 2 2 圖3 1g n u t c l l a 數(shù)據(jù)報(bào)頭格式 其中, * 消息:一個(gè)1 6 位的唯一在網(wǎng)絡(luò)上標(biāo)識(shí)一個(gè)新建消息的字符串 ( g u i d ) 。 1 8 】 自能d :定義了這個(gè)數(shù)據(jù)包的消息類(lèi)型,值與功能名稱(chēng)的對(duì)應(yīng) 關(guān)系如下所示: i 功照寮囂 p m g p u 血清娘 搜索搜囊結(jié)果i l i d 值o 岫l0 x 4 0 弧8 0帆b l i 圖3 2 g n u t e l i a 數(shù)據(jù)報(bào)頭m 值 4t t l 剩余:該信息包在被丟棄前,還剩余的跳數(shù),當(dāng)t t l :o 時(shí) p 2 p 網(wǎng)絡(luò)g n u t e n a 協(xié)議中防火墻穿越的研究與實(shí)現(xiàn) 信息包將被丟棄。 e 跳數(shù):信息包己發(fā)生的跳數(shù),當(dāng)信息包從一個(gè)g n u t e l l a 節(jié)點(diǎn)轉(zhuǎn)發(fā) 到另一個(gè)g n u t e i l a 節(jié)點(diǎn)的時(shí)候,t t l 剩余值和跳數(shù)值必須滿(mǎn)足條件: t t l ( o ) = t t l ( i ) + h o p s ( i ) ,這里的i = 0 * 數(shù)據(jù)長(zhǎng)度:數(shù)據(jù)長(zhǎng)度在g n u 嗆l l a 數(shù)據(jù)報(bào)頭的最后,定義了緊隨其 后的g u t e l l a 數(shù)據(jù)長(zhǎng)度。對(duì)一個(gè)在輸入數(shù)據(jù)流中想找到下一個(gè)描述符開(kāi) 始位置的g n u t e l l a 節(jié)點(diǎn)來(lái)說(shuō),數(shù)據(jù)長(zhǎng)度字段是唯一的方法。g n u t e i i a 協(xié) 議不提供一個(gè)明顯的字符串或者任何描述同步的方式。因此,g n u 【e l l a 節(jié)點(diǎn)應(yīng)當(dāng)嚴(yán)格確保這個(gè)數(shù)據(jù)長(zhǎng)度字段對(duì)每個(gè)收到的信息包都有效。如果 一個(gè)g n u t e l l a 節(jié)點(diǎn)和它的輸入數(shù)據(jù)流不同步,那么將拋棄與這個(gè)連接相 關(guān)的數(shù)據(jù)。 ( 2 ) p i n g 數(shù)據(jù)包格式 p i n g ( 值為o x 0 0 ) 的長(zhǎng)度為o ,如果一個(gè)p i n g 被一個(gè)功能i d 字段 為0 x 0 0 的描述符包頭所回應(yīng),那么它的數(shù)據(jù)長(zhǎng)度是0 x o 0 0 0 0 0 0 0 。 一個(gè)g n u t e i l a 節(jié)點(diǎn)使用p i n g 功能來(lái)動(dòng)態(tài)檢測(cè)網(wǎng)絡(luò)中的其他g n u t e l l a 節(jié)點(diǎn)。一個(gè)收到p i n g 的g n u t e i l a 節(jié)點(diǎn)會(huì)返回一個(gè)p o n g 信息包來(lái)回應(yīng), 這個(gè)回應(yīng)數(shù)據(jù)包中含有一個(gè)正在網(wǎng)絡(luò)中的g n u t e l l a 節(jié)點(diǎn)的地址及該 節(jié)點(diǎn)提供的共享數(shù)據(jù)的相關(guān)信息。 g n u t e l l a 協(xié)議盡量將p i n g 引起的流量減少到最少,故現(xiàn)有的 g n u t e l l a 協(xié)議仍不推薦g n u t e l l a 節(jié)點(diǎn)以較快的頻率發(fā)送p i n g 包。 ( 3 ) p o n g 數(shù)據(jù)包格式 p o n g 數(shù)據(jù)包僅被用來(lái)回應(yīng)從外部進(jìn)來(lái)的p i n g 請(qǐng)求。p o n g ( i d 值為 o x 0 1 ) 數(shù)據(jù)包格式如下: n m 蠻一強(qiáng)2 9 北 一3 6 圖3 3p o n g 數(shù)據(jù)包格式 s 主機(jī)端口:回應(yīng)主機(jī)的t c p 端口。 1 6 p 2 p 網(wǎng)絡(luò)c n u t e l l a 協(xié)議中防火墻穿越的研究與實(shí)現(xiàn) + 主機(jī)i p 地址:回應(yīng)主機(jī)的i p 地址。 s 共享文件數(shù):該主機(jī)上共享文件的數(shù)量 。共享文件的大?。涸撝鳈C(jī)上所有共享文件的大小( 單位為k b ) 。 ( 4 ) p u s h 請(qǐng)求數(shù)據(jù)包格式 當(dāng)一個(gè)擁有資源的g n u t e i l a 節(jié)點(diǎn)在防火墻后面,需要該資源的 g n u t e l l a 節(jié)點(diǎn)無(wú)法直接與該節(jié)點(diǎn)連接時(shí),一個(gè)p u s h 請(qǐng)求信息將被發(fā)送, 來(lái)請(qǐng)求這個(gè)擁有資源的g n u t e l i a 節(jié)點(diǎn)從防火墻內(nèi)部向外( 向那個(gè)需要該 資源的g n u t e l l a 節(jié)點(diǎn)) 主動(dòng)發(fā)起連接,并完成數(shù)據(jù)傳送的任務(wù)。p u s h 請(qǐng) 求數(shù)據(jù)包的格式如下: 2 軸3 83 4 24 3 “4 64 7 4 8 圖3 4d u s h 數(shù)據(jù)包格式 + 節(jié)點(diǎn)m :1 6 個(gè)字節(jié)的字符串,唯一標(biāo)識(shí)網(wǎng)絡(luò)中的g n u t e l l a 節(jié)點(diǎn) ( 被請(qǐng)求p u s h 文件的g n u t e l l a 節(jié)點(diǎn)) 的i d 值。發(fā)出p u s h 請(qǐng)求的g n u t e l l a 節(jié)點(diǎn)應(yīng)當(dāng)設(shè)置這個(gè)字段為在相應(yīng)的“搜索結(jié)果”數(shù)據(jù)中返回的“節(jié)點(diǎn) 標(biāo)志”信息。 4 文件索引:文件索引標(biāo)識(shí)了發(fā)出p u s h 請(qǐng)求的g n u t e l l a 節(jié)點(diǎn)定義 的需要從目標(biāo)g n u t e l l a 節(jié)點(diǎn)上被p u s h 的文件。 + i p 地址:發(fā)出p u s h 請(qǐng)求的g n u t e i l a 節(jié)點(diǎn)的i p 地址。 + 端口:發(fā)出p u s h 請(qǐng)求的g n u t e l l a 節(jié)點(diǎn)的守候端口號(hào)。 ( 5 ) 搜索數(shù)據(jù)包( q u e r y ) 格式 搜索( i d 值為o x 8 0 ) 數(shù)據(jù)包的格式如下: 2 3 2 4酉+ 圖3 5 q u e r y 數(shù)據(jù)包格式 8 最小速度( k b p s ) :定義了g n u t e l l a 節(jié)點(diǎn)信息傳輸?shù)淖钚∷俣?。?果一個(gè)g n u t e l l a 節(jié)點(diǎn)能以大于nk b p s 的速度通信,那么這個(gè)收到含有 p 2 p 網(wǎng)絡(luò)g n u t e l l a 協(xié)議中防火墻穿越的研究與實(shí)現(xiàn) 最小速度字段的搜索數(shù)據(jù)包并在本地有該搜尋信息的g n u t e l l a 節(jié)點(diǎn)會(huì) 返回一個(gè)搜索結(jié)果響應(yīng)。 * 搜索的關(guān)鍵字:這個(gè)字符串的最大長(zhǎng)度被綁定在這個(gè)g n u t e i l a 數(shù)據(jù)包頭的數(shù)據(jù)長(zhǎng)度字段中。 ( 6 ) 搜索結(jié)果數(shù)據(jù)包格式 搜索結(jié)果( m 值為o x 8 1 ) 數(shù)據(jù)包格式如下: 2 3 2 扣2 52 扣凹3 舢3 3弘- n 最后1 6 位 圖3 6q u e r y h i t 數(shù)據(jù)包格式 t 搜索結(jié)果數(shù)目:在結(jié)果集合中的搜索結(jié)果的數(shù)目。 ,端口:回應(yīng)搜索請(qǐng)求的主機(jī)的守候端口號(hào)。 + i p 地址:回應(yīng)搜索請(qǐng)求的主機(jī)的i p 地址。 + 速度:回應(yīng)搜索請(qǐng)求的主機(jī)的速度( k b p s ) 。 + 響應(yīng)記錄:一個(gè)響應(yīng)搜索請(qǐng)求的集合,結(jié)構(gòu)如下: 匪亟丑亙巫工圃 辯一” 3 i i 一4 i 4 2 + 圖3 7q u e r y h i t 數(shù)據(jù)包中的響應(yīng)記錄集合格式 + 文件索引:一個(gè)數(shù)字,由回應(yīng)主機(jī)分配,它被用來(lái)唯一標(biāo)識(shí)匹配 查詢(xún)的文件。 + 文件大?。核饕募拇笮? b y t e s ) + 文件名字:匹配的文件名字,僅僅是文件的名字,不包含路徑信 息。 8 節(jié)點(diǎn)標(biāo)識(shí):唯一標(biāo)識(shí)響應(yīng)搜索請(qǐng)求的g n u c e l l a 節(jié)點(diǎn)的一個(gè)1 6 字 節(jié)字符串。 3 2 3g n u t e i l a 協(xié)議消息的路由規(guī)則 為了實(shí)現(xiàn)信息查詢(xún)、共享和交換及帶寬的有效利用,g n u t e l l a 節(jié)點(diǎn)遵循如 p 2 p 網(wǎng)絡(luò)g n u t e l l a 協(xié)議中防火墻穿越的研究與實(shí)現(xiàn) 下這些路由協(xié)議: a p o n g 描述符僅能沿著轉(zhuǎn)發(fā)輸入p i n g 描述符的同樣路徑被發(fā)送。該規(guī)則 保證了只有那些路由了p i n g 描述符的對(duì)等機(jī)才能看見(jiàn)響應(yīng)的p 0 n g 描述符。旦 一臺(tái)對(duì)等機(jī)收到了一個(gè)p o n g 描述符,而其d e s c r i p t o r j d = n ,但卻未看見(jiàn)帶著 d e s c r i p t o r j d = n 的p i n g 描述符,則就會(huì)將該p 。n g 描述符從網(wǎng)絡(luò)中刪除。 b 同樣道理,q u e r y h i t 描述符僅能沿著轉(zhuǎn)發(fā)輸入q u e r y 描述符的同樣路徑 被發(fā)送。該規(guī)則保證了只有那些路由了q u e r y 描述符的對(duì)等機(jī)才能看見(jiàn)響應(yīng)的 q u e r y h i t 描述符。一旦一臺(tái)對(duì)等機(jī)收到了一個(gè)q u e r 州i t 描述符,而其 d e s c r i p t o r - 工d = n ,但卻未看見(jiàn)帶著d e s c r i p t o r _ i d = n 的q u e r y 描述符,則就會(huì) 將該q u e r y h i t 描述符從網(wǎng)絡(luò)中刪除。 c p u s h 描述符僅能沿著轉(zhuǎn)發(fā)輸入q u e r y h i t 描述符的同樣路徑被發(fā)送。該 規(guī)則保證了只有那些路由了

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論