Teknologjitë Peer-to-Peer - nga Hirushja te princesha. Rrjetet peer-to-peer do të thotë peer-to-peer

Një nga rrjetet e para peer-to-peer, i krijuar në vitin 2000. Është ende në funksion, megjithëse për shkak të gabimeve serioze në algoritëm, përdoruesit aktualisht preferojnë rrjetin Gnutella2.

Kur lidhet, klienti merr nga nyja me të cilën ka mundur të lidhë një listë me pesë nyje aktive; Atyre u dërgohet një kërkesë për të kërkuar një burim duke përdorur një fjalë kyçe. Nyjet kërkojnë burime që përputhen me kërkesën dhe, nëse nuk i gjejnë, ia përcjellin kërkesën nyjeve aktive lart në "pemë" (topologjia e rrjetit ka një strukturë grafiku "pemë") derisa të gjendet një burim ose numri maksimal i hapave është tejkaluar. Ky kërkim quhet përmbytje e pyetjeve.

Është e qartë se një zbatim i tillë çon në një rritje eksponenciale të numrit të kërkesave dhe, në përputhje me rrethanat, në nivelet e sipërme të "pemës" mund të çojë në një refuzim të shërbimit, gjë që është vërejtur shumë herë në praktikë. Zhvilluesit përmirësuan algoritmin dhe futën rregulla sipas të cilave kërkesat mund të dërgohen vetëm në "pemë" nga nyje të caktuara - të ashtuquajturat nyje të tjera (gjethe) mund të kërkojnë vetëm këto të fundit. Është prezantuar gjithashtu një sistem i nyjeve të memorizimit.

Rrjeti ende funksionon në këtë formë sot, megjithëse mangësitë e algoritmit dhe aftësitë e dobëta të shtrirjes çojnë në një ulje të popullaritetit të tij.

Mangësitë e protokollit Gnutella filluan zhvillimin e algoritmeve thelbësisht të reja për kërkimin e rrugëve dhe burimeve dhe çuan në krijimin e një grupi protokollesh DHT (Distributed Hash Tables) - në veçanti, protokolli Kademlia, i cili tani përdoret gjerësisht në më të mëdhenjtë. rrjeteve.

Kërkesat në rrjetin Gnutella dërgohen përmes TCP ose UDP dhe skedarët kopjohen përmes HTTP. Kohët e fundit, janë shfaqur shtesa për programet e klientëve që lejojnë kopjimin e skedarëve përmes UDP dhe bërjen e kërkesave XML për metainformacion rreth skedarëve.

Në vitin 2003, u krijua një protokoll thelbësisht i ri Gnutella2 dhe u krijuan klientët e parë që e mbështesnin atë, të cilët ishin të pajtueshëm me klientët Gnutella. Në përputhje me të, disa nyje bëhen shpërndarës, ndërsa pjesa tjetër janë nyje të zakonshme (gjethe). Çdo nyje e rregullt ka një lidhje me një ose dy shpërndarës. Dhe një shpërndarës është i lidhur me qindra nyje të rregullta dhe dhjetëra shpërndarës të tjerë. Çdo nyje i dërgon periodikisht qendrës një listë identifikuesish të fjalëve kyçe që mund të përdoren për të gjetur burimet e publikuara nga kjo nyje. ID-të ruhen në një tabelë të përbashkët në qendër. Kur një nyje "dëshiron" të gjejë një burim, ajo dërgon një pyetje me fjalë kyçe në qendrën e saj, e cila ose gjen burimin në tabelën e saj dhe kthen ID-në e nyjës që zotëron burimin, ose kthen një listë të shpërndarësve të tjerë, të cilat nyja përsëri kërkon me radhë në mënyrë të rastësishme. Një kërkim i tillë quhet kërkim duke përdorur metodën e ecjes rastësore.

Një tipar i dukshëm i rrjetit Gnutella2 është aftësia për të riprodhuar informacion rreth një skedari në rrjet pa kopjuar vetë skedarin, gjë që është shumë e dobishme nga pikëpamja e gjurmimit të viruseve. Për paketat e transmetuara në rrjet, është zhvilluar një format i pronarit i ngjashëm me XML, i cili zbaton në mënyrë fleksibël aftësinë për të rritur funksionalitetin e rrjetit duke shtuar informacion shtesë të shërbimit. Pyetjet dhe listat e ID-ve të fjalëve kyçe dërgohen në shpërndarës përmes UDP.

Këtu është një listë e programeve më të zakonshme të klientëve për Gnutella dhe Gnutella2: Shareaza, Kiwi, Alpha, Morpheus, Gnucleus, Adagio Pocket G2 (Windows Pocket PC), FileScope, iMesh, MLDonkey

Rrjetet peer-to-peer

Peer-to-peer, të decentralizuara ose bashkëmoshatar(nga anglishtja peer-to-peer, P2P- rrjetet pikë-për-pikë) janë rrjete kompjuterike të bazuara në barazinë e pjesëmarrësve. Në rrjete të tilla nuk ka serverë të dedikuar, dhe çdo nyje (peer) është njëkohësisht një klient dhe një server. Ndryshe nga arkitektura klient-server, kjo organizatë lejon që rrjeti të mbetet funksional me çdo numër dhe çdo kombinim të nyjeve në dispozicion.

Shprehja "peer-to-peer" u përdor për herë të parë në vitin 2010 nga Parbawell Yohnuhuitsman kur zhvillonte arkitekturën e avancuar të rrjetit nga Peer to Peer të firmës.

Pajisja e rrjetit peer-to-peer

Për shembull, ka 12 makina në rrjet dhe çdokush mund të kontaktojë këdo. Si klient (konsumator i burimeve), secila prej këtyre makinerive mund të dërgojë kërkesa për sigurimin e çdo burimi tek makineritë e tjera brenda këtij rrjeti dhe t'i marrë ato. Si server, çdo makinë duhet të përpunojë kërkesat nga makineritë e tjera në rrjet, të dërgojë atë që është kërkuar dhe të kryejë disa funksione mbështetëse dhe administrative.

Asnjë anëtar i këtij rrjeti nuk i garanton askujt praninë e tij në mënyrë të vazhdueshme. Mund të shfaqet dhe të zhduket në çdo kohë. Por kur arrihet një madhësi e caktuar kritike e rrjetit, vjen një moment kur shumë serverë me të njëjtat funksione ekzistojnë njëkohësisht në rrjet.

Rrjete pjesërisht të decentralizuara (hibride).

Përveç rrjeteve të pastra P2P, ekzistojnë të ashtuquajturat rrjete hibride, në të cilat ka serverë që përdoren për të koordinuar punën, kërkimin ose dhënien e informacionit për makinat ekzistuese në rrjet dhe statusin e tyre (on-line, off-line, etj.) . Rrjetet hibride kombinojnë shpejtësinë e rrjeteve të centralizuara dhe besueshmërinë e atyre të decentralizuara falë skemave hibride me serverë indeksues të pavarur që sinkronizojnë informacionin me njëri-tjetrin. Nëse një ose më shumë serverë dështojnë, rrjeti vazhdon të funksionojë. Rrjetet pjesërisht të decentralizuara të ndarjes së skedarëve përfshijnë, për shembull, EDonkey,

Rrjeti i ndarjes së skedarëve peer-to-peer

Në mënyrë tipike, në rrjete të tilla shkëmbehen filma dhe muzika, gjë që është një dhimbje koke e përhershme për kompanitë e publikimit dhe regjistrimit të videove, të cilave vërtet nuk u pëlqen kjo gjendje. Problemet e tyre i shtohet edhe fakti se është teknikisht e pamundur të ndalosh shpërndarjen e një skedari në një rrjet të decentralizuar peer-to-peer - kjo do të kërkojë shkëputjen fizike nga rrjeti të të gjitha makinerive në të cilat ndodhet ky skedar, dhe aty mund të të jenë shumë, shumë makina të tilla (shih më lart) - në varësi të popullaritetit të skedarit, numri i tyre mund të arrijë në qindra mijëra. Kohët e fundit, publikuesit e videove dhe kompanitë diskografike kanë filluar të padisin përdoruesit individualë të rrjeteve të tilla, duke i akuzuar ata për shpërndarje të paligjshme të muzikës dhe videove.

