欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

P2P網(wǎng)絡(luò)應(yīng)用層多播樹(shù)的建立及維護(hù)的解析

  發(fā)布時(shí)間:2014-09-23 15:37:45   作者:佚名   我要評(píng)論
這篇文章主要為大家介紹了對(duì)等網(wǎng)絡(luò)P2P網(wǎng)絡(luò)應(yīng)用層多播樹(shù)是如何建立的,以及建立后但如何維護(hù)?本文講述了P2P網(wǎng)絡(luò)的概念,文件時(shí)怎么分發(fā)的到怎么搜索信息,需要的朋友可以參考下

  一、什么是對(duì)等網(wǎng)絡(luò) P2P

  P2P一般指對(duì)等網(wǎng)絡(luò) 對(duì)等計(jì)算(Peer to Peer,簡(jiǎn)稱p2p)可以簡(jiǎn)單的定義成通過(guò)直接交換來(lái)共享計(jì)算機(jī)資源和服務(wù),而對(duì)等計(jì)算模型應(yīng)用層形成的網(wǎng)絡(luò)通常稱為對(duì)等網(wǎng)絡(luò)。在P2P網(wǎng)絡(luò)環(huán)境中,成千上萬(wàn)臺(tái)彼此連接的計(jì)算機(jī)都處于對(duì)等的地位,整個(gè)網(wǎng)絡(luò)一般來(lái)說(shuō)不依賴專用的集中服務(wù)器。網(wǎng)絡(luò)中的每一臺(tái)計(jì)算機(jī)既能充當(dāng)網(wǎng)絡(luò)服務(wù)的請(qǐng)求者,又對(duì)其它計(jì)算機(jī)的請(qǐng)求作出響應(yīng),提供資源和服務(wù)。通常這些資源和服務(wù)包括:信息的共享和交換、計(jì)算資源(如CPU的共享)、存儲(chǔ)共享(如緩存和磁盤空間的使用)等。

  這個(gè)定義有點(diǎn)抽象,下面就來(lái)簡(jiǎn)單地解釋一下。粗略地講,應(yīng)用程序可以設(shè)計(jì)成采用客戶機(jī)/服務(wù)器體系結(jié)構(gòu)或?qū)Φ润w系結(jié)構(gòu)(P2P)。我們?nèi)粘I钪械脑S多應(yīng)用程序,包括web、電子郵件和DNS,都是使用客戶機(jī)/服務(wù)器體系結(jié)構(gòu);而文件分發(fā),例如大家熟悉的迅雷下載等,就是使用P2P文件分發(fā)的技術(shù),使用的就是對(duì)待體系結(jié)構(gòu)(P2P)。

  對(duì)于客戶機(jī)/服務(wù)器體系結(jié)構(gòu),它要求總是打開(kāi)的基礎(chǔ)設(shè)施服務(wù)器。相反,使用P2P體系結(jié)構(gòu),對(duì)總是打開(kāi)的基礎(chǔ)設(shè)施服務(wù)器有最小的(或者沒(méi)有)依賴,任意間斷連接的主機(jī)對(duì)都稱為對(duì)等方,各個(gè)對(duì)等方直接通信。對(duì)等方并不為服務(wù)提供商所有,而是為用戶控制的設(shè)備。

  二、P2P文件分發(fā)

  下面通過(guò)一個(gè)具體的應(yīng)用來(lái)研究P2P,這個(gè)應(yīng)用是從單一服務(wù)器向大量主機(jī)(對(duì)等方)分發(fā)大文件。

  在客戶機(jī)/服務(wù)器文件分發(fā)中,服務(wù)器必須向每個(gè)客戶機(jī)發(fā)送該文件的一個(gè)拷貝,這同時(shí)給服務(wù)器造成了極大的負(fù)擔(dān),并且消耗了大量的服務(wù)器帶寬。在P2P文件分發(fā)中,每個(gè)對(duì)等方(即對(duì)應(yīng)客戶機(jī)/服務(wù)器體系結(jié)構(gòu)中的客戶機(jī))都能夠重新分發(fā)其所有的該文件的任何部分,從而協(xié)助服務(wù)器進(jìn)行分發(fā)。

  1、客戶機(jī)/服務(wù)器體系結(jié)構(gòu) VS P2P體系結(jié)構(gòu)

  首先我們假設(shè)文件的長(zhǎng)度為F,服務(wù)器上傳的速率為U,下載速率為D,而客戶機(jī)有N臺(tái),每臺(tái)的上傳速率為ui(i=1、2...N),每臺(tái)的下載速率為di(i=1、2...N)。

  由于每一次文件的分發(fā)都涉及服務(wù)器上傳文件和客戶機(jī)(或?qū)Φ确?下載文件。在下面的討論中,我們假設(shè)F、U、D、ui、di均不變,而N,即對(duì)等方數(shù)量卻是可變的。

  首先,對(duì)于客戶機(jī)/服務(wù)器體系結(jié)構(gòu),服務(wù)器上傳N個(gè)文件(因?yàn)橛蠳個(gè)客戶,每個(gè)客戶一個(gè)文件的副本)所需要的時(shí)間至少為NF/U。而下載速率最小(用dmin表示)的對(duì)等方不可能在F/dmin秒內(nèi)獲得該 文件的所有F比特,所以使用客戶機(jī)/服務(wù)器體系結(jié)構(gòu)分發(fā)文件所需的時(shí)間為

  Dcs = max{NF/U,F(xiàn)/dmin}

  即所需要的最小時(shí)間由下載文件最長(zhǎng)時(shí)間和上傳文件中的較大者決定,其實(shí)這也是很自然的事,因?yàn)榉职l(fā)時(shí)間,要不就是服務(wù)器上傳這N個(gè)文件用時(shí)多,要不就是對(duì)等方下載這N個(gè)文件用時(shí)多。然而,我們可以看到NF/U會(huì)隨著N的增大而線性增大,而F/dmin卻是個(gè)常值。也就是說(shuō)當(dāng)N達(dá)到一定的程度時(shí),它必然大于F/dmin,也就變成是Dcs的值,即Dcs = NF/U。

  然后,對(duì)于P2P體系結(jié)構(gòu),其中每個(gè)對(duì)等方都能夠幫助服務(wù)器來(lái)分發(fā)文件。也就是說(shuō),當(dāng)一個(gè)對(duì)等方接收到文件數(shù)據(jù)時(shí),它可以利用自己的上載能力重新將數(shù)據(jù)分發(fā)給其他對(duì)等方。

  在分發(fā)的開(kāi)始,只有服務(wù)器擁有文件。為了使對(duì)等方得到該文件,服務(wù)器必須經(jīng)其接入鏈路至少發(fā)送一次該文件。因此最小分發(fā)時(shí)間至少是F/U。因?yàn)樵赑2P體系結(jié)構(gòu)中,服務(wù)器發(fā)送一次文件就可能不用再次發(fā)送了,因?yàn)槠渌麑?duì)等方可以從擁有該文件的對(duì)等方中獲得。

  與客戶機(jī)/服務(wù)器體系結(jié)構(gòu)相同,下載速率最小的對(duì)等方不可能在F/dmin秒之內(nèi)獲得文件F的所有比特。因此最小的分發(fā)時(shí)間也可能是F/dmin。

  最后,系統(tǒng)的總上載能力等于服務(wù)器的上載速率加上每個(gè)對(duì)等方的上載速率,即Utotal=U+u1+u2...+uN。系統(tǒng)必須向N個(gè)對(duì)等方的都交付(上載)F比特,因此總的交付為NF比特。所以最小分發(fā)時(shí)間至少是NF/(U+u1+u2...+uN)。

  綜上所述,使用P2P體系結(jié)構(gòu)分發(fā)文件所需要的時(shí)間為

  Dp2p = max{F/U, F/dmin, NF/(U+u1+u2...+uN)}

  即最小分發(fā)時(shí)間由服務(wù)器上傳的時(shí)間,對(duì)等方下載的最長(zhǎng)時(shí)間和所有對(duì)待方上傳下載的時(shí)間來(lái)決定。同樣,因?yàn)镕/U, F/dmin都是常數(shù),所以當(dāng)N達(dá)到一定值后,NF/(U+u1+u2...+uN)就會(huì)大于前面的兩者,成為分發(fā)文件所需要的時(shí)間,即Dp2p = NF/(U+u1+u2...+uN)。從表達(dá)式中,我們可以看到,當(dāng)N的值增大時(shí),由于對(duì)等方的數(shù)量也能加了,所以U+u1+u2...+uN的值也會(huì)隨之增大,所以函數(shù)并不像客戶機(jī)/服務(wù)器體系結(jié)構(gòu)中函數(shù)那樣,分發(fā)時(shí)間會(huì)線性地增加,它的曲線與對(duì)數(shù)函數(shù)(如log2N)的曲線相似。所以當(dāng)N的值較大時(shí),P2P體系結(jié)構(gòu)分發(fā)文件所需要時(shí)間遠(yuǎn)比客戶機(jī)/服務(wù)器體系結(jié)構(gòu)的小。

  2、BitTorrent——用于文件分發(fā)的流行P2P協(xié)議

  前面用數(shù)學(xué)的方法說(shuō)明了基于客戶機(jī)/服務(wù)器體系結(jié)構(gòu)和基于P2P體系結(jié)構(gòu)的文件分發(fā)所需的時(shí)間的差別,下面來(lái)說(shuō)一下,這個(gè)P2P文件分發(fā)是如何實(shí)現(xiàn)的。下面以使用BitTorrent協(xié)議為例子說(shuō)明。

  在BitTorrent中,把參與一個(gè)特定文件分發(fā)的所有對(duì)等方的集合稱為一個(gè)洪流。在一個(gè)洪流中,對(duì)等方彼此下載等長(zhǎng)度的文件塊,塊長(zhǎng)度通常為256KB。當(dāng)一個(gè)對(duì)等方開(kāi)始加入一個(gè)洪流時(shí),它沒(méi)有文件塊。但是隨著時(shí)間的推移,它將累積到越來(lái)越多的文件塊。當(dāng)它下載文件塊時(shí),也為其他對(duì)等方上載多個(gè)文件塊。對(duì)待方一旦獲得了整個(gè)文件,它可以離開(kāi)洪流,或留在洪流中,為其他對(duì)等方上載文件塊。同時(shí),任何一個(gè)對(duì)等方可以在任何時(shí)候離開(kāi)洪流,以后也可以重新加入洪流。

  這里有二個(gè)問(wèn)題,1)我們的主機(jī)或設(shè)備加入一個(gè)洪流中時(shí)如何知道它有哪些對(duì)等方,即它如何知道它要向哪些主機(jī)請(qǐng)求所需要的文件。2)我們?cè)谙螺d文件時(shí),如果確定我們所需要的文件塊是哪一塊,換句話說(shuō)就是,文件有很多塊組成,而我們下載時(shí)并不按文件原有的順序下載,那么我如何確定我還需要下載哪些塊來(lái)讓這個(gè)文件變得完整。

  再來(lái)回答第二個(gè)問(wèn)題,在任何時(shí)刻,每個(gè)對(duì)等方都具有某文件塊的子集,且不同的對(duì)等方具有不同的文件塊子集。A周期性詢問(wèn)每個(gè)鄰近對(duì)等方所具有的塊列表并獲得其鄰居的塊列表,因此A將對(duì)它當(dāng)前還沒(méi)有的塊發(fā)出請(qǐng)求。同時(shí)由于在洪流中的每一個(gè)對(duì)等方既下載又上傳,所以A還應(yīng)決定它請(qǐng)求的塊應(yīng)該發(fā)送給它的哪些鄰居。通常在請(qǐng)求塊的過(guò)程中,使用一種叫最稀罕優(yōu)先的技術(shù),即根據(jù)A沒(méi)有的塊從它的鄰居中確定最稀罕的塊(即那些在它的鄰居中拷貝數(shù)量最少的那些塊),并優(yōu)先請(qǐng)求這些最稀罕的塊。這樣做的目的也是很明顯,就是讓每個(gè)塊在洪流中的拷貝數(shù)量大致相等,這樣同時(shí)也能提高總的下載速率,因?yàn)橄螺d不會(huì)卡在某個(gè)文件塊的下載中。

  P2P區(qū)域搜索信息

  P2P的另一個(gè)重要應(yīng)用就是信息索引,即信息到主機(jī)位置的映射。

  為了說(shuō)明什么是索引,舉個(gè)例子說(shuō)明吧,P2P文件共享系統(tǒng)中有一個(gè)索引,它動(dòng)態(tài)地跟蹤這些對(duì)等方可供共享的文件。該索引維護(hù)了一個(gè)記錄,記錄將有關(guān)拷貝的信息映射到具有拷貝對(duì)等方的IP地址。當(dāng)一個(gè)對(duì)等方加入系統(tǒng)時(shí),它通知系統(tǒng)它所擁有的文件索引。當(dāng)一個(gè)用戶希望獲得一個(gè)文件時(shí),他搜索索引以定位該文件的拷貝的位置。

  注:P2P文件分發(fā)與P2P文件共享還是有一定的區(qū)別的,P2P的文件共享有可能發(fā)生在不同的時(shí)段,例如,現(xiàn)在收到的文件,1小時(shí)后才需上傳。P2P的文件共享也有可能發(fā)生在不同的文件,例如,需要下載A文件,卻為其他用戶提供B文件。而P2P的文件分發(fā)更多是針對(duì)單一文件,在下載的同一時(shí)間為其他用戶提供上傳服務(wù),這是一個(gè)協(xié)同處理的過(guò)程。

  1、集中式索引

  由一臺(tái)大型服務(wù)器(或服務(wù)器場(chǎng))來(lái)提供索引服務(wù)。當(dāng)用戶啟動(dòng)P2P文件共享應(yīng)用程序時(shí),該應(yīng)用程序?qū)⑺腎P地址以及可供共享的文件名稱通知索引服務(wù)器。索引服務(wù)器收集可共享的對(duì)象,建立集中式的動(dòng)態(tài)數(shù)據(jù)庫(kù)(對(duì)象名稱到IP地址的映射)。

  它有如下的缺點(diǎn):

  1、單點(diǎn)故障

  2、性能瓶頸

  3、可靠性差

  這種索引方式的特點(diǎn)是:文件傳輸是分散的(P2P的),但定位內(nèi)容的過(guò)程是高度集中的(客戶機(jī)/服務(wù)器)。

  2、查詢洪泛

  查詢洪泛采用完全分布式的方法,索引全面地分布在對(duì)等方的區(qū)域中,對(duì)等方形成了一個(gè)抽象的邏輯網(wǎng)絡(luò),稱為覆蓋網(wǎng)絡(luò)。當(dāng)A要定位索引(例如abc)時(shí),它向它的所有鄰居發(fā)送一條查詢報(bào)文(包含關(guān)鍵字abc)。A的所有鄰居向它們的所有鄰居轉(zhuǎn)發(fā)該報(bào)文,這些鄰居又接著向它們的所有鄰居轉(zhuǎn)發(fā)該報(bào)文等。如果其中一個(gè)對(duì)等主與索引(abc)配置,則返回一個(gè)查詢命中報(bào)文。

  但是這種簡(jiǎn)單的方法卻有一個(gè)致命的缺點(diǎn),就是它會(huì)產(chǎn)生大量的流量。

  一個(gè)解決辦法就是采用范圍受限查詢洪泛。設(shè)置一個(gè)計(jì)數(shù)值,對(duì)等方向其鄰居轉(zhuǎn)發(fā)請(qǐng)求之前就將對(duì)等方的計(jì)數(shù)字段減1,當(dāng)一個(gè)對(duì)等方的計(jì)數(shù)字段為0時(shí),停止查詢。

  3、層次覆蓋

  該方法結(jié)合了集中式索引和查詢洪泛的優(yōu)點(diǎn),與查詢洪泛相似,層次覆蓋設(shè)計(jì)并不使用專用的服務(wù)器來(lái)跟蹤和索引文件。不同的是在層次覆蓋中并非所有的對(duì)等方都是平等的。

  它的示意圖如下:

  超級(jí)對(duì)等方(組長(zhǎng)對(duì)等方)維護(hù)著一個(gè)索引,該索引包括了其子對(duì)等方(普通對(duì)待方)正在共享的所有文件的標(biāo)識(shí)符、有關(guān)文件的元數(shù)據(jù)和保持這些文件的子對(duì)等方的IP地址。而超級(jí)對(duì)等方通常也只是一個(gè)普通的對(duì)等方。超級(jí)對(duì)等方之間相互建立TCP連接,從而形成一個(gè)覆蓋網(wǎng)絡(luò),超級(jí)對(duì)等方可以向其相信超級(jí)對(duì)等方轉(zhuǎn)發(fā)查詢,但是僅在超級(jí)對(duì)等方使用范圍受限查詢洪泛。

  當(dāng)某對(duì)等方進(jìn)行索引時(shí),它向其超級(jí)對(duì)等方發(fā)送帶有關(guān)鍵詞的查詢。超級(jí)對(duì)等方則用其具有相關(guān)文件的子對(duì)等方的IP地址進(jìn)行響應(yīng),該超級(jí)對(duì)等方還可能向一個(gè)或多個(gè)相鄰的超級(jí)對(duì)等方轉(zhuǎn)發(fā)該查詢。如果某相鄰對(duì)等方收到了這樣一個(gè)請(qǐng)求,它也會(huì)用具有匹配文件的子對(duì)等方的IP地址進(jìn)行響應(yīng)。

  與受限查詢洪泛設(shè)計(jì)相比,層次覆蓋設(shè)計(jì)允許數(shù)量多得多的對(duì)等方檢查匹配,而不會(huì)產(chǎn)生過(guò)量的查詢流量。

  通過(guò)這兩種P2P常用應(yīng)用的介紹,它的定義,結(jié)構(gòu),搜索方式都有大略的講解了,大家對(duì)P2P應(yīng)該有一定的認(rèn)識(shí)了吧,,謝謝閱讀,希望能幫到大家,請(qǐng)繼續(xù)關(guān)注腳本之家,我們會(huì)努力分享更多優(yōu)秀的文章。

