Rețele de tip peer-to-peer

Cu toții împărtășim cu toții informații cu oamenii din jurul nostru. În cazul în care suntem de partajare de fișiere cu tipuri de eMule de programe (EMUL), edonkey (eDonki), și altele asemenea, acest tip de partajare este conjugat cu activitatea unei mașini imens, principiile care, originile sale și ideile pe care este construit, de multe ori am ne imaginam destul de slab.

Nevoia de a avea acces la o cantitate imensă de informații situate pe alte computere a generat mai întâi rețele locale. Acest lucru a ajutat ceva timp, dar a fost imposibil să se unească atât de multe calculatoare. Posibilitatea accesului la fișiere, posibil disponibilă pentru altcineva, a fost foarte tentantă. Prin urmare, a fost propus un sistem care permite să primească și să transfere fișiere de pe fiecare calculator cu care există o legătură și pe care există un anumit software. Astfel de sisteme sunt numite rețele p2p (p2p) sau peer-to-peer. Această frază poate fi tradusă drept "schimb echitabil". Aceasta înseamnă că, având unele fișiere care ar putea fi de interes pentru altcineva, le permiteți celor care doresc să le copieze și, în schimb, veți avea ocazia să obțineți fișierele de care aveți nevoie de la cei care le au.

Deoarece acum Internetul devine din ce în ce mai mult de popularitate, utilizarea de peer-to-peer este urgentă cu fiecare zi care trece. Într-adevăr, până în prezent locația fișierului (filmul preferat, un nou program pentru său „prieten electronic“, a lansat doar o stea favorit cântec, o carte și doar orice sunteți interesat în fișierul) este mult mai ușor dacă știi ce o rețea de la egal la egal, și știi cum să le folosiți.

Capitolul 1. Rețelele peer-to-peer

1.1. Concept general

Una dintre principalele dificultăți în implementarea unui astfel de schimb a fost că a fost necesar să găsiți cumva aceia care au ceea ce aveți nevoie. Există două modalități principale de a rezolva această problemă: servere centralizate și distribuite. În cazul în care lucrați cu un server centralizat, fiecare utilizator trebuie să se înregistreze pe acest server, care va colecta informații despre utilizator (fișierele disponibile pentru schimb, ID-ul utilizatorului etc.) și apoi introduceți aceste informații în baza sa de date, care va fi continuați să căutați. Toate fișierele solicitate de utilizator vor fi căutate în baza de date a serverului central și legăturile găsite vor fi trimise utilizatorului pentru stabilirea unei comunicări directe cu computerul pe care există informațiile necesare. Pe acest principiu funcționează popularul KaZaa și alte aplicații peer-to-peer. Metoda descrisă de schimb de fișiere utilizând unul sau mai multe servere centrale se bazează pe așa-numitul protocol FastTrack, care este comercial, care afectează negativ dezvoltarea aplicațiilor care o utilizează.

Atunci când serverul central nu există, se utilizează protocolul Gnutella, care transmite cererea utilizatorului către serverul central în loc de celelalte computere din rețea. Utilizatorul este atât un client cât și un server de rețea peer-to-peer. Astfel de sisteme sunt mai puțin exigente pentru a primi și înregistra noi membri și se caracterizează prin viteza enormă a distribuției interogărilor. Numărul surselor intervievate crește exponențial. Un exemplu de aplicație care utilizează această abordare este Morpheus.

După închiderea lui Napster, aplicațiile peer-to-peer au început să apară cu o viteză monstruoasă și până acum sunt destul de puține. Periodic, unii mor, alții se naște și se reînnoiesc. Una dintre cele mai renumite din lume este Kaza, iar în runet - soiuri de eMule (eMule) și eDonkey (eDonkey).