Rrjete të njohura të decentralizuara dhe hibride

Rrjetet peer-to-peer për fillestarët përshkruhen në artikullin: Programet e ndarjes së skedarëve

  • ED2K, i njohur gjithashtu si eDonkey2000, është një rrjet i centralizuar, më i madhi nga rrjetet ekzistuese për ndarjen e skedarëve. Kërkimi kryhet nga serverë të specializuar të lidhur me njëri-tjetrin. Klientët komunikojnë në mënyrë të pavarur duke përdorur protokollin MFTP. MetaMachine, zhvilluesit e konceptit origjinal dhe klienti i parë i bazuar në një ndërfaqe në internet (Edonkey 2000 v1.4.5), ndaloi mbështetjen për këtë projekt në 2005, por rrjeti vazhdon të funksionojë për shkak të klientit më të avancuar dhe më të fuqishëm eMule, i cili përdor mekanizma - janë serverë të dedikuar kërkimi të ndërlidhur të dobët (hubs). Qendrat Direct Connect janë shumë të përshtatshme për organizimin e shkëmbimit të skedarëve në rrjetet lokale.
  • Advanced Direct Connect është një zhvillim evolucionar i rrjeteve Direct Connect me eliminimin e mangësive kryesore.
  • FastTrack, iMesh - implementuar fillimisht në KaZaA...
  • Dhurata (mlDonkey.
  • Shareaza, BearShare, Phex.
  • Shareaza.
  • Ares është një rrjet për ndarjen e skedarëve për çdo skedar.
  • protokolli i pronarit. I gjithë kërkimi bëhet përmes një serveri qendror, i cili ka regjistrim falas dhe abonim me pagesë (faqe zyrtare). Klientët: mlDonkey, SolarSeek.
  • Entropia është një rrjet anonim dhe rezistent ndaj censurës për ndarjen e skedarëve.
  • Blubster, Piolet, RockItNet.
  • NEOnet është një rrjet komercial pjesërisht i decentralizuar në bazë shareware. Është një modifikim specifik ndihmës i protokollit DHT kur vepron në një segment të veçantë tregtar të rrjetit Gnutella1, i mbështetur nga klienti Morpheus. Siguria kriptografike dhe vetitë e anonimitetit të rrjetit nuk mbështeten në rrjetin NeoNet.
  • Tesla - Ndoshta përmban MalWare.
  • Filetopia është një rrjet potencialisht i sigurt për ndarjen e një shumëllojshmërie të gjerë të përmbajtjes.
  • MUTE - Klientët: MFC Mute, Napshare.
  • Peer2Mail në thelb nuk është as një rrjet peer-to-peer, por një lloj softueri që ju lejon të transferoni skedarë midis dy hosteve (peer-to-peer), duke përdorur shërbimet e postës si ruter. Teknologjia e transferimit të skedarëve bazohet në kapsulimin në protokollin SMTP.
  • Milingonat p2p është një rrjet i hapur P2P i gjeneratës së tretë me siguri të shtuar. klient.
  • Anthill - një sistem (rrjet) për kërkime akademike të sistemeve komplekse adaptive të bazuara në Rodi - mbështet kërkimin sipas përmbajtjes së skedarit. AppleJuice është një rrjet pjesërisht i decentralizuar (si eDonkey).
  • BeOS.
  • - një disk virtual global për shkëmbimin e skedarëve me autorizim dhe kriptim.
  • ProxyShare është një rrjet i ri me shpejtësi të lartë me aftësi të mëdha.
  • Blerja - rrjeti dhe klienti për Mac.
  • RShare është një rrjet P2P i hapur anonim.
  • Marabunta është një sistem alternativ peer-to-peer i fokusuar ekskluzivisht në ofrimin e shërbimeve të mesazheve të menjëhershme në një tabelë të përbashkët buletini (P2P-chat). Programi është krijuar kryesisht për përdorim në rrjetet lokale, dhe për këtë arsye nuk përmban aftësinë për të përditësuar automatikisht listën e nyjeve (duhet të rimbushet manualisht). Nëse ka adresa të përhershme IP të marrësve, ai mund të funksionojë në internet, megjithatë, funksioni i integruar i bootstrap nga serverët e zhvilluesve nuk është funksional për shkak të faktit se që nga viti 2006 projekti praktikisht ka pushuar së zhvilluari.
  • SKad ose OpenKAD është një modifikim i protokollit Winny. Zhvillimi i mëtejshëm i këtij rrjeti drejt anonimitetit të rrjetit çoi në shfaqjen e programit Share. Dhe sot ekziston një version i tretë që ekzekuton programin Perfect Dark. Fatkeqësisht, të tre versionet e rrjetit SKad u zhvilluan paralelisht dhe megjithëse kanë shumë të përbashkëta, për shkak të modifikimit të procedurës së kodimit të listës së nyjeve drejt kriptimit më të fortë, ato nuk janë të pajtueshme me njëri-tjetrin. Kështu, të tre programet formuan tre rrjete identike me shkallë të ndryshme sigurie.
  • - Softuer i pronarit nga Microsoft.
  • P-Grid është një rrjet i vetëorganizuar i decentralizuar.
  • P2PTV është një rrjet kanalesh televizive.
  • KoffeePhoto është një rrjet për ndarjen e fotografive.
  • Poisoned – një program për të punuar me rrjetet e ndarjes së skedarëve Gnutella, OpenFT, FastTrack në mjedisin e sistemit operativ Mac OS X. Ofron një ndërfaqe grafike për një aplikacion në sfond dhuratë.

Rrjetet llogaritëse të shpërndara peer-to-peer

Teknologjia e rrjeteve peer-to-peer (që nuk i nënshtrohen llogaritjes kuazi-sinkrone) përdoret gjithashtu për llogaritjen e shpërndarë. Ato bëjnë të mundur kryerjen e një sasie vërtet të madhe llogaritjesh në një kohë relativisht shumë të shkurtër, gjë që edhe në superkompjuterë do të kërkonte, në varësi të kompleksitetit të problemit, shumë vite apo edhe shekuj punë. Kjo performancë arrihet për faktin se një detyrë e caktuar globale është e ndarë në një numër të madh blloqesh, të cilat ekzekutohen njëkohësisht nga qindra mijëra kompjuterë pjesëmarrës në projekt.


Fondacioni Wikimedia. 2010.

Shihni se çfarë janë "rrjetet peering" në fjalorë të tjerë:

    Rrjetet peer-to-peer, të decentralizuara ose peer-to-peer (nga anglishtja peer to peer, P2P point to point) janë rrjete kompjuterike të bazuara në barazinë e pjesëmarrësve. Në rrjete të tilla nuk ka serverë të dedikuar, dhe çdo nyje (peer) është si një klient... ... Wikipedia

    Shtylla kurrizore e internetit është shtylla kryesore e transmetimit të të dhënave midis rrjeteve të mëdha, të ndërlidhura strategjikisht dhe ruterëve kryesorë në internet. Këto linja të dhënash kontrollohen nga... ... Wikipedia

    Kërkesa "P2P" ridrejtohet këtu; shih edhe kuptime të tjera. Një rrjet peer-to-peer, i decentralizuar ose peer-to-peer (nga anglishtja peer to peer, P2P i barabartë me i barabartë) është një rrjet kompjuterik mbivendosës i bazuar në barazinë e pjesëmarrësve. Në një ... Wikipedia

Klient P2P falas, me burim të hapur për të punuar me rrjetin Direct Connect. Ju lejon të shkarkoni lirisht skedarë të ndarë nga përdoruesit e tjerë të këtij rrjeti.

Rreth rrjeteve peer-to-peer (p2p)

Rrjeti Direct Connect në strukturën e tij të kujton disi BitTorrent.

Hub Hub (anglisht hub, wheel hub, qendër) është një nyje rrjeti.

Gjurmues- një server i rrjetit BitTorrent që koordinon klientët e tij.

Nuk ka gjithashtu një sistem të centralizuar kërkimi, dhe për të gjetur ndonjë skedar, duhet të vizitoni një nga serverët specialë - shpërndarës (të ngjashëm me gjurmuesit në BitTorrent).

Pas lidhjes me shpërndarësin, do të merrni një listë të përdoruesve të lidhur me të. Megjithatë, lidhja mund të mos ndodhë nëse nuk e keni ndarë (ngarkuar) sasinë e kërkuar të informacionit. Zakonisht nga 2 deri në 10 GB.

Nëse lidhja ndodh, atëherë ju keni mundësinë ose të futni emrin e skedarit që ju intereson në kërkim, ose të kryeni një kërkim manualisht, duke shkuar te secili përdorues.

Parimi i funksionimit të rrjetit duhet kuptuar në terma të përgjithshëm. Tani le të shohim vetë klientin Direct Connection.

Instalimi i StrongDC++

Pasi të keni shkarkuar arkivin me programin, ekzekutoni skedarin e ekzekutueshëm dhe programi do të instalohet në dosjen "Skedarët e programit" në kompjuterin tuaj.

Nëse në fund të instalimit nuk e zgjidhni kutinë përkatëse, programi do të fillojë automatikisht.

Ky version është tashmë në rusisht, por nëse keni shkarkuar versionin anglisht, mund ta rusizoni programin duke përdorur skedarin përkatës me shtesën xml, ndodhet në arkivin tonë me programin.

Kur të shkarkohet plasja, duhet ta instaloni. Për ta bërë këtë, zgjidhni artikullin "Dukja" në menunë e cilësimeve të programit dhe në fushë Skedari i gjuhës Klikoni butonin "Shfleto" për të zgjedhur vendndodhjen e skedarit sDC+++rusisht.xml(emri i skedarit të çarjes).

Pasi të keni kryer të gjitha manipulimet, rinisni programin dhe merrni një version rus plotësisht funksional!

Konfigurimi i StrongDC++

Tani le të konfigurojmë versionin rus të Strong DC++.

Nick- një emër unik në sistem.

Në menynë "Përgjithshme" duhet të specifikoni pseudonimin, postën elektronike dhe shpejtësinë e ngarkimit të skedarëve. Fusha "Përshkrim" mund të lihet bosh (ky është si komenti juaj).

adresa IP- adresa dixhitale e një kompjuteri në rrjet, për shembull: 192.0.3.244.

Në "Cilësimet e lidhjes" mund të specifikoni adresën tuaj IP dhe disa të dhëna të tjera. Vëmendje e veçantë duhet t'i kushtohet "Cilësimeve të lidhjes hyrëse".

Është më mirë të përdorni një lidhje pasive përmes një muri zjarri (përndryshe skedarët e përdoruesve të tjerë nuk do të shfaqen për ju).

Proxy server- server i ndërmjetëm.

Trafiku i lidhjeve dalëse mund të ridrejtohet te serveri proxy, ose mund të lihet drejtpërdrejt (shpejtësia do të jetë më e lartë).

Pastaj zgjidhni artikullin "Shkarko" dhe konfiguroni dosjet e paracaktuara për shkarkime dhe për ruajtjen e skedarëve të përkohshëm.

Dhe tani - gjëja më e rëndësishme !!! Ju duhet të ndani skedarët tuaj. Për ta bërë këtë, shkoni te menyja "Skedarët e mi (topi)" dhe në dritaren që hapet në të djathtë, zgjidhni skedarët dhe dosjet në të cilat dëshironi të hapni aksesin.

Pasi të zgjidhni një skedar, do të shihni dritaren e mëposhtme të përparimit.

Fillimi me StrongDC++

Pas hashimit të skedarëve, mund të filloni të punoni drejtpërdrejt me programin. Klikoni butonin "OK" në fund dhe dritarja kryesore e programit do të shfaqet para jush.

Për të filluar kërkimin e skedarëve që ju nevojiten, gjëja e parë që duhet të bëni është të lidheni me një nga shpërndarësit e shumtë.

Për ta bërë këtë, klikoni butonin "Internet hubs" në shiritin e veglave dhe më pas zgjidhni një nga listat e listave të shpërndarësve të Internetit dhe klikoni butonin "Përditëso".

Përdoruesi(anglisht) përdorues) - përdorues.