相關(guān)文章

  • 三大網(wǎng)絡(luò)管理協(xié)議:SNMP、NETCONF、RESTCONF介紹

    本文將詳細(xì)介紹三種主要的協(xié)議:SNMP(Simple Network Management Protocol)、NETCONF(Network Configuration Protocol)和RESTCONF,需要的朋友可以參考下
    2024-02-13
  • 常見(jiàn)網(wǎng)絡(luò)協(xié)議匯總

    常見(jiàn)的網(wǎng)絡(luò)協(xié)議有:TCP/IP協(xié)議、UDP協(xié)議、HTTP協(xié)議、FTP協(xié)議等,本文就詳細(xì)的介紹一下常見(jiàn)的網(wǎng)絡(luò)協(xié)議,通過(guò)這些具體的協(xié)議更深刻的認(rèn)識(shí)整體網(wǎng)絡(luò)的傳輸流程及相關(guān)網(wǎng)絡(luò)原理,
    2023-05-30
  • L2TP和PPTP的區(qū)別小結(jié)

    本文主要介紹了L2TP和PPTP的區(qū)別,主要的前區(qū)別在于用途不同、使用要求不同,下面就來(lái)介紹一下L2TP和PPTP的聯(lián)系與區(qū)別,感興趣的可以了解一下
    2023-05-30
  • 自組織網(wǎng)絡(luò)Ad Hoc之OLSR 協(xié)議詳解

    這篇文章主要介紹了自組織網(wǎng)絡(luò)Ad Hoc之OLSR 協(xié)議詳解,需要的朋友可以參考下
    2023-05-08
  • 自組織網(wǎng)絡(luò)Ad Hoc之AODV協(xié)議詳解

    這篇文章主要介紹了自組織網(wǎng)絡(luò)Ad Hoc之AODV協(xié)議詳解,需要的朋友可以參考下
    2023-05-08
  • 自組織網(wǎng)絡(luò)Ad Hoc 網(wǎng)絡(luò)基礎(chǔ)知識(shí)

    自組織網(wǎng)絡(luò)(Ad Hoc)是一種移動(dòng)通信和計(jì)算機(jī)網(wǎng)絡(luò)相結(jié)合的網(wǎng)絡(luò),是移動(dòng)計(jì)算機(jī)網(wǎng)絡(luò)的一種,用戶終端可以在網(wǎng)絡(luò)內(nèi)隨意移動(dòng)而保持通信
    2023-05-08
  • 一次完整的http請(qǐng)求過(guò)程分析

    瀏覽器輸入一個(gè)URL回車后,會(huì)發(fā)生什么呢?這里就為大家分享一下,需要的朋友可以參考下
    2022-10-19
  • 常用網(wǎng)絡(luò)協(xié)議匯總

    本篇主要是對(duì)網(wǎng)絡(luò)協(xié)議進(jìn)行一個(gè)歸納總結(jié),方便后續(xù)查閱及復(fù)習(xí),當(dāng)然如有新的認(rèn)知或新的理解,也會(huì)持續(xù)更新
    2022-10-19
  • 常用網(wǎng)絡(luò)協(xié)議匯總 詳解篇

    今日回顧網(wǎng)絡(luò)知識(shí)時(shí),發(fā)現(xiàn)自己專門整理過(guò)一篇關(guān)于日常生活中常見(jiàn)的網(wǎng)絡(luò)協(xié)議知識(shí)以及作用的梳理,特發(fā)此一貼,也當(dāng)給自己鞏固網(wǎng)絡(luò)知識(shí)了,如有錯(cuò)誤,望各大佬指正
    2022-10-19
  • HTTP協(xié)議的8種請(qǐng)求方式及常用請(qǐng)求方式的解析

    HTTP即超文本傳輸協(xié)議,是一種實(shí)現(xiàn)客戶端和服務(wù)器之間通信的響應(yīng)協(xié)議,它是用作客戶端和服務(wù)器之間的請(qǐng)求,需要的朋友可以參考下
    2022-10-19

最新評(píng)論