De fapt, măgarul și catârul, așa cum sunt numite de către cei care le folosesc, sunt în unele sisteme intermediare de sens între sistemele distribuite și centralizate: există un server central care procesează cererile utilizatorului (și mulovodov oslo-, respectiv), dar există o mulțime de servere , care, pe de o parte, nu le supraîncărcă, dar pe de altă parte complică căutarea într-o anumită măsură, deoarece actualizarea și preluarea informațiilor de la alte servere necesită ceva timp.

Ca și în orice comunitate, cei care utilizează rețele peer-to-peer, există anumite reguli de conduită și reguli de bună ordine. Ele sunt simple și evidente, dar, din păcate, nu întotdeauna și nu toate sunt efectuate.

Viitorul rețelelor peer-to-peer pare să fie destul de luminos. Pasiunea oamenilor de a schimba (liber) este ineradicabilă. Pasiunea companiilor pentru a face bani este, de asemenea, ineradicable. Se dovedește cazul clasic: unitatea și lupta contrarelor. Nu există nimic ilegal în rețelele în sine. Acestea vor fi construite în continuare. Și cum va continua lupta împotriva diseminării piratate a materialelor, va spune timpul.

1.2 Rețea peer-to-peer

Peer-to-peer, descentralizat sau peering (din rețelele peer-to-peer, P2P - unul la unul, unul pe unul) sunt rețele de calculatoare bazate pe egalitatea participanților. În astfel de rețele nu există servere dedicate, iar fiecare nod (peer) este atât un client, cât și un server. Spre deosebire de arhitectura client-server, această organizație vă permite să păstrați rețeaua de lucru la orice număr și orice combinație de noduri disponibile.

Pentru prima dată expresia «peer-to-peer» a fost utilizat în 1984 Parbauellom Yohnuhuytsmanom (Parbawell Yohnuhuitsman) în dezvoltarea arhitecturii Peer to Peer avansate de companie în rețea IBM.

Dispozitiv pentru rețea peer-to-peer

De exemplu, rețeaua are 12 mașini, în timp ce oricine poate contacta pe oricine. În calitate de client (consumator de resurse), fiecare dintre aceste mașini poate trimite solicitări pentru furnizarea unor resurse altor mașini din cadrul acestei rețele și le poate primi. Ca server, fiecare mașină trebuie să proceseze cererile de la alte mașini din rețea, să trimită ceea ce a fost solicitat și să efectueze anumite funcții auxiliare și administrative.

Orice membru al acestei rețele nu garantează nimănui prezența sa în mod continuu. Poate să apară și să dispară în orice moment. Dar, când ajungeți la o anumită dimensiune critică a rețelei, vine momentul în care rețeaua are simultan multe servere cu aceleași funcții

Rețele parțial descentralizate (hibride)

Pe lângă rețelele P2P pure, există și "rețele hibride" în care există servere utilizate pentru a coordona activitatea, a căuta sau a furniza informații despre mașinile de rețea existente și despre starea lor (on-line, off-line etc.). Rețelele hibride combină viteza rețelelor centralizate și fiabilitatea celor descentralizate datorită schemelor hibride cu servere independente de indexare care sincronizează informațiile între ele. Dacă una sau mai multe servere eșuează, rețeaua continuă să funcționeze. Pentru rețelele de partajare parțială descentralizate sunt de exemplu EDonkey, BitTorrent.

Rețele parțial descentralizate (hibride)

Pe lângă rețelele P2P pure, există așa-numitele rețele hibride în care există servere utilizate pentru a coordona activitatea, a căuta sau a furniza informații despre mașinile de rețea existente și despre starea acestora (on-line, off-line etc.). Rețelele hibride combină viteza rețelelor centralizate și fiabilitatea celor descentralizate datorită schemelor hibride cu servere independente de indexare care sincronizează informațiile între ele. Dacă una sau mai multe servere eșuează, rețeaua continuă să funcționeze. Pentru rețelele de partajare parțială descentralizate sunt de exemplu EDonkey, BitTorrent.

1.3 Rețea de transfer de fișiere peer-to-peer