Nëse e dini emrin e qendrës ose të përdoruesit specifik që ju nevojitet, është më e lehtë të kërkoni duke përdorur një filtër.

Kur të gjendet qendra e dëshiruar, mund të shkoni tek ajo duke klikuar dy herë butonin e majtë të miut mbi emrin e tij. Nëse sasia e të dhënave që keni ndarë plotëson kërkesat e shpërndarësit, atëherë do të shihni diçka si kjo dritare:

Kushtojini vëmendje pranisë së faqeshënuesve nën dritaren kryesore. I gjithë navigimi në Strong DC++ kryhet duke përdorur këta faqeshënues. Ju mund të menaxhoni faqeshënuesit duke klikuar me të djathtën.

Ndërfaqja StrongDC++

Hapësira kryesore është e zënë nga chat - një gjë shumë fitimprurëse. Do të jetë e dobishme, nga "vetëm biseda" deri te aftësia për të pyetur të tjerët se ku mund ta gjejnë këtë apo atë informacion nëse kërkimi nuk ndihmoi.

Në të djathtë të bisedës ka një listë të përdoruesve që janë aktualisht të pranishëm në qendër. Ngjyrat në të cilat janë shkruar emrat e përdoruesve përmbajnë informacion shtesë.

Kërkimi manual i skedarëve për shkarkim

Le të shqyrtojmë ndërveprimin duke përdorur kërkimin manual. Pranë çdo përdoruesi ka një tregues të numrit të skedarëve të përbashkët. Nëse shpejtësia e lidhjes suaj nuk është shumë e lartë, atëherë është më mirë të zgjidhni ata që kanë vëllime më të vogla skedarësh.

Tani, kur në "Status" shfaqet një sinjal se lista e skedarëve është shkarkuar, më poshtë do të hapet një skedë tjetër, ku mund të shihni se cilat skedarë janë në kompjuterin e përdoruesit që keni zgjedhur.

Për të shkarkuar skedarin e zgjedhur, klikoni me të djathtën mbi të dhe zgjidhni "Shkarko".

Ne bëjmë të njëjtën gjë kur përdorim kërkimin. Në shiritin e kërkimit, futni emrin e skedarit që na nevojitet dhe prisni.

Pas përfundimit të kërkimit, më poshtë do të shihni një listë të përdoruesve që kanë këtë skedar. Ju zgjidhni një prej tyre, lidheni me të dhe shkarkoni të dhënat e nevojshme.

konkluzionet

Pavarësisht nga avantazhet e shumta të rrjetit DC++, ka edhe disa disavantazhe. Dy prej tyre janë konkretisht. Pamundësia për të shkarkuar një skedar nëse burimi (ai që e ka këtë skedar) është shkëputur. Dhe pengesa e dytë është, ndonjëherë, një radhë shumë e gjatë për shkarkim.

Në përgjithësi, sistemi është shumë interesant dhe ajo që e bën të përshtatshëm është përdorimi i programit StrongDC++.

P.S. Leja jepet për të kopjuar dhe cituar lirisht këtë artikull, me kusht që të tregohet një lidhje e hapur aktive me burimin dhe të ruhet autorësia e Ruslan Tertyshny.

