




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、分類號 tp31 密級 公開 udc 編號 碩士研究生學位論文題目 linux環(huán)境下p2p流量控制系統(tǒng)的研究與實現(xiàn)聲 明本人聲明所呈交的論文是我個人在導師指導下進行的研究工作及取得的研究成果。盡我所知,除了文中特別加以標注和致謝的地方外,論文中不包含其他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得云南大學或其他教育機構(gòu)的學位或證明而使用過的材料。與我一同工作的同志對本研究所做的任何貢獻均已在論文中作了明確的說明并表示了謝意。研究生簽名: 日 期: 論文使用和授權(quán)說明本人完全了解云南大學有關(guān)保留、使用學位論文的規(guī)定,即:學校有權(quán)保留送交論文的復印件,允許論文被查閱或借閱;學校可以公布論文的全部或
2、部分內(nèi)容,可以采用影印、縮印或其他復制手段保存論文。 (保密的論文在解密后應遵循此規(guī)定)研究生簽名: 導師簽名: 日 期: 畢業(yè)設計(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設計(論文),是我個人在指導教師的指導下進行的研究工作及取得的成果。盡我所知,除文中特別加以標注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機構(gòu)的學位或?qū)W歷而使用過的材料。對本研究提供過幫助和做出過貢獻的個人或集體,均已在文中作了明確的說明并表示了謝意。作 者 簽 名: 日 期: 指導教師簽名: 日期: 使用授權(quán)說明本人完全了解 大學關(guān)于收集、保存、使
3、用畢業(yè)設計(論文)的規(guī)定,即:按照學校要求提交畢業(yè)設計(論文)的印刷本和電子版本;學校有權(quán)保存畢業(yè)設計(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務;學??梢圆捎糜坝?、縮印、數(shù)字化或其它復制手段保存論文;在不以贏利為目的前提下,學??梢怨颊撐牡牟糠只蛉績?nèi)容。作者簽名: 日 期: 學位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在導師的指導下獨立進行研究所取得的研究成果。除了文中特別加以標注引用的內(nèi)容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。對本文的研究做出重要貢獻的個人和集體,均已在文中以明確方式標明。本人完全意識到本聲明的法律后果由本人承擔。作者簽名: 日期: 年
4、 月 日學位論文版權(quán)使用授權(quán)書本學位論文作者完全了解學校有關(guān)保留、使用學位論文的規(guī)定,同意學校保留并向國家有關(guān)部門或機構(gòu)送交論文的復印件和電子版,允許論文被查閱和借閱。本人授權(quán) 大學可以將本學位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索,可以采用影印、縮印或掃描等復制手段保存和匯編本學位論文。涉密論文按學校規(guī)定處理。作者簽名:日期: 年 月 日導師簽名: 日期: 年 月 日指導教師評閱書指導教師評價:一、撰寫(設計)過程1、學生在論文(設計)過程中的治學態(tài)度、工作精神 優(yōu) 良 中 及格 不及格2、學生掌握專業(yè)知識、技能的扎實程度 優(yōu) 良 中 及格 不及格3、學生綜合運用所學知識和專業(yè)技能分析和
5、解決問題的能力 優(yōu) 良 中 及格 不及格4、研究方法的科學性;技術(shù)線路的可行性;設計方案的合理性 優(yōu) 良 中 及格 不及格5、完成畢業(yè)論文(設計)期間的出勤情況 優(yōu) 良 中 及格 不及格二、論文(設計)質(zhì)量1、論文(設計)的整體結(jié)構(gòu)是否符合撰寫規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設計)任務(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格三、論文(設計)水平1、論文(設計)的理論意義或?qū)鉀Q實際問題的指導意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設計是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設計說明書)所體現(xiàn)的整體水平 優(yōu) 良 中 及格 不及格建議成績: 優(yōu)
6、 良 中 及格 不及格(在所選等級前的內(nèi)畫“”)指導教師: (簽名) 單位: (蓋章)年 月 日評閱教師評閱書評閱教師評價:一、論文(設計)質(zhì)量1、論文(設計)的整體結(jié)構(gòu)是否符合撰寫規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設計)任務(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格二、論文(設計)水平1、論文(設計)的理論意義或?qū)鉀Q實際問題的指導意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設計是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設計說明書)所體現(xiàn)的整體水平 優(yōu) 良 中 及格 不及格建議成績: 優(yōu) 良 中 及格 不及格(在所選等級前的內(nèi)畫“”)評閱教師: (
7、簽名) 單位: (蓋章)年 月 日教研室(或答辯小組)及教學系意見教研室(或答辯小組)評價:一、答辯過程1、畢業(yè)論文(設計)的基本要點和見解的敘述情況 優(yōu) 良 中 及格 不及格2、對答辯問題的反應、理解、表達情況 優(yōu) 良 中 及格 不及格3、學生答辯過程中的精神狀態(tài) 優(yōu) 良 中 及格 不及格二、論文(設計)質(zhì)量1、論文(設計)的整體結(jié)構(gòu)是否符合撰寫規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設計)任務(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格三、論文(設計)水平1、論文(設計)的理論意義或?qū)鉀Q實際問題的指導意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設計是否有創(chuàng)意
8、? 優(yōu) 良 中 及格 不及格3、論文(設計說明書)所體現(xiàn)的整體水平 優(yōu) 良 中 及格 不及格評定成績: 優(yōu) 良 中 及格 不及格(在所選等級前的內(nèi)畫“”)教研室主任(或答辯小組組長): (簽名)年 月 日教學系意見:系主任: (簽名)年 月 日摘 要隨著計算機技術(shù)和互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,學校、企業(yè)等各種機構(gòu)的許多關(guān)鍵業(yè)務越來越依賴于互聯(lián)網(wǎng),但是許多與事物無關(guān)的網(wǎng)絡應用占去了絕大部分帶寬,導致關(guān)鍵業(yè)務相應時間過長,使正常網(wǎng)絡的運行受到嚴重影響。特別是現(xiàn)在p2p技術(shù)飛速發(fā)展,p2p下載軟件無限制的占用帶寬資源,它們使用動態(tài)端口,同時又偽裝成http流量,很難被防火墻、路由器以及其它過濾設備發(fā)現(xiàn)。傳
9、統(tǒng)的網(wǎng)絡級防火墻(包過濾)都是通過源/目的ip地址、mac地址、tcp/udp端口等進行過濾,缺少對應用層流量的分析,因此無法識別并控制p2p下載的流量。本文中作者提出了一種基于linux內(nèi)核擴展模塊的p2p數(shù)據(jù)識別和控制的方法,通過linux系統(tǒng)防火墻框架netfilter連接跟蹤機制來跟蹤所有的連接并判斷每個包屬于哪個連接。作者通過擴展netfilter/iptables框架,可以根據(jù)應用層數(shù)據(jù)來識別p2p連接,并且可以通過設置合適的防火墻過濾規(guī)則來管理p2p流量。此方法可以完全禁止不想要的p2p流量,還可以和linux qos工具一起使用來限制p2p的帶寬占用,合理分配網(wǎng)絡資源,從而提高
10、網(wǎng)絡性能。本文開發(fā)的p2p流量控制系統(tǒng),基于應用層分析技術(shù)識別各種p2p流量,可以限制或者禁止p2p下載,也可以利用linux流量控制技術(shù)將p2p下載的流量控制在某個范圍內(nèi)??傊?,本文對于網(wǎng)絡中間存在的p2p下載提供了很好的監(jiān)視和控制解決方案,使用的應用層分析技術(shù)也可讓網(wǎng)絡管理者對網(wǎng)絡資源的應用分布情況得到充分的了解和認知。關(guān)鍵詞: p2p 帶寬管理 防火墻 包過濾 linux netfilter/iptablabstractwith the rapid development of computer technology and the internet technology, more a
11、nd more critical applications of various organizations, e.g. enterprises and schools, depend on the internet, but a majority of bandwidth is occupied by those network applications far away from the normal transactions. these facts lead to a long response time of critical applications and harm the ne
12、twork performance severely. in particular, with the rapid development of p2p technology, p2p softwares for download and file transfer,taking bandwidth resources unlimited.these softwares use dynamic ports and masquerade its traffics as http traffics,which makes them hard to be identified by the fire
13、walls,routers and other filtering machines.traditional packet filtering firewalls generally based on the source/destination ip address, mac address or tcp/udp port numbers in the packet headers. thus, they are unable to identify the p2p download traffics for their incapability of application layer d
14、ata analysis.this thesis presents a method of p2p traffic identification and control based on linux kernel expanded model. linux netfilter connection tracking mechanism is in charge of tracking all the connections and judging to which connection every packet is related. through extending the netfilt
15、er/iptables framework,the identification of p2p connection according to the application layer data is achieved and through some appropriate firewall filter rules, the p2p traffic management could also succeeds. this method could totally prohibit undesirable p2p traffic, and as well could restrict p2
16、p bandwidth usage together with linux qos tools. thus, the network resources could be alleviated and the performance be enhanced largely. this p2p traffic control system based on application layer analysis technology, could prohibit p2p download, and also could restrict the p2p download traffic to a
17、 predefined scope using linux traffic control mechanism.in conclusion, this thesis provides a very good solution for the monitor or control of p2p download in an internal network environment.keywords: p2p,bandwidth management,firewall, packet filtering , linux netfilter/iptable目 錄摘 要abstract目 錄第一章 緒
18、 論11.1 p2p概述11.2 國內(nèi)外研究現(xiàn)狀11.3 課題背景及研究的意義21.4 本文主要研究內(nèi)容3第二章 p2p網(wǎng)絡及p2p協(xié)議分析.52.1 p2p的基本概念52.1.1p2p的定義52.1.2 p2p的特點62.1.3相關(guān)概念82.2 p2p主要網(wǎng)絡模型82.2.1集中式p2p網(wǎng)絡模型.82.2.2分布式p2p網(wǎng)絡模型.92.2.3混合式p2p網(wǎng)絡模型.102.3常見p2p協(xié)議分析.122.3.1 edonkey 200 fasttrack. 142.3.3 gnutella. .142.3.4 bittorrent .152.4 本章小結(jié).18第三章 linux
19、內(nèi)核防火墻框架netfilter.193.1 linux 2.4內(nèi)核防火墻機制.193.2 netfilter基礎.213.2.1 netfilter框架結(jié)構(gòu).213.2.2 netfilter工作原理.213.2.3包選擇工具iptables223.2.4連接跟蹤connection tracking243.3 netfilter的編程接口243.3.1 netfilter內(nèi)核模塊分析243.3.2用戶空間參數(shù)傳遞分析273.4 iptables的實現(xiàn)及擴展293.4.1 iptables核心數(shù)據(jù)結(jié)構(gòu)293.4.2 iptables的擴展333.5連接跟蹤/網(wǎng)絡地址轉(zhuǎn)換的實現(xiàn)及擴展383.5
20、.1連接跟蹤/地址轉(zhuǎn)換在各檢查點上調(diào)用的函數(shù)383.5.2連接跟蹤的重要數(shù)據(jù)結(jié)構(gòu)和工作流程393.5.3連接跟蹤/地址轉(zhuǎn)換的擴展433.6本章小結(jié)46第四章 基于內(nèi)核擴展模塊的p2p流量控制的實現(xiàn)474.1 系統(tǒng)總體思想474.2 p2p協(xié)議應用層識別的實現(xiàn)474.3 p2p協(xié)議識別的測試504.3.1 搭建測試環(huán)境504.3.2 對p2p-bt協(xié)議識別的測試514.3.3 對p2p-guntella協(xié)議識別的測試544.3.4 對p2p-edonkey協(xié)議識別的測試554.3.5 對p2p-fasttrack協(xié)議識別的測試564.4 帶寬管理的實現(xiàn)584.4.1 流量管理的原理584.4.2
21、 流量管理功能的設計614.4.3 流量管理功能的應用644.5 本章小結(jié)69第五章 總結(jié)與展望705.1總結(jié).705.2展望.70致 謝72參考文獻73第一章 緒 論1.1 p2p概述p2p技術(shù)最早可以追溯到usenet2的出現(xiàn),但那個時候使 p2p 成為互聯(lián)網(wǎng)殺手級應用的條件還不具備,所以直到1999年napster3的出現(xiàn)才能算是p2輝煌歷程的開始。一個互聯(lián)網(wǎng)應用要出現(xiàn)并成為殺手級應用必須具備兩個條件:互聯(lián)網(wǎng)上現(xiàn)有設備的支持和網(wǎng)絡用戶的強烈需求。隨著互聯(lián)網(wǎng)的發(fā)展,用戶之間相互通信、交換資源的需求越來越強烈,而用戶終端的計算性能也遵循摩爾定律4飛速發(fā)展,現(xiàn)在個人用戶的臺式機或筆記本性能已經(jīng)
22、非常強大,網(wǎng)絡帶寬也足以支持p2p計算所需要的帶寬要求,這些條件都為p2p的出現(xiàn)奠定了堅實的基礎。1998年18歲的肖恩.范寧寫下一個叫napster的程序,1999年該程序成了互聯(lián)網(wǎng)上的殺手級應用它令無數(shù)散布在互聯(lián)網(wǎng)上的音樂愛好者美夢成真,napster網(wǎng)絡最高峰時有8000萬注冊用戶。cachelogic 2004年底對互聯(lián)網(wǎng)流量進行了統(tǒng)計5,發(fā)現(xiàn)p2p流量從1999開始出現(xiàn),此后一路飚升,短短5年之后便占據(jù)互聯(lián)網(wǎng)總流量的60%,可見其發(fā)展之迅猛。cachelogic經(jīng)過研究后6得出三個結(jié)論: p2p已經(jīng)是isp網(wǎng)絡的最大消費者;p2p流量已經(jīng)大大超過web流量;p2p流量還在繼續(xù)增長。1
23、.2 國內(nèi)外研究現(xiàn)狀目前,國內(nèi)對于p2p技術(shù)的研究和應用非常多,但是對于p2p的流量識別和控制方面的研究卻非常之少,尤其是在p2p流量的控制方面的文章幾乎很難找到?,F(xiàn)在可以在網(wǎng)上找到一些p2p流量監(jiān)控方面的軟件。國內(nèi)一些網(wǎng)絡設備廠商也推出了這方面的產(chǎn)品。例如華為的secpath 1000f防火墻和eudemon500、1000防火墻、captech的網(wǎng)絡管理軟件網(wǎng)絡慧眼,以及暢訊通信的產(chǎn)品qqsg。這些產(chǎn)品采用的主要技術(shù)都是深度數(shù)據(jù)包檢測技術(shù)。 國外大多采用深度檢測技術(shù)來發(fā)現(xiàn)p2p流量,從而控制p2p流量,或是使用緩存技術(shù)來實現(xiàn)對p2p流量的控制。國外也有一些關(guān)于這方面的產(chǎn)品。例如cisco公
24、司pix firewall, cachelogic公司 p2p 流量管理解決方案。1.3 課題背景及研究的意義隨著internet在中國的迅速發(fā)展,p2p應用正在逐漸占據(jù)互聯(lián)網(wǎng)業(yè)務中舉足輕重的地位。p2p不同與以往的服務器/客戶機構(gòu)的主從網(wǎng)絡,它是一種對等網(wǎng)絡技術(shù)。發(fā)展經(jīng)歷了從第一代的p2p應用,像napster,gnutella,kazaa到第二代的 bittorrent,并逐漸成熟起來。當今p2p的應用已經(jīng)是非常普遍的事情,然而p2p的廣泛應用著實讓我們寬帶運營商感到十分為難,因為這類對帶寬的需求在理論上是無止境的,它們會使原來運行流暢的網(wǎng)絡變得越來越擁塞,同時還極大改變了網(wǎng)絡上的流量模型
25、,并且將運營成本提高30%甚至更高?;ヂ?lián)網(wǎng)的開放性使得大量的互聯(lián)網(wǎng)增值業(yè)務可以迅速開發(fā)和部署,自從2002年bittorrent8技術(shù)產(chǎn)生以來,迅速成為了互聯(lián)網(wǎng)上高效、便捷的下載工具,目前,根據(jù)主流運營商的統(tǒng)計,大約50%70的帶寬被p2p流量所占據(jù)9-11。p2p的出現(xiàn)讓上網(wǎng)用戶在下載各種軟件、電影等大塊頭數(shù)據(jù)時,體驗到了飛一樣的速度。然而,由于p2p繞過服務器,整個過程中缺乏有效的管理,也存在大量問題,例如:知識產(chǎn)權(quán)問題,安全性問題,大量垃圾冗余信息,以及嚴重占用帶寬的問題。尤其對于企業(yè)網(wǎng)絡來說,這種基于p2p技術(shù)的文件共享對運行在其中的企業(yè)級應用,如erp、crm、voip等,造成巨大的
26、沖擊。其危害主要可歸納為下面幾方面:(1)改變了網(wǎng)絡流量分布(2)網(wǎng)絡流量不可預知性(3)網(wǎng)絡擁擠,造成關(guān)鍵業(yè)務明顯延遲(4)p2p下載造成很大的入站流量(5)充當上載服務器,p2p也帶來巨大的出戰(zhàn)流量。無疑,對于網(wǎng)絡管理者來說,監(jiān)視和控制網(wǎng)絡中間的p2p流量成了一個很緊迫而且頭疼的問題。針對此種情況,廣大運營商提供多種策略來解決由于p2p應用造成的網(wǎng)絡擁塞。最簡單的解決方法就是增加中繼帶寬。實際運營表明:增加帶寬確實在短時間內(nèi)能緩解網(wǎng)絡的擁塞情況,但是當p2p應用覺察到網(wǎng)絡中有更多的可用帶寬網(wǎng)絡帶寬將會再度被p2p應用占據(jù)。這樣以來,用于增加帶寬的費用將是個“無底洞”,因為這樣做只是給那些p
27、2p應用提供了更多可獲取的帶寬資源。企業(yè)網(wǎng)絡也面臨同樣的兩難處境,即是否采用升級其internet連接鏈路的辦法來緩解網(wǎng)絡的擁塞情況。若是用戶不理解這種通信行為,還會增加用戶的抱怨??傮w說來擴容網(wǎng)絡是帶寬擁塞時運行維護網(wǎng)絡的傳統(tǒng)做法,但在當前網(wǎng)絡發(fā)展的形勢下,這種傳統(tǒng)做法已不能根本解決問題,擴容后的網(wǎng)絡資源會迅速被p2p流量占用,并且擴容帶來的運營成本壓力最終會使運營商嚴重虧損,網(wǎng)絡質(zhì)量降低,形成惡循環(huán)。傳統(tǒng)的網(wǎng)絡級防火墻(包過濾)都是工作在osi模型的第2、3或者4層,通過基于數(shù)據(jù)包的源/目的ip地址、mac地址、tcp/udp端口等進行過濾,監(jiān)視網(wǎng)絡流量。一般來說,不保持前后連接信息,過濾
28、決定只是根據(jù)當前數(shù)據(jù)包的包頭來做的。這樣的設計帶來的問題是,缺少對應用層(osi模型的第7層)流量的分析,因此也無法比較出正常的http流量和p2p下載的流量區(qū)別。隨著網(wǎng)絡的發(fā)展,網(wǎng)絡應用的增多,越來越多的應用使用動態(tài)端口,再加上近年來很多應用都透過web端口80進行,采用傳統(tǒng)的方法已經(jīng)無法對數(shù)據(jù)包進行準確有效的識別和控制。盡管很多企業(yè)網(wǎng)絡的管理者知道在他們的網(wǎng)絡上運行有p2p下載應用,但他們通常沒有工具去發(fā)現(xiàn)這些流量,因此也不會了解p2p下載對他們管理的網(wǎng)絡帶來的沖擊。造成這種問題的原因有很大一方面來自p2p下載使用的通訊機制。p2p下載使用了動態(tài)端口,同時將本身的流量偽裝成為http流量。
29、這種與生俱來的特性源于p2p程序的防御機制。使用這種機制后,p2p下載流量很難被防火墻、路由器以及其他的過濾設備發(fā)現(xiàn)。為了識別和管理p2p下載流量,必須使用基于第7層流量的分析工具。1.4 本文主要研究內(nèi)容全文共分6個部分。第一章簡述了p2p的基本概念、發(fā)展和特點,p2p流量控制的國內(nèi)外研究現(xiàn)狀及其研究的背景以及意義和論文結(jié)構(gòu)。第二章本章詳細分析了linux2.4.x中防火墻框架netfilter。netfilter提供的是一套hook框架,其優(yōu)勢是就是易于擴充??晒U充的netfilter構(gòu)件主要包括table、match、target和connection tracking/nat四類,分
30、別對應四套擴展函數(shù)。第三章主要論述了 p2p 網(wǎng)絡的主要網(wǎng)絡模型和工作原理,對目前常見的幾種p2p協(xié)議進行分析,并分別提出了應用層識別的方法。第四章實現(xiàn)了一個p2p流量控制系統(tǒng),作者通過p2p協(xié)議分析的結(jié)果擴展linux netfilter框架,開發(fā)出p2p協(xié)議識別分類器,并逐個協(xié)議進行測試確保其分類工作準確無誤,最后結(jié)合linux的qos工具tc,可以實現(xiàn)對p2p流量的帶寬管理。第五章對全文進行總結(jié)并對將來的研究工作作了進一步地展望。第二章 p2p網(wǎng)絡及p2p協(xié)議分析p2p網(wǎng)絡是一種具有較高擴展性的分布式系統(tǒng)結(jié)構(gòu),其對等概念是指網(wǎng)絡中的物理節(jié)點中邏輯上具有相同的地位,而并非處理能力的對等。以
31、napster軟件為代表的p2p技術(shù),其實質(zhì)在于將因特網(wǎng)的集中管理模式引向分布管理模式麻將內(nèi)容從中央單一節(jié)點引向網(wǎng)絡的邊緣,從而充分利用因特網(wǎng)中眾多端節(jié)點所蘊涵的處理能力和潛在資源。相對于傳統(tǒng)的集中式客戶/服務器(c/s)模型,p2p弱化了服務器的概念,系統(tǒng)中的各個節(jié)點不再區(qū)分服務器和客戶端的角色關(guān)系,每個節(jié)點既請求服務也可提供服務,節(jié)點之間可以直接交換資源和服務而不必通過服務器。p2p系統(tǒng)最大的特點就是用戶之間直接共享資源,其核心技術(shù)就是分布式對象的定位機制,這也是提高網(wǎng)絡可擴展性、解決網(wǎng)絡帶寬問題的關(guān)鍵所在。迄今為止,p2p網(wǎng)絡已經(jīng)歷了三代不同的網(wǎng)絡模型,各種模型各有優(yōu)缺點,有的還存在本身
32、難以克服的缺陷。因此,各種網(wǎng)絡結(jié)構(gòu)依然能夠共存,甚至呈現(xiàn)相互借鑒的情況。2.1 p2p的基本概念2.1.1 p2p的定義目前學術(shù)界、工業(yè)界對p2p沒有統(tǒng)一的定義,公認較權(quán)威的定義1有:(1) peer-to-peer is a type of internet network allowing a group of computer users withthe same networking program to connect with each other for the purposes ofdirectly accessing files from one anothers hard
33、drives.(2) peer-to-peer networking is an application that runs on a personal computerand shares files with other users across the internet. p2p networks work by connecting individual computers together to share files instead of having to gothrough a central server.(3) p2p是一種分布式網(wǎng)絡,網(wǎng)絡的參與者共享他們所擁有的一部分硬件
34、資源(處理能力、存儲能力、網(wǎng)絡連接能力、打印機等),這些共享資源需要由網(wǎng)絡提供服務和內(nèi)容,能被其它對等節(jié)點(peer)直接訪問而無需經(jīng)過中間實體。在此網(wǎng)絡中的參與者既是資源(服務和內(nèi)容)提供者(server),又是資源(服務和內(nèi)容)獲取者(client)。這些定義雖然不同,但是有一個統(tǒng)一的認識:p2p不同與以往的服務器/客戶機機構(gòu)的主從網(wǎng)絡,它是一種對等網(wǎng)絡技術(shù)。p2p徹底顛覆了傳統(tǒng)的客戶端/服務器(c/s)模型,它不再區(qū)分客戶端、服務器,而是讓每臺參與到 p2p 網(wǎng)絡中的機器既能像客戶端一樣享受服務,又能像服務器一樣提供服務,每臺機器稱作 p2p 網(wǎng)絡中的一個對等點(peer)。p2p網(wǎng)絡是
35、一種具有較高擴展性的分布式系統(tǒng)結(jié)構(gòu),其對等概念是指網(wǎng)絡中的物理節(jié)點在邏輯上具有相同的地位,而并非處理能力的對等。節(jié)點之間可以直接交換資源和服務而不必通過服務器。2.1.2 p2p的特點作為一種新興的熱門技術(shù),與其它網(wǎng)絡模型相比,p2p具有以下特點7:(1)分散化網(wǎng)絡中的資源和服務分散在所有節(jié)點上,信息的傳輸和服務的實現(xiàn)都直接在節(jié)點之間進行,可以無需中間環(huán)節(jié)和服務器的介入,避免了可能的瓶頸。即使是在混合中,雖然在查找資源、定位服務或安全檢驗等環(huán)節(jié)需要集中式服務器的參與,但主要的信息交換最終仍然在節(jié)點中間直接完成。這樣就大大降低了對集中式服務器的資源和性能要求。(2)可擴展性在傳統(tǒng)的架構(gòu)中,系統(tǒng)能
36、夠容納的用戶數(shù)量和提供服務的能力主要受服務器的資源限制。為支持互聯(lián)網(wǎng)上的大量用戶,需要在服務器端使用大量高性能的計算機,鋪設大帶寬的網(wǎng)絡。為此機群、等技術(shù)紛紛上陣。在此結(jié)構(gòu)下,集中式服務器之間的同步、協(xié)同等處理產(chǎn)生了大量的開銷,限制了系統(tǒng)規(guī)模的擴展。而在網(wǎng)絡中,隨著用戶的加入,不僅服務的需求增加了,系統(tǒng)整體的資源和服務能力也在同步地擴充,始終能較容易地滿足用戶的需要。即使在諸如napster等混合型架構(gòu)中,由于大部分處理直接在節(jié)點之間進行,大大減少了對服務器的依賴,因而能夠方便地擴展到數(shù)百萬個以上的用戶。而對于純p2p來說,整個體系是全分布的,不存在瓶頸。理論上其可擴展性幾乎可以認為是無限的。
37、(3)健壯性在互聯(lián)網(wǎng)上隨時可能出現(xiàn)異常情況,網(wǎng)絡中斷、網(wǎng)絡擁塞、節(jié)點失效等各種異常事件都會給系統(tǒng)的穩(wěn)定性和服務持續(xù)性帶來影響。在傳統(tǒng)的集中式服務模式中,集中式服務器成為整個系統(tǒng)的要害所在,一旦發(fā)生異常就會影響到所有用戶的使用。而架構(gòu)則天生具有耐攻擊、高容錯的優(yōu)點。由于服務是分散在各個節(jié)點之間進行的,部分節(jié)點或網(wǎng)絡遭到破壞對其它部分的影響很小。而且p2p模型一般在部分節(jié)點失效時能夠自動調(diào)整整體拓撲,保持其它節(jié)點的連通性。事實上,p2p網(wǎng)絡通常都是以自組織的方式建立起來的,并允許節(jié)點自由地加入和離開。一些p2p模型還能夠根據(jù)網(wǎng)絡帶寬、節(jié)點數(shù)、負載等變化不斷地做自適應式的調(diào)整。(4)隱私性隨著互聯(lián)網(wǎng)
38、的普及和計算存儲能力飛速增長,收集隱私信息正在變得越來越容易。隱私的保護作為網(wǎng)絡安全性的一個方面越來越被大家所關(guān)注。目前的internet通用協(xié)議不支持隱藏通信端地址的功能。攻擊者可以監(jiān)控用戶的流量特征,獲得ip地址。甚至可以使用一些跟蹤軟件直接從正地址追蹤到個人用戶。在p2p網(wǎng)絡中,由于信息的傳輸分散在各節(jié)點之間進行而無需經(jīng)過某個集中環(huán)節(jié),用戶的隱私信息被竊聽和泄漏的可能性大大縮小。此外,目前解決隱私問題主要采用中繼轉(zhuǎn)發(fā)的技術(shù)方法,從而將通信的參與者隱藏在眾internet多的網(wǎng)絡實體之中。在傳統(tǒng)的一些匿名通信系統(tǒng)中,實現(xiàn)這一機制依賴于某些中繼服務器節(jié)點。而在p2p中,所有參與者都可以提供中
39、繼轉(zhuǎn)發(fā)的功能,因而大大提高了匿名通訊的靈活性和可靠性,能夠為用戶提供更好的隱私保護。(5)高性能性能優(yōu)勢是p2p被廣泛關(guān)注的一個重要原因。隨著硬件技術(shù)的發(fā)展,個人計算機的計算和存儲能力以及網(wǎng)絡帶寬等性能依照摩爾定理高速增長。而在目前的互聯(lián)網(wǎng)上,這些普通用戶擁有的節(jié)點只是以客戶機的方式連接到網(wǎng)絡中,僅僅作為信息和服務的消費者,游離于互聯(lián)網(wǎng)的邊緣。對于這些邊際節(jié)點的能力來說,存在極大的浪費。采用p2p架構(gòu)可以有效地利用票聯(lián)網(wǎng)中散布的大量普通節(jié)點,將計算任務或存儲資料分布到所有節(jié)點上。利用其中閑置的計算能力或存儲空間,達到高性能計算和海量存儲的目的。這與當前高性能計算機中普遍采用的分布式計算的思想是
40、一致的。但通過利用網(wǎng)絡中的大量空閑資源,可以用更低的成本提供更高的計算和存儲能力。2.1.3 相關(guān)概念下面將本文用到的比較頻繁的相關(guān)專業(yè)術(shù)語在此做簡要介紹:(1)qos(quality of service,服務質(zhì)量) qos旨在針對各種應用的不同需求,為其提供不同的服務質(zhì)量,例如:提供專用帶寬、減少報文丟失率、降低報文傳送時延及時延抖動等。為實現(xiàn)上述目的,qos提供了下述功能:報文分類、網(wǎng)絡擁塞管理、流量控制和流量整形、qos傳輸協(xié)議。qos可以控制各種網(wǎng)絡應用和滿足多種網(wǎng)絡應用要求,如:控制資源、可裁剪服務和多種雪球并存。(2)帶寬管理帶寬管理的基本原理是充分運用qos技術(shù)中間定義的流量控
41、制和流量整形來實現(xiàn)的。帶寬管理產(chǎn)品將有限的帶寬人為的劃分成多個動態(tài)通道,將各個業(yè)務流控制在各自得通道中間,來保證各個業(yè)務流之間不相互干擾。因此,帶寬管理產(chǎn)品關(guān)注的首要焦點是保護每一個動態(tài)通道中的業(yè)務流不受其他通道中業(yè)務流突發(fā)的影響。2.2 p2p主要網(wǎng)絡模型2.2.1集中式p2p網(wǎng)絡模型集中目錄式p2p網(wǎng)絡模型是最早出現(xiàn)的p2p應用模型。由于它仍然是具有中心化的特點,因而也被稱為非純粹的p2p結(jié)構(gòu)。其用戶注冊與文件檢索過程類似于傳統(tǒng)的c/s模式,區(qū)別在于所有資料并非存儲在服務器上,而是存儲于各個節(jié)點中。查詢節(jié)點則根據(jù)網(wǎng)絡流量和延遲等信息選擇合適的節(jié)點建立直接連接,而不必經(jīng)過中央服務器進行。這種
42、網(wǎng)絡結(jié)構(gòu)非常簡單,但是它顯示了p2p系統(tǒng)信息量巨大的優(yōu)勢和吸引力。目前集中式p2p模型最典型的代表是napster。在這種結(jié)構(gòu)中, 有一批專門的高性能服務器充當中央索引節(jié)點, 這些節(jié)點保存著當前活動節(jié)點的地址信息及其共享資源信息。當一個節(jié)點加入p2p系統(tǒng)時,就把它存儲的共享資源的名單發(fā)送給中央索引節(jié)點。當某個節(jié)點請求一個文件時就向中央索引節(jié)點發(fā)送查詢消息, 中央索引節(jié)點隨即在它保存的索引文件列表中尋找擁有該文件的節(jié)點,然后就將這些節(jié)點的ip地址和端口號返回給請求用戶。同時, 中央索引節(jié)點會查找與請求結(jié)點匹配最佳的對等節(jié)點(最佳對等結(jié)點可能是速度最快、代價最低、延遲最小、用戶最容易得到的對等者,
43、最佳的具體定義是該p2p軟件開發(fā)者預先設計的)。之后,用戶與最佳對等者之間直接點對點地傳送文件,而不再通過中央索引節(jié)點。其原理如圖2-1所示。圖2-1集中式p2p網(wǎng)絡系統(tǒng)集中式p2p系統(tǒng)的優(yōu)點是查詢效率高, 帶寬占用較低, 只需要一條消息就可以解決一個查詢。但其缺點也很明顯:(1)中央索引節(jié)點容易受到攻擊,而且一旦癱瘓容易導致整個網(wǎng)絡的崩潰,可靠性和安全性較低。(2) 隨著網(wǎng)絡規(guī)模的擴大,對中央索引節(jié)點進行維護和更新的費用將急劇增加,所需成本過高。(3) 中央索引節(jié)點的存在引起共享資源在版權(quán)問題上的糾紛。2.2.2分布式p2p網(wǎng)絡模型廣播式p2p模型也被稱作為純p2p模型。這種模型取消了集中的
44、中央服務器,每個用戶隨機接入網(wǎng)絡,并與自己相鄰的一組節(jié)點通過端到端連接,從而構(gòu)成一個邏輯覆蓋的網(wǎng)絡。對等節(jié)點之間的內(nèi)容查詢和內(nèi)容共享都是直接通過相鄰節(jié)點廣播接力傳遞,同時每個節(jié)點還會記錄搜索軌跡,以防止搜索環(huán)路的產(chǎn)生。在這類系統(tǒng)中沒有中央索引服務器, 節(jié)點僅僅通過本地信息決定要連接到網(wǎng)絡的哪個部分上,也沒有在網(wǎng)絡的任何地方做類似廣告之類的資源信息發(fā)布, 它對共享文件的搜索是通過向網(wǎng)絡廣播查詢消息來完成的。其工作原理如圖2-2所示。當一個節(jié)點需要搜索某種資源時, 就向它所有的鄰居節(jié)點廣播帶有非零ttl的查詢消息, 鄰居節(jié)點收到消息后先檢索自己的共享文件, 如果有,就把自己的ip地址和找到的文件信
45、息回傳給查詢節(jié)點,如果沒有,就把查詢消息中的ttl值減1,然后再向其它鄰居結(jié)點轉(zhuǎn)發(fā)這條查詢消息, 如此反復執(zhí)行,直到ttl值為零或找到目標文件為止,目前分布式p2p網(wǎng)絡模型最典型的代表就是gnutella。圖2-2 分布式p2p網(wǎng)絡系統(tǒng)分布式p2p網(wǎng)絡模型的優(yōu)點是結(jié)構(gòu)簡單,投資少,不需要昂貴的中央結(jié)點服務器,而且結(jié)點的保密性很好,能有效地保護用戶的隱私,因此受到廣泛的歡迎,但其缺點也不少,由于沒有中心管理者,對等點的查找和定位比較復雜, 安全性也不高,易遭受惡意結(jié)點的攻擊。另外,隨著網(wǎng)絡規(guī)模的擴大,用廣播方式查找網(wǎng)絡上的文件資源將造成網(wǎng)絡流量急劇增加,易導致網(wǎng)絡擁塞。2.2.3混合式p2p網(wǎng)絡
46、模型集中式p2p模型有利于網(wǎng)絡資源的快速檢索,并且只要服務器能力足夠強大就可以無限擴展,但是其中心化的模式容易遭到直接的打擊,分布式p2p形式解決了抗攻擊問題,但是又缺乏快速搜索和可擴展性?;旌蟨2p形式結(jié)合了集中式和分布式p2p形式的優(yōu)點,在設計思想和處理能力上都得到了近一步的優(yōu)化?;旌鲜絧2p在分布式模式的基礎上,將用戶節(jié)點按能力進行分類,使某些節(jié)點擔任特殊的任務12。其工作原理如圖2-3所示。useruseruseruseruseruseruseruseruserusersearchindex4321searchdownload圖2-3 混合式p2p的工作原理其系統(tǒng)機構(gòu)中共包含3中節(jié)點:
47、(1) 用戶節(jié)點普通的節(jié)點就是用戶節(jié)點,它不具有任何特殊的功能。 (2) 搜索節(jié)點 搜索節(jié)點處理搜索請求,從他們的孩子節(jié)點中搜索文件列表,這些節(jié)點必須有128kbit/s以上的網(wǎng)絡連接速度,因此,最好用高性能的處理器。(3) 索引節(jié)點對于連接速度快、內(nèi)存充足的結(jié)點可以作為索引結(jié)點。索引結(jié)點保存可以利用的搜索結(jié)點信息、搜集狀態(tài)信息以及盡力維護網(wǎng)絡的結(jié)構(gòu)。一個結(jié)點可以既是搜索結(jié)點又是索引結(jié)點。用戶結(jié)點可以選擇3個搜索結(jié)點作為它的父結(jié)點,如果父結(jié)點接受該用戶結(jié)點作為它的孩子的話,那么該用戶結(jié)點就可以提交它要共享的列表給它的父結(jié)點。缺省情況下,搜索結(jié)點可以最多維護500個孩子結(jié)點。在第三代p2p的軟件
48、體系結(jié)構(gòu)中,采用了混合p2p形式。這種形式的關(guān)鍵之一是引入了索引結(jié)點,索引結(jié)點不會直接連接到有版權(quán)的資料,它就像yahoo一樣,只是搜索和所需資料相關(guān)的地址,至于用戶到底連接下載了什么內(nèi)容和它無關(guān)。這種形式的關(guān)鍵之二是引入搜索結(jié)點,搜索結(jié)點管理著所屬用戶的文件列表。用戶結(jié)點通過索引結(jié)點獲得搜索結(jié)點信息,之后用戶結(jié)點就與獲得的搜索結(jié)點相連,每一次查詢都通過該搜索結(jié)點進行。當用戶發(fā)出搜索請求后,如果和用戶結(jié)點直接相連的搜索結(jié)點查詢結(jié)果為100個(這里的100個搜索結(jié)果,可以由用戶自己來設定)就停止,如果不足100個,就向相鄰的搜索結(jié)點發(fā)出請求,如果查詢結(jié)果還不夠,就繼續(xù)向外快速發(fā)散,直到所有得搜索
49、結(jié)點都被搜索到。而如果所有的搜索結(jié)點都被訪問過,就意味著整個網(wǎng)絡上的結(jié)點都被搜索到了,其速度要比純 p2p 模式快得多。可見,p2p系統(tǒng)在不斷地發(fā)展著,從最初流行的像napster這樣有一個中心服務器的第一代集中式p2p,到像gnutella沒有中心服務器的第二代純p2p,再到?jīng)]有中心服務器,而有分布式服務器的第三代混合p2p。隨著網(wǎng)絡帶寬和計算能力的進一步提高,p2p模式的系統(tǒng)結(jié)構(gòu)將會更加智能化、更加具有靈活性,以便提供更多的共享資源為人們所利用。2.3 常見p2p協(xié)議分析本文的協(xié)議分析基于識別數(shù)據(jù)包應用層的確定比特字符串。因為關(guān)于p2p協(xié)議分析的文檔非常缺乏,本文主要采用實驗抓包分析的方法
50、,并參考一些權(quán)威的p2p官方網(wǎng)站,得出結(jié)論。在安裝了各種p2p客戶端后,運行客戶端程序并使用嗅探器tcpdump和ethereal抓包,經(jīng)過分析得出幾種常用的p2p協(xié)議的應用層特征字符串,見表2-1。表2-1 p2p協(xié)議數(shù)據(jù)包凈荷開頭的字符串p2p protocolstringtransferprotocoldefaultportsedonkey20000xe3 0xc5tcp/udp4661-4665fastrack“get/.hash”, “give”0xc028,0x2700000029800x280000002900,0x2900000029010xc1(5 bytes),0x2a(3 bytes)tcpudpudp1214gnutella“gnutella”, “giv”“gnd”tcpudp6346-6347bittorrent“0x13bittorrent protocol”tcp6881-6889后面將從兩個方面對4種最流行的p2p協(xié)議進行分析:(1) 數(shù)據(jù)包的格式:每種p2p協(xié)議的控制包通常都能通過檢查它的tcp或者udp凈荷的前幾個字節(jié)而被識別出來
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院感染防控應急處置預案
- 公司股權(quán)分配及管理辦法
- 建筑工程項目報告
- 垃圾焚燒發(fā)電前景如何
- 電動車公共充電樁使用方法
- 基于語音控制的智能家居
- 安全防護和文明施工措施
- 工程項目預算及費用統(tǒng)計表
- 新能源車輛推廣與應用戰(zhàn)略研究報告
- 銀行業(yè)務流程優(yōu)化與風控管理方案
- 中國古代文學史-史記講義
- 尿動力學檢查操作指南2023版
- 化學核心素養(yǎng)的課堂教學-基于核心素養(yǎng)的高中化學教學 課件
- DB31T 1137-2019 畜禽糞便生態(tài)還田技術(shù)規(guī)范
- 張居正改革-完整精講版課件
- excel-操作技巧培訓課件
- 腹膜透析的原理和應用講課課件
- 中北大學火炮概論終極版
- 2022年CAD快捷鍵-CAD常用快捷鍵命令大全
- 流感病人的護理ppt課件
評論
0/150
提交評論