Una dintre domeniile de aplicare a tehnologiei de rețea peer-to-peer este schimbul de fișiere: utilizatorii rețelei încarcă fișiere într-un folder "partajare", fișiere din care sunt disponibile pentru descărcare altor clienți. Un alt utilizator al rețelei trimite o solicitare de căutare a unui fișier. Programul caută clienții de rețea pentru fișiere care corespund interogării și afișează rezultatul. După aceasta, utilizatorul poate descărca fișiere din sursele găsite. Rețelele moderne de partajare a fișierelor vă permit să descărcați simultan un fișier din mai multe surse (atât de rapid și mai fiabil). Pentru a verifica dacă acest fișier este același pentru toate sursele, se face o comparație: după numele fișierului, cu sumele de control sau cu hashes-uri precum MD4, TTH, SHA-1. În timpul descărcării fișierului de către utilizator (și după terminarea acestuia), acest fișier poate fi descărcat de alți clienți ai rețelei, drept urmare fișierele populare pot fi disponibile în cele din urmă pentru a fi descărcate de la sute de surse în același timp.

-Fiecare client este conectat la unul dintre serverele de rețea. Clientul îi spune serverului ce fișiere este partajat. Fiecare server menține o listă a tuturor fișierelor partajate ale clienților conectați la acesta. Când un client caută ceva, trimite o interogare de căutare pe serverul său principal. Ca răspuns, serverul verifică toate fișierele pe care le cunoaște și întoarce clientului o listă de fișiere care satisfac solicitarea acestuia.

Puteți căuta mai multe servere simultan. Aceste cereri și rezultatele acestora sunt transmise prin protocolul UDP. Pentru a reduce încărcarea canalului și numărul de conexiuni la servere. Această caracteristică este utilă în special dacă căutarea de pe serverul la care este conectat clientul oferă un rezultat scăzut.

În plus, link-urile către fișiere sunt publicate în diferite forumuri de pe Internet, sub forma așa-numitelor "versiuni".

-Atunci când un client solicită descărcarea unui fișier, serverul colectează mai întâi o listă a tuturor clienților cunoscuți care au fișierul solicitat. Apoi, sondează alte servere cunoscute, indiferent dacă fișierul are clienți conectați la acestea. Odată ce găsește alți clienți cu fișierul, atunci serverul solicită fiecărui client pentru diferite părți ale fișierului. Acest proces continuă până când fișierul este complet asamblat.

Principiul de funcționare: Clientul Z are toate componentele Fișierului (literele mici reprezintă părțile fișierului). Clientul W, X și Y doresc să descarce fișierul. Incepand cu clientul X si Y client, ambele au diferite părți ale fișierului, acestea nu pot obține numai fișierul de la Z client, dar poate trimite, de asemenea un fișier unul de altul. Acest lucru permite fișierul să fie mult mai rapid comun distribuit fără a fi nevoie de a utiliza mai mult de lățime de bandă de Client Z. Clientul W poate începe descărcarea fișierului, chiar dacă fișierul sursă (Client Z) nu mai are suficientă lățime de bandă pentru a trimite.

-Periodic, serverele comunică între ele pentru o perioadă scurtă de timp. În timpul acestei sesiuni, serverul, atunci când își anunță existența, trimite o listă cu toate celelalte servere cunoscute. Astfel, serverele mențin o listă a altor servere active. Când un client se conectează la server, serverul îi poate da o listă de servere cunoscute.

Rețele populare de distribuire a fișierelor:

- BitTorrent - Protocolul de rețea Peer-to-Peer (P2P) al lui Cohen pentru partajarea de fișiere prin intermediul Internetului.

Nu mai puțin populară rețea de partajare de fișiere. Fișierele sunt transferate porțiuni, fiecare torrent-client, primind (pompare) din aceste părți, în același timp, dă (pompeaza) celorlalți clienți, ceea ce reduce dependența de sarcina și sursa fiecărui client și oferă redundanță de date. Se caracterizează prin viteză mare și centralizare. Unii clienți BitTorrent acceptă DHT și pot funcționa fără un server central (așa-numitul tracker). Este susținută de clienții BitComet. μTorrent. FreeDownloadManager, etc.