P.P.S. Paraardhësit e rrjetit P2P ishin serverët FTP, të cilët lidhen më së miri me përdorimin e këtij programi:
Klienti FTP FileZilla https://www..php

Një vështrim i shpejtë në literaturë zbulon shumë interpretime të ndryshme të konceptit Peer-to-Peer, që ndryshojnë kryesisht në gamën e veçorive të përfshira.

Përkufizimet më të rrepta të një rrjeti "të pastër" peer-to-peer e trajtojnë atë si një sistem plotësisht të shpërndarë në të cilin të gjitha nyjet janë absolutisht të barabarta për sa i përket funksionalitetit dhe detyrave të kryera. Sistemet e bazuara në idenë e "supernyjeve" (nyjet që veprojnë si mini-server lokalë të caktuar në mënyrë dinamike), si Kazaa, nuk e plotësojnë këtë përkufizim (megjithëse kjo nuk e pengon atë të pranohet gjerësisht si një rrjet P2P, ose një sistem që përdor një infrastrukturë të centralizuar të serverit për të kryer nëngrupe detyrash ndihmëse: vetë-akordim, menaxhim i vlerësimit të reputacionit, etj.).

Sipas përkufizimit më të gjerë, P2P është një klasë aplikacionesh që përdorin burime - disqet e ngurtë, ciklet e procesorit, përmbajtje - të disponueshme në skajin e resë së internetit. Në të njëjtën kohë, është gjithashtu i përshtatshëm për sistemet që përdorin serverë të centralizuar për funksionimin e tyre (si SETI@home, sistemet e mesazheve të çastit, apo edhe rrjeti famëkeq Napster), si dhe aplikacione të ndryshme në fushën e llogaritjes së rrjetit.

Si rezultat, për të qenë i sinqertë, nuk ka asnjë këndvështrim të vetëm se çfarë është dhe çfarë nuk është një rrjet P2P. Përkufizimet e shumta janë të mundshme për shkak të faktit se sistemet ose aplikacionet quhen P2P jo për shkak të operacioneve ose arkitekturës së tyre të brendshme, por për shkak të mënyrës se si ato shfaqen nga jashtë, d.m.th., nëse ato japin përshtypjen e komunikimit të drejtpërdrejtë kompjuter-kompjuter.

Në të njëjtën kohë, shumë pajtohen që karakteristikat kryesore për arkitekturën P2P janë si më poshtë:

  • ndarja e burimeve kompjuterike përmes shkëmbimit të drejtpërdrejtë pa ndihmën e ndërmjetësve. Ndonjëherë serverët e centralizuar mund të përdoren për të kryer detyra specifike (vetë-konfigurim, shtimi i nyjeve të reja, marrja e çelësave globalë për enkriptimin e të dhënave). Për shkak se nyjet në një rrjet peer-to-peer nuk mund të mbështeten në një server qendror për të koordinuar ndarjen e përmbajtjes dhe operacionet në të gjithë rrjetin, atyre u kërkohet që në mënyrë të pavarur dhe të njëanshme të marrin një rol aktiv në kryerjen e detyrave të tilla si kërkimi i nyjeve të tjera, lokalizimi ose ruajtja e përmbajtjes në memorie, dhe rutimi i informacionit dhe mesazheve, lidhja me nyjet fqinje dhe përfundimi i saj, enkriptimi dhe verifikimi i përmbajtjes, etj.
  • aftësia për të pranuar paqëndrueshmërinë dhe paqëndrueshmërinë e lidhjeve si normë, duke u përshtatur automatikisht me prishjet e tyre dhe dështimet e kompjuterit, si dhe me një numër të ndryshueshëm nyjesh.

Bazuar në këto kërkesa, një numër ekspertësh propozojnë përkufizimin e mëposhtëm (stili i tij të kujton disi një patentë, por nëse përpiqesh ta thjeshtosh atë, do të dalë më keq): Një rrjet P2P është një sistem i shpërndarë që përmban nyje të ndërlidhura të aftë për t'u vetëorganizuar në një topologji rrjeti për të ndarë burime të tilla si përmbajtja, ciklet e procesorit, pajisjet e ruajtjes dhe gjerësia e brezit, duke u përshtatur me dështimet dhe një numër të ndryshueshëm nyjesh, duke ruajtur një nivel të pranueshëm të lidhjes dhe performancës pa nevojën e ndërmjetësve ose mbështetjen e një serveri qendror global.

Këtu është koha për të folur për veçoritë e llogaritjes në sistemet e rrjetit dhe P2P. Të dyja përfaqësojnë dy qasje për llogaritjen e shpërndarë duke përdorur burime të përbashkëta në një komunitet informatikë në shkallë të gjerë.

Rrjetet kompjuterike janë sisteme të shpërndara që sigurojnë përdorim të koordinuar në shkallë të gjerë dhe ndarje të burimeve të shpërndara gjeografikisht, bazuar në infrastrukturat e shërbimit të përhershëm, të standardizuar dhe të dizajnuara kryesisht për informatikë me performancë të lartë. Ndërsa këto sisteme zgjerohen, ato fillojnë të kërkojnë zgjidhje për problemet e vetë-konfigurimit dhe tolerancës së gabimeve. Nga ana tjetër, sistemet P2P fillimisht përqendrohen në paqëndrueshmëri, një numër të ndryshueshëm nyjesh në rrjet, tolerancën e gabimeve dhe vetë-përshtatjen. Deri më sot, zhvilluesit e P2P kanë krijuar kryesisht aplikacione të integruara vertikalisht dhe nuk janë shqetësuar të përcaktojnë protokolle të përbashkëta dhe korniza të standardizuara për ndërveprim.

Megjithatë, ndërsa teknologjia P2P maturohet dhe përdoren aplikacione më komplekse si shpërndarja e strukturuar e përmbajtjes, bashkëpunimi me PC dhe llogaritja e rrjetit, pritet konvergjenca e P2P dhe llogaritjes së rrjetit.

Klasifikimi i aplikacioneve P2P

Arkitekturat P2P janë përdorur për shumë aplikacione të kategorive të ndryshme. Këtu është një përshkrim i shkurtër i disa prej tyre.

Komunikimi dhe bashkëpunimi. Kjo kategori përfshin sisteme që ofrojnë një infrastrukturë për komunikim dhe bashkëpunim të drejtpërdrejtë, zakonisht në kohë reale, ndërmjet kompjuterëve kolegë. Shembujt përfshijnë bisedën dhe mesazhet e çastit.

Informatikë e shpërndarë. Qëllimi i këtyre sistemeve është të bashkojnë fuqinë llogaritëse të kolegëve për të zgjidhur probleme intensive llogaritëse. Për ta bërë këtë, detyra ndahet në një numër nën-detyrash të vogla, të cilat shpërndahen nëpër nyje të ndryshme. Rezultati i punës së tyre më pas i kthehet pritësit. Shembuj të sistemeve të tilla janë projektet SETI@home, genome@home dhe disa të tjera.

Sistemet e bazave të të dhënave. Përpjekje të konsiderueshme janë shpenzuar në zhvillimin e bazave të të dhënave të shpërndara bazuar në infrastrukturën P2P. Në veçanti, është propozuar një Model Relacional Lokal, i cili supozon se grupi i të gjitha të dhënave të ruajtura në një rrjet P2P përbëhet nga baza të dhënash relacionale lokale të papajtueshme (d.m.th., ato që nuk plotësojnë kufizimet e specifikuara të integritetit), të ndërlidhura duke përdorur "ndërmjetës". të përcaktojë rregullat e përkthimit dhe varësitë semantike ndërmjet tyre.

Shpërndarja e përmbajtjes. Shumica e rrjeteve moderne P2P bëjnë pjesë në këtë kategori, duke përfshirë sisteme dhe infrastruktura të krijuara për të ndarë informacionin audiovizual dixhital dhe të dhëna të tjera midis përdoruesve. Këto sisteme të shpërndarjes së përmbajtjes variojnë nga aplikacione relativisht të thjeshta për ndarjen e drejtpërdrejtë të skedarëve dhe shtrihen në ato më komplekse që krijojnë mjedise të ruajtjes së shpërndarë që ofrojnë organizim të sigurt dhe efikas, indeksim, kërkim, përditësim dhe rikthim të të dhënave. Shembujt përfshijnë rrjetin e vonë Napster, Gnutella, Kazaa, Freenet dhe Groove. Në vijim, ne do të fokusohemi në këtë klasë të rrjeteve.

Shpërndarja e përmbajtjes në rrjetet P2P

Në rastin më tipik, sisteme të tilla ofrojnë një mjedis ruajtjeje të shpërndarë në të cilin skedarët mund të publikohen, kërkohen dhe të merren nga përdoruesit e atij rrjeti. Ndërsa kompleksiteti rritet, ai mund të prezantojë veçori jofunksionale si siguria, anonimiteti, drejtësia, shkallëzueshmëria, menaxhimi i burimeve dhe aftësitë organizative. Teknologjitë moderne P2P mund të klasifikohen si më poshtë.

Aplikacionet P2P. Kjo kategori përfshin sistemet e shpërndarjes së përmbajtjes bazuar në teknologjinë P2P. Në varësi të qëllimit dhe kompleksitetit të tyre, është e përshtatshme t'i ndajmë në dy nëngrupe:

  • sistemet e ndarjes së skedarëve, i destinuar për shkëmbim të thjeshtë një herë midis kompjuterëve. Sisteme të tilla krijojnë një rrjet kolegësh dhe ofrojnë një mjet për kërkimin dhe transferimin e skedarëve ndërmjet tyre. Në mënyrë tipike këto janë aplikacione QoS të lehta, me përpjekje më të mirë, pa shqetësime për sigurinë, disponueshmërinë ose mbijetesën;
  • sistemet për publikimin dhe ruajtjen e përmbajtjes. Sisteme të tilla ofrojnë një mjedis ruajtjeje të shpërndarë në të cilin përdoruesit mund të publikojnë, ruajnë dhe shpërndajnë përmbajtje duke ruajtur sigurinë dhe besueshmërinë. Qasja në një përmbajtje të tillë kontrollohet dhe nyjet duhet të kenë privilegje të përshtatshme për ta marrë atë. Objektivat kryesore të sistemeve të tilla janë të sigurojnë sigurinë e të dhënave dhe mbijetesën e rrjetit, dhe shpesh qëllimi i tyre kryesor është krijimi i mjeteve për identifikimin, anonimitetin dhe menaxhimin e përmbajtjes (përditësim, fshirje, kontroll versioni).
  • përcaktimi dhe drejtimi i adresës.Çdo sistem i shpërndarjes së përmbajtjes P2P mbështetet në një rrjet peer-to-peer, brenda të cilit nyjet dhe përmbajtja duhet të lokalizohen në mënyrë efikase, kërkesat dhe përgjigjet të drejtohen, duke siguruar njëkohësisht tolerancë ndaj gabimeve. Korniza dhe algoritme të ndryshme janë zhvilluar për të përmbushur këto kërkesa;
  • duke siguruar anonimitetin. Sistemet e infrastrukturës të bazuara në P2P duhet të dizajnohen për të siguruar anonimitetin e përdoruesit;
  • menaxhimin e reputacionit. Rrjeteve P2P u mungon një autoritet qendror për të menaxhuar informacionin e reputacionit në lidhje me përdoruesit dhe sjelljen e tyre. Prandaj, ai ndodhet në shumë nyje të ndryshme. Për të siguruar që ai është i sigurt, i përditësuar dhe i disponueshëm në të gjithë rrjetin, duhet të krijohet një infrastrukturë e sofistikuar e menaxhimit të reputacionit.

Lokalizimi dhe drejtimi i objekteve të shpërndara në rrjetet P2P

Funksionimi i çdo sistemi të shpërndarjes së përmbajtjes P2P mbështetet në nyjet dhe lidhjet ndërmjet tyre. Ky rrjet është formuar në krye dhe në mënyrë të pavarur nga baza (zakonisht IP) dhe për këtë arsye shpesh quhet një mbivendosje. Topologjia, struktura, shkalla e centralizimit të rrjetit të mbivendosjes, mekanizmat e lokalizimit dhe të rrugëzimit që ai përdor për të transportuar mesazhe dhe përmbajtje janë kritike për funksionimin e sistemit, pasi ato ndikojnë në tolerancën e gabimeve, performancën, shkallëzueshmërinë dhe sigurinë e tij. Rrjetet e mbivendosjes ndryshojnë në shkallën e tyre të centralizimit dhe strukturës.

Centralizimi. Megjithëse përkufizimi më i rreptë supozon se rrjetet e mbivendosjes janë plotësisht të decentralizuara, në praktikë kjo nuk respektohet gjithmonë dhe gjenden sisteme me shkallë të ndryshme të centralizimit. Në veçanti, ekzistojnë tre kategori:

  • arkitektura plotësisht të decentralizuara. Të gjitha nyjet në rrjet kryejnë të njëjtat detyra, duke vepruar si serverë dhe klientë, dhe nuk ka asnjë qendër që koordinon aktivitetet e tyre;
  • arkitektura pjesërisht të centralizuara. Baza këtu është e njëjtë si në rastin e mëparshëm, por disa nga nyjet luajnë një rol më të rëndësishëm, duke vepruar si indekse qendrore lokale për skedarët e ndarë nga nyjet lokale. Mënyra se si supernyjave të tilla u caktohet roli i tyre në rrjet ndryshon midis sistemeve. Megjithatë, është e rëndësishme të theksohet se këto supernyje nuk janë një pikë e vetme dështimi për rrjetin P2P, pasi ato caktohen në mënyrë dinamike dhe në rast dështimi, rrjeti i transferon automatikisht funksionet e tyre në nyje të tjera;
  • arkitektura hibride të decentralizuara. Sisteme të tilla kanë një server qendror që lehtëson komunikimin midis nyjeve duke menaxhuar një direktori metadata që përshkruan skedarët e përbashkët të ruajtur në to. Megjithëse komunikimi dhe shkëmbimi nga fundi në fund mund të ndodhë drejtpërdrejt ndërmjet dy nyjeve, serverët qendrorë e lehtësojnë këtë proces duke parë dhe identifikuar nyjet që ruajnë skedarët.

Natyrisht, në këto arkitektura ekziston një pikë e vetme dështimi - serveri qendror.

Struktura e rrjetit karakterizon nëse rrjeti i mbivendosjes krijohet në mënyrë jo-përcaktuese (ad hoc), pasi shtohen nyjet dhe përmbajtjet, ose bazuar në rregulla të veçanta. Për sa i përket strukturës, rrjetet P2P ndahen në dy kategori:

  • të pastrukturuara. Vendosja e përmbajtjes (skedarëve) në to nuk ka të bëjë me topologjinë e rrjetit të mbivendosjes në rastet tipike ajo duhet të lokalizohet. Mekanizmat e kërkimit variojnë nga metodat e forcës brutale, të tilla si përmbytja e pyetjeve në një mënyrë të parë në gjerësi ose në thellësi derisa të gjendet përmbajtja e dëshiruar, deri te strategjitë më të sofistikuara që përfshijnë përdorimin e metodës së ecjes rastësore dhe rrugët e indeksimit. Mekanizmat e kërkimit të përdorur në rrjetet e pastrukturuara kanë implikime të dukshme për disponueshmërinë, shkallëzueshmërinë dhe besueshmërinë.