- Kad Network este o rețea de partajare de fișiere descentralizată și fără server. care utilizează protocolul rețelei suprapuse Kademlia. Este susținută în eMule (Kad 2.0), aMule și MLDonkey. Atunci când se transferă fișiere, conexiunile clientului apar direct între ele (utilizând rețele IP standard). Imediat ce are loc o conexiune la rețea, clientul cere altor clienți să determine dacă se poate conecta la ele în mod liber. Acest proces este similar cu definiția HighID / LowID pe servere. Dacă vă puteți conecta liber, vi se va da ID (high, HighID) și veți obține statutul de deschis în Network cad. Dacă nu vă puteți conecta liber, obțineți statutul de firewall (respectiv LowID).

Apariția rețelelor peer-to-peer este asociată cu trei factori.

Procesorul unei mașini obișnuite client nu este foarte ocupat. Mai ales în birourile unde mașinile sunt folosite în principal pentru pregătirea documentelor, pentru scrierea textelor etc. Același lucru este valabil pentru marea majoritate a computerelor de acasă.

Mulți utilizatori stochează pe computerele lor colecții de fișiere (texte de articole dintr-un anumit subiect, fotografii de artă etc.), care pot fi de interes pentru alți utilizatori. Dar, în același timp, proprietarii acestor colecții nu sunt gata să facă un server cu drepturi depline de calculator în rețea, datorită capacității sale insuficiente, nevoia de a rundă de lucru de ceas, motive financiare și de altă natură.

Un anumit număr de utilizatori ar dori să participe mai activ la "viața socială" a rețelei, fără a se limita la discutarea diferitelor probleme în forumuri și în camere de chat. Sunt gata să participe la orice "cauză comună" utilă.

Din punct de vedere matematic, rețeaua peer-to-peer poate fi reprezentată de un grafic nedeterminat: nu există o arhitectură de rețea standard (de exemplu, o stea sau un inel). În plus, acest grafic este dinamic, deoarece utilizatorii individuali sunt incluși în rețea și ies din acesta în momente aleatorii. Orice utilizator care joacă rolul serverului în orice moment se poate transforma într-un client pentru o anumită perioadă de timp. Dar poate fi și în același timp în poziția serverului și a clientului.

Cercetarea în domeniul rețelelor peer-to-peer a început în legătură cu funcționarea cu succes a unor sisteme precum Napster, Gnutella și Freenet.

Napster este un sistem hibrid deoarece utilizează un index centralizat pentru căutare. Sistemul Gnutella este un sistem pur peer-to-peer. Arhitectura sa este astfel încât fiecare nod cu viteze reduse de comutare poate avea până la patru vecini, nodurile puternice pot avea zeci de vecini. În mod evident, cu cât mai mulți vecini, cu atât mai rapid poate fi căutarea. Dar există aceleași limitări tehnice ca și în cazul computerelor multiprocesoare: este prea scump să conectați fiecare cu fiecare. Conexiunile în sistem nu sunt direcționate (grafic nedirecționat). Sistemul Gnutella utilizează o căutare pe lățime largă, care caută mai întâi toate nodurile care sunt adiacente inițiatorului. Fiecare nod care primește cererea îl distribuie vecinilor săi cu maxim pașii d.

Avantajul căutării în lățime este că prin scanarea unei mari părți a rețelei crește probabilitatea de a satisface cererea. Dezavantajul este supraîncărcarea rețelei cu mesaje inutile.

Majoritatea sistemelor existente acceptă numai interogări "booleene". Fiecare fișier este caracterizat de metadatele sale (de exemplu, un set de cuvinte cheie) și interogarea este formată ca un set de cuvinte cheie. Ca urmare, rezultatul căutării poate fi două variante: "găsit", "nu a fost găsit".

Resurse electronice

Articole similare