Sistemet e pastrukturuara janë më të përshtatshme për rrjetet me një numër të ndryshueshëm nyjesh. Shembuj janë Napster, Gnutella, Kazaa, Edutella dhe disa të tjerë;

  • strukturuar. Shfaqja e rrjeteve të tilla u shoqërua kryesisht me përpjekjet për të zgjidhur problemet e shkallëzueshmërisë me të cilat u përballën fillimisht sistemet e pastrukturuara. Në rrjetet e strukturuara, topologjia e mbivendosjes kontrollohet rreptësisht dhe skedarët (ose treguesit për to) vendosen në vende të përcaktuara rreptësisht. Këto sisteme sigurojnë në thelb një hartë midis përmbajtjes (të themi një ID skedari) dhe vendndodhjes së saj (të themi një adresë nyje) në formën e një tabele të shpërndarë rrugësh në mënyrë që kërkesat të mund të drejtohen në mënyrë efikase në nyjen me përmbajtjen që kërkohet.

Sistemet e strukturuara (përfshirë Chord, CAN (Content Addressable Network), Tapestry dhe një sërë të tjerash) ofrojnë zgjidhje të shkallëzueshme për kërkime ekzakte të përputhjes, d.m.th. për pyetje në të cilat dihet identifikuesi i saktë i të dhënave të dëshiruara. Disavantazhi i tyre është kompleksiteti i menaxhimit të strukturës që kërkohet për të drejtuar në mënyrë efikase mesazhet në një mjedis me një numër të ndryshueshëm nyjesh.

Rrjetet që zënë një pozicion të ndërmjetëm midis të strukturuar dhe të pastrukturuar quhen të strukturuara dobët. Megjithëse ato nuk tregojnë plotësisht lokalizimin e përmbajtjes, ato megjithatë kontribuojnë në kërkimin e rrugës (një shembull tipik i një rrjeti të tillë është Freenet).

Tani do të diskutojmë rrjetet e mbivendosjes në mënyrë më të detajuar për sa i përket strukturës dhe shkallës së centralizimit të tyre.

Arkitekturat e pastrukturuara

Le të fillojmë me arkitektura plotësisht të decentralizuara(shih përkufizimin më lart). Përfaqësuesi më interesant i rrjeteve të tilla është Gnutella. Ashtu si shumica e sistemeve P2P, ai ndërton një rrjet mbivendosjeje virtuale me mekanizmin e vet të rrugëtimit, duke i lejuar përdoruesit e tij të ndajnë skedarë. Rrjetit i mungon ndonjë koordinim qendror i operacioneve dhe nyjet lidhen me njëri-tjetrin drejtpërdrejt duke përdorur softuer që funksionon edhe si klient edhe si server (përdoruesit e tij quhen shërbime - nga SERVER + klientë).

Gnutella përdor IP si protokollin e saj bazë të rrjetit, ndërsa komunikimet ndërmjet nyjeve përcaktohen nga një protokoll i shtresës së aplikacionit që mbështet katër lloje mesazhesh:

  • Ping- një kërkesë për një host të caktuar për të shpallur veten;
  • Pong- përgjigje ndaj një mesazhi Ping që përmban adresën IP, portin e hostit të kërkuar, si dhe numrin dhe madhësinë e skedarëve të përbashkët;
  • Pyetje- pyetje kërkimi. Ai përfshin një varg kërkimi dhe kërkesat minimale të shpejtësisë për hostin që përgjigjet;
  • Hitet e pyetjeve- përgjigje ndaj një kërkese Pyetje, përfshin adresën IP, portin dhe shpejtësinë e transmetimit të hostit që përgjigjet, numrin e skedarëve të gjetur dhe një grup indeksesh të tyre.

Pas bashkimit me rrjetin Gnutella (duke komunikuar me hostet që gjenden në bazat e të dhënave si gnutellahosts.com), hosti dërgon një mesazh Ping tek disa hoste të lidhur me të. Ata përgjigjen me një mesazh Pong, duke identifikuar veten dhe për të dërguar një mesazh Ping për fqinjët tuaj.

Në një sistem të pastrukturuar si Gnutella, e vetmja mënyrë për të lokalizuar një skedar ishte përmes një kërkimi jo-përcaktues, pasi nyjet nuk kishin asnjë mënyrë për të gjetur se ku ishte.

Arkitektura Gnutella fillimisht përdori një mekanizëm përmbytjeje (ose transmetimi) për të shpërndarë kërkesat Ping Dhe Pyetje: Çdo nyje përcjell mesazhet e marra te të gjithë fqinjët e saj dhe përgjigjet ndoqën rrugën e kundërt. Për të kufizuar rrjedhën e mesazheve në rrjet, të gjitha ato përmbanin një fushë Time-to-Live (TTL) në kokë. Në nyjet e tranzitit, vlera e kësaj fushe u ul dhe kur arriti vlerën 0, mesazhi u fshi.

Mekanizmi i përshkruar u zbatua duke caktuar ID unike për mesazhet dhe duke pasur tabela dinamike të rrugëtimit me ID të mesazheve dhe adresat e nyjeve në host. Kur përgjigjet përmbajnë të njëjtin ID si mesazhet dalëse, hosti konsultohet me tabelën e rrugëtimit për të përcaktuar se në cilin kanal do të drejtojë përgjigjen për të thyer ciklin.

Oriz. 1. Shembull i një mekanizmi kërkimi në një sistem të pastrukturuar

Nëse një nyje merr një mesazh Query Hit, që tregon se skedari që kërkoni është në një kompjuter specifik, ai fillon shkarkimin përmes një lidhjeje të drejtpërdrejtë midis dy nyjeve. Mekanizmi i kërkimit është paraqitur në Fig. 1.

Sisteme pjesërisht të centralizuara janë në shumë mënyra të ngjashme me ato plotësisht të decentralizuara, por ata përdorin konceptin e supernyjeve - kompjuterë të cilëve u është caktuar në mënyrë dinamike detyra për të shërbyer një pjesë të vogël të rrjetit të mbivendosjes duke indeksuar dhe ruajtur skedarët në memorie të fshehtë. Ato zgjidhen automatikisht bazuar në fuqinë e tyre përpunuese dhe gjerësinë e brezit.

Supernyjet indeksojnë skedarët e ndarë nga nyjet e lidhura me to dhe, si serverë proxy, kryejnë kërkime në emër të tyre. Prandaj, të gjitha kërkesat fillimisht drejtohen në supernyje.

Sistemet pjesërisht të centralizuara kanë dy përparësi:

  • kohë e reduktuar e kërkimit në krahasim me sistemet e mëparshme në mungesë të një pike të vetme dështimi;
  • përdorimi efektiv i heterogjenitetit të qenësishëm të rrjeteve P2P. Në sistemet plotësisht të decentralizuara, të gjitha nyjet ngarkohen në mënyrë të barabartë, pavarësisht nga fuqia e tyre përpunuese, gjerësia e brezit të kanalit ose aftësitë e ruajtjes. Në sistemet pjesërisht të centralizuara, supernyjet marrin pjesën më të madhe të ngarkesës së rrjetit.

Një sistem pjesërisht i centralizuar është rrjeti Kazaa.

Oriz. Figura 2 ilustron një shembull të një arkitekture tipike P2P me decentralizimi hibrid.Çdo kompjuter klient ruan skedarë që ndahen me pjesën tjetër të rrjetit të mbivendosjes. Të gjithë klientët janë të lidhur me një server qendror, i cili menaxhon tabelat e të dhënave për përdoruesit e regjistruar (adresa IP, gjerësia e brezit, etj.) dhe listat e skedarëve në pronësi të secilit përdorues dhe të ndarë në rrjet së bashku me metadatat e skedarëve (për shembull, emri, koha krijimi, etj.).

Një kompjuter që dëshiron të bashkohet me komunitetin lidhet me serverin qendror dhe i tregon atij për skedarët që përmban. Nyjet e klientit dërgojnë kërkesa në lidhje me to në server. Kërkon tabelën e indeksit dhe kthen një listë të përdoruesve që i kanë ato.

Avantazhi i sistemeve hibride të decentralizuara është se ato janë të thjeshta për t'u zbatuar dhe marrja e skedarëve është e shpejtë dhe efikase. Disavantazhet kryesore përfshijnë cenueshmërinë ndaj kontrollit, censurën dhe veprimet ligjore, sulmet dhe dështimet teknike, pasi përmbajtja e përbashkët, ose të paktën përshkrimi i saj, kontrollohet nga një organizatë, kompani ose përdorues i vetëm. Për më tepër, një sistem i tillë nuk shkallëzohet mirë, pasi aftësitë e tij janë të kufizuara nga madhësia e bazës së të dhënave të serverit dhe aftësia e tij për t'iu përgjigjur pyetjeve. Një shembull në këtë rast do të ishte Napster.

Arkitekturat e Strukturuara

Një shumëllojshmëri sistemesh të strukturuara të shpërndarjes së përmbajtjes përdorin mekanizma të ndryshëm për të drejtuar mesazhet dhe për të lokalizuar të dhënat. Ne do të përqendrohemi në përdoruesit më të njohur për përdoruesit ukrainas - Freenet.

Ky rrjet mbivendosës është një nga ato me strukturim të dobët. Le të kujtojmë se karakteristika e tyre kryesore është aftësia e nyjeve për të përcaktuar (jo në qendër!) se ku ruhet më shumë kjo ose ajo përmbajtje bazuar në tabelat e kursit, të cilat tregojnë korrespondencën midis përmbajtjes (identifikuesit të skedarit) dhe lokalizimit të tij ( adresa e nyjës). Kjo u jep atyre mundësinë për të shmangur kërkesat e transmetimit verbërisht. Në vend të kësaj, përdoret një metodë zinxhirore, në të cilën secila nyje merr një vendim lokal se ku ta përcjellë mesazhin më pas.

Freenet është një shembull tipik i një sistemi plotësisht të decentralizuar, gjysmë të strukturuar të shpërndarjes së përmbajtjes. Ai funksionon si një rrjet vetë-organizues peer-to-peer, duke bashkuar hapësirën e papërdorur të diskut në kompjuterë për të krijuar një sistem skedarësh virtual të përbashkët.

Skedarët në Freenet identifikohen duke përdorur çelësa binar unik. Mbështeten tre lloje çelësash, më i thjeshti prej të cilëve bazohet në aplikimin e një funksioni hash në një varg teksti të shkurtër përshkrues që shoqëron çdo skedar të ruajtur në internet nga pronari i tij.

Çdo nyje Freenet menaxhon ruajtjen e saj lokale të të dhënave, duke e bërë atë të lexueshme dhe të shkruhet nga të tjerët, si dhe një tabelë dinamike të rrugëtimit që përmban adresat e nyjeve të tjera dhe skedarët që ato ruajnë. Për të gjetur një skedar, përdoruesi dërgon një kërkesë që përmban çelësin dhe një vlerë indirekte të jetëgjatësisë së shprehur në termat e numrit maksimal të lejuar të hops-to-live.

Freenet përdor llojet e mëposhtme të mesazheve, secila duke përfshirë një ID nyje (për zbulimin e ciklit), një vlerë hops-to-live dhe ID-të e burimit dhe destinacionit:

  • Futja e të dhënave- një nyje që vendos të dhëna të reja në rrjet (mesazhi përmban çelësin dhe të dhënat (skedarin));
  • Kërkesa për të dhëna- kërkesë për një skedar specifik (përfshin një çelës);
  • Përgjigja e të dhënave- përgjigje kur të gjendet skedari (skedari përfshihet në mesazh);
  • Të dhënat dështuan- gabim në kërkimin e një skedari (tregohet nyja dhe shkaku i gabimit).

Për t'u bashkuar me Freenet, kompjuterët fillimisht përcaktojnë adresën e një ose më shumë nyjeve ekzistuese dhe më pas dërgojnë mesazhe Futja e të dhënave.

Për të vendosur një skedar të ri në rrjet, një nyje fillimisht llogarit çelësin e saj binar dhe dërgon një mesazh Futja e të dhënave ndaj vetes. Çdo nyje që merr një mesazh të tillë fillimisht kontrollon nëse çelësi është tashmë në përdorim. Nëse jo, ai kërkon më të afërtin (përsa i përket distancës leksikografike) në tabelën e tij të rrugëtimit dhe e drejton mesazhin (me të dhëna) në nyjen përkatëse. Duke përdorur mekanizmin e përshkruar, skedarët e rinj vendosen në nyje që tashmë zotërojnë skedarë me çelësa të ngjashëm.

Kjo vazhdon derisa të arrihet kufiri hops-to-live. Në këtë mënyrë, skedari i shpërndarë do të vendoset në më shumë se një nyje. Në të njëjtën kohë, të gjitha nyjet e përfshira në proces do të përditësojnë tabelat e tyre të rrugëtimit - ky është mekanizmi me të cilin nyjet e reja reklamojnë praninë e tyre në rrjet. Nëse kufiri hops-to-live arrihet pa një përplasje të vlerës së çelësit, një mesazh "të gjitha të sakta" do t'i dërgohet burimit, duke e informuar atë se skedari është vendosur me sukses në rrjet. Nëse çelësi është tashmë në përdorim, nyja kthen skedarin ekzistues sikur të ishte ai i kërkuar. Kështu, një përpjekje për të mashtruar skedarët do të çojë në shpërndarjen e tyre të mëtejshme.

Kur një nyje merr një kërkesë për një skedar të ruajtur në të, kërkimi ndalon dhe të dhënat i dërgohen iniciatorit të saj. Nëse skedari i kërkuar nuk ekziston, nyja ia kalon kërkesën një fqinji në të cilin ka të ngjarë të gjendet. Adresa kërkohet në tabelën e rrugëzimit duke përdorur çelësin më të afërt, etj. Vini re se këtu është një algoritëm i thjeshtuar kërkimi që jep vetëm një pamje të përgjithshme të funksionimit të rrjetit Freenet.

Këtu ndoshta do të përfundojmë rishikimin tonë shumë të shkurtër të teknologjive P2P dhe do të prekim temën e përdorimit të tyre në biznes. Është e lehtë të theksohen një sërë avantazhesh të arkitekturës P2P mbi arkitekturën klient-server, të cilat do të jenë të kërkuara në mjedisin e biznesit:

  • besueshmëri dhe disponueshmëri e lartë e aplikacioneve në sistemet e decentralizuara, e cila shpjegohet me mungesën e një pike të vetme dështimi dhe natyrën e shpërndarë të ruajtjes së informacionit;
  • shfrytëzimi më i mirë i burimeve, qoftë gjerësia e brezit të komunikimit, ciklet e procesorit apo hapësira e diskut. Dyfishimi i informacionit të punës gjithashtu redukton ndjeshëm (por nuk e eliminon plotësisht) nevojën për kopje rezervë;
  • thjeshtësia e vendosjes së sistemit dhe lehtësia e përdorimit për shkak të faktit se të njëjtat module softuerike kryejnë si funksionet e klientit ashtu edhe të serverit - veçanërisht kur bëhet fjalë për të punuar në një rrjet lokal.

Potenciali i rrjeteve P2P ishte aq i madh sa Hewlett-Packard, IBM dhe Intel iniciuan krijimin e një grupi pune për standardizimin e teknologjisë për përdorim komercial. Versioni i ri i Microsoft Windows Vista do të ketë mjete të integruara bashkëpunimi, duke lejuar laptopët të ndajnë të dhënat me fqinjët e tyre më të afërt.

Përkrahësit e hershëm të teknologjisë, si gjigandi i hapësirës ajrore Boeing, kompania e naftës Amerada Hess dhe vetë Intel, thonë se përdorimi i saj redukton nevojën për të blerë sisteme kompjuterike të nivelit të lartë, duke përfshirë mainframe. Sistemet P2P gjithashtu mund të lehtësojnë kërkesat e gjerësisë së brezit të rrjetit, gjë që është e rëndësishme për kompanitë që kanë probleme me këtë.

Intel filloi të përdorte teknologjinë P2P në 1990 në një përpjekje për të ulur kostot e zhvillimit të çipit. Kompania krijoi sistemin e saj, të quajtur NetBatch, i cili lidh më shumë se 10 mijë kompjuterë, duke u dhënë inxhinierëve akses në burimet kompjuterike të shpërndara globalisht.

Boeing përdor llogaritjen e shpërndarë për të kryer teste testuese me burime intensive. Kompania përdor një model rrjeti të ngjashëm me Napster, në të cilin serverët drejtojnë trafikun në nyjet e caktuara. "Nuk ka asnjë kompjuter të vetëm që plotëson kërkesat tona," thotë Ken Neves, drejtor i divizionit të kërkimit.

Potenciali i teknologjive P2P ka tërhequr gjithashtu vëmendjen e kapitalit sipërmarrës. Kështu, Softbank Venture Capital investoi 13 milionë dollarë në United Device, një kompani që zhvillon teknologji për tre tregje: informatikë për industrinë e bioteknologjisë, cilësinë e shërbimit (QoS) dhe testet e ngarkesës për faqet e internetit, si dhe indeksimin e përmbajtjes bazuar në metodën e kërkimit të krimbave. , të përdorura nga një numër makinash në internet.

Në çdo rast, pesë fusha të aplikimit të suksesshëm të rrjeteve P2P janë tashmë të dukshme sot. Këto përfshijnë ndarjen e skedarëve, ndarjen e aplikacioneve, integritetin e sistemit, llogaritjen e shpërndarë dhe ndërveprimin e pajisjes. Nuk ka dyshim se së shpejti do të ketë edhe më shumë.

Rrjeti Peer to Peer është një nga metodat më të zakonshme të ndërveprimit të rrjetit me shpejtësi të lartë, i ndërtuar në krye të një rrjeti kompjuterik të nivelit të ulët. Parimi bazë i funksionimit të Peer to Peer (P2P) - barazi absolute midis të gjithë përdoruesve. Si rregull, në një rrjet peer-to-peer (peer-to-peer), çdo dallim midis serverit kryesor dhe kompjuterit të klientit përjashtohet, dhe secila nyje rrjeti është e angazhuar në zgjidhjen e problemeve të serverit dhe përdoruesit.

Rrjetet peer-to-peer janë bërë të njohura relativisht kohët e fundit. Dhjetë vjet më parë, rrjetet me një arkitekturë klient-server ishin absolutisht të njohura. Peer to Peer (P2P) arriti të zëvendësojë paraardhësin e tij për shkak të pranisë së një numri avantazhesh:

  • anonimiteti - të dhënat e përdoruesve të përfshirë në rrjet ruhen pa përfshirjen e palëve të treta;
  • stabilitet - rrjeti vazhdon të funksionojë edhe nëse shumica e nyjeve shkojnë jashtë linje në të njëjtën kohë;
  • shkallëzueshmëria - xhiroja e rrjetit është konstante dhe krijimi i të ashtuquajturit "blloqe" në pikat individuale eliminohet, pasi shkëmbimi i të dhënave mund të ndodhë drejtpërdrejt midis nyjeve ekstreme.

Ku përdoret Peer to Peer (P2P)?

Zona klasike e aplikimit të rrjetit Peer-to-Peer peer-to-peer janë shërbimet e decentralizuara të ndarjes së skedarëve, për shembull, protokolli i mirënjohur BitTorrent. Për të ruajtur funksionimin e qëndrueshëm të burimit, si dhe për të siguruar shpejtësinë maksimale, zhvilluesit përdorin një rrjet P2P peer-to-peer, i cili ofron shkallëzueshmërinë më të mirë, gjë që është jashtëzakonisht e rëndësishme kur shkëmbeni skedarë të mëdhenj.

Burimet moderne, të famshme për nivelin e tyre të lartë të anonimitetit dhe sigurisë së përdoruesit, zakonisht përdorin rrjete peer-to-peer. Megjithatë, shërbimet si i njëjti "Thor" më shpesh shkaktojnë shqetësim, pasi ato janë një platformë ideale për kryerjen e transaksioneve të paligjshme, shitjen e substancave të ndaluara, armëve, etj. Sot, ky shfletues përdoret nga mbi dy milionë njerëz dhe specialistë që ata e quajnë atë. Ethernet i zi (Interneti i zi).

Rrjetet peer-to-peer përdorin platforma të kriptomonedhave, duke përfshirë Bitcoin. Ishte zhvilluesi i saj, Satoshi Nakamoto, i cili arriti të zgjidhë problemin kryesor - duke eliminuar mundësinë e ripërdorimit të të njëjtave mjete. Për këtë qëllim, u krijua një arkitekturë unike blockchain, duke punuar në parimin Proof-Of-Work (prova e punës së kryer). Përkundër faktit se sot ka një numër kolosal forks, Bitcoin mbetet monedha më e njohur e kriptove.

Disavantazhet e Peer to Peer (P2P)


Për të vendosur platformën tuaj në një rrjet P2P peer-to-peer, ju duhet të keni një sasi kolosale njohurish, pasi do t'ju duhet të mendoni në mënyrë të pavarur përmes mënyrave për të garantuar sigurinë. Në një rrjet "të papërpunuar" peer-to-peer (pa shërbime të centralizuara), çdo përdorues është një dhunues i mundshëm. Në këtë rast, nuk mund t'i besoni askujt. Për çdo zhvillues që ka zgjedhur një rrjet P2P peer-to-peer, sigurimi i sigurisë nuk është një detyrë e lehtë, sepse problemet fillojnë që në fazën e parë - duke krijuar kushte ideale të vërtetimit.

Teorikisht, kjo është e pamundur, pasi një rrjet i rreptë P2P peer-to-peer nuk është në asnjë mënyrë i lidhur me një autoritet global certifikimi. Dhe pa përfshirjen e palëve të treta që kanë një bazë të dhënash të gjerë dhe ofrojnë mundësinë e lidhjes së kontratave paraprake, është joreale të zbatohet vërtetimi i besueshëm në sistem.

Një problem tjetër jashtëzakonisht serioz që lidhet me sigurinë e rrjeteve peer-to-peer është cenueshmëria ndaj një sulmi hakeri të quajtur Sybil. Ajo kryhet duke futur nyje të huaja në rrjet që kanë një identifikues unik. Sulmi në vetvete nuk paraqet ndonjë kërcënim për rrjetin peer-to-peer, por është një mjet ndihmës për kryerjen e një sërë veprimesh që rrezikojnë sigurinë e platformës që punon me P2P.

Rëndësia e Peer to Peer (P2P)

Sipas statistikave zyrtare të bazuara në të dhënat nga ofruesit e shërbimeve të internetit, rrjetet peer-to-peer përbëjnë rreth 75% të trafikut në mbarë botën. Megjithatë, pavarësisht besimit të madh të zhvilluesve, rrjetet peer-to-peer nuk mund të konsiderohen të përsosura. Përveç problemeve të mësipërme të sigurisë, P2P është gjithashtu i ndjeshëm ndaj të ashtuquajturave sulme të kohës bazuar në korrelacion. Përkundër faktit se kryerja e sulmeve të tilla hakeri kërkon përfshirjen e një fuqie të madhe, zbatimi i tyre është mjaft realist, për shembull, për përfaqësuesit e shërbimeve të inteligjencës.

Qëndroni të përditësuar me të gjitha ngjarjet e rëndësishme të United Traders - regjistrohuni në faqen